通信地址:192.168.1.106:30000
机器人收到导航任务请求后,将先执行导航任务(成功/失败/取消),然后返回携带执行结果的响应消息。使用该协议下发导航任务时,机器人会自动切换到导航模式,无需手动操作。
C++ SDK 与示例代码:DeepRoboticsLab/robotserver_sdk
<?xml version="1.0" encoding="UTF-8"?>
<Time>2023-01-01 00:00:00</Time>
<Value>100</Value><MapID>1</MapID>
<PosX>0.0</PosX><PosY>0.0</PosY><PosZ>0.0</PosZ>
<PointInfo>0</PointInfo><Gait>0</Gait><Speed>0</Speed>
<Manner>0</Manner><ObsMode>0</ObsMode><NavMode>0</NavMode>
<Terrain>0</Terrain><Posture>0</Posture>
参数分为点属性参数和路径属性参数两类:
点属性参数(定义目标点本身):
| 参数项 | 含义 | 类型 | 单位 | 说明 |
|---|
| Value | 目标点编号 | int | / | |
| MapID | 目标点所在栅格地图编号 | int | / | |
| PosX/PosY/PosZ | 目标点位置坐标 | float | m | |
| AngleYaw | 目标点朝向 | float | rad | |
| PointInfo | 目标点类型 | int | / | 过渡点=0,任务点=1,站立点=2,充电点=3 |
路径属性参数(规定如何从当前位置走到目标点):
| 参数项 | 含义 | 类型 | 说明 |
|---|
| Gait | 使用的步态 | int | 行走=0,越障=1,斜坡=2,楼梯=4,累积帧楼梯=6,45°楼梯=7,L行走=100,山地=101,L楼梯=102 |
| Speed | 使用的速度 | int | 正常=0,低速=1,高速=2 |
| Manner | 运动方式 | int | 前进=0,倒退=1 |
| ObsMode | 停避障功能 | int | 开启=0,关闭=1 |
| NavMode | 导航方式 | int | 直线导航=0,自主导航=1 |
| Terrain | 地形图模式 | int | 实心地面=0,镂空地面=1,无踢面楼梯=2,累积帧=3 |
| Posture | 身体高度 | int | 正常=0,匍匐=1 |
<?xml version="1.0" encoding="UTF-8"?>
<Time>2023-01-01 00:01:00</Time>
| Result值 | 含义 |
|---|
| 1 | 导航任务执行成功 |
| 2 | 导航任务执行失败 |
| 3 | 导航任务被取消 |
<?xml version="1.0" encoding="UTF-8"?>
<Time>2023-01-01 00:00:00</Time>
| Type字段值 | 消息类型 |
|---|
| 1007 | 查询导航任务执行状态 |
<?xml version="1.0" encoding="UTF-8"?>
<Time>2023-01-01 00:00:00</Time>
<?xml version="1.0" encoding="UTF-8"?>
<Time>2023-01-01 00:00:01</Time>
<NavTaskState>0</NavTaskState>
| NavTaskState值 | 含义 |
|---|
| 0 | 无导航任务 |
| 1 | 导航任务执行中 |
通过 TCP 本体监控协议向导航主机(192.168.1.106:30000)获取感知状态信息。
| 参数项 | 含义 | 参数值说明 |
|---|
| ObsState | 距离机器人2米内的规划路径上是否有障碍物 | 无障碍物=0,有障碍物=1 |