Commit Graph
100 Commits
Author SHA1 Message Date
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 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 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
erwincoumans 3309ce8f6a strip \r \n from line 2018-10-13 16:23:58 -07:00
erwincoumans 11ef1bf0cd Merge pull request #1929 from erwincoumans/master
allow to provide rayCastBatch in local 'from'/'to' with a parent/link…
2018-10-11 18:14:20 -07:00
erwincoumans ad10da57c5 more initial work on fileIOPlugin 2018-10-11 17:00:17 -07:00
erwincoumans a24c1436af state 2 of FileIO plugin: adding/removing FileIO types, search through all registered FileIO types.
(not enabled by default yet)
Example:
fileIO = p.loadPlugin("fileIOPlugin")
print("fileIO=",fileIO)
p.executePluginCommand(fileIO,"e:/develop/bullet3/data/plane.zip", [p.AddFileIOAction,p.ZipFileIO])
p.executePluginCommand(fileIO,"e:/develop/bullet3/data/test2.zip", [p.AddFileIOAction,p.ZipFileIO])
planeId = p.loadURDF("plane.urdf")
duckId = p.loadURDF("duck_vhacd.urdf",[0,0,1])
2018-10-11 14:39:31 -07:00
erwincoumans f792a5951a move zipfFileIO into own header
route loadTextureFile from fileIO plugin
fix B3_ENABLE_FILEIO_PLUGIN logic
2018-10-11 10:58:14 -07:00
erwincoumans bb305c6ebc allow to provide rayCastBatch in local 'from'/'to' with a parent/link index, b3RaycastBatchSetParentObject
If parentObjectUniqueId provided, convert local from/to into world space coordinates
AddUserDebugLins: don't block when replacing an item
Fix examples/pybullet/examples/inverse_kinematics.py
2018-10-10 23:31:50 -07:00
erwincoumans d6b50d3bcc Merge pull request #1927 from erwincoumans/master
backward compatibility fix
2018-10-09 21:45:48 -07:00
erwincoumans 03461a0d1f Merge pull request #1922 from erwincoumans/master
First pass of load files through an interface (to allow loading from …
2018-10-09 11:14:40 -07:00
erwincoumans dba239fe8d First pass of load files through an interface (to allow loading from memory, zip file etc). So instead of posix fopen/fread, using CommonFileIOInterface.
A fileIO plugin can override custom file IO operations. As a small test, load files from a zipfile in memory.
Default fileIO implementation is in examples/Utils/b3BulletDefaultFileIO.h
Affects URDF, SDF, MJCF, Wavefront OBJ, STL, DAE, images.
2018-10-08 21:27:08 -07:00
erwincoumans a1543714f1 Merge pull request #1919 from erwincoumans/master
btMultiBody: fix indexing issue causing wrong friction to be reported, remove obsolete BT_PYBULLET_GRPC and PYBULLET_EGL
2018-10-06 19:02:09 -07:00
erwincoumans 332cbfa609 fix typo in previous commit 2018-10-06 18:37:51 -07:00
erwincoumans c2486bb1a6 add contactFriction.py example 2018-10-06 15:27:56 -07:00
erwincoumans c0e38cd921 Merge pull request #1896 from jviereck/jviereck_add_lateral_contact_info
Adding support for lateral friction to getContactPoints()
2018-10-06 15:27:14 -07:00
erwincoumans 71d4a90c98 btMultiBody: fix indexing issue causing wrong friction to be reported (has no effect, since we don't use warmstarting for multibody) 2018-10-06 15:25:22 -07:00
erwincoumans 8765c0a027 Merge remote-tracking branch 'bp/master' 2018-10-06 13:18:22 -07:00
erwincoumans cb55094a11 Merge pull request #1918 from erwincoumans/master
fix depth image, setRGBA color and projective texture for eglPlugin, also  add getCameraImageTest.py to compare various render modes.
2018-10-05 21:36:40 -07:00
Erwin Coumans f90fbed54e Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-10-05 20:01:37 -07:00
erwincoumans 9a7cc7bcd7 add getCameraImageTest.py to compare GUI (with OpenGL3 GLInstancingRenderer), TinyRenderer and DIRECT+eglPlugin (with OpenGL3 GLInstancingRenderer) 2018-10-05 19:31:03 -07:00
erwincoumans 2c13e70d1a make projective textures work in DIRECT+eglPlugin (see examples/pybullet/examples/projective_texture.py) 2018-10-05 19:24:44 -07:00
erwincoumans 111ffc784d Use 2560x2048 as default window/framebuffer size for eglPlugin. 2018-10-05 18:28:37 -07:00
erwincoumans 40d7e292f2 fix depth image for eglPlugin, also fix setRGBA color for eglPlugin. 2018-10-05 18:25:51 -07:00
erwincoumans 67954a873e Merge pull request #1917 from erwincoumans/master
reverse ER_SEGMENTATION_MASK to ER_NO_SEGMENTATION_MASK so segmentation
2018-10-04 18:41:16 -07:00
erwincoumans 62016a785b Merge pull request #1915 from WenlongLu/create_status
Fix a memory leak when removing collision shape
2018-10-02 12:18:32 -07:00
erwincoumans db6f35b88a Merge pull request #1914 from erwincoumans/master
removed flags from loadURDF command. The flags are already available …
2018-10-02 08:42:09 -07:00
erwincoumans 8aff1fbd49 removed flags from loadURDF command. The flags are already available in m_data->m_flags in BulletUrdfImporter.cpp 2018-10-02 08:39:47 -07:00