跳转到内容

网络配置与编译运行

Motion SDK 采用 UDP 与机器人固件进行双向通信:

graph LR
A["SDK (开发主机)"] -->|"UDP: 192.168.x.x:43893"| B["机器人固件 (运动主机)"]
B -->|"UDP 广播: port 43897"| A
方向端口说明
机器人 → SDK43897(本地监听)机器人固件向此端口广播状态数据
SDK → 机器人43893(目标端口)发往 192.168.x.x:43893
  • 通过 WiFi 连接时:
    • 网段为 1 → 运动主机 IP 为 192.168.1.120
    • 网段为 2 → 运动主机 IP 为 192.168.2.1
  • 通过背部网口连接时:运动主机 IP 为 192.168.1.120
用户名密码说明
ysc'(英文单引号)默认配置
user123456备选
fireflyfirefly备选

SSH 登录到运动主机后,编辑网络配置文件:

Terminal window
cd ~/jy_exe/conf
vim network.toml

配置文件内容:

ip = '192.168.1.102' # 运动主机将数据发送到此 IP
target_port = 43897
local_port = 43893

将 ip 修改为 SDK 运行所在主机的 IP 地址:

  • SDK 在运动主机内运行 → 设为 192.168.1.120 或 192.168.2.1
  • SDK 在开发主机上运行 → 设为开发主机的静态 IP(如 192.168.1.xxx)

检查运动程序版本:

Terminal window
cd ~/jy_exe/scripts
./stop.sh
./run.sh

检查版本

若用户名为 user 且 Deeprcs Version 早于 1.4.24(97),或用户名为 firefly 且版本早于 1.4.21(94),需修改型号配置:

Terminal window
cd ~/jy_exe/conf
vim name.toml

将 name 值改为 standard_2。

若终端显示如下图所示的新版界面,则无需修改:

新版界面

配置完成后重启运动程序:

Terminal window
cd ~/jy_exe/scripts
sudo ./stop.sh
sudo ./restart.sh

main.cpp 中创建 Sender 时需指定运动主机 IP:

Sender* send_cmd = new Sender("192.168.1.120", 43893); ///< 根据实际主机地址修改
项目要求
操作系统Linux(Ubuntu 推荐)
CMake≥ 2.8.3
编译器C++11 编译器
预编译库已包含在 lib/ 目录下

进入项目目录,创建 build 文件夹并编译:

Terminal window
cd Lite3_MotionSDK
mkdir build && cd build

x86 平台编译:

Terminal window
cmake .. -DBUILD_PLATFORM=x86
make -j

ARM 平台编译(用于在运动主机上运行):

Terminal window
cmake .. -DBUILD_PLATFORM=arm
make -j

编译完成后在 build 目录下生成可执行文件 Lite_motion。

CMakeLists.txt 通过 BUILD_PLATFORM 参数选择对应平台的预编译库:

if (BUILD_PLATFORM STREQUAL arm)
target_link_libraries(${PROJECT_NAME} libdeeprobotics_legged_sdk_aarch64.so)
else()
target_link_libraries(${PROJECT_NAME} libdeeprobotics_legged_sdk_x86_64.so)
endif()

预编译库列表:

文件架构用途
libdeeprobotics_legged_sdk_x86_64.sox86_64开发上位机
libdeeprobotics_legged_sdk_aarch64.soARM64Lite3 机载主机

确保开发主机已连入机器人网络,然后执行:

Terminal window
./Lite_motion

为使机器狗顺利回零,请在运行程序前将机器狗调整到准备姿势。