leggedrobotics/pace-sim2real

PACE: A systematic approach for sim-to-real transfer of legged robots, identifying actuator and joint dynamics with standard joint encoders.

PACE – Sim‑to‑Real Transfer for Legged Robots

What it does – PACE (Precise Adaptation through Continuous Evolution) is a Python framework that helps you move a legged‑robot controller from a physics simulator to a real robot. It does this by:

  • Collecting real‑world actuator/joint data (or using simulated data as a stand‑in).
  • Optimising a set of physically‑meaningful dynamics parameters (e.g., motor constants, friction) with the CMA‑ES evolutionary algorithm.
  • Feeding the learned parameters back into NVIDIA Isaac Lab so the simulated robot behaves like the hardware, improving locomotion performance.

Key components

  • pace_sim2real package – core classes (PaceCfg, PaceSim2realEnvCfg, CMAESOptimizer) and utilities for defining motor models.
  • Example scripts:
    • scripts/pace/data_collection.py – runs a short excitation motion in Isaac Lab and saves the data.
    • scripts/pace/fit.py – runs CMA‑ES to fit the actuator/joint parameters and writes a log folder.
  • Integration with Isaac Lab’s task/environment system (pace_sim2real.tasks registers environments).

Who it’s for – Researchers or engineers working with legged platforms (e.g., ANYmal D) who already use NVIDIA Isaac Lab and need a systematic way to identify robot dynamics for sim‑to‑real transfer.

How to get started

  1. Install Isaac Lab (v5.0+).
  2. Clone the repo and install the package in editable mode (pip install -e source/pace_sim2real).
  3. Activate your Isaac Lab conda environment.
  4. Run the data‑collection script, then the fitting script. The fitted parameters appear under logs/pace/<robot>_sim/.

Documentation & support – Full docs are hosted at https://pace.filipbjelonic.com (MkDocs). The project is Apache‑2.0 licensed, actively maintained by the ETH Zurich Robotic Systems Lab, and includes contribution guidelines and pre‑commit formatting hooks.


TL;DR – PACE is a specialised, open‑source toolbox for system identification and evolutionary optimisation that tightens the link between Isaac Lab simulations and real legged robots, making sim‑to‑real transfer more reliable.

Related

  • Project
  • Project
  • Dispatch
  • Project
  • Project