How to Train a Cross-Embodiment Robot Navigation Policy with AI Agents NVIDIA published a tutorial on training a cross-embodiment robot navigation policy using an agent-driven workflow based on its COMPASS framework, which reuses the pretrained NVIDIA X-Mobility policy and trains a residual reinforcement learning specialist. The workflow, demonstrated on the Boston Dynamics Spot quadruped, uses a coding agent to validate dependencies, run smoke tests, launch training, and evaluate checkpoints, with human approval gates for scene acceptance and checkpoint promotion. The tutorial covers built-in and SAGE-10K scenes, optional NVIDIA Omniverse NuRec environments, and deployment odometry via NVIDIA cuVSLAM, requiring Ubuntu 22.04/24.04, an RTX GPU with at least 16 GB VRAM, and Isaac Sim 6.0. Navigation enables a robot to turn perception and motion into purposeful autonomy. Unlike locomotion, which produces stable movement, navigation must be used to continuously localize the robot, interpret changing surroundings, select a route, and avoid obstacles to reach a goal safely. Moving this capability to a new robot or scene can require new data, simulation assets, robot interfaces, training, diagnosis, and evaluation. Repeating that work for every robot-scene pair is expensive and difficult to reproduce. An agent-driven workflow reduces this burden. The developer defines the robot, scene source, and navigation goal. A coding agent uses repository skills to validate dependencies, prepare assets, run smoke tests, launch training, diagnose failures, and compare checkpoints. Human approval gates control scene acceptance, the one-environment smoke test, and checkpoint promotion. Using Spot as the reference robot, this post tutorial applies an agent-driven COMPASS https://github.com/NVlabs/COMPASS workflow to a built-in scene and a SAGE-10K scene, while showing how NVIDIA Omniverse NuRec https://docs.nvidia.com/nurec/index.html supports captured environments. It follows the policy workflow through smoke testing, residual training, checkpoint evaluation, and runtime integration, including optional odometry. What is COMPASS? COMPASS https://github.com/NVlabs/COMPASS Cross-Embodiment Mobility Policy via Residual RL and Skill Synthesis is a unified framework that enables scalable cross-embodiment mobility using expert demonstrations from a single embodiment. It reuses navigation behavior from the pretrained NVIDIA X-Mobility https://huggingface.co/nvidia/X-Mobility policy. It trains a residual specialist, a reinforcement learning RL https://www.nvidia.com/en-us/glossary/reinforcement-learning/ policy that corrects the base action for a selected robot and environment instead of relearning navigation from the beginning. Data from multiple specialists can later be distilled into a shared cross-embodiment policy. The COMPASS policy architecture that this agent-driven workflow trains and evaluates is shown in Figure 1. COMPASS packages this development workflow as repository skills. This tutorial uses Codex during development. The trained policy and robot controller execute navigation at runtime without the coding agent. Reference workflow overview The reference workflow uses the Boston Dynamics Spot quadruped. The built-in warehouse is the primary reproducible path, SAGE-10K extends it to a generated scene, and NVIDIA Omniverse NuRec provides an optional path for a reconstructed target environment. NVIDIA cuVSLAM https://github.com/nvidia-isaac/cuVSLAM , a CUDA-accelerated visual odometry and simultaneous localization and mapping library, can provide deployment odometry when the robot does not already supply compatible odometry and transforms. For another environment, use the repository-pinned COMPASS software stack and the following hardware guidance: - An Ubuntu 22.04 or 24.04 system with at least 32 GB of RAM, an RTX-capable NVIDIA GPU with at least 16 GB of VRAM, and Linux driver 580.95.05 https://docs.isaacsim.omniverse.nvidia.com/6.0.0/installation/requirements.html , the version tested for Isaac Sim 6.0 https://docs.isaacsim.omniverse.nvidia.com/6.0.0/installation/requirements.html . The Isaac Sim 6.0 minimum reference GPU is a GeForce RTX 4080. Run the Isaac Sim Compatibility Checker https://docs.isaacsim.omniverse.nvidia.com/6.0.0/installation/requirements.html isaac-sim-compatibility-checker before installation. - Docker Engine 24 or later with the NVIDIA Container Toolkit. - A Hugging Face account and read token with access to the gated nvidia/COMPASS https://huggingface.co/nvidia/COMPASS and nvidia/X-Mobility https://huggingface.co/nvidia/X-Mobility Hugging Face repositories. - The tested tutorial stack: NVIDIA Isaac Lab 3.0 with NVIDIA Isaac Sim 6.0. Step 1: Set up the COMPASS agentic workflow First, prepare the repository and give the coding agent a clear workflow contract before beginning the scene work. You will download the gated assets, make the COMPASS skill discoverable to Codex, run stack checks, and stop at the one-environment approval gate. All $compass blocks are copyable prompts for the Codex chat at the COMPASS repository root, not shell commands. In Claude Code, use /compass for the same workflow. For Codex, first expose the repository skills under .agents/skills , then select COMPASS with /skills or mention $compass in the prompt. Codex supports symlinked skill directories, so the current repository skill can remain in its maintained location. For Claude Code, invoke the same workflow with /compass . mkdir -p .agents/skills ln -s ../../.claude/skills/compass .agents/skills/compass ln -s ../../.claude/skills/compass-doctor .agents/skills/compass-doctor ln -s ../../.claude/skills/compass-newembodiment .agents/skills/compass-newembodiment The coding agent can clone, build, download non-secret assets, and validate the stack. The developer must accept the gated repository terms and enter the Hugging Face token outside the chat. The agent should never request, display, or store the token in logs. Install COMPASS and download the assets Clone the COMPASS repository https://github.com/NVlabs/COMPASS and follow the COMPASS Handbook quick start https://nvlabs.github.io/COMPASS/docs/quickstart.html with the repository-pinned container. Before the first run, accept access to the gated nvidia/COMPASS https://huggingface.co/nvidia/COMPASS and nvidia/X-Mobility https://huggingface.co/nvidia/X-Mobility Hugging Face repositories, create a Hugging Face read token https://huggingface.co/settings/tokens , and confirm that it can read public gated repositories available to your account. Expose the token only in the current shell. Do not paste it into an agent prompt or commit it to source control. export HF TOKEN=hf xxx ./docker/run.sh assets ./docker/run.sh build source ./docker/activate The assets step downloads the registered simulation assets to ./assets/usd/ and the pretrained X-Mobility checkpoint https://huggingface.co/nvidia/X-Mobility to ./assets/x mobility.ckpt . A 401 or 403 response usually indicates incomplete repository access or token scope. Resolve authentication before debugging Isaac Lab. Each phase produces reviewable evidence before the next phase begins: Validate: Software and asset inventory, environment report, and smoke-test log Prepare scene : Registered scene configuration, occupancy map, and visual inspection evidence Train: Pinned command and configuration, logs, telemetry, and periodic checkpoints Evaluate : Matched protocol, standard COMPASS metrics, videos, and a promotion recommendation Package: Approved checkpoint, configuration, evaluation record, and artifact manifest Approval criteria are project-specific, but every gate should answer the same question: are the required inputs present, did the expected outputs appear, are there unresolved errors, and is the evidence sufficient to continue? Invoke the COMPASS skill After the container is active, open the coding agent at the repository root and describe the robot, scene, navigation outcome, and approval gates. For the baseline workflow, copy this prompt into the agent chat: $compass Validate the COMPASS environment for Spot. Confirm the pinned repository revision, container, GPU, Isaac Lab and Isaac Sim versions, simulation assets, and pretrained X-Mobility checkpoint. Run a one-environment smoke test, save the validation report, and stop for approval. The $compass skill checks the requested workflow against the repository and runs the relevant validation steps. If a run fails, $compass-doctor performs a read-only health check and reports likely causes without silently changing the environment. Step 2: Choose and prepare a navigation scene This section explains how to choose and prepare one of three scene sources: the built-in COMPASS warehouse, a generated SAGE-10K https://huggingface.co/datasets/nvidia/SAGE-10k scene, or a captured environment rendered with Omniverse NuRec https://isaac-sim.github.io/IsaacLab/develop/source/policy deployment/03 compass with NuRec/compass navigation policy with NuRec.html . You will learn what each path is for and which registration, occupancy map, and approval checks must be completed before training. Path 1: Use the built-in warehouse Start with the registered combined multi rack warehouse for the fastest reproducible baseline. The robot, scene, and occupancy map are already registered, which makes this the best path for validating the installation before introducing a new scene. Copy the following prompt into the coding agent to run the baseline and pause after the smoke test: $compass Train and evaluate Spot in the built-in combined multi rack warehouse. Stop after the one-environment smoke test for approval. Path 2: Use a SAGE-10K scene The SAGE-10K https://huggingface.co/datasets/nvidia/SAGE-10k dataset contains 10,000 generated indoor scenes across 50 room types. It is a scene dataset, not a policy or simulator. Each scene provides geometry, materials, layout metadata, and a preview. Living room and warehouse scenes follow the same preparation path, so select one suitable candidate instead of downloading the entire dataset. The SAGE-10K path includes two human approval gates. First, inspect the converted USD in NVIDIA Isaac Sim https://github.com/isaac-sim/IsaacSim and confirm geometry, materials, scale, and collision meshes before registration. After registration and occupancy-map generation, approve the one-environment preview before full training. The occupancy map identifies free and blocked space for valid robot starts and navigation goals. Copy the following prompt into the coding agent to shortlist a scene and pause at both gates: $compass Find suitable SAGE-10K living-room or warehouse scenes for Spot and show the best candidates. After I approve a scene, convert and register it, generate and verify its occupancy map, and stop for inspection. After I approve the scene and map, run a one-environment smoke test and stop again before full training. Path 3: Introduce a captured environment with NuRec Use Omniverse NuRec https://isaac-sim.github.io/IsaacLab/develop/source/policy deployment/03 compass with NuRec/compass navigation policy with NuRec.html when the goal is to fine-tune and evaluate COMPASS in a reconstruction of the intended deployment environment. NuRec converts stereo RGB captures into an Isaac Sim-ready reconstruction with aligned visual geometry, collision meshes, and optional scene augmentation. The documented COMPASS path registers the rendered scene, verifies its supplied occupancy map and origin convention, inspects robot clearance, and runs a one-environment smoke test before training. NuRec is an optional path for the purposes of this post. The hands-on training flow continues with SAGE-10K so that the tutorial follows one scene from preparation through evaluation. For a captured environment, use the COMPASS NuRec workflow https://github.com/NVlabs/COMPASS/blob/real2sim/isaaclab 3.0/docs/handbook/workflows/nurec real2sim.md and the NVIDIA Isaac Sim NuRec guide https://isaac-sim.github.io/IsaacLab/develop/source/policy deployment/03 compass with NuRec/compass navigation policy with NuRec.html , including the living room example https://isaac-sim.github.io/IsaacLab/develop/source/policy deployment/03 compass with NuRec/compass navigation policy with NuRec.html , for scene preparation, training, evaluation, export, and ROS 2 deployment. Copy the following prompt into the coding agent to prepare a registered NuRec scene and pause before training: $compass Prepare the registered NuRec Real2Sim scene