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)
This commit is contained in:
erwincoumans
2018-01-15 12:48:32 -08:00
parent 9ffb05eb3b
commit 851ca5bfb3
22 changed files with 2173 additions and 102 deletions

View File

@@ -6,15 +6,23 @@ os.sys.path.insert(0,parentdir)
import pybullet_envs
import gym
import argparse
import pybullet as p
def test(args):
count = 0
env = gym.make(args.env)
env.env.configure(args)
if (args.render):
print("args.render=",args.render)
if (args.render==1):
env.render(mode="human")
env.reset()
if (args.resetbenchmark):
while (1):
env.reset()
print("p.getNumBodies()=",p.getNumBodies())
print("count=",count)
count+=1
print("action space:")
sample = env.action_space.sample()
action = sample*0.0
@@ -39,8 +47,9 @@ def main():
parser.add_argument('--seed', help='RNG seed', type=int, default=0)
parser.add_argument('--render', help='OpenGL Visualizer', type=int, default=0)
parser.add_argument('--rgb',help='rgb_array gym rendering',type=int, default=0)
parser.add_argument('--resetbenchmark',help='Repeat reset to show reset performance',type=int, default=0)
parser.add_argument('--steps', help='Number of steps', type=int, default=1)
parser.add_argument('--bla',help='bla',type=int, default=42)
args = parser.parse_args()
test(args)