Commit Graph
100 Commits
Author SHA1 Message Date
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
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