I'm trying to use PyBullet for reinforcement learning and can't get started with a simple example. The code below fails with the following error:
Traceback (most recent call last):
File "test.py", line 10, in <module>
observation, reward, done, info = env.step(action)
File "/home/john/anaconda3/lib/python3.6/site-packages/gym/wrappers/time_limit.py", line 15, in step
observation, reward, done, info = self.env.step(action)
File "/home/john/anaconda3/lib/python3.6/site-packages/pybullet_envs/gym_pendulum_envs.py", line 31, in step
self.robot.apply_action(a)
File "/home/john/anaconda3/lib/python3.6/site-packages/pybullet_envs/robot_pendula.py", line 25, in apply_action
self.slider.set_motor_torque(100 * float(np.clip(a[0], -1, +1)))
File "/home/john/anaconda3/lib/python3.6/site-packages/pybullet_envs/robot_bases.py", line 381, in set_motor_torque
self.set_torque(torque)
File "/home/john/anaconda3/lib/python3.6/site-packages/pybullet_envs/robot_bases.py", line 387, in set_torque
force=torque)#, positionGain=0.1, velocityGain=0.1)
pybullet.error: Not connected to physics server.
Code: Select all
import gym
import pybullet, pybullet_envs
env = gym.make('InvertedPendulumBulletEnv-v0')
observation = env.reset()
for _ in range(1000):
env.render()
action = env.action_space.sample()
observation, reward, done, info = env.step(action)
if done:
observation = env.reset()
env.close()