固定翼飞机姿态角Backstepping反步法控制

  • 1. 数学建模
  • 2. 系统解耦
  • 3. 反步法控制律设计
  • 4. 仿真结果
  • 5. 仿真结果分析
  • 6. 参考文献

在文章固定翼飞机数学建模入门(姿态角篇)中,笔者已经介绍了固定翼飞机在姿态角φ,θ,ψ\varphi, \theta, \psiφ,θ,ψ通道上的数学建模。本文将以该建模为基础选择控制量,设计控制算法,实现对固定翼飞机姿态角Backstepping反步法控制

1. 数学建模

这里不加推导地引用固定翼飞机数学建模入门(姿态角篇)中的结论:
[p˙q˙r˙]=Λ⋅[qˉSbEL−Jzxpq−Jzqr+JyqrqˉScˉEM−Jxpr−Jxzr2+Jzxp2+JzprqˉSbEN−Jypq+Jxpq+Jxzqr](1)\left[ \begin{matrix} \dot p \\ \dot q \\ \dot r \end{matrix} \right] = \Lambda \cdot \left[ \begin{matrix} \bar q Sb E_L - J_{zx}pq - J_z qr + J_y qr \\ \bar q S \bar c E_M - J_x pr - J_{xz} r^2 + J_{zx} p^2 + J_z pr \\ \bar q Sb E_N - J_y pq + J_x pq + J_{xz}qr \end{matrix} \right] \tag{1} ⎣⎡​p˙​q˙​r˙​⎦⎤​=Λ⋅⎣⎡​qˉ​SbEL​−Jzx​pq−Jz​qr+Jy​qrqˉ​ScˉEM​−Jx​pr−Jxz​r2+Jzx​p2+Jz​prqˉ​SbEN​−Jy​pq+Jx​pq+Jxz​qr​⎦⎤​(1)在飞机各欧拉角不大的情况下,有
[pqr]≈[φ˙θ˙ψ˙]\left[ \begin{matrix} p \\ q \\ r \end{matrix} \right] \approx \left[ \begin{matrix} \dot \varphi \\ \dot \theta \\ \dot \psi \end{matrix} \right] ⎣⎡​pqr​⎦⎤​≈⎣⎡​φ˙​θ˙ψ˙​​⎦⎤​因而(1)(1)(1)式即[φ¨θ¨ψ¨]=Λ⋅[qˉSbEL−Jzxpq−Jzqr+JyqrqˉScˉEM−Jxpr−Jxzr2+Jzxp2+JzprqˉSbEN−Jypq+Jxpq+Jxzqr](1)\left[ \begin{matrix} \ddot \varphi \\ \ddot \theta \\ \ddot \psi \end{matrix} \right] = \Lambda \cdot \left[ \begin{matrix} \bar q Sb E_L - J_{zx}pq - J_z qr + J_y qr \\ \bar q S \bar c E_M - J_x pr - J_{xz} r^2 + J_{zx} p^2 + J_z pr \\ \bar q Sb E_N - J_y pq + J_x pq + J_{xz}qr \end{matrix} \right] \tag{1} ⎣⎡​φ¨​θ¨ψ¨​​⎦⎤​=Λ⋅⎣⎡​qˉ​SbEL​−Jzx​pq−Jz​qr+Jy​qrqˉ​ScˉEM​−Jx​pr−Jxz​r2+Jzx​p2+Jz​prqˉ​SbEN​−Jy​pq+Jx​pq+Jxz​qr​⎦⎤​(1)
其中Λ=(Jb)−1=[JzJxJz−JxzJzx0JxzJxzJzx−JxJz01Jy0JzxJxzJzx−JxJz0JxJxJz−JxzJzx]\Lambda = \left( J^b \right) ^{-1} = \left[ \begin{matrix} \Large \frac{J_z}{J_x J_z - J_{xz} J_{zx}} & 0 & \Large \frac{J_{xz}}{J_{xz} J_{zx} - J_x J_z} \\ 0 & \Large \frac{1}{J_y} & 0 \\ \Large \frac{J_{zx}}{J_{xz} J_{zx} - J_x J_z} & 0 & \Large \frac{J_x}{J_x J_z - J_{xz} J_{zx}} \end{matrix} \right] Λ=(Jb)−1=⎣⎡​Jx​Jz​−Jxz​Jzx​Jz​​0Jxz​Jzx​−Jx​Jz​Jzx​​​0Jy​1​0​Jxz​Jzx​−Jx​Jz​Jxz​​0Jx​Jz​−Jxz​Jzx​Jx​​​⎦⎤​且qˉ=12ρVT2\bar q = \frac{1}{2} \rho V_T^2qˉ​=21​ρVT2​为空气动压,bbb为翼展,cˉ\bar ccˉ为机翼平均弦长;EM,EL,ENE_M, E_L, E_NEM​,EL​,EN​分别为滚转、俯仰、偏航力矩系数,各自表达式如下:
EL=CLˉβ⋅β+CLδr⋅δr+CLδa⋅δa+CLpˉ(pb2VT)+CLrˉ(rb2VT)EM=CM0+CMα⋅α+CMδe⋅δe+CMα˙(α˙cˉ2VT)+CMqˉ(qcˉ2VT)EN=CNβ⋅β+CNδa⋅δa+CNδr⋅δr+CNpˉ(pb2VT)+CNrˉ(rb2VT)(2)\begin{aligned} E_L &= C_{\bar L \beta} \cdot \beta + C_{L \delta_r} \cdot \delta_r + C_{L \delta_a} \cdot \delta_a + C_{L \bar p} \left( \frac{pb}{2V_T }\right) + C_{L \bar r} \left( \frac{rb}{2V_T }\right) \\ E_M &= C_{M_0} + C_{M \alpha} \cdot \alpha + C_{M \delta_e} \cdot \delta_e + C_{M \dot \alpha} \left( \frac{\dot \alpha \bar c}{2V_T}\right) + C_{M \bar q} \left( \frac{q \bar c}{2V_T}\right) \\ E_N &= C_{N \beta} \cdot \beta + C_{N \delta_a} \cdot \delta_a + C_{N \delta_r} \cdot \delta_r + C_{N \bar p} \left( \frac{pb}{2V_T}\right) + C_{N \bar r} \left( \frac{rb}{2V_T}\right) \end{aligned} \tag{2} EL​EM​EN​​=CLˉβ​⋅β+CLδr​​⋅δr​+CLδa​​⋅δa​+CLpˉ​​(2VT​pb​)+CLrˉ​(2VT​rb​)=CM0​​+CMα​⋅α+CMδe​​⋅δe​+CMα˙​(2VT​α˙cˉ​)+CMqˉ​​(2VT​qcˉ​)=CNβ​⋅β+CNδa​​⋅δa​+CNδr​​⋅δr​+CNpˉ​​(2VT​pb​)+CNrˉ​(2VT​rb​)​(2)其中δr,δa,δe\delta_r, \delta_a, \delta_eδr​,δa​,δe​分别为尾翼方向舵左右副翼尾翼升降舵的控制量。

