Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Environment:ARISE Initiative Robomimic Robosuite Simulation Backend

From Leeroopedia
Knowledge Sources
Domains Infrastructure, Robot_Learning, Simulation
Last Updated 2026-02-15 07:30 GMT

Overview

Robosuite v1.2+ simulation environment with MuJoCo physics backend, EGL GPU rendering, and optional MimicGen/RoboCasa environment extensions.

Description

Robosuite is the primary simulation backend for robomimic. It provides standardized robotic manipulation environments built on the MuJoCo physics engine. The robomimic wrapper (`EnvRobosuite`) supports multiple robosuite versions with version-specific code paths: v0.3 (legacy), v1.2-v1.4, and v1.5+ (latest). For offscreen rendering (required for image observations), the `egl_probe` package detects available GPU devices and assigns the correct `render_gpu_device_id`. Optional extensions include MimicGen (procedural task generation), RoboCasa (kitchen environments), and MimicLabs.

Usage

Use this environment for training with robosuite tasks, extracting observations from simulation states, and evaluating trained policies via rollouts. Required whenever the dataset `env_type` is `ROBOSUITE_TYPE`. Not needed for D4RL or Gym-based experiments.

System Requirements

Category Requirement Notes
OS Mac OS X or Linux Linux recommended for GPU rendering
Physics MuJoCo (bundled with robosuite) No separate MuJoCo license needed for v2.0+
Hardware NVIDIA GPU for offscreen rendering EGL rendering requires GPU; CPU rendering available but slow
Disk 5GB+ Robosuite models and assets

Dependencies

System Packages

  • `egl_probe` >= 1.0.1 (GPU device detection for offscreen rendering)

Python Packages

  • `robosuite` >= 1.2 (v1.5.1 recommended for reproducing paper experiments)
  • `egl_probe` >= 1.0.1
  • `numpy` >= 1.13.3

Optional Extensions

  • `mimicgen` — MimicGen task environments
  • `mimicgen_envs` — Deprecated MimicGen package
  • `robocasa` — RoboCasa kitchen environments
  • `mimiclabs` — MimicLabs environments
  • `mujoco_py` — Legacy MuJoCo Python bindings (for robosuite v0.3)

Credentials

No credentials required for the simulation backend.

Quick Install

# Install robosuite from source (recommended)
git clone https://github.com/ARISE-Initiative/robosuite.git
cd robosuite
pip install -r requirements.txt

# For reproducing paper experiments, use v1.5.1
git checkout v1.5.1

# Or install via pip
pip install robosuite

Code Evidence

Version assertion from `robomimic/envs/env_robosuite.py:80-82`:

self._is_v1 = (robosuite.__version__.split(".")[0] == "1")
if self._is_v1:
    assert (int(robosuite.__version__.split(".")[1]) >= 2), "only support robosuite v0.3 and v1.2+"

EGL GPU device selection from `robomimic/envs/env_robosuite.py:99-106`:

if self._is_v1:
    if kwargs["has_offscreen_renderer"]:
        # NOTE: this package should be installed from this link (https://github.com/StanfordVL/egl_probe)
        import egl_probe
        valid_gpu_devices = egl_probe.get_available_devices()
        if len(valid_gpu_devices) > 0:
            kwargs["render_gpu_device_id"] = valid_gpu_devices[0]

Optional extension imports from `robomimic/envs/env_robosuite.py:12-31`:

try:
    import mimicgen
except ImportError:
    pass
try:
    import robocasa
except ImportError:
    pass
try:
    from mimiclabs.mimiclabs.envs import *
except ImportError:
    pass
try:
    import mujoco_py
    MUJOCO_EXCEPTIONS = [mujoco_py.builder.MujocoException]
except ImportError:
    MUJOCO_EXCEPTIONS = []

Version-specific behavior from `robomimic/envs/env_robosuite.py:189-195`:

robosuite_version_id = int(robosuite.__version__.split(".")[1])
if robosuite_version_id <= 3:
    from robosuite.utils.mjcf_utils import postprocess_model_xml
    xml = postprocess_model_xml(state["model"])
else:
    # v1.4 and above use the class-based edit_model_xml function
    xml = self.env.edit_model_xml(state["model"])

Common Errors

Error Message Cause Solution
`AssertionError: only support robosuite v0.3 and v1.2+` Robosuite version between v1.0 and v1.1 Upgrade to robosuite >= 1.2
`ImportError: No module named 'egl_probe'` egl_probe not installed `pip install egl_probe>=1.0.1`
`ImportError: No module named 'robosuite'` Robosuite not installed Install robosuite via pip or from source
Offscreen rendering produces black images EGL device not detected Ensure NVIDIA drivers installed and `egl_probe.get_available_devices()` returns devices

Compatibility Notes

  • Robosuite v0.3: Legacy support. Uses `postprocess_model_xml` for XML handling. Single camera only. Uses `mujoco_py` backend.
  • Robosuite v1.2-v1.4: Supported. Multi-camera support. Uses `edit_model_xml` class method. Observable-based API.
  • Robosuite v1.5+: Full support with `ep_meta` (episode metadata), `set_ep_meta`/`unset_ep_meta` features for RoboCasa-style environments.
  • Multiprocessing: The `dataset_states_to_obs_mp.py` script distributes GPU IDs across processes via `CUDA_VISIBLE_DEVICES` and `MUJOCO_EGL_DEVICE_ID` environment variables.

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment