在文章固定翼飞机数学建模入门(姿态角篇)中,笔者已经介绍了固定翼飞机在姿态角 φ , θ , ψ \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ˉSbEL−Jzxpq−Jzqr+JyqrqˉScˉEM−Jxpr−Jxzr2+Jzxp2+JzprqˉSbEN−Jypq+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ˉSbEL−Jzxpq−Jzqr+JyqrqˉScˉEM−Jxpr−Jxzr2+Jzxp2+JzprqˉSbEN−Jypq+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=
JxJz−JxzJzxJz0JxzJzx−JxJzJzx0Jy10JxzJzx−JxJzJxz0JxJz−JxzJzxJx
且
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ˉ)=CNβ⋅β+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=∂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
,
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+(Jz−Jx)r−2D1VTqˉJxzCLpˉSb2+D1F3q−D1F1p+D1F1r2JyVTqˉCMqˉScˉ2D1F3p+D1F1r2D1VT(JzCLδr−JxzCNrˉ)Sb2qˉ+D1F2qJy(Jz−Jx)p−2Jxzr2D1VT(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δa−JxzCNδa)0D1qˉSb(JxCNδa−JxzCLδa)0JyqˉCMδeScˉ0D1qˉSb(JzCLδr−JxzCNδr)0D1qˉSb(JxCNδr−JxzCLdr)
其中
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(Jx−Jy+Jz)=JyJz−Jz2−Jxz2=Jx2−JxJy+Jxz2=JxJz−Jxz2如此一来,系统就可以写为(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
φ,θ,ψ中的任一单独通道,都可以把(1)写成如下形式:
{
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=x1d−x1设李雅普诺夫函数为
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˙1d−x˙1)=e1(x˙1d−x2)为了使得
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˙1d−x2)=e1(x˙1d−x˙1d−α1e1)=−αe12≤0显然,
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=x2−x2v=x2−x˙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˙2−x¨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˙1d−x2)+e2(x˙2−x¨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˙1d−x2)+e2(x˙2−x¨1d−α1e˙1)=−e1(e2+α1e1)+e2[fi+giui−x¨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=gi−fi+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−α2e22≤0满足李雅普诺夫稳定性条件。
对于欧拉角 φ , θ , ψ \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,仿真结果如下:
5. 仿真结果分析
图中可以看出,反步法跟踪性能很好,动态过程平稳,没有超调。但该模型对于初值的敏感性很强,图中存在的静差受积分器初值影响,不同的积分器初值会造成不同的静差。如何消除静差是下一步待解决的问题。
6. 参考文献
薛智爽, 刘小芳, 陈洋.基于分层滑模面的固定翼无人机姿态跟踪控制[J].中国科技论文,2021(11):1220-1226.