mcpField
P
physicalai-runtime-adding-a-robot-integration

physicalai-runtime-adding-a-robot-integration

github.com/openvinotoolkit開発4083 回インストール今日更新
リポジトリ

physicalai-runtime-adding-a-robot-integration について

physicalai-runtimeにロボット連携を追加するための開発スキルです。Robotプロトコル、接続ライフサイクル、観測とアクション、テスト、検証の手順を示します。

主な機能

  1. 01構造的なRobotプロトコル
  2. 02接続ライフサイクルの指針
  3. 03観測とアクションの要件
  4. 04ハードウェアのモックテスト
  5. 05検証とセキュリティの確認

活用シーン

  1. 01新しいロボットへの対応追加
  2. 02接続と切断の動作確認
  3. 03ハードウェアなしで連携をテスト

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/openvinotoolkit/physicalai --skill physicalai-runtime-adding-a-robot-integration

インストール後、Claude Code で/physicalai-runtime-adding-a-robot-integrationを入力して読み込まれたか確認します。

同梱ファイルreferences/robot-protocol.md

詳細

ロボット連携の追加

ロボットは、src/physicalai/robot/interface.py の構造的な Robot プロトコルを満たす必要があります。基底クラスの継承は不要です。参考例:src/physicalai/robot/so101/、src/physicalai/robot/trossen/(WidowX)。接続ヘルパー:src/physicalai/robot/connect.py。検証:src/physicalai/robot/verify.py。

ワークフロー

  1. references/robot-protocol.md と既存の連携(シリアルサーボには SO-101、アームには WidowX)を読みます。
    • 完了条件:必須メソッドとオブザベーションの形式が列挙されていること。
  2. 接続のライフサイクルを実装します:べき等な connect()、disconnect()、is_connected()。
  3. オブザベーション:joint_positions、timestamp(time.monotonic())、任意の sensor_data/images を公開する型を返します。推論で位置情報以外も必要な場合は、state プロパティを実装します。
  4. アクション:学習データの規約に合った形状の action を受け取る send_action(action, *, goal_time=...) を実装します。joint_names を使って関節の順序を説明します。
  5. pyproject.toml に任意の追加項目(physicalai[so101]、physicalai[trossen])を追加し、ベンダー SDK を遅延インポートします。
  6. ユーザー向けの場合は、公開クラスを physicalai.robot からエクスポートします。
  7. モックハードウェアを使ったテストを tests/unit/robot/ に追加します。
    • 完了条件:uv run pytest tests/unit/robot -k <name> が成功すること。
  8. 検証 CLI/ドキュメント — ロボットが自動チェックに対応している場合は、verify.py のパターンを組み込みます。

必須チェック

  • 実行時に isinstance(robot, Robot) が成立すること(@runtime_checkable プロトコル)。
  • 未接続時にアクションを送信しないこと。
  • 関節数と joint_names が、接続/切断を通じて一定であること。
  • セキュリティ:ユーザー指定のポート/パス文字列を検証し、サニタイズされていないデバイスパスでシェルを呼び出さないこと。

参考資料

  • references/robot-protocol.md
  • docs/explanation/robots.md

コメント