RflySimSDK v4.11
RflySimSDK说明文档
载入中...
搜索中...
未找到
故障建模原理

故障建模模板
整机故障模型

运动模型

下面一组公式描述了上图中刚体运动模块内部所采用的基本运动模型。上图中所示的除传感器以外的全部故障类型最终都是从下列方程注入的,具体如下:

\[\begin{align} ^{e}\dot{p} &= {}^{e}v \\ ^{e}v &= R_{be}^{T}\,{}^{b}v \\ ^{be}a &= g\,R_{be}^{T}e_{3} + \frac{F}{m} \\ {}^{b}\dot{v} &= -[{}^{b}\omega]_{\times}\,{}^{b}v \;+\; g\,R_{be}^{T}e_{3} \;+\; \frac{F}{m} \\ \dot{q} &= \frac{1}{2} \begin{bmatrix} 0 & -{}^{b}\omega^{T} \\[2pt] {}^{b}\omega & -[{}^{b}\omega]_{\times} \end{bmatrix} q \\[4pt] J\,{}^{b}\dot{\omega} &= -{}^{b}\omega \times (J\,{}^{b}\omega) + \tau + G_{a} \end{align} \]

其中
\( {}^{e}p \in \mathbb{R}^{3} \) 和 \( {}^{e}v \in \mathbb{R}^{3} \) 代表世界坐标系下的位置和速度,
\( {}^{b}v \) 为机体坐标系下的速度,
\( R_{be}^{T} \) 为旋转矩阵,
\( m \) 为多旋翼飞行器的质量,
\( e_{3} \) 为惯性坐标系 \( z \) 轴方向向量,
\( F \) 为所有旋翼产生的总升力,
\( {}^{b}\omega \) 为机体角速度,
\( g \) 为重力加速度,
\( {}^{be}a \) 为机体加速度,
\( \tau = [\tau_x,\; \tau_y,\; \tau_z]^{T} \in \mathbb{R}^{3} \) 为螺旋桨升力在机体轴产生的力矩,
\( J \in \mathbb{R}^{3\times 3} \) 为转动惯量矩阵,
\( G_{a} = [G_{a,\phi},\; G_{a,\theta},\; G_{a,\psi}]^{T} \in \mathbb{R}^{3} \) 为陀螺力矩。

故障影响关系:

  1. 动力系统 (电机、电调、电池、螺旋桨)故障 → 影响 \( F \) 与 \( \tau \);
  2. 环境故障 → 影响 \( F \)、 \( \tau \) 与 \( {}^{e}v \);
  3. 负载故障 → 影响 \( J \)、 \( m \) 与 \( \tau \);
  4. 传感器故障 → 主要表现为尺度因子与常值偏移变化、IMU 数据冲击、随机游走噪声方差变化等。

A.动力系统故障

动力系统关系

动力系统模型将 电机、电调(ESC)和螺旋桨 视为一个完整的动力机构,而不仅仅是无刷直流电机本身。上图展示了该动力系统的信号传递关系,其中 “电机油门” 为 \(0\sim1\) 的归一化输入信号。


1. 电池故障模型

根据 有效放电电容 可得电池输出电压

\[U_{b}=k_{U_b}\,f_{U_b}\!\bigl(C_{\mathrm{dch,effective}},\,U_{b0}\bigr) \]

  • \(C_{\mathrm{dch,effective}}\):有效放电电容
  • \(f_{U_b}(\,\cdot\,)\):由实际放电数据拟合得到的函数
  • \(k_{U_b}\in[0,1]\):电池故障系数

2. 电调(ESC)故障模型

等效平均输出电压 表达式为

\[U_{m}=k_{U_m}\,\sigma\,U_{b} \]

  • \(\sigma\):ESC 接收到的油门输入
  • \(k_{U_m}\in[0,1]\):ESC 故障系数

3. 电机故障模型

将电机动态过程 **简化为一阶惯性环节**,实际瞬时转速为

\[\omega=\frac{k_{\omega}}{k_{T_m}\,T_{m}\,s+1}\,\omega_{ss} \]

  • \(k_{T_m}\in\bigl[0,\;k_{T_m,\max}\bigr]\):电机 响应速度 故障系数
  • \(k_{\omega}\in[0,1]\):电机 执行效率 故障系数
  • \(\omega_{ss}\):期望稳态转速

