Bootstrap

四旋翼飞行器建模

0 前言

本文是研究飞控过程中的学习笔记,系统分析了四旋翼飞行器的坐标变换、运动学与动力学模型,以此作为飞控开发的基础。

1 无人机的坐标变换

1.1 坐标系1

1.1.1 地心坐标系

请添加图片描述
地球中心坐标系,即坐标系原点位于地心。X轴通过格林尼治线和赤道线的交点,正方向为原点指向交点方向。 Z轴通过原点指向北极。 Y轴与X,Z轴构成右手坐标系。

1.1.2 NED(北东地)坐标系

由于地心坐标系建立产生的GPS信号是以前面的形式存在,而现实无人机控制中需要在平面,因此引入了NED坐标系,如图绿色部分即为NED坐标系。NED坐标系是在导航计算时使用的坐标系。向量分别指向北,东,地,因此NED坐标系也经常称为北东地坐标系。
请添加图片描述
通常我们以NED为确定无人机位姿的参考坐标系,因此当无人机向上飞时,NED坐标系下的z坐标实际上是减小的。

1.1.3 机体坐标系

机体坐标系与机体固联,随飞机一起相对地球运动。x轴沿机头正方向,y轴沿机身右侧,z轴由右手定则得到。

1.2 旋转矩阵

与机器人学的内容相似,这里只放结果:
R x ( θ ) = [ 1 0 0 0 cos ⁡ θ sin ⁡ θ 0 − sin ⁡ θ cos ⁡ θ ] R y ( θ ) = [ cos ⁡ θ 0 − sin ⁡ θ 0 1 0 sin ⁡ θ 0 cos ⁡ θ ] R z ( θ ) = [ cos ⁡ θ sin ⁡ θ 0 − sin ⁡ θ cos ⁡ θ 0 0 0 1 ] (1-1) R_x(\theta)= \begin{bmatrix} 1 & 0 & 0\\ 0 & \cos\theta & \sin \theta\\ 0 & -\sin \theta & \cos\theta \end{bmatrix} \\ R_y(\theta)= \begin{bmatrix} \cos\theta & 0 & -\sin\theta\\ 0 & 1 & 0\\ \sin\theta & 0 & \cos\theta \end{bmatrix} \\ R_z(\theta)= \begin{bmatrix} \cos\theta & \sin\theta & 0\\ -\sin\theta & \cos\theta & 0\\ 0 & 0 & 1 \end{bmatrix} \tag{1-1} Rx(θ)=1000cosθsinθ0sinθcosθRy(θ)=cosθ0sinθ010sinθ0cosθRz(θ)=cosθsinθ0sinθcosθ0001(1-1)

