跳转至

MotorFault 模块文档

所属工具箱:RflySim PHM

MotorFault 模块外观

简介

一句话描述:该模块用于向多旋翼无人机电机注入指定参数的电机效率故障,输出注入故障后的电机转速,支持无噪声和带噪声两类电机故障注入。

该模块属于RflySim PHX故障诊断与预测健康管理工具链,主要用于面向电机故障的仿真测试场景,内置完成了电机原理数学建模与故障注入逻辑,开发者仅需配置故障类型与参数即可完成故障注入,无需自行搭建故障模型。该模块可配合PX4飞控仿真、CopterSim物理引擎仿真与RflySim3D可视化环境使用,接收正常控制逻辑输出的电机PWM指令,将注入故障后的电机转速输出给飞控或动力学模型,可用于复现电机卡滞、效率下降、完全停转等各类典型电机故障场景,为无人机电机故障诊断、容错控制算法开发提供仿真数据支撑。

端口说明

输入端口(Inputs)

端口名 数据类型 维度 说明
FaultIn double 1×N 故障输入,包含故障类型标识和故障参数信息
PWMIn double 1×M 外部输入的无故障电机转速,M为无人机电机数量

输出端口(Outputs)

端口名 数据类型 维度 说明
MotorRads double 1×M 注入指定故障后的电机转速输出,M为无人机电机数量

参数配置(Parameters)

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

参数名 类型 默认值 可选值/范围 说明
MotorFaultID int 123450 123450 电机故障的唯一标识ID
NoiseMotorFaultID int [待确认] 正整数 带噪声电机执行效率故障的唯一标识ID [待确认]
FaultMotorNum int 1 1~16 发生故障的电机编号

参数设置说明

MotorFaultID

电机故障类故障的全局唯一标识密钥,本模块通过该ID匹配输入的故障指令,触发对应电机故障注入。

FaultMotorNum

指定需要注入故障的目标电机编号,支持多旋翼无人机最多16个电机的故障注入配置。

故障注入规则

本模块支持两类电机执行效率故障:无噪声电机效率故障和带噪声电机效率故障,通过故障ID区分触发。故障注入实现逻辑为:输出转速 = 输入转速 × 健康系数,其中健康系数范围为0~1:健康系数为0时对应电机完全损坏,输出恒为0;健康系数为1时电机无故障,输出与输入一致。

模块特性(Block Characteristics)

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

数据通信协议

本模块不涉及网络通信。

相关模块

模块名 说明
PropFault 注入螺旋桨故障的故障仿真模块,属于RflySim PHM库
BattFault 注入电池故障的故障仿真模块,属于RflySim PHM库
IMUFault 注入IMU传感器故障的故障仿真模块,属于RflySim PHM库
BaroFault 注入气压计传感器故障的故障仿真模块,属于RflySim PHM库
GPSFault 注入GPS传感器故障的故障仿真模块,属于RflySim PHM库
MagFault 注入磁力计传感器故障的故障仿真模块,属于RflySim PHM库

注意事项与常见问题

  • 初始化顺序:本模块依赖RflySim平台的PHM仿真环境初始化,必须将该模块放置在RflySim Flight Simulation框架中使用,启动仿真前需完成RflySim内核初始化,否则故障参数将无法正确解析,导致故障注入失效。
  • 故障ID匹配规则:无噪声电机效率故障和带噪声电机效率故障对应不同的故障ID,需严格按照约定ID配置故障输入:仅当输入故障ID匹配模块预设的123450编码规则时,对应故障才会触发,错误的ID输入会导致故障无法注入。
  • 故障参数格式要求:本模块接收长度为20的FaultParam浮点数数组,其中前16个元素存储故障参数,每个电机对应1位0~1区间的健康系数,计算规则为故障后转速 = 输入转速 × 健康系数;若健康系数设置为0,对应电机输出转速将恒为0,需保证参数维度和区间符合要求,否则会出现维度不匹配的仿真错误。
  • 多旋翼电机数量匹配:输入MotorNum(故障电机序号)必须和当前仿真无人机配置的电机总数量匹配,序号不能超出电机总数范围,否则会出现数组越界错误,导致仿真崩溃。
  • 采样时间匹配:本模块的输出MotorRads为电机转速闭环控制的关键反馈信号,需保证本模块采样时间和飞控闭环模块的采样时间保持一致,不一致会导致转速闭环控制发散,仿真结果异常。
  • 参数含义区分:本模块输入的PWMIn为归一化转速指令,并非物理PWM占空比数值;输出MotorRads为物理单位rad/s的转速,信号类型不要混淆,避免控制逻辑计算错误。
  • 电机模型参数配置:底层Motor_Fun模块的电机速度油门曲线参数motorWbmotorCr和惯性时间常数motorT,需要和你使用的电机型号参数匹配,错误的参数会导致电机转速模型偏差过大,故障仿真结果失去参考意义。

更新日志

  • v4.10 (2024-07-24): 初始发布MotorFault电机故障注入仿真模块,支持多种电机效率故障类型注入,包含电机原理数学建模子模块