unitree_ros2
- Software
- Humanoids and robot learning
- Driver or SDK
A ROS 2 package set that lets developers talk to Unitree Go2, B2, and H1 robots using standard ROS 2 messages over CycloneDDS, without wrapping the SDK.
Made by Unitree Robotics, China (checked on github.com/unitreerobotics (opens in a new tab)).
Source on GitHub: github.com/unitreerobotics/unitree_ros2 (opens in a new tab). Facts read at commit 668d1ec (opens in a new tab).
Licenses
- Code
- BSD-3-Clause (opens in a new tab)
Read by Robotheca from LICENSE (opens in a new tab) (BSD-3-Clause) at commit 668d1ec (opens in a new tab), on 16 Oct 2026.
- Commercial use
- Yes
What it does
- Provides ROS 2 message definitions for Unitree robots in the cyclonedds_ws workspace, including unitree_go and unitree_api packages.
- Lets developers read sport mode state such as position, velocity, and foot positions by subscribing to sportmodestate topics.
- Exposes low-level state from motors, IMU, and power by subscribing to lowstate topics.
- Reads wireless controller joystick and key values from the wirelesscontroller topic.
- Sends high-level sport mode commands by publishing requests to /api/sport/request, with a SportClient helper.
- Sends low-level motor torque, position, and velocity commands by publishing LowCmd messages to /lowcmd.
Written by Robotheca from the project's README (opens in a new tab) at commit 668d1ec.
Getting started
- Difficulty
- Intermediate
- Hardware it needs, as the project states it
- Tested on Ubuntu 20.04 with ROS 2 foxy and on Ubuntu 22.04 with ROS 2 humble (recommended); needs an Ethernet connection to the robot (or the loopback interface for simulation). Ubuntu 20.04/foxy requires building CycloneDDS 0.10.x; humble can skip that step.
- How to start
- The project's README (opens in a new tab)
Maintenance
- Status
- Maintained: a commit in the last 12 months
- Newest commit
- 2 Jul 2026 on master
- Latest release
- Release v0.3.0 (15 Aug 2025)
Checked on GitHub on 16 Oct 2026.
Links
Robots on Robotheca that use it
No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.
Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.