分别表示绕基坐标系 x , y , z x,y,z x,y,z轴旋转 θ \theta θ后的旋转矩阵。
[ x y z ] = R ( θ ) [ x ′ y ′ z ′ ] (1-2) \begin{bmatrix} x\\y\\z \end{bmatrix} = R(\theta) \begin{bmatrix}x'\\y'\\z'\end{bmatrix} \tag{1-2} xyz=R(θ)xyz(1-2)
我们用一个通用的旋转矩阵来表示从机体坐标系 O b x b y b z b O_bx_by_bz_b Obxbybzb到地球坐标系 O e x e y e z e O_ex_ey_ez_e Oexeyeze的旋转矩阵,滚转角:绕x轴转 ϕ \phi ϕ;俯仰角:绕y轴转 θ \theta θ;偏航角:绕z轴转 ψ \psi ψ,则有
R b e ( ϕ , θ , ψ ) = R ( ϕ ) R ( θ ) R ( ψ ) = [ 1 0 0 0 cos ⁡ ϕ sin ⁡ ϕ 0 − sin ⁡ ϕ cos ⁡ ϕ ] [ cos ⁡ θ 0 − sin ⁡ θ 0 1 0 sin ⁡ θ 0 cos ⁡ θ ] [ cos ⁡ ψ sin ⁡ ψ 0 − sin ⁡ ψ cos ⁡ ψ 0 0 0 1 ] = [ cos ⁡ θ cos ⁡ ψ cos ⁡ ψ sin ⁡ θ sin ⁡ ϕ − sin ⁡ ψ cos ⁡ ϕ cos ⁡ ψ sin ⁡ θ cos ⁡ ϕ + sin ⁡ ψ sin ⁡ ϕ cos ⁡ θ sin ⁡ ψ sin ⁡ ψ sin ⁡ θ sin ⁡ ϕ + cos ⁡ ψ cos ⁡ ϕ sin ⁡ ψ sin ⁡ θ cos ⁡ ϕ − cos ⁡ ψ sin ⁡ ϕ − sin ⁡ θ sin ⁡ ϕ cos ⁡ θ cos ⁡ ϕ cos ⁡ θ ] (1-3) \begin{aligned} R_b^e(\phi,\theta,\psi)&=R(\phi)R(\theta)R(\psi)\\ &= \begin{bmatrix} 1 & 0 & 0\\ 0 & \cos\phi & \sin \phi\\ 0 & -\sin \phi & \cos\phi \end{bmatrix} \begin{bmatrix} \cos\theta & 0 & -\sin\theta\\ 0 & 1 & 0\\ \sin\theta & 0 & \cos\theta \end{bmatrix} \begin{bmatrix} \cos\psi & \sin\psi & 0\\ -\sin\psi & \cos\psi & 0\\ 0 & 0 & 1 \end{bmatrix} \\ &= \begin{bmatrix} \cos\theta \cos\psi & \cos\psi \sin\theta \sin\phi-\sin\psi\cos\phi &\cos\psi \sin\theta \cos\phi + \sin\psi\sin\phi \\ \cos\theta \sin\psi & \sin\psi \sin\theta \sin\phi+\cos\psi\cos\phi &\sin\psi \sin\theta \cos\phi - \cos\psi\sin\phi \\ -\sin\theta & \sin\phi\cos\theta & \cos\phi\cos\theta\\ \end{bmatrix} \end{aligned} \tag{1-3} Rbe(ϕ,θ,ψ)=R(ϕ)R(θ)R(ψ)=1000cosϕsinϕ0sinϕcosϕcosθ0sinθ010sinθ0cosθcosψsinψ0sinψcosψ0001=cosθcosψcosθsinψsinθcosψsinθsinϕsinψcosϕsinψsinθsinϕ+cosψcosϕsinϕcosθcosψsinθcosϕ+sinψsinϕsinψsinθcosϕcosψsinϕcosϕcosθ(1-3)

[ x e y e z e ] = R ( ϕ , θ , ψ ) [ x b y b z b ] (1-4) \begin{bmatrix}x_e\\y_e\\z_e\end{bmatrix}=R(\phi,\theta,\psi)\begin{bmatrix}x_b\\y_b\\z_b\end{bmatrix} \tag{1-4} xeyeze=R(ϕ,θ,ψ)xbybzb(1-4)

2 非线性动力学模型2

请添加图片描述

2.1 电机模型

电机旋翼产生的力与转速的平方成正比,单个旋翼的升力可以表示为:
F i = c T ⋅ Ω i 2 , i = ( 1 , 2 , 3 , 4 ) (2-1) F_i = c_T\cdot \Omega_i^2\quad ,i=(1,2,3,4) \tag{2-1} Fi=cTΩi2,i=(1,2,3,4)(2-1)
式中, c T c_T cT为电机拉力系数。则旋翼产生的总升力为
T = ∑ i 4 F i (2-2) T=\sum_{i}^4{F_i} \tag{2-2} T=i4Fi(2-2)
轴的陀螺力矩 τ g y o = ω × J r Ω \tau_{gyo}=\omega\times J_r\Omega τgyo=ω×JrΩ,其中 J r = [ J r x J r y J r z ] J_r=\begin{bmatrix}J_{rx}& &\\ &J_{ry}&\\ &&J_{rz}\end{bmatrix} Jr=JrxJryJrz为电机的惯性矩阵。
τ g y o = [ τ g y o , ϕ τ g y o , θ τ g y o , ψ ] = [ J r x ( Ω 1 − Ω 2 + Ω 3 − Ω 4 ) q J r y ( − Ω 1 + Ω 2 − Ω 3 + Ω 4 ) p 0 ] (2-3) \tau_{gyo}= \begin{bmatrix} \tau_{gyo,\phi}\\ \tau_{gyo,\theta}\\ \tau_{gyo,\psi} \end{bmatrix} = \begin{bmatrix} J_{rx}(\Omega_1-\Omega_2+\Omega_3-\Omega_4)q\\ J_{ry}(-\Omega_1+\Omega_2-\Omega_3+\Omega_4)p\\ 0 \end{bmatrix} \tag{2-3} τgyo=τgyo,ϕτgyo,θτgyo,ψ=Jrx(Ω1Ω2+Ω3Ω4)qJry(Ω1+Ω2Ω3+Ω4)p0(2-3)

