Commit Graph

619 Commits

Author SHA1 Message Date
Erwin Coumans
e88dca3152 update autogenerated NativeMethods.cs from latest PhysicsClientC_Api.h 2018-01-31 09:07:31 -08:00
erwincoumans
40482e0925 fix urdfEditor.py 2018-01-29 19:19:34 -08:00
Erwin Coumans
cb0e740422 fix error in __init__.py 2018-01-27 10:25:26 -08:00
Erwin Coumans
2b5be5ca8a Merge remote-tracking branch 'bp/master' 2018-01-26 17:36:45 -08:00
erwincoumans
688d750d8a
Merge pull request #1531 from AndreaIncertiDelmonte/issue-1525
Override of the reset() public funciton in child classes
2018-01-26 13:10:47 -08:00
cedspam
3011cf1130
avoid errors in some ide docs system
there are some error linked to repeated import of this module in spyder, an env with the same id cannot be registered again
2018-01-26 09:29:39 +00:00
AndreaIncertiDelmonte
b908b147a6 Overwrite of the reset() public funciton in child classes 2018-01-26 10:09:14 +01:00
erwincoumans
0ce40b70c0
Merge pull request #1523 from kimhc6028/master
[fixed] gym_manipulator_envs typo
2018-01-25 13:36:42 -08:00
Erwin Coumans
c6fefb1018 remove useless gym env 2018-01-25 12:11:22 -08:00
Erwin Coumans
c4a046f16c remove baselines dependency (not needed, since it is a random policy) 2018-01-25 07:34:00 -08:00
erwincoumans
5d45fd5ca5 PyBullet: register KukaDiverseObjectGrasping-v0 to Gym. 2018-01-24 18:27:03 -08:00
erwincoumans
4ea406c73c PyBullet: improve examples/pybullet/gym/pybullet_envs/bullet/kuka_diverse_object_gym_env.py
(thanks to Deirdre Quillen for the environment)
Extend repeat, so gripper reaches the tray bottom.
Fix near plane so Z-Buffer is visible. Add sleep in return motion, in gui mode.
2018-01-24 18:21:59 -08:00
erwincoumans
72ec3effe6 Merge remote-tracking branch 'bp/master' 2018-01-24 18:11:33 -08:00
erwincoumans
1ec0543deb add random urdf zipfile for KUKA grasping env, thanks to Deirdre Quillen 2018-01-24 18:10:55 -08:00
erwincoumans
583b23ea40 PyBullet Humanoid Flagrun Harder: disable collision on target red sphere 2018-01-24 18:02:24 -08:00
erwincoumans
aba4671358 Humanoid Flagrun Harder, PyBullet version (request from Danijar)
Fix duplicate ground in all Roboschool converted scenes.
Fix bug in all PyBullet-Roboschool converted Humanoid environments (action needs to be clipped to [-1,1] range)
2018-01-24 17:53:40 -08:00
Erwin Coumans
b8362fff94 PyBullet pybullet_envs: fix issue with Humanoid environments (excessive forces, due to lack of action clamping)
PyBullet pybullet_envs: use 1./60 sleep, add enjoy_TF_HumanoidFlagrunHarderBulletEnv_v1_2017jul.py
2018-01-24 16:02:19 -08:00
kimhc6028
0d07ae03b7 [fixed] gym_manipulator_envs typo 2018-01-23 18:22:53 +09:00
Erwin Coumans
69007dcc61 fix MJCF loading (use self-collision) 2018-01-20 12:07:35 -08:00
deq2
e30f2624f9 Added kuka environment with multiple diverse objects. (#1508)
* Added new diverse object environment
2018-01-18 08:49:00 -08:00
erwincoumans
012f4534fd Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-01-17 12:49:27 -08:00
erwincoumans
329a1f5a74 PyBullet: move TinyRenderer into a plugin, default statically loaded. You can also dynamically load a render plugin, as shown in renderPlugin.py example. premake has a way to compile the tinyRendererPlugin. 2018-01-17 12:48:48 -08:00
Erwin Coumans
c6a350b807 BulletInverseDynaimcs: re-applied fix
PyBullet: increase humanoid training from 30 to 300M (need to figure out the right hyperparameters...)
2018-01-16 21:54:46 -08:00
erwincoumans
055930817e apply a maximum velocity for the KUKA arm, otherwise motion can become very unrealistic 2018-01-16 10:17:57 -08:00
erwincoumans
851ca5bfb3 Improve PyBullet ports of Roboschool envs: fix reset (it kept adding stadium objects, causing slowdown), now reset uses saveState/restoreState and reset becomes a few orders of magnitude faster.
Use python -m pybullet_envs.examples.testEnv --env AntBulletEnv-v0 --render=1 --steps 1000 --resetbenchmark=1

Added environments: HumanoidFlagrunBulletEnv-v0, HumanoidFlagrunHarderBulletEnv-v0, StrikerBulletEnv-v0, ThrowerBulletEnv-v0, PusherBulletEnv-v0, ReacherBulletEnv-v0, CartPoleBulletEnv-v0 and register them to OpenAI Gym.
Allow numpy/humanoid_running.py to use abtch or non-batch update (setJointMotorControl2/setJointMotorControlArray)
2018-01-15 12:48:32 -08:00
erwincoumans
387d3f16db PyBullet: fix memory leak in case connection to shared memory cannot be made
PyBullet: allow setJointMotorControl2 to use maxVelocity in combination with obsolete 'bodyIndex'
2018-01-15 08:33:19 -08:00
erwincoumans
ed890f23e6 add implicit plane_implicit.urdf and use it in humanoid_running.py (numpy version) 2018-01-13 13:47:28 -08:00
erwincoumans
1b569c0701 Add humanoid_running.py using just numpy (no tensorflow, no gym) for testing 2018-01-13 13:39:57 -08:00
Erwin Coumans
79051b7611 allow to use colors from MJCF file as option (default to random Google colors), use p.loadMJCF(filename, flags=p.URDF_MJCF_COLORS_FROM_FILE
fix quadruped.py example.
add PyBullet.isConnected() API, more friendly than PyBullet.getConnectionInfo()["connected"]
2018-01-11 21:04:08 -08:00
erwincoumans
22b4809891 leave m_useGlobalVelocities to false, until enabled, for backward compatibility
use URDF_GLOBAL_VELOCITIES_MB flag in PyBullet loadURDF.
fix robot_bases.py due to new fields in getJointInfo.
backward compabitibility: BulletMJCFImporter, keep creating btMultiSphereShape for MJCF capsules with fromto, instead of shifted btCapsuleShapeZ, unless if CUF_USE_IMPLICIT_CYLINDER is used.
2018-01-10 11:16:50 -08:00
erwincoumans
c4b1b84687 Enable 'global absolute velocities' by default for btMultiBody. See 8.3.2B Proposed resolution Jakub Stepien PhD Thesis
https://drive.google.com/file/d/0Bz3vEa19XOYGNWdZWGpMdUdqVmZ5ZVBOaEh4ZnpNaUxxZFNV/view?usp=sharing
Fixes crashes due to rendering of softbody wireframe in the wrong thread (needs to be in 'debug' rendering section)
Use btCapsuleShapeZ instead of btMultiSphereShape when converting MJCF MuJoCo capsules using fromto
2018-01-09 22:47:56 -08:00
erwincoumans
e138e85bca allow to enable/disable implicit cylinder conversion through an API
p.loadURDF("r2d2.urdf", flags=p.URDF_USE_IMPLICIT_CYLINDER)
allow to enable/disable deterministicOverlappingPairs through an API
p.setPhysicsEngineParameter(deterministicOverlappingPairs = False)
2018-01-09 10:10:36 -08:00
erwincoumans
bf6d805228 fix compile issues on Windows after recent softbody patch 2018-01-09 08:43:00 -08:00
YunfeiBai
de3b8bf3c9
Merge branch 'master' into master 2018-01-08 18:13:03 -08:00
yunfeibai
0e0d3da2b5 Add python binding and a pybullet example for loading softbody from obj. 2018-01-08 18:10:28 -08:00
Erwin Coumans
90c5d66e1b fix for Python 2.x 2018-01-08 16:15:54 -08:00
Erwin Coumans
e97b751781 further work on urdfEditor.py, fix some serialization issues 2018-01-08 12:25:56 -08:00
Erwin Coumans
a85a4f387b more work on UrdfEditor.py 2018-01-06 15:00:20 -08:00
Erwin Coumans
9a9aa5e9e7 example of joint motor with friction 2018-01-06 13:43:07 -08:00
Erwin Coumans
c59a3763e5 tweak ImportMJCFSetup.cpp example MJCF humanoid a bit, clamp target positions to be within joint limits to avoid solver problems (conflicting constraints)
add humanoid_manual_control.py PyBullet example which is similar to ImportMJCFSetup.cpp
2018-01-04 13:14:11 -08:00
Erwin Coumans
79d78a325a Start of a urdfEditor.py, limited support to extract a URDF from a PyBullet body.
Use btCylinderShapeZ for URDF cylinder, instead of converting it to a btConvexHullShape.
Implement PyBullet.getCollisionShapeData
Extend PyBullet.getDynamicsInfo / b3GetDynamicsInfo, remove flag (don't rely on API returning a fixed number of elements in a list!)
Extend PyBullet.getJointInfo: add parentIndex
2018-01-03 19:17:28 -08:00
Erwin Coumans
35b44f8a85 implement pybullet.saveState command, for in-memory storage of state.
bump up pybullet API version (SHARED_MEMORY_MAGIC_NUMBER) to 201801010
2017-12-31 15:37:16 -08:00
Erwin Coumans
20e00d11d8 further work on saveRestoreState.py 2017-12-30 21:57:42 -08:00
Erwin Coumans
9c55b61315 pybullet.createVisualShape: process sphere radius, box half extents, capsule+cylinder radius/length
fixes issue #1427, https://github.com/bulletphysics/bullet3/issues/1427
2017-12-30 17:42:13 -08:00
Erwin Coumans
0326fa93a8 made some progress in saving and restoring the state during the simulation, with identical results.
Option to de/serialize btPersistentContactManifolds and fix lossy conversion during btMultiBody de/serialization of base world transform
(serialize the quaternion, not the converted 3x3 matrix)
There are still several caches not taken into account, and btMultiBody links/constraints are not deserialized yet etc.
See examples\pybullet\examples\saveRestoreState.py for an example.
2017-12-30 14:19:13 -08:00
Erwin Coumans
29cfac096b compile fix in pybullet.c 2017-12-28 12:57:49 -08:00
Erwin Coumans
5517cbc4e0 add segmask_linkindex.py example using p.getCameraImage(320,200,flags=p.ER_SEGMENTATION_MASK_OBJECT_AND_LINKINDEX)
to extract object unique id and link index from segmentation mask in getCameraImage
2017-12-28 12:37:07 -08:00
Erwin Coumans
97547eda0d preliminary work towards saveState/restoreState and saveRestoreState.py example (not implemented yet)
allow multiple options in connect, for example: p.connect(p.GUI, options="--width=640, --height=480")
2017-12-28 10:05:51 -08:00
erwincoumans
41f9bb89e5 expose API to change the local inertia diagonal, pybullet.ChangeDynamics(objectUid, linkIndex, localInertiaDiagonal=[xx,yy,zz]) 2017-12-20 16:56:31 -08:00
erwincoumans
eb35cba740 expose local inertia diagonal in C-API, PyBullet, through the 'getDynamicsInfo'
render the inertia boxes in examples/pybullet/examples/quadruped.py and examples/pybullet/examples/reset_dynamic_info.py
fix an issue where the original margin (0.04) was used to compute the inertia, instead of latest margin
2017-12-20 14:54:32 -08:00