robocasa/robocasa

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

ロボカサ – 大規模ロボットシミュレーションベンチマーク

これは何か

ロボカサ(現在は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キッチン)、公開リーダーボード、最先端アルゴリズムの参照実装。
データ駆動型アセット作成 キュレーションされたオブジェクトとAI生成オブジェクト(Objaverse経由)へのアクセスで、新規アイテムへの一般化をテスト。
シミュレーション研究 フォトリアリスティックレンダリング(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)を引用してください。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト