real_data_decoder 模块文档¶
所属工具箱:RflySim Swarm

简介¶
一句话描述:对RflyUdpMavlink模块传输的UDP报文无人机数据进行解码,通过Simulink总线输出各类无人机状态与遥测信息。
该模块是RflySim Swarm集群工具链中用于飞控遥测数据解析的核心模块,主要配合RflyUdpMavlink模块完成数据处理。它接收RflyUdpMavlink模块输出的原始MAVLink格式数据,解码后以Simulink总线形式输出各类信息,提取数据时MATLAB会自动提示总线内可用的数据项,方便用户快速调用所需信息。
该模块可支持真实PX4飞控硬件和CopterSim仿真环境输出的无人机数据解码,典型应用于集群无人机仿真、实物无人机状态监控、 swarm算法开发验证等场景,可将来自多架无人机的位置、姿态、速度、飞行模式、电池状态、定位状态、遥控按键状态等各类遥测信息输出供Simulink用户算法调用,对接RflySim3D可视化模块可实现无人机集群状态的实时三维展示。
端口说明¶
输入端口(Inputs)¶
| 端口名 | 数据类型 | 维度 | 说明 |
|---|---|---|---|
Input |
uint8 |
N×1 |
输入RflyUdpMavlink模块传输的原始UDP数据报文 [待确认] |
输出端口(Outputs)¶
| 端口名 | 数据类型 | 维度 | 说明 |
|---|---|---|---|
VehicleStateBus |
Bus |
非标 | 总线输出飞行器各类状态信息,总线包含:全局位置、姿态角、姿态四元数、本地位置、对地速度、手动/自动遥控输入、飞控状态、定位状态、飞行模式、电池电量、关键按键状态、地面站心跳信息等状态数据 [待确认] |
参数配置(Parameters)¶
双击模块打开的 Mask 对话框中可配置以下参数:
| 参数名 | 类型 | 默认值 | 可选值/范围 | 说明 |
|---|---|---|---|---|
CopterID |
int |
1 |
1~255 |
需要解码状态数据的无人机ID |
参数设置说明¶
CopterID¶
指定需要解码状态信息的无人机ID,当集群组网通信中存在多架无人机时,将只输出对应ID无人机的飞行状态数据。
模块特性(Block Characteristics)¶
| 特性项 | 值 |
|---|---|
| 支持的数据类型 | double、single |
| 直接馈通 | 是 |
| 采样时间 | 继承 |
| 代码生成支持 | 否 |
数据通信协议¶
本模块不涉及网络通信,仅对RflyUdpMavlink模块输入的已接收UDP数据进行解码处理。
相关模块¶
| 模块名 | 说明 |
|---|---|
RflyUdpMavlink |
负责通过UDP接收MAVLink格式的真实飞行数据,输出原始数据给本模块解码 |
real_data_encoder |
对仿真生成的无人机状态数据进行编码,可用于向真实飞控发送仿真数据 |
OffboardControlDecode |
解码地面站发送的offboard控制指令,用于 swarm 集群仿真控制 |
VehicleStatusBusCombine |
整合多架无人机的状态总线数据,用于集群仿真的数据管理 |
注意事项与常见问题¶
- 初始化顺序:该模块必须搭配RflyUdpMavlink模块使用,仿真启动前需确保RflyUdpMavlink已经完成UDP通信端口初始化,否则会导致解码输入数据为空,输出全为零值。
- 采样时间匹配:模块解码输出的状态数据更新频率依赖输入数据的接收频率,请将该模块的采样时间设置为与RflyUdpMavlink模块保持一致,避免出现数据重复输出或状态更新不及时的问题。
- 总线数据提取:使用Bus To Element提取总线内具体状态数据时,若总线类型提示不匹配,请右键点击该模块选择「Update Bus」即可刷新总线定义,同步最新的数据字段列表。
- 实机数据适配:当该模块用于解码实机飞控传回的遥测数据时,需确认实机飞控的MAVLink数据报文ID与该模块预设解码规则一致,否则会出现关键状态(如飞行模式、定位状态)解码错误的问题。
- 多机集群场景:集群多机仿真中,每架无人机需要对应配置一个独立的real_data_decoder模块,分别连接对应无人机的RflyUdpMavlink输出,不可多个无人机共用同一个解码模块。
更新日志¶
v4.0.0(2023-06-15): 初始版本发布,实现real_data_decoder解码功能,支持解码RflyUdpMavlink传输的飞行器状态数据并通过总线输出,涵盖位置、姿态、速度、飞控状态、遥测数据等各类信息。