前言
上一篇中详细阐述了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} v˙b=−ωb×vb+gRTe3−mfe3
在机体坐标系内建立姿态动力学方程:
J ⋅ w ˙ b = − ω b × ( J ⋅ ω b ) + G a + τ J\cdot\dot w^b=-\omega^b\times (J \cdot \omega^b)+G_{a}+\tau J⋅w˙b=−ωb×(J⋅ωb)+Ga+τ
其中, J J J 为转动惯量, G a G_{a} Ga 为陀螺力矩, τ \tau τ 为螺旋桨产生的力矩。 - 飞行控制刚体模型
联立上式可得飞行控制刚体模型,
{ p ˙ e = v e v ˙ e = g e 3 − f m b 3 = g e 3 + R f e m Θ ˙ = R ⋅ ω b J ⋅ w ˙ b = − ω b × ( J ⋅ ω b ) + G a + τ \begin{cases} \dot p^{e}=v^e\\[2ex] \dot v^{e}=ge_{3}-\frac{f}{m}b_{3}=ge_{3}+R\frac{f^e}{m}\\[2ex] \dot \Theta=R \cdot\omega^b\\[2ex] J\cdot\dot w^b=-\omega^b\times (J \cdot \omega^b)+G_{a}+\tau \end{cases} ⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧p˙e=vev˙e=ge3−mfb3=ge3+RmfeΘ˙=R⋅ωbJ⋅w˙b=−ωb×(J⋅ωb)+Ga+τ
多旋翼飞行器的控制效率模型
如图2所示为多旋翼飞行器的一般性机架布局示意图,由图可推出螺旋桨升力、力矩与电机转速之间的关系,即控制效率模型,
[ f τ x τ y τ z ] = M ⋅ [ ω 1 2 ω 2 2 ω 3 2 ω 4 2 ] \begin{bmatrix} f\\ \tau_{x}\\ \tau_{y}\\ \tau_{z} \end{bmatrix} =M\cdot \begin{bmatrix} \omega_{1}^{2}\\ \omega_{2}^{2}\\ \omega_{3}^{2}\\ \omega_{4}^{2} \end{bmatrix} ⎣⎢⎢⎡fτxτyτz⎦⎥⎥⎤=M⋅⎣⎢⎢⎡ω12ω22ω32ω42⎦⎥⎥⎤
M M M 即为控制效率矩阵,
M = [ c T c T ⋯ c T − d 1 c T s i n φ 1 − d 2 c T s i n φ 2 ⋯ − d n c T s i n φ n d 1 c T c o s φ 1 d 2 c T c o s φ 2 ⋯ d n c T c o s φ n c M δ 1 c M δ 2 ⋯ c M δ n ] M= \begin{bmatrix} c_{T} &c_{T}&\cdots&c_{T}\\ -d_{1}c_{T}sin\varphi_{1}&-d_{2}c_{T}sin\varphi_{2}&\cdots&-d_{n}c_{T}sin\varphi_{n} \\d_{1}c_{T}cos\varphi_{1}&d_{2}c_{T}cos\varphi_{2}&\cdots&d_{n}c_{T}cos\varphi_{n}\\ c_{M}\delta_{1}&c_{M}\delta_{2}&\cdots&c_{M}\delta_{n} \end{bmatrix} M=⎣⎢⎢⎡cT−d1cTsinφ1d1cTcosφ1cMδ1cT−d2cTsinφ2d2cTcosφ2cMδ2⋯⋯⋯⋯cT−dncTsinφndncTcosφncMδn⎦⎥⎥⎤
其中, δ i = ( − 1 ) i + 1 ( i = 1 , ⋯ , n ) \delta_{i}=(-1)^{i+1}(i=1,\cdots,n) δi=(−1)i+1(i=1,⋯,n) 。
其逆矩阵 M − 1 M^{-1} M−1 即为控制分配矩阵,对上式求逆即可得到电机转速与升力、力矩的关系式:
[ ω 1 ω 2 ω 3 ω 4 ] = M − 1 ⋅ [ f τ x τ y τ z ] \begin{bmatrix} \omega_{1}\\ \omega_{2}\\ \omega_{3}\\ \omega_{4} \end{bmatrix} =\sqrt{M^{-1}\cdot \begin{bmatrix} f\\ \tau_{x}\\ \tau_{y}\\ \tau_{z} \end{bmatrix} } ⎣⎢⎢⎡ω1ω2ω3ω4⎦⎥⎥⎤=M−1⋅⎣⎢⎢⎡fτxτyτz⎦⎥⎥⎤
多旋翼飞行器控制系统设计中的系统辨识问题
在对多旋翼飞行器的模型结构有了清晰的认识后,我们需要知道如何将这些模型应用于实际的系统设计中(导航系统与控制系统,这里以控制系统为例)。
在实际的多旋翼飞行器系统设计当中,我们往往将建模与系统辨识技术用于:
- 关键子系统的建模与系统辨识、控制系统设计
系统建模不仅使得我们了解其特性,更重要的是,我们能够使用频域/时域的分析工具,对其频域/时域指标进行定量分析,进而选择合适的控制器,同时,辅助进行参数整定与仿真验证工作。 - 控制效率模型的解析
从上文中可知,控制效率模型描述了升力、力矩以及电机转速之间的关系,其系数矩阵的逆矩阵称为控制分配矩阵。该矩阵代表了从各子控制系统之间的控制输出与电机转速之间的分配关系。当该矩阵中各参数已知且接近真值时,各子控制系统的控制分配效率达到理论值(最佳效率)。
如何简单地理解以上描述呢?我们在设计多旋翼飞行器的各子控制系统时,如横滚通道控制器、俯仰通道控制器、偏航通道控制器以及油门通道控制器,各控制通道的输出以控制分配矩阵中描述的系数进行叠加,那么实际工程中将出现以下情况:
当控制分配矩阵系数偏离真值时,控制器的“效率”大幅度降低,这里的“效率”可以用“有用功”来类比,用一个形象的例子解释,
一辆马车本意向着南方高速行进,但由于车轮偏了45度,原本往南行进的马车变成了向西偏南45度行进,这样,即使这批马车的速度与其他马车相同,他也需要花更多地时间与精力在修正行程偏差上,最终他才能够达到终点。
这里的控制分配矩阵即代表了各控制子系统之间的效率分配关系,当控制分配矩阵系数偏离真值时,各子系统均无法工作在最佳效率点,严重的情况下,甚至会出现类似动力不足,控制系统性能恶化的现象。
从上文可知,该控制分配矩阵的系数具有明确的物理意义,我们可以通过实验法进行精确测量,具体的测量方案将在下篇详解,本篇暂不作赘述。 - 关键子系统的故障诊断与健康状况评估
在建立了多旋翼飞行器的几大关键模型后,我们可以根据模型进行频域特性分析,进而选择经典或现代控制理论中的控制器进行控制系统设计;同时,也能够根据该模型设计故障观测器,提取关键的几项性能指标作为评估准则,实时地检测整个控制系统的健康状况。我们将在后续的文章中详细展开。
总结
本篇以多旋翼飞行器的建模问题展开,着重介绍了多旋翼飞行器建模问题中的四大主要模型,及其相互之间的联系;随后,针对多旋翼飞行器控制系统设计中的系统辨识问题进行了详细阐述。根据以上结论可知,对于飞行控制系统设计有意义的物理参数为 c T , c M , m , J c_{T},c_{M},m,J cT,cM,m,J,下一篇中将针对多旋翼飞行器建模问题中的参数测量方法进行详解。
作者简介: 一个被Coding耽误的无人机算法工程师,控制、导航略懂一二,热衷技术,喜欢乒乓、音乐、电影,欢迎交流。
知乎: @遥远的乌托邦
GitHub: https://github.com/DistantUtopia
微信公众号: @遥远的乌托邦