This is a fork of RoboCasa that allows environments to be rendered in Drake.
To run:
python -m robocasa.demos.demo_kitchen_scenes
# edit teleop_spot.py to have the most recent xml file generated
python3 teleop_spot.py
This is the official codebase of RoboCasa, a large-scale simulation framework for training generally capable robots to perform everyday tasks. This guide contains information about installation and setup. Please refer to the following resources for additional information:
[Home page] [Documentation] [Paper]
- [10/31/2024] v0.2: using RoboSuite
v1.5
as the backend, with improved support for custom robot composition, composite controllers, more teleoperation devices, photo-realistic rendering.
RoboCasa works across all major computing platforms. The easiest way to set up is through the Anaconda package management system. Follow the instructions below to install:
-
Set up conda environment:
conda create -c conda-forge -n robocasa python=3.10
-
Activate conda environment:
conda activate robocasa
-
Clone and setup robosuite dependency (important: use the master branch!):
git clone https://github.com/ARISE-Initiative/robosuite cd robosuite pip install -e .
-
Clone and setup this repo:
cd .. git clone https://github.com/robocasa/robocasa cd robocasa pip install -e . pip install pre-commit; pre-commit install # Optional: set up code formatter. (optional: if running into issues with numba/numpy, run: conda install -c numba numba=0.56.4 -y)
-
Install the package and download assets:
python robocasa/scripts/download_kitchen_assets.py # Caution: Assets to be downloaded are around 5GB. python robocasa/scripts/setup_macros.py # Set up system variables.
(Mac users: for these scripts, prepend the "python" command with "mj": mjpython ...
)
Explore kitchen layouts (G-shaped, U-shaped, etc) and kitchen styles (mediterranean, industrial, etc):
python -m robocasa.demos.demo_kitchen_scenes
Select a task and play back a sample demonstration for the selected task:
python -m robocasa.demos.demo_tasks
View and interact with both human-designed and AI-generated objects:
python -m robocasa.demos.demo_objects
Note: by default this demo shows objaverse objects. To view AI-generated objects, add the flag --obj_types aigen
.
Control the robot directly, either through a keyboard controller or spacemouse. This script renders the robot semi-translucent in order to minimize occlusions and enable better visibility.
python -m robocasa.demos.demo_teleop
Note: If using spacemouse: you may need to modify the product ID to your appropriate model, setting SPACEMOUSE_PRODUCT_ID
in robocasa/macros_private.py
.
Please refer to the documentation page for information about tasks and assets, downloading datasets, policy learning, API docs, and more.
@inproceedings{robocasa2024,
title={RoboCasa: Large-Scale Simulation of Everyday Tasks for Generalist Robots},
author={Soroush Nasiriany and Abhiram Maddukuri and Lance Zhang and Adeet Parikh and Aaron Lo and Abhishek Joshi and Ajay Mandlekar and Yuke Zhu},
booktitle={Robotics: Science and Systems},
year={2024}
}