Commit Graph

741 Commits

Author SHA1 Message Date
Jeffrey Bingham
26a464bf0b [URDF] Edit loader to handle full inertia tensor.
Previous URDF loader did not handle off-diagonal elements
in the URDF. This commit adds functionality to allow
the loading of an inertia matrix that has not already
been reduced to its principal components. It diagonalizes
the inertia matrix, tests that the values are real and
updates the inertial frame.
2016-09-13 08:42:33 -07:00
Benelot
faada023be Fix error happening when using btQuaternion() to create Unit quaternion
instead of btQuaternion::getIdentity(). Fix problems raised by Bullet CI.
2016-09-13 09:48:45 +02:00
erwincoumans
e5a8eb2425 rolling friction -> combine using rolling*normal friction, add for both objects.
rolling friction -> only along the normal, until we have separate rolling friction coefficients on normal and non-normal directions
Don't teleport with grasping controller (VR)
Tune VR grasping a bit.
2016-09-12 19:10:20 +01:00
Benelot
c0285bc425 Add slider to control number of parallel evaluations. 2016-09-12 19:42:07 +02:00
Benelot
229d2501af Add 2m ground circles. Make population config printable. Add timeseries
plot of individual fitnesses of each generation.
2016-09-12 16:36:37 +02:00
Benelot
88edbf8524 Implement basic evoluationary algorithm. 2016-09-11 22:25:22 +02:00
yunfeibai
ae2d256f57 Merge remote-tracking branch 'upstream/master' 2016-09-11 04:17:05 -07:00
yunfeibai
c952c50ad9 Merge remote-tracking branch 'upstream/master' 2016-09-11 04:11:51 -07:00
Erwin Coumans
7df9b69039 pybullet: add option to use NumPy to speed up, thanks to moof2k
option is disabled by default. When using cmake, use
cmake -DBUILD_PYBULLET=ON -DBUILD_PYBULLET_NUMPY=ON
then both testrender.py and testrender_np.py will work
without numpy only testrender.py works.
The numpy.reshape is likely a no-op when using numpy array,
so we could remove testrender_np.py...

