这里是运动学和动力学模型,也适用于任何其它类型的飞行器,乃至无人车等各种载体

飞行器的状态包括位置(x,y,z),速度(u,v,w),姿态角度(\phi,\theta,\psi),角速度(p,q,r),姿态也可以用坐标转换矩阵T来表示,飞行器的模型如下

位置:

\begin{bmatrix} \dot{x}\\ \dot{y} \\\dot{z} \end{bmatrix}=T_b^g\begin{bmatrix} u\\ v\\w\end{bmatrix}

    

其中T_b^g为坐标转换矩阵,从机体坐标到地面坐标的转换矩阵,(u,v,w)为机体坐标下的飞行器速度

速度:

    \begin{bmatrix} \dot{u}\\\dot{v} \\ \dot{w} \end{bmatrix}=\begin{bmatrix}u\\v\\w\end{bmatrix}\times \begin{bmatrix}p\\q\\r\end{bmatrix}+T_g^b\begin{bmatrix} 0\\0\\ g \end{bmatrix}+\frac{1}{m}\begin{bmatrix} F_x\\F_y \\ F_z \end{bmatrix}

其中g为地球重力加速度9.812平方米每秒,T_g^bT_b^g是一个互为转置的关系,F_x,F_y,F_z为作用在飞行器上的作用力,这个方程式为机体坐标系下的力与加速度公式,扣除坐标系旋转产生的影响

姿态:

直接以坐标转换矩阵的形式来建立姿态变化的模型

    \dot{T_g^b}=-\omega\times T_g^b

\omega=[p,q,r]^T为飞行器的角速度,其实可以以物体旋转的模型来理解姿态的变化,因为

    T=[T_1,T_2,T_3]

简便起见,T_1,T_2,T_3其中为坐标转换矩阵\dot{T_g^b}的列,每一列表示地面坐标系的坐标轴在机体坐标系的表征,它的变化就是一个旋转关系。从机体坐标系来看,地面坐标系是以相反的角速度在旋转,所以地面坐标系的变化为每个坐标轴的变化,即-\omega叉乘每一个坐标轴。

    \dot{T_g^b}=[-\omega\times T_1,-\omega\times T_2,-\omega\times T_3]

以一般向量叉乘运算来看

   \omega\times \textbf{v}=\begin{bmatrix} p\\ q \\ r \end{bmatrix}\times\begin{bmatrix} a\\ b \\ c \end{bmatrix}=\begin{bmatrix} qc-rb\\ ra-pc \\ pb-qa \end{bmatrix} =\begin{bmatrix} a\\b \\ c \end{bmatrix}\cdot \begin{bmatrix} 0 & -r &q \\ r& 0 &-p \\ -q& p & 0 \end{bmatrix}

\omega\times \textbf{v}=\textbf{v}\cdot \textbf{M}_{\omega}

    ,其中

    \textbf{M}_{\omega}=\begin{bmatrix} 0 & -r &q \\ r& 0 &-p \\ -q& p & 0 \end{bmatrix}

所以有

    \dot{T_g^b}=-\omega\times T_g^b=-T_g^b\cdot\textbf{M}_{\omega}

对它进行转置则有

    \dot{T_b^g}=-\textbf{M}_{\omega}^T\cdot T_b^g

角速度:

    \begin{bmatrix} \dot{p}\\ \dot{q} \\ \dot{r} \end{bmatrix}=I^{-1}\left \{ \begin{bmatrix} Q_x\\ Q_y \\ Q_z \end{bmatrix} -\begin{bmatrix} p\\q\\ r \end{bmatrix}\times I\begin{bmatrix}p\\q\\ r\end{bmatrix}\right \}

其中,Q_x,Q_y,Q_z为施加不同坐标轴的转动力矩分量

    I=\begin{bmatrix} I_x & I_{xy} & I_{xz}\\ I_{yx} & I_y & I_{yz}\\ I_{zx} & I_{zy} & I_z \end{bmatrix}

为飞行器的转动惯量

飞行器的舵面、电机转速等控制量对动力模型的影响主要体现在控制量对飞行器受力F和力矩Q的影响上,即

    \\F=F(\delta_{roll},\delta_{pitch},\delta_{throttle},\delta_{yaw})\\ Q=Q(\delta_{roll},\delta_{pitch},\delta_{throttle},\delta_{yaw})

受力和力矩是控制量的函数,通过舵面或电机等的控制,改变飞行器的受力情况,从而使飞行器实现各种机动动作。