import numpy as np
import robosuite as suite
# create environment instance
env = suite.make(
env_name="Lift", # try with other tasks like "Stack" and "Door"
robots="Panda", # try with other robots like "Sawyer" and "Jaco"
has_renderer=True,
has_offscreen_renderer=False,
use_camera_obs=False,
)
# reset the environment
env.reset()
action = np.random.randn(env.robots[0].dof) # sample random action
obs, reward, done, info = env.step(action)
for i in obs:
print(i)
for i in range(1000):
action = np.random.randn(env.robots[0].dof) # sample random action
obs, reward, done, info = env.step(action) # take action in the environment
env.render() # render on display
env.close()
结果
如果最后没有用env.close()手动关闭环境的话,程序结束后会报错:
Exception ignored in: <function MjRenderContext.__del__ at 0x7ff064d7fa60>
Traceback (most recent call last):
File "/home/jiangyvhang/anaconda3/envs/maniskill2/lib/python3.8/site-packages/robosuite/utils/binding_utils.py", line 199, in __del__
File "/home/jiangyvhang/anaconda3/envs/maniskill2/lib/python3.8/site-packages/robosuite/renderers/context/egl_context.py", line 149, in free
File "/home/jiangyvhang/anaconda3/envs/maniskill2/lib/python3.8/site-packages/OpenGL/error.py", line 230, in glCheckError
OpenGL.raw.EGL._errors.EGLError: <exception str() failed>
Exception ignored in: <function EGLGLContext.__del__ at 0x7ff064d7f8b0>