4. 螺旋桨故障模型

螺旋桨产生的 拉力力矩

\[\begin{aligned} T &= k_{C_T}\,c_{T}\,\omega^{2}\\[4pt] M &= c_{M/T}\,T \end{aligned} \]

  • \(c_{T}\):拉力系数
  • \(c_{M/T}\):力矩—拉力比例系数
  • \(k_{C_T}\in[0,1]\):拉力故障系数

总结:

  • 电池故障 主要影响系统供电电压 \(U_b\);
  • ESC 故障 改变驱动电压 \(U_m\);
  • 电机故障 造成转速动态及效率异常;
  • 螺旋桨故障 改变推力-力矩输出 \((T,M)\)。
    这些故障通过 \(F\)(总升力)和 \(\tau\)(力矩)注入到无人机运动方程,从而影响飞行姿态与轨迹。

B.环境故障

环境故障主要包括 极端天气实时障碍物 的生成。
其中风干扰故障是极端环境最为普遍的类型,可看作多种风场的叠加,包括 大气紊流**、**常风**、**阵风 与 **风切变**。其合成风速表示为

\[{}^{e}v_{\text{wind}} = {}^{e}v_{\text{turb}} + {}^{e}v_{\text{cons}} + {}^{e}v_{\text{sheer}} + {}^{e}v_{\text{gust}} \]

  • \({}^{e}v_{\text{turb}}\):大气紊流风场
  • \({}^{e}v_{\text{cons}}\):常风风场
  • \({}^{e}v_{\text{sheer}}\):风切变风场
  • \({}^{e}v_{\text{gust}}\):阵风风场

1. 风扰动导致的力

风扰动对机体产生的**阻力**可写成

\[F_{\text{env}} = F_{\text{wind}} = -C_{d}\; v_{\text{wind}\,b_{\text{relative}}}\, \lvert v_{\text{wind}\,b_{\text{relative}}}\rvert \]

其中 \(C_{d}\) 为空气阻力系数, \(v_{\text{wind}\,b_{\text{relative}}}\) 为机体坐标系下的相对风速:

\[v_{\text{wind}\,b_{\text{relative}}} = {}^{b}v - R_{be}\,v_{\text{wind}} \]

  • \({}^{b}v\):机体系线速度
  • \(R_{be}\):姿态旋转矩阵
  • \(v_{\text{wind}}\):世界系合成风速

2. 风扰动导致的力矩

由风力引起的 附加力矩

\[\tau_{\text{env}} = \tau_{\text{wind}} = p_{\text{wind}} \times F_{\text{wind}} \]

其中风力作用点在机体系下的位置向量为

\[p_{\text{wind}} = \begin{bmatrix} x_{\text{wind}} \\[2pt] y_{\text{wind}} \\[2pt] z_{\text{wind}} \end{bmatrix} \]

该作用点通常位于机身质心附近或外载荷附近。


3. 实时障碍物生成

实时障碍物通过三维引擎 **动态实例化**:
在设定故障触发时间,调用预定义障碍物模型并放置于场景中,从而构造特定任务场景的环境扰动。模型可与风场叠加共同影响传感器感知与控制决策。

C.负载故障

负载故障主要源自机体发生 **质量偏移**,导致惯量矩阵与额外力矩发生变化,其数学描述如下。

1. 转动惯量变化

\[J = J_{\text{health}} \;+\; J_{\text{body}} \]

\[J_{\text{body}} = \begin{bmatrix} J_{xx_{\text{var}}} & -J_{xy_{\text{var}}} & -J_{xz_{\text{var}}} \\[4pt] -J_{xy_{\text{var}}} & J_{yy_{\text{var}}} & -J_{yz_{\text{var}}} \\[4pt] -J_{xz_{\text{var}}} & -J_{yz_{\text{var}}} & J_{zz_{\text{var}}} \end{bmatrix} \]

其中 \(J_{\text{body}}\) 为因质量偏移引入的转动惯量增量。


2. 质量偏移产生的附加力矩

