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

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

1. 数学建模

这里不加推导地引用固定翼飞机数学建模入门(姿态角篇)中的结论:
[ p ˙ q ˙ r ˙ ] = Λ ⋅ [ q ˉ S b E L − J z x p q − J z q r + J y q r q ˉ S c ˉ E M − J x p r − J x z r 2 + J z x p 2 + J z p r q ˉ S b E N − J y p q + J x p q + J x z q r ] (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ˉSbELJzxpqJzqr+JyqrqˉScˉEMJxprJxzr2+Jzxp2+JzprqˉSbENJypq+Jxpq+Jxzqr (1)在飞机各欧拉角不大的情况下,有
[ p q r ] ≈ [ φ ˙ θ ˙ ψ ˙ ] \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 ˉ S b E L − J z x p q − J z q r + J y q r q ˉ S c ˉ E M − J x p r − J x z r 2 + J z x p 2 + J z p r q ˉ S b E N − J y p q + J x p q + J x z q r ] (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ˉSbELJzxpqJzqr+JyqrqˉScˉEMJxprJxzr2+Jzxp2+JzprqˉSbENJypq+Jxpq+Jxzqr (1)
其中 Λ = ( J b ) − 1 = [ J z J x J z − J x z J z x 0 J x z J x z J z x − J x J z 0 1 J y 0 J z x J x z J z x − J x J z 0 J x J x J z − J x z J z x ] \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= JxJzJxzJzxJz0JxzJzxJxJzJzx0Jy10JxzJzxJxJzJxz0JxJzJxzJzxJx q ˉ = 1 2 ρ V T 2 \bar q = \frac{1}{2} \rho V_T^2 qˉ=21ρVT2空气动压 b b b翼展 c ˉ \bar c cˉ机翼平均弦长 E M , E L , E N E_M, E_L, E_N EM,EL,EN分别为滚转、俯仰、偏航力矩系数,各自表达式如下:
E L = C L ˉ β ⋅ β + C L δ r ⋅ δ r + C L δ a ⋅ δ a + C L p ˉ ( p b 2 V T ) + C L r ˉ ( r b 2 V T ) E M = C M 0 + C M α ⋅ α + C M δ e ⋅ δ e + C M α ˙ ( α ˙ c ˉ 2 V T ) + C M q ˉ ( q c ˉ 2 V T ) E N = C N β ⋅ β + C N δ a ⋅ δ a + C N δ r ⋅ δ r + C N p ˉ ( p b 2 V T ) + C N r ˉ ( r b 2 V T ) (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} ELEMEN=CLˉββ+CLδrδr+CLδaδa+CLpˉ(2VTpb)+CLrˉ(2VTrb)=CM0+CMαα+CMδeδe+CMα˙(2VTα˙cˉ)+CMqˉ(2VTqcˉ)=Cβ+CNδaδa+CNδrδr+CNpˉ(2VTpb)+CNrˉ(2VTrb)(2)其中 δ r , δ a , δ e \delta_r, \delta_a, \delta_e δr,δa,δe分别为尾翼方向舵左右副翼尾翼升降舵的控制量。

2. 系统解耦

不难发现,在模型 ( 1 ) (1) (1)中, φ , ψ \varphi, \psi φ,ψ E L , E N E_L, E_N EL,EN相关, θ \theta θ E M E_M EM相关;而由(2)知, E L , E N E_L,E_N EL,EN均为 δ r , δ a \delta_r, \delta_a δr,δa的函数, E M E_M EM δ e \delta_e δe的函数。因而
{ φ ¨ = f 1 ( δ r , δ a ) θ ¨ = f 2 ( δ e ) ψ ¨ = f 3 ( δ 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]^T U =[δrδaδe]T,那么 ( 1 ) (1) (1)可用以下增广矩阵描述
{ x ˙ 1 = φ ˙ = x 2 x ˙ 2 = φ ¨ = f 1 ( δ r , δ a ) x ˙ 3 = θ ˙ = x 4 x ˙ 4 = θ ¨ = f 2 ( δ e ) x ˙ 5 = ψ ˙ = x 6 x ˙ 6 = ψ ¨ = f 3 ( δ 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˙1x˙2x˙3x˙4x˙5x˙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]^T U =[δ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 ⃗ ˙ = A X ⃗ + B U ⃗ (5) \dot{\vec X} = A \vec X + B \vec U \tag{5} X ˙=AX +BU (5)其中
A = ∂ X ⃗ ˙ ∂ x i , B = ∂ X ⃗ ˙ ∂ u i (6) A = \frac{\partial \dot{\vec X}}{\partial x_i}, \quad B = \frac{\partial \dot{\vec X}}{\partial u_i} \tag{6} A=xiX ˙,B=uiX ˙(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= pp ˙pq ˙pr ˙qp ˙qq ˙qr ˙rp ˙rq ˙rr ˙ ,B= δrp ˙δrq ˙δrr ˙δap ˙δaq ˙δar ˙δep ˙δeq ˙δer ˙ 这里不进行详细推导地给出矩阵 A , B A,B A,B,各位读者可以自行推导计算:
A = [ q ˉ J z S b 2 C L p ˉ 2 D 1 V T − F 1 q D 1 − F 1 p D 1 + F 1 r D 1 ( J z C L δ r − J x z C N r ˉ ) S b 2 q ˉ 2 D 1 V T + F 2 q D 1 2 J x z p + ( J z − J x ) r J y q ˉ C M q ˉ S c ˉ 2 2 J y V T ( J z − J x ) p − 2 J x z r J y − q ˉ J x z C L p ˉ S b 2 2 D 1 V T + F 3 q D 1 F 3 p D 1 + F 1 r D 1 ( J x C N r ˉ − J x z C L r ˉ ) q ˉ S b 2 2 D 1 V T + F 1 q D 1 ] 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= 2D1VTqˉJzSb2CLpˉD1F1qJy2Jxzp+(JzJx)r2D1VTqˉJxzCLpˉSb2+D1F3qD1F1p+D1F1r2JyVTqˉCMqˉScˉ2D1F3p+D1F1r2D1VT(JzCLδrJxzCNrˉ)Sb2qˉ+D1F2qJy(JzJx)p2Jxzr2D1VT(JxCNrˉJxzCLrˉ)qˉSb2+D1F1q
B = [ q ˉ S b ( J z C L δ a − J x z C N δ a ) D 1 0 q ˉ S b ( J z C L δ r − J x z C N δ r ) D 1 0 q ˉ C M δ e S c ˉ J y 0 q ˉ S b ( J x C N δ a − J x z C L δ a ) D 1 0 q ˉ S b ( J x C N δ r − J x z C L d r ) D 1 ] 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= D1qˉSb(JzCLδaJxzCNδa)0D1qˉSb(JxCNδaJxzCLδa)0JyqˉCMδeScˉ0D1qˉSb(JzCLδrJxzCNδr)0D1qˉSb(JxCNδrJxzCLdr) 其中
F 1 = J x z ( J x − J y + J z ) F 2 = J y J z − J z 2 − J x z 2 F 3 = J x 2 − J x J y + J x z 2 D 1 = J x J z − J x z 2 \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} F1F2F3D1=Jxz(JxJy+Jz)=JyJzJz2Jxz2=Jx2JxJy+Jxz2=JxJzJxz2如此一来,系统就可以写为(5)形式,且已经进行了解耦:
X ⃗ ˙ = A X ⃗ + B U ⃗ = 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)写成如下形式:
{ x 1 = x i x 2 = x ˙ 1 = f i ( x ⃗ , u ⃗ ) + g i ( x ⃗ ) u i = f i + g i u i \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} { x1x2=xi=x˙1=fi(x ,u )+gi(x )ui=fi+giui { x ˙ 1 = x 2 x ˙ 2 = x ˙ 1 = f i ( x ⃗ , u ⃗ ) + g i ( x ⃗ ) u i = f i + g i u i (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˙1x˙2=x2=x˙1=fi(x ,u )+gi(x )ui=fi+giui(8)若设 x 1 x_1 x1的期望值为 x 1 d x_{1d} x1d,则有状态误差
e 1 = x 1 d − x 1 e_1 = x_{1d} - x_1 e1=x1dx1李雅普诺夫函数
V = 1 2 e 1 2 V = \frac{1}{2} e_1^2 V=21e12并对其求导
V ˙ = e 1 e ˙ 1 = e 1 ( x ˙ 1 d − x ˙ 1 ) = e 1 ( x ˙ 1 d − x 2 ) \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˙=e1e˙1=e1(x˙1dx˙1)=e1(x˙1dx2)为了使得 V ˙ ≤ 0 \dot V \leq 0 V˙0,可以设计一个理想 x 2 x_2 x2
x 2 v = x ˙ 1 d + α 1 e 1 ( α 1 > 0 ) (9) x_2^v = \dot x_{1d} + \alpha_1 e_1 \quad \left( \alpha_1 > 0 \right) \tag{9} x2v=x˙1d+α1e1(α1>0)(9)从而
V ˙ = e 1 ( x ˙ 1 d − x 2 ) = e 1 ( x ˙ 1 d − x ˙ 1 d − α 1 e 1 ) = − α e 1 2 ≤ 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˙1dx2)=e1(x˙1dx˙1dα1e1)=αe120显然, x 2 x_2 x2有自己的表达式 ( 8 ) (8) (8),因而 ( 9 ) (9) (9)只能称为理想 x 2 x_2 x2,它与实际 x 2 x_2 x2之间依然有误差:
e 2 = x 2 − x 2 v = x 2 − x ˙ 1 d − α 1 e 1 (10) e_2 = x_2 - x_2^v = x_2 - \dot x_{1d} - \alpha_1 e_1 \tag{10} e2=x2x2v=x2x˙1dα1e1(10)其导数:
e ˙ 2 = x ˙ 2 − x ¨ 1 d − α 1 e ˙ 1 \dot e_2 = \dot x_2 - \ddot x_{1d} - \alpha_1 \dot e_1 e˙2=x˙2x¨1dα1e˙1从而重新设计李雅普诺夫函数
V = 1 2 e 1 2 + 1 2 e 2 2 V = \frac{1}{2}e_1^2 + \frac{1}{2}e_2^2 V=21e12+21e22求导:
V ˙ = e 1 e ˙ 1 + e 2 e ˙ 2 = e 1 ( x ˙ 1 d − x 2 ) + e 2 ( x ˙ 2 − x ¨ 1 d − α 1 e ˙ 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˙=e1e˙1+e2e˙2=e1(x˙1dx2)+e2(x˙2x¨1dα1e˙1)代入 ( 10 ) (10) (10)
V ˙ = e 1 ( x ˙ 1 d − x 2 ) + e 2 ( x ˙ 2 − x ¨ 1 d − α 1 e ˙ 1 ) = − e 1 ( e 2 + α 1 e 1 ) + e 2 [ f i + g i u i − x ¨ 1 d + α 1 ( e 2 + α 1 e 1 ) ] (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˙1dx2)+e2(x˙2x¨1dα1e˙1)=e1(e2+α1e1)+e2[fi+giuix¨1d+α1(e2+α1e1)](11)此时如果设计控制量 u i u_i ui为以下形式 u i = − f i + x ¨ 1 d − α 1 ( e 2 + α 1 e 1 ) + e 1 − α 2 e 2 g i ( α 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=gifi+x¨1dα1(e2+α1e1)+e1α2e2(α2>0)(12)那么, ( 11 ) (11) (11)就可以变为
V ˙ = − α 1 e 1 2 − α 2 e 2 2 ≤ 0 \dot V = - \alpha_1 e_1^2 - \alpha_2 e_2^2 \leq 0 V˙=α1e12α2e220满足李雅普诺夫稳定性条件。

对于欧拉角 φ , θ , ψ \varphi, \theta, \psi φ,θ,ψ分别计算出各自的 f i , g i f_i, g_i fi,gi,代入 ( 12 ) (12) (12)中,即可获得各自的控制量 u i u_i ui

4. 仿真结果

simulink连接框图如下:

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

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

phi
theta
psi

5. 仿真结果分析

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

6. 参考文献

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

猜你喜欢

转载自blog.csdn.net/weixin_58399148/article/details/126484543
今日推荐