跳转至

real_data_decoder 模块文档

所属工具箱:RflySim Swarm

real_data_decoder 模块外观

简介

一句话描述:对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)

特性项
支持的数据类型 doublesingle
直接馈通
采样时间 继承
代码生成支持

数据通信协议

本模块不涉及网络通信,仅对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传输的飞行器状态数据并通过总线输出,涵盖位置、姿态、速度、飞控状态、遥测数据等各类信息。