跳转至

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)

特性项 值
支持的数据类型 double、single
直接馈通(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模块的电机速度油门曲线参数motorWb、motorCr和惯性时间常数motorT,需要和你使用的电机型号参数匹配,错误的参数会导致电机转速模型偏差过大,故障仿真结果失去参考意义。

更新日志

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