See https://github.com/bulletphysics/bullet3/pull/774
2016-09-11 11:35:12 +01:00
Erwin Coumans
5c76b01659 allow pybullet with or without NumPy 2016-09-11 11:09:51 +01:00
Erwin Coumans
c75bbd4608 allow pybullet with or without numpy using PYBULLET_USE_NUMPY define (in build system) 2016-09-11 11:09:10 +01:00
Erwin Coumans
e921f1b9b7 remove duplicate definitions of SHARED_MEMORY_MAX_STREAM_CHUNK_SIZE 2016-09-11 08:40:58 +01:00
Erwin Coumans
82661d98cd init ERP for second btMultiBodyJointMotor,
comment-out debug printf in Kuka IK example
2016-09-11 05:54:47 +01:00
yunfeibai
a00841a498 Compute delta S from Bullet link state. 2016-09-10 19:18:29 -07:00
yunfeibai
1b72b91bcf Expose link state in RobotSimAPI. 2016-09-10 18:48:57 -07:00
erwin coumans
c5d775a635 disable real-time by default 2016-09-09 14:41:23 -07:00
erwin coumans
3c706306cd add experimental pr2-gripper support in VR physics server
add setErp to btMultiBodyJointMotor
2016-09-09 14:30:37 -07:00
erwin coumans
f72982306e fix issues with VR physics server 2016-09-09 11:28:38 -07:00
Erwin Coumans
016dc273c6 fix an SSE/SIMD 16-byte alignment issue 2016-09-09 09:01:04 -07:00
erwin coumans
4ab02a07e5 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-09-08 15:22:41 -07:00
erwin coumans
32eccdff61 Create project file for BussIK inverse kinematics library (premake, cmake)
URDF/SDF: add a flag to force concave mesh collisiofor static objects. <collision concave="yes" name="pod_collision">
VR: support teleporting using buttong, allow multiple controllers to be used, fast wireframe rendering,
Turn off warnings about deprecated C routine in btScalar.h/b3Scalar.h
Add a dummy return to stop a warning
Expose defaultContactERP in shared memory api/pybullet.
First start to expose IK in shared memory api/pybullet (not working yet)
2016-09-08 15:15:58 -07:00
Erwin Coumans
e0127bdb54 merge pybullet.c after conflicts due to Jeff's formatting pull request. 2016-09-08 11:12:58 -07:00
Erwin Coumans
8ba9a04dd9 Merge remote-tracking branch 'bp/master' 2016-09-08 07:39:48 -07:00
yunfeibai
c94a8e0d35 Use body Jacobian from Bullet for IK. 2016-09-07 23:14:23 -07:00
yunfeibai
f635c64205 Expose Jacobian computation to RobotSimAPI. 2016-09-07 17:37:38 -07:00
erwincoumans
f4ac577baf Merge pull request #771 from bingjeff/master
pybullet tweaks for double precision
2016-09-07 17:36:01 -07:00
erwincoumans
ba2f522e05 Update BulletUrdfImporter.cpp
use free (and not delete), since b3ImportMeshUtility/stbi_load uses malloc (and not new)
2016-09-07 16:02:16 -07:00
yunfeibai
c198029cb9 Expose body Jacobian in shared memory API. 2016-09-07 16:00:38 -07:00
Jeffrey Bingham
f7ed0d7703 [format] Convert pybullet.c to consistent style. 2016-09-06 23:43:57 -07:00
Jeffrey Bingham
edef18e161 [python] Convert physics calls to double precision.
In order to feed Bullet the correct values when
compiled with double precision the pybullet interface
needs to pass double precision values.
2016-09-06 23:31:41 -07:00
Benelot
d9a2113b28 Implement simple body part drop strategy to resolve body
interpenetrations
2016-09-06 22:30:46 +02:00
erwincoumans
4944aca28b Update our_gl.cpp 2016-09-06 13:26:08 -07:00
erwincoumans
630fcda38b fix compile issue pybullet on MSVC 2010 2016-09-03 09:53:21 -07:00
erwin coumans
de5d1b5cfc make husky wheels soft/compliant
reduce shadow size to make VR on older GPU (Mac Pro 2013) perform more smooth
less sleep in physics thread.
2016-09-03 08:39:40 -07:00
erwincoumans
4c9b009d5b Merge pull request #770 from erwincoumans/master
export contact friction/damping through URDF and API
2016-09-02 18:18:21 -07:00
Erwin Coumans
ecd814c9c5 export contact friction/damping through URDF and API
convert from contact friction/damping to cfm/erp
btCollisionObject::setContactFrictionAndDamping
2016-09-02 16:40:56 -07:00
Ian Wilkes
2336be02e4 Added Phong refelction to the TinyRenderer Shader. 2016-09-02 11:56:03 -07:00
Ian Wilkes
ba583feb7f Updated TinyRenderer intensity paramater.
Switched from ranging from 0 to 1 - ambient to -1 * (1-ambient) to (1-ambient).
2016-09-02 11:56:03 -07:00
erwincoumans
21c60c66ec Merge pull request #767 from ludi1001/urdf-joint-transforms
Fix joint orientations when loading URDF files.
2016-09-02 08:21:02 -07:00
Erwin Coumans (Google)
f7522873f9 fix compile issue on Linux 2016-09-01 22:11:07 -07:00
Erwin Coumans
fe54f146ad Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-09-01 21:26:38 -07:00
Erwin Coumans
e98fca1e5e implement pybullet.getContactPointData(), two optional object unique ids as filter
returns a pylist of contact points. Each point has the following data:

	0     int m_contactFlags;//unused for now
         1     int m_bodyUniqueIdA;
         2     int m_bodyUniqueIdB;
         3     int m_linkIndexA;
         4     int m_linkIndexB;
         5-6-7     double m_positionOnAInWS[3];//contact point location on object A, in world space coordinates
         8-9-10     double m_positionOnBInWS[3];//contact point location on object A, in world space coordinates
         11-12-13     double m_contactNormalOnBInWS[3];//the separating contact normal, pointing from object B towards object A
         14     double m_contactDistance;//negative number is penetration, positive is distance.

         15    double m_normalForce;
2016-09-01 18:28:39 -07:00
Logan Su
9d2d286c46 Fix joint orientations when loading URDF files. 2016-09-01 18:12:14 -07:00
erwincoumans
a370c3bbac Merge pull request #765 from YunfeiBai/master
Torsional and rolling friction for btMultiBody
2016-09-01 14:57:46 -07:00
erwincoumans
fe46ee8adf Merge branch 'master' of https://github.com/erwincoumans/bullet3
Conflicts:
	examples/SharedMemory/PhysicsServerCommandProcessor.cpp