当电机高速旋转的时候,相当于一个陀螺。高速旋转的陀螺是非常稳定的个体,具有保持自身轴向不变的能力。因此如果有外力想改变陀螺转轴的方向,那么会产生一个陀螺力矩来抵抗这种改变。

τ = [ τ x τ y τ z ] T \tau=[\tau_{x}\quad \tau_{y}\quad \tau_{z}]^T τ=[τxτyτz]T为螺旋桨在机体轴上产生的力矩。以X型四旋翼为例,从右上角开始逆时针电机编号依次为1234,则
τ = [ τ x τ y τ z ] = [ 2 2 l c M ( − Ω 1 2 + Ω 2 2 + Ω 3 2 − Ω 4 2 ) 2 2 l c M ( Ω 1 2 + Ω 2 2 − Ω 3 2 − Ω 4 2 ) c M ( Ω 1 2 − Ω 2 2 + Ω 3 2 − Ω 4 2 ) ] (2-4) \tag{2-4} \tau=\begin{bmatrix} \tau_x\\ \tau_{y} \\ \tau_{z} \end{bmatrix}= \begin{bmatrix} \frac{\sqrt2}{2}lc_M(-\Omega_1^2 + \Omega_2^2 + \Omega_3^2 -\Omega_4^2)\\ \frac{\sqrt2}{2}lc_M(\Omega_1^2 + \Omega_2^2 - \Omega_3^2 -\Omega_4^2)\\ c_M(\Omega_1^2 - \Omega_2^2 + \Omega_3^2 -\Omega_4^2)\\ \end{bmatrix} τ=τxτyτz=22 lcM(Ω12+Ω22+Ω32Ω42)22 lcM(Ω12+Ω22Ω32Ω42)cM(Ω12Ω22+Ω32Ω42)(2-4)
式中, l l l为旋翼质心到整个四旋翼质心的距离, c M c_M cM为电机的力矩系数。

2.2 外力平衡方程(平动动力学)

质心运动方程为
d ( m V ⃗ ) d t = F ⃗ (2-5) \frac{\mathrm{d}(m\vec{V})}{\mathrm{d}t}=\vec{F} \tag{2-5} dtd(mV )=F (2-5)
式中, V = [ v x , v y , v z ] T V=[v_x,v_y,v_z]^T V=[vx,vy,vz]T为无人机相对地面坐标系的速度向量, F ⃗ \vec{F} F 为作用在无人机上的合外力向量。

地面坐标系下四旋翼所受阻力为
[ f x f y f z ] = [ K 1 x ˙ K 2 y ˙ K 3 z ˙ ] (2-6) \begin{bmatrix} f_x\\f_y\\f_z \end{bmatrix}= \begin{bmatrix} K_1\dot{x}\\K_2\dot{y}\\K_3\dot{z} \end{bmatrix} \tag{2-6} fxfyfz=K1x˙K2y˙K3z˙(2-6)
式中, K i K_i Ki为空气阻力系数。则惯性坐标系下外力平衡方程为
m [ x ¨ y ¨ z ¨ ] = m g [ 0 0 1 ] − R T [ 0 0 1 ] − [ K 1 x ˙ K 2 y ˙ K 3 z ˙ ] (2-7) m\begin{bmatrix} \ddot{x}\\\ddot{y}\\\ddot{z} \end{bmatrix}= mg\begin{bmatrix} 0\\0\\1 \end{bmatrix} - RT \begin{bmatrix} 0\\0\\1 \end{bmatrix} - \begin{bmatrix} K_1\dot{x}\\K_2\dot{y}\\K_3\dot{z} \end{bmatrix} \tag{2-7} mx¨y¨z¨=mg001RT001K1x˙K2y˙K3z˙(2-7)
进一步展开可得
[ x ¨ y ¨ z ¨ ] = [ − T m ( cos ⁡ ψ sin ⁡ θ cos ⁡ ϕ + sin ⁡ ψ sin ⁡ ϕ ) − K 1 x ˙ − T m ( sin ⁡ ψ sin ⁡ θ cos ⁡ ϕ − cos ⁡ ψ sin ⁡ ϕ ) − K 2 y ˙ g − T m ( cos ⁡ ϕ cos ⁡ θ ) − K 3 z ˙ ] (2-8) \begin{bmatrix} \ddot{x}\\\ddot{y}\\\ddot{z} \end{bmatrix}= \begin{bmatrix} -\frac{T}{m}(\cos\psi \sin\theta \cos\phi + \sin\psi\sin\phi)-K_1\dot{x} \\ -\frac{T}{m}(\sin\psi \sin\theta \cos\phi - \cos\psi\sin\phi)-K_2\dot{y} \\ g-\frac{T}{m} (\cos\phi\cos\theta) -K_3\dot{z}\\ \end{bmatrix} \tag{2-8} x¨y¨z¨=mT(cosψsinθcosϕ+sinψsinϕ)K1x˙mT(sinψsinθcosϕcosψsinϕ)K2y˙gmT(cosϕcosθ)K3z˙(2-8)

