Skip to main content

isaac-sim-remote

Localhost IPC client for a trusted Isaac Sim python_server (127.0.0.1:8226). Use for live stage iteration; intentional full Kit/Python surface on loopback only.

Quellinformationen

Repository
isaac-sim/IsaacSim
Letzte Quellaktivität
18. September 2026 um 16:05
Erkannte Sprache von SKILL.md
Englisch
Sterne
4.169
Forks
560

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
22 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
isaac-sim-remote
description
Localhost IPC client for a trusted Isaac Sim python_server (127.0.0.1:8226). Use for live stage iteration; intentional full Kit/Python surface on loopback only.
license
Apache-2.0
metadata
{"author":"Hammad Mazhar <info@nvidia.com>"}
# Isaac Sim Remote ## Purpose Drive an already-running Isaac Sim over the code-editor TCP socket so agents can iterate on stages, prims, physics, and screenshots without restarting the app. ## Security This skill is a **local developer control plane**, not a remote-execution service. - **Bind**: clients default to `127.0.0.1:8226`. Do not publish that port off-host. - **Trust boundary**: equal to the OS user who launched Isaac Sim on this machine. - **Design (intentional)**: `isaacsim_send.py` delivers Python source to the local code-editor server; `execute_command.py` dispatches any name already present in `omni.kit.commands.get_commands()` after an identifier check and audit log. An allowlist would defeat live Kit iteration — treat registry-wide dispatch as the product, not a hole. - **Mitigations**: loopback-only default; `--dry-run` prints payloads without send; CLI `--arg` values use `ast.literal_eval` (literals only). ## Prerequisites - Built Isaac Sim (`$ISAAC_SIM_DIR` or `_build/linux-x86_64/release`). - NVIDIA GPU with a current driver (`nvidia-smi`). - Shell env contract from `isaac-sim-orchestrator`: `$ISAAC_SIM_DIR`, `$ISAAC_LAB_DIR`, `$WORKSPACE_DIR`. ## Limitations - Requires Isaac Sim launched with the Python code-editor server enabled. - Remote scripts cannot import arbitrary repo modules unless paths are injected. ## Troubleshooting | Error / symptom | Cause | Solution | |---|---|---| | Connection refused on 8226 | Python server disabled | Launch Isaac Sim with code-editor server enabled | | `NameError` in remote cell | Module not on `sys.path` | Inline helpers or inject repo paths before import | | Stale stage state | Prior remote edits | Reset prims or reopen stage before repro steps | Related: `debug-with-local-kit` (when behavior depends on a Kit-from-source build), `profile-isaac-sim` (to attach Tracy to the running process), `isaac-sim-validator` (final QA gate on any rendered output). Upstream `isaac-sim-ui` (menu/widget OmniUIQuery automation) and `isaac-sim-recording` (cursor tracking, tutorial video capture) are not imported. The inline UI patterns here (Play-button click via `OmniUIQuery`, full-app vs viewport screenshots) cover the common cases. Every helper in `scripts/` is invoked through `scripts/isaacsim_send.py`. From agent runtimes that expose skill execution helpers, call e.g. `run_script("scripts/app_screenshot.py", args=["--help"])`; from a built tree run the file with `./python.sh` (Linux) / `python.bat` (Windows) under `_build/*/release`. Command recipes live in [`references/workflows.md`](references/workflows.md). ## Available Scripts | Script | Purpose | Arguments | |---|---|---| | `scripts/app_screenshot.py` | App screenshot | see script --help | | `scripts/camera_control.py` | Camera control | see script --help | | `scripts/capture_annotator.py` | Capture annotator | see script --help | | `scripts/console_log.py` | Console log | see script --help | | `scripts/execute_command.py` | Dispatch a registered `omni.kit.commands` entry (loopback trust; see Security) | see script --help | | `scripts/health_check.py` | Health check | see script --help | | `scripts/isaacsim_send.py` | Localhost python_server IPC client (`--dry-run` supported) | CLI flags via argparse (see script --help) | | `scripts/open_stage.py` | Open stage | see script --help | | `scripts/prim_properties.py` | Prim properties | see script --help | | `scripts/prim_transform.py` | Prim transform | see script --help | | `scripts/select_prim.py` | Select prim | see script --help | | `scripts/set_asset_root.py` | Set asset root | see script --help | | `scripts/simulation_control.py` | Simulation control | see script --help | | `scripts/stage_info.py` | Stage info | see script --help | | `scripts/verify_asset.py` | Verify asset | see script --help | | `scripts/viewport_screenshot.py` | Viewport screenshot | see script --help | | `scripts/viewport_video.py` | Viewport video | see script --help | ## Launching Isaac Sim ```bash cd _build/linux-x86_64/release bash isaac-sim.sh --no-window --no-ros-env \ --enable isaacsim.code_editor.python_server ``` Wait for `app ready`. TCP server: `127.0.0.1:8226`. Use `--enable isaacsim.code_editor.python_server` (not carb `/enabled=true`). Full launch variants and health/asset/send/screenshot/control workflows: [`references/workflows.md`](references/workflows.md). Pitfalls: [`references/pitfalls.md`](references/pitfalls.md). APIs: [`references/api-reference.md`](references/api-reference.md). ## Important Notes - **Lighting in headless mode**: No lights = black image. Always add a `DomeLight` with intensity 1000–5000. - **Renderer warm-up**: After new stage, call `await app_utils.update_app_async(steps=120)` before rendering. - **Connection errors**: Ensure Isaac Sim shows `app ready` and python_server is `--enable`d. - **Server hangs**: Crashed examples can wedge the server. Restart Isaac Sim. Use `health_check.py` to verify. - **Assets not found**: Configure S3 fallback with `set_asset_root.py`.
Auf GitHub ansehen