You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit e5889c0
Browse filesBrowse the repository at this point in the historyBrowse files
feat(sim): airstack up --scene <shortname> — simulator-agnostic scene selection
One flag maps a scene shortname to whatever the active simulator understands,
from a new catalog (simulation/scenes.yaml, resolved host-side by
simulation/resolve_scene.py). Unknown or wrong-simulator scenes error with a
per-simulator availability table; without --scene the effective launch config
is byte-identical to before.
- Isaac: exports ISAAC_SIM_SCENE (+ ISAAC_SIM_STAGE_SCALE) — a Pegasus
SIMULATION_ENVIRONMENTS key or a Nucleus/HTTP USD URL. The example launch
scripts and fleet_spawn.py resolve their scene from env
(pegasus_app.resolve_scene_from_env) instead of hardcoding env_url;
--scene overrides a fleet's sim.scene with a logged note. Catalog includes
the 15 Pegasus entries plus 6 guest-readable AirLab stages under
omniverse://airlab-nucleus.andrew.cmu.edu:443/Public/AirStack/Stages/,
each with stage_scale mirroring its layer's metersPerUnit.
- MS AirSim: exports MS_AIRSIM_SCENE (a fetch_scene.sh key); the entrypoint
auto-fetch, previously Blocks-only, fetches any catalog scene, and an
interactive `airstack up` asks before a multi-GB download.
- fetch_scene.sh catalog corrected to the UE4 binaries that actually ship in
the AirSim v1.8.1 release: forest/soccerfield/building99 removed (never
published or 0-byte), airsimnh fixed to AirSimNH.zip, africasavannah and
msbuild2018 added; the entrypoint glob-resolves the UE launcher after
extraction.
- Docs: new docs/simulation/scenes.md (catalog, env vars, public-stage URLs,
add-a-scene guide), simulation index + MS AirSim quick start updated,
release-notes entry under 0.20.0.
Validated: resolver contract + CLI dry-run matrix; Isaac headless run loaded
the ConstructionSite stage from Public Nucleus (682 colliders, drone spawned,
PX4 node created); MS AirSim blocks run reached PX4 "Ready for takeoff" with
the bridge publishing /clock; msbuild2018 exercised the full download →
extract → boot pipeline.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
log_error "--scene requires an Isaac or MS AirSim profile (resolved profiles: ${profiles_final:-<none>}); simple-sim has no scene catalog. Use 'airstack up --sim isaac|airsim --scene $AIRSTACK_INTENT_SCENE'."
log_warn "--scene is overridden by MS_AIRSIM_BINARY_PATH=$bin (the explicit binary path wins in the container). Unset MS_AIRSIM_BINARY_PATH to use --scene."
Copy file name to clipboardExpand all lines: docs/simulation/index.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -43,7 +43,7 @@ Simulation components are launched via Docker Compose. Each simulator has its ow
43
43
44
44
-**Launch command:**`airstack up --sim isaac` (or `airstack up isaac-sim` to start only the sim service)
45
45
-**Main process:** The `command:` in docker-compose.yaml starts the simulator
46
-
-**Scene selection (Isaac Sim):** the standalone launch script named by `ISAAC_SIM_SCRIPT_NAME` (in `.env`) defines the scene and drones; with `ISAAC_SIM_USE_STANDALONE=false`, `ISAAC_SIM_GUI` points at a USD file to open instead
46
+
-**Scene selection:**`airstack up --scene <shortname>` picks the environment for whichever simulator is active — see [Simulation Scenes](scenes.md). The standalone launch script named by `ISAAC_SIM_SCRIPT_NAME` (in `.env`) defines the drones and honors the selected scene; with `ISAAC_SIM_USE_STANDALONE=false`, `ISAAC_SIM_GUI` points at a USD file to open instead
47
47
-**Auto-play:** Controlled by `PLAY_SIM_ON_START` (or `airstack up --play`)
0 commit comments