Unitree G1 EDU SDK 入门:SDK2、ROS 2 与 CycloneDDS 安全连接

如果目标是进行SDK开发,第一步不是安装ROS 2,而是确认订单和设备属于G1 EDU。Unitree官方产品表把普通G1的Secondary Development标为“/”,G1 EDU则标为“YES”;普通G1的13,500美元起价也不是G1 EDU价格,EDU仍需Contact sales。

软件路径同样不能混用:C++ SDK2的官方预编译基准是Ubuntu 20.04与GCC 9.4.0,unitree_ros2则推荐Ubuntu 22.04与ROS 2 Humble,并以CycloneDDS 0.10.2为机器人侧兼容基准。安全的首次验证是通过以太网和DDS持续读到IMU、关节与电池状态,而不是直接运行行走、特技或力矩示例。

二次开发前先把普通G1与G1 EDU分开

Unitree G1官方产品表同时列出普通G1和G1 EDU,但两者的开发定位不同。普通G1的Secondary Development没有支持标记,G1 EDU才写有YES。采购时应在合同、铭牌和配置清单中确认EDU版本、手部、腰部、腕部、计算模块与可用接口,而不是只根据外观判断。

普通G1的起价为13,500美元,页面明确不含税和运费;G1 EDU的价格为Contact sales。这两个状态不能合并成“13,500美元即可获得SDK开发版”。如果还在选择型号,可先看宇树R1、G1、H1与H2对比宇树机器人价格与购买指南

G1 EDU约35千克以上,官方自由度范围为23至43,取决于腰、手与腕部选项;约2小时电池时间也是制造商给出的近似值,而非每种动作下的保证。开发代码必须读取实际关节配置和固件能力,不能把某个示例的关节数组直接套到所有G1 EDU。

项目普通G1G1 EDU开发判断
Secondary Development/YESSDK项目应书面确认EDU配置
公开价格13,500美元起,不含税运Contact sales普通版价格不能替代EDU报价
自由度按具体配置23至43代码与消息需匹配实机
使用风险动力人形机器人动力人形机器人均需隔离区、监护与停止措施

SDK2、Python接口和ROS 2是三条不同的环境路径

unitree_sdk2官方仓库是C++通信与控制库。当前README给出的预编译环境为Ubuntu 20.04 LTS,支持aarch64与x86_64,编译基准包括CMake 3.10以上、GCC 9.4.0和Make。这一组要求不能自动替换成ROS 2 Humble环境。

unitree_sdk2_python是另一条Python路径,要求Python 3.8以上,并列出cyclonedds 0.10.2、NumPy和OpenCV。Python接口方便读取和原型验证,但不表示所有底层示例都与C++仓库一一对应。

unitree_ros2官方仓库通过ROS 2与Unitree DDS消息和示例交互,测试组合包括Ubuntu 20.04+Foxy,以及推荐的Ubuntu 22.04+Humble。项目应先选一条主路径,建立可复现容器或主机记录,再讨论是否把其他接口放进同一系统。

路径官方当前基准适合的首次目标常见误区
C++ SDK2Ubuntu 20.04、GCC 9.4.0编译并读取原生消息直接套用ROS 2依赖
Python SDK2Python 3.8+、cyclonedds 0.10.2快速读取与记录状态把Python便利性当成实时保证
unitree_ros2 HumbleUbuntu 22.04+Humble,推荐发现话题并读取状态假设所有G1功能完整支持
unitree_ros2 FoxyUbuntu 20.04+Foxy维护既有环境随意更换CycloneDDS分支

CycloneDDS版本、网卡和地址必须同时匹配

Unitree的ROS 2说明指出,机器人侧使用CycloneDDS 0.10.2。Foxy流程示例构建releases/0.10.x,Humble流程则可以跳过单独构建步骤。这里的含义是遵循当前官方兼容路径,而不是“版本越新越好”;升级DDS后应重新验证发现、序列化和QoS行为。

官方以太网示例把开发PC设为192.168.123.99、掩码255.255.255.0,并要求在CYCLONEDDS_URI中写入真实网络接口。第一次连接时应关闭与机器人无关的Wi-Fi、VPN和多余DDS接口,记录网卡名称、路由与防火墙状态,避免把发现失败误判成机器人故障。

网络连通只证明IP层可达,不能证明消息类型、QoS和固件完全一致。先确认仓库分支、消息包与实机版本,再通过`ros2 topic list`观察机器人实际暴露的话题;不要根据博客或另一型号的命名猜测控制话题。遇到传感器有数据而命令无响应时,可参考ROS 2传感器与命令QoS逐项比较可靠性、历史深度和截止期限。