2.3 外力矩平衡方程(转动动力学)

欧拉方程可知,四旋翼绕质心的转动的动力学方程为
M ⃗ = J ω ⃗ ˙ + ω ⃗ × J ω ⃗ = τ − τ g y o − τ f (2-9) \begin{aligned} \vec{M}&=J\dot{\vec\omega}+\vec\omega\times J\vec\omega \tag{2-9} \\ &=\bold{\tau}-\tau_{gyo}-\tau_f \end{aligned} M =Jω ˙+ω ×Jω =ττgyoτf(2-9)
式中 ω = [ p , q , r ] T \omega=[p,q,r]^T ω=[p,q,r]T为飞行器相对机体坐标系的角速度向量, J = [ J x J y J z ] J=\begin{bmatrix}J_x& &\\ &J_y&\\ &&J_z\end{bmatrix} J=JxJyJz为四旋翼无人机在机体坐标系三个轴上的转动惯量,由于我们假设四旋翼的重心正好位于几何中心,因此转动惯量 J x y = J y x = J x z = J z x = J y z = J z y = 0 J_{xy}=J_{yx}=J_{xz}=J_{zx}=J{yz}=J_{zy}=0 Jxy=Jyx=Jxz=Jzx=Jyz=Jzy=0 M ⃗ \vec{M} M 为作用在飞行器上的合外力矩, τ f = K f ω \tau_f=K_f\omega τf=Kfω为空气阻力矩。
式(2-9a)展开后可得
[ J x p ˙ J y q ˙ J z r ˙ ] = [ p q r ] × [ J x p J y q J z r ] = [ 0 − r q r 0 − p − q p 0 ] × [ J x p J y q J z r ] = [ q r ( J z − J y ) p r ( J x − J z ) p q ( J y − J x ) ] (2-10) \begin{aligned} \begin{bmatrix} J_x\dot p \\ J_y\dot q \\ J_z\dot r \\ \end{bmatrix} &= \begin{bmatrix} p \\ q \\ r \\ \end{bmatrix} \times \begin{bmatrix} J_xp \\ J_yq \\ J_zr \\ \end{bmatrix} \\ &=\begin{bmatrix} 0&-r&q\\ r&0&-p\\ -q&p&0 \end{bmatrix} \times \begin{bmatrix} J_xp \\ J_yq \\ J_zr\end{bmatrix}\\ &=\begin{bmatrix} qr(J_z-J_y) \\ pr(J_x-J_z) \\ pq(J_y-J_x) \\ \end{bmatrix} \end{aligned} \tag{2-10} Jxp˙Jyq˙Jzr˙=pqr×JxpJyqJzr=0rqr0pqp0×JxpJyqJzr=qr(JzJy)pr(JxJz)pq(JyJx)(2-10)

