Showroom Demos

Showroom Demos#

The main core interface extension in Isaac Lab isaaclab provides the main modules for actuators, objects, robots and sensors. We provide a list of demo scripts and tutorials. These showcase how to use the provided interfaces within a code in a minimal way.

A few quick showroom scripts to run and checkout:

Note

The recommended automatic uv commands include --extra isaacsim because the showroom scripts use Isaac Sim and default to its PhysX or Kit-backed runtime. A fresh checkout does not install that optional dependency group unless the command requests it.

  • Spawn different arms and apply random joint position commands:

    Physics: isaacsim_physx, newton_mjwarp

    Visualizer: none, kit, newton, rerun, viser

    uv run --extra isaacsim python scripts/demos/arms.py
    
    ./isaaclab.sh -p scripts/demos/arms.py
    
    isaaclab.bat -p scripts\demos\arms.py
    
    Arms in Isaac Lab
  • Spawn different biped robots:

    Physics: isaacsim_physx, newton_mjwarp

    Visualizer: none, kit, newton, rerun, viser

    uv run --extra isaacsim python scripts/demos/bipeds.py
    
    ./isaaclab.sh -p scripts/demos/bipeds.py
    
    isaaclab.bat -p scripts\demos\bipeds.py
    
    Biped robots in Isaac Lab
  • Spawn a pile of cables that collide and settle on each other:

    Physics: newton_vbd only

    Visualizer: none, kit, newton, rerun, viser

    uv run python scripts/demos/cables.py
    
    ./isaaclab.sh -p scripts/demos/cables.py
    
    isaaclab.bat -p scripts\demos\cables.py
    

    Select the listed options with --physics and --visualizer. Use --num_cables and --num_segments to change the pile size and cable resolution. Cables are a Newton-only asset; see Using Cables.

    Cable pile simulated with the Newton VBD backend in Isaac Lab
  • Spawn different deformable objects and let them fall from a height:

    Physics: isaacsim_physx, newton_vbd, ovphysx

    Visualizer: none for every physics backend; kit with Isaac Sim PhysX and Newton VBD; newton, rerun, and viser with Newton VBD only

    uv run --extra isaacsim --extra tetrahedralization python scripts/demos/deformables.py
    
    ./isaaclab.sh -i tetrahedralization
    
    ./isaaclab.sh -p scripts/demos/deformables.py
    
    isaaclab.bat -i tetrahedralization
    
    isaaclab.bat -p scripts\demos\deformables.py
    
    Deformable primitive-shaped objects in Isaac Lab
  • Interactive inference of trained H1 rough terrain locomotion policy:

    Physics: isaacsim_physx only

    Visualizer: kit only

    This demo downloads a policy and requires interactive input.

    uv run --extra isaacsim python scripts/demos/h1_locomotion.py
    
    ./isaaclab.sh -p scripts/demos/h1_locomotion.py
    
    isaaclab.bat -p scripts\demos\h1_locomotion.py
    
    H1 locomotion in Isaac Lab

    This is an interactive demo that can be run using the mouse and keyboard. To enter third-person perspective, click on a humanoid character in the scene. Once entered into third-person view, the humanoid can be controlled by keyboard using:

    • UP: go forward

    • LEFT: turn left

    • RIGHT: turn right

    • DOWN: stop

    • C: switch between third-person and perspective views

    • ESC: exit current third-person view

    If a misclick happens outside of the humanoid bodies when selecting a humanoid, a message is printed to console indicating the error, such as The selected prim was not a H1 robot or Multiple prims are selected. Please only select one!.

  • Spawn different hands and command them to open and close:

    Physics: isaacsim_physx, newton_mjwarp

    Visualizer: none, kit, newton, rerun, viser

    uv run --extra isaacsim python scripts/demos/hands.py
    
    ./isaaclab.sh -p scripts/demos/hands.py
    
    isaaclab.bat -p scripts\demos\hands.py
    
    Dexterous hands in Isaac Lab
  • Define multiple markers that are useful for visualizations:

    Physics: isaacsim_physx only

    Visualizer: none, kit, newton, rerun, viser

    uv run --extra isaacsim python scripts/demos/markers.py
    
    ./isaaclab.sh -p scripts/demos/markers.py
    
    isaaclab.bat -p scripts\demos\markers.py
    
    Markers in Isaac Lab
  • Use the interactive scene and spawn varying assets in individual environments:

    Physics: isaacsim_physx, newton_mjwarp

    Visualizer: none, kit, newton, rerun, viser

    uv run --extra isaacsim python scripts/demos/multi_asset.py
    
    ./isaaclab.sh -p scripts/demos/multi_asset.py
    
    isaaclab.bat -p scripts\demos\multi_asset.py
    
    Multiple assets managed through the same simulation handles
  • Compose task scenes into one heterogeneous simulation using clone combinations:

    Physics: isaacsim_physx only

    Visualizer: none, kit, newton, rerun, viser

    uv run --extra isaacsim python scripts/demos/heterogeneous_scene.py
    
    ./isaaclab.sh -p scripts/demos/heterogeneous_scene.py
    
    isaaclab.bat -p scripts\demos\heterogeneous_scene.py
    
    Task scenes composed into one heterogeneous cloned simulation

    The demo resolves a curated selection of PhysX task scenes that share a flat floor at height zero, folds them into a single scene with add(), and clones the combined scene so each environment hosts one task’s assets. Use --num_task and --num_envs to run a smaller composition.

  • Use the RigidObjectCollection spawn and view manipulation to demonstrate bin-packing example:

    Physics: isaacsim_physx

    Visualizer: none, kit, newton, rerun, viser

    uv run --extra isaacsim python scripts/demos/bin_packing.py
    
    ./isaaclab.sh -p scripts/demos/bin_packing.py
    
    isaaclab.bat -p scripts\demos\bin_packing.py
    
    Bins holding a different random subset of grocery objects in every environment
  • Use the interactive scene and spawn a simple parallel robot for pick and place:

    Physics: isaacsim_physx only

    Visualizer: kit only

    This demo requires interactive input and uses the CPU-only PhysX surface gripper. Newton physics is not supported.

    uv run --extra isaacsim python scripts/demos/pick_and_place.py
    
    ./isaaclab.sh -p scripts/demos/pick_and_place.py
    
    isaaclab.bat -p scripts\demos\pick_and_place.py
    
    User controlled pick and place with a parallel robot

    This is an interactive demo that can be run using the mouse and keyboard. Your goal is pick up the purple cube and to drop it on the red sphere! Use the following controls to interact with the simulation:

    • Hold the A key to have the gripper track the cube position.

    • Hold the D key to have the gripper track the target position

    • Press the W or S keys to move the gantry UP or DOWN respectively

    • Press Q or E to OPEN or CLOSE the gripper respectively

  • Teleoperate a Franka Panda robot using Haply haptic device with force feedback:

    Physics: isaacsim_physx, newton_mjwarp

    Visualizer: none, kit, newton, rerun, viser

    Haply hardware is required.

    uv run --extra isaacsim python scripts/demos/haply_teleoperation.py --websocket_uri ws://localhost:10001 --pos_sensitivity 1.65
    
    ./isaaclab.sh -p scripts/demos/haply_teleoperation.py --websocket_uri ws://localhost:10001 --pos_sensitivity 1.65
    
    isaaclab.bat -p scripts\demos\haply_teleoperation.py --websocket_uri ws://localhost:10001 --pos_sensitivity 1.65
    
    Haply teleoperation with force feedback

    This demo requires Haply Inverse3 and VerseGrip devices. The goal of this demo is to pick up the cube or touch it with the end-effector. The Haply devices provide:

    • 3 dimensional position tracking for end-effector control

    • Directional force feedback for contact sensing

    • Button inputs for gripper and end-effector rotation control

    See Setting up Haply Teleoperation for detailed setup instructions.

  • Create and spawn procedurally generated terrains with different configurations:

    Physics: isaacsim_physx only

    Visualizer: none, kit, newton, rerun, viser

    uv run --extra isaacsim python scripts/demos/procedural_terrain.py
    
    ./isaaclab.sh -p scripts/demos/procedural_terrain.py
    
    isaaclab.bat -p scripts\demos\procedural_terrain.py
    
    Procedural Terrains in Isaac Lab
  • Spawn a quadcopter in the default environment:

    Physics: isaacsim_physx, newton_mjwarp

    Visualizer: none, kit, newton, rerun, viser

    uv run --extra isaacsim python scripts/demos/quadcopter.py
    
    ./isaaclab.sh -p scripts/demos/quadcopter.py
    
    isaaclab.bat -p scripts\demos\quadcopter.py
    
    Quadcopter in Isaac Lab
  • Spawn different quadrupeds and make robots stand using position commands:

    Physics: isaacsim_physx, newton_mjwarp

    Visualizer: none, kit, newton, rerun, viser

    uv run --extra isaacsim python scripts/demos/quadrupeds.py
    
    ./isaaclab.sh -p scripts/demos/quadrupeds.py
    
    isaaclab.bat -p scripts\demos\quadrupeds.py
    
    Quadrupeds in Isaac Lab
  • Spawn a multi-mesh ray caster that uses Warp kernels for raycasting

    Physics: isaacsim_physx, newton_mjwarp

    Visualizer: none, newton, rerun, viser with either physics backend; kit with PhysX only

    uv run --extra isaacsim python scripts/demos/sensors/multi_mesh_raycaster.py --num_envs 16 --asset_type objects
    
    ./isaaclab.sh -p scripts/demos/sensors/multi_mesh_raycaster.py --num_envs 16 --asset_type objects
    
    isaaclab.bat -p scripts\demos\sensors\multi_mesh_raycaster.py --num_envs 16 --asset_type objects
    
    Multi-mesh raycaster in Isaac Lab