TODO
| 消息编号 | 消息名称 | 消息作用 | 通信方式 | 消息流向 | 对应ROS话题 | 备注 |
|---|---|---|---|---|---|---|
| #1 | 心跳包 HeartbeatData | 用来确认TCP连接的状态 | TCP | Sunray通信模块➡️ Sunray Station地面站 | 无 | - |
| #2 | 无人机状态 UAVState | 回传无人机当前状态 | UDP | Sunray控制模块➡️Sunray通信模块(编码)➡️Sunray Station地面站//其他Sunray智能体 |
• 话题类型:sunray_msgs::UAVState• 话题名: /uav_id/sunray/uav_state• 自定义消息: UAVState.msg
|
集群时,存在机间通信 |
| #3 | 无人机PX4状态 PX4State | 回传无人机PX4状态 | UDP | - |
• 话题类型:sunray_msgs::PX4State• 话题名: /uav_id/sunray/px4_state• 自定义消息: PX4State.msg
|
- |
| #4 | 无人机PX4飞控参数 PX4Parameter | 回传无人机PX4飞控参数 | UDP | Sunray通信模块(编码)➡️Sunray Station地面站//其他Sunray智能体 | - | - |
| #20 | 无人车状态 UGVState | 回传无人车当前状态 | UDP | Sunray控制模块➡️Sunray通信模块(编码)➡️Sunray Station地面站//其他Sunray智能体 |
• 话题类型:sunray_msgs::UGVState• 话题名: /ugv_id/sunray/ugv_state• 自定义消息: UGVState.msg
|
集群时,存在机间通信 |
| #30 | 机载电脑ROS节点 NodeData | 智能体机载电脑在线ROS节点显示 | UDP | Sunray通信模块(编码)➡️Sunray Station地面站 | 无 | 从ros master获取 |
| #31 | 智能体电脑状态 AgentComputerStatus | 智能体电脑状态包括:CPU占用率和温度、以及内存占用率 | UDP | Sunray通信模块(编码)➡️Sunray Station地面站 | 无 | 从系统获取 |
| #32 | FAC比赛地图数据 FACMapData | 回传比赛地图数据 | UDP | Sunray控制模块➡️Sunray通信模块(编码)➡️Sunray Station地面站//其他Sunray智能体 |
• 话题类型:sunray_msgs::Competion• 话题名: /CompetionState• 自定义消息: Competion.msg
|
- |
| #33 | FAC比赛状态 FACCompetitionState | 回传比赛状态数据 | UDP | Sunray控制模块➡️Sunray通信模块(编码)➡️Sunray Station地面站//其他Sunray智能体 |
• 话题类型:std_msgs::String• 话题名: /CompetionDebug
|
- |
| #34 | 航点状态 WayPointState | 回传航点数据 | UDP | Sunray控制模块➡️Sunray通信模块(编码)➡️Sunray Station地面站 |
• 话题类型:sunray_msgs::WayPointState• 话题名: /ugv_id/sunray/uav_waypoint_state• 自定义消息: WayPointState.msg
|
- |
| #40 | 编队切换 Formation | 编队的控制 | UDP | Sunray控制模块➡️Sunray通信模块(编码)➡️Sunray通信模块(解码)➡️其他Sunray控制模块 |
• 话题类型:sunray_msgs::Formation• 话题名: /sunray/formation_cmd• 自定义消息: Formation.msg
|
- |
| #41 | 编队切换(地面站) Formation | 地面站的编队控制指令 | TCP | Sunray Station地面站➡️Sunray通信模块(解码)➡️Sunray控制模块 |
• 话题类型:sunray_msgs::Formation• 话题名: /sunray/formation_cmd/ground• 自定义消息: Formation.msg
|
- |
| #102 | 无人机控制指令 UAVControlCMD | 在不同模式下通过控制量控制无人机 | TCP | Sunray Station地面站➡️Sunray通信模块➡️Sunray控制模块 |
• 话题类型:sunray_msgs::UAVControlCMD• 话题名: /uav_id/sunray/uav_control_cmd• 自定义消息: UAVControlCMD.msg
|
- |
| #103 | 无人机设置指令 UAVSetup | 无人机设置指令 | TCP | Sunray Station地面站➡️Sunray通信模块➡️Sunray控制模块 |
• 话题类型:sunray_msgs::UAVSetup• 话题名: /uav_id/sunray/setup• 自定义消息: UAVSetup.msg
|
- |
| #104 | 航点 WaypointData | 将航点数据发送给无人机 | TCP | Sunray Station地面站➡️Sunray通信模块➡️Sunray控制模块 |
• 话题类型:sunray_msgs::UAVWayPoint• 话题名: /uav_id/sunray/uav_waypoint• 自定义消息: UAVWayPoint.msg
|
- |
| #105 | Viobot算法开关 ViobotSwitch | 控制Viobot算法开关 | TCP | - |
• 话题类型:sunray_msgs::algo_ctrl• 话题名: /baton/stereo3_ctrl• 自定义消息: algo_ctrl.msg
|
- |
| #106 | RTK原点设置 RTKOrigin | 设置RTK原点 | TCP | - |
• 话题类型:sunray_msgs::RTKOrigin• 话题名: /sunray/global_rtk_origin• 自定义消息: RTKOrigin.msg
|
- |
| #120 | 无人车控制指令 UGVControlCMD | 在不同模式下通过控制量控制无人车 | TCP | Sunray Station地面站➡️Sunray通信模块➡️Sunray控制模块 |
• 话题类型:sunray_msgs::UGVControlCMD• 话题名: /ugv_id/sunray_ugv/ugv_control_cmd• 自定义消息: UGVControlCMD.msg
|
- |
| #200 | 搜索在线智能体 SearchData | 搜索在线智能体 | UDP | Sunray Station地面站➡️Sunray通信模块 | 无 | 无实际意义,通信连接用 |
| #201 | 智能体应答 ACKData | 在线智能体应答UDP广播 | UDP | Sunray通信模块(编码)➡️Sunray Station地面站 | 无 | 无实际意义,通信连接用 |
| #202 | 智能体demo DemoData | 在线无人机通过launch文件启动demo | TCP | Sunray Station地面站➡️Sunray通信模块 | 无 | 启动指定ROS launch |
| #203 | 功能脚本 ScriptData | 在线智能体远程启动功能脚本 | TCP | Sunray Station地面站➡️Sunray通信模块 | 无 | 启动指定脚本 |
| #204 | 规划点 Goal | 发送x、y、z数据给智能体,用于集群智能体的目标点 | TCP | Sunray Station地面站➡️Sunray通信模块➡️Sunray控制模块 |
• 话题类型:geometry_msgs/PoseStamped• 话题名: /goal_id
|
- |
| 表1-1 通信协议概览表 | ||||||
| 数据类型 | 消息长度 | 变量名 | 备注 |
|---|---|---|---|
| uint8_t | 1个字节 | agentType | 智能体类型 |
| uint32 | 4字节 | count | 心跳包计数(未使用) |