下面一组公式描述了上图中刚体运动模块内部所采用的基本运动模型。上图中所示的除传感器以外的全部故障类型最终都是从下列方程注入的,具体如下:
\[\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} \) 为陀螺力矩。
故障影响关系:
动力系统模型将 电机、电调(ESC)和螺旋桨 视为一个完整的动力机构,而不仅仅是无刷直流电机本身。上图展示了该动力系统的信号传递关系,其中 “电机油门” 为 \(0\sim1\) 的归一化输入信号。
根据 有效放电电容 可得电池输出电压
\[U_{b}=k_{U_b}\,f_{U_b}\!\bigl(C_{\mathrm{dch,effective}},\,U_{b0}\bigr) \]
其 等效平均输出电压 表达式为
\[U_{m}=k_{U_m}\,\sigma\,U_{b} \]
将电机动态过程 **简化为一阶惯性环节**,实际瞬时转速为
\[\omega=\frac{k_{\omega}}{k_{T_m}\,T_{m}\,s+1}\,\omega_{ss} \]
螺旋桨产生的 拉力 和 力矩 为
\[\begin{aligned} T &= k_{C_T}\,c_{T}\,\omega^{2}\\[4pt] M &= c_{M/T}\,T \end{aligned} \]
总结:
- 电池故障 主要影响系统供电电压 \(U_b\);
- ESC 故障 改变驱动电压 \(U_m\);
- 电机故障 造成转速动态及效率异常;
- 螺旋桨故障 改变推力-力矩输出 \((T,M)\)。
这些故障通过 \(F\)(总升力)和 \(\tau\)(力矩)注入到无人机运动方程,从而影响飞行姿态与轨迹。
环境故障主要包括 极端天气 与 实时障碍物 的生成。
其中风干扰故障是极端环境最为普遍的类型,可看作多种风场的叠加,包括 大气紊流**、**常风**、**阵风 与 **风切变**。其合成风速表示为
\[{}^{e}v_{\text{wind}} = {}^{e}v_{\text{turb}} + {}^{e}v_{\text{cons}} + {}^{e}v_{\text{sheer}} + {}^{e}v_{\text{gust}} \]
风扰动对机体产生的**阻力**可写成
\[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}} \]
由风力引起的 附加力矩 为
\[\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} \]
该作用点通常位于机身质心附近或外载荷附近。
实时障碍物通过三维引擎 **动态实例化**:
在设定故障触发时间,调用预定义障碍物模型并放置于场景中,从而构造特定任务场景的环境扰动。模型可与风场叠加共同影响传感器感知与控制决策。
负载故障主要源自机体发生 **质量偏移**,导致惯量矩阵与额外力矩发生变化,其数学描述如下。
\[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}}\) 为因质量偏移引入的转动惯量增量。
\[\tau_{\text{body}} = p_{\text{var}} \times R_{be} \begin{bmatrix} 0 \\[2pt] 0 \\[2pt] g \end{bmatrix} m_{\text{var}} \]
上述惯量变化 \(J_{\text{body}}\) 与附加力矩 \(\tau_{\text{body}}\) 将直接注入到飞行器运动方程,影响姿态控制与轨迹跟踪性能。
传感器故障可归纳为 数据延迟、中断、未校准与噪声 四大类。下面分别给出 陀螺仪、加速度计、磁力计、气压计、GPS 的统一故障模型(均已转换为 Doxygen 原生公式标记)。
\[{}^{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}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}} \]
\[{}^{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}} \]
\[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}}} \]
\[{}^{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}}} \]