检查层只读验证失败时先排查
以太网PC与机器人网段可达IP、掩码、网卡、VPN、防火墙
DDS发现能看到预期参与者与话题CYCLONEDDS_URI、接口、版本
消息状态消息持续更新且字段合理消息定义、仓库分支、固件
QoS订阅稳定,无异常丢失reliability、history、depth和频率
Unitree G1实拍照片
这张CC0照片展示G1外观,但不能据此确认EDU选件、SDK权限或固件配置。 来源: Sayanesy / Wikimedia Commons. 许可: CC0 1.0.

第一次成功应定义为稳定读到状态数据

首次连接要在机器人固定、周围清空、现场监护和物理停止手段就绪的条件下进行。先让系统静止,不发布运动或力矩命令;确认设备型号、关节数量、电池状态和控制模式都与记录一致。

在ROS 2路径中,先source正确环境并运行`ros2 topic list`,再使用仓库中的G1/H1/H1-2状态读取示例,例如`read_low_state_hg`,观察IMU、关节位置、速度与电池消息是否持续更新。仓库存在G1低层与状态示例,说明可以从这些消息入手,但不能据此宣称G1所有功能均已完整ROS 2化。

把只读数据保存下来,记录时间戳、频率、空值、跳变和断连恢复。可用rosbag2记录、回放与QoS指南建立第一次基线。只有在状态链路可重复、消息与实机配置匹配后,才有条件评估下一阶段的受限命令。

顺序动作通过标准此时不要做
1核对G1 EDU与配置订单、铭牌、关节和固件一致按普通G1假设开发权限
2固定网卡与DDS环境稳定发现参与者和话题同时开启多条不明网络路径
3读取低层状态IMU、关节、电池持续且合理发送行走或力矩命令
4记录并重连断连后按流程恢复且日志完整把一次成功当成兼容证明

控制示例必须在模型、模式和停止链确认后再运行

低层控制示例可能绕过高层行为保护,特技或行走示例也会让约35千克以上的机器人迅速进入人员空间。Unitree明确提醒人形机器人结构复杂、动力强,应与人员保持足够安全距离;部分功能仍处在开发或测试过程中。

下一阶段应先限定单个关节或低幅动作、设置速度与角度上限、确认支撑和落脚空间,并安排一名不负责敲命令的安全观察员。急停与保护停机的职责不同,可在机器人急停与保护停机中先厘清。没有物理停止手段时,不应以软件终端中断代替。

如果准备接入ros2_control,还要先理解官方Unitree消息路径与通用硬件接口之间的适配层,不能因为两者都使用ROS 2就假定已经兼容。ros2_control硬件接口解释了状态接口、命令接口和控制器管理器需要怎样对应真实设备。

汇总“Unitree G1 EDU SDK 入门:SDK2、ROS 2 与 CycloneDDS 安全连接”关键判断的判断卡片
Physical AI Lab根据所引官方资料重新整理的编辑卡片。 来源: Physical AI Lab. 许可: Owned original.

从实验室网络走向共享网络时要重新划定权限

DDS自动发现对实验室调试很方便,却可能在共享网络中暴露参与者、话题和命令面。第一次连接可使用与其他办公设备隔离的有线网段,随后再设计认证、访问控制、日志和更新流程。不要把机器人控制接口直接暴露到互联网。

ROS 2与DDS机器人安全可用于检查参与者身份、密钥、网络分区和最小权限。开发PC还应固定依赖版本,保存仓库commit或tag,并记录固件、消息包和CycloneDDS版本,避免数周后无法复现首次连接。

这套入门流程的终点不是让G1 EDU走起来,而是得到一条可审计的证据链:买的是支持二次开发的配置,软件环境符合官方当前说明,网络和DDS稳定,状态消息与实机一致,停止与权限边界已经建立。动作开发应在这条基线之上逐级扩展。

常见问题

普通G1也能直接使用SDK2和ROS 2开发吗?

不能仅凭普通G1的价格和外观这样判断。Unitree产品表只在G1 EDU的Secondary Development一栏标记YES;开发项目应向销售确认EDU订单配置、固件、接口与权限。

Ubuntu 22.04与ROS 2 Humble是否是官方推荐组合?

是,unitree_ros2当前把Ubuntu 22.04+Humble列为测试且推荐的组合。但C++ SDK2预编译基准是Ubuntu 20.04与GCC 9.4.0,两条路径不应无计划混装。

G1 EDU第一次连接应该运行哪个动作示例?

先不要运行动作示例。用`ros2 topic list`和`read_low_state_hg`等只读路径确认DDS、IMU、关节与电池状态,再完成停止、工作区和型号核对后,才进入受限控制测试。

已核验的官方资料

最后核查:2026年8月6日