Commit Graph
100 Commits
Author SHA1 Message Date
erwincoumans ae8e83988b Add preliminary PhysX 4.0 backend for PyBullet
Add inverse dynamics / mass matrix code from DeepMimic, thanks to Xue Bin (Jason) Peng
Add example how to use stable PD control for humanoid with spherical joints (see humanoidMotionCapture.py)
Fix related to TinyRenderer object transforms not updating when using collision filtering
2019-01-22 21:08:37 -08:00
erwincoumans 3729b733de Merge pull request #1941 from ShFil119/impr/remove_register
Remove unneeded keyword `register`
2019-01-04 07:58:16 -08:00
erwincoumans 101429e6a3 Merge pull request #2041 from gsp-27/gsp-27-patch-1
Added code for issue #2036
2019-01-04 07:56:14 -08:00
erwincoumans 32282fece0 Merge pull request #2043 from crashcover/NUM_USER_COLLISION_SHAPES
initialize m_numUserCollisionShapes correctly for b3InitRemoveBodyCom…
2019-01-04 07:55:26 -08:00
erwincoumans 93a6846931 Merge pull request #2042 from erwincoumans/master
Increase mesh allocation for vertices/indices in PyBullet.createColli…
2019-01-04 07:52:32 -08:00
Erwin Coumans 0963eb3597 malloc -> new 2019-01-03 17:41:21 -08:00
Erwin Coumans 19aafd5221 PyBullet: handle the switch from fixed base to floating base when changing mass from zero to non-zero 2019-01-03 17:35:12 -08:00
Erwin Coumans bf9efffa4b Increase mesh allocation for vertices/indices in PyBullet.createCollisionShape
See createMesh.py for an example.

The data has to fit in shared memory, hence the limit on Mac is lower than Windows and Linux:

