Sim-to-Real Dog Walking, Rewired for Unitree Go2
Because Unitree Go2 dropped the old UDP-based SDK, this project re-implements the walk-these-ways locomotion stack so trained policies can actually talk to the hardware.

What it does
This is a fork of the walk-these-ways Go1 sim-to-real starter kit, retargeted for the Unitree Go2 quadruped. It swaps out the legacy unitree_legged_sdk for the newer unitree_sdk2, rewrites the LCM bridge in lcm_position_go2.cpp, and bundles Isaac Gym training configs with a pretrained gait-conditioned policy. Motor commands are generated on a host PC and sent to the physical robot over Ethernet.
The interesting bit
The heavy lifting here is pure interface plumbing. The original project relied on a UDP-based SDK shared across Go1 and A1, but Go2’s unitree_sdk2 breaks that compatibility entirely. The author rebuilt the LCM communication layer so the existing Python training and deployment scripts could remain largely untouched—essentially teaching the old pipeline to speak the new robot’s language.
Key highlights
- Pretrained gait-conditioned agility model included in
./runs - Training stack uses Isaac Gym and PyTorch 1.10
lcm_position_go2.cpphandles sensor data, motor commands, and joystick state between PC and robot- PC-based deployment works now; Jetson Orin Nano/NX support is partially mapped out but still a work in progress
- RC joystick control includes a documented damping-mode kill switch (
L2+B)
Caveats
- Deployment currently requires a tethered PC; the author notes they are not yet familiar with Jetson Orin, so onboard, cable-free operation remains unfinished
- The README explicitly warns this is research code and disclaims responsibility for damage if the robot falls over
- You must manually disable the robot’s sport mode and ensure the Go2 is hung up or lying down before starting the low-level controller
Verdict
A sensible starting point if you own a Go2 and want to experiment with RL locomotion; a poor fit if you need turnkey onboard deployment or a safety-certified stack.
Frequently asked
- What is Teddy-Liao/walk-these-ways-go2?
- Because Unitree Go2 dropped the old UDP-based SDK, this project re-implements the walk-these-ways locomotion stack so trained policies can actually talk to the hardware.
- Is walk-these-ways-go2 open source?
- Yes — Teddy-Liao/walk-these-ways-go2 is open source, released under the MIT license.
- What language is walk-these-ways-go2 written in?
- Teddy-Liao/walk-these-ways-go2 is primarily written in C++.
- How popular is walk-these-ways-go2?
- Teddy-Liao/walk-these-ways-go2 has 609 stars on GitHub.
- Where can I find walk-these-ways-go2?
- Teddy-Liao/walk-these-ways-go2 is on GitHub at https://github.com/Teddy-Liao/walk-these-ways-go2.