四旋翼无人机Matlab建模_matlab无人机飞行轨迹的建模-程序员宅基地

技术标签: matlab  matelab  控制器  四旋翼  

本文主要分享一下四旋翼无人机的建模过程,然后在Matlab的simulink模块搭建起四旋翼无人机的模型,本篇文章主要参考了康日晖的《四旋翼无人机建模》与南京邮电大学周帆同学的硕士毕业论文,最后我会给出参考文章网址,有兴趣的同学可以看看。

一、无人机建模过程

1.坐标系建立

为了更好的描述无人机的姿态,需要建立两个坐标系:一是地面坐标系;二是机体坐标系。首先建立地面坐标系。
地面坐标系,顾名思义就是一种固定在地球表面的坐标系。在地面上任选一点O作为原点,X轴指向地球表面任意一个方向,Z轴沿着铅直方向指向天空,Y轴在水平面内与X轴垂直,指向通过右手法则来确定。飞行器的位姿,速度,角速度等都是相对于这一坐标系来衡量的,在这里,我们将地面坐标系记为{E-OXYZ}系,其图如下所示:
在这里插入图片描述
机体坐标系,很显然,该坐标系建立在飞行器上。原点o位于飞行器的质心处,对于四旋翼而言,其实为四旋翼中心;x轴在飞机的对称平面内,并且平行于飞行器的设计轴线,指向机头前方;y轴垂直于机身对称平面,并指向机身右方;z轴过o点并于xoy平面垂直,指向飞行器上方。该坐标系我们一般记为{B-oxyz}系,其示意图如下:
在这里插入图片描述
机体坐标系和地面坐标系之间的转换关系可以通过三个欧拉角进行描述,分别是俯仰角 θ \theta θ,横滚角 ϕ \phi ϕ,偏航角 ψ \psi ψ。记地面坐标系为E系,机体坐标系为B系,从地面坐标系变换到机体坐标系的变换过程如下:

