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.

Implementation:ARISE Initiative Robosuite Make

From Leeroopedia

Metadata

Property Value
Sources robosuite
Domains Robotics_Simulation, Software_Architecture
Last Updated 2026-02-15 12:00 GMT

Overview

Concrete factory function for instantiating robosuite simulation environments by name provided by the robosuite environments module.

Description

The robosuite.make() function creates simulation environments by looking up env_name in REGISTERED_ENVS and instantiating the matched class. Supports all MujocoEnv keyword arguments including robot selection, controller configuration, rendering options, and simulation parameters.

Usage

Import and call as the primary way to create any robosuite environment. Accepts environment name plus configuration kwargs.

Code Reference

Property Value
Source robosuite
File robosuite/environments/base.py
Lines L23-42 (re-exported at robosuite/__init__.py)
Import import robosuite then robosuite.make(...) or from robosuite import make

Signature

def make(env_name, *args, **kwargs):
    """
    Instantiates a robosuite environment.

    Args:
        env_name (str): Name of the robosuite environment to initialize
        *args: Additional arguments
        **kwargs: Additional keyword arguments

    Returns:
        MujocoEnv: Desired robosuite environment

    Raises:
        Exception: [Invalid environment name]
    """

I/O Contract

Inputs

Parameter Type Required Description
env_name str Yes Registered environment name (e.g., "Lift", "Stack", "NutAssembly")
robots str or list No Robot name(s) to use (e.g., "Panda", ["Panda", "Sawyer"])
controller_configs dict No Controller configuration from load_composite_controller_config
has_renderer bool No Enable on-screen rendering (default: False)
has_offscreen_renderer bool No Enable off-screen rendering (default: True)
use_camera_obs bool No Include camera images in observations (default: False)
control_freq int No Controller frequency in Hz (default: 20)
horizon int No Maximum episode steps (default: 1000)
hard_reset bool No Full model reload on reset (default: True)
reward_shaping bool No Use dense rewards instead of sparse (default: False)

Outputs

Return Value Type Description
Environment instance MujocoEnv Task-specific subclass instance (e.g., Lift, Stack, NutAssembly)

Usage Examples

Basic Example

Creating a basic Lift environment with a Panda robot:

import robosuite as suite

# Create environment with default settings
env = suite.make(
    env_name="Lift",
    robots="Panda",
    has_renderer=True,
    has_offscreen_renderer=False,
    use_camera_obs=False,
)

# Reset environment
obs = env.reset()

# Execute actions
for i in range(1000):
    action = env.action_spec[0].sample()
    obs, reward, done, info = env.step(action)
    env.render()

    if done:
        obs = env.reset()

env.close()

Advanced Example

Creating an environment with full configuration including custom controller:

import robosuite as suite
from robosuite.controllers import load_composite_controller_config

# Load controller configuration
controller_config = load_composite_controller_config(
    controller="OSC_POSE",
    robot="Panda"
)

# Create environment with advanced settings
env = suite.make(
    env_name="Stack",
    robots=["Panda", "Sawyer"],                    # Multi-robot setup
    controller_configs=controller_config,          # Custom controller
    has_renderer=True,                             # On-screen rendering
    has_offscreen_renderer=True,                   # Off-screen rendering
    use_camera_obs=True,                           # Include camera observations
    camera_names=["agentview", "robot0_eye_in_hand"],
    camera_heights=256,
    camera_widths=256,
    control_freq=20,                               # 20 Hz control
    horizon=1000,                                  # 1000 steps per episode
    reward_shaping=True,                           # Dense rewards
    hard_reset=False,                              # Faster resets
)

# Reset and get observation
obs = env.reset()

# Observation dictionary contains:
# - Robot joint positions and velocities
# - Object positions and orientations
# - Camera images (if use_camera_obs=True)
print("Observation keys:", obs.keys())

# Step through environment
action = env.action_space.sample()
obs, reward, done, info = env.step(action)

env.close()

Querying Available Environments

from robosuite import ALL_ENVIRONMENTS

# List all registered environments
print("Available environments:")
for env_name in ALL_ENVIRONMENTS:
    print(f"  - {env_name}")

# Output:
#   - Lift
#   - Stack
#   - NutAssembly
#   - PickPlace
#   - Door
#   - Wipe
#   - TwoArmLift
#   - ...

Related Pages

Page Connections

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