This is a simulator developed based on Unitree SDK2 and Mujoco. This is FORK of the original and much has changed.
This simulator is intended to be used with the Go2-Control Wrapper. ALL dependency information, installations, and API Documentation are listed there.
Joystick functionality is technically preserved.
iceoryx_interfaces/: Shared Iceoryx2 client-server configurations needed for IPCsimulate/resources/: Resources used to load the robot model and scenesimulate/src/cpp/: Core Mujoco Simulation written in C++simulate/src/python/: Python bridge between the Go2-Control Wrapper and the C++ simulation
Current version only supports low-level development, mainly used for sim to real verification of controller
LowCmd: Motor control commandsLowState: Motor state informationSportModeState: Robot position and velocity dataIMUState: Torso IMU state atrt/secondary_imutopic (G1 only)
Note:
- The numbering of the motors corresponds to the actual robot hardware. Specific details can be found in the Unitree documentation.
- In the actual robot hardware, the
SportModeStatemessage is not readable after the built-in motion control service is turned off. However, the simulator retains this message to allow users to utilize the position and velocity information for analyzing the developed control programs.
- Unitree Go2, B2, H1, B2w, Go2w robots use unitree_go idl for low-level communication.
- Unitree G1, H1-2 robot uses unitree_hg idl for low-level communication.
The configuration file for the C++ simulator is located at simulate/resources/config/:
global.yaml: Configuration file for the C++ simulation
Translational movement would not be possible without the Phase-Guided Terrain Traversal (PGTT) work developed for the Go2 robot, as described here.
Citation
@inproceedings{ntagkas2025pgtt,
title={PGTT: Phase-Guided Terrain Traversal for Perceptive Legged Locomotion},
author={Ntagkas, Alexandros and Kiourt, Chairi and Chatzilygeroudis, Konstantinos},
booktitle={IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
year={2026}
}