isaac-sim-remote について
ローカルのコードエディターTCPサーバー経由で、起動中のIsaac Simを操作するスキルです。シミュレーションシーンを反復開発する開発者やエージェント向けに、アプリを再起動せずステージやプリムなどを操作できます。
主な機能
- 01ローカルTCP経由のIsaac Sim制御
- 02ステージとプリムの操作
- 03シミュレーションとカメラの制御
- 04スクリーンショット、動画、ログ取得
- 05dry-run対応のコマンド実行
活用シーン
- 01起動中のステージの確認・編集
- 02反復作業中のプリム調整
- 03スクリーンショットやビューポート動画の取得
- 04アプリの状態とコンソールログの確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ isaac-sim/ isaacsim --skill isaac-sim-remoteインストール後、Claude Code で/isaac-sim-remoteを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/api-reference.mdpitfalls.mdworkflows.mdscripts/app_screenshot.pycamera_control.pycapture_annotator.pyconsole_log.pyexecute_command.pyhealth_check.pyisaacsim_send.pyopen_stage.pyprim_properties.pyprim_transform.pyselect_prim.pyset_asset_root.pyshutdown_app.pysimulation_control.pystage_info.pyverify_asset.pyviewport_screenshot.pyviewport_video.py詳細
Isaac Sim リモート
目的
すでに起動している Isaac Sim をコードエディターの TCP ソケット経由で操作し、アプリを再起動せずに、エージェントがステージ、プリム、物理演算、スクリーンショットを反復して扱えるようにします。
セキュリティ
このスキルはローカル開発者向けの制御プレーンであり、リモート実行サービスではありません。
- バインド先:クライアントのデフォルトは
127.0.0.1:8226です。このポートをホスト外に公開しないでください。 - 信頼境界:このマシンで Isaac Sim を起動した OS ユーザーと同等です。
- 設計(意図的):
isaacsim_send.pyは Python ソースをローカルのコードエディターサーバーに送信します。execute_command.pyは識別子を確認して監査ログに記録した後、omni.kit.commands.get_commands()にすでに存在する任意の名前をディスパッチします。許可リストを設けると、Kit のライブな反復作業が妨げられるため、レジストリー全体へのディスパッチは脆弱性ではなく、製品の仕様として扱ってください。 - 緩和策:デフォルトではループバックのみを使用します。
--dry-runはペイロードを送信せずに表示します。CLI の--arg値にはast.literal_evalを使用し、リテラルのみを許可します。
前提条件
- ビルド済みの Isaac Sim(
$ISAAC_SIM_DIRまたは_build/linux-x86_64/release)。 - 最新のドライバーを搭載した NVIDIA GPU(
nvidia-smi)。 isaac-sim-orchestratorのシェル環境変数の要件:$ISAAC_SIM_DIR、$ISAAC_LAB_DIR、$WORKSPACE_DIR。
制限事項
- Python コードエディターサーバーを有効にして Isaac Sim を起動する必要があります。
- リモートスクリプトで任意のリポジトリモジュールをインポートするには、パスを追加する必要があります。
トラブルシューティング
| エラー/症状 | 原因 | 解決策 |
|---|---|---|
| 8226 で接続が拒否される | Python サーバーが無効 | コードエディターサーバーを有効にして Isaac Sim を起動する |
リモートセルで NameError が発生する | モジュールが sys.path にない | ヘルパーをインライン化するか、インポート前にリポジトリのパスを追加する |
| ステージの状態が古い | 以前のリモート編集 | 再現手順を実行する前にプリムをリセットするか、ステージを開き直す |
関連項目:debug-with-local-kit(動作がソースからビルドした Kit に依存する場合)、profile-isaac-sim(実行中のプロセスに Tracy を接続する場合)、isaac-sim-validator(レンダリング出力の最終 QA ゲート)。
上流の isaac-sim-ui(メニュー/ウィジェットの OmniUIQuery 自動化)と isaac-sim-recording(カーソル追跡、チュートリアル動画のキャプチャ)はインポートされません。ここにあるインラインの UI パターン(OmniUIQuery による Play ボタンのクリック、アプリ全体とビューポートのスクリーンショット)で一般的なケースに対応できます。
scripts/ 内のすべてのヘルパーは、scripts/isaacsim_send.py 経由で呼び出します。スキル実行ヘルパーを利用できるエージェントランタイムからは、たとえば run_script("scripts/app_screenshot.py", args=["--help"]) を呼び出します。ビルド済みツリーからは、_build/*/release 内の ./python.sh(Linux)または python.bat(Windows)を使ってファイルを実行します。コマンドの手順は references/workflows.md にあります。
利用可能なスクリプト
| スクリプト | 目的 | 引数 |
|---|---|---|
scripts/app_screenshot.py | アプリのスクリーンショット | スクリプトの --help を参照 |
scripts/camera_control.py | カメラ操作 | スクリプトの --help を参照 |
scripts/capture_annotator.py | アノテーターのキャプチャ | スクリプトの --help を参照 |
scripts/console_log.py | コンソールログ | スクリプトの --help を参照 |
scripts/execute_command.py | 登録済みの omni.kit.commands エントリーをディスパッチ(ループバックの信頼境界。セキュリティを参照) | スクリプトの --help を参照 |
scripts/health_check.py | ヘルスチェック | スクリプトの --help を参照 |
scripts/isaacsim_send.py | localhost の python_server IPC クライアント(--dry-run に対応) | argparse 経由の CLI フラグ(スクリプトの --help を参照) |
scripts/open_stage.py | ステージを開く | スクリプトの --help を参照 |
scripts/prim_properties.py | プリムのプロパティ | スクリプトの --help を参照 |
scripts/prim_transform.py | プリムの変換 | スクリプトの --help を参照 |
scripts/select_prim.py | プリムを選択 | スクリプトの --help を参照 |
scripts/set_asset_root.py | アセットルートを設定 | スクリプトの --help を参照 |
scripts/simulation_control.py | シミュレーション操作 | スクリプトの --help を参照 |
scripts/stage_info.py | ステージ情報 | スクリプトの --help を参照 |
scripts/verify_asset.py | アセットを検証 | スクリプトの --help を参照 |
scripts/viewport_screenshot.py | ビューポートのスクリーンショット | スクリプトの --help を参照 |
scripts/viewport_video.py | ビューポートの動画 | スクリプトの --help を参照 |
Isaac Sim の起動
cd _build/linux-x86_64/release
bash isaac-sim.sh --no-window --no-ros-env \
--enable isaacsim.code_editor.python_server
app ready が表示されるまで待ちます。TCP サーバーは 127.0.0.1:8226 です。--enable isaacsim.code_editor.python_server を使用してください(carb の /enabled=true ではありません)。起動方法の全パターン、およびヘルスチェック/アセット/送信/スクリーンショット/制御のワークフローについては、references/workflows.md を参照してください。注意点については、references/pitfalls.md を参照してください。API については、references/api-reference.md を参照してください。
重要な注意事項
- ヘッドレスモードでの照明:照明がないと画像は黒くなります。強度を 1000~5000 に設定した
DomeLightを必ず追加してください。 - レンダラーのウォームアップ:新しいステージの作成後、レンダリングの前に
await app_utils.update_app_async(steps=120)を呼び出してください。 - 接続エラー:Isaac Sim に
app readyが表示されていること、また python_server が--enableで有効になっていることを確認してください。 - サーバーのハング:クラッシュしたサンプルによってサーバーが応答しなくなることがあります。Isaac Sim を再起動してください。
health_check.pyを使用して確認してください。 - アセットが見つからない場合:
set_asset_root.pyを使用して S3 フォールバックを設定してください。