Backstepping反步法控制四旋翼无人机(一)

四旋翼基本参数

四旋翼作为一种可以在空间中自由飞行的无人飞行器,具有6个自由度和4个螺旋桨。其中,4个螺旋桨提供动力,作为四旋翼的动力源;6个自由度分别为:3个位置坐标 x , y , z x,y,z x,y,z,3个角度坐标 θ \theta θ(俯仰), φ \varphi φ(滚转), ψ \psi ψ(偏航)。三种角表示如下:

三种角

基本假设

为了研究方便,作出以下假设:

  1. 四旋翼为刚体;
  2. 四旋翼几何中心处于其重心;
  3. 只有螺旋桨的拉力 T T T和重力 G G G作用于四旋翼,且拉力 T T T垂直于四旋翼的几何平面,重力 G G G指向地心;
  4. 四旋翼的转动惯量和质量不变;
  5. 呈对角线分布的两个螺旋桨转动方向相同;
  6. 忽略空气阻力。

转换矩阵

为研究四旋翼,需要建立坐标系。但随之而来的问题是,应该相对于什么建立坐标系。可以相对四旋翼本身建立坐标系,这种坐标系便于研究四旋翼的俯仰、滚转、偏航角,但显然无法得知四旋翼在具体空间中的位置坐标;亦可以相对地球建立坐标系,该坐标系便于得知四旋翼的位置信息,但其角度信息比较难以求解。

两种坐标系

由此可见,在研究四旋翼过程中,势必需要经过两种坐标系的转化。由此得出转换矩阵
R b e = [ 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 ⁡ θ ] R e b = [ 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 ⁡ θ ] \begin{aligned} \mathbf{R}_b^e&= \begin{bmatrix} \cos{\theta} \cos{\psi} & \cos{\psi} \sin{\theta} \sin{\varphi}-\sin{\psi} \cos{\varphi} & \cos{\psi} \sin{\theta} \cos{\varphi}+\sin{\psi} \sin{\varphi}\\ \cos{\theta} \sin{\psi} & \sin{\psi} \sin{\theta} \sin{\varphi}+\cos {\psi} \cos{\varphi} & \sin{\psi} \sin{\theta} \cos{\varphi}-\cos{\psi} \sin{\varphi}\\ -\sin{\theta} & \sin{\varphi} \cos{\theta} & \cos{\varphi} \cos{\theta} \end{bmatrix} \\ \mathbf{R}_e^b&= \begin{bmatrix} \cos{\theta} \cos{\psi} & \cos{\theta} \sin{\psi} & -\sin{\theta}\\ \cos{\psi} \sin{\theta} \sin{\varphi} -\sin{\psi} \cos{\varphi} & \sin{\psi} \sin{\theta} \sin{\varphi}+\cos {\psi} \cos{\varphi} & \sin{\varphi} \cos{\theta}\\ \cos{\psi} \sin{\theta} \cos{\varphi} + \sin{\psi} \sin{\varphi} & \sin{\psi} \sin{\theta} \cos{\varphi} - \cos{\psi} \sin{\varphi} & \cos{\varphi} \cos{\theta} \end{bmatrix} \end{aligned} RbeReb=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θ=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θ
其中上下标的含义解释如下:以 R b e \mathbf{R}_b^e Rbe为例,指从机体坐标系 b b b转为地心坐标系 e e e。若某个相对于机体的参数为 A b A^b Ab,则它相对于地心的参数为 A e = A b ⋅ R b e A^e = A^b \cdot \mathbf{R}_b^e Ae=AbRbe

一般地,若设机体坐标系 b b b下角速度为 φ ˙ , θ ˙ , ψ ˙ \dot{\varphi}, \dot{\theta}, \dot{\psi} φ˙,θ˙,ψ˙,地心坐标系 e e e下角速度为 p , q , r p,q,r p,q,r,则存在如下关系:
[ φ ˙ θ ˙ ψ ˙ ] = [ 1 tan ⁡ θ sin ⁡ φ tan ⁡ θ cos ⁡ φ 0 cos ⁡ φ − sin ⁡ φ 0 sin ⁡ φ cos ⁡ θ cos ⁡ φ cos ⁡ θ ] [ p q r ] (1) \begin{bmatrix} \dot{\varphi} \\ \dot{\theta} \\ \dot{\psi} \end{bmatrix}= \begin{bmatrix} 1 & \tan{\theta} \sin{\varphi} & \tan{\theta} \cos{\varphi} \\ 0 & \cos{\varphi} & -\sin{\varphi} \\ 0 & \dfrac{\sin{\varphi} }{\cos{\theta}} & \dfrac{ \cos{\varphi} } {\cos{\theta}} \end{bmatrix} \begin{bmatrix} p\\ q\\ r \end{bmatrix} \tag{1} φ˙θ˙ψ˙=100tanθsinφcosφcosθsinφtanθcosφsinφcosθcosφpqr(1)

