跳转到内容

本体监控协议(TCP)

  • V3.0.26或更高版本的robot_server;
  • V4.0.0或更高版本的整机软件包。

如需查看robot_server版本,可进入导航主机(默认地址为192.168.1.106)运行命令:

dpkg -l robot_server

本协议适用于机器人本体与上位机(外部板卡或系统)通信使用。

本协议应用层(第7层)
TCP/IP协议或UDP/IP协议传输层(第4层)
网络层(第3层)
以太网链路层(第2层)
物理层(第1层)

本协议使用时,机器人本体为TCP服务端,上位机(外部板卡或系统)为TCP客户端。协议的TCP服务端端口号为 192.168.1.106:30000。

本协议主要使用请求/响应机制。上位机可主动向机器人本体发起数据查询、控制命令等请求,机器人本体通过响应回复请求。

本协议APDU(应用协议数据单元)采用”协议头部+ASDU(应用服务数据单元)“结构,每个APDU可以携带1个ASDU。

协议头部长度固定16字节,内容如下表所示。

序号内容长度值备注
1同步字符10xeb固定
2同步字符10x91固定
3同步字符10xeb固定
4同步字符10x90固定
5长度2APDU中ASDU字节段的长度,采用小端字节序,低字节在前,ASDU最大长度限制为65535字节
6报文ID2每帧报文的唯一标识,从0开始递增,达到65535后重新从0开始;采用小端字节序,低字节在前
7预留80x00预留8字节,暂填0

本协议ASDU数据内容采用XML格式组织,包含以下通用字段:

字段含义
Type消息类型
Command消息命令码
Time报文发送时间,本地时区,格式:YYYY-MM-DD HH:MM:SS
Items消息所携带的参数项

一个ASDU案例如下:

<?xml version="1.0" encoding="UTF-8"?>
<PatrolDevice>
<Type>1002</Type>
<Command>1</Command>
<Time>2023-01-01 00:00:00</Time>
<Items/>
</PatrolDevice>

文档包含的ASDU消息类型包含以下几种:

Type字段值消息类型
1002获取实时基础状态
1003下发导航任务
1004取消导航任务
1007查询导航任务执行状态
1101智能控制器指示灯控制
2001电池信息
2101初始化定位
1008获取电机温度
0请求消息错误反馈

当客户端发送的请求消息错误时,机器人将返回Type字段值为0的响应消息:

<?xml version="1.0" encoding="UTF-8"?>
<PatrolDevice>
<Type>0</Type>
<Command>0</Command>
<Time>0000-00-00 00:00:00</Time>
<Items>
<ErrorCode>0</ErrorCode>
</Items>
</PatrolDevice>
参数项含义参数值说明
ErrorCode请求格式错误类型协议头缺失 = 1,协议头错误 = 2,数据长度异常 = 3,数据格式解析失败 = 4