Implementation:Haosulab ManiSkill RoboCasaKitchen
| Knowledge Sources | |
|---|---|
| Domains | Robotics, Simulation, Mobile_Manipulation |
| Last Updated | 2026-02-15 08:00 GMT |
Overview
Concrete implementation of the RoboCasa kitchen environment in ManiSkill, providing realistic kitchen scenes for mobile manipulation.
Description
The RoboCasaKitchenEnv initializes a full kitchen environment using the RoboCasa scene builder. It supports placing a Fetch robot (or no robot) in a realistic kitchen scene with various fixtures, objects, and layout configurations.
Registered as RoboCasaKitchen-v1 with max_episode_steps=100 and asset_download_ids=["RoboCasa"]. Supported robots are fetch and none. The reward mode is "none" only, as this is primarily a scene environment for exploration and custom task development.
The environment supports configurable kitchen layouts through scene_builder_cls, placement samplers for kitchen objects, and various scene registrations from the RoboCasa dataset. It provides methods for sampling and placing kitchen objects within the scene.
Usage
Use this environment as a base for developing kitchen manipulation tasks with realistic scenes. It is particularly useful for sim-to-real transfer research and for building custom kitchen-based tasks.
Code Reference
Source Location
Signature
@register_env(
"RoboCasaKitchen-v1", max_episode_steps=100, asset_download_ids=["RoboCasa"]
)
class RoboCasaKitchenEnv(BaseEnv):
SUPPORTED_ROBOTS = ["fetch", "none"]
SUPPORTED_REWARD_MODES = ["none"]
Import
import gymnasium as gym
import mani_skill.envs
env = gym.make("RoboCasaKitchen-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 Fetch robot (if used) |
Outputs
| Name | Type | Description |
|---|---|---|
| obs | dict/array | Observation based on obs_mode |
| reward | float | Always 0 (reward mode "none" only) |
| terminated | bool | Whether episode ended |
| truncated | bool | Whether episode hit max steps (100) |
| info | dict | Environment information |
Usage Examples
Basic Usage
import gymnasium as gym
import mani_skill.envs
env = gym.make("RoboCasaKitchen-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()