#ifdef __APPLE__
#define B3_MAX_NUM_VERTICES 8192
#define B3_MAX_NUM_INDICES 32768
#else
#define B3_MAX_NUM_VERTICES 131072
#define B3_MAX_NUM_INDICES 524288
#endif
2019-01-03 16:19:28 -08:00
erwincoumans 126b676220 Merge pull request #2034 from erwincoumans/master
Cleaning up the issue tracked with old/out-of-date/issues that haven't been addressed for too long.
2018-12-31 12:42:41 -08:00
erwincoumans 8bc1c8e01b Merge pull request #2030 from erwincoumans/master
some fixes in inverse dynamics, PyBullet example comparing explicit pd, stable pd control, position control (constraint)
2018-12-22 16:17:26 -08:00
erwincoumans d477d18ad6 Expose subsimplexcast max iterations/epsilon
Note that for best quality, always use BT_USE_DOUBLE_PRECISION
This fixes Issue 34
https://github.com/bulletphysics/bullet3/issues/34
2018-12-22 12:44:29 -08:00
erwincoumans 5e08808e69 Fix issue 1883, OpenGL 2.x doesn't have glGenerateMipmap 2018-12-22 11:42:29 -08:00
erwincoumans fb2baa81d6 only use the mutex if using BT_THREADSAFE 2018-12-22 11:35:56 -08:00
erwincoumans 63ac2182ae fix degerenate case in btHingeConstraint, see Issue 2031
https://github.com/bulletphysics/bullet3/issues/2031
2018-12-22 11:19:15 -08:00
erwincoumans 875a5f6b0e append m_, fixes Issue 402 2018-12-22 11:07:08 -08:00
erwincoumans 7ce9ad23fb Use safeNormalize, in case a both objects have identical origin.
Fixes Issue 2021
2018-12-22 10:59:00 -08:00
erwincoumans 9c4136da16 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-12-19 20:15:40 -08:00
erwincoumans 8e8c3fb315 few fixes in inverse dynamics 2018-12-19 20:15:30 -08:00
erwincoumans 78de1f070f add example comparing explicit PD control (Python), explicit PD control (plugin), position constraint and stable PD control (Python) 2018-12-19 20:12:19 -08:00
erwincoumans 4a66d6c80b Merge pull request #2016 from GaborPuhr/Fix-for-#2000
Fix for #2000
2018-12-04 12:14:57 -08:00
erwincoumans a7c6c8f3a9 Merge pull request #2018 from erwincoumans/master
PyBullet: fix some file leaks
2018-12-04 12:07:21 -08:00
erwincoumans d9fd6bf134 Merge pull request #2013 from erwincoumans/master
allow textured cube/sphere from URDF 'box' and 'sphere' visual primit…
2018-11-29 16:49:42 -08:00
erwincoumans 69321a9ee6 allow textured cube/sphere from URDF 'box' and 'sphere' visual primitive, when using
texUid = p.loadTexture("tex256.png")
p.changeVisualShape(cube ,-1, textureUniqueId = texUid)
See also https://github.com/bulletphysics/bullet3/issues/2012
2018-11-29 15:41:32 -08:00
erwincoumans bce502f33c Merge pull request #2010 from erwincoumans/master
ClangTidy
2018-11-28 17:19:48 -08:00
erwincoumans 1be34588a9 Merge pull request #2007 from erwincoumans/master
enable pybullet.calculateInverseDynamics for floating bodies
2018-11-28 14:37:26 -08:00
erwincoumans dc642c6e65 fix previous commit related to dofcount in inverse dynamics 2018-11-27 19:38:19 -08:00
erwincoumans 49c8e738a4 propagate resultOut->m_closestPointDistanceThreshold properly for convex-convex (capsule, sphere) and convex vs plane 2018-11-27 17:31:18 -08:00
erwincoumans 192d27743a enable pybullet.calculateInverseDynamics for floating bodies
Using calculateInverseDynamics with zero target acceleration allows to compute the non-linear dynamics forces (coriolis/gyroscopic) and/or gravity force.
2018-11-27 08:49:56 -08:00
erwincoumans 554208c98d Merge pull request #2001 from erwincoumans/master
DeepMimic using PyBullet (work-in-progress)
2018-11-26 14:44:08 -08:00
erwincoumans c41dc0bba2 Merge pull request #1999 from stolk/master
Show btHinge2 oscillation.
2018-11-24 14:46:12 -08:00
erwincoumans cf48697fcf PyBullet on Windows: disable harmless warning of not being able to connect to shared memory server. 2018-11-24 11:57:01 -08:00
erwincoumans bb6f4fb17c improve the ARS implementation: add multiprocessing Gym environment stepping, add command-line parameters to resume a policy, --render, --movie, --steps, --env 2018-11-24 11:54:36 -08:00
erwincoumans ca36a82c62 add deepmimic args file (for testing)
implement deepmimic reward function (only joint angles/velocities for now)
fix an out-of-date comment, related to contactPoint.m_lateralFrictionInitialized in btSequentialImpulseConstraintSolver.cpp
2018-11-23 18:32:23 -08:00
erwincoumans ccbd6e5fb7 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-11-23 18:01:45 -08:00
erwincoumans 5f0dcb575f add DeepMimic helper utils 2018-11-23 18:01:39 -08:00
erwincoumans 7669fc92c5 add shiftCenterOfMass.py example. 2018-11-23 18:01:00 -08:00
erwincoumans 121cdc91b0 more work on PyBullet implementation of DeepMimic humanoid mimic of motion capture.
b3Quaternion, deal with zero-length axis (in axis,angle constructor)
2018-11-21 11:09:10 -08:00
erwincoumans f93e4e4553 fix mjcf2urdf.py for Python 3 (utf) and don't export visuals (let it auto-convert from collision element) 2018-11-21 11:07:05 -08:00
erwincoumans 41e28e3587 Add link/joint names for DeepMimic humanoid urdf 2018-11-20 21:40:20 -08:00
Erwin Coumans bded2968ea add PyBullet.rotateVector method
add missing walk humanoid3d_walk.txt
2018-11-19 10:10:33 -08:00
erwincoumans f2a98777e7 Merge pull request #1994 from erwincoumans/master
Preparation to replicate parts of DeepMimic in plain PyBullet
2018-11-17 17:53:50 -08:00
erwincoumans 8c0b4d9e12 bump up pybullet version to 2.3.9 2018-11-17 14:12:10 -08:00
erwincoumans f9f8d0fbb0 example for fileIOPlugin.py loading SDF and its assets from a single zipfile,
also show how to disable file caching (used in the fileIOPlugin)
2018-11-17 14:11:01 -08:00
erwincoumans 70f94ddd81 Merge pull request #1993 from stolk/master
Change confusing variable name in btDiscreteDynamicsWorldMT API.
2018-11-16 17:31:27 -08:00
erwincoumans 9e99f5cdbc Expose PyBullet.calculateVelocityQuaternion, getAxisAngleFromQuaternion, getQuaternionFromAxisAngle, getDifferenceQuaternion
Add preparation for DeepMimic humanoid environment, replicating parts of https://github.com/xbpeng/DeepMimic
Loading humanoid.urdf and applying motion action: examples/pybullet/gym/pybullet_envs/mimic/humanoid.py
Loading MotionCapture data: examples/pybullet/gym/pybullet_envs/mimic/motion_capture_data.py
Little test: examples/pybullet/gym/pybullet_envs/mimic/humanoid_test.py
2018-11-16 17:29:03 -08:00
erwincoumans b13e84e43c Merge remote-tracking branch 'bp/master' 2018-11-14 12:29:09 -08:00
erwincoumans 9ad77a220e Merge pull request #1990 from erwincoumans/master
If a convex has called 'initializePolyhedralFeatures', use those feat…
2018-11-13 15:32:05 -08:00
erwincoumans 7c7235a8c5 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-11-13 14:32:38 -08:00
erwincoumans 7dd524075c Implement btMultiBodySphericalJointMotor, able to track a quaternion position target.
Expose this btMultiBodySphericalJointMotor through PyBullet.setJointMotorControlMultiDof
Expose PyBullet.getQuaternionSlerp
Improve PyBullet.setJointMotorControlMultiDof
Improve humanoidMotionCapture.py with slerp and using setJointMotorControlMultiDof
Expose  btMultiBody::spatialTransform
Fix btMultiBody::setupPlanar from DeepMimic codebase
Add support for multidof joints in btMultiBody::compTreeLinkVelocities, thanks to DeepMimic codebase @xbpeng
2018-11-13 14:32:18 -08:00
erwincoumans 75d60e1550 Merge pull request #1978 from stolk/master
Added Benchmark Demo for packed convex shapes.
2018-11-12 21:51:25 -08:00
erwincoumans 60b9551b38 If a convex has called 'initializePolyhedralFeatures', use those features also to create debug visualizer mesh, to avoid showing penetration.
Avoid crash in InvertedPendulumPDControl, due to recent change in m_jointFeedbackInWorldSpace
2018-11-12 21:46:11 -08:00
erwincoumans 38109dbd10 Merge pull request #1987 from erwincoumans/master
make setJointPosMultiDof and setJointVelMultiDof argument const.
2018-11-11 20:17:15 -08:00
erwincoumans a06b5de7b6 add converted humanoid from DeepMimic (https://github.com/xbpeng/DeepMimic,
thanks to Jason Peng), and motion capture playback example.
See also https://www.youtube.com/watch?v=vw3EKnKrgqw
2018-11-11 20:15:47 -08:00
erwincoumans 0b2142414d fix usage of btMultiBody::setJointPosMultiDof/setJointVelMultiDof 2018-11-11 19:04:07 -08:00
erwincoumans 17219f84c6 make setJointPosMultiDof and setJointVelMultiDof argument const.
add PyBullet.resetJointStateMultiDof / getJointStateMultiDof, for preliminary support for spherical and planar joints
2018-11-10 14:26:31 -08:00
erwincoumans b03b2fa481 Merge pull request #1985 from erwincoumans/master
fix setuptools 'monkey-patch' hang and 2 potential data race conditions.
2018-11-09 08:48:59 -08:00
erwincoumans 642c6a71d2 fix 2 potential data race conditions. 2018-11-08 14:41:22 -08:00
erwincoumans f7237647fb Merge pull request #1984 from erwincoumans/master
PyBullet: avoid calling syncBodies for each DOF in pdControl.
2018-11-07 11:16:18 -08:00
erwincoumans 49b098854e PyBullet: avoid calling syncBodies for each DOF in pdControl.
Allow PD_CONTROL in setJointMotorControlArray.
2018-11-07 09:29:19 -08:00
erwincoumans 99f4d80204 Merge pull request #1983 from erwincoumans/master
bump up pybullet version to 2.3.6
2018-11-06 12:35:19 -08:00
erwincoumans 0b513c825d Merge pull request #1981 from erwincoumans/master
fix some race conditions
2018-11-05 18:12:52 -08:00
erwincoumans 1cb8dc383f Merge pull request #1975 from erwincoumans/master
fix a potential data race condition.
2018-11-02 11:21:51 -07:00
erwincoumans 9ed9ef2894 Merge pull request #1972 from erwincoumans/master
fix some thread sanitizer (read/write integer, should be a harmless w…
2018-11-01 08:47:43 -07:00
erwincoumans 750133694c Disable btQuickprof.h profiling by default. We use custom profiling functions, see b3ChromeUtilsStartTimings. 2018-11-01 08:19:50 -07:00
erwincoumans 8e72b00c03 Merge pull request #1969 from erwincoumans/master
PyBullet: call the right method internally, also rudimentary MuJoCo xml to PyBullet/ROS URDF converter.
2018-10-31 12:14:33 -07:00
erwincoumans 44a4351339 Merge pull request #1967 from erwincoumans/master
remove ARS files
2018-10-30 19:46:46 -07:00
erwincoumans 5fbc015ba6 Merge pull request #1951 from duckdoom5/patch-1
Added missing extern declaration
2018-10-29 17:00:35 -07:00
erwincoumans d9fa97dd5b Merge pull request #1962 from erwincoumans/master
eglPlugin: remove visual shape for removeBody.
2018-10-29 16:51:32 -07:00
erwincoumans c80e2816ad PyBullet: Use fileIOPlugin in processRestoreStateCommand
PyBullet: Report debug information in case of failure in restoreState.
2018-10-29 12:08:34 -07:00
erwincoumans 35790c36c2 fix renamed variable m_rootPath->m_pathPrefix 2018-10-29 10:56:55 -07:00
erwincoumans 078887c4d7 PyBullet fileIOPlugin: don't add equal fileIO interface twice (based on identical fileIOType and pathPrefix)
loadBullet goes through fileIOPlugin
2018-10-29 10:25:40 -07:00
erwincoumans ee76873689 eglPlugin: remove visual shape for removeBody. 2018-10-28 21:08:57 -07:00
erwincoumans f34aec941b Merge pull request #1960 from BlGene/pip-egl
pip egl install: added btThreads.cpp
2018-10-28 19:54:38 -07:00
erwincoumans fa4d279cee Merge pull request #1961 from janisozaur/patch-1
Update include guard in btGImpactBvh.h
2018-10-28 19:53:24 -07:00
erwincoumans a804815fd7 Merge pull request #1959 from erwincoumans/master
Use the kF_UseGjkConvexCastRaytest for more accurate picking, tweak tensorflow humanoid_running.py demo to be more robust
2018-10-28 19:53:01 -07:00
erwincoumans 126537bd93 pybullet: fix issue with loadBullet command 2018-10-28 19:51:01 -07:00
Erwin Coumans eedca6020b Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-10-28 12:35:51 -07:00
erwincoumans df9b4fb005 remove printf from demo 2018-10-27 11:56:04 -07:00
erwincoumans a4cab78dd0 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-10-27 11:38:56 -07:00
erwincoumans bdda7af8d7 Use the kF_UseGjkConvexCastRaytest for more accurate picking
fix upAxis in some demos
2018-10-27 11:38:38 -07:00
erwincoumans 9c780185af Merge pull request #1957 from erwincoumans/master
add Laikago quadruped model (thanks to Unitree for cad meshes),  make pybullet setup.py use threadsafe by default.
2018-10-26 20:22:54 -07:00
erwincoumans 693985260f Merge pull request #1955 from erwincoumans/master
PyBullet: allow to pass vertices (for convex) and vertices+indices (f…
2018-10-26 11:20:44 -07:00
erwincoumans a44df2b0a6 PyBullet: allow to pass vertices (for convex) and vertices+indices (for concave) to createCollisionShape
See createObstacleCourse.py for an example use. At the moment a limit of 1024 vertices and 1024 indices.
Will be lifted once we implement the streaming version (soon).
2018-10-26 10:18:51 -07:00
erwincoumans 9c1db5fb34 Merge pull request #1948 from erwincoumans/master
fix sphere sdf parsing
2018-10-22 16:02:44 -07:00
erwincoumans 707bac9c3d fix sphere sdf parsing 2018-10-22 16:01:58 -07:00
erwincoumans 9090442f83 Merge pull request #1945 from erwincoumans/master
PyBullet/BulletRobotics: increase max #degree of freedom from 128 to …
2018-10-22 08:06:06 -07:00
erwincoumans 7e86a579e9 Merge pull request #1946 from RanTig/transform-changed-notification-active
Uses btCollisionBody::isActive instead of btMultiBody::isAwake to determine whether to send transform changed notifications.
2018-10-22 07:36:13 -07:00
erwincoumans c291fe5584 PyBullet/BulletRobotics: increase max #degree of freedom from 128 to 256. 2018-10-21 20:05:29 -07:00
erwincoumans 04101565bc Merge pull request #1944 from erwincoumans/master
revert backward compabitility in API
2018-10-20 20:45:48 -07:00
erwincoumans df0889a450 Merge pull request #1943 from erwincoumans/master
fix PyBullet.changeVisualShape to allow clearing a texture (use -1 for textureUniqueId)
2018-10-20 17:45:20 -07:00
erwincoumans 01a8a36933 fix example 2018-10-20 16:13:48 -07:00
erwincoumans ed49edc1af PyBullet change API (since it was broken): pybullet_changeVisualShape with textureUniqueId ==-1 will clear the texture
b3InitUpdateVisualShape doesn't take textureUniqueId by default. new API b3UpdateVisualShapeTexture to change texture (-1 will clear texture)
PyBullet/BulletRobotics: allow to reset the textureUniqueId to -1, to clear a texture
PyBullet/BulletRobotics: save all texture handles
2018-10-20 15:56:56 -07:00
erwincoumans 3d01a8c098 Merge pull request #1942 from erwincoumans/master
add missing file in MANIFEST.in,  fix potential memory leak in InMemoryFileIO, bump up PyBullet version
2018-10-20 12:25:50 -07:00
erwincoumans 63784dab5f Update NN3DWalkersTimeWarpBase.h
Fix issue #1940, see https://github.com/bulletphysics/bullet3/issues/1940
2018-10-17 20:08:06 -07:00
erwincoumans 399ff55153 fix typo in previous commit 2018-10-16 19:02:12 -07:00
erwincoumans 8825b39f6c fix potential memory leak in previous commit related to InMemoryFileIO class. 2018-10-16 18:31:17 -07:00
erwincoumans 79f6cc901e Merge pull request #1935 from erwincoumans/master
fix fileIO issue with \r\n in lines
2018-10-14 16:48:22 -07:00
erwincoumans b0a3b1b962 add missing header <string.h> 2018-10-14 15:12:53 -07:00
erwincoumans b5e475aec3 enable planar reflection in MinitaurGymEnv
enable follow cam in other Gym locomotion environments
add testing assets for multi-material obj files -> sdf conversion.
Also use ER_NO_SEGMENTATION_MASK flag for TinyRenderer/EGL plugin renderer
2018-10-14 15:10:19 -07:00
erwincoumans c1e20c448f Implement InMemoryFile for memory caching for fileIO plugin.
Support SDF loading through fileIO plugin.
Replace strcspn by C code (not crossplatform)
Add flag for loadURDF to use color from MTL file (instead from URDF link material)
pybullet.URDF_USE_MATERIAL_COLORS_FROM_MTL and pybullet.URDF_USE_MATERIAL_TRANSPARANCY_FROM_MTL
2018-10-14 12:54:34 -07:00