Train in Simulation, Deploy on a Real Robot: Microduck with Isaac Lab 3.0

Microduck is a newly released, affordable open-source bipedal robot from Pollen Robotics and Hugging Face. This tutorial, written in collaboration with Antoine Pirrone, Augustin Crampette, Matthieu Lapeyre, Coralie Deplanne, Anne-Charlotte Passanisi, and Thomas Wolf, walks through the full loop: train a walking policy in NVIDIA Isaac Lab, export it as ONNX, deploy it on a real Microduck, and optionally share it on the Hugging Face Hub or enter Microduck Arena.

The underlying problem is sim-to-real transfer: a policy trained in simulation must also handle the friction, delays, and mechanical play of real robot servos. Isaac Lab is an open-source framework for training policies across thousands of GPU-parallel simulations; Newton contributes actuator modeling and domain randomization so policies can be prepared for real hardware.

Setup requires a Linux workstation with a supported NVIDIA GPU and driver, plus Git and uv. After cloning Isaac Lab and running uv sync, Microduck‘s tasks and presets can be confirmed with isaaclab list_envs –keyword MicroDuck –show_presets. The repo already includes the Microduck robot model, scene, observations, actions, rewards, and domain randomization. The flat-walking task is the entry point; the rough variant adds stairs, slopes, and uneven terrain. The policy consumes 61 observation values and outputs 14 joint-position targets, and the source is explicit that observation order, normalization, and action scaling must stay consistent through export and deployment.

Training runs thousands of environments in parallel on the GPU, with distributed multi-GPU training available; the post reports up to 1.25M steps per second with rough terrain and backlash enabled. The stack uses Newton with the MJWarp solver and Newton-based Better Actuator Models (BAM) to model servo response. The backlash preset converts position targets into realistic servo torques by modeling the firmware controller, motor electrical limits, friction, and delay; backlash—the mechanical play in a gearbox—is varied independently per joint to represent uneven wear. Domain randomization also varies mass/center of mass, ground friction, joint inertia, encoder offsets, battery voltage/sag, and command latency, alongside terrain changes and pushes.

Training is launched with uv run isaaclab train, rsl_rl as the RL library, the IsaacContrib-Velocity-Rough-MicroDuck or -Flat-MicroDuck task, 4096 environments, and presets=backlash. Evaluation runs the latest checkpoint in the Newton visualizer (uv run isaaclab play –viz newton_gl). The RSL-RL playback workflow automatically exports both TorchScript (policy.pt) and ONNX (policy.onnx); Microduck‘s onboard runtime loads the ONNX file.

From there, users can validate the policy in Microduck Arena, a Hugging Face Space for testing compatible policies on shared challenges with a leaderboard. Arena accepts models with 61 observation values, 14 action values, and a maximum size of 64 MiB. Policies can also be uploaded to the Hugging Face Hub with a model card and training configuration for reproducibility.

Deployment copies policy.onnx to the robot with scp, then uses robotctl to list, load, and reset policies (for example, sudo robotctl policy load walk /home/microduck/my_walking.onnx). The post advises supporting the robot on its stand before loading; if it is already walking, loading returns it to its home pose and resumes motion. A demonstration shows the deployed policy recovering its footing after being knocked over.

Isaac Lab 3.0 extends beyond walking: a curriculum can increase rough-terrain difficulty; head-camera depth and robot-state observations enable perception and navigation tasks; the Kuka–Allegro lift and reorient tasks cover dexterous manipulation; and the project generator plus SimReady Central Library assets support custom environments. Walking is presented as the starting point for exploring these GPU-parallel robotics workflows.

Train in Simulation, Deploy on a Real Robot: Microduck with Isaac Lab 3.0

View Original