\[\tau_{\text{body}} = p_{\text{var}} \times R_{be} \begin{bmatrix} 0 \\[2pt] 0 \\[2pt] g \end{bmatrix} m_{\text{var}} \]

  • \(m_{\text{var}}\):机体发生的质量变化
  • \(p_{\text{var}}\):该质量在 机体坐标系 中的位置向量
  • \(R_{be}\):姿态旋转矩阵
  • \(g\):重力加速度

上述惯量变化 \(J_{\text{body}}\) 与附加力矩 \(\tau_{\text{body}}\) 将直接注入到飞行器运动方程,影响姿态控制与轨迹跟踪性能。

D.传感器故障

传感器故障可归纳为 数据延迟、中断、未校准与噪声 四大类。下面分别给出 陀螺仪、加速度计、磁力计、气压计、GPS 的统一故障模型(均已转换为 Doxygen 原生公式标记)。


1. 陀螺仪故障

\[{}^{b}\omega_{m,i} \;=\; k_{p,j} \bigl( k_{g,i}\, (\,{}^{b}\omega + c_{g,i}\,) \bigr) + b_{g,i} + n_{g,i} \]

\[\dot b_{g,i} = n_{b_{g,i}} \]

  • \({}^{b}\omega\):真实角速率
  • \({}^{b}\omega_{m,i}\):标定后角速率(第 \(i\) 个传感器)
  • \(k_{g,i}\):尺度因子变化   \(c_{g,i}\):常值偏置
  • \(b_{g,i}\):漂移   \(k_{p,j}\):冲击系数
  • \(n_{g,i},\,n_{b_{g,i}}\):高斯白噪声

2. 加速度计故障

\[{}^{b}a_{m,i} \;=\; k_{a,i}\!\Bigl( {}^{be}a + {}^{b}\omega \times \bigl({}^{b}\omega \times d\bigr) + {}^{b}\dot\omega \times d - g\,R_{be}\,e_{3} \Bigr) + b_{a,i} + n_{a,i} \]

\[\dot b_{a,i} = n_{b_{a,i}} \]

  • \({}^{be}a\):真实机体加速度   \(d\):杆臂向量
  • \(k_{a,i}\):尺度因子   \(b_{a,i}\):漂移
  • \(n_{a,i},\,n_{b_{a,i}}\):高斯白噪声

3. 磁力计故障

\[{}^{b}m_{m,i} \;=\; k_{m,i}\Bigl( R_{be}\,{}^{e}m + c_{m,i}\Bigr) + b_{m,i} + n_{m,i} \]

\[\dot b_{m,i} = n_{b_{m,i}} \]

  • \({}^{e}m\):地磁向量(世界系)
  • \(k_{m,i}\):尺度因子   \(c_{m,i}\):常值偏置
  • \(b_{m,i}\):漂移   \(n_{m,i},\,n_{b_{m,i}}\):高斯白噪声

4. 气压计故障

\[d_{\text{baro},i} = -\,k_{\text{baro},i}\, \bigl( p_{z_e} + c_{\text{baro},i} \bigr) + b_{d_{\text{baro},i}} + n_{d_{\text{baro},i}} \]

\[\dot b_{d_{\text{baro},i}} = n_{\,b_{d_{\text{baro},i}}} \]

  • \(p_{z_e}\):地理坐标系高度   \(k_{\text{baro},i}\):尺度因子
  • \(c_{\text{baro},i}\):常值偏置   \(b_{d_{\text{baro},i}}\):漂移
  • \(n_{d_{\text{baro},i}},\,n_{b_{d_{\text{baro},i}}}\):高斯白噪声

5. GPS 故障

\[{}^{e}p_{\text{GPS},i} = k_{\text{GPS},i}\, \bigl({}^{e}p + c_{\text{GPS},i}\bigr) + b_{p_{\text{GPS},i}} + n_{p_{\text{GPS},i}} \]

\[\dot b_{p_{\text{GPS},i}} = n_{\,b_{p_{\text{GPS},i}}} \]

  • \({}^{e}p\):真实位置   \({}^{e}p_{\text{GPS},i}\):测量位置
  • \(k_{\text{GPS},i}\):尺度因子   \(c_{\text{GPS},i}\):常值偏置
  • \(b_{p_{\text{GPS},i}}\):漂移   \(n_{p_{\text{GPS},i}},\,n_{b_{p_{\text{GPS},i}}}\):高斯白噪声