基本方程

设每个螺旋桨可产生的向上拉力为 F i b F_i^b Fib,则总拉力向量为
F T b = [ 0 0 ∑ i = 1 4 F i b ] \mathbf{F}_T^b= \begin{bmatrix} 0\\ 0\\ \sum\limits_{i=1}^4 F_i^b \end{bmatrix} FTb=00i=14Fib
其中下标 T T T表示拉力, b b b表示相对于机体坐标系。
可以看出,拉力向量 F T b \mathbf{F}_T^b FTb只有在 z z z轴上才不为0
同时,四旋翼还受到重力
G e = [ 0 0 − m g ] \mathbf{G}^e= \begin{bmatrix} 0\\ 0\\ -mg \end{bmatrix} Ge=00mg
上标 e e e表示相对于地球坐标系。

将上述方程写在地球坐标系 e e e下,可以得到
∑ F e = F T e + G e = R b e ⋅ F T b + G e = [ ( cos ⁡ ψ sin ⁡ θ cos ⁡ φ + sin ⁡ ψ sin ⁡ φ ) ∑ i = 1 4 F i b ( sin ⁡ ψ sin ⁡ θ cos ⁡ φ − cos ⁡ ψ sin ⁡ φ ) ∑ i = 1 4 F i b cos ⁡ φ cos ⁡ θ ∑ i = 1 4 F i b − m g ] \begin{aligned} \sum \mathbf{F^e} &= \mathbf{F}_T^e+\mathbf{G}^e\\ &= \mathbf{R}_b^e \cdot \mathbf{F}_T^b+\mathbf{G}^e \\ &= \begin{bmatrix} \left( \cos{\psi} \sin{\theta} \cos{\varphi}+\sin{\psi} \sin{\varphi} \right) \sum\limits_{i=1}^4 F_i^b \\ \left(\sin{\psi} \sin{\theta} \cos{\varphi}-\cos{\psi} \sin{\varphi}\right) \sum\limits_{i=1}^4 F_i^b \\ \cos{\varphi} \cos{\theta} \sum\limits _{i=1}^4 F_i^b -mg \end{bmatrix} \end{aligned} Fe=FTe+Ge=RbeFTb+Ge=(cosψsinθcosφ+sinψsinφ)i=14Fib(sinψsinθcosφcosψsinφ)i=14Fibcosφcosθi=14Fibmg

在地球坐标系 e e e下,由欧拉方程有
∑ F e = m V ˙ e \sum \mathbf{F}^e=m \dot{V}^e Fe=mV˙e

