unitree_sdk2 Go2 机器人通信的网卡设置

快速开始

更新时间:2024-09-12 18:21:35
 

本文介绍如何使用 unitree_sdk2 对 Go2 机器人进行开发。

环境依赖

系统环境

推荐在 Ubuntu 20.04 系统下进行开发, 暂不支持在 Mac、Windows 系统下进行开发, 且不支持在 Go2 的内置电脑上开发。

网络环境

需将用户电脑中与 Go2 机器人通信的网卡设置在 123 网段下,且该网卡的ip地址建议设置为 192.168.123.222 (“222”可以改成其他)。不允许将该网卡的ip地址设置为 192.168.123.161,此为 Go2 机器人内置电脑的 ip 地址。

安装与编译

以下叙述假设工作目录(working directory)为用户主目录。

安装 unitree_sdk2

下载 unitree_sdk2 压缩包并解压至用户主目录。打开一个终端,并依次执行下列命令以安装 unitree_sdk2:

cd ~/unitree_sdk2/
mkdir build
cd build
cmake ..
sudo make install

或者安装到指定目录下:

cd ~/unitree_sdk2/
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/unitree_robotics
sudo make install

注意

在上述命令中,CMAKE_INSTALL_PREFIX 后面用于指定将 unitree_sdk2 的安装至 /opt/unitree_robotics 目录下,如果您想将 unitree_sdk2 安装在其他目录,修改此路径即可。

例程编译

打开一个终端,并依次执行下列命令以编译例程:

cd ~/unitree_sdk2
mkdir build
cd build
cmake ..
make

运行上文中的 make 命令后,若进度进行到100%且没有报错,则意味着编译成功。

若成功执行 make 命令, 生成的例程会在 build/bin 目录下。下图中显示为绿色字符的即为编译成功的例程对应的二进制文件。

注意

由于 unitree_sdk2 会持续不断地更新,上图中的可执行文件可能会与最新的有所不同。

配置网络环境

运行例程时控制命令将会通过局域网从用户电脑发送至Go2机器人内置电脑,故在这之前需要通过一些必要的配置步骤将这两台电脑组成一个局域网。

配置步骤:

  1. 用网线的一端连接Go2机器人,另一端连接用户电脑,并开启电脑的 USB Ethernet 后进行配置。机器狗机载电脑的 IP 地地址为 192.168.123.161,故需将电脑 USB Ethernet 地址设置为与机器狗同一网段,如在 Address 中输入 192.168.123.222 (“222”可以改成其他)。
 

为了测试用户电脑与Go2机器人内置电脑是否正常连接,可在终端中输入ping 192.168.123.161进行检测,出现下图类似内容即为连接成功。

  1. 查看123网段对应的网卡名字
    通过ifconfig命令查看123网段的网卡名字,如下图所示:

如上图所示,ip 为 192.168.123.222 对应的网卡名字为 enxf8e43b808e06。用户需要记住此名字,在运行例程时其将会作为必要参数。

例程运行

编译成功后 unitree_sdk2/build/bin 文件夹中会有有 low_level、high_level、wireless 等例程对应的二进制文件。 这些例程总体上可分为高层控制例程和底层控制例程,其中详情,请查看《例程参考》篇。下文以运行 low_level 例程为例,该例子为底层控制例程,该例程会控制Go2机器人右前腿进行规律摆动。

关闭运控服务

在运行该例程前需要先关闭 Go2 的主运控服务(sport_mode)。 可在 App-设置-服务状态 里点击对应的服务关闭。也可以通过调用服务状态开关接口关闭运控服务,关于此方式可关注 unitree_sdk2 中的 stand_example_go2 例程,在此例程中展示了如何通过调用 ServiceSwitch 服务接口关闭运控服务。

注意

之所以需要先关闭主运控服务(sport_mode),这是因为底层控制例程也相当于一个运控服务,它们均会发送控制指令给 Go2 ,如果多个运控同时存在,则Go2机器人会同时接收两个或多个控制指令而产生混乱,造成机器狗失控。故在运行底层控制例程序前,需要确保对应的服务处于关闭状态。

运行例程

打开一个终端,并依次执行下列命令以运行例程。注:第二行命令中的"enxf8e43b808e06"字符串需要用户自行替换为用户电脑中对应于123网段的网卡名字。

cd ~/unitree_sdk2/build/bin
sudo ./low_level enxf8e43b808e06

注意

该例程会使 Go2 机器人腿部摆动,为了保护机器人,在运行此例程前应使机器人四腿悬空。

运行结果预览

若终端界面出现与下图相似画面,则表示运行成功

此时机器人右前小腿会呈规律性摆动状态

更多例程

stand_example_go2 例程可以控制四足机器人由趴下状态转换到站立状态,在站立一段时间后再重新进入趴下状态。同时该例程会通过 设备状态服务接口 关闭 Go2 的主运控服务,故在运行该例程前用户无需通过 App 关闭 Go2 的主运控服务(sport_mode)。

运行例程

打开一个终端,并依次执行下列命令以运行例程。注:第二行命令中的"enxf8e43b808e06"字符串需要用户自行替换为用户电脑中对应于123网段的网卡名字。

cd ~/unitree_sdk2/build/bin
sudo ./stand_example_go2 enxf8e43b808e06

注意

运行 stand_example_go2 例程前需让Go2机器人处于静止并趴在地上的状态。

posted @ 2025-11-06 09:07  aiplus  阅读(68)  评论(0)    收藏  举报
悬浮按钮示例