Go2机器狗unitree_sdk2开发快速上手指南
·
本文基于Unitree官方开发文档,详细总结go2机器人unitree_sdk2的使用流程,包含环境配置、SDK安装、例程编译与运行等核心步骤,并附上常见问题及解决方案,助力开发者快速开展机器人开发工作。
一、开发环境准备
(一)系统环境要求
推荐使用Ubuntu 20.04操作系统进行开发,目前暂不支持Mac、Windows系统,且不能直接在Go2机器人的内置电脑上开发。
(二)网络环境配置
Go2机器人内置电脑的固定IP地址为192.168.123.161,需将用户电脑与机器人通信的网卡配置在123网段,具体步骤如下:
-
用网线连接Go2机器人与用户电脑,开启电脑的USB Ethernet功能;
-
配置USB Ethernet的IPv4参数:
- 方法选择“Manual(手动)”;
- 地址填写
192.168.123.xxx(xxx可自定义,如222,不可设为161); - 子网掩码设置为
255.255.255.0; - 网关无需填写。

-
网络连通性测试:打开终端,输入以下命令,若出现连续的响应信息则表示连接成功:
ping 192.168.123.161
- 查看123网段对应的网卡名称:执行
ifconfig命令,找到IP为192.168.123.xxx对应的网卡名(如enxf8e43b808e06),后续运行例程需用到该名称。
二、unitree_sdk2安装与编译
(一)SDK安装
假设工作目录为用户主目录(~),安装步骤如下:
- 下载unitree_sdk2压缩包,解压至用户主目录(~);
- 打开终端,执行以下命令安装至默认目录:
cd ~/unitree_sdk2/
mkdir build
cd build
cmake ..
sudo make install
- 若需安装到指定目录(如/opt/unitree_robotics),执行以下命令:
cd ~/unitree_sdk2/
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/unitree_robotics
sudo make install
注:修改CMAKE_INSTALL_PREFIX后的路径可自定义安装目录。
(二)例程编译
- 终端中执行以下命令编译例程:
cd ~/unitree_sdk2
mkdir build
cd build
cmake ..
make
- 编译成功判定:进度达到100%且无报错,会显示类似以下的目标文件构建信息:
[ 5%] Built target test_jsonize
[ 10%] Built target wireless
[ 15%] Built target humanoid
...
[100%] Built target go2_sub
- 编译产物位置:生成的例程二进制文件位于
~/unitree_sdk2/build/bin目录下,绿色字符对应的文件即为可执行文件。
三、例程运行演示
unitree_sdk2的例程分为高层控制例程(如high_level)和底层控制例程(如low_level),以下以两个常用例程为例,展示完整运行流程。
(一)low_level例程(控制右前腿摆动)
- 前置准备:
- 关闭Go2主运控服务(sport_mode):通过App-设置-服务状态关闭,或参考
stand_example_go2例程调用ServiceSwitch接口关闭; - 确保机器人四腿悬空,避免运行时硬件受损。
- 关闭Go2主运控服务(sport_mode):通过App-设置-服务状态关闭,或参考
- 运行命令:终端中执行以下命令(替换网卡名为步骤一中查询到的123网段网卡名):
cd ~/unitree_sdk2/build/bin
sudo ./low_level enxf8e43b808e06
- 成功标志:终端无报错,机器人右前小腿呈规律性摆动。
(二)stand_example_go2例程(趴下/站立切换)
- 前置准备:确保机器人处于静止趴下状态,无需手动关闭主运控服务(例程会自动关闭)。
- 运行命令:
cd ~/unitree_sdk2/build/bin
sudo ./stand_example_go2 enxf8e43b808e06
- 成功标志:机器人从趴下状态起身站立,维持一段时间后自动趴下。
四、常见问题及解决方案
(一)网络连接失败(ping 192.168.123.161无响应)
- 排查要点:
- 网线连接是否牢固,USB Ethernet功能是否开启;
- 电脑网卡IP是否正确配置在123网段(需与192.168.123.161同网段);
- 子网掩码是否设置为
255.255.255.0。
- 解决方案:重新插拔网线,检查网络配置参数,确保无IP冲突(避免多台设备使用同一123网段IP)。
(二)编译报错(make命令执行失败)
- 常见原因:
- 缺少CMake依赖或依赖版本过低;
- 工作目录权限不足;
- SDK压缩包解压不完整。
- 解决方案:
- 安装对应依赖:
sudo apt-get install cmake build-essential; - 确保用户对
~/unitree_sdk2目录有读写权限,或使用sudo提升命令权限; - 重新下载SDK压缩包并解压,避免文件缺失。
- 安装对应依赖:
(三)例程运行时机器人无响应
- 排查要点:
- 网卡名称是否填写正确(需与123网段对应的网卡名一致);
- 底层控制例程运行前,主运控服务(sport_mode)是否已关闭;
- 机器人是否处于例程要求的初始状态(如stand_example_go2需趴下状态)。
- 解决方案:
- 重新执行
ifconfig确认网卡名,替换命令中的错误名称; - 通过App再次确认主运控服务已关闭;
- 调整机器人初始姿态,按例程要求摆放。
- 重新执行
(四)运行例程时权限报错
- 原因:例程需要root权限才能与机器人通信。
- 解决方案:在运行例程的命令前添加
sudo,如sudo ./low_level enxf8e43b808e06。
注意事项
- unitree_sdk2会持续更新,
build/bin目录下的可执行文件可能与本文示例不一致,以实际编译结果为准; - 运行底层控制例程时,必须关闭主运控服务,否则会导致机器人接收多个控制指令而失控;
- 操作机器人时需注意安全,避免在机器人运动范围内放置障碍物,四腿悬空操作时需做好防护,防止机器人跌落损坏。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐




所有评论(0)