Commit Graph

395 Commits

Author SHA1 Message Date
Erwin Coumans
e4f58ddc33 fix typo, add train_ppo kuka task 2017-10-31 16:33:13 -07:00
Erwin Coumans
3709e68645 fix discrete versions of kuka grasping environment
should fix issue 1386
2017-10-31 16:14:20 -07:00
Erwin Coumans
33d32d7ab4 add continuous version of kuka cam gym env test 2017-10-31 16:10:02 -07:00
Erwin Coumans
4e2dfbe58e add minitaur duck environment
see also  https://www.youtube.com/watch?v=SLwUCMZdKLo and
evolution strategies (hardmaru):
https://twitter.com/hardmaru/status/925074585984237568
2017-10-31 16:05:52 -07:00
Erwin Coumans
55f5e52ecd add continuous versions of kukaGymEnv, kukaCamGymEnv, racecarZEDGymEnv etc.
should be trainable with PPO or evolution strategies (ES) now
2017-10-31 15:50:34 -07:00
Erwin Coumans
9385f36505 add cartpole_bullet, should fix issue 1403 2017-10-25 08:37:01 -07:00
Erwin Coumans
d18bfec1a9 API changes in TensorFlow Agents
See 164f620326 (diff-82bda908f176861c20aadc1d017c2527)
2017-10-20 20:32:49 -07:00
Erwin Coumans
91d164d886 remove obsolete CartPoleBulletEnv 2017-10-09 09:44:54 -07:00
Erwin Coumans
0948ce5984 import missing functools 2017-09-28 10:42:02 -07:00
Erwin Coumans
345836d670 revert to original agents train/visualize scripts, but using pybullet envs in configs.py (agents lacks a convenient way to extend environments) 2017-09-28 10:19:41 -07:00
yunfeibai
85be3b43dd Merge remote-tracking branch 'upstream/master' 2017-09-27 15:20:11 -07:00
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
Erwin Coumans
4dca5b3ef5 fix typos in agents config 2017-09-27 12:17:59 -07:00
Erwin Coumans
a716752915 add __init__.py file in agents folder 2017-09-27 10:30:05 -07:00
Erwin Coumans
5082d6af15 bump up pybullet version, instruction to visualize agents ppo:
python -m pybullet_envs.agents.visualize_ppo -config=pybullet_pendulum --logdir=pendulum/20170927T101514-pybullet_pendulum/ --outdir=vid

tensorboard --logdir=20170927T101514-pybullet_pendulum --port=2222
2017-09-27 10:26:45 -07:00
Erwin Coumans
e4a3b3fe38 add TensorFlow Agents PPO training script for various pybullet environments:
example:

python -m pybullet_envs.agents.train_ppo --config=pybullet_pendulum --logdir=pendulum
2017-09-27 10:20:38 -07:00
Erwin Coumans
c37919604f add minitaur environment randomizer, enable it by default
this improves PPO training ( more stable)
2017-09-27 09:07:21 -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
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
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
ff0cd65346 fix __init__.py, add stadium without collision for testing 2017-09-05 21:47:35 -07:00
Erwin Coumans
6d0e2cd527 update pybullet docs, add getList to pybullet_envs 2017-08-31 09:59:40 -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
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
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
Benelot
68106d66dd Split locomotion environments. 2017-08-16 08:08:24 +02: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
Benelot
4771bae9fa Merge branch 'master' into bullet-gym 2017-08-10 22:50:12 +02: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
a136098120 add a few more discrete actions to cartpole_bullet.py so it trains faster + add option to train without rendering, enjoy with rendering. 2017-06-22 16:49:14 -07:00
Erwin Coumans
9213f944f1 add kukaCamGymEnv.py with camera observations (preliminary)
show camera position in example browser
disable per-vertex and per-fragment profile timings
2017-06-21 09:33:46 -07:00
Erwin Coumans
71170d6384 reduce stack usage (cause some crashes in low-stack tests)
fix crashing bug in changeVisualShape
add differential gear version of racecar (only 2 back wheels are powered)
2017-06-20 20:22:14 -07:00
Erwin Coumans
40cb8006ee fix gym/envs/bullet/cartpole_bullet.py (velocity hyperparameter still needs to be tuned)
add enjoy_pybullet_cartpole.py
2017-06-16 17:06:11 -07:00
erwincoumans
c903bd8a49 tune kuka grasp gym env (make it a bit too easy) 2017-06-15 11:18:08 -07:00
erwincoumans
a547c8f3fc hook up kuka grasping to OpenAI dqn 2017-06-14 23:42:14 -07:00
erwincoumans
d2888f0884 add nicer meshes to kuka_with_gripper.sdf and add kuka_with_gripper2.sdf that can rotate without messing up IK
fix tray/tray_textured4.obj and tray/tray.urdf
fix kuka_with_cube.py
allow both IK /end-effector control and joint-space control in kuka environment, use 1./240. sec. step and 150 solver iter
bump up pybullet to 1.1.7
2017-06-14 19:34:33 -07:00
erwincoumans
cc34ebab25 add humanoid and kuka gym environments (experimental) 2017-06-14 00:54:41 -07:00
Erwin Coumans
a0ded43a69 use cnn_to_mlp to allow training of racecar using (extremely simplified) ZED camera pixel data using OpenAI baselines.
add a red sphere to make training a bit easier for now.
2017-06-13 18:33:32 -07:00
Erwin Coumans
ee8fd56c5e prepare to train racecar using ZED camera pixels (CNN+DQN) 2017-06-13 16:04:50 -07:00
Erwin Coumans
c84416d932 add debug view for getCameraImage (RGB, depth, segmentation mask) 2017-06-13 10:53:24 -07:00
erwincoumans
1752aa55ca train_pybullet_racecar.py works, self-driving car drives towards the ball using OpenAI baselines DQN :-)
See https://www.youtube.com/watch?v=DZ5Px-ocelw for video and how-to-install.
2017-06-10 18:46:36 -07:00
Erwin Coumans
b361722500 Implement train_pybullet_racecar.py and enjoy_pybullet_racecar.py using OpenAI baselines DQN for the RacecarGymEnv. 2017-06-09 19:26:07 -07:00
Erwin Coumans
0aeb4d5058 add RacecarGymEnv as a gym experimentation environment 2017-06-08 19:45:48 -07:00
Jie Tan
1d0db4ec2e update to the latest agent and environment. 2017-05-24 11:20:42 -07:00
Jie Tan
18fd1a003f remove redundant and potentially confusing data 2017-05-23 16:34:13 -07:00
Jie Tan
671c4bf10e add back sonnet dependency. If sonnet is not installed, fall back to simpleAgent that does not need sonnet. 2017-05-22 20:57:18 -07:00
Jie Tan
8a6a46d180 remove sonnet dependency 2017-05-18 16:12:38 -07:00
Jie Tan
bf5915f44b add a simple DDPG agent and a policy 2017-04-28 15:24:53 -07:00
Jie Tan
948b2b00fe added a policy trained by DDPG 2017-04-28 14:34:03 -07:00
Jie Tan
8c27a62e04 remove the stub calls from rllab 2017-03-10 13:41:05 -08:00
Jie Tan
37a809f5d1 added the learning algorithm from RL-lab 2017-03-10 12:29:47 -08:00
Jie Tan
923fbe8588 add gym examples 2017-03-10 11:22:38 -08:00