PAICourse

Physical AI · robotics, world models & VLA

Lessons8modules
Total83mfull study
Quick7mtrailer
Projects8docker labs

physai-stack-tour · the 5-service Physical AI mental map

Isaac Lab + LeRobot + Pi0.5 + ROS2 Jazzy + Foxglove in one compose. Onboarding doc as a runnable artifact.

snap/physical-ai:stack-tourRepo · physical-ai-stack-tour
$git clonehttps://github.com/snap-dev/physical-ai-stack-tour.git
docker-compose.yml
services:
  isaac:
    image: nvcr.io/nvidia/isaac-lab:2.3
    runtime: nvidia
    environment: { ACCEPT_EULA: "Y", PRIVACY_CONSENT: "Y", TASK: Isaac-Lift-Cube-Franka-v0 }
    command: ["./isaaclab.sh", "-p", "scripts/zero_agent.py", "--task", "$$TASK", "--num_envs", "4"]
  lerobot:
    image: huggingface/lerobot:0.5
    environment: { DATASET: lerobot/aloha_sim_transfer_cube }
    command: ["python", "-m", "lerobot.scripts.visualize_dataset", "--repo-id", "$$DATASET"]
  policy:
    image: snap/physical-ai:vla-server
    environment: { MODEL: lerobot/pi05_droid, DEVICE: cuda, EXPORT: onnx }
    ports: ["8001:8001"]
    runtime: nvidia
  ros:
    image: ros:jazzy-ros-base
    depends_on: [policy]
    environment: { ROS_DISTRO: jazzy, RMW_IMPLEMENTATION: rmw_cyclonedds_cpp }
    command: ["bash", "-lc", "source /opt/ros/jazzy/setup.bash && ros2 run snap_runtime vla_runner --ros-args -p policy_url:=http://policy:8001"]
  foxglove:
    image: ghcr.io/foxglove/foxglove-bridge:2.0
    depends_on: [ros]
    ports: ["8765:8765"]
Run
~/physical-ai-stack-tour · zsh
$ docker compose up --abort-on-container-exit
All 5 services log a 'ready' line within 60s; Foxglove at http://localhost:8765
What you'll observe
Isaac Lab 2.3 loads the Lift-Cube-Franka task with 4 parallel envs
LeRobot 0.5 visualizes a real Aloha dataset (50 episodes)
Pi0.5 policy server warms up and reports p99 latency under 50ms
rclpy node publishes /joint_targets at 50Hz
Foxglove panel auto-discovers ROS topics and renders joint plots
Lift this to your work

Use as the README of any Physical AI service repo at your company. The 5-service compose IS the mental map: sim, dataset, policy, runtime, telemetry. Replace each with your real flavor (your task, your dataset, your fine-tune, your runtime config) — the topology stays. New hires can grok your stack in 10 minutes by running it. Snap onboarding sends new robotics engineers this compose on day 1.