def step_bullet_kuka_env(n_steps=1000): """Load, step, and visualize a Bullet Kuka environment. Args: n_steps (int): number of steps to run. """ # Construct the environment env = BulletEnv( gym.make('KukaBulletEnv-v0', renders=True, isDiscrete=True, maxSteps=10000000)) # Reset the environment and launch the viewer env.reset() env.render() # Step randomly until interrupted steps = 0 while steps < n_steps: _, _, done, _ = env.step(env.action_space.sample()) if done: break steps += 1
def test_time_limit_env(): """Test BulletEnv emits done signal when time limit expiration occurs. After setting max_episode_steps=50, info['BulletEnv.TimeLimitTerminated'] is expected to be True after 50 steps. """ env = BulletEnv(gym.make('MinitaurBulletEnv-v0')) env.env._max_episode_steps = 50 env.reset() for _ in range(50): _, _, done, info = env.step(env.spec.action_space.sample()) assert not done and info['TimeLimit.truncated'] assert info['BulletEnv.TimeLimitTerminated']