Robots Atlas>ROBOTS ATLAS
Unitree SDK2

Control · SDKs

Unitree SDK2

2.5.0·Unitree Robotics

Active Open source Real-time capable API available ROS
CATEGORYControl · SDKs
READINESSTRL 9
ADOPTION SCALEGrowing Community
LICENSESBSD-3-Clause
FIRST RELEASE2023
UnitreeSDKRoboticsROS 2DDSCycloneDDSPythonC++Simulation

Unitree SDK2 (unitree_sdk2) is the official second-generation SDK provided by Unitree Robotics for the entire current robot line: Go2 (quadruped), B2 (industrial quadruped), H1 (humanoid), G1 (humanoid). The SDK architecture is built on CycloneDDS as the transport layer, with a clear split into topics (`rt/lowstate`, `rt/lowcmd`, `rt/wirelesscontroller`) and services.

The SDK enables low-level control (joint torque, joint angle commands, IMU readout, foot force) and high-level control (sport_client API: walk, jump, stand, sit). Built-in examples cover RL policy training (sim2real), Whole Body Control (WBC), and communication with Unitree apps (phone, gamepad).

The github.com/unitreerobotics/unitree_sdk2 repository provides open-source code under BSD-3. A 1 Gbps Ethernet card is required to connect to the robot (cable or WiFi through a router). The SDK has been actively developed since 2023 and is the foundation for the ROS 2 stack (unitree_ros2) and wrappers to MuJoCo, Isaac Lab, and Isaac Sim.

Type & Roles
Software types
SDK

An SDK (Software Development Kit) is a curated set of libraries, interfaces, tools, sample code, and documentation intended for building applications and integrating with a specific hardware device, platform, or service. In robotics, an SDK typically exposes device control, telemetry, sensor access, configuration, and execution functions, significantly reducing the time-to-first-integration for developers targeting a specific robot or platform.

API Library

An API Library is a software package that exposes programmatic interfaces for communicating with a device, service, or system. In robotics it typically forms a lightweight integration layer built on top of the manufacturer's official API or an open-source project, abstracting low-level protocol details and providing language-native bindings (Python, C++, Java, etc.).

Control Stack

A Control Stack is the set of software components responsible for control logic, motion planning, command execution, and coordination of a robot's actuators. It receives high-level goals or waypoints (from planning or AI layers) and translates them into low-level actuator commands, closed-loop feedback control, and safety checks. Common implementations include MoveIt (arm manipulation), Nav2 (mobile navigation), and custom whole-body control stacks for humanoids.

Select an item to see its description.
Main category
SDKsControl & PlanningDrivers & Firmware
Roles in robotics ecosystem
Robot ControlDevice IntegrationAPI Access
Software family
Family
Unitree SDK2
Maturity & Adoption
9 / 9
Proven in operational conditions
ResearchPrototypeProduction
Adoption scaleGrowing Community
Maintenance statusMaintained by Single Vendor
First release2023
Last update22 April 2025
Deployments

Unitree Go2 Edu/Pro/Air, Unitree B2/B2-W, Unitree H1 (Stanford HumanPlus benchmark), Unitree G1 (the most popular humanoid in R&D 2025).

Community

1.1k★ on GitHub unitreerobotics/unitree_sdk2, official Unitree Discord with 8k+ members, 200+ research forks.

ROS supportCompatibility with ROS / ROS 2 ecosystem
Official Vendor ROS 2 WrapperOficjalny wrapper ROS 2 tworzony i utrzymywany przez producenta sprzętu lub oprogramowania
System capabilities
Open source
Source code is publicly available under an open-source license — enables security audits, custom modifications, and integration without licensing barriers.
Real-time capable
Designed with timing-determinism guarantees — meets the requirements of control loops, safety systems, and tasks demanding low, predictable latency.
⟨/⟩
API available
The software exposes a programmable interface (REST, gRPC, SDK, or language bindings) that enables automation and integration with other systems.
📦
Pre-built / binary
Distributed as ready-to-use binary packages, container images, or installers — no need to build from source.
×
Programming languages
C++
Operating systems
Ubuntu 22.04Ubuntu 20.04JetPack Linux
Minimum hardware requirements
Minimum hardware requirements
CPUDual-core x86-64 or ARM64 (Jetson Orin Nano is sufficient)
RAM (GB)2
GPUNot required
Disk (GB)1

Requires a 1 Gbps Ethernet card. Cyclone DDS and Boost ≥ 1.71 as dependencies.

Packaging & distribution
Package managers
GitHub Releases / GitHub Actions ArtifactsSource – CMake / ament_cmakeDocker / Docker Hub
CPU architectures
x86_64 (AMD64)ARM64 / AArch64NVIDIA Jetson – AArch64 (JetPack)
Installation difficulty
LevelModerate
Protocols and interfaces
Communication protocols
CycloneDDSDDS (Data Distribution Service)Ethernet / TCP-IP
Hardware interfaces
Ethernet 1000BASE-T (Gigabit Ethernet)
Latency classes
Hard Real-Time (1–5 ms)Hard Real-Time (< 1 ms)
Deployment types
On RobotEdgeLocal Workstation
Supported simulators
MuJoCo
MuJoCo Menagerie
NVIDIA Isaac Sim
NVIDIA Isaac Lab
Genesis (generative physics simulator)
Official Docker images
unitreerobotics/unitree_ros2
Licenses
BSD-3-ClauseBSD 3-Clause Licensev3-Clause

License family: Permissive

ModificationDistributionCommercial useSublicensingPrivate useROS-compatibleOSI approvedFSF Free/LibreRequires attribution
Version history
2.5.0Apr 2025

WBC API, sport_client improvements, RL policy bindings.

2.0.0Sept 2024

Full rewrite on CycloneDDS, G1 support.

1.5.0Apr 2024

Unitree H1 humanoid support.

1.0.0Sept 2023

First release for Go2.