LoadFault 模块文档¶
所属工具箱:RflySim PHM

简介¶
一句话描述:该模块用于实现无人机三类常见负载故障的建模,计算故障引发的无人机总质量、惯性矩以及力矩参数变化,为无人机故障诊断与预测健康管理(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 |
- | 封装了故障计算后的uavMass、uavJ、deltaM、uavR输出信号 |
参数配置(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)¶
| 特性项 | 值 |
|---|---|
| 支持的数据类型 | double、single、boolean |
| 直接馈通(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信号维度不匹配报错。 - 多故障同时触发:模块支持同时开启多种负载故障(同时置位
isLoadFall、isLoadShift、isLoadLeak),此时模块会叠加计算不同故障对质量和惯性矩的影响,若仅需触发单故障,需要将其余故障的使能布尔值置为false。
更新日志¶
v4.1.0(2024-07-24): 初始发布LoadFault模块,支持LoadFall、LoadShift、LoadLeak三类负载故障的故障参数提取与故障影响计算功能