From da5ac61baa4a08c49bf39f0a41f9bc984aa6e5f8 Mon Sep 17 00:00:00 2001 From: Erwin Coumans Date: Sat, 29 Feb 2020 22:02:01 -0800 Subject: [PATCH] use PyBullet's own visualizer for enjoy script, + add a time.sleep since it is way too fast (1000FPS for cart pole) --- .../gym/pybullet_envs/stable_baselines/enjoy.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/examples/pybullet/gym/pybullet_envs/stable_baselines/enjoy.py b/examples/pybullet/gym/pybullet_envs/stable_baselines/enjoy.py index d887c41d3..3b8aa4098 100644 --- a/examples/pybullet/gym/pybullet_envs/stable_baselines/enjoy.py +++ b/examples/pybullet/gym/pybullet_envs/stable_baselines/enjoy.py @@ -6,7 +6,7 @@ # MIT License import argparse import multiprocessing - +import time import gym import numpy as np import pybullet_envs @@ -35,11 +35,7 @@ if __name__ == '__main__': # Use SubprocVecEnv for rendering if not args.no_render: - # Note: fork is not thread-safe but usually is faster - fork_available = 'fork' in multiprocessing.get_all_start_methods() - start_method = 'fork' if fork_available else 'spawn' - env = SubprocVecEnv([lambda: env], start_method=start_method) - + env.render(mode='human') algo = { 'sac': SAC, @@ -67,6 +63,8 @@ if __name__ == '__main__': episode_length += 1 if not args.no_render: env.render(mode='human') + dt = 1./240. + time.sleep(dt) episode_rewards.append(episode_reward) episode_lengths.append(episode_length) print("Episode {} reward={}, length={}".format(len(episode_rewards), episode_reward, episode_length))