宇树科技(Unitree)开源资料全解析与嵌入式开发者应用指南(入局具身智能)

2026-02-16 1895阅读

宇树科技作为国内人形机器人、四足机器人领域的头部企业,其开源生态覆盖数据集、AI模型、开发框架、仿真工具、硬件SDKROS等全链路资源,既面向学术研究,也深度适配工业级嵌入式开发需求。下面先系统梳理其开源资料体系,再针对嵌入式开发者给出精准的资源利用策略。

官方链接:

https://www.unitree.com/cn/opensource
wKgZO2kajEeAJJjxAARoT_oe-fo236.png

一、宇树科技开源资料体系:按功能分类解析

宇树的开源资料高度聚焦机器人开发全流程,从底层硬件控制到上层AI算法、从仿真验证到实物部署,形成了完整闭环。可分为6大类,核心信息如下:

1. embodied AI数据集与预训练模型:机器人感知-决策基础数据

面向机器人操作任务的AI模型训练,提供高质量标注数据和成熟模型,降低算法研发门槛。

核心数据集

G1灵巧手操作数据集、G1夹爪操作数据集、Z1双臂操作数据集:覆盖单指/多指抓取、双臂协同等高频工业场景,包含力控、视觉、关节角度等多模态数据。

预训练模型

主流模仿学习(IL)模型:如DPData-efficient Policy)、ACTAction Chunking with Transformers),已适配宇树硬件,可直接用于从人类演示中学习操作技能

2.机器人开发框架:封装核心算法,支持全流程落地

针对特定开发目标(模仿学习、强化学习)提供模块化框架,嵌入式开发者可直接基于框架二次开发,无需从零搭建基础逻辑。

框架名称

核心功能

支持硬件

开发价值

unitree_IL_lerobot

基于LeRobot的模仿学习框架,覆盖数据收集算法开发模型训练实物部署全流程

人形机器人G1机械Z1、灵巧手Dex3

嵌入式开发者可快速实现“AI驱动的机器人操作,无需关注算法底层细节,仅需适配硬件接口

unitree_rl_gym

强化学习(RL)实现仓库,封装经典RL算法

四足机器人Go2、人形机器人H1/H1_2G1

用于开发自主决策类任务(如机器人避障、动态平衡),支持仿真与实物端统一调用

3.仿真工具:降低嵌入式开发实物试错成本

嵌入式开发中实物调试风险高、周期长,宇树提供2类仿真工具,支持先仿真验证,再实物部署

unitree_mujoco

基于宇树SDK2Mujoco物理引擎开发,可无缝集成用unitree_sdk2/unitree_ros2/unitree_sdk2_python写的控制程序。

核心价值:嵌入式开发者可先在仿真中验证关节控制、运动规划逻辑,避免因代码bug损坏硬件(如电机堵转、机械臂碰撞)。

unitree_rosROS1/ unitree_ros2ROS2

包含所有宇树机器人的URDF模型(可获取质量、转动惯量、关节限位等关键硬件参数),并提供unitree_controller控制器)、unitree_gazeboGazebo仿真包)。

核心价值:适配ROS生态,支持用Gazebo快速搭建多机器人协同、传感器融合的仿真场景,嵌入式开发者可基于此做分布式控制验证。

4.硬件控制SDK:嵌入式开发的底层入口

SDK是嵌入式开发者与宇树机器人硬件交互的核心工具,按机器人类型开发语言细分,覆盖从单关节控制整机运动的全层级需求。

1)多机器人通用SDK

SDK名称

支持硬件

开发语言

核心功能

嵌入式场景适配

unitree_legged_sdk

四足机器人AliengoA1Go1

C++

提供底层关节控制接口(单关节角度/力矩控制)和高层运动接口(指定速度/步态控制)

适用于对实时性要求高的场景(如四足机器人动态平衡),可直接对接嵌入式实时系统(如RT-ThreadVxWorks

unitree_sdk2

四足机器人Go2/B2、人形机器人H1

C++

功能定位与unitree_legged_sdk一致,硬件适配升级

支持新一代机器人的高算力硬件(如H1的躯干计算单元),接口更简洁,实时性优化

unitree_sdk2_python

Go2/B2/H1/G1

Python

unitree_sdk2Python封装

适合嵌入式开发者快速做原型验证(如用Python写简单的步态测试脚本),再用C++重构底层逻辑

2)机械臂专用SDK

z1_controllerZ1机械臂的驱动桥梁,必须单独运行才能调用z1_sdk,负责硬件通信协议解析。

z1_sdkZ1机械臂控制核心SDK,提供C++/Python接口:

底层模式:直接控制每个关节的角度、速度、力矩;

高层模式:实现点到点运动(如指定机械臂末端坐标)。

z1_joystickB1机器狗搭载Z1时的遥控器控制例程,支持自定义遥控器适配(如替换为工业遥控器)。

3)传感器SDK

针对宇树自研传感器,提供二次开发接口,降低嵌入式传感器-机器人集成难度:

电机SDK:封装电机通信协议,避免嵌入式开发者手动解析CAN/LIN总线数据,直接调用电机启停、转速控制接口。

4D Lidar SDKL1/L2激光雷达的二次开发SDK,支持获取点云、IMU数据。

4D Lidar L1 Open Source SLAM:基于Point-LIO算法,仅用L1的点云和内置IMU即可完成SLAM(同步定位与地图构建),嵌入式开发者可直接集成到机器人自主导航模块。

4)相机SDK

Go1 Camera SDK routinesGo2机器人相机的开发例程,支持获取RGB、深度图像,可用于视觉引导抓取等场景。

5.遥操作示例:嵌入式人机交互开发参考

提供2类主流设备的遥操作方案,嵌入式开发者可直接复用硬件通信逻辑运动映射算法

