Commit Graph

476 Commits

Author SHA1 Message Date
yunfeibai
113e103bc2 Modify the joint damping input check, and output error message when it doesn't pass the size check. Modify the kuka grasping example accordingly. Setting joint damping in this example was a no-op before. 2017-09-27 15:18:08 -07:00
yunfeibai
adcece7927 Adjust the IK setup to address the inverse kinematics issues mentioned in #1249. 2017-09-27 14:14:57 -07:00
Erwin Coumans
f4b28dddce fix rendering ("rgb_array") for pendulums/pendula 2017-09-15 16:33:22 -07:00
Erwin Coumans
81bf709ad7 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2017-09-15 13:12:06 -07:00
Erwin Coumans
3d7ee317db fix pybullet gym environments: InvertedDoublePendulumBulletEnv-v0,
InvertedPendulumBulletEnv-v0, InvertedPendulumSwingupBulletEnv-v0

motors were not disabled, extra gains applied etc.
2017-09-15 13:09:05 -07:00
erwincoumans
ffb05d74da Merge pull request #1308 from benelot/fix-gyms
Fix gyms to make them work just like robotschool
2017-09-14 07:40:51 -07:00
Benelot
3f57fb655a Enable randomized reset for Humanoid. 2017-09-14 12:53:12 +02:00
Benelot
2e8a86462f Remove tweaks added by me but not part of roboschool. 2017-09-14 12:52:21 +02:00
Erwin Coumans
74475479cf fix pybullet, checked wrong type after connection 2017-09-13 17:05:23 -07:00
Erwin Coumans
7e0ca070e0 fix return values in pybullet to be Pythonic. 2017-09-13 16:08:30 -07:00
Erwin Coumans
340a8f4704 add sigaction handler to Example Browser, to always shutdown shared memory
make GUI_SERVER more reliable
next attempt to connect to SHARED_MEMORY in Gym envs, if available, before DIRECT/GUI
allow software rendering fallback, even if ER_BULLET_HARDWARE_OPENGL is chosen in getCameraImage
2017-09-13 13:30:16 -07:00
Erwin Coumans
c250a5f0b9 re-enable shared memory connection for pybullet Gym envs (with fallback to GUI or DIRECT)
suppress shared memory connection warnings
add fallback from ER_BULLET_HARDWARE_OPENGL to TinyRenderer if not available
2017-09-13 09:56:39 -07:00
Erwin Coumans
ec25f663c2 fix getAABB.py on mac osx
fix humanoid_benchmark.py and explain how to read/interpret that file in Google Chrome
2017-09-11 19:46:54 -07:00
Erwin Coumans
3891602784 enable continuous action space for racecarZEDGymEnv
disable SHARED_MEMORY connection (it was just some debug test)
2017-09-11 17:34:06 -07:00
Erwin Coumans
105c2c948f add simple 'runServer.py' script, that lets you run a GUI shared memory server to connect to 2017-09-11 09:38:55 -07:00
Erwin Coumans
f38b2cf14d use SHARED_MEMORY as first connection attempt, to make visualization/OpenGL rendering easier 2017-09-11 09:23:14 -07:00
Erwin Coumans
ee082396d1 fixes in libdl/DL cmake
minor tweaks in pybullet OpenAI gym locomotion envs (connect to shared memory before going GUI/DIRECT)
bump up pybullet version to 1.3.6
2017-09-10 16:22:45 -07:00
Erwin Coumans
466c853489 add testMJCF.py script, to visualize MJCF file 2017-09-10 10:45:38 -07:00
Erwin Coumans
125380ce15 revert feet related reward in ant 2017-09-09 22:35:48 -07:00
Erwin Coumans
de28334a70 tweak to testEnv.py, sample usage:
python testEnv.py --rgb=1 --render=1 --step=100000 --env="HumanoidBulletEnv-v0"
2017-09-09 16:36:42 -07:00
Erwin Coumans
ce64aff7af ant env, fix feet_collision reward issue 2017-09-09 16:00:03 -07:00
Erwin Coumans
666c824b81 enable pybullet_env Ant Gym rendering, tinyRenderer has some issue with the ant.xml file though 2017-09-09 15:27:10 -07:00
Erwin Coumans
4f47a223ef more fixes in Gym Ant to make reward the same as Roboschool,
apparently feet_collision_cost is not properly updated in Roboschool,
for now, disable it in pybullet too: see https://github.com/openai/roboschool/issues/63
2017-09-09 12:36:53 -07:00
Erwin Coumans
c144d9c045 add simple script to test some of the pybullet gym environments (work-in-progress/experimental) 2017-09-08 15:25:16 -07:00
Erwin Coumans
c30e9aea92 revert minitaur.urdf to previous (backward compatibility) and add _v1 for better version. 2017-09-07 11:23:41 -07:00
Erwin Coumans
b0e50d0d5a pybullet Gym envs: add more sleep in the enjoy functions to see what's happening. 2017-09-07 11:17:38 -07:00
Erwin Coumans
3d702879c5 pybullet: improvements in Gym Ant environment (work-in-progress) 2017-09-07 11:06:42 -07:00
Erwin Coumans
cfc07565ac fix dumpLog.py 2017-09-06 14:34:10 -07:00
Erwin Coumans
ff0cd65346 fix __init__.py, add stadium without collision for testing 2017-09-05 21:47:35 -07:00
Erwin Coumans
3f21e528f0 revert name 'v' -> 'u' (backward compatibility) and 'u' -> 't'
make vr_kuka_setup.py load faster, by disabling rendering during loading
allow to setRealTimeSimulation(0) in VR
2017-09-02 11:35:54 -07:00
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