功能 | 包含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 | 多电机输出转速集成 |