Skip to content

Add out-of-the-box demos with quadruped locomotion RL demo#51

Draft
myurasov-nv wants to merge 1 commit into
developfrom
my-demos-1
Draft

Add out-of-the-box demos with quadruped locomotion RL demo#51
myurasov-nv wants to merge 1 commit into
developfrom
my-demos-1

Conversation

@myurasov-nv

Copy link
Copy Markdown
Member

Summary

Adds an out-of-the-box demos mechanism to Isaac Automator, plus the first demo: Quadruped Locomotion RL.

  • New --demos deploy option (all clouds): comma-separated demo list, or no (default).
  • Demo registry + dependency auto-enable: selecting a demo automatically enables the apps it depends on (using their default git refs) if they were left off, so a demo deploys with a single flag. Unknown demo names fail fast.
  • New demos Ansible role: installs, per selected demo, an executable launcher under ~/.local/share/isaac-automator-demos/ and a double-click desktop shortcut.
  • quadruped-locomotion demo: launches RSL-RL training of Isaac-Velocity-Flat-Anymal-D-v0 in Isaac Lab, rendered live in the Isaac Sim viewport. Tunable via HEADLESS / NUM_ENVS / MAX_ITERATIONS env vars. Depends on Isaac Sim + Isaac Lab (auto-enabled).

Implementation

  • src/python/config.py - --demos default + demo registry (requires per demo).
  • src/python/deploy_command.py - --demos CLI option.
  • src/python/deployer.py - resolve_demos(): validate names, auto-enable required apps.
  • src/ansible/inventory.template - pass demos to Ansible.
  • src/ansible/roles/demos/ - new role (launcher + desktop shortcut), wired into isaac-workstation.
  • README.md - documents --demos and the Demos section.

Tests

  • src/tests/deployer.test.py - 4 unit tests for the resolver (no-op, unknown-demo exit, auto-enable, explicit-ref preserved).
  • src/tests/e2e/verify.py - new check_demos verifier check.
  • src/tests/e2e/lifecycle.py - --demos passthrough.

Verification

Full source deploy on an AWS A10G workstation (Isaac Sim v6.0.0 + Isaac Lab release/3.0.0-beta2) with --demos quadruped-locomotion:

  • PLAY RECAP: failed=0; demos role installed launcher + shortcut.
  • e2e verifier: 7 passed / 0 failed (incl. Demos install: quadruped-locomotion).
  • Launched the demo end to end: a full 300-iteration RSL-RL training run on the ANYmal-D flat-locomotion task (64 envs), with live reward/metric logging; viewport renders the quadruped grid.

Note: on the pinned release/3.0.0-beta2, ./isaaclab.sh has no train subcommand, so the launcher uses the -p scripts/reinforcement_learning/rsl_rl/train.py form (the deprecation notice it prints refers to a newer Isaac Lab).

@myurasov-nv myurasov-nv marked this pull request as draft June 14, 2026 14:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant