robocasa/robocasa

RoboCasa: Large-Scale Simulation of Everyday Tasks for Generalist Robots

RoboCasa – 대규모 로봇 시뮬레이션 벤치마크

개요

RoboCasa(현재 RoboCasa365)는 연구자들이 다양한 일상 주방 작업에서 로봇 정책을 훈련하고 평가할 수 있는 오픈소스 시뮬레이션 프레임워크입니다. robosuite 물리 엔진을 기반으로 하며 다음을 제공합니다:

  • 365개의 고유 작업(예: 집어 놓기, 캐비닛 열기)은 대규모 언어 모델의 도움으로 생성되었습니다.
  • 2,500개 이상의 주방 장면과 3,200개 이상의 3D 객체(인간 설계 및 AI 생성 항목 포함).
  • 수백 시간의 데모 데이터 – 인간이 기록한 데모와 로봇 생성 궤적, 현재 프레임별 하위 작업 주석이 추가되었습니다.
  • 벤치마킹 도구: 준비된 Gym 환경, 리더보드, Diffusion Policy, PI, GR00T와 같은 일반적인 정책 훈련 스크립트.

요컨대, 시뮬레이션 내에서 많은 가정용 조작 작업을 처리할 수 있는 범용 로봇 에이전트를 구축하기 위한 연구급 '놀이터'입니다.


시작하기

  1. conda 환경 생성(Python 3.11) 및 robosuite 백엔드를 마스터 브랜치에서 설치합니다.
  2. RoboCasa 클론, 편집 가능 모드로 설치, 선택적으로 pre-commit 포맷터 설정.
  3. 자산 다운로드 – 주방 장면과 객체 모델을 포함하는 약 10GB 페이로드.
  4. 빠른 데모 실행 – 저장소에는 다음 스크립트가 포함되어 있습니다:
    • Gym 환경을 시작하고 무작위 롤아웃 기록,
    • 예제 데모 재생,
    • 주방 장면 또는 객체 라이브러리 탐색,
    • 키보드 또는 SpaceMouse로 로봇 원격 조작.

이 모든 작업은 README에 표시된 대로 몇 개의 Python 명령으로 수행할 수 있습니다.


무엇을 할 수 있나요?

사용 사례 RoboCasa 제공 사항
정책 연구 Gym 호환 환경, 사전 패키지된 작업 정의, 모방 학습 또는 강화 학습을 위한 대규모 라벨링된 데모 데이터셋.
계층적 학습 프레임별 하위 작업 라벨(스킬 이름, 단계, 자연어 지시)로 계층적 또는 스킬 기반 정책 훈련 가능.
벤치마킹 표준화된 평가 분할(pretrain vs target 주방), 공개 리더보드, 최첨단 알고리즘의 참조 구현.
데이터 기반 자산 생성 Objaverse를 통한 큐레이션 및 AI 생성 객체 접근으로 새로운 항목에 대한 일반화 테스트.
시뮬레이션 연구 사진 사실적 렌더링(RoboSuite v1.5) 및 유연한 로봇 구성으로 컨트롤러 설계 연구.

누구에게 유용한가요?

  • 로봇 연구자: 많은 작업과 객체에 걸쳐 일반화되는 조작 정책을 구축하는 사람.
  • 머신러닝 과학자: 대규모 모방 학습, 확산 정책, 계층 RL을 탐구하는 사람.
  • 학생: 시뮬레이터를 처음부터 구축하지 않고 새 알고리즘을 테스트할 준비된 벤치마크를 찾는 사람.
  • 커뮤니티 기여자: 자체 모델을 리더보드에 제출하고 공개 베이스라인과 비교할 수 있는 사람.

제한 사항 및 고려 사항

  • 시뮬레이션 전용: 프레임워크는 RoboSuite 물리 엔진에서 실행됩니다. 실제 로봇으로 정책을 전송하려면 추가 sim-to-real 작업이 필요합니다.
  • 자산 크기: 대부분의 작업에는 전체 데이터셋 다운로드(약 10GB)가 필요하며, 제한된 대역폭이나 저장 공간에서 장벽이 될 수 있습니다.
  • 하드웨어: 사진 사실적 렌더링과 대규모 훈련은 GPU와 적절한 CPU의 이점을 받습니다. 순수 CPU 설정은 느려집니다.
  • 범위: 주방 조작에 초점을 맞추고 있습니다. 다른 도메인(예: 모바일 내비게이션)은 기본적으로 다루지 않습니다.

빠른 코드 스니펫

import gymnasium as gym
import robocasa
from robocasa.utils.env_utils import run_random_rollouts

env = gym.make(
    "robocasa/PickPlaceCounterToCabinet",
    split="pretrain",
    seed=0,
)
run_random_rollouts(env, num_rollouts=2, num_steps=120, video_path="demo.mp4")

이것은 무작위로 선택된 주방 장면에서 집어 놓기 작업을 생성하고 무작위 동작의 짧은 비디오를 기록합니다.


더 알아보기


라이선스 및 인용

  • 코드는 MIT 라이선스 하에 배포됩니다.
  • 자산과 데이터셋은 CC-BY 4.0 하에 있습니다.
  • 프레임워크 또는 데이터를 사용할 때 적절한 논문(RoboCasa365 또는 원본 RoboCasa)을 인용하세요.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트