Commit Graph

496 Commits

Author SHA1 Message Date
erwincoumans
8319fa0380 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-09-02 01:06:47 -07:00
erwincoumans
1221c6d91d quadruped.py test, use generalized coordinates (not maximal coordinates) by default 2017-09-02 01:06:33 -07:00
erwincoumans
eb97e06280 fix minitaur.urdf: move lower-leg inertia to center, add missing collision for one of the motors, add contact parameters for friction_anchor, spinning friction, compliance (stiffness/damping)
fix in indexing for maximal coordinates (unused by default, still experimental, requires many iterations for Minitaur due to extreme mass-ratio, hence use of reduces/generalized coordinates)
modify quadruped.py to test maximal coordinates
wrap angular servo (positional) target within [-PI,PI] in btGeneric6DofSpring2Constraint
add 'j' key to show body frames in wireframe/debug mode
2017-09-02 01:05:42 -07:00
Erwin Coumans
6d940d7a02 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-08-31 10:00:24 -07:00
Erwin Coumans
6d0e2cd527 update pybullet docs, add getList to pybullet_envs 2017-08-31 09:59:40 -07:00
erwincoumans
ee30479a28 add option to log joint torques (due to user applied torques and/or motor torques)
See quadruped.py for an example:
p.startStateLogging(p.STATE_LOGGING_GENERIC_ROBOT, "genericlogdata.bin", maxLogDof = 16, logFlags = p.STATE_LOG_JOINT_TORQUES)
Thanks to JulianYG, in pull request https://github.com/bulletphysics/bullet3/pull/1273
2017-08-30 19:41:15 -07:00
erwincoumans
1f7db4519e enable motor control for maximal coordinates robots (btRigidBody, btTypedConstraint) for force, velocity, position control. 2017-08-29 19:14:27 -07:00
Erwin Coumans
029b4debad fix in minitaur.py and add render function in minitaur_gym_env.py 2017-08-28 19:28:20 -07:00
Erwin Coumans
1900966805 small rename 2017-08-27 19:54:20 -07:00
Erwin Coumans
3f00c7bd49 small tweak in vr_kuka_setup.py example 2017-08-27 19:53:38 -07:00
Erwin Coumans
c8cb0a5f42 add missing sphere_small.urdf, add vr_kuka_setup.py example. 2017-08-27 19:41:40 -07:00
Erwin Coumans
1569f3845c more fixes in pybullet_gym envs/data.
implement pybullet.setAdditionalSearchPath
2017-08-27 19:34:00 -07:00
Erwin Coumans
d9faea8c1c add more URDF files to pybullet_data 2017-08-27 19:26:53 -07:00
Erwin Coumans
659e869b86 pybullet a bit more refactoring, moving around files.
pybullet: move data to pybullet_data package, with getDataPath() method
2017-08-27 18:08:46 -07:00
Erwin Coumans
e267f5c3d2 move pybullet.connect into the Gym environment.
If you like to enable rendering, call the env.render(mode="human") before calling the first env.reset
2017-08-26 14:58:48 -07:00
Erwin Coumans
51b7e1040f more fixes in the pybullet gym environments: use main instead of demo_run,
add missing main to some eaxmples.

pip install pybullet
train:
python -m pybullet_envs.examples.train_pybullet_cartpole

enjoy:
python -m pybullet_envs.examples.enjoy_pybullet_cartpole

enjoy pretrained environments:

python -m pybullet_envs.examples.enjoy_TF_AntBulletEnv_v0_2017may
python -m pybullet_envs.examples.enjoy_TF_HalfCheetahBulletEnv_v0_2017may
python -m pybullet_envs.examples.enjoy_TF_AntBulletEnv_v0_2017may
python -m pybullet_envs.examples.enjoy_TF_HopperBulletEnv_v0_2017may
python -m pybullet_envs.examples.enjoy_TF_HumanoidBulletEnv_v0_2017may
python -m pybullet_envs.examples.enjoy_TF_InvertedDoublePendulumBulletEnv_v0_2017may
python -m pybullet_envs.examples.enjoy_TF_InvertedPendulumBulletEnv_v0_2017may
python -m pybullet_envs.examples.enjoy_TF_InvertedPendulumSwingupBulletEnv_v0_2017may
python -m pybullet_envs.examples.enjoy_TF_Walker2DBulletEnv_v0_2017may

Run some gym environment test:
python -m pybullet_envs.examples.racecarGymEnvTest

Create/Import a specific Gym environment:

