跳转到内容

通信架构

基于TCP或UDP协议(根据具体开发需要进行选择),适用于机器人本体与上位机(外部板卡或系统)通信使用。

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

本协议使用时,机器人本体为TCP/UDP服务端,外部板卡或系统为TCP/UDP客户端。

  • UDP服务端地址:10.21.31.103:30000
  • TCP服务端地址:10.21.31.103:30001

本协议主要使用请求/响应机制。上位机可主动向机器人本体发起数据或状态查询请求,机器人本体通过响应回复部分请求。

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

序号内容长度值/说明
1-4同步字符4 字节0xeb 0x91 0xeb 0x90
5-6长度2 字节ASDU 字节段长度(小端字节序),最大 65535
7-8报文 ID2 字节请求帧/响应帧匹配标识(小端字节序)
9ASDU 格式1 字节0x00=XML, 0x01=JSON
10-16预留7 字节填 0x00

ASDU 采用 JSON 或 XML 格式,推荐使用 JSON 格式(处理性能更快且数据结构更全面),包含以下字段:

字段含义
Type消息类型
Command消息命令码
Time报文发送时间(YYYY-MM-DD HH:MM:SS)
Items参数项

通过 DrDDS 中间件提供 ROS2 兼容的话题与服务接口,适用于复杂算法开发与多节点协同。

注意: 使用ROS2 工具接收话题、查看频率等前,需要source /opt/robot/scripts/setup_ros2.sh环境变量。