Implementation:Haosulab ManiSkill EmptyEnv
| Knowledge Sources | |
|---|---|
| Domains | Robotics, Simulation, Testing |
| Last Updated | 2026-02-15 08:00 GMT |
Overview
Concrete implementation of an empty/dummy environment for showcasing robots in ManiSkill.
Description
The EmptyEnv is a minimal environment that places a robot on a ground plane with no objects or tasks. It is intended for testing robot loading, visualization, and basic interaction without any manipulation objectives.
Registered as Empty-v1 with max_episode_steps=200000. The default robot is panda, but any robot can be used. The reward mode is "none" only. The scene contains only a ground plane with collision enabled.
The evaluate method returns an empty dict, and no success/failure conditions exist.
Usage
Use this environment for testing robot configurations, visualizing robot models, debugging controller setups, or as a template for creating new environments.
Code Reference
Source Location
- Repository: Haosulab_ManiSkill
- File: mani_skill/envs/tasks/empty_env.py
Signature
@register_env("Empty-v1", max_episode_steps=200000)
class EmptyEnv(BaseEnv):
SUPPORTED_REWARD_MODES = ["none"]
def __init__(self, *args, robot_uids="panda", **kwargs): ...
Import
import gymnasium as gym
import mani_skill.envs
env = gym.make("Empty-v1")
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| obs_mode | str | No | Observation mode |
| reward_mode | str | No | Reward mode: "none" |
| control_mode | str | No | Control mode for the robot |
| robot_uids | str | No | Robot to load (default: "panda") |
Outputs
| Name | Type | Description |
|---|---|---|
| obs | dict/array | Observation based on obs_mode (minimal) |
| reward | float | Always 0 (no reward) |
| terminated | bool | Always False |
| truncated | bool | Whether episode hit max steps (200000) |
| info | dict | Empty dict |
Usage Examples
Basic Usage
import gymnasium as gym
import mani_skill.envs
env = gym.make("Empty-v1", obs_mode="state", render_mode="rgb_array")
obs, info = env.reset()
for _ in range(100):
action = env.action_space.sample()
obs, reward, terminated, truncated, info = env.step(action)
if terminated or truncated:
obs, info = env.reset()
env.close()