unitreerobotics/unitree_sdk2_python

Python interface for unitree sdk2

What it solves

This project provides a Python interface for the Unitree SDK2, allowing developers to interact with Unitree robots using Python instead of C++. It simplifies the process of acquiring robot status and sending control commands through a standardized communication layer.

How it works

The SDK uses DDS (Data Distribution Service) communication to handle request-response and topic subscription/publishing. It provides three levels of interaction:

  • High-Level Control: Manages complex behaviors like standing up, lying down, velocity movement, attitude control, and trajectory tracking.
  • Low-Level Control: Provides direct access to motor control, allowing users to set joint positions, gains (kp, kd), and torque.
  • Peripheral Access: Enables interaction with the robot's front camera (via OpenCV), wireless controller status, obstacle avoidance settings, and light/volume controls.

Who it’s for

Robotics developers and researchers who want to use Python for rapid prototyping and control of Unitree robots.

Highlights

  • Multi-level control: Supports both high-level behavioral commands and low-level motor-level control.
  • DDS Integration: Uses cyclonedds for reliable robot-to-PC communication.
  • Hardware Integration: Includes built-in support for camera feeds, wireless controllers, and onboard sensors (IMU, battery voltage).
  • Comprehensive Examples: Provides ready-to-use scripts for everything from basic "Hello World" communication to complex motion tests.

Related

  • Project
  • Project
  • Project
  • Project
  • Project