2016-09-01 13:32:07 -07:00
erwincoumans
85fd7f560c add first draft of contact point query in shared memory API
b3SharedMemoryCommandHandle b3InitRequestContactPointInformation(b3PhysicsClientHandle physClient);
void b3SetContactFilterBodyA(b3SharedMemoryCommandHandle commandHandle, int bodyUniqueIdA);
void b3SetContactFilterBodyB(b3SharedMemoryCommandHandle commandHandle, int bodyUniqueIdB);
void b3GetContactPointInformation(b3PhysicsClientHandle physClient, struct b3ContactInformation* contactPointData);
Implemented for PhysicsClientSharedMemory, not for PhysicsDirect yet.
Add btCollisionObject::setUserIndex2
2016-09-01 13:30:07 -07:00
Jeffrey Bingham
1c65cae6d0 [SharedMemory] Calculate inverse dynamics now uses world gravity.
Small change that takes the world gravity and applies it to the
body during the call to inverse dynamics in the shared memory
interface. Otherwise the gravity vector is left at the default
value and there is currently no interface to set the gravity
for the inverse dynamics system.
2016-09-01 10:46:34 -07:00
erwincoumans
7790ee2f02 fix compile issue with pybullet.c on Visual Studio 2016-08-31 16:05:42 -07:00
yunfeibai
9c124b5896 Rolling friction demo for sphere and torsional friction demo for two point contact. 2016-08-30 17:50:37 -07:00
Erwin Coumans
e6865a1186 Merge remote-tracking branch 'bp/master' 2016-08-30 14:44:35 -07:00
Erwin Coumans
a30ff20e6b preparation for KUKA IK tracking example 2016-08-30 14:44:11 -07:00
yunfeibai
d784c61b61 Add rolling friction, set rolling friction coefficient from urdf, and set up two point contact experiment. 2016-08-30 11:19:23 -07:00
Logan Su
f86ce4d44b Add flags to load inertia values from URDF. 2016-08-29 15:09:18 -07:00
Erwin Coumans
900fd86d58 fix R2D2GraspExample 2016-08-29 12:35:02 -07:00
Erwin Coumans
e47c74ce0b prevent crash when using --opengl2 option in ExampleBrowser. 2016-08-29 11:48:31 -07:00
erwin coumans
4094b9f0df Disable 'm_robotSim.setNumSimulationSubSteps' because it is not needed at the moment
Fix issue in contact/friction between btMultibody and btRigidBody (external force/torque of btRigidBody was not taken into account during contact/friction setup)
Allow 0.1 mm slop in contact, to avoid loosing contact. Todo: allow contacts with positive distance in multibody solver.
2016-08-27 13:44:18 -07:00
erwincoumans
c741b17da8 Merge pull request #758 from YunfeiBai/master
Expose slider constraint in RobotSimAPI.
2016-08-26 12:26:08 -07:00
erwincoumans
79be5800cb Merge pull request #757 from erwincoumans/master
fix in structure alignment of btMultiBodyLinkDoubleData and btMultiBo…
2016-08-26 12:08:29 -07:00
yunfeibai
5b9b5178f9 Expose slider constraint in RobotSimAPI. 2016-08-26 10:35:10 -07:00
erwin coumans
c5164e503f fix in structure alignment of btMultiBodyLinkDoubleData and btMultiBodyDoubleData
causing serialization issue in  URDF/SDF loading in double-precision mode on Windows 32bit.
(it was fine on Mac/Linux 64bit)
bump serialization version to 2.85, as we change the file format
fix in name clash in makesdna.cpp -> intptr_t is already defined.
2016-08-26 10:00:29 -07:00
yunfeibai
c26da8440d Add slider constraint. 2016-08-25 11:54:59 -07:00
yunfeibai
758ca025d5 Set physics clock subdivider. 2016-08-24 14:25:06 -07:00
yunfeibai
3b25489d89 Further fix for integration test. 2016-08-24 12:44:24 -07:00
yunfeibai
ecbf94abaa Fix issues in build test. 2016-08-24 11:31:08 -07:00
yunfeibai
d46710e447 Expose fixed constraint in RobotSimAPI. 2016-08-22 18:14:29 -07:00
yunfeibai
8eccac6fd8 Update CMakeLists to be the same as upstream. 2016-08-22 10:26:56 -07:00
YunfeiBai
6751648bce add some micro-sleep to prevent 100% CPU/memory bus hogging, preventing the graphics thread from making progress.
debug draw color black for contact normal
move debug draw option for constraint frames into 'k' key.
2016-08-19 13:58:53 -07:00
YunfeiBai
94161246d9 Merge remote-tracking branch 'bp/master' 2016-08-19 12:02:48 -07:00
YunfeiBai
4611f5f097 Merge branch 'master' of https://github.com/YunfeiBai/bullet3 2016-08-19 12:01:09 -07:00
YunfeiBai
d26c424e11 modify cmake for pybullet 2016-08-19 12:00:55 -07:00
Erwin Coumans
7db9a020b9 debug draw contact normals (1cm) use black color 2016-08-19 10:55:21 -07:00
erwin coumans
62d5b7c5c0 add single step simulation, using 'o' key. use 'i' key to suspend simulation first
default background color a bit darker, to show debug lines
tweaked contact point rendering a bit
2016-08-19 10:30:02 -07:00
erwin coumans
a68c9ca845 avoid MT crash in VR/physics server due to printf from separate thread.
add fps display in VR
use 1./240. internal substep for real-time physics sim in VR/physics server for more accurate robotics sim.
2016-08-18 21:43:43 -07:00
Erwin Coumans
91839cb274 revert change of default position control in shared memory api/pybullet 2016-08-18 16:48:14 -07:00
erwin coumans
8c2b1386ce Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-08-18 15:54:43 -07:00
erwin coumans
2c636b52f7 bugfix: in torque control mode, torque index starts at 6. 2016-08-18 15:36:18 -07:00
Erwin Coumans
ab8f498d18 avoid infinite recursion in b3Clock::usleep 2016-08-18 13:44:04 -07:00
erwin coumans
5b0253ed47 Remove undesired assert, it makes pybullet mistakes fail in c++
Shared memory api/pybullet: by default, set joint motors in position PD mode with target 0, to maintain 0 joint angle.
pybullet: allow setJointControlMode(body, link, POSITION_CONTROL,targetPos etc.
2016-08-18 13:10:28 -07:00
erwin coumans
6005e54aa1 Fix some inconsistencies in URDF file handling between btRigidBody and btMultiBody
(rotation order and application of root-inertial-frame offset)
2016-08-18 09:44:33 -07:00
Erwin Coumans
8f21e2bca9 fix compile issue 2016-08-17 20:01:45 -07:00
Erwin Coumans
17c16ccfa0 pybullet, deal with overflow of joints (maximum of 128 joints/links per multibody at the moment)
increase from 64 to 128 joints in shared memory API/pybullet
fix potential issue in tinyrenderer, related to missing segmentation mask buffer
report error if CMD_REQUEST_ACTUAL_STATE command on a multibody that exceed the number of links,
todo: stream data to allow arbitrary large number of links in shared memory API
2016-08-17 19:35:52 -07:00
Erwin Coumans
7c9441c3f5 by default, have a strong force keep the robot together, instead of floppy joints. 2016-08-17 10:30:50 -07:00
Erwin Coumans
dce73f48ae Merge remote-tracking branch 'bp/master' 2016-08-17 10:24:12 -07:00
Erwin Coumans
463f3e59c8 minor tweak in F1/screenshot handling. Note you can use --png_skip_frames=x command-line argument 2016-08-17 10:18:33 -07:00
yunfeibai
591f922d97 Support loading Urdf as btRigidBody with RobotSimAPI. Loading Sdf as btRigidBody is work in progress. 2016-08-16 17:56:30 -07:00
yunfeibai
4bc31394a0 Allow choosing loaded as btRigidBody with RobotSimAPI. 2016-08-16 16:57:48 -07:00
yunfeibai
9c4cfde3d6 Fixed constraint for btMultiBody and btRigidBody. 2016-08-15 13:19:00 -07:00
Erwin Coumans
985a6c203f fix typo 2016-08-13 12:38:40 -07:00
erwin coumans
3bdcf23a05 Add sleep to avoid 100% busy CPU loop in PhysicsServerExample
Added btClock::usleep
Fix broken TinyRenderer example code.
2016-08-13 12:21:18 -07:00
Erwin Coumans
238ba8c642 remote a c++11-style constructor 2016-08-12 14:28:02 -07:00
Erwin Coumans
ceceaa16be make some changes to make the previous example code changes backward compatible 2016-08-12 14:18:46 -07:00
Erwin Coumans
c75bebcafe revert accidently renaming of m_depthvalues4 2016-08-12 13:55:37 -07:00
Erwin Coumans
4abe083388 fix pybullet 2016-08-11 15:58:51 -07:00
Erwin Coumans
4bb488f65e reset canvas location 2016-08-11 15:02:00 -07:00
Erwin Coumans
3c30e2f821 add segmentation mask rendering to TinyRenderer and shared memory API
similar to the zbuffer, but storing the object index (int) instead of float depth
2016-08-11 14:55:30 -07:00
Erwin Coumans
f416644481 set the camera, even in multi-threaded mode 2016-08-11 11:20:31 -07:00
erwin coumans
a9b1544a9f Add premake support to build pybullet, Windows and Linux tested, will enable Mac in next commit.
Expose inverse dynamics to Bullet shared memory API, through b3CalculateInverseDynamicsCommandInit and
b3GetStatusInverseDynamicsJointForces command/status. See PhysicsClientExeample or pybullet for usage.
Add option for Windows and Linux to set python_lib_dir and python_include_dir for premake and --enable_pybullet option
Expose inverse dynamics to pybullet: [force] = p.calculateInverseDynamics(objectIndex,[q],[qdot],[acc])
Thanks to Jeff Bingham for the suggestion.
2016-08-09 18:40:12 -07:00
Erwin Coumans
b880ddf76b add pybullet render API with yaw/pitch/roll option
add testrender.py file
allow option to enable OpenGL hardware renderer in multithreaded sim

b3RequestCameraImageSelectRenderer(commandHandle,ER_BULLET_HARDWARE_OPENGL);
2016-08-08 14:23:44 -07:00
Benjamin Ellenberger
dcfa5a3ee2 Clear gContactProcessedCallback on exiting physics. 2016-08-02 20:38:36 +02:00
Erwin Coumans
f5fca86d49 remove debug printf 2016-08-02 11:14:21 -07:00
Erwin Coumans
f304fd7611 add one more pybullet renderImage API and testrender.py example
tweak Bullet Inverse Dynamics, work-around compiler issue
2016-08-02 11:12:23 -07:00
Erwin Coumans
93db3d7ba6 fix CMD_INIT_POSE+INIT_POSE_HAS_INITIAL_ORIENTATION,
setWorldToBaseRot takes inverse orientation (need to remove that API!)
2016-08-02 09:30:33 -07:00
Erwin Coumans
04cd9e18d6 add [] in error message of texture loading, to show leading/trailing spaces 2016-08-01 23:53:38 -07:00
Erwin Coumans
a608f9bfdd fix trailing space issue in tinyobjloader/mtl files. 2016-08-01 23:46:35 -07:00
Erwin Coumans
b759ab8a91 fix overflow visual shape in COLLADA .dae file importer. 2016-08-01 23:45:14 -07:00
Benjamin Ellenberger
4622ab4299 Merge commit. 2016-07-31 16:22:50 +02:00
Benjamin Ellenberger
46af3ddc54 Normal settings. 2016-07-31 16:07:38 +02:00
erwincoumans
0c0b4be665 Merge pull request #722 from matpalm/fixSetIdentity
fix setidentity bug
2016-07-29 14:50:16 -07:00
Mat Kelcey
80dfec170b fix setidentity bug 2016-07-29 14:43:55 -07:00
erwincoumans
d605897d13 Merge pull request #719 from erwincoumans/master
fix ffmpeg stream to create quicktime compatible videos
2016-07-29 09:07:46 -07:00
erwin coumans
72e329962e fix ffmpeg mp4 generation under Windows as well.
remove static variables, make them local, to avoid multithreading issues.
2016-07-28 18:06:03 -07:00
Mat Kelcey
a7a9182953 fix warning: extra tokens at end of #endif directive 2016-07-28 16:47:05 -07:00
Erwin Coumans
daf91de778 fix ffmpeg stream to create quicktime compatible videos 2016-07-27 09:11:08 -07:00
erwincoumans
9451923dbd Merge pull request #717 from matpalm/pyJointMotorControlArgs
update pybullet_setJointMotorControl with seperate args for targetPosition, targetVelocity, kp and kd
2016-07-26 16:18:28 -07:00
erwincoumans
745743ac53 Merge pull request #718 from erwincoumans/master
fix screen width/height issue on Intel/Linux
2016-07-26 16:17:48 -07:00
Mat Kelcey
b4cfee8745 set dft for kd to be 1.0. note: this is only applicable to CONTROL_MODE_VELOCITY 2016-07-26 16:16:18 -07:00
Erwin Coumans (Google)
98c6181ba8 fix screen width/height issue on Intel/Linux
add command-line option to set png_skip_frames when taking screenshot series
2016-07-26 15:36:21 -07:00
Mat Kelcey
4b75c5d9d0 add another combo of args to allow kd to be configured in the CONTROL_MODE_VELOCITY case 2016-07-26 11:36:34 -07:00
Mat Kelcey
b221d2ad18 add targetPosition, targetValue, kp & kd to pybullet_setJointMotorControl 2016-07-26 11:09:12 -07:00
erwincoumans
a6e5c6a273 Merge pull request #716 from erwincoumans/master
Add robotics learning add GripperGraspExample
2016-07-25 16:01:15 -07:00
Erwin Coumans
8270096fad add GripperGraspExample, separate from R2D2GraspExample 2016-07-25 12:30:47 -07:00
Erwin Coumans
6b0ceace7f Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-07-25 11:49:56 -07:00
Erwin Coumans
a6216f4f24 add robotics learning grasp contact example
add wsg50 gripper with modified r2d2 gripper tip
expose a fudge factor to scale inertia, to make grasping more stable
(until we have better grasping contact model/implementation)
2016-07-25 11:48:44 -07:00
erwincoumans
299243d49b Merge pull request #715 from erwincoumans/master
Add inverse kinematics example with implementations by Sam Buss.
2016-07-25 00:02:50 -07:00
Erwin Coumans
53fa57bdc4 make IK compile on Mac OSX 2016-07-24 23:50:18 -07:00
erwin coumans
75e86051c2 Add inverse kinematics example with implementations by Sam Buss.
Uses Kuka IIWA model description and 4 methods:
Selectively Damped Least Squares,Damped Least Squares,
Jacobi Transpose, Jacobi Pseudo Inverse
Tweak some PD values in Inverse Dynamics example and Robot example.
2016-07-24 22:22:42 -07:00
erwincoumans
e55628c7ac Merge pull request #708 from matpalm/paramNameFix
GetJointInfo used linkIndex param, switched to jointIndex for naming consistency
2016-07-21 17:02:55 -07:00
Erwin Coumans
77b9e1a3e2 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-07-20 15:46:25 -07:00
erwincoumans
e88de13cc6 fix Parse joint dynamics in SDF 2016-07-20 15:41:58 -07:00
Erwin Coumans
d3a94248d4 fix one more multi-threading issue 2016-07-20 12:48:01 -07:00
Mat Kelcey
51ec707230 fix GetJointInfo to use a param called jointIndex (not linkIndex) for naming consistency 2016-07-20 11:01:02 -07:00
erwincoumans
2278385802 Merge pull request #707 from matpalm/loadErrorMsgTypo
fix error msg when loading sdfs
2016-07-20 10:50:31 -07:00
Mat Kelcey
9369f9b764 fix error msg when loading sdfs 2016-07-20 10:24:34 -07:00
erwin coumans
81af5db2da Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-07-19 15:56:34 -07:00
erwin coumans
25a1714754 disable CProfileManager, might reduce some multi-threading conflicts 2016-07-19 15:55:52 -07:00
Erwin Coumans
0ae252fa35 fix issue, use bodyUniqueId/b3JointControlCommandInit2 2016-07-19 15:53:16 -07:00
erwin coumans
2302709e2d OpenVR support: track multiple controllers and buttons 2016-07-18 23:13:46 -07:00
erwin coumans
c28cd03fbd OpenVR controller can pick/drag objects. Instructions, Windows only:
Compile using premake+visual studio, and compile App_SharedMemoryPhysics_VR
Compile pybullet using cmake using cmake -DBUILD_PYBULLET=OFF -DCMAKE_BUILD_TYPE=Release ..
Create a symbolic link from c:\python\dlls\pybullet.pyd to C:\develop\bullet3\cmp\lib\Release\pybullet.dll
App_SharedMemoryPhysics_VR
Run Python. Here are some Python lines to get going:
import pybullet as p
p.connect(p.SHARED_MEMORY)
p.loadURDF("cube.urdf")
p.setGravity(0,0,-10)
p.setRealTimeSimulation(1)

Allow real-time simulation in physics server, add pybullet command setRealTimeSimulation to control it
Mesh decimation (reduce number of triangles/vertices) using a Blender modifier for Kuka IIWA and Husky
Disabled the 'glFlush' commands in GLInstancingRenderer.
Add VR controller methods to examples\CommonInterfaces\CommonExampleInterface.h
Use the ANSI version in Windows file/string operations instead of unicode, hope this doesn't break builds.
2016-07-17 23:50:11 -07:00
Erwin Coumans
fcc9d4ebcb fix SIMD/16-byte alignment issue causing issue in one of the old benchmarks 2016-07-16 22:33:15 -07:00
Erwin Coumans
8c69bfb042 fix: accidently enable memory-leak debug test 2016-07-16 21:36:40 -07:00
Erwin Coumans
c54a61b97a More example code is memory-leak free now, in particular PhysicsServerExample.
/PhysicsServerCommandProcessor
also fixed some memory issue in InverseDynamicsExample (the base class is supposed to delete collision shape memory)
2016-07-16 21:29:31 -07:00
Erwin Coumans
589fa376b3 only add compound child shapes to 'allocated' list once 2016-07-16 17:58:06 -07:00
Erwin Coumans
e2bdd7dbb1 fix more memory leaks, ImportURDFExample is now leak-free
eliminate all run-time memory allocation (except for mouse-pick/ray-intersection) in ImportURDFExample
2016-07-16 17:40:44 -07:00
Erwin Coumans
2caa2b7ff4 removed more memory leaks and improve btAlignedAllocator memory-leak debugging 2016-07-16 14:58:11 -07:00
Erwin Coumans
bbefc6b108 fix an issue in previous commit 2016-07-16 01:11:53 -07:00
erwin coumans
a12d25e6ce remove #include of visual leak detector (used to find memory leaks in ExampleBrowser/main.cpp) 2016-07-16 00:58:09 -07:00
erwin coumans
f9762d63ab Removed many memoryleaks in Example Browser, reducing some technical debt.
When running the Example Browser with Basic Example, 'visual leak detector' show no leak.
Many other individual examples still leak, so it is work-in-progress.
Disabled the profiler window (too many leaks)
2016-07-16 00:55:56 -07:00
erwin coumans
797680a535 Remove memory leak in SimpleOpenGL3 example code 2016-07-14 20:42:00 -07:00
erwincoumans
93e98ddbd0 Merge pull request #698 from matpalm/linkIdFix
pybullet_applyExternalForce linkId bug
2016-07-14 10:51:49 -07:00
erwincoumans
824c721710 Merge pull request #699 from erwincoumans/master
Add kiva_shelf to prepare for picking/grasping task
2016-07-14 10:51:34 -07:00
Erwin Coumans
34187fba1c fix camera update issue in previous commit
fix Mac OSX build issue
2016-07-14 09:49:49 -07:00
erwin coumans
4a705d1e03 Add kiva_shelf to prepare for picking/grasping task
Fix uninitialized variable jointDamping/jointFriction in SDF importer
Add SDF <pose> parsing in visual, inertial, collision elements.
Slight improvement in TinyRender loading performance of largish meshes (30k vertices)
Reduce #define MAX_SDF_BODIES to 500, due to some issue in client code, todo: figure out what the issue is.
b3RobotSimAPI support SDF file loading
Tiny improvement in OpenGL hardware renderer lighting, to distinguish faces without textures
2016-07-14 00:05:57 -07:00
Mat Kelcey
588bd007e7 bug fix for pybullet_applyExternalForce where linkId wasn't actually being used in b3ApplyExternalForce call 2016-07-13 21:20:41 -07:00
erwincoumans
31e7f2e309 Merge pull request #697 from matpalm/addFovToRenderImage
pybullet renderimage with projection matrix calculated using field of view
2016-07-13 18:46:42 -07:00
erwincoumans
6c856d9fa3 Merge pull request #694 from matpalm/flipDepthImage
fix for vertically flipped depth buffer in TinyRenderer::render
2016-07-13 15:56:33 -07:00
Erwin Coumans
10cc6f14cb add option to use hardware OpenGL renderer for synthetic camera 2016-07-12 18:16:13 -07:00
Mat Kelcey
048c01d7c4 Merge branch 'master' of git://github.com/bulletphysics/bullet3 into addFovToRenderImage 2016-07-12 13:52:25 -07:00
Mat Kelcey
ad18cbafe8 Merge branch 'master' of git://github.com/bulletphysics/bullet3 into flipDepthImage 2016-07-12 13:51:48 -07:00
Mat Kelcey
2466dc155d fix for vertically flipped depth buffer in TinyRendererVisualShapeConverter::render 2016-07-12 13:46:48 -07:00
erwincoumans
787cb0cb17 Merge pull request #648 from benelot/master
Create Inclined Plane, Newton's Cradle and Multi-Pendulum examples for the Bullet Example Browser
2016-07-11 22:17:31 -07:00
erwincoumans
5249ca7ceb Merge pull request #690 from hujiajie/master
[WIP] Suppress compiler warnings.
2016-07-11 18:13:58 -07:00
Benjamin Ellenberger
b73bcead4b Merge remote-tracking branch 'upstream/master 2016-07-11 23:31:49 +02:00
Benjamin Ellenberger
5f03b039a5 Change btVector3/btQuaternion to const btVector3&/btQuaternion&.
------------------------------------------------------------------
Parameters such as btVector3/btQuaternion need to be passed as const reference, not by value (it causes SIMD alignnment errors on Windows).
2016-07-11 23:22:17 +02:00
Benjamin Ellenberger
ed13cc6c26 Add a slider to displace pendula via GUI.
------------------------------------------------
The slider applies the selected displacement force according to the chosen scalar and falls back to zero when moved below an absolute value of 0.2.
2016-07-11 23:07:48 +02:00
Benjamin Ellenberger
5112de3e3f Fix premake.lua missing includes.
---------------------------------------------------------------------
Due to using Cmake for the creation of the example, the premake.lua file was not correctly updated. This commit adds the missing includes by including all files using a wildcard.
2016-07-11 21:50:32 +02:00
erwincoumans
e2e750efb2 Merge pull request #689 from erwincoumans/master
prepare robotics learning examples, see examples/RoboticsLearning/b3R…
2016-07-11 10:38:38 -07:00
hujiajie
d776f06815 [WIP] Suppress compiler warnings.
Visual Studio C4099: 'CommonExampleInterface': type name first seen using 'class' now seen using 'struct'.
2016-07-11 18:02:42 +08:00
erwin coumans
7633cfb800 prepare robotics learning examples, see examples/RoboticsLearning/b3RobotSimAPI.h
prepare compliant contact work, urdf loading of parameters (see data/cube.urdf)
2016-07-11 00:26:40 -07:00
hujiajie
8c573177eb [Working In Progress] Suppress compiler warnings.
Suppress several warnings about unused variables.
2016-07-10 23:18:03 +08:00
erwincoumans
81ae53e3a4 Merge pull request #683 from erwincoumans/master
VR support in PhysicsServerExample, physics runs in its own thread.
2016-07-09 15:24:40 -07:00
erwin coumans
02582e3a78 shrink down cube size of BasicDemo 10 times (it looked ginormous in VR) from 2x2x2 meter to 0.2
add test for VR HUD/sub-titles
fix issue in previous commit, partial string use %.8s not %8.s
use long long int in b3Clock
fix warning/error in pointer alignment in serialization
Fix pybullet Windows compilation.
(thanks to bkeys/https://github.com/bulletphysics/bullet3/pull/687)
2016-07-09 15:09:09 -07:00
Mat Kelcey
54979a0f89 pybullet renderimage with projection matrix calculated using field of view 2016-07-08 15:47:50 -07:00
Brigham Keys, Esq
06d6c9fc3a There was a typo I came across when cross compiling
TLDR; I fixed a typo for the windows build.
 - bkeys
2016-07-08 16:30:01 -05:00
Erwin Coumans
35b260b252 Merge remote-tracking branch 'bp/master' 2016-07-08 08:20:16 -07:00
erwin coumans
60d2b99151 Physics runs in a separate thread from rendering in PhysicsServerExample (preliminary)
Improve rendering performance. OpenVR experience is smooth now.
commit needs a bit more testing before pushing in main repo.
2016-07-07 19:24:44 -07:00
Jasmine Hsu
993bd52fe2 fix minor issues - arg parse size, spelling, duplicate function definition 2016-07-07 13:56:32 -07:00
erwincoumans
9d629bdcd7 Merge pull request #672 from hellojas/renderImage
Render image with camera_pos, target_pos, camera_up vector as arguments
2016-07-07 12:42:41 -07:00
Benjamin Ellenberger
a5b55e8fbf Randomize the dimensions of the creature within a certain dimension range. 2016-07-05 18:57:51 +02:00
Benjamin Ellenberger
a71810e76f Change scalings of different body parts. 2016-07-04 19:43:26 +02:00
Benjamin Ellenberger
34ae030c72 Fix CMake references. 2016-07-04 19:27:18 +02:00
Benjamin Ellenberger
40175b4700 Changed header guard name. 2016-07-04 19:26:27 +02:00
Benjamin Ellenberger
74aba8b8fd Correct the build files and fix the name of the create method in header
file.
2016-07-04 19:17:50 +02:00
Benjamin Ellenberger
277e103b7b Move NN3DWalkers to the evolution folder. 2016-07-04 19:17:10 +02:00
Benjamin Ellenberger
e652863baa Working random walkers. 2016-07-03 19:54:47 +02:00
erwin coumans
d0f20eafd1 Allow to build PhysicsServer in VR mode, to see the URDF/SDF robots in proper scale in VR.
Add option to have Z as up-axis for VR examples.
Add OpenVR LICENSE + README file
Don't crash VR app when no HMD is detected, just exit.
For now, don't request debug lines in client, it slows down physics server in VR mode too much.
2016-07-02 18:53:19 -07:00
Benjamin Ellenberger
2bf17a7a81 Initial commit.
------------
Simplifying the walker generation code and making it more understandable

SQUASH THIS LATER.
2016-07-01 19:35:27 +02:00
erwin coumans
58206b7962 Add preliminary support for VR/OpenVR for HTC Vive and Oculus Rift,
(Windows-only first, later Linux and OSX)
Use premake to build, use --enable_openvr flag
2016-06-30 16:03:38 -07:00
Jasmine Hsu
43011bdb3b merge upstream/master to latest commit ed9be25 2016-06-27 13:53:43 -07:00
Jasmine Hsu
f6bead7152 edit method definitions (docstring) for calling renderImage() 2016-06-27 13:51:28 -07:00
Jasmine Hsu
e24ec9e8c0 nearVal and farVal as params 2016-06-27 13:18:12 -07:00
Jasmine Hsu
5d5e7df7c5 exposing near/far values as params; commented out debug printf which caused failed checks 2016-06-27 11:19:57 -07:00
Benjamin Ellenberger
50b6003470 Merge remote-tracking branch 'upstream/master' 2016-06-27 15:14:47 +02:00
Benjamin Ellenberger
e16082a7cd Refactor Newton's Cradle. Implement Newton's Cradle with Softbody ropes. 2016-06-27 15:14:36 +02:00
erwincoumans
ed9be25570 Merge pull request #669 from hellojas/loadURDF
fix loading urdf at default position (0,0,0)
2016-06-26 19:12:20 -07:00
Erwin Coumans
013dbda023 implement a few more pybullet methods:
pybullet_applyExternalForce, pybullet_applyExternalTorque, pybullet_setTimeStep,
pybullet_resetBasePositionAndOrientation,
pybullet_getQuaternionFromEuler,
pybullet_getEulerFromQuaternion
2016-06-26 18:18:30 -07:00
Jasmine Hsu
d339cf5b74 ability to call renderImage with three vectors: camera position, target position, and up vector 2016-06-24 15:30:43 -07:00
Jasmine Hsu
aa91042ac8 merge bullet master 2016-06-24 15:20:46 -07:00
Erwin Coumans
c17c39c2c9 move PD control from PhysicsServerCommandProcessor into btMultiBodyJointMotor
improvements/changes in pybullet API
2016-06-24 11:06:56 -07:00
Erwin Coumans (Google)
6d1948e79e tweaks in pybullet and shared memory C-API:
allow to reset the state of a single joint
allow to set the target/mode for a single joint motor at a time
rename pybullet API: initializeJointPositions -> resetJointState
2016-06-24 07:31:17 -07:00
Jasmine Hsu
d2a2797201 accidently added pybullet.so 2016-06-23 14:06:14 -07:00