1.{B}的初始方位与坐标系{E}重合,首先{B}绕 X E 轴 X_{E}轴 XE,即地面坐标系的X轴旋转横滚角 ϕ \phi ϕ,得到新坐标系记作 B 1 B_{1} B1
2.将 B 1 B_{1} B1坐标系绕 Y E Y_{E} YE轴,即地面坐标系的Y轴旋转俯仰角 θ \theta θ,得到新坐标系记作 B 2 B_{2} B2
3.将 B 2 B_{2} B2坐标系绕 Z E Z_{E} ZE轴,即地面坐标系的Z轴旋转偏航角 ψ \psi ψ,得到新坐标系记作 B 3 B_{3} B3,该坐标系就是我们飞行器运动后的机体坐标系
由于上述一系列坐标系变换都是相对于固定坐标系{E}旋转合成得到,因此可以通过左乘基本旋转矩阵得到机体坐标系{B}转换到地面坐标系{E}的旋转矩阵,计算公式如下:
B E R = R z ( ψ ) R y ( θ ) R x ( ϕ ) ( 1 ) _{B}^{E}\textrm{R}=R_{z}(\psi)R_{y}(\theta)R_{x}(\phi) (1) BER=Rz(ψ)Ry(θ)Rx(ϕ)1其中 B E R _{B}^{E}\textrm{R} BER是机体坐标系B转换到地面坐标系{E}的旋转矩阵, R x , R y , R z R_{x},R_{y},R_{z} Rx,Ry,Rz分别是绕x,y,z轴旋转的基本旋转矩阵,将(1)式展开
B E R = [ c o s ( ψ ) − s i n ( ψ ) 0 s i n ( ψ ) c o s ( ψ ) 0 0 0 1 ] [ c o s ( θ ) 0 s i n ( θ ) 0 1 0 − s i n ( θ ) 0 c o s ( θ ) ] [ 1 0 0 0 c o s ( ϕ ) − s i n ( ϕ ) 0 s i n ( ϕ ) c o s ( ϕ ) ] _{B}^{E}\textrm{R}=\begin{bmatrix} cos(\psi) &-sin(\psi) &0 \\ sin(\psi) &cos(\psi) &0 \\ 0 &0 &1 \end{bmatrix}\begin{bmatrix} cos(\theta) &0 &sin(\theta) \\ 0 &1 &0 \\ -sin(\theta) &0 &cos(\theta) \end{bmatrix}\begin{bmatrix} 1 &0 &0 \\ 0 &cos(\phi) &-sin(\phi) \\ 0 &sin(\phi) &cos(\phi) \end{bmatrix} BER=cos(ψ)sin(ψ)0sin(ψ)cos(ψ)0001cos(θ)0sin(θ)010sin(θ)0cos(θ)1000cos(ϕ)sin(ϕ)0sin(ϕ)cos(ϕ)将上式化简,可得 B E R = [ c o s ( θ ) c o s ( ψ ) s i n ( θ ) s i n ( ϕ ) c o s ( ψ ) − s i n ( ψ ) c o s ( ϕ ) s i n ( ψ ) s i n ( ϕ ) + s i n ( θ ) c o s ( ϕ ) c o s ( ψ ) s i n ( ψ ) c o s ( θ ) c o s ( ϕ ) c o s ( ψ ) + s i n ( ϕ ) s i n ( ψ ) s i n ( θ ) s i n ( θ ) s i n ( ψ ) c o s ( ϕ ) − s i n ( ϕ ) c o s ( ψ ) − s i n ( θ ) s i n ( ϕ ) c o s ( θ ) c o s ( θ ) c o s ( ϕ ) ] ( 2 ) _{B}^{E}\textrm{R}=\begin{bmatrix} cos(\theta )cos(\psi ) &sin(\theta )sin(\phi )cos(\psi )-sin(\psi )cos(\phi ) &sin(\psi )sin(\phi )+sin(\theta )cos(\phi )cos(\psi ) \\ sin(\psi )cos(\theta ) &cos(\phi )cos(\psi )+sin(\phi )sin(\psi )sin(\theta ) &sin(\theta )sin(\psi )cos(\phi )-sin(\phi )cos(\psi) \\ -sin(\theta ) &sin(\phi )cos(\theta ) &cos(\theta )cos(\phi ) \end{bmatrix}(2) BER=cos(θ)cos(ψ)sin(ψ)cos(θ)sin(θ)sin(θ)sin(ϕ)cos(ψ)sin(ψ)cos(ϕ)cos(ϕ)cos(ψ)+sin(ϕ)sin(ψ)sin(θ)sin(ϕ)cos(θ)sin(ψ)sin(ϕ)+sin(θ)cos(ϕ)cos(ψ)sin(θ)sin(ψ)cos(ϕ)sin(ϕ)cos(ψ)cos(θ)cos(ϕ)(2)则机体坐标系{B}与地面坐标系{E}之间的转换关系满足下式: [ X Y Z ] = B E R [ x y z ] ( 3 ) \begin{bmatrix} X\\ Y\\ Z \end{bmatrix}=_{B}^{E}\textrm{R}\begin{bmatrix} x\\ y\\ z \end{bmatrix}(3) XYZ=BERxyz3其中 [ X , Y , Z ] T \begin{bmatrix} X, &Y, &Z \end{bmatrix}^{T} [X,Y,Z]T是某点p在地面坐标系中的表示, [ x , y , z ] T \begin{bmatrix} x, &y, &z \end{bmatrix}^{T} [x,y,z]T是某点p在机体坐标系中的表示。至此,无人机系统的坐标系建立完成,接下来进行动力学建模。

2.无人机动力学建模

(1)无人机位置模型

