ROS 2 for the Unitree G1: From Setup to Sim-to-Real Control
Build real humanoid robot software the right way. In this course, you’ll install ROS 2, create Python and C++ packages, learn ROS communication, integrate the Unitree G1 SDK, build a ROS↔SDK bridge, and run the same control workflow in MuJoCo for safe sim-to-real iteration.
Start LearningThis course includes
- 10 step-by-step lessons (architecture → sim control)
- Hands-on ROS 2 development in Python and C++
- Unitree G1 SDK integration + ROS↔SDK bridge node
- MuJoCo simulation workflow for safe testing
About this course
ROS 2 for the Unitree G1: From Setup to Sim-to-Real Control teaches you the full command chain
from software to motors. You’ll start with the humanoid software stack and ROS 2 fundamentals,
then build real ROS 2 packages in Python and C++, integrate the Unitree G1 SDK for direct control,
and finally connect everything through a ROS↔SDK bridge.
To keep the workflow safe and repeatable, you’ll also run the same control patterns in MuJoCo,
so you can test, iterate, and debug in simulation before touching hardware.
Skills you'll gain
- Explain the humanoid software stack and trace command flow from app to motors
- Install ROS 2, source environments, and verify communication with demo nodes
- Create ROS 2 workspaces and build Python/C++ packages with colcon
- Understand nodes, topics, message types, and implement publisher/subscriber patterns
- Write ROS 2 control nodes in Python (timers, command publishing, logging)
- Write ROS 2 control nodes in C++ and compare performance/structure vs Python
- Install and explore the Unitree G1 SDK, build it, and run official examples
- Read joint states, send position commands, and apply safety limits via SDK control
- Build a ROS↔SDK bridge node that converts messages and publishes robot feedback
- Run MuJoCo with ROS 2 control for a sim-to-real development workflow
Curriculum
- System Architecture – From Algorithm to Robot Motion (11:39)
- What is ROS2? (9:55)
- Installing Ubuntu (13:49)
- Installing ROS2 Foxy (8:38)
- Setting Docker for G1 (14:08)
- ROS2 on Docker (5:12)
- ROS2 Concepts (17:39)
- ROS2 Concepts Part 2 (25:32)
- ROS2 Programming Practice (14:22)
- Setting up Unitree G1 SDK in ROS2 (7:24)
- Setting up Mujoco (13:40)
- Code Walkthrough Unitree SDK ROS2 (11:15)
- Hardware Test ROS2 (4:31)