python
import pybullet_envs
env = gym.make("AntBulletEnv-v0")
env = gym.make("HalfCheetahBulletEnv-v0")
env = gym.make("HopperBulletEnv-v0")
env = gym.make("HumanoidBulletEnv-v0")
env = gym.make("Walker2DBulletEnv-v0")
env = gym.make("InvertedDoublePendulumBulletEnv-v0")
env = gym.make("InvertedPendulumBulletEnv-v0")
env = gym.make("MinitaurBulletEnv-v0")
env = gym.make("RacecarBulletEnv-v0")
env = gym.make("KukaBulletEnv-v0")
env = gym.make("CartPoleBulletEnv-v0")
2017-08-26 13:13:53 -07:00
Erwin Coumans
bcc60224f0 all methods (except connect, obviously) have the physicsClientId argument, even if they don't use it. This makes it easier to create a wrapper API to store the physics client. This allows easier multi-threaded versions with multiple Bullet DIRECT instances (or SHARED_MEMORY, TCP, UDP etc).
See for example https://github.com/bulletphysics/bullet3/blob/master/examples/pybullet/gym/pybullet_envs/bullet/bullet_client.py and https://github.com/bulletphysics/bullet3/blob/master/examples/pybullet/gym/pybullet_envs/bullet/minitaur.py
2017-08-25 14:04:45 -07:00
Erwin Coumans
1fc148d5d0 fixes in racecarGymEnv: implement 'render' rgb image, fix in naming,
fix in observation bounds.
2017-08-24 22:01:45 -07:00
Erwin Coumans
a975d094c3 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-08-24 13:33:58 -07:00
Erwin Coumans
cb6914fa4c use better defauls values for minitaur 2017-08-24 13:33:45 -07:00
Erwin Coumans
f0c32b84c0 allow continuous control for MIT racecar gym environment, use differential drive version 2017-08-23 23:12:26 -07:00
Erwin Coumans
8a4f51baa4 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-08-23 21:45:05 -07:00
Erwin Coumans
ff4270a517 fix pybullet racecarGymEnv to use thread-safe pybullet 2017-08-23 18:22:20 -07:00
Erwin Coumans
75231d63e8 use name MinitaurBulletEnv 2017-08-23 17:45:41 -07:00
Erwin Coumans
0851b45f39 update minitaur gym env 2017-08-23 17:41:34 -07:00
Erwin Coumans
8866840712 Clarify in naming that the environment uses MJCF xml files with Bullet, it doesn't use MuJoCo. 2017-08-23 15:03:57 -07:00
Erwin Coumans
f19f28b5ed more fixes in pybullet/resources, moved enjoy/train/test in 'examples' folder. 2017-08-22 10:07:47 -07:00
Erwin Coumans
21ca6a90f0 more fixes for pybullet 2017-08-22 09:32:16 -07:00
Erwin Coumans
dd4cc5f4ef add minitaur quadruped 2017-08-22 09:00:46 -07:00
Erwin Coumans
e064d4b837 more fixes in pybullet_envs: fix path, add missing data resources 2017-08-22 08:59:39 -07:00
Erwin Coumans
21f9d1b816 refactor pybullet/gym to allow instantiating environments directly from a pybullet install:
work-in-progress (need to add missing data files, fix paths etc)

example:

pip install pybullet
pip install gym

python
import gym
import pybullet
import pybullet_envs
env = gym.make("HumanoidBulletEnv-v0")
2017-08-22 00:42:02 -07:00
Erwin Coumans
c06ea72a4c improve the new pybullet gym environments, follow camera, disable 2D GUI, disable rendering during loading (makes it faster)
disable vsync on Mac
fix setup.py file
2017-08-20 18:11:53 -07:00
erwincoumans
c0984b80e5 Merge pull request #1231 from benelot/bullet-gym
Add nearly all gym environments using pybullet together with the…
2017-08-18 13:29:43 -07:00
Benelot
3191291748 Split pendula robot from the pendula envs due to changes in the underlying mujoco xml base env. 2017-08-17 00:25:16 +02:00
Benelot
9f20e40541 Rename old humanoid gym to simple humanoid gym. 2017-08-17 00:06:01 +02:00
Benelot
f74a9299a8 Unversion manipulators for now. They come back as they are ready. 2017-08-16 22:43:40 +02:00
Erwin Coumans
a66576f034 revert API to be backward compatible, add b3CreateInProcessPhysicsServerAndConnectSharedMemory
same for BulletURDFImporter constructor
2017-08-16 12:33:25 -07:00
Benelot
68106d66dd Split locomotion environments. 2017-08-16 08:08:24 +02:00
erwincoumans
2e0a987750 pybullet only allow one GUI/GUI_SERVER instance.
Fix LINK_FRAME/WORLD_FRAME coordinate issue in pybullet applyExternalForce
2017-08-15 14:15:30 -07:00
Benelot
cab3de35e4 Remove duplicate assets and use other assets. Rename classes appropriately for robot-scene-env split refactoring. 2017-08-15 15:31:24 +02:00
Erwin Coumans
60b60ef9fd add pybullet.connect(pybullet.GUI_SERVER) option. This allows shared memory connections, acting as a physics server. You can connect using SHARED_MEMORY to this GUI_SERVER. 2017-08-14 17:02:20 -07:00
Erwin Coumans
aafaa7e33e Expose optional "globalScaling" factor to pybullet.loadURDF and pybullet.loadSDF. This will scale the visual, collision shapes and transform locations.
Fix two_cubes.sdf (was lacking collision shape for second cube)
2017-08-14 14:59:41 -07:00
Benelot
4771bae9fa Merge branch 'master' into bullet-gym 2017-08-10 22:50:12 +02:00
erwincoumans
0eb3898c76 Merge pull request #1244 from erwincoumans/master
add 'createObstacleCourse.py' example, helps reproducing
2017-07-29 13:20:14 +02:00
Erwin Coumans
d28dd2f80a add 'createObstacleCourse.py' example, helps reproducing
Parkour paper: https://arxiv.org/abs/1707.02286
2017-07-29 13:18:49 +02:00
yunfeibai
cfc7917586 Add init function and module for pybullet with EGL. 2017-07-18 13:52:29 -07:00
Erwin Coumans
c9b41737c0 add example of faster URDF/SDF loading in VR/GUI mode,
by temporary disabling rendering
2017-07-14 23:32:53 +01:00
Benjamin Ellenberger
a6aade2e21 Add nearly all gym environments using pybullet together with the latest tf model from the roboschool model zoo. 2017-07-14 23:38:15 +02:00
Erwin Coumans
5178ad4abc add proper pointer casts 2017-07-01 10:28:28 -07:00
Erwin Coumans
9cf747b35b a few compile/warning fixes 2017-07-01 10:01:55 -07:00