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

简介¶
一句话描述:对RflyUdpFast简化数据模式下的群组无人机传输数据进行解码,输出无人机各类状态信息。
该模块是RflySim Swarm接口库中的群组仿真数据解码工具,专为多无人机集群仿真场景设计,搭配RflyUdpFast模块使用,可将接收到的打包原始传输数据解析为可直接调用的总线格式状态数据,MATLAB会自动提示总线内包含的数据类型,方便用户直接提取使用。
该模块常用于RflySim工具链的多无人机集群仿真任务中,接收来自CopterSim或者其他集群节点通过UDP传输的简化无人机状态数据,解析后输出无人机的全局位置、姿态欧拉角、本地坐标位置与速度等状态信息,为Simulink中的集群控制算法提供输入,支持用户快速开发验证多无人机协同任务算法,可对接PX4飞控与RflySim3D可视化实现完整的集群仿真闭环。
端口说明¶
输入端口(Inputs)¶
| 端口名 | 数据类型 | 维度 | 说明 |
|---|---|---|---|
RxData |
uint8 |
N×1 |
RflyUdpFast简化数据模式下输出的原始接收数据 |
输出端口(Outputs)¶
| 端口名 | 数据类型 | 维度 | 说明 |
|---|---|---|---|
VehicleStates |
Bus |
1 | 包含无人机状态数据的总线,包含全局位置、姿态欧拉角、本地坐标位置与速度,MATLAB可自动识别总线内信号 |
参数配置(Parameters)¶
双击模块打开的 Mask 对话框中可配置以下参数:
| 参数名 | 类型 | 默认值 | 可选值/范围 | 说明 |
|---|---|---|---|---|
CopterID |
int |
1 |
1~255 |
需要解码状态数据的目标无人机ID |
参数设置说明¶
CopterID¶
指定当前模块解码对应ID无人机的状态数据,在多机蜂群仿真中,每个解码模块对应一个无人机的状态数据解析,根据蜂群内无人机的编号设置对应ID即可。
模块特性(Block Characteristics)¶
| 特性项 | 值 |
|---|---|
| 支持的数据类型 | double、single |
| 直接馈通(Direct Feedthrough) | 是 |
| 采样时间 | 继承 |
| 代码生成支持 | 否 |
数据通信协议¶
本模块仅对RflyUdpFast模块输出的简化数据进行解码,不直接进行网络通信。
相关模块¶
| 模块名 | 说明 |
|---|---|
RflyUdpFast |
用于实现集群场景下的高速UDP数据接收,可输出简化格式的无人机状态数据供本模块解码 |
Full_data_decoder |
对RflyUdpFast输出的全量数据格式进行解码,输出更丰富的无人机状态信息 |
RflyUdpSend |
用于向仿真环境或其他机载单元发送无人机控制指令数据 |
注意事项与常见问题¶
- 初始化顺序:本模块必须搭配RflyUdpFast模块使用,且需确保RflyUdpFast模块已配置为简化数据传输模式,仿真启动前要确认RflyUdpFast完成通信初始化后,本模块才能正确解析输入数据
- 输入数据匹配:本模块仅支持解析RflyUdpFast简化数据模式输出的数据包,若输入Full_data_decoder对应模式的数据或其他自定义格式数据,会出现解码错误,输出状态数据全为0或异常值
- 总线数据提取:使用Simulink Bus Selector模块提取本模块总线输出数据时,无需手动添加信号,MATLAB会自动识别本模块输出总线中包含的所有可用状态信号,若出现无信号提示,需重新更新Simulink模型后再打开Bus Selector配置界面
- 多无人机解码适配:单架无人机只需配置一个Simple_data_decoder模块,多机编队解码场景下,需要为每一路RflyUdpFast的输出分别连接独立的Simple_data_decoder模块,共享模块会导致解码数据混叠错误
- 采样时间匹配:本模块默认继承输入信号的采样时间,若设置了固定采样时间,需要和上游RflyUdpFast模块的通信采样时间保持一致,避免出现数据更新不及时或重复解码的问题
更新日志¶
v4.0.0(2024-01-01): 初始版本发布,实现搭配RflyUdpFast的简化模式数据解码功能,输出包含无人机全局位置、姿态欧拉角、本地坐标位置与速度的总线数据。