底层通信示例
UDP 传输数据内容详解
Section titled “UDP 传输数据内容详解”/* 原始数据 总长度108 个字节 * 0209 0000 6000 0000 0100 0000 2efd 3ccf * 47e4 e1bf f130 4992 f49e e7bf c3d7 eefe * 8567 f13f 9ae4 b66d 6583 f1bf 24d8 f33c * 3d00 f13f 8c16 222a 0b1f 0140 e8ba aaaa * 3803 ef3f d009 0000 60bd d2bf db04 3353 * 1150 e73f 7d0b 0000 72f0 e53f 0a3d 0cc3 * f071 e73f c3d7 eefe 7b52 f93f */
/// 内容解析// 0209 0000 // xxxx 命令字为0x0902// 6000 0000 // yyyy 正文数据长度为0x60 即长度为96 个字节// 0100 0000 // zzzz 为1,表示复杂指令,后方有正文数据
/* * bbbbbbbbbb................... * 以下为数据正文内容,共计96 个字节,数据为长度为12 的double 类型的数组 * 2efd 3ccf 47e4 e1bf f130 4992 f49e e7bf * c3d7 eefe 8567 f13f 9ae4 b66d 6583 f1bf * 24d8 f33c 3d00 f13f 8c16 222a 0b1f 0140 * e8ba aaaa 3803 ef3f d009 0000 60bd d2bf * db04 3353 1150 e73f 7d0b 0000 72f0 e53f * 0a3d 0cc3 f071 e73f c3d7 eefe 7b52 f93f */
// 即对应机器人关节角度double joint_angle[12] = { -0.5591162726995316, -0.7381537301203293, 1.0877742727584383, -1.0945791516990426, 1.0625584011991203, 2.1401580135014395, 0.9691432317102597, -0.2928085327149832, 0.7285238862024487, 0.6856012344363617, 0.7326587495353192, 1.5826377828902742};机器人状态查询表
Section titled “机器人状态查询表”(robot_basic_state, robot_gait_state, robot_motion_state) 的值对应的状态如下表所示:
| 值 | 状态 |
|---|---|
| (1, 0, 0) | 趴下状态 |
| (1, 0, 11) | 正在执行向前跳 |
| (4, 0, 0) | 准备起立状态 |
| (5, 0, 0) | 正在起立状态 |
| (6, 0, 0) | 力控状态(静止站立)且步态为平地低速步态 |
| (6, 0, 1) | 正在以平地低速步态踏步或正在根据轴指令扭动身体 |
| (6, 0, 2) | 正在执行扭身体 |
| (6, 0, 4) | 正在执行扭身跳 |
| (6, 2, 0) | 力控状态(静止站立)且步态为通用越障步态 |
| (6, 2, 1) | 正在以通用越障步态踏步 |
| (6, 4, 0) | 力控状态(静止站立)且步态为平地中速步态 |
| (6, 4, 1) | 正在以平地中速步态踏步 |
| (6, 5, 0) | 力控状态(静止站立)且步态为平地高速步态 |
| (6, 5, 1) | 正在以平地高速步态踏步 |
| (6, 6, 0) | 力控状态(静止站立)且步态为抓地越障步态 |
| (6, 6, 1) | 正在以抓地越障步态踏步 |
| (6, 12, 1) | 正在执行太空步 |
| (6, 13, 0) | 力控状态(静止站立)且步态为高踏步越障步态 |
| (6, 13, 1) | 正在以高踏步越障步态踏步 |
| (7, 0, 0) | 正在趴下状态 |
| (8, 0, 0) | 失控保护状态 |
| (9, 0, 0) | 姿态调整状态 |
| (11, 0, 0) | 正在执行翻身 |
| (17, 0, 0) | 回零状态 |
| (18, 0, 0) | 正在执行后空翻 |
| (20, 0, 0) | 正在执行打招呼 |