| 功能 | 包含MotorFault模块,Motor_fun模块。MotorFault模块用于选择电机故障类型,并输出注入故障后电机的转速;Motor_fun模块用于表示电机原理的数学建模。 |
|---|---|
| 输入 | |
| FaultIn | 故障输入,包括故障类型和故障参数。 |
| PWMIn | 外部输入给模型的电机转速 |
| 输出 | |
| MotorRads | 注入噪声后的电机转速 |
| 功能 | 包含FaultParamsExtract噪声参数提取模块, MotorFaultModel电机模型模块。本模块用于从 无噪声电机执行效率故障 和 有噪声电机执行效率故障 选择电机故障类型,并输出注入故障后电机转速。 |
|---|---|
| 无噪声电机执行效率故障 和 有噪声电机执行效率故障 这两个故障模块的实现机制不同,但都同属于电机故障。通过用对应的故障ID可以触发对应的故障。123450为电机故障ID | |
| 输入 | |
| FaultIn | 故障输入,包括故障类型和故障参数。 |
| FaultID | 故障的唯一标识密钥 |
| NoiseFaultID | 噪声故障的唯一标识密钥 |
| MotorNum | 无人机的故障电机数量 |
| 输出 | |
| PWMOut | 注入故障后电机输出的转速 |
具体参考**同目录下的FaultParamsExtract说明文档**
| 功能 | 本模块需要用到8维FaultParam的输入,因此故障ID的格式应该是: inSILInts=[FaultID FaultID FaultID FaultID ...] inSILInts=[param1 param2 param3 param4 param5 param6 param7 param8 ...] -> FaultParam param的每一位表示本电机的健康系数(0到1),实际上就是pwm_out = pwm_in * param 如果param1=0,则电机1直接坏掉,始终输出0 |
|---|---|
| 输入 | |
| hasFault | 一个布尔值,如果检测到 FaultID 则为 true,否则为 false。 |
| FaultParam | 一个长度为 20 的浮点数数组,存储故障参数。如果检测到故障,数组的前 16 个元素将包含与 FaultID 相关的参数,最后 4 个元素将包含 inFloats 数组的最后 4 个值。 |
| inPWMs | 外部输入给模型的电机转速 |
| motNum | 无人机的故障电机数量 |
| 输出 | |
| y | 注入故障后的 电机输出转速。 |
| 功能 | 这个绿色的模块是对电机原理的数学建模。具体原理请参考《多旋翼飞行器设计与控制》第四章“动力系统建模和估算”的4.2小结,详细介绍了动力系统的数学模型。总的来说,该模块通过接受一个电池油门(即电池模块的输出,在此处指的是PWMIn),输出一个电机转速(在此处为PWMOut) |
|---|---|
| 输入 | |
| PWMIn | 注入故障后的 电机输出转速。 |
| motorWb | Motor speed-throttle curve constant term(rad/s) 电机速度油门曲线常数项(rad/s) |
| motorCr | Motor throttle-speed curve slope(rad/s) 电机油门速度曲线斜率(rad/s) |
| motorT | Motor inertia time constant(s) 电机惯性时间常数(s) |
| ModelInit_RPM | 模型初始的电机转速 |
| 输出 | |
| radW | 电机输出转速 |
| PWMOut | 多电机输出转速集成 |