[ ( cos ⁡ ψ sin ⁡ θ cos ⁡ φ + sin ⁡ ψ sin ⁡ φ ) ∑ i = 1 4 F i b ( sin ⁡ ψ sin ⁡ θ cos ⁡ φ − cos ⁡ ψ sin ⁡ φ ) ∑ i = 1 4 F i b cos ⁡ φ cos ⁡ θ ∑ i = 1 4 F i b − m g ] = m [ x ¨ y ¨ z ¨ ] (2) \begin{bmatrix} (\cos{\psi} \sin{\theta} \cos{\varphi}+\sin{\psi} \sin{\varphi}) \sum\limits_{i=1}^4 F_i^b \\ (\sin{\psi} \sin{\theta} \cos{\varphi}-\cos{\psi} \sin{\varphi}) \sum\limits_{i=1}^4 F_i^b \\ \cos{\varphi} \cos{\theta} \sum\limits _{i=1}^4 F_i^b -mg \end{bmatrix}= m \begin{bmatrix} \ddot{x}\\ \ddot{y}\\ \ddot{z} \end{bmatrix} \tag{2} (cosψsinθcosφ+sinψsinφ)i=14Fib(sinψsinθcosφcosψsinφ)i=14Fibcosφcosθi=14Fibmg=mx¨y¨z¨(2)
同时,由旋转体的欧拉方程也可以得到
J ⋅ ω ˙ b + ω b × ( J ⋅ ω b ) = [ J x 0 0 0 J y 0 0 0 J z ] [ p ˙ q ˙ r ˙ ] + [ p q r ] × ( [ J x 0 0 0 J y 0 0 0 J z ] [ p q r ] ) = [ J x p ˙ + ( J z − J y ) q r J y q ˙ + ( J x − J z ) p r J z r ˙ + ( J y − J x ) p q ] \begin{aligned} \mathbf{J} \cdot \dot{\mathbf{\omega}}^b+\mathbf{\omega} ^b\times(\mathbf{J} \cdot \mathbf{\omega}^b) &= \begin{bmatrix} J_x & 0 & 0 \\ 0 & J_y & 0 \\ 0 & 0 & J_z \end{bmatrix} \begin{bmatrix} \dot{p} \\ \dot{q} \\ \dot{r} \end{bmatrix} + \begin{bmatrix} p \\ q \\ r \end{bmatrix} \times \left( \begin{bmatrix} J_x & 0 & 0 \\ 0 & J_y & 0 \\ 0 & 0 & J_z \end{bmatrix} \begin{bmatrix} p \\ q \\ r \end{bmatrix} \right) \\ &= \begin{bmatrix} J_x \dot{p} + \left( J_z-J_y \right) qr \\ J_y \dot{q} + \left( J_x-J_z \right) pr \\ J_z \dot{r} + \left( J_y-J_x \right) pq \end{bmatrix} \end{aligned} Jω˙b+ωb×(Jωb)=Jx000Jy000Jzp˙q˙r˙+pqr×Jx000Jy000Jzpqr=Jxp˙+(JzJy)qrJyq˙+(JxJz)prJzr˙+(JyJx)pq
同时该欧拉方程又可以表示为
∑ M b = τ = [ M T x M T y M T z ] = [ l ( F 2 − F 4 ) l ( F 1 − F 3 ) M D 1 − M D 2 + M D 3 − M D 4 ] \begin{aligned} \sum \mathbf{M}^b=\tau&= \begin{bmatrix} M_{Tx} \\ M_{Ty} \\ M_{Tz} \end{bmatrix} \\ &= \begin{bmatrix} l \left( F_2-F4 \right) \\ l \left( F_1-F_3 \right) \\ M_{D1}-M_{D2}+M_{D3}-M_{D4} \end{bmatrix} \end{aligned} Mb=τ=MTxMTyMTz=l(F2F4)l(F1F3)MD1MD2+MD3MD4
其中 τ \tau τ为拉力的力矩, M D i M_{Di} MDi为第 i i i个螺旋桨对 z z z轴的力矩。
于是可以有
[ l ( F 2 − F 4 ) l ( F 1 − F 3 ) M D 1 − M D 2 + M D 3 − M D 4 ] = [ J x p ˙ + ( J z − J y ) q r J y q ˙ + ( J x − J z ) p r J z r ˙ + ( J y − J x ) p q ] \begin{bmatrix} l \left( F_2-F_4 \right) \\ l \left( F_1-F_3 \right) \\ M_{D1}-M_{D2}+M_{D3}-M_{D4} \end{bmatrix} = \begin{bmatrix} J_x \dot{p} + \left( J_z-J_y \right) qr \\ J_y \dot{q} + \left( J_x-J_z \right) pr \\ J_z \dot{r} + \left( J_y-J_x \right) pq \end{bmatrix} l(F2F4)l(F1F3)MD1MD2+MD3MD4=Jxp˙+(JzJy)qrJyq˙+(JxJz)prJzr˙+(JyJx)pq
化简得
[ J x p ˙ J y q ˙ J z r ˙ ] = [ l ( F 2 − F 4 ) − ( J z − J y ) q r l ( F 1 − F 3 ) − ( J x − J z ) p r M D 1 − M D 2 + M D 3 − M D 4 − ( J y − J x ) p q ] (3) \begin{bmatrix} J_x \dot{p} \\ J_y \dot{q} \\ J_z \dot{r} \end{bmatrix}= \begin{bmatrix} l \left( F_2-F_4 \right) - \left( J_z-J_y \right) qr \\ l \left( F_1-F_3 \right) - \left( J_x-J_z \right) pr \\ M_{D1}-M_{D2}+M_{D3}-M_{D4} - \left( J_y-J_x \right) pq \end{bmatrix}\tag{3} Jxp˙Jyq˙Jzr˙=l(F2F4)(JzJy)qrl(F1F3)(JxJz)prMD1MD2+MD3MD4(JyJx)pq(3)
( 1 ) ( 2 ) ( 3 ) (1)(2)(3) (1)(2)(3)分别为三个描述四旋翼运动学的方程。