2. 系统解耦

不难发现,在模型(1)(1)(1)中,φ,ψ\varphi, \psiφ,ψ与EL,ENE_L, E_NEL​,EN​相关,θ\thetaθ与EME_MEM​相关;而由(2)知,EL,ENE_L,E_NEL​,EN​均为δr,δa\delta_r, \delta_aδr​,δa​的函数,EME_MEM​为δe\delta_eδe​的函数。因而
{φ¨=f1(δr,δa)θ¨=f2(δe)ψ¨=f3(δr,δa)(3)\begin{cases} \begin{aligned} \ddot \varphi &= f_1 \left( \delta_r, \delta_a \right) \\ \ddot \theta &= f_2 \left( \delta_e \right) \\ \ddot \psi &= f_3 \left( \delta_r, \delta_a \right) \end{aligned} \end{cases} \tag{3} ⎩⎨⎧​φ¨​θ¨ψ¨​​=f1​(δr​,δa​)=f2​(δe​)=f3​(δr​,δa​)​​(3)此处出现了控制量耦合的情况,即δr,δa\delta_r, \delta_aδr​,δa​会同时作用于φ,ψ\varphi, \psiφ,ψ。如果使用Backstepping反步法控制,需要系统中每个通道的控制量为强解耦的。为了规避该问题,需要对系统进行解耦

这里使用比较泛用的方式解耦。

设状态向量为[φφ˙θθ˙ψψ˙]T\left[ \begin{matrix} \varphi & \dot \varphi & \theta & \dot \theta & \psi & \dot \psi \end{matrix} \right]^T[φ​φ˙​​θ​θ˙​ψ​ψ˙​​]T,控制量为U⃗=[δrδaδe]T\vec U = \left[ \begin{matrix} \delta_r & \delta_a & \delta_e \end{matrix} \right]^TU=[δr​​δa​​δe​​]T,那么(1)(1)(1)可用以下增广矩阵描述
{x˙1=φ˙=x2x˙2=φ¨=f1(δr,δa)x˙3=θ˙=x4x˙4=θ¨=f2(δe)x˙5=ψ˙=x6x˙6=ψ¨=f3(δr,δa)\begin{cases} \begin{aligned} \dot x_1 &= \dot \varphi = x_2 \\ \dot x_2 &= \ddot \varphi = f_1 \left( \delta_r, \delta_a \right) \\ \dot x_3 &= \dot \theta = x_4 \\ \dot x_4 &= \ddot\theta = f_2 \left( \delta_e \right) \\ \dot x_5 &= \dot \psi = x_6 \\ \dot x_6 &= \ddot \psi = f_3 \left( \delta_r, \delta_a \right) \end{aligned} \end{cases} ⎩⎨⎧​x˙1​x˙2​x˙3​x˙4​x˙5​x˙6​​=φ˙​=x2​=φ¨​=f1​(δr​,δa​)=θ˙=x4​=θ¨=f2​(δe​)=ψ˙​=x6​=ψ¨​=f3​(δr​,δa​)​​取其中的[φ˙=pθ˙=qψ˙=r]T\left[ \begin{matrix} \dot \varphi = p & \dot \theta = q & \dot \psi = r \end{matrix} \right]^T[φ˙​=p​θ˙=q​ψ˙​=r​]T,控制量为U⃗=[δrδaδe]T\vec U = \left[ \begin{matrix} \delta_r & \delta_a & \delta_e \end{matrix} \right]^TU=[δr​​δa​​δe​​]T,写成向量形式即
X⃗˙=F⃗(X⃗,U⃗)(4)\dot{\vec X} = \vec F \left(\vec X, \vec U \right) \tag{4} X˙=F(X,U)(4)为了解耦,可以将(4)(4)(4)写成标准柯西形式
X⃗˙=AX⃗+BU⃗(5)\dot{\vec X} = A \vec X + B \vec U \tag{5} X˙=AX+BU(5)其中
A=∂X⃗˙∂xi,B=∂X⃗˙∂ui(6)A = \frac{\partial \dot{\vec X}}{\partial x_i}, \quad B = \frac{\partial \dot{\vec X}}{\partial u_i} \tag{6} A=∂xi​∂X˙​,B=∂ui​∂X˙​(6)即
A=[∂p⃗˙∂p∂p⃗˙∂q∂p⃗˙∂r∂q⃗˙∂p∂q⃗˙∂q∂q⃗˙∂r∂r⃗˙∂p∂r⃗˙∂q∂r⃗˙∂r],B=[∂p⃗˙∂δr∂p⃗˙∂δa∂p⃗˙∂δe∂q⃗˙∂δr∂q⃗˙∂δa∂q⃗˙∂δe∂r⃗˙∂δr∂r⃗˙∂δa∂r⃗˙∂δe]A = \begin{bmatrix} \Large \frac{\partial \dot{\vec p}}{\partial p} & \Large \frac{\partial \dot{\vec p}}{\partial q} & \Large \frac{\partial \dot{\vec p}}{\partial r} \\ \Large \frac{\partial \dot{\vec q}}{\partial p} & \Large \frac{\partial \dot{\vec q}}{\partial q} & \Large \frac{\partial \dot{\vec q}}{\partial r} \\ \Large \frac{\partial \dot{\vec r}}{\partial p} & \Large \frac{\partial \dot{\vec r}}{\partial q} & \Large \frac{\partial \dot{\vec r}}{\partial r} \end{bmatrix}, \qquad B = \begin{bmatrix} \Large \frac{\partial \dot{\vec p}}{\partial \delta_r} & \Large \frac{\partial \dot{\vec p}}{\partial \delta_a} & \Large \frac{\partial \dot{\vec p}}{\partial \delta_e} \\ \Large \frac{\partial \dot{\vec q}}{\partial \delta_r} & \Large \frac{\partial \dot{\vec q}}{\partial \delta_a} & \Large \frac{\partial \dot{\vec q}}{\partial \delta_e} \\ \Large \frac{\partial \dot{\vec r}}{\partial \delta_r} & \Large \frac{\partial \dot{\vec r}}{\partial \delta_a} & \Large \frac{\partial \dot{\vec r}}{\partial \delta_e} \end{bmatrix} A=⎣⎡​∂p∂p​˙​​∂p∂q​˙​​∂p∂r˙​​∂q∂p​˙​​∂q∂q​˙​​∂q∂r˙​​∂r∂p​˙​​∂r∂q​˙​​∂r∂r˙​​⎦⎤​,B=⎣⎡​∂δr​∂p​˙​​∂δr​∂q​˙​​∂δr​∂r˙​​∂δa​∂p​˙​​∂δa​∂q​˙​​∂δa​∂r˙​​∂δe​∂p​˙​​∂δe​∂q​˙​​∂δe​∂r˙​​⎦⎤​这里不进行详细推导地给出矩阵A,BA,BA,B,各位读者可以自行推导计算:
A=[qˉJzSb2CLpˉ2D1VT−F1qD1−F1pD1+F1rD1(JzCLδr−JxzCNrˉ)Sb2qˉ2D1VT+F2qD12Jxzp+(Jz−Jx)rJyqˉCMqˉScˉ22JyVT(Jz−Jx)p−2JxzrJy−qˉJxzCLpˉSb22D1VT+F3qD1F3pD1+F1rD1(JxCNrˉ−JxzCLrˉ)qˉSb22D1VT+F1qD1]A = \begin{bmatrix} \Large \frac{\bar q J_z Sb^2 C_{L \bar p}}{2D_1V_T} - \frac{F_1 q}{D_1} & \Large -\frac{F_1 p}{D_1} + \frac{F_1 r}{D_1} & \Large \frac{\left(J_z C_{L \delta_r}-J_{xz}C_{N \bar r} \right) Sb^2 \bar q}{2D_1V_T} + \frac{F_2 q}{D_1} \\ \Large \frac{2J_{xz} p + \left( J_z - J_x \right) r}{J_y} & \Large \frac{\bar q C_{M \bar q} S \bar c^2}{2J_y V_T} & \Large \frac{\left( J_z - J_x \right) p - 2 J_{xz} r}{J_y} \\ \Large -\frac{\bar q J_{xz} C_{L \bar p} Sb^2}{2D_1 V_T} + \frac{F_3 q}{D_1} & \Large \frac{F_3 p}{D_1} + \frac{F_1 r}{D_1} & \Large \frac{\left( J_x C_{N \bar r} - J_{xz} C_{L \bar r} \right) \bar q Sb^2}{2D_1 V_T} + \frac{F_1 q}{D_1} \end{bmatrix}A=⎣⎡​2D1​VT​qˉ​Jz​Sb2CLpˉ​​​−D1​F1​q​Jy​2Jxz​p+(Jz​−Jx​)r​−2D1​VT​qˉ​Jxz​CLpˉ​​Sb2​+D1​F3​q​​−D1​F1​p​+D1​F1​r​2Jy​VT​qˉ​CMqˉ​​Scˉ2​D1​F3​p​+D1​F1​r​​2D1​VT​(Jz​CLδr​​−Jxz​CNrˉ​)Sb2qˉ​​+D1​F2​q​Jy​(Jz​−Jx​)p−2Jxz​r​2D1​VT​(Jx​CNrˉ​−Jxz​CLrˉ​)qˉ​Sb2​+D1​F1​q​​⎦⎤​
B=[qˉSb(JzCLδa−JxzCNδa)D10qˉSb(JzCLδr−JxzCNδr)D10qˉCMδeScˉJy0qˉSb(JxCNδa−JxzCLδa)D10qˉSb(JxCNδr−JxzCLdr)D1]B = \begin{bmatrix} \Large \frac{\bar q Sb \left( J_z C_{L \delta_a} - J_{xz} C_{N \delta_a} \right) }{D_1} & 0 & \Large \frac{\bar q Sb \left( J_z C_{L \delta_r} - J_{xz} C_{N \delta_r} \right)}{D_1} \\ 0 & \Large \frac{\bar q C_{M \delta_e} S \bar c}{J_y} & 0 \\ \Large \frac{\bar q Sb \left( J_x C_{N \delta_a} - J_{xz} C_{L \delta_a}\right)}{D_1} & 0 & \Large \frac{\bar q Sb \left( J_x C_{N \delta_r} - J_{xz} C_{Ldr}\right)}{D_1} \end{bmatrix} B=⎣⎡​D1​qˉ​Sb(Jz​CLδa​​−Jxz​CNδa​​)​0D1​qˉ​Sb(Jx​CNδa​​−Jxz​CLδa​​)​​0Jy​qˉ​CMδe​​Scˉ​0​D1​qˉ​Sb(Jz​CLδr​​−Jxz​CNδr​​)​0D1​qˉ​Sb(Jx​CNδr​​−Jxz​CLdr​)​​⎦⎤​其中
F1=Jxz(Jx−Jy+Jz)F2=JyJz−Jz2−Jxz2F3=Jx2−JxJy+Jxz2D1=JxJz−Jxz2\begin{aligned} F_1 &= J_{xz} \left( J_x - J_y + J_z \right) \\ F_2 &= J_y J_z - J_z^2 - J_{xz}^2 \\ F_3 &= J_x^2 - J_x J_y + J_{xz}^2 \\ D_1 &= J_x J_z - J_{xz}^2 \end{aligned} F1​F2​F3​D1​​=Jxz​(Jx​−Jy​+Jz​)=Jy​Jz​−Jz2​−Jxz2​=Jx2​−Jx​Jy​+Jxz2​=Jx​Jz​−Jxz2​​如此一来,系统就可以写为(5)形式,且已经进行了解耦:
X⃗˙=AX⃗+BU⃗=A[φθψ]+B[δrδaδe](7)\dot{\vec X} = A \vec X + B \vec U = A \left[ \begin{matrix} \varphi \\ \theta \\ \psi \end{matrix} \right] + B \left[ \begin{matrix} \delta_r \\ \delta_a \\ \delta_e \end{matrix} \right] \tag{7} X˙=AX+BU=A⎣⎡​φθψ​⎦⎤​+B⎣⎡​δr​δa​δe​​⎦⎤​(7)如(7)(7)(7)所示,系统解耦后,三个姿态角通道φ,θ,ψ\varphi,\theta,\psiφ,θ,ψ就可以分别使用三个控制量δr,δa,δe\delta_r, \delta_a, \delta_eδr​,δa​,δe​在数学上进行控制。

3. 反步法控制律设计

关于反步法的初步介绍,读者可以参考笔者的另一篇文章Backstepping反步法控制四旋翼无人机(2)。这里仅对固定翼的控制律进行简单推导。

对于φ,θ,ψ\varphi,\theta,\psiφ,θ,ψ中的任一单独通道,都可以把(9)写成如下形式:
{x1=xix2=x˙1=fi(x⃗,u⃗)+gi(x⃗)ui=fi+giui\begin{cases} \begin{aligned} x_1 &= x_i \\ x_2 &= \dot x_1 = f_i \left( \vec x, \vec u \right) + g_i \left( \vec x \right) u_i = f_i + g_i u_i \end{aligned} \end{cases} {x1​x2​​=xi​=x˙1​=fi​(x,u)+gi​(x)ui​=fi​+gi​ui​​​即{x˙1=x2x˙2=x˙1=fi(x⃗,u⃗)+gi(x⃗)ui=fi+giui(8)\begin{cases} \begin{aligned} \dot x_1 &= x_2\\ \dot x_2 &= \dot x_1 = f_i \left( \vec x, \vec u \right) + g_i \left( \vec x \right) u_i = f_i + g_i u_i \end{aligned} \end{cases} \tag{8} {x˙1​x˙2​​=x2​=x˙1​=fi​(x,u)+gi​(x)ui​=fi​+gi​ui​​​(8)若设x1x_1x1​的期望值为x1dx_{1d}x1d​,则有状态误差
e1=x1d−x1e_1 = x_{1d} - x_1e1​=x1d​−x1​设李雅普诺夫函数
V=12e12V = \frac{1}{2} e_1^2 V=21​e12​并对其求导
V˙=e1e˙1=e1(x˙1d−x˙1)=e1(x˙1d−x2)\begin{aligned} \dot V &= e_1 \dot e_1 \\ &= e_1 \left( \dot x_{1d} - \dot x_1 \right) \\ &= e_1 \left( \dot x_{1d} - x_2 \right) \end{aligned} V˙​=e1​e˙1​=e1​(x˙1d​−x˙1​)=e1​(x˙1d​−x2​)​为了使得V˙≤0\dot V \leq 0V˙≤0,可以设计一个理想x2x_2x2​
x2v=x˙1d+α1e1(α1>0)(9)x_2^v = \dot x_{1d} + \alpha_1 e_1 \quad \left( \alpha_1 > 0 \right) \tag{9} x2v​=x˙1d​+α1​e1​(α1​>0)(9)从而
V˙=e1(x˙1d−x2)=e1(x˙1d−x˙1d−α1e1)=−αe12≤0\dot V = e_1 \left( \dot x_{1d} - x_2 \right) = e_1 \left( \dot x_{1d} - \dot x_{1d} - \alpha_1 e_1 \right) = - \alpha e_1^2 \leq 0 V˙=e1​(x˙1d​−x2​)=e1​(x˙1d​−x˙1d​−α1​e1​)=−αe12​≤0显然,x2x_2x2​有自己的表达式(8)(8)(8),因而(9)(9)(9)只能称为理想x2x_2x2​,它与实际x2x_2x2​之间依然有误差:
e2=x2−x2v=x2−x˙1d−α1e1(10)e_2 = x_2 - x_2^v = x_2 - \dot x_{1d} - \alpha_1 e_1 \tag{10} e2​=x2​−x2v​=x2​−x˙1d​−α1​e1​(10)其导数:
e˙2=x˙2−x¨1d−α1e˙1\dot e_2 = \dot x_2 - \ddot x_{1d} - \alpha_1 \dot e_1 e˙2​=x˙2​−x¨1d​−α1​e˙1​从而重新设计李雅普诺夫函数
V=12e12+12e22V = \frac{1}{2}e_1^2 + \frac{1}{2}e_2^2 V=21​e12​+21​e22​求导:
V˙=e1e˙1+e2e˙2=e1(x˙1d−x2)+e2(x˙2−x¨1d−α1e˙1)\begin{aligned} \dot V &= e_1 \dot e_1 + e_2 \dot e_2 \\ &= e_1 \left( \dot x_{1d} - x_2 \right) + e_2 \left( \dot x_2 - \ddot x_{1d} - \alpha_1 \dot e_1 \right) \end{aligned} V˙​=e1​e˙1​+e2​e˙2​=e1​(x˙1d​−x2​)+e2​(x˙2​−x¨1d​−α1​e˙1​)​代入(10)(10)(10)式
V˙=e1(x˙1d−x2)+e2(x˙2−x¨1d−α1e˙1)=−e1(e2+α1e1)+e2[fi+giui−x¨1d+α1(e2+α1e1)](11)\begin{aligned} \dot V &= e_1 \left( \dot x_{1d} - x_2 \right) + e_2 \left( \dot x_2 - \ddot x_{1d} - \alpha_1 \dot e_1 \right) \\ &= - e_1 \left( e_2 + \alpha_1 e_1 \right) + e_2 \left[ f_i + g_i u_i - \ddot x_{1d} + \alpha_1 \left( e_2 + \alpha_1 e_1 \right) \right] \end{aligned} \tag{11} V˙​=e1​(x˙1d​−x2​)+e2​(x˙2​−x¨1d​−α1​e˙1​)=−e1​(e2​+α1​e1​)+e2​[fi​+gi​ui​−x¨1d​+α1​(e2​+α1​e1​)]​(11)此时如果设计控制量uiu_iui​为以下形式:ui=−fi+x¨1d−α1(e2+α1e1)+e1−α2e2gi(α2>0)(12)u_i = \frac{-f_i + \ddot x_{1d} - \alpha_1 \left( e_2 + \alpha_1 e_1 \right) + e_1 - \alpha_2 e_2 }{g_i} \quad \left( \alpha_2 > 0 \right) \tag{12} ui​=gi​−fi​+x¨1d​−α1​(e2​+α1​e1​)+e1​−α2​e2​​(α2​>0)(12)那么,(11)(11)(11)就可以变为
V˙=−α1e12−α2e22≤0\dot V = - \alpha_1 e_1^2 - \alpha_2 e_2^2 \leq 0 V˙=−α1​e12​−α2​e22​≤0满足李雅普诺夫稳定性条件。

对于欧拉角φ,θ,ψ\varphi, \theta, \psiφ,θ,ψ分别计算出各自的fi,gif_i, g_ifi​,gi​,代入(12)(12)(12)中,即可获得各自的控制量uiu_iui​。

4. 仿真结果

simulink连接框图如下:


其中“From Eula to pqr”与“From pqr to Eula”两个模块用来做φ,θ,ψ\varphi, \theta, \psiφ,θ,ψ到p,q,rp, q, rp,q,r之间的转换,此处使用了单位矩阵以满足[pqr]≈[φ˙θ˙ψ˙]\left[\begin{matrix} p \\ q \\ r \end{matrix} \right] \approx \left[ \begin{matrix} \dot \varphi \\ \dot \theta \\ \dot \psi \end{matrix} \right]⎣⎡​pqr​⎦⎤​≈⎣⎡​φ˙​θ˙ψ˙​​⎦⎤​。可以自行改写代码,引入系数转换矩阵,以达到更精确的计算。
另外,由于代数环的存在,图中加入了延迟环节。

仿真时间10s,仿真结果如下:



5. 仿真结果分析

图中可以看出,反步法跟踪性能很好,动态过程平稳,没有超调。但该模型对于初值的敏感性很强,图中存在的静差受积分器初值影响,不同的积分器初值会造成不同的静差。如何消除静差是下一步待解决的问题。

6. 参考文献

薛智爽, 刘小芳, 陈洋.基于分层滑模面的固定翼无人机姿态跟踪控制[J].中国科技论文,2021(11):1220-1226.

固定翼飞机姿态角Backstepping反步法控制相关推荐

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

    目录 四旋翼基本参数 基本假设 转换矩阵 基本方程 线性化 综合 四旋翼基本参数 四旋翼作为一种可以在空间中自由飞行的无人飞行器,具有6个自由度和4个螺旋桨.其中,4个螺旋桨提供动力,作为四旋翼的动力 ...

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

    目录 跟踪误差 坐标变换 考虑以下非线性系统 {x˙1=x2+f1(x1)x˙2=u+f2(x1,x2)y=x1\begin{cases} \begin{aligned} \dot{x}_1& ...

  3. 高超声速飞行器的反步法控制

    目录 1.简介 2.HFV纵向运动模型和严格反馈形式转化 2.1纵向运动模型 2.2严格反馈形式转化 3.反步控制器设计 3.1高度子系统 3.2速度子系统 4.Simulink仿真 5.小结 1.简 ...

  4. 反步法控制高超声速飞行器(源代码)

    仿真论文:<基于反步法的高超音速飞机纵向逆飞行控制>,控制与决策,2007,22(3) 一.高超声速数学模型 二.反步法控制器设计 (略) 三.仿真结果 QQ:2274579702

  5. 基于反步法backstepping的自适应控制简介

    基于反步法backstepping的自适应控制简介 反步法基础 系统描述 反步法运算 基于反步法的自适应 不可测量参数的规避 不可测量参数的估计值的计算方法 反步法基础 反步法(Backsteppin ...

  6. Backstepping(反步控制方法)

    一.基本思想 设计思想:首先由于非线性系统通常较为复杂,通过一系列方法将其分解为几个子系统,并且不超过系统阶数的,接着给分解后的每个子系统设计Lyapunov函数以及中间虚拟控制量,直到"返 ...

  7. Backstepping(反步法)控制初学讲解

    作者本科专业非控制方向,毕设期间做了控制相关的内容.当时学习反步法时在理解上遇到了一些困难,经过相关的学习也对其有了一定的认识.考虑到一些人可能会遇到跟我同样的困局,就将当时做的backsteppin ...

  8. AUV控制中的反步法

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一.问题描述 二.反步法的简单介绍 三.AUV中的反步法 1.纵向速度 2.艏向角 前言 本文简单介绍AUV控制中常见反步 ...

  9. 自适应反步控制matlab,刚体航天器的反步自适应滑模大角度姿态机动控制方法与流程...

    本发明涉及刚体航天器,尤其涉及一种刚体航天器的反步自适应滑模 大角度姿态机动控制方法. 背景技术: 传统的姿态控制算法中,不考虑航天器的转动惯量存在摄动,并且传 统的滑模控制算法存在抖振问题,瞬态响应 ...

最新文章

  1. 一个类可以实现多个接口但是只能实现一个类
  2. python安装包多大-如何查看安装的pip包大小?
  3. fastJson,gosn使用小结
  4. Codeu_576_问题 D: 查找
  5. 信号分解:双正交、完备性、对偶向量
  6. STL之红黑树容器:set,hash_set,multiset,hash_map,multimap
  7. 蓝桥杯第八届省赛JAVA真题----Excel地址
  8. 如何绘制吞吐率曲线图
  9. powershell自动化操作AD域、Exchange邮箱系列(10)—获取Exchange邮箱用户配额并导出excel
  10. 光滑噪声数据常用的方法_什么是噪声数据:噪声数据的处理方法
  11. 1. jenkins常见错误及解决方法
  12. Win 10 没有 Hyper-V 解决方案
  13. 2021-08-17 String to Integet atoi, ratate list
  14. Java创建Shape类
  15. LabVIEW编程LabVIEW开发 控制Keithley 2700例程与相关资料
  16. 【行业视角】是什么让元宇宙土地与房产变得有价值
  17. python命令输入if_SPSS中Recode、Compute、Count、If命令
  18. Rhythmbox乱码的解决办法
  19. 盘点招招毙命的29种USB攻击方式
  20. vue中的created方法

热门文章

  1. 酷派童年童装×××随
  2. 国产cms java_国产java类cms v3.0.161109
  3. Android 客户端路由框架的整理和思考
  4. 店盈通:如何打造赚钱的拼多多店铺?
  5. 成都玖益科技:二级降权对于店铺发展的影响
  6. 做大数据论文时的分析思路
  7. Linux网络包接收过程
  8. 关于电脑网络显示红叉的解决方法
  9. 【计算机硬件组成】基础知识(必备)
  10. 基于itchat的自动调查机器人