无人机动力学建模主要依据牛顿第二定律,即
{ F → = m d V → d t M → = d H → d t ( 4 ) \left \{ \begin{matrix} \overrightarrow{F}= &m\frac{d\overrightarrow{V}}{dt} \\ \overrightarrow{M}= &\frac{d\overrightarrow{H}}{dt} \end{matrix} \right.(4) { F =M =mdtdV dtdH (4) F → \overrightarrow{F} F 是作用于四旋翼上所有外力的和; V → \overrightarrow{V} V 是四旋翼质心速度;m为四旋翼质量; H → \overrightarrow{H} H 为四旋翼相对于地面坐标系的动量矩。
首先考虑四旋翼所受外力,则可以得到如下公式:
m a = F D + F G + f + D i ( 5 ) ma=F_{D}+F_{G}+f+D_{i}(5) ma=FD+FG+f+Di(5)其中: a = [ x ¨ y ¨ z ¨ ] T a=\begin{bmatrix} \ddot{x} &\ddot{y} &\ddot{z} \end{bmatrix}^{T} a=[x¨y¨z¨]T表示无人机位置信息的加速度, F D F_{D} FD表示四旋翼无人机四个旋翼产生的升力之和,上面的公式是在地面坐标系下表示,因此四旋翼四个旋翼的升力之和需要在地面坐标系下表示,定义四旋翼无人机四个旋翼产生的升力之和在机体坐标系下的表示为 B F D _{}^{B}\textrm{F}_{D} BFD,则其大小为 B F D = ∑ j = 1 4 ρ ω j 2 ( 6 ) _{}^{B}\textrm{F}_{D}=\sum_{j=1}^{4}\rho \omega _{j}^{2}(6) BFD=j=14ρωj2(6)其中 ρ \rho ρ是升力系数, ω j \omega _{j} ωj是电机旋转的角速度。该力的方向与机体坐标系的z轴方向一致,因此可以将其写为: B F D = [ 0 0 ∑ j = 1 4 ρ ω j 2 ] ( 7 ) _{}^{B}\textrm{F}_{D}=\begin{bmatrix} 0\\ 0\\ \sum_{j=1}^{4}\rho \omega _{j}^{2} \end{bmatrix}(7) BFD=00j=14ρωj2(7)将其转换到地面坐标系 F D = E F D = B E R B F D ( 8 ) F_{D}=_{}^{E}\textrm{F}_{D}=_{B}^{E}\textrm{R}_{}^{B}\textrm{F}_{D}(8) FD=EFD=BERBFD8 F G F_{G} FG表示四旋翼受到的重力,在地面坐标系中方向垂直向下,大小为mg; f f f表示四旋翼所受空气阻力,其大小为 f = k v f=kv f=kv,k为空气阻力系数,v为飞行器速度; D i D_{i} Di表示四旋翼无人机内部不可建模的部分及外部扰动,其表达式: D i = [ d 1 d 2 d 3 ] ( 9 ) D_{i}=\begin{bmatrix} d_{1}\\ d_{2}\\ d_{3} \end{bmatrix}(9) Di=d1d2d3(9)将(8),(9)代入(5)中,可得下式: m [ x ¨ y ¨ z ¨ ] = B E R [ 0 0 ∑ j = 1 4 ρ ω j 2 ] − m [ 0 0 g ] − [ k 1 x ˙ k 2 y ˙ k 3 z ˙ ] + [ d 1 d 2 d 3 ] ( 10 ) m\begin{bmatrix} \ddot{x}\\ \ddot{y}\\ \ddot{z} \end{bmatrix}=_{B}^{E}\textrm{R}\begin{bmatrix} 0\\ 0\\ \sum_{j=1}^{4}\rho\omega _{j}^{2} \end{bmatrix}-m\begin{bmatrix} 0\\ 0\\ g \end{bmatrix}-\begin{bmatrix} k_{1}\dot{x}\\ k_{2}\dot{y}\\ k_{3}\dot{z} \end{bmatrix}+\begin{bmatrix} d_{1}\\ d_{2}\\ d_{3} \end{bmatrix}(10) mx¨y¨z¨=BER00j=14ρωj2m00gk1x˙k2y˙k3z˙+d1d2d3(10)其中 k 1 , k 2 , k 3 k_{1},k_{2},k_{3} k1,k2,k3分别是x,y,z三个方向的阻力系数, x ˙ , y ˙ , z ˙ \dot{x},\dot{y},\dot{z} x˙,y˙,z˙代表了在x,y,z三个方向的速度,将 B E R _{B}^{E}\textrm{R} BER的值代入上式,可得 { x ¨ = ∑ j = 1 4 ρ ω j 2 m ( s ψ s ϕ + c ψ c ϕ s θ ) − k 1 m x ˙ + d 1 y ¨ = ∑ j = 1 4 ρ ω j 2 m ( s ψ s θ c ϕ − c ψ s ϕ ) − k 2 m y ˙ + d 2 z ¨ = ∑ j = 1 4 ρ ω j 2 m c θ c ϕ − g − k 3 m z ˙ + d 3 ( 11 ) \left\{\begin{matrix} \ddot{x}=&\frac{\sum_{j=1}^{4}\rho \omega _{j}^{2}}{m}(s\psi s\phi +c\psi c\phi s\theta )&-\frac{k_{1}}{m}\dot{x}+d_{1}& \\ \ddot{y}=&\frac{\sum_{j=1}^{4}\rho \omega _{j}^{2}}{m}(s\psi s\theta c\phi - c\psi s\phi)&-\frac{k_{2}}{m}\dot{y}+d_{2}& \\ \ddot{z}=&\frac{\sum_{j=1}^{4}\rho \omega _{j}^{2}}{m}c\theta c\phi -g-\frac{k_{3}}{m}\dot{z}+d_{3}& & \end{matrix}\right.(11) x¨=y¨=z¨=mj=14ρωj2(sψsϕ+cψcϕsθ)mj=14ρωj2(sψsθcϕcψsϕ)mj=14ρωj2cθcϕgmk3z˙+d3mk1x˙+d1mk2y˙+d2(11)上式就是无人机位置模型,其中 s θ = s i n ( θ ) , c θ = c o s ( θ ) s\theta =sin(\theta ),c\theta =cos(\theta ) sθ=sin(θ),cθ=cos(θ)

(2)无人机姿态模型

在获得无人机位置模型后,要考虑四旋翼的姿态,为了更加方便描述姿态,下面公式描述是在机体坐标系下描述。根据(4)式,对四旋翼进行力矩分析,设M为作用于四旋翼无人机上的合力矩,则 M = M L + M f ( 12 ) M=M_{L}+M_{f}(12) M=ML+Mf(12)
M f M_{f} Mf是空气阻力对旋翼产生的反力矩。当飞行器两组旋翼产生的力矩不相等时,便会导致四旋翼无人机的偏航运动。由此可得,空气阻力对旋翼产生的反力矩为 M f = M f 2 + M f 4 − M f 1 − M f 3 = [ 0 0 ∑ j = 1 4 ( − 1 ) j γ ω j 2 ] ( 13 ) M_{f}=M_{f2}+M_{f4}-M_{f1}-M_{f3}=\begin{bmatrix} 0\\ 0\\ \sum_{j=1}^{4}(-1)^{j}\gamma \omega _{j}^{2} \end{bmatrix}(13) Mf=Mf2+Mf4Mf1Mf3=00j=14(1)jγωj2(13)其中, γ \gamma γ为转动空气阻力系数。
M L = [ M L x , M L y , M L z ] T M_{L}=[M_{Lx},M_{Ly},M_{Lz}]^{T} ML=[MLx,MLy,MLz]T表示四旋翼无人机四个旋翼产生的升力矩之和。 L L L表示每个旋翼到四旋翼无人机重心的距离,可由右手定则得到旋翼产生的升力矩如下 (示意图见上面)
M L = [ M L x M L y M L z ] = [ L ( F L 4 − F L 2 ) L ( F L 3 − F L 1 ) 0 ] ( 14 ) M_{L}=\begin{bmatrix} M_{Lx}\\ M_{Ly}\\ M_{Lz} \end{bmatrix}=\begin{bmatrix} L(F_{L4}-F_{L2})\\ L(F_{L3}-F_{L1})\\ 0 \end{bmatrix}(14) ML=MLxMLyMLz=L(FL4FL2)L(FL3FL1)0(14)其中, F L 1 , F L 2 , F L 3 , F L 4 F_{L1},F_{L2},F_{L3},F_{L4} FL1,FL2,FL3,FL4分别是Motor1----Motor4四个电机产生的力,将(13),(14)式代入(12)中,可得下式 M = M L + M f = [ L ( F L 4 − F L 2 ) L ( F L 3 − F L 1 ) ∑ j = 1 4 ( − 1 ) j γ ω j 2 ] ( 15 ) M=M_{L}+M_{f}=\begin{bmatrix} L(F_{L4}-F_{L2})\\ L(F_{L3}-F_{L1})\\ \sum_{j=1}^{4}(-1)^{j}\gamma \omega _{j}^{2} \end{bmatrix}(15) M=ML+Mf=L(FL4FL2)L(FL3FL1)j=14(1)jγωj2(15)由角动量定理及哥式定理有转动方程 M = I ϖ ˙ + ϖ × I ϖ ( 16 ) M=I\dot{\varpi }+\varpi \times I\varpi (16) M=Iϖ˙+ϖ×Iϖ(16)其中, I I I表示四旋翼无人机在机体坐标系下的转动惯量,为对角矩阵,表达式如下 I = [ I x x 0 0 0 I y y 0 0 0 I z z ] ( 17 ) I=\begin{bmatrix} I_{xx} &0 &0 \\ 0&I_{yy} &0 \\ 0&0 &I_{zz} \end{bmatrix}(17) I=Ixx000Iyy000Izz(17) ϖ = [ p , q , r ] T \varpi=[p,q,r]^{T} ϖ=[p,q,r]T, p , q , r p,q,r p,q,r是机体坐标系下的横滚,俯仰,偏航角速度,所以(16)式可改写如下: M = [ I x x 0 0 0 I y y 0 0 0 I z z ] [ p ˙ q ˙ r ˙ ] + [ p q r ] × [ I x x 0 0 0 I y y 0 0 0 I z z ] [ p q r ] ( 18 ) M=\begin{bmatrix} I_{xx} &0 &0 \\ 0&I_{yy} &0 \\ 0&0 &I_{zz} \end{bmatrix}\begin{bmatrix} \dot{p}\\ \dot{q}\\ \dot{r} \end{bmatrix}+\begin{bmatrix} p\\ q\\ r \end{bmatrix}\times \begin{bmatrix} I_{xx} &0 &0 \\ 0&I_{yy} &0 \\ 0&0 &I_{zz} \end{bmatrix}\begin{bmatrix} p\\ q\\ r \end{bmatrix}(18) M=Ixx000Iyy000Izzp˙q˙r˙+pqr×Ixx000Iyy000Izzpqr(18)结合式(15)与式(18),可得四旋翼的姿态方程 { p ˙ = q r ( I y y − I z z I x x ) + L ( F L 4 − F L 2 ) I x x q ˙ = p r ( I z z − I x x I y y ) + L ( F L 3 − F L 1 ) I y y r ˙ = p q ( I x x − I y y I z z ) + ∑ j = 1 4 ( − 1 ) j γ ω j 2 I z z ( 19 ) \left\{\begin{matrix} \dot{p}=qr(\frac{I_{yy}-I_{zz}}{I_{xx}})+\frac{L(F_{L4}-F_{L2})}{I_{xx}}\\ \dot{q}=pr(\frac{I_{zz}-I_{xx}}{I_{yy}})+\frac{L(F_{L3}-F_{L1})}{I_{yy}}\\ \dot{r}=pq(\frac{I_{xx}-I_{yy}}{I_{zz}})+\frac{\sum_{j=1}^{4}(-1)^{j}\gamma \omega _{j}^{2}}{I_{zz}} \end{matrix}\right.(19) p˙=qr(IxxIyyIzz)+IxxL(FL4FL2)q˙=pr(IyyIzzIxx)+IyyL(FL3FL1)r˙=pq(IzzIxxIyy)+Izzj=14(1)jγωj2(19)
由于角速度 ϖ = [ p , q , r ] T \varpi=[p,q,r]^{T} ϖ=[p,q,r]T是在机体坐标系下的描述,而前面四旋翼运动方程是在地面坐标系下的描述,角速度 ϖ \varpi ϖ与欧拉角 [ ϕ , θ , ψ ] T [\phi ,\theta ,\psi ]^{T} [ϕ,θ,ψ]T有如下转换关系(坐标变换,乘以旋转矩阵):
{ ϕ ˙ = p + q s i n ( ϕ ) t a n ( θ ) + r c o s ( ϕ ) t a n ( θ ) θ ˙ = q c o s ( ϕ ) − r s i n ( ϕ ) ψ ˙ = q s i n ( ϕ ) / c o s θ + r c o s ( ϕ ) / c o s ( θ ) ( 20 ) \left\{\begin{matrix} \dot{\phi }=&p+qsin(\phi )tan(\theta )+rcos(\phi )tan(\theta ) \\ \dot{\theta }= &qcos(\phi )-rsin(\phi ) \\ \dot{\psi }= & qsin(\phi )/cos\theta +rcos(\phi )/cos(\theta ) \end{matrix}\right.(20) ϕ˙=θ˙=ψ˙=p+qsin(ϕ)tan(θ)+rcos(ϕ)tan(θ)qcos(ϕ)rsin(ϕ)qsin(ϕ)/cosθ+rcos(ϕ)/cos(θ)(20)当姿态角小位移运动时, s i n ϕ ≈ s i n θ ≈ s i n ψ ≈ 0 sin\phi \approx sin\theta \approx sin\psi \approx 0 sinϕsinθsinψ0 c o s ϕ ≈ c o s θ ≈ c o s ψ ≈ 1 cos\phi \approx cos\theta \approx cos\psi \approx 1 cosϕcosθcosψ1因此(20)改写如下 { ϕ ˙ = p θ ˙ = q ψ ˙ = r ( 21 ) \left\{\begin{matrix} \dot{\phi }=p\\ \dot{\theta }=q\\ \dot{\psi }=r \end{matrix}\right.(21) ϕ˙=pθ˙=qψ˙=r(21)将(21)代入(19),可得四旋翼姿态方程 { ϕ ¨ = θ ˙ ψ ˙ ( I y y − I z z I x x ) + L ( F L 4 − F L 2 ) I x x θ ¨ = ϕ ˙ ψ ˙ ( I z z − I x x I y y ) + L ( F L 3 − F L 1 ) I y y ψ ¨ = ϕ ˙ θ ˙ ( I x x − I y y I z z ) + ∑ j = 1 4 ( − 1 ) j γ ω j 2 I z z ( 22 ) \left\{\begin{matrix} \ddot{\phi }=\dot{\theta }\dot{\psi }(\frac{I_{yy}-I_{zz}}{I_{xx}})+\frac{L(F_{L4}-F_{L2})}{I_{xx}}\\ \ddot{\theta }=\dot{\phi }\dot{\psi }(\frac{I_{zz}-I_{xx}}{I_{yy}})+\frac{L(F_{L3}-F_{L1})}{I_{yy}}\\ \ddot{\psi }=\dot{\phi }\dot{\theta }(\frac{I_{xx}-I_{yy}}{I_{zz}})+\frac{\sum_{j=1}^{4}(-1)^{j}\gamma \omega _{j}^{2}}{I_{zz}} \end{matrix}\right.(22) ϕ¨=θ˙ψ˙(IxxIyyIzz)+IxxL(FL4FL2)θ¨=ϕ˙ψ˙(IyyIzzIxx)+IyyL(FL3FL1)ψ¨=ϕ˙θ˙(IzzIxxIyy)+Izzj=14(1)jγωj2(22)

(3)无人机完整非线性模型

现定义 u i ( i = 1 , 2 , 3 , 4 ) u_{i}(i=1,2,3,4) ui(i=1,2,3,4)为四旋翼无人机的实际控制输入量,表达式如下 [ u 1 u 2 u 3 u 4 ] = [ F L 1 + F L 2 + F L 3 + F L 4 L ( F L 4 − F L 2 ) L ( F L 3 − F L 1 ) M f 2 + M f 4 − M f 1 − M f 3 ] = [ ∑ j = 1 4 ρ ω j 2 L ρ ( ω 4 2 − ω 2 2 ) L ρ ( ω 3 2 − ω 1 2 ) ∑ j = 1 4 ( − 1 ) j γ ω j 2 ] ( 23 ) \begin{bmatrix} u_{1}\\ u_{2}\\ u_{3}\\ u_{4} \end{bmatrix}=\begin{bmatrix} F_{L1}+F_{L2}+F_{L3}+F_{L4}\\ L(F_{L4}-F_{L2})\\ L(F_{L3}-F_{L1})\\ M_{f2}+M_{f4}-M_{f1}-M_{f3} \end{bmatrix}=\begin{bmatrix} \sum_{j=1}^{4}\rho \omega _{j}^{2}\\ L\rho(\omega _{4}^{2}-\omega _{2}^{2})\\ L\rho(\omega _{3}^{2}-\omega _{1}^{2})\\ \sum_{j=1}^{4}(-1)^{j}\gamma \omega _{j}^{2} \end{bmatrix}(23) u1u2u3u4=FL1+FL2+FL3+FL4L(FL4FL2)L(FL3FL1)Mf2+Mf4Mf1Mf3=j=14ρωj2Lρ(ω42ω22)Lρ(ω32ω12)j=14(1)jγωj2(23)其中, u 1 u_{1} u1控制四旋翼无人机的垂直运动; u 2 u_{2} u2控制四旋翼无人机的滚转运动; u 3 u_{3} u3控制四旋翼无人机的俯仰运动; u 4 u_{4} u4控制四旋翼无人机的偏航运动。

将式(23)代入(11)与(22)中,可得无人机完整非线性方程 { x ¨ = u 1 m ( s ψ s ϕ + c ψ c ϕ s θ ) − k 1 m x ˙ + d 1 y ¨ = u 1 m ( s ψ s θ c ϕ − c ψ s ϕ ) − k 2 m y ˙ + d 2 z ¨ = u 1 m c θ c ϕ − g − k 3 m z ˙ + d 3 ϕ ¨ = θ ˙ ψ ˙ ( I y y − I z z I x x ) + u 2 I x x + d 4 θ ¨ = ϕ ˙ ψ ˙ ( I z z − I x x I y y ) + u 3 I y y + d 5 ψ ¨ = ϕ ˙ θ ˙ ( I x x − I y y I z z ) + u 4 I z z + d 6 ( 24 ) \left\{\begin{matrix} \ddot{x}=\frac{ u_{1}}{m}(s\psi s\phi +c\psi c\phi s\theta )-\frac{k_{1}}{m}\dot{x}+d_{1}\\ \ddot{y}=\frac{ u_{1}}{m}(s\psi s\theta c\phi - c\psi s\phi)-\frac{k_{2}}{m}\dot{y}+d_{2}\\ \ddot{z}=\frac{ u_{1}}{m}c\theta c\phi -g-\frac{k_{3}}{m}\dot{z}+d_{3}\\ \ddot{\phi }=\dot{\theta }\dot{\psi }(\frac{I_{yy}-I_{zz}}{I_{xx}})+\frac{u_{2}}{I_{xx}}+d_{4}\\ \ddot{\theta }=\dot{\phi }\dot{\psi }(\frac{I_{zz}-I_{xx}}{I_{yy}})+\frac{u_{3}}{I_{yy}}+d_{5}\\ \ddot{\psi }=\dot{\phi }\dot{\theta }(\frac{I_{xx}-I_{yy}}{I_{zz}})+\frac{u_{4}}{I_{zz}}+d_{6} \end{matrix}\right.(24) x¨=mu1(sψsϕ+cψcϕsθ)mk1x˙+d1y¨=mu1(sψsθcϕcψsϕ)mk2y˙+d2z¨=mu1cθcϕgmk3z˙+d3ϕ¨=θ˙ψ˙(IxxIyyIzz)+Ixxu2+d4θ¨=ϕ˙ψ˙(IyyIzzIxx)+Iyyu3+d5ψ¨=ϕ˙θ˙(IzzIxxIyy)+Izzu4+d6(24)式中, d i , ( i = 1 , 2...6 ) d_{i},(i=1,2...6) di,(i=1,2...6)是系统扰动,四旋翼模型建立完毕。

二、无人机simulink模型

为了简化模型,我们令 k i = 0 ( i = 1 , 2 , 3 ) k_{i}=0(i=1,2,3) ki=0(i=1,2,3),即忽略空气阻力;令 d i = 0 ( i = 1 , 2...6 ) d_{i}=0(i=1,2...6) di=0(i=1,2...6),即认为不存在系统扰动,有需要的同学这两样可以自己加,我建立的模型不包括这两部分。
由于simulink不方便打希腊字母,我用了一些简单符号替代,具体替代如下表:

原符号 simulink中替代符号 含义
ϕ \phi ϕ fan 横滚角
θ \theta θ theta 俯仰角
ψ \psi ψ psi 偏航角
ρ \rho ρ rho 四旋翼升力系数
γ \gamma γ gama 空气阻力系数

模型无人机参数选择如下:
在这里插入图片描述
可以根据自己需要修改;模型已经上传,可自行下载(两个版本:Matlab2020b与Matlab2013b)
https://github.com/hjl-up/Quadrotor

三、模型推导补充

关于公式(20)的推导,参考链接: 欧拉角速率与机体角速度转换详细推导
.

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_36903625/article/details/118752701

智能推荐

Redis缓存数据库SaaS多租户实现方案-程序员宅基地

文章浏览阅读2.7k次。一、前言上2个章节已经实现了mysql和MongoDB的多租户切实现方案,本章将继续学习Redis的多数据源切换。Redis服务器默认有16个database,我们可以将每个租户的数据放到其中一个database中,也可以部署多台Redis服务器,每个租户使用一个Redis服务器,也可以把两者结合起来,Redis服务器部署多台,先在一台的16个Database上放,放满了16个Database然后再往下一台Redis服务器上放。这种方式需要有一个MySQL数据库表存储每台Redis服务器的Databa

win10触摸键盘TabTip软件特性-程序员宅基地

文章浏览阅读2.3k次。win10触摸键盘通过::SendMessage隐藏方式没有效果HWND hWnd = ::FindWindow(L"OSKMainClass", NULL);if ( hWnd ){::SendMessage(hWnd, WM_SYSCOMMAND, SC_MINIMIZE, 0);} win10触摸键盘无法找到状态窗口状态,isWidowsVisible,GetWindowPlacement,GetWindowLong,状态没有变化 ..._tabtip

android实时声音信号波形_【每日一题】(八上)通过波形图比较声音的特性(学苑帮你成长一每日一题精析)9月25日...-程序员宅基地

文章浏览阅读1.5k次。9月25日 通过波形图比较声音的特性中考频度:★★☆☆☆难易程度:★☆☆☆☆(2019·广东初二期末)把频率为256 Hz音叉发出的声音信号输入示波器,示波器展现的波形如图甲所示。若把频率为512 Hz音叉发出的声音信号输入同一设备的示波器,其波形可能图中的__________。【参考答案】丁【试题解析】由题知,原来音叉发出声音的频率为256 Hz,现在音叉发出声音的频率为512 Hz..._规格为256hz音叉声音波形如图所示,将512hz音叉的声音输入同一设置的示波器后,其波

关于Win10安装SQLServer后在程序中不能访问的解决方法_msvcr120 sqlservr windows 无非是访问-程序员宅基地

文章浏览阅读8.1k次。前两天刚在win10中安装完SqlServer 2008 R2 ,安装步骤可以参见这篇文章,装完之后打开 Sql Management Studio,登陆、查询、用Navicat连接都没有问题,于是开始转移以前的项目到本机。然后就出现问题了,在访问项目的时候只要是关于查询数据库的程序全都卡半天,最后报个(org.hibernate.exception.GenericJDBCException: C..._msvcr120 sqlservr windows 无非是访问

Json文件格式化方法_json格式化-程序员宅基地

文章浏览阅读5.3w次,点赞2次,收藏16次。本文详细介绍了 JSON 文件格式化的方法。通过深入探讨,文中提供了多种有效的方式来对 JSON 文件进行格式化,以提高其可读性和可维护性。这些方法涵盖了使用特定工具或的相关技巧和要点。读者可以从中了解到如何快速、准确地对 JSON 文件进行格式化,以便更好地理解和处理其中的数据。_json格式化

8个值得推荐的手机APP,个个都是极品_手机必备20个软件-程序员宅基地

文章浏览阅读3.2k次。大家有没有很小众但是很好用的手机APP呀,有的APP虽然知道的人不多,但是有趣又实用,不仅能打发时间,关键时刻还能帮忙!_手机必备20个软件

随便推点

HTML5特效按钮_html5 特效按钮-程序员宅基地

文章浏览阅读1w次,点赞2次,收藏19次。作为前端开发者,我们肯定都使用过非常多的jQuery插件,毋庸置疑,jQuery非常流行,尤其是结合HTML5和CSS3以后,让这些jQuery插件有了更多地动画效果,更为绚丽多彩。下面分享了一些超炫酷的jQuery/HTML5应用,一起来看看。1、HTML5/CSS3一组可爱的3D按钮这是一款利用HTML5和CSS3制作而成的按钮组合,这款CSS按钮非常具有个性化。该CSS3按钮_html5 特效按钮

树莓派(Raspberry Pi 4)开启和连接蓝牙_树莓派连接蓝牙耳机并使用麦克风-程序员宅基地

文章浏览阅读1.8w次,点赞4次,收藏43次。参考连接: link.1、查看树莓派蓝牙开启状态_树莓派连接蓝牙耳机并使用麦克风

Python3输入输出与字符串格式化_%s.%d' %()-程序员宅基地

文章浏览阅读3.3k次,点赞3次,收藏12次。介绍了输入(input)、输出(print),及字符串格式化(F-string、format与%)方式_%s.%d' %()

EL表达式比较字符串或是数字格式的数值是否相等,为true,却不执行为true时的代码_el 表达式 判断字符串和数字相等-程序员宅基地

文章浏览阅读9.3k次。问题:EL表达式比较字符串或是数字格式的数值是否相等,为true,却不执行为true时的代码。示例:true原因:有可能是test="${ 1 == 1}(这里多个空格)",即大括号与双引号之间多了空格,这个时候,就不会打印true。去掉多余的空格就可以了_el 表达式 判断字符串和数字相等

GCC-3.4.6源代码学习笔记(26续1)_-feliminate-unused-debug-types-程序员宅基地

文章浏览阅读2k次。common_handle_option (continue) 909 case OPT_fcall_used_:910 fix_register (arg, 0, 1);911 break;912 913 case OPT_fcall_saved_:914 fix_register (arg, 0, 0)_-feliminate-unused-debug-types

python语言程序设计实践教程陈东上海交通大学答案_《软件开发训练营:ASP.NET开发一站式学习难点》杨云著【摘要 书评 在线阅读】-苏宁易购图书...-程序员宅基地

文章浏览阅读2.7k次。商品参数作者:杨云著出版社:清华大学出版社出版时间:2013-8-1版次:1印次:1印刷时间:2013-8-1页数:434开本:16开装帧:平装ISBN:9787302318286版权提供:清华大学出版社编辑推荐《软件开发训练营·ASP.NET开发一站式学习:难点·案例·练习》特色:1.《软件开发训练营·ASP.NET开发一站式学习:难点·案例·练习》所讲内容既避开艰涩难懂的理论知识,又覆盖了编程..._python语言程序设计实践教程陈东课后习题答案解析