线性化

假设四旋翼飞行状况十分平稳,因此三个角 φ , θ , ψ \varphi, \theta, \psi φ,θ,ψ的值都很小 ( ≈ 0 ) (\approx 0) (0)。这样公式 ( 1 ) (1) (1)可以简化为
[ φ ˙ θ ˙ ψ ˙ ] = [ 1 tan ⁡ θ sin ⁡ φ tan ⁡ θ cos ⁡ φ 0 cos ⁡ φ − sin ⁡ φ 0 sin ⁡ φ cos ⁡ θ cos ⁡ φ cos ⁡ θ ] [ p q r ] ≈ [ p q r ] (4) \begin{bmatrix} \dot{\varphi} \\ \dot{\theta} \\ \dot{\psi} \end{bmatrix}= \begin{bmatrix} 1 & \tan{\theta} \sin{\varphi} & \tan{\theta} \cos{\varphi} \\ 0 & \cos{\varphi} & -\sin{\varphi} \\ 0 & \dfrac{\sin{\varphi} }{\cos{\theta}} & \dfrac{ \cos{\varphi} } {\cos{\theta}} \end{bmatrix} \begin{bmatrix} p\\ q\\ r \end{bmatrix} \approx \begin{bmatrix} p \\ q \\ r \end{bmatrix} \tag{4} φ˙θ˙ψ˙=100tanθsinφcosφcosθsinφtanθcosφsinφcosθcosφpqrpqr(4)
则公式 ( 2 ) ( 3 ) ( 4 ) (2)(3)(4) (2)(3)(4)可以合并为
[ φ ¨ θ ¨ ψ ¨ x ¨ y ¨ z ¨ ] = [ θ ˙ ψ ˙ J y − J z J x + l J x ( F 2 − F 4 ) φ ˙ ψ ˙ J z − J x J y + l J y ( F 1 − F 3 ) φ ˙ θ ˙ J x − J y J z + 1 J z ( M D 1 − M D 2 + M D 3 − M D 4 ) 1 m ( cos ⁡ ψ sin ⁡ θ cos ⁡ φ + sin ⁡ ψ sin ⁡ φ ) ∑ i = 1 4 F i b 1 m ( sin ⁡ ψ sin ⁡ θ cos ⁡ φ − cos ⁡ ψ sin ⁡ φ ) ∑ i = 1 4 F i b 1 m cos ⁡ φ cos ⁡ θ ∑ i = 1 4 F i b − g ] (5) \begin{bmatrix} \ddot{\varphi} \\ \ddot{\theta} \\ \ddot{\psi} \\ \ddot{x} \\ \ddot{y} \\ \ddot{z} \end{bmatrix}= \begin{bmatrix} \dot{\theta} \dot{\psi} \dfrac{J_y-J_z}{J_x}+\dfrac{l}{J_x} \left( F_2-F_4 \right) \\ \dot{\varphi} \dot{\psi} \dfrac{J_z-J_x}{J_y}+\dfrac{l}{J_y} \left( F_1-F_3 \right) \\ \dot{\varphi} \dot{\theta} \dfrac{J_x-J_y}{J_z}+\dfrac{1}{J_z} \left( M_{D1}-M_{D2}+M_{D3}-M_{D4} \right) \\ \dfrac{1}{m} \left( \cos{\psi} \sin{\theta} \cos{\varphi} + \sin{\psi} \sin{\varphi} \right) \sum\limits _{i=1}^4 F_i^b \\ \dfrac{1}{m} \left( \sin{\psi} \sin{\theta} \cos{\varphi}-\cos{\psi} \sin{\varphi} \right) \sum\limits_{i=1}^4 F_i^b \\ \dfrac{1}{m} \cos{\varphi} \cos{\theta} \sum\limits_{i=1}^4 F_i^b -g \end{bmatrix} \tag{5} φ¨θ¨ψ¨x¨y¨z¨=θ˙ψ˙JxJyJz+Jxl(F2F4)φ˙ψ˙JyJzJx+Jyl(F1F3)φ˙θ˙JzJxJy+Jz1(MD1MD2+MD3MD4)m1(cosψsinθcosφ+sinψsinφ)i=14Fibm1(sinψsinθcosφcosψsinφ)i=14Fibm1cosφcosθi=14Fibg(5)

综合

经过上述推导,四旋翼的运动学方程已经悉数得出,可以合并表示在 ( 5 ) (5) (5)式中。
在下一节分享中,将详细推导如何把反步法运用到四旋翼无人机的建模当中。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值