Commit Graph
100 Commits
Author SHA1 Message Date
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
erwincoumans 4944aca28b Update our_gl.cpp 2016-09-06 13:26:08 -07:00
erwincoumans d5ec5ca9a0 Update IDConfig.hpp 2016-09-06 13:07:06 -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
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
erwincoumans 23f7293a25 Merge pull request #768 from erwincoumans/master
implement pybullet.getContactPointData(), two optional object unique …
2016-09-01 22:31:06 -07:00
Erwin Coumans (Google) f7522873f9 fix compile issue on Linux 2016-09-01 22:11:07 -07:00
Erwin Coumans 842863c04f add commented-out line in build_visual_studio.bat to show how to build pybullet on Windows 2016-09-01 21:37:52 -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 03f09042e2 Merge pull request #766 from erwincoumans/master
[SharedMemory] Calculate inverse dynamics now uses world gravity.
2016-09-01 14:37:50 -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
erwincoumans c7ad8f2a3d Merge pull request #1 from bingjeff/master
[SharedMemory] Calculate inverse dynamics now uses world gravity.
2016-09-01 11:18:02 -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
erwincoumans 552da3adb5 Merge pull request #764 from erwincoumans/master
preparation for KUKA IK tracking example
2016-08-30 17:23:13 -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
erwincoumans 4ebd6b144b Merge pull request #763 from ludi1001/enable-load-inertia-from-urdf
Add flags to load inertia values from URDF.
2016-08-30 08:59:29 -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 68efd7dd6e Merge remote-tracking branch 'bp/master' 2016-08-29 10:38:59 -07:00
Erwin Coumans 9fc438e742 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-08-29 10:38:51 -07:00
erwincoumans fb57689fad Merge pull request #760 from erwincoumans/master
Disable 'm_robotSim.setNumSimulationSubSteps' because it is not neede…
2016-08-29 10:36:51 -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
Erwin Coumans 887e88a490 Merge remote-tracking branch 'bp/master' 2016-08-27 10:37:48 -07:00
Erwin Coumans fb3f2d896c Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-08-27 10:37:35 -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
erwincoumans c29d445b94 Merge pull request #750 from TIHan/quick_fix1
Fixed btKinematicCharacterController from clipping through walls in corners.
2016-08-25 20:26:42 -04:00
erwincoumans 0baef2b84e Merge pull request #754 from YunfeiBai/master
Set physics clock subdivider and fixed constraint in RobotSimAPI.
2016-08-25 20:24:54 -04:00
erwincoumans 6c961cadf0 Merge pull request #755 from erwincoumans/master
[InverseDynamics] Support for Jacobians & derivatives
2016-08-25 20:20:28 -04:00
Erwin Coumans 2861d2ae59 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-08-25 20:02:34 -04:00
Erwin Coumans ba8964c4ac [InverseDynamics] Support for Jacobians & derivatives
This change adds support for calculating Jacobians and
dot(Jacobian)*u terms, along with the required support for
the 3xN matrices in the standalone math library.
It also adds functions to compute kinematics only (position, velocity, accel).
To facilitate tests, the Cl also adds a RandomTreeCreator to create
randomized multibody trees.
Thanks to Thomas Buschmann for this contribution!
2016-08-25 16:24:28 -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
erwincoumans d8ee189908 Update README.md 2016-08-23 00:05:04 -04:00
erwincoumans dacd428d08 Merge pull request #749 from erwincoumans/master
debug draw contact normals (1cm) use black color
2016-08-22 23:53:55 -04:00
yunfeibai d46710e447 Expose fixed constraint in RobotSimAPI. 2016-08-22 18:14:29 -07:00
erwincoumans db66b06640 Merge pull request #753 from YunfeiBai/master
Add micro sleep to fix slowness problem in VR.
2016-08-22 17:20:46 -04:00
yunfeibai 8eccac6fd8 Update CMakeLists to be the same as upstream. 2016-08-22 10:26:56 -07:00
Will Smith ba4c389c84 Fixed btKinematicController from clipping through walls in corners. 2016-08-19 18:46:07 -05: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
erwincoumans e5626b954f Merge pull request #748 from erwincoumans/master
avoid MT crash in VR/physics server due to printf from separate thread.
2016-08-19 10:49:25 -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
erwincoumans 5c9b283a99 Merge pull request #747 from erwincoumans/master
revert change of default position control in shared memory api/pybullet
2016-08-18 20:43:11 -07:00
Erwin Coumans 91839cb274 revert change of default position control in shared memory api/pybullet 2016-08-18 16:48:14 -07:00
erwincoumans aee6b35382 Merge pull request #746 from erwincoumans/master
bugfix: in torque control mode, torque index starts at 6.
2016-08-18 16:11:46 -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 013a702b2f Merge remote-tracking branch 'bp/master' 2016-08-18 13:44:29 -07:00
Erwin Coumans ab8f498d18 avoid infinite recursion in b3Clock::usleep 2016-08-18 13:44:04 -07:00
Erwin Coumans d4485ca3d9 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2016-08-18 13:42:18 -07:00
erwincoumans 2a3020d975 Merge pull request #745 from erwincoumans/master
Remove undesired assert, it makes pybullet mistakes fail in c++
2016-08-18 13:22:45 -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
erwincoumans d6547f6ee4 Merge pull request #744 from erwincoumans/master
Fix some inconsistencies in URDF file handling between btRigidBody an…
2016-08-18 10:10:52 -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
erwincoumans 8a780fa0a4 Merge pull request #743 from erwincoumans/master
tweak in BEB F1/screenshot handling, 	by default, have a strong force keep the robot together
2016-08-17 20:13:48 -07:00
Erwin Coumans 8f21e2bca9 fix compile issue 2016-08-17 20:01:45 -07:00
erwincoumans c50490a6d9 Merge pull request #742 from sinkingsugar/master
Fixed btKinematicCharacterController runtime crashes
2016-08-17 19:54:14 -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
erwincoumans 0aef7afbbd Merge pull request #739 from YunfeiBai/master
Fixed constraint for btMultiBody and btRigidBody.
2016-08-17 09:53:20 -07:00
Giovanni Petrantoni a4a6a3ce57 Fixed btKinematicCharacterController runtime crashes coming from previous pull request (more testing is necessary) 2016-08-17 14:19:58 +09: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
erwincoumans e982b2b5dd Merge pull request #738 from erwincoumans/master
Add sleep to avoid 100% busy CPU loop in PhysicsServerExample
2016-08-13 18:13:08 -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
erwincoumans 818af33dab Merge pull request #736 from erwincoumans/master
revert accidently renaming of m_depthvalues4
2016-08-12 14:43:21 -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
erwincoumans fec13f2d0a Merge pull request #735 from erwincoumans/master
set the camera, even in multi-threaded mode
2016-08-11 17:37:02 -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
erwincoumans 27d3055638 Merge pull request #731 from erwincoumans/master
add pybullet render API with yaw/pitch/roll option, add pybullet testrender.py example
2016-08-09 19:24:11 -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