robosuite
raw JSON → 1.5.2 verified Mon Apr 27 auth: no python
robosuite is a modular simulation framework and benchmark for robot learning powered by MuJoCo physics. Version 1.5.2 (released 2025) adds diverse robot embodiments including humanoids, composite controllers, and photorealistic rendering. The API has undergone major breaking changes at v1.4 (new MuJoCo bindings) and v1.5 (controller restructuring).
pip install robosuite Common errors
error ModuleNotFoundError: No module named 'mujoco' ↓
cause Missing new MuJoCo bindings (v1.4+ requirement).
fix
pip install mujoco
error AttributeError: module 'robosuite' has no attribute 'make' ↓
cause Trying to import `make` directly instead of using `robosuite.make()`.
fix
import robosuite as suite; env = suite.make(...)
Warnings
breaking v1.4 switched from old mujoco-py bindings to DeepMind's mujoco (pip install mujoco). Old environments are incompatible without migration. ↓
fix Reinstall with `pip install robosuite` which now depends on `mujoco>=2.3.0`. Remove any old mujoco-py installation.
breaking v1.5 changed controller configuration. `load_controller_config` moved to `robosuite.controllers`. `OSC_POSE` replaces old OSC controller. ↓
fix Use `from robosuite.controllers import load_controller_config` and specify `default_controller='OSC_POSE'`.
gotcha `env.reset()` returns only observations (no info dict) in most environments. Many users expect a tuple `(obs, info)`. ↓
fix Check documentation: `obs = env.reset()`. Info is only available in some wrappers.
gotcha Rendering requires `has_renderer=True` and a `viewer` installation. On headless systems use `has_offscreen_renderer=True` with `render_camera`. ↓
fix Set `has_renderer=False, has_offscreen_renderer=True` and collect images via `obs['agentview_image']`.
Imports
- make wrong
from robosuite import makecorrectimport robosuite as suite; env = suite.make('Lift', ...) - load_controller_config wrong
from robosuite.utils import load_controller_configcorrectfrom robosuite.controllers import load_controller_config - GymWrapper wrong
from robosuite.wrappers.gym_wrapper import GymWrappercorrectfrom robosuite.wrappers import GymWrapper
Quickstart
import robosuite as suite
from robosuite.controllers import load_controller_config
config = load_controller_config(default_controller='OSC_POSE')
env = suite.make(
'Lift',
robots='Panda',
controller_configs=config,
has_renderer=False,
has_offscreen_renderer=False,
use_camera_obs=False,
)
env.reset()
for i in range(10):
action = env.action_space.sample()
obs, reward, done, info = env.step(action)
if done:
break
env.close()