robocurve/inspect-robots

Open source evals for physical AI. Run any LLM/VLA on any arm/humanoid against any real/sim benchmark.

Inspect Robots – Physical AIの評価フレームワーク

概要

  • オープンソースのPythonライブラリで、ロボティクスのベンチマークを一度定義すれば、任意のロボット制御ポリシー(LLM駆動エージェント、視覚言語モデル、スクリプト化されたスクリプトなど)を任意の互換性のある身体(実機のアーム、シミュレートされたロボット、モックワールド)で実行できます。
  • センサーストリーム、ポリシーのトランスクリプト、設定、スコアなど、すべてを記録し、リプレイ可能なログとして保存します。
  • ライブ可視化はRerunビューアを介して提供され、ロボットが動いている間にカメラ画像、関節軌道、スコアをストリーミングできます。

主要な概念

  • タスク – ロボットが何をすべきかの説明(例:「フォークを皿に置く」)。
  • 身体 – アクションを実行するロボットまたはシミュレータ。身体はPythonのエントリーポイントを介して検出されます。プラグイン(例:inspect-robots-yam)をインストールすると、新しいロボットが表示されます。
  • ポリシー – 意思決定コンポーネント。ポリシーは以下のいずれかです:
    • フロンティアLLM(inspect-robots-agent経由)、
    • XPolicyLabが提供するVLA(xpolicylab)、
    • コードとしてのポリシーエージェント(capx)、
    • 単純なスクリプト化されたポリシー、または
    • アクション契約に従う任意のカスタムクライアント。
  • EvalLog – 完全な設定、gitリビジョン、メトリクス、および(オプションで)カメラフレームを含む不変のJSONレコード。
  • Rerun – オプションの可視化で、.rrdファイルを記録し、リモートビューアにストリーミングできます。

典型的なワークフロー

  1. コアとオプションの拡張機能をインストール
    uv venv && uv pip install "inspect-robots[rerun]"
    # またはNumPyのみのコアには`inspect-robots`だけ
    
  2. ロボットプラグインを追加(YAM双腕アームの例)
    uv pip install inspect-robots-yam
    inspect-robots setup   # ウィザードが~/.config/inspect-robots/config.iniを作成
    
  3. 必要なポリシーサーバーを起動(例:molmoact2ポリシー用のMolmoAct2)。
  4. タスクを実行
    inspect-robots "place the fork on the plate"
    
    • このコマンドはRerunビューアを起動し、データをストリーミングし、ログファイルを書き込みます。
  5. 結果を検査
    inspect-robots view logs/          # 静的HTMLインデックス
    inspect-robots inspect LOG.json   # 単一のログを整形出力
    inspect-robots video LOG.json     # 保存されたフレームをMP4にレンダリング
    
  6. 反復 – 組み込みのsummarizeコマンドを使用して、音声フィードバックを追加したり、失敗を要約したり、学習したメモで再試行したりできます。

サポートされているロボットとシミュレータ(ファーストパーティプラグイン経由)

ロボット/ワールド 身体名 パッケージ アクション空間
I2RT YAM双腕アーム yam_arms inspect-robots-yam 14次元関節位置
Franka FR3 / Panda franka inspect-robots-franka 8次元関節位置
AgiBot A2 Ultra a2_arms inspect-robots-agibot-a2 16次元関節位置
Unitree G1 g1_arms inspect-robots-unitree-g1 16次元関節位置
SO-ARMフォロワー so_arm inspect-robots-so101 6次元関節位置
WidowX 250S widowx inspect-robots-widowx 7次元エンドエフェクタ姿勢
ROS互換の任意のアーム ros inspect-robots-ros 設定可能
Isaac Labシミュレーション isaacsim inspect-robots-isaacsim 関節位置
CubePickモックワールド(ハードウェアなし) cubepick 組み込み 2次元デルタ姿勢

拡張性

  • 新しいロボットは、身体エントリーポイントと(オプションで)対応するポリシークライアントを登録するPythonパッケージを公開することで追加されます。
  • 新しいポリシーも同様に追加されます。フレームワークは、モーションが開始される前に互換性(アクション/観測の形状、制御レートなど)を検証します。
  • オプションの拡張機能(rerun、inspect-robots-agent、inspect-robots-capxなど)は個別にインストールされ、コアを軽量(NumPyのみ)に保ちます。

重要性

  • 実世界のロボティクス研究のための単一で再現可能な評価パイプラインを提供し、シミュレーションベンチマークと物理実験のギャップを埋めます。
  • 監査可能性を保証します:すべての実行は自己記述的なログであり、オフラインで再スコアリングできます。
  • 古典的なVLAに加えてフロンティアAIポリシー(LLMエージェント、コードとしてのポリシー)をサポートし、同じハードウェアで新しいモデルを簡単に比較できます。
  • 組み込みの安全ガードレール(エラー分類、アクション境界、人間参加型リセット)により、無人ロボットの暴走を防ぎます。

開始リソース

  • クイックスタートガイド:docs/guide/quickstart.md
  • リグリファレンス(ロボットプラグインの書き方):docs/guide/rig-reference.md
  • 概念の概要:docs/guide/concepts.md
  • 完全なCLIリファレンス:docs/guide/cli.md

Inspect Robotsは現在アルファ版です。APIが変更される可能性があるため、依存する場合はリリース版を固定してください。

関連

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