Kinect Camera Teleoperation:基于Azure Kinect深度相机的H1人形机器人双臂遥操作程序,实现人类动作机器人动作的实时映射。

Apple Vision Pro Teleoperation:基于AVPApple Vision Pro)的H1_2遥操作仓库,适配VR设备的空间定位数据,适合开发沉浸式遥操作(如远程工业装配)。

6.学习与教学资源:嵌入式入门进阶工具

unitree_guide:配合教材《四足机器人控制算法——建模、控制与实践》的开源项目,包含:

机器人关节电机控制方法、四足机器人力控算法;

同时配置仿真环境实物开发环境1-2条命令即可切换。

核心价值:嵌入式开发者可从基础控制算法入手,理解电机模型力控逻辑步态规划的底层关联,避免直接开发时知其然不知其所以然

wKgZO2kajEiAEaPPAAJnB5NclmU291.png

二、嵌入式开发者如何精准利用这些开源资料?

嵌入式开发的核心需求是底层硬件控制、实时性优化、硬件-算法协同、低成本试错,需根据具体开发场景匹配资源,以下分6类场景给出策略:

场景1:底层电机/关节控制(核心需求:实时性、硬件适配)

推荐资源unitree_legged_sdkC++)、unitree_sdk2C++)、电机SDKz1_sdk(底层模式)。

使用方法

a.先通过unitree_guide的仿真环境,理解电机力矩控制、关节限位保护的逻辑(避免实物调试时电机过载);

b.C++基于SDK开发底层驱动:直接调用SDK关节控制接口,对接嵌入式硬件的CAN总线(宇树机器人电机多采用CAN通信);

c.重点关注SDK中的实时性参数(如控制周期、数据传输波特率),适配嵌入式系统的调度优先级(如在Linux中用RT_PREEMPT补丁优化实时性)。

场景2:机器人整机运动控制(如四足步态、人形行走)

推荐资源unitree_guideunitree_sdk2(高层模式)、unitree_mujoco

使用方法

a.unitree_guide学习四足机器人力控步态的数学模型(如足端轨迹规划、身体姿态调整);

b.unitree_mujoco中仿真验证步态参数(如步长、步频),观察机器人是否稳定;

c.unitree_sdk2的高层接口(如指定速度控制)将仿真验证后的步态移植到实物,仅需修改硬件偏移参数(如不同机器人的关节零位差异)。

场景3AI +机器人融合(如视觉抓取、自主避障)

推荐资源embodied AI数据集、unitree_IL_lerobotunitree_rl_gym4D Lidar SLAMGo1 Camera SDK

使用方法

a.若做模仿学习(如让G1手模仿人类抓取):用unitree_IL_lerobot数据收集模块采集人类演示数据,结合官方数据集训练模型,再通过SDK部署到机器人;

b.若做自主导航:直接集成4D Lidar L1SLAM仓库,获取机器人位姿,再用unitree_sdk2控制机器人避障(SLAM输出的地图+ SDK的运动控制结合);

c.嵌入式优化点:将AI模型(如ACT)通过TensorRT量化,部署到机器人的嵌入式算力单元(如H1NVIDIA Jetson),降低延迟。

场景4:传感器集成(激光雷达、相机与机器人协同)

推荐资源4D Lidar SDKGo1 Camera SDKunitree_ros2

使用方法

a.用传感器SDK获取原始数据(如L1的点云、Go1相机的RGB图),通过unitree_ros2话题发布功能,将数据同步到机器人的控制节点;

b.嵌入式层需处理传感器时间同步(如用ROS2的时间戳机制,对齐点云、IMU、关节数据),避免因数据延迟导致控制失准(如视觉抓取时相机与机械臂不同步)。

场景5:遥操作功能开发(如工业远程控制)

推荐资源Kinect Camera TeleoperationApple Vision Pro Teleoperationz1_joystick

使用方法

a.复用示例中的设备通信逻辑(如Azure Kinect的深度数据解析、AVP的空间定位数据接收);

b.自定义运动映射规则(如将人类手臂的角度映射到H1的双臂关节,需根据嵌入式硬件的算力调整映射延迟);

c.基于z1_joystick的例程,适配工业遥控器(如替换为无线手柄),增加紧急停止硬件接口(嵌入式安全开发核心需求)。

场景6:快速原型验证与学习进阶

推荐资源unitree_sdk2_pythonunitree_rosGazebo)、unitree_guide

使用方法

a.Pythonunitree_sdk2_python)快速写测试脚本(如控制G1手开合、H1单腿抬起),验证硬件通信是否正常;

b.unitree_rosGazebo环境,搭建多机器人协同仿真(如Go2配合Z1搬运物体),验证分布式控制逻辑;

c.新手从unitree_guide配合教材入手,先掌握机器人建模控制算法→SDK调用的全链路,再深入某一方向(如电机控制、AI部署)。

三、总结:嵌入式开发的宇树开源资源使用逻辑

宇树的开源资料不是孤立的,而是从学习仿真开发部署的递进关系:

1.入门层:用unitree_guide+仿真环境打基础,理解控制原理;

2.原型层:用Python SDKunitree_sdk2_python)快速验证硬件与算法逻辑;

3.开发层:用C++ SDKunitree_sdk2z1_sdk)做底层开发,优化实时性;

4.集成层:用框架(unitree_IL_lerobot+传感器SDKLidar/Camera)做上层功能集成;

5.验证层:用unitree_mujoco/ROS Gazebo做全场景验证,再落地实物。

嵌入式开发者无需面面俱到,只需根据自身需求(如专注电机控制、还是AI部署)锚定核心资源,逐步深入,即可高效利用宇树的开源生态降低开发成本。