联立(2-10)和(2-9b)可得
[ p ˙ q ˙ r ˙ ] = [ ( J y − J z ) J x q r + J r z J x ( Ω 1 − Ω 2 + Ω 3 − Ω 4 ) q + τ x J x − τ f x J x ( J z − J x ) J y p r + J r z J y ( − Ω 1 + Ω 2 − Ω 3 + Ω 4 ) p + τ y J y − τ f y J y ( J x − J y ) J z p q + τ z J z − τ f z J z ] (2-11) \begin{bmatrix} \dot p \\ \dot q \\ \dot r \\ \end{bmatrix}= \begin{bmatrix} \begin{aligned} &\frac{(J_y-J_z)}{J_x}qr + \frac{J_{rz}}{J_x}(\Omega_1-\Omega_2+\Omega_3-\Omega_4)q + \frac{\tau_x}{J_x}-\frac{\tau_{fx}}{J_x} \\ &\frac{(J_z-J_x)}{J_y}pr + \frac{J_{rz}}{J_y}(-\Omega_1+\Omega_2-\Omega_3+\Omega_4)p + \frac{\tau_y}{J_y}-\frac{\tau_{fy}}{J_y} \\ &\frac{(J_x-J_y)}{J_z}pq + \frac{\tau_z}{J_z}-\frac{\tau_{fz}}{J_z}\\ \end{aligned} \end{bmatrix} \tag{2-11} p˙q˙r˙=Jx(JyJz)qr+JxJrz(Ω1Ω2+Ω3Ω4)q+JxτxJxτfxJy(JzJx)pr+JyJrz(Ω1+Ω2Ω3+Ω4)p+JyτyJyτfyJz(JxJy)pq+JzτzJzτfz(2-11)

  • 机体坐标系下角速度和惯性坐标系下角速度的关系为3

[ ϕ ˙ θ ˙ ψ ˙ ] = [ 1 sin ⁡ ϕ tan ⁡ θ cos ⁡ ϕ tan ⁡ θ 0 cos ⁡ ϕ − sin ⁡ ϕ 0 ( sin ⁡ ϕ / cos ⁡ θ ) ( cos ⁡ ϕ / cos ⁡ θ ) ] [ p q r ] (2-12) \begin{bmatrix} \dot \phi\\ \dot \theta \\ \dot \psi \end{bmatrix} = \begin{bmatrix} 1 & \sin\phi\tan\theta & \cos\phi\tan\theta \\ 0 & \cos\phi & -\sin\phi \\ 0 & (\sin\phi/\cos\theta) & (\cos\phi/\cos\theta) \end{bmatrix} \begin{bmatrix} p\\ q \\ r \end{bmatrix} \tag{2-12} ϕ˙θ˙ψ˙=100sinϕtanθcosϕ(sinϕ/cosθ)cosϕtanθsinϕ(cosϕ/cosθ)pqr(2-12)

[ p q r ] = [ 1 0 − sin ⁡ θ 0 cos ⁡ ϕ cos ⁡ θ sin ⁡ ϕ 0 − sin ⁡ ϕ cos ⁡ θ cos ⁡ ϕ ] [ ϕ ˙ θ ˙ ψ ˙ ] (2-13) \begin{bmatrix} p\\ q \\ r \end{bmatrix} = \begin{bmatrix} 1&0&-\sin\theta\\ 0&\cos\phi & \cos\theta\sin\phi\\ 0&-\sin\phi & \cos\theta\cos\phi \end{bmatrix} \begin{bmatrix} \dot \phi\\ \dot \theta \\ \dot \psi \end{bmatrix} \tag{2-13} pqr=1000cosϕsinϕsinθcosθsinϕcosθcosϕϕ˙θ˙ψ˙(2-13)

2.4 飞行控制刚体模型

