前言
上一篇中详细阐述了MATLAB系统辨识工具箱的使用实例,本篇将以多旋翼飞行器为研究对象,详细阐述其刚体动力学模型、飞行控制刚体模型以及控制效率模型。最后,针对多旋翼飞行器控制系统设计当中的主要系统辨识问题进行解析。
多旋翼飞行器建模结构解析
在进行多旋翼飞行器建模之前,我们需要了解与多旋翼飞行器系统设计息息相关的主要几大模型:
-
动力系统模型
动力系统模型,描述的是为多旋翼飞行器提供拉力与扭矩的驱动系统模型。该模型描述了飞控系统输出的油门与电机转速之间的关系。 -
控制效率模型
控制效率模型,描述的是升力、扭矩与电机转速之间的关系。其关系矩阵称为控制效率矩阵,该矩阵的逆矩阵称为控制分配矩阵。 -
刚体动力学模型
刚体动力学模型,描述的是升力与加速度之间的关系以及扭矩与角加速度之间的关系。 -
刚体运动学模型
刚体运动学模型,描述的是位置与速度、角度与角速度之间的关系。
如图1所示为多旋翼飞行器四大模型之间的关系结构图:
多旋翼飞行器的刚体动力学模型及飞行控制刚体模型
在进行建模前,我们需要作如下假设:
- 多旋翼飞行器是刚体。
- 多旋翼飞行器的质量与转动惯量不变(质量发生变化的案例,后续文章展开详解)。
- 多旋翼飞行器几何中心与重心一致。
- 多旋翼飞行器刚体运动学模型
令多旋翼飞行器的重心向量为 p e p^{e} pe ,则 p ˙ e = v e \dot p^{e}=v^{e} p˙e=ve 其中 v e v^{e} ve 表示多旋翼飞行器的飞行速度。
对于欧拉角模型而言,有下式子,其中 Θ \Theta Θ 为世界坐标系下的欧拉角, R R R 为旋转矩阵。
{ p ˙ e = v e Θ ˙ = R ⋅ ω b \begin{cases} \dot p^{e}=v^e\\[2ex] \dot \Theta=R \cdot\omega^b \end{cases} ⎩⎨⎧p˙e=veΘ˙=R⋅ωb - 多旋翼飞行器刚体动力学模型
对多旋翼飞行器进行受力分析,易知, v ˙ e = g e 3 − f m b 3 = g e 3 + R f e m \dot v^{e}=ge_{3}-\frac{f}{m}b_{3}=ge_{3}+R\frac{f^e}{m} v˙e=ge3−mfb3=ge3+Rmfe 其中, e 3 e_{3} e3 为世界坐标系下的单位矢量, b 3 b_{3} b3 为机体坐标系下的单位矢量, g g g 为重力, R R R 为旋转矩阵。由于,
v e = R ⋅ v b v^e=R \cdot v^b ve=R⋅vb
可得,
v ˙ b = − ω b × v b + g R T e 3 − f m e 3 \dot v^b=-\omega^b\times v^b+gR^Te_{3}-\frac{f}{m}e_{3}