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
API Access
Robot Control

Robot Control denotes the role of software responsible for motion control, command execution, coordination of actuating elements and the direct operational logic of the robot.

Device Integration

Device Integration denotes the role of software responsible for communication, configuration, initialization and handling of specific devices, sensors, controllers or hardware components within a robotic system.

Select an item to see its description.
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.