联立(2-12)和(2-10),并考虑在机身稳定点处做线性化( θ → 0 \theta\rightarrow0 θ0)可得
[ ϕ ¨ θ ¨ ψ ¨ ] = [ 1 J x [ τ x + q r ( J x − J z ) − J x r q Ω g y o − τ f x ] 1 J y [ τ y + p r ( J z − J x ) + J y r q Ω g y o − τ f y ] 1 J z [ τ z + p q ( J x − J y ) ] (2-14) \begin{bmatrix} \ddot \phi\\ \ddot \theta \\ \ddot \psi \end{bmatrix} = \begin{bmatrix} \begin{aligned} &\frac{1}{J_x}[\tau_x+qr(J_x-J_z)-J_{xr}q\Omega_{gyo}-\tau_{fx}]\\ &\frac{1}{J_y}[\tau_y+pr(J_z-J_x)+J_{yr}q\Omega_{gyo}-\tau_{fy}]\\ &\frac{1}{J_z}[\tau_z+pq(J_x-J_y) \end{aligned} \end{bmatrix} \tag{2-14} ϕ¨θ¨ψ¨=Jx1[τx+qr(JxJz)JxrqΩgyoτfx]Jy1[τy+pr(JzJx)+JyrqΩgyoτfy]Jz1[τz+pq(JxJy)(2-14)

式中 Ω g y o = Ω 1 − Ω 2 + Ω 3 − Ω 4 \Omega_{gyo}=\Omega_1-\Omega_2+\Omega_3-\Omega_4 Ωgyo=Ω1Ω2+Ω3Ω4

将式(2-8)和(2-14)写在一起,并令 [ U 1 U 2 U 3 U 4 ] T = [ T τ x τ y τ z ] [U_1\quad U_2\quad U_3\quad U_4 ]^T=[T\quad \tau_{x}\quad \tau_{y}\quad \tau_{z}] [U1U2U3U4]T=[Tτxτyτz]4(动力学模型的输入量),可得
[ x ¨ y ¨ z ¨ ϕ ¨ θ ¨ ψ ¨ ] = [ − T m ( cos ⁡ ψ sin ⁡ θ cos ⁡ ϕ + sin ⁡ ψ sin ⁡ ϕ ) − K 1 x ˙ − T m ( sin ⁡ ψ sin ⁡ θ cos ⁡ ϕ − cos ⁡ ψ sin ⁡ ϕ ) − K 2 y ˙ g − T m ( cos ⁡ ϕ cos ⁡ θ ) − K 3 z ˙ 1 J x [ τ x + q r ( J x − J z ) − J x r q Ω g y o − τ f x ] 1 J y [ τ y + p r ( J z − J x ) + J y r q Ω g y o − τ f y ] 1 J z [ τ z + p q ( J x − J y ) ] (2-15) \begin{bmatrix} \ddot{x}\\\ddot{y}\\\ddot{z} \\ \ddot \phi\\ \ddot \theta \\ \ddot \psi \end{bmatrix}= \begin{bmatrix} \begin{aligned} &-\frac{T}{m}(\cos\psi \sin\theta \cos\phi + \sin\psi\sin\phi)-K_1\dot{x} \\ &-\frac{T}{m}(\sin\psi \sin\theta \cos\phi - \cos\psi\sin\phi)-K_2\dot{y} \\ &g-\frac{T}{m} (\cos\phi\cos\theta) -K_3\dot{z}\\ &\frac{1}{J_x}[\tau_x+qr(J_x-J_z)-J_{xr}q\Omega_{gyo}-\tau_{fx}]\\ &\frac{1}{J_y}[\tau_y+pr(J_z-J_x)+J_{yr}q\Omega_{gyo}-\tau_{fy}]\\ &\frac{1}{J_z}[\tau_z+pq(J_x-J_y) \end{aligned} \end{bmatrix} \tag{2-15} x¨y¨z¨ϕ¨θ¨ψ¨=mT(cosψsinθcosϕ+sinψsinϕ)K1x˙mT(sinψsinθcosϕcosψsinϕ)K2y˙gmT(cosϕcosθ)K3z˙Jx1[τx+qr(JxJz)JxrqΩgyoτfx]Jy1[τy+pr(JzJx)+JyrqΩgyoτfy]Jz1[τz+pq(JxJy)(2-15)
式(2-15)即为四旋翼飞行器的非线性六自由度模型。

参考文献


  1. 无人机运动学控制中的坐标系,及惯性坐标系与机体坐标系之间的矩阵转换 欧拉角_autotian的博客-CSDN博客_机体坐标系 ↩︎

  2. 微小型四旋翼飞行器辨识建模研究_刘莉欣 ↩︎

  3. 机体坐标系的角速度分量_Alvin Peng的博客-CSDN博客_角速度分量 ↩︎

  4. 四旋翼飞行器建模(一)— 动力学及运动学方程 - 知乎 (zhihu.com) ↩︎

;