This repository provides an end-to-end reinforcement learning framework for Unitree legged robots (Go2, G1, H1, H2, A2, AS2, R1). It uses MuJoCo physics (via the custom `mjlab` package) to simulate locomotion and motion imitation tasks. The codebase includes training scripts (`scripts/train.py`) that run PPO (from `rsl_rl`) with configurable network architectures and multi-GPU support, exporting trained policies to ONNX format. The `deploy/` directory contains C++ applications that execute these policies on real hardware using ONNX Runtime and Unitree SDK2, orchestrated by a finite state machine. The system is split into two main tasks: velocity tracking (gait generation) and motion tracking (whole-body imitation from reference trajectories). Key architectural patterns include manager-based environment configuration, composable MDP terms (rewards, observations, terminations), curriculum learning, and a YAML-driven FSM for deployment. The repository is actively maintained, with recent commits and bundled third-party dependencies (MuJoCo binaries, ONNX Runtime) for cross-platform deployment.
This repository implements a hierarchical controller for quadruped locomotion that combines a high-level reinforcement learning policy with a low-level model predictive controller (MPC). The RL policy dynamically predicts weight parameters for the MPC, which computes optimal ground reaction forces and joint torques. The codebase includes Isaac Gym training environments for the Unitree A1, Go1, and Aliengo robots, along with a custom C++ MPC solver (OSQP-based) and a finite state machine for robust transient handling. While primarily a research project that bridges RL and MPC for legged robots, it also provides reusable robotics components such as state estimators, leg controllers, gait pattern generators, and foot swing trajectory planners. The work is based on the MIT Cheetah software and includes detailed development logs and configuration files for reproducible experiments.