Open Source RoboticsRobots, software & learning

Unitree SDK2

Software

Unitree robot C++ integration headers and examples linked against prebuilt SDK2 libraries for x86_64 and aarch64. [1]

Installation & first result →Official websiteGetting started

For
Developers integrating Unitree robot communication [1]
Source rights
Named licenses are documented by part. Review licenses
Unknowns
compute requirements not fully established. Review gaps

Source researched · Not tested by us
Sources checked · Research details

Licenses & related hardware

Requirements · Research details and dates

On this page

Overview

Unitree SDK2 provides C++ headers and examples for building applications against Unitree robot interfaces. Its source availability is partial: the reviewed build imports an architecture-specific static SDK library rather than compiling the full implementation. This profile covers the public integration surface and examples, not a claim that every SDK component can be rebuilt from source. [1] [2]

Is this for you?

Known limitations
  • The build imports a prebuilt static SDK library; it does not rebuild the entire SDK implementation.
  • Release tag 2.0.2 still declares CMake project version 2.0.0.
  • HelloWorld verifies a communication example, not robot firmware compatibility or control.

Editorial assessment from cited documentation; no runtime testing.

[1] [2] [3] [4] · Editorial assessment

What you need

Operating system
  • Ubuntu 20.04 LTS is the documented prebuilt environment.

[1]

Languages / runtimes
  • C++

[2]

Dependencies
  • C++17 compiler
  • CMake >=3.5
  • Architecture-matched prebuilt Unitree SDK2 library
  • DDS libraries and Threads

[2]

Installation & first result

Open the upstream getting-started guide [1]

  • Build the reviewed checkout using the documented CMake workflow.
  • Run build/bin/test_publisher and build/bin/test_subscriber in separate terminals.
  • Check received HelloWorld messages before considering robot-specific examples.

Editorial assessment from cited documentation; no runtime testing.

[2] [3] [4] [5] · Editorial assessment

Installation

Check out release 2.0.2, create build/, and run cmake .. followed by make. This builds examples against a prebuilt SDK library.

Editorial assessment from cited documentation; no runtime testing.

[1] [2] · Editorial assessment

Hardware, models & data

Inputs and outputs

The HelloWorld example publishes timestamped messages to TopicHelloWorld; the subscriber prints received message data.

[3] [4]

Project notes

Start with messages, before robot commands

Review target: release 2.0.2, commit 811bc77cdcffb4691d4b40172f9a57857bf6cffb. Upstream documents Ubuntu 20.04 LTS, GCC 9.4.0 and x86_64/aarch64 as the prebuilt environment. The CMake project requires C++17 and CMake 3.5 or newer, and fails if it cannot find the SDK library for the current architecture. [1] [2] [6]

In that checkout, create a build directory, enter it and run cmake .. followed by make. From the repository root, run build/bin/test_publisher and build/bin/test_subscriber in separate terminals. These executable paths follow the CMake output directory and target definitions. No robot-specific command is sent by these HelloWorld examples. [1] [2] [3] [4] [5]

The publisher writes a timestamp and HelloWorld text to TopicHelloWorld once per second. The subscriber prints received data, deliberately closes and reopens its channel twice, then remains running. Its pauses are part of the example; distinguish them from a transport failure. Receiving these messages would establish that example's communication path, not compatibility with a particular robot or firmware. We have not run it. [3] [4]

Record both the release and binary boundary

The release tag is 2.0.2 but the CMake project still declares version 2.0.0. Preserve the commit and architecture-specific library when reproducing an integration instead of relying solely on the reported package version. Consumer projects that name modified SDK forks need their own version check. [2] [6]

The repository license is BSD-3-Clause; dependencies retain their own notices. Public headers and example sources are available, while the build's imported static library limits what this checkout can rebuild. No compilation, robot connection or firmware/control validation was performed for this profile. [2] [7]

What we checked

Source researched only; no installation, training, benchmark or physical hardware test performed. No affiliate links or reused media.

Not yet established

  • Requirements: host computer
  • Version-specific hardware compatibility (ecosystem tags alone do not establish it)

Updates

Upstream last updated
Jul 7, 2025 [6]
Latest release
Jul 7, 2025 [6]
Profile updated
Oct 17, 2026
Sources last checked
Oct 17, 2026
Next review
Nov 17, 2026
Reviewed revision
2.0.2 / 811bc77cdcffb4691d4b40172f9a57857bf6cffb · software repository

Source files and licenses

Qualified coverage of public C++ integration headers/examples; core SDK is linked as a prebuilt library, not presented as fully rebuildable source.

LayerAvailability / license
softwareavailable · BSD-3-Clause
Repository headers/examples and prebuilt library distribution; full implementation source not established. Third-party notices remain separate. [7]
documentationavailable · BSD-3-Clause
Repository materials only; external components retain their own terms. [7]

SDK communication examples require no learned weights.

HelloWorld generates messages; no dataset required.

References

Each source links to the exact revision we read. “Used for” shows where this page relies on it.

Correction guidance · Discussion is not enabled · Profile format 0.7.0-draft.5

Change history