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

简介¶
一句话描述:该模块用于为多旋翼无人机的螺旋桨故障进行建模,支持向输入电机转速中注入指定类型与参数的螺旋桨故障,输出故障后的电机转速。
该模块是RflySim PHM(预测与健康管理)工具链中用于无人机故障注入建模的核心模块,主要面向无人机故障诊断、容错控制算法的仿真验证场景。模块内部集成了故障参数提取模块与螺旋桨故障建模模块,支持最多支持对8个以内电机注入不同程度的螺旋桨故障,故障以健康系数形式实现,支持从0对应电机完全失效、1对应电机无故障,可灵活配置偏效、效率衰减等多种典型螺旋桨故障。
在RflySim仿真工具链中,该模块常集成于PX4飞控与CopterSim物理仿真之间,接收注入噪声后的电机转速输入,输出故障处理后的转速信号传递给螺旋桨动力学模型,同时支持接收来自上层故障注入控制信号,可配合RflySim3D可视化故障效果,也可支持硬件在环仿真,为PHM算法开发与容错控制算法开发提供可靠的故障仿真支持。
端口说明¶
输入端口(Inputs)¶
| 端口名 | 数据类型 | 维度 | 说明 |
|---|---|---|---|
MotorRadsin |
double |
N×1 | 注入噪声后的电机转速,N为需要考虑的电机数量 |
FaultIn |
double |
8×N | 故障输入,包含每个电机的故障参数,每个电机对应8位故障参数 |
FaultID |
int |
1×N | 每个待注入故障电机的故障唯一标识密钥,N为电机数量 |
注:此处根据模块内层结构整理顶级模块输入端口,原始SDK仅明确标注顶级模块的MotorRadsin输入。
输出端口(Outputs)¶
| 端口名 | 数据类型 | 维度 | 说明 |
|---|---|---|---|
MotorRads |
double |
N×1 | 注入故障后的螺旋桨/电机转速,N为需要考虑的电机数量 |
参数配置(Parameters)¶
双击模块打开的 Mask 对话框中可配置以下参数:
| 参数名 | 类型 | 默认值 | 可选值/范围 | 说明 |
|---|---|---|---|---|
PropNum |
int |
4 |
1~8 |
需要注入故障的电机总数量 |
参数设置说明¶
PropNum¶
本参数用于指定仿真中需要考虑故障注入的电机总数量,最大支持同时对8个电机进行故障建模,多旋翼无人机通常设置为4。
模块特性(Block Characteristics)¶
| 特性项 | 值 |
|---|---|
| 支持的数据类型 | double、single |
| 直接馈通(Direct Feedthrough) | 是 |
| 采样时间 | 继承 |
| 代码生成支持 | 否 |
数据通信协议¶
本模块不涉及网络通信。
相关模块¶
| 模块名 | 说明 |
|---|---|
FaultParamsExtract |
提取故障参数,支持选择螺旋桨故障类型并输出注入故障后的螺旋桨转速 |
PropFaultModel |
实现螺旋桨故障注入的数学建模,根据健康系数调整输出转速 |
ActuatorFault |
RflySim PHM库中另一类执行器故障注入模块,可用于舵机等执行器故障建模 |
注意事项与常见问题¶
- 初始化顺序:使用该模块进行多旋翼无人机故障注入仿真时,需保证RflySim平台的飞机初始化模型先于PropFault模块完成运行,否则模块无法正确读取配置的电机数量与故障参数,导致故障注入结果异常。
- 参数格式要求:故障ID和FaultParam参数需符合格式要求,FaultParam为长度不小于PropNum的数组,每个元素为对应电机的健康系数,范围必须在0~1之间:0代表对应电机完全失效,输出恒为0;1代表对应电机无故障,保持原输出。若参数超出范围会导致输出转速异常。
- 电机数量匹配:模块输入
PropNum参数需要与实际仿真中多旋翼无人机的电机总数量保持一致,前PropNum个电机才会被模块纳入故障注入处理,超出数量的电机不会应用故障参数,始终输出原始转速。 - 故障ID匹配要求:故障ID的顺序需要对应电机编号顺序,即数组第一个FaultID对应1号电机,以此类推,顺序不匹配会导致故障注入到错误的电机上。
- 采样时间匹配:PropFault模块的采样时间需要和输入电机转速信号的模块采样时间保持一致,避免采样率不匹配导致转速输出跳变,影响仿真结果稳定性。
更新日志¶
v4.20(2024-07-24): 初始版本发布,实现螺旋桨故障注入与螺旋桨建模功能,支持多旋翼多电机的健康系数配置型故障注入