跳转至

LoadFault 模块文档

所属工具箱:RflySim PHM

LoadFault 模块外观

简介

一句话描述:该模块用于实现无人机三类常见负载故障的建模,计算故障引发的无人机总质量、惯性矩以及力矩参数变化,为无人机故障诊断与预测健康管理(PHM)仿真提供故障模型输入。

该模块是RflySim PHM接口库中专门面向无人机负载故障仿真的核心模块,支持负载掉落、负载漂移、负载泄露三类典型负载故障的配置与计算,可根据外部注入的故障指令自动提取对应故障参数,完成故障状态下无人机刚体动力学参数的更新计算。

该模块一般配合RflySim工具链中的CopterSim刚体六自由度仿真模块使用,可将计算得到的故障动力学参数输出给动力学模型,实现带负载故障的无人机飞行仿真,也可结合RflySim3D完成故障状态下的三维可视化展示,同时可对接PX4飞控实现硬件在环的故障仿真测试,是开展无人机负载故障诊断、容错控制算法验证的基础模块。

端口说明

输入端口(Inputs)

端口名 数据类型 维度 说明
6DOF Bus1 Bus - 封装了简易环境模型和刚体六自由度模型的输出信号[待确认]
ModelParam.uavMass double 1×1 无人机的总质量
ModelParam.uavR double 1×1 无人机的特定参考半径/距离,用于计算移动质量的偏移量
FaultIn Bus - 故障输入,包含故障类型和对应故障参数

输出端口(Outputs)

端口名 数据类型 维度 说明
Fail Model Bus1 Bus - 封装了故障计算后的uavMassuavJdeltaMuavR输出信号

参数配置(Parameters)

双击模块打开的 Mask 对话框中可配置以下参数:

参数名 类型 默认值 可选值/范围 说明
uavMass double 1.0 (0, +∞) 无人机初始总质量
uavR double 0.1 (0, +∞) 无人机参考半径/距离,用于计算移动质量偏移
isLoadFall bool false true/false 标记是否发生负载掉落故障
LoadFallParams double array [0] - 负载掉落故障的参数数组
isLoadShift bool false true/false 标记是否发生负载漂移故障
LoadShiftParams double array [0, 0, 0, 0] - 负载漂移故障的参数数组
isLoadLeak bool false true/false 标记是否发生负载泄露故障
LoadLeakParams double array [0, 0] - 负载泄露故障的参数数组
dcm double eye(3) 3×3正交矩阵 方向余弦矩阵,用于将载荷移动产生的力转换到无人机机体坐标系
uavlostJ double matrix zeros(3,3) 3×3矩阵 无人机因负载故障损失的惯性矩矩阵

参数设置说明

isLoadFall/isLoadShift/isLoadLeak

三个布尔型参数分别用于手动使能对应类型的负载故障,若使用外部FaultIn端口注入故障,可将对应参数设置为false,由外部故障注入信号控制故障触发。

故障参数说明

  • LoadFallParams:负载掉落故障仅需要1个参数,为掉落负载占总质量的比例(范围0~1
  • LoadShiftParams:负载漂移故障需要4个参数,依次为漂移负载质量占总质量的比例、x轴漂移因子、y轴漂移因子、z轴漂移因子
  • LoadLeakParams:负载泄露故障需要2个参数,依次为最大泄露质量占总质量的比例、泄露速率因子

模块特性(Block Characteristics)

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

数据通信协议

本模块不涉及网络通信。

相关模块

模块名 说明
FaultParamsExtract 用于提取输入故障信息中的故障类型与对应故障参数
PropellerFault 旋翼故障注入与故障模型计算模块,属于RflySim PHM接口库
BatteryFault 电池故障注入与故障模型计算模块,属于RflySim PHM接口库
IMUFault IMU传感器故障注入与故障模型计算模块,属于RflySim PHM接口库

注意事项与常见问题

  • 初始化顺序:该模块需要依赖六自由度模型输出的6DOF Bus总线信号,必须确保六自由度模型模块先于LoadFault模块完成初始化,否则会出现总线信号解析错误,无法正确计算故障后的质量和惯性矩变化。
  • 故障ID匹配:输入的故障注入信号必须与模块预设的故障ID严格匹配,123452对应负载掉落故障、123456对应负载漂移故障、123457对应负载泄露故障,ID不匹配时模块无法识别注入故障,会保持无故障或上一时刻的故障状态。
  • 参数维度要求:不同故障对应的参数数组维度必须符合要求:负载掉落故障参数为1维(重量变化比例),负载漂移故障参数为4维(重量变化比例+xyz三个方向漂移因子),负载泄露故障为2维(初始重量泄露比+泄露速率因子),维度错误会导致仿真计算出错。
  • 采样时间匹配:模块输出的故障参数会保持上一时刻的状态直到新的故障注入,模块采样时间需要与六自由度飞控仿真的采样时间保持一致,否则会出现故障状态更新不及时或更新错误的问题。
  • 惯性矩矩阵格式:输入的损失惯性矩uavlostJ必须为3×3的矩阵,输出的力矩变化deltaM需要保证为3×1向量,格式错误会导致Simulink信号维度不匹配报错。
  • 多故障同时触发:模块支持同时开启多种负载故障(同时置位isLoadFallisLoadShiftisLoadLeak),此时模块会叠加计算不同故障对质量和惯性矩的影响,若仅需触发单故障,需要将其余故障的使能布尔值置为false。

更新日志

  • v4.1.0 (2024-07-24): 初始发布LoadFault模块,支持LoadFall、LoadShift、LoadLeak三类负载故障的故障参数提取与故障影响计算功能