【论文阅读】《Robust Visual Servoing Control for Ground Target Tracking of Quadrotors》
本文2020年是发表在IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY上有关于无人机的视觉伺服跟踪控制方面的论文。
1. 摘要
在本文中,针对具有向下单目相机的四旋翼无人机在室外环境中执行地面目标跟踪任务的鲁棒位置视觉伺服控制问题进行了研究。目的是通过使用最小传感器组来调节四旋翼相对于地面目标的位置,所述的最小传感器组包括惯性测量单元(IMU)、超声波传感器和视觉传感器。在视觉伺服控制系统中设计了鲁棒补偿器,以提高视觉伺服控制系统对平移和旋转四旋翼动力学系统中的非线性、耦合和不确定性(包括参数不确定性和外部干扰)的鲁棒性。理论分析和实验结果证明了所提出的鲁棒视觉伺服控制方法的有效性。
2. 简介
无人机(UAVs)飞行器近年来备受关注,可应用于农业植保、物流运输、环境监测等多个领域[1]。四旋翼飞行器作为一种经典的飞行器,其机械结构简单、成本低,具有垂直起降和低空悬停的能力。四旋翼飞行器的自主控制需要通过不同的传感器组合来估计其状态的知识。因此,经常使用全球定位系统(GPS)和基于视觉的系统。然而,GPS在杂乱的城市地区,受卫星信号衰减的影响,不可靠,无法满足高精度的要求。另一种方法是将GPS与低成本传感器(如惯性测量单元(IMU))集成,如[2]所示。然而,局部精度仍然难以满足四旋翼飞行器着陆或跟踪地面目标等任务。在这种情况下,通常使用视觉传感器来提高定位精度。视觉伺服是一种通过视觉信息控制车辆运动以达到期望跟踪的技术,详见[3]。视觉伺服可以分为两大分支:基于位置的视觉伺服(PBVS)(参见[4],[5])和基于图像的视觉伺服(IBVS)(参见[6]-[8],仅举几例),这取决于视觉测量是否直接应用于控制律设计。在PBVS方法中,图像特征被视为控制系统的中间步骤,用于重建目标的位置和速度。PBVS的优点是将控制器设计问题与基于视觉的状态估计问题分离开来。然而,如[9]所阐述的,它需要视觉目标的先验几何信息,并且在状态估计过程中计算量大,对摄像机的标定精度要求高。相比之下,IBVS方法直接使用图像特征来调节四旋翼机的运动,如[7]所示。IBVS方法计算效率高,对摄像机标定误差具有较强的鲁棒性。然而,如[10]所述,IBVS的实现引入了高度耦合的图像雅可比矩阵,这使得控制方法的设计变得复杂。许多研究对无人机PBVS方法做出了重要贡献。在[5]中,开发了一种多摄像机视觉姿态估计器来估计四旋翼的位置。文献[11]研究了一种基于视觉的特征跟踪系统,用于跟踪目标以估计车辆运动。[5]和[11]中应用的位置和姿态控制器是基于经典的比例积分微分(PID)控制方法开发的。传统的PID控制器可以在较小的不确定性和干扰下保持可接受的性能。然而,由于动力学的高非线性和强不确定性,采用典型的经典控制方法无法保证闭环系统的跟踪性能。为了提高所构建的闭环控制系统对四旋翼动力学非线性的鲁棒性,开发了几种非线性控制器来实现四旋翼飞行器的PBVS控制。文献[12]研究了带有视觉反馈的四旋翼机的反馈线性化技术和类步进控制方法,以实现理想的跟踪。在[13]中,利用视觉反馈对四旋翼飞行器的三种非线性控制技术,即嵌套饱和法、基于backstepping的控制方案和滑模控制方案进行了比较。[13]采用视觉反馈对嵌套饱和法、基于backstepping的控制方案和滑模控制方法进行了比较。然而,对于构建的四旋翼动力系统的不确定抗扰问题,文献[12]和[13]未作进一步分析。在[4]中,采用了一种基于误差sgn鲁棒积分的非线性位置控制器来抑制四旋翼位置动力学中存在的结构/非结构不确定性。然而,在[4]中并没有讨论四旋翼姿态动力学中的不确定性,并且[4]中的工作依赖于假设采用PID控制方法的姿态环具有完美的跟踪性能。对于涉及高度非线性和不确定动力学的四旋翼飞行器,这一假设比较难以满足。为了实现四旋翼飞行器的IBVS控制,已经开发了许多非线性控制器。在[14]中,基于积分反演方法设计了非线性位置控制器,以处理非线性对构建的控制系统的影响。文献[9]定义了一个虚拟图像平面来实现解耦的图像特征动力学,并利用反演技术设计了非线性位置控制器。然而,对于所构建的闭环系统的不确定性拒绝问题,文献[9]和[14]也没有进一步分析。在[7]中,开发了一种自适应反步位置控制器来补偿不确定性,如空气动力学常数误差和姿态估计偏差。然而,[7]中的不确定性没有得到充分的讨论,[7]和[9]的工作也依赖于采用PID控制方法的姿态环具有完美跟踪性能的假设。在[15]中,采用反步和动态曲面控制技术,设计了一种自适应控制系统,用于抑制四旋翼飞行器平移和旋转动力学中的非线性和外部干扰。但该控制器的有效性仅在仿真中得到验证,未进一步讨论参数不确定性的影响。尽管基于经典控制律的四旋翼视觉伺服控制已经有了很多研究,但据我们所知,针对平移和旋转四旋翼动力学中高度非线性和不确定性的鲁棒视觉伺服控制器设计仍然是一个开放的领域。因此,本文提出了一种鲁棒视觉伺服控制器,用于四旋翼飞行器在室外环境中跟踪地面目标。**将视觉信息与来自IMU和超声波传感器的数据融合,以估计四旋翼飞行器相对于地面目标的位置。**与以往关于四旋翼机视觉伺服控制的研究相比,本文的设计和分析结果具有以下特点:
- 首先,将视觉信息与IMU和超声波传感器数据相结合,估计出载具的位置和速度,然后反馈到控制回路。该过程不需要地面目标的先验几何信息,与[4]、[5]和[11]中的传统PBVS方法相比,计算效率更高,并且可以避免在[7]、[9]和[14]中的IBVS方法中引入图像雅可比公式。
- 其次,在这个简短的四旋翼模型涉及全旋转和平动非线性和耦合动力学。但是,在[4]、[7]和[9]中,为了方便控制器的设计过程,采用了简化的四旋翼模型。
- 第三,在四旋翼飞行器的平动和转动动力学模型中考虑了不确定性,包括外部干扰和参数不确定性。证明了位置和姿态跟踪误差最终收敛到原点的给定邻域,该邻域由给定的小值限定。但在以往的文献中,[4]、[7]、[15]只讨论了部分不确定性,而在[5]、[9]、[11]-[14]中忽略了不确定性拒绝问题。
3. 问题建模
3.1 四旋翼模型描述
如Fig.1. 中所示,定义:
E
^
H
=
{
e
^
H
o
,
e
^
H
x
,
e
^
H
y
,
e
^
H
z
}
\hat{E}^{H}=\{\hat{e}_{Ho},\hat{e}_{Hx},\hat{e}_{Hy},\hat{e}_{Hz}\}
E^H={e^Ho,e^Hx,e^Hy,e^Hz}为局部水平坐标系,原点
e
^
H
o
\hat{e}_{Ho}
e^Ho表示四旋翼起飞的位置。
E
^
B
=
{
e
^
B
o
,
e
^
B
x
,
e
^
B
y
,
e
^
B
z
}
\hat{E}^{B}=\{\hat{e}_{Bo},\hat{e}_{Bx},\hat{e}_{By},\hat{e}_{Bz}\}
E^B={e^Bo,e^Bx,e^By,e^Bz}为机体坐标系,原点
e
^
B
o
\hat{e}_{Bo}
e^Bo位于四旋翼的质心。
p
H
=
[
p
x
H
,
p
y
H
,
p
z
H
]
T
∈
R
3
×
1
p^{H}=[p^{H}_{x},p^{H}_{y},p^{H}_{z}]^{T}\in\mathbb{R}^{3\times1}
pH=[pxH,pyH,pzH]T∈R3×1表示四旋翼在
E
^
H
\hat{E}^{H}
E^H中的位置。
v
H
=
[
v
x
H
,
v
y
H
,
v
z
H
]
T
∈
R
3
×
1
v^{H}=[v^{H}_{x},v^{H}_{y},v^{H}_{z}]^{T}\in\mathbb{R}^{3\times1}
vH=[vxH,vyH,vzH]T∈R3×1表示四旋翼在
E
^
H
\hat{E}^{H}
E^H中的速度。
Θ
B
=
[
ϕ
,
θ
,
ψ
]
∈
R
3
×
1
\Theta^{B}=[\phi,\theta,\psi]\in\mathbb{R}^{3\times1}
ΘB=[ϕ,θ,ψ]∈R3×1表示四旋翼在
E
^
B
\hat{E}^{B}
E^B中的欧拉角。
Ω
B
=
[
Ω
i
B
]
∈
R
3
×
1
]
\Omega^{B}=[\Omega^{B}_{i}]\in\mathbb{R}^{3\times1}]
ΩB=[ΩiB]∈R3×1]表示四旋翼在
E
^
B
\hat{E}^{B}
E^B中的角速度。
那么,四旋翼飞行器的平移动力学模型和旋转动力学模型如下:
p
˙
H
=
v
H
+
d
p
H
m
v
˙
H
=
R
f
T
p
+
d
v
H
Θ
˙
B
=
R
Θ
Ω
B
+
d
Θ
B
J
Ω
˙
B
=
τ
b
−
C
(
Θ
B
,
Θ
˙
B
)
Θ
˙
B
+
d
Ω
B
\dot{p}^{H}=v^{H}+d^{H}_{p}\\ m\dot{v}^{H}=R_{f}T_{p}+d^{H}_{v}\\ \dot{\Theta}^{B}=R_{\Theta}\Omega^{B}+d^{B}_{\Theta}\\ J\dot{\Omega}^{B}=\tau_{b}-C(\Theta^{B},\dot{\Theta}^{B})\dot{\Theta}^{B}+d^{B}_{\Omega}
p˙H=vH+dpHmv˙H=RfTp+dvHΘ˙B=RΘΩB+dΘBJΩ˙B=τb−C(ΘB,Θ˙B)Θ˙B+dΩB
其中
m
m
m表示四旋翼的重量,
J
J
J是在
E
^
B
\hat{E}^{B}
E^B下的惯性矩阵,
R
f
∈
S
O
(
3
)
R_{f}\in{SO(3)}
Rf∈SO(3)是[16]中表示从
E
^
B
\hat{E}^{B}
E^B到
E
^
H
\hat{E}^{H}
E^H的变换矩阵,并且
C
(
Θ
B
,
Θ
˙
B
)
Θ
˙
B
C(\Theta^{B},\dot{\Theta}^{B})\dot{\Theta}^{B}
C(ΘB,Θ˙B)Θ˙B是[17]中描述的科里奥利项。欧拉角
Θ
B
\Theta^{B}
ΘB和角速度
Ω
B
\Omega^{B}
ΩB之间的关系由变换矩阵
R
Θ
R_{\Theta}
RΘ描述,该变换矩阵满足:
R
Θ
=
[
1
sin
ϕ
tan
θ
cos
ϕ
tan
θ
0
cos
ϕ
−
sin
ϕ
0
sin
ϕ
sec
θ
cos
ϕ
sec
θ
]
R_{\Theta}=\left [\begin{array}{} 1&\sin{\phi}\tan{\theta}&\cos{\phi}\tan{\theta}\\ 0&\cos{\phi}&-\sin{\phi}\\ 0&\sin{\phi}\sec{\theta}&\cos{\phi}\sec{\theta} \end{array}\right]
RΘ=
100sinϕtanθcosϕsinϕsecθcosϕtanθ−sinϕcosϕsecθ
d
i
H
(
i
=
p
,
v
)
d^{H}_{i}(i=p,v)
diH(i=p,v)和
d
j
B
(
j
=
Θ
,
Ω
)
d^{B}_{j}(j=\Theta,\Omega)
djB(j=Θ,Ω)表示外部的有界扰动。
T
p
T_p
Tp表示外力,其中
T
p
=
c
3
,
3
T
s
−
m
g
R
f
T
c
3
,
3
T_p=c_{3,3}T_{s}-mgR^{T}_{f}c_{3,3}
Tp=c3,3Ts−mgRfTc3,3其中
c
n
,
j
c_{n,j}
cn,j表示
n
×
1
n\times1
n×1向量,第
j
j
j个元素为1,其他元素为
0
0
0,g为重力常数。
τ
b
\tau_{b}
τb是在坐标系
E
^
B
\hat{E}^{B}
E^B中的四旋翼上的外扭矩,其中
τ
b
=
[
τ
x
,
τ
y
,
τ
z
]
T
\tau_{b}=[\tau_{x},\tau_{y},\tau_{z}]^{T}
τb=[τx,τy,τz]T,
τ
x
=
l
a
(
T
1
−
T
2
−
T
3
+
T
4
)
/
2
\tau_{x}=l_a(T_1-T_2-T_3+T_4)/\sqrt{2}
τx=la(T1−T2−T3+T4)/2,
τ
y
=
l
a
(
T
1
+
T
2
−
T
3
−
T
4
)
/
2
\tau_{y}=l_a(T_1+T_2-T_3-T_4)/\sqrt{2}
τy=la(T1+T2−T3−T4)/2,
τ
z
=
k
t
(
T
1
−
T
2
+
T
3
−
T
4
)
\tau_{z}=k_t(T_1-T_2+T_3-T_4)
τz=kt(T1−T2+T3−T4),其中
l
a
l_a
la表示四旋翼的质心到转子之间的距离,
k
t
k_t
kt表示从力到扭矩的转换比例因子,
T
s
T_s
Ts为转子合力,
T
s
=
T
1
+
T
2
+
T
3
+
T
4
T_s=T_1+T_2+T_3+T_4
Ts=T1+T2+T3+T4。
T
i
(
i
=
1
,
2
,
3
,
4
)
T_i(i=1,2,3,4)
Ti(i=1,2,3,4)表示转子
i
i
i产生的推力,由
T
i
=
k
ω
ω
i
2
T_i=k_{\omega}\omega^{2}_{i}
Ti=kωωi2给出,其中
k
ω
k_\omega
kω是正常数。
符号汇总
符号 | 意义 |
---|---|
p p p | 四旋翼在 E ^ H \hat{E}^{H} E^H坐标系中的位置 |
v v v | 四旋翼在 E ^ H \hat{E}^{H} E^H坐标系中的速度 |
d p H d^{H}_{p} dpH | 四旋翼在 E ^ H \hat{E}^{H} E^H坐标系中的位置外部有界扰动 |
m m m | 四旋翼无人机质量 |
R f R_{f} Rf | 从 E ^ B \hat{E}^{B} E^B到 E ^ H \hat{E}^{H} E^H的变换矩阵: R f = R z T ( ψ ) R y T ( θ ) R x T ( ϕ ) R_f=R_z^{T}(\psi)R_y^{T}(\theta)R_x^{T}(\phi) Rf=RzT(ψ)RyT(θ)RxT(ϕ) |
T i T_{i} Ti | 转子 i i i产生的推力, T i = k ω ω i 2 T_{i}=k_\omega\omega^{2}_{i} Ti=kωωi2 |
k ω k_\omega kω | 拉力系数,正常数 |
T s T_{s} Ts | 总推力, T s = T 1 + T 2 + T 3 + T 4 T_s=T_1+T_2+T_3+T_4 Ts=T1+T2+T3+T4 |
T p T_{p} Tp | 合外力, T p = T s − m g R f T T_{p}=T_s-mgR_{f}^{T} Tp=Ts−mgRfT |
d p H d^{H}_{p} dpH | 四旋翼在 E ^ H \hat{E}^{H} E^H坐标系中的速度外部有界扰动 |
Θ B \Theta^{B} ΘB | 四旋翼在 E ^ B \hat{E}^{B} E^B坐标系中的欧拉角 |
Ω B \Omega^{B} ΩB | Ω B = [ Ω i B ] ∈ R 3 × 1 ] \Omega^{B}=[\Omega^{B}_{i}]\in\mathbb{R}^{3\times1}] ΩB=[ΩiB]∈R3×1]表示四旋翼在 E ^ B \hat{E}^{B} E^B中的角速度 |
R Θ R_{\Theta} RΘ | 变换矩阵用于描述欧拉角和角速度之间的关系, Θ ˙ B = R Θ Ω B \dot{\Theta}^{B}=R_{\Theta}\Omega^{B} Θ˙B=RΘΩB |
d Θ B d^{B}_{\Theta} dΘB | 四旋翼在 E ^ H \hat{E}^{H} E^H坐标系中的欧拉角外部有界扰动 |
J J J | 四旋翼的转动惯量, J ∈ R 3 × 3 J\in\mathbb{R}^{3\times3} J∈R3×3 |
τ b \tau_{b} τb | 螺旋桨在机体轴上产生的力矩, τ b = [ τ x , τ y , τ z ] T \tau_{b}=[\tau_{x},\tau_{y},\tau_{z}]^{T} τb=[τx,τy,τz]T |
τ x \tau_{x} τx | τ x = l a k ω 2 2 ( ω 1 2 − ω 2 2 − ω 3 2 + ω 4 2 ) \tau_{x}=l_ak_\omega\frac{\sqrt{2}}{2}(\omega^{2}_{1}-\omega^{2}_{2}-\omega^{2}_{3}+\omega^{2}_{4}) τx=lakω22(ω12−ω22−ω32+ω42) |
τ y \tau_{y} τy | τ y = l a k ω 2 2 ( ω 1 2 + ω 2 2 − ω 3 2 − ω 4 2 ) \tau_{y}=l_ak_\omega\frac{\sqrt{2}}{2}(\omega^{2}_{1}+\omega^{2}_{2}-\omega^{2}_{3}-\omega^{2}_{4}) τy=lakω22(ω12+ω22−ω32−ω42) |
τ z \tau_{z} τz | τ z = k t ( ω 1 2 − ω 2 2 + ω 3 2 − ω 4 2 ) \tau_{z}=k_{t}(\omega^{2}_{1}-\omega^{2}_{2}+\omega^{2}_{3}-\omega^{2}_{4}) τz=kt(ω12−ω22+ω32−ω42) |
k t k_{t} kt | 转矩系数,正常数 |
C ( Θ B , Θ ˙ B ) Θ ˙ B C(\Theta^{B},\dot{\Theta}^{B})\dot{\Theta}^{B} C(ΘB,Θ˙B)Θ˙B | 科里奥利项, R 3 × 3 \mathbb{R^{3\times3}} R3×3 [ c 11 c 12 c 13 c 21 c 22 c 23 c 31 c 32 c 33 ] \left[ \begin{array}{c}c_{11}&c_{12}&c_{13}\\ c_{21}&c_{22}&c_{23}\\c_{31}&c_{32}&c_{33}\end{array} \right] c11c21c31c12c22c32c13c23c33 |
c 11 c_{11} c11 | 0 0 0 |
c 12 c_{12} c12 | ( J θ − J ψ ) ( θ ˙ cos ϕ sin ϕ + ψ ˙ sin 2 ϕ cos θ ) / J ϕ + [ ( J ψ − J θ ) ψ ˙ cos 2 ϕ cos θ − J ϕ ψ ˙ cos θ ] / J ϕ (J_{\theta}-J_{\psi})(\dot{\theta}\cos{\phi}\sin{\phi}+\dot{\psi}\sin{^2\phi}\cos{\theta})/J_{\phi}+[(J_{\psi}-J_{\theta})\dot{\psi}\cos{^2\phi}\cos\theta-J_{\phi}\dot{\psi}\cos{\theta}]/J_{\phi} (Jθ−Jψ)(θ˙cosϕsinϕ+ψ˙sin2ϕcosθ)/Jϕ+[(Jψ−Jθ)ψ˙cos2ϕcosθ−Jϕψ˙cosθ]/Jϕ |
c 13 c_{13} c13 | ( J ψ − J θ ) ψ ˙ cos ϕ sin ϕ cos 2 θ / J ϕ (J_{\psi}-J_{\theta})\dot\psi\cos{\phi}\sin{\phi}\cos^{2}\theta/J_{\phi} (Jψ−Jθ)ψ˙cosϕsinϕcos2θ/Jϕ |
c 21 c_{21} c21 | ( J ψ − J θ ) ( θ ˙ cos ϕ sin ϕ + ψ ˙ sin 2 ϕ cos θ ) / J θ + [ ( J θ − J ψ ) ψ ˙ cos 2 ϕ cos θ + J ϕ ψ ˙ cos θ ] / J θ (J_{\psi}-J_{\theta})(\dot{\theta}\cos{\phi}\sin{\phi}+\dot{\psi}\sin{^2\phi}\cos{\theta})/J_{\theta}+[(J_{\theta}-J_{\psi})\dot{\psi}\cos{^2\phi}\cos{\theta}+J_{\phi}\dot{\psi}\cos{\theta}]/J_{\theta} (Jψ−Jθ)(θ˙cosϕsinϕ+ψ˙sin2ϕcosθ)/Jθ+[(Jθ−Jψ)ψ˙cos2ϕcosθ+Jϕψ˙cosθ]/Jθ |
c 22 c_{22} c22 | ( J ψ − J θ ) ϕ ˙ cos ϕ sin ϕ / J θ (J_{\psi}-J_{\theta})\dot{\phi}\cos{\phi}\sin{\phi}/J_{\theta} (Jψ−Jθ)ϕ˙cosϕsinϕ/Jθ |
c 23 c_{23} c23 | [ − J ϕ ψ ˙ sin θ cos θ + J ψ ψ ˙ cos 2 ϕ cos θ sin θ ] / J θ + ψ ˙ sin 2 ϕ cos θ sin θ [-J_{\phi}\dot{\psi}\sin{\theta}\cos{\theta}+J_{\psi}\dot{\psi}\cos{^2\phi}\cos{\theta}\sin{\theta}]/J_{\theta}+\dot{\psi}\sin{^2\phi}\cos{\theta}\sin{\theta} [−Jϕψ˙sinθcosθ+Jψψ˙cos2ϕcosθsinθ]/Jθ+ψ˙sin2ϕcosθsinθ |
c 31 c_{31} c31 | [ ( J θ − J ψ ) ψ ˙ cos 2 θ sin ϕ sin θ − J ϕ θ ˙ cos θ ] / J p s i [(J_{\theta}-J_{\psi})\dot{\psi}\cos^{2}\theta\sin\phi\sin\theta-J_{\phi}\dot{\theta}\cos{\theta}]/J_{psi} [(Jθ−Jψ)ψ˙cos2θsinϕsinθ−Jϕθ˙cosθ]/Jpsi |
c 32 c_{32} c32 | ( J ψ − J θ ) ( θ ˙ cos ϕ sin ϕ sin θ + ϕ ˙ sin 2 ϕ cos θ ) / J ψ + [ ( J θ − J ψ ) ϕ ˙ cos 2 ϕ cos θ + J ϕ ψ ˙ sin θ cos θ ] / J ψ − J θ ψ ˙ sin 2 ϕ sin θ cos θ / J ψ − ψ ˙ cos 2 ϕ cos θ sin θ (J_{\psi}-J_{\theta})(\dot{\theta}\cos{\phi}\sin{\phi}\sin{\theta}+\dot{\phi}\sin^2{\phi}\cos{\theta})/J_{\psi}+[(J_{\theta}-J_{\psi})\dot{\phi}\cos^2{\phi}\cos{\theta}+J_{\phi}\dot{\psi}\sin{\theta}\cos{\theta}]/J_{\psi}-J_{\theta}\dot{\psi}\sin^2{\phi}\sin{\theta}\cos{\theta}/J_{\psi}-\dot{\psi}\cos^2{\phi}\cos{\theta}\sin{\theta} (Jψ−Jθ)(θ˙cosϕsinϕsinθ+ϕ˙sin2ϕcosθ)/Jψ+[(Jθ−Jψ)ϕ˙cos2ϕcosθ+Jϕψ˙sinθcosθ]/Jψ−Jθψ˙sin2ϕsinθcosθ/Jψ−ψ˙cos2ϕcosθsinθ |
c 33 c_{33} c33 | [ − J ψ θ ˙ cos 2 ϕ sin θ cos θ − J θ θ ˙ sin 2 ϕ cos θ sin θ ] / J ψ + [ ( J θ − J ψ ) ϕ ˙ cos ϕ sin ϕ cos 2 θ + J ϕ θ ˙ sin θ cos θ ] / J ψ [-J_{\psi}\dot{\theta}\cos^2{\phi}\sin{\theta}\cos{\theta}-J_{\theta}\dot{\theta}\sin^2{\phi}\cos{\theta}\sin{\theta}]/J_{\psi}+[(J_{\theta}-J_{\psi})\dot{\phi}\cos{\phi}\sin{\phi}\cos^2{\theta}+J_{\phi}\dot{\theta}\sin{\theta}\cos{\theta}]/J_{\psi} [−Jψθ˙cos2ϕsinθcosθ−Jθθ˙sin2ϕcosθsinθ]/Jψ+[(Jθ−Jψ)ϕ˙cosϕsinϕcos2θ+Jϕθ˙sinθcosθ]/Jψ |
3.2 控制问题描述
本文的控制目标是设计一种鲁棒的视觉伺服控制器,利用视觉系统提供的位置信息,在四旋翼动力学的高非线性和不确定性条件下跟踪地面目标。
- 设 p r H = [ p r i H ] ∈ R 3 × 1 p^{H}_{r}=[p^{H}_{ri}]\in\mathbb{R}^{3\times1} prH=[priH]∈R3×1表示在坐标系 E ^ H \hat{E}^{H} E^H中的参考位置, v r H v^{H}_{r} vrH表示在坐标系 E ^ H \hat{E}^{H} E^H中的参考速度, Θ r B = [ ϕ r , θ r , ψ r ] T ∈ R 3 × 1 \Theta^{B}_{r}=[\phi_{r},\theta_{r},\psi_{r}]^{T}\in\mathbb{R}^{3\times1} ΘrB=[ϕr,θr,ψr]T∈R3×1表示在 E ^ B \hat{E}^{B} E^B坐标系中的参考姿态角,以及 Ω r B = [ Ω r i B ] ∈ R 3 × 1 \Omega^{B}_{r}=[\Omega^{B}_{ri}]\in\mathbb{R}^{3\times1} ΩrB=[ΩriB]∈R3×1表示在 E ^ B \hat{E}^{B} E^B坐标系中的参考角速度。
- 设 u p = [ u p i ] ∈ R 3 × 1 u_{p}=[u_{pi}]\in{\mathbb{R}^{3\times1}} up=[upi]∈R3×1表示位置控制器的输出, u v = [ u v i ] ∈ R 3 × 1 u_{v}=[u_{vi}]\in\mathbb{R}^{3\times1} uv=[uvi]∈R3×1表示速度控制器的输出, u Ω = [ u Ω i ] u_{\Omega}=[u_{\Omega{i}}] uΩ=[uΩi]表示角速度控制器的输出。 u p i ( i = 1 , 2 , 3 ) u_{pi}(i=1,2,3) upi(i=1,2,3)也表示四旋翼飞行器在坐标系 E ^ H \hat{E}^{H} E^H下的速度控制器的参考, u v i ( i = 1 , 2 , 3 ) u_{vi}(i=1,2,3) uvi(i=1,2,3)表示四旋翼飞行器在坐标系 E ^ H \hat{E}^{H} E^H下的姿态控制器的横滚和俯仰参考, u Θ i u_{\Theta{i}} uΘi和 u Ω i u_{\Omega{i}} uΩi表示是控制分配器的输入(横滚、俯仰、偏航和推力),它将输入转换成执行器的输出,驱动电机。
- 设 G v G_v Gv和 G Ω G_{\Omega} GΩ分别表示常数矩阵 G v = diag ( g , − g , k s t / m ) G_{v}=\text{diag}{(g,-g,k_{st}/m)} Gv=diag(g,−g,kst/m)和 G Ω = J − 1 diag ( k s x , k s y , k s z ) G_{\Omega}=J^{-1}\text{diag}(k_{sx},k_{sy},k_{sz}) GΩ=J−1diag(ksx,ksy,ksz)。其中 k s x 、 k s y 、 k s z k_{sx}、k_{sy}、k_{sz} ksx、ksy、ksz和 k s t k_{st} kst表示横滚、俯仰、偏航和推力的标度值。并且满足 τ x = k s x u Ω 1 \tau_{x}=k_{sx}u_{\Omega1} τx=ksxuΩ1, τ y = k s y u Ω 2 \tau_{y}=k_{sy}u_{\Omega2} τy=ksyuΩ2, τ z = k s z u Ω 3 \tau_{z}=k_{sz}u_{\Omega3} τz=kszuΩ3和 T s = k s t u v 3 T_{s}=k_{st}u_{v3} Ts=kstuv3
- 设
G
v
=
G
v
N
+
G
v
Δ
G_{v}=G_{v}^{N}+G^{\Delta}_{v}
Gv=GvN+GvΔ,
G
Ω
=
G
Ω
N
+
G
Ω
Δ
,
J
=
J
N
+
J
Δ
G_{\Omega}=G^{N}_{\Omega}+G^{\Delta}_{\Omega},J=J^{N}+J^{\Delta}
GΩ=GΩN+GΩΔ,J=JN+JΔ,其中
G
v
N
,
G
Ω
N
G^{N}_{v},G^{N}_{\Omega}
GvN,GΩN和
J
J
J表示标称参数,并假设参数不定性
G
v
Δ
G^{\Delta}_{v}
GvΔ,
G
Ω
Δ
G^{\Delta}_{\Omega}
GΩΔ和
J
Δ
J^{\Delta}
JΔ是有界的。那么无人机的平移和旋转动力学可以重写为:
p ˙ H = u p + Δ p v ˙ H = G v H u v − g c 3 , 3 + Δ v Θ ˙ B = R Θ u Θ + Δ Θ Ω ˙ B = G Ω N u Ω − ( J N ) − 1 C ( Θ B , Θ ˙ B ) Θ ˙ B + Δ Ω \dot{p}^{H}=u_{p}+\Delta{p}\\\dot{v}^{H}=G^{H}_{v}u_v-gc_{3,3}+\Delta{v}\\\dot{\Theta}^{B}=R_{\Theta}u_{\Theta}+\Delta{\Theta}\\\dot{\Omega}^{B}=G^{N}_{\Omega}u_{\Omega}-(J^{N})^{-1}C(\Theta^{B},\dot{\Theta}^B)\dot{\Theta}^{B}+\Delta_{\Omega} p˙H=up+Δpv˙H=GvHuv−gc3,3+ΔvΘ˙B=RΘuΘ+ΔΘΩ˙B=GΩNuΩ−(JN)−1C(ΘB,Θ˙B)Θ˙B+ΔΩ
其中 Δ i ( i = p , v , Θ , Ω ) \Delta_{i}(i=p,v,\Theta,\Omega) Δi(i=p,v,Θ,Ω)为等效扰动,包括非线性和不确定性,其中:
Δ p = d p H Δ v = m − 1 ( Δ N v + d v H + G v Δ + u v ) Δ Θ = d Θ B Δ Ω = − J − 1 C ( Θ B , Θ ˙ B ) Θ ˙ B + G Ω Δ u Ω + ( J N ) − 1 C ( Θ B , Θ ˙ B ) Θ ˙ B + J − 1 d Ω B \Delta{p}=d^{H}_{p}\\\Delta{v}=m^{-1}(\Delta_{N_v}+d^{H}_{v}+G^{\Delta}_{v}+u_{v})\\ \Delta_{\Theta}=d^{B}_{\Theta}\\ \Delta_{\Omega}=-J^{-1}C(\Theta^{B},\dot{\Theta}^{B})\dot{\Theta}^{B}+G^{\Delta}_{\Omega}u_{\Omega}+(J^{N})^{-1}C(\Theta^{B},\dot{\Theta}^{B})\dot{\Theta}^{B}+J^{-1}d^{B}_{\Omega} Δp=dpHΔv=m−1(ΔNv+dvH+GvΔ+uv)ΔΘ=dΘBΔΩ=−J−1C(ΘB,Θ˙B)Θ˙B+GΩΔuΩ+(JN)−1C(ΘB,Θ˙B)Θ˙B+J−1dΩB
其中 Δ N v \Delta_{N_{v}} ΔNv描述了如下的非线性项:
Δ N v = [ k s t u v 3 sin ϕ sin ψ + k s t u v 3 cos ϕ cos ψ sin θ − m G v 1 N u v 1 − k s t u v 3 cos ϕ sin ϕ sin ψ + k s t u v 3 cos ψ sin ϕ + m G v 2 N u v 2 m ( cos θ cos ϕ G v 3 u v 3 − G v 3 N u v 3 ) ] \Delta{N}_{v}=\left[\begin{array}{c}k_{st}u_{v3}\sin{\phi}\sin{\psi}+k_{st}u_{v3}\cos{\phi}\cos{\psi}\sin{\theta}\\ -mG^{N}_{v1}u_{v1}-k_{st}u_{v3}\cos{\phi}\sin{\phi}\sin{\psi}+k_{st}u_{v3}\cos{\psi}\sin{\phi}\\+mG^{N}_{v2}u_{v2}m(\cos{\theta}\cos{\phi}G_{v3}u_{v3}-G_{v3}^{N}u_{v3})\end{array}\right] ΔNv= kstuv3sinϕsinψ+kstuv3cosϕcosψsinθ−mGv1Nuv1−kstuv3cosϕsinϕsinψ+kstuv3cosψsinϕ+mGv2Nuv2m(cosθcosϕGv3uv3−Gv3Nuv3)
滚转角 ϕ \phi ϕ和俯仰角 θ \theta θ满足 ϕ ∈ ( − π / 2 , π / 2 ) \phi\in(-\pi/2,\pi/2) ϕ∈(−π/2,π/2)和 θ ∈ ( − π / 2 , π / 2 ) \theta\in(-\pi/2,\pi/2) θ∈(−π/2,π/2),以免出现欧拉角中的奇异性问题。通过忽略等效干扰 Δ i ( i = p , v , Θ , Ω ) \Delta_{i}(i=p,v,\Theta,\Omega) Δi(i=p,v,Θ,Ω),这个模型可以被视作标称四旋翼模型。 Δ i \Delta_{i} Δi中的不确定性包括参数不确定性和外部干扰。在实际应用中,四旋翼无人机的模型参数无法精确策略,导致参数不确定性 G v Δ G_{v}^{\Delta} GvΔ, J Δ J_{\Delta} JΔ和 G Ω Δ G_{\Omega}^{\Delta} GΩΔ。在 Δ i \Delta_{i} Δi中, d p H d_{p}^{H} dpH, d v H d_{v}^{H} dvH, d Θ B d_{\Theta}^{B} dΘB, d Ω B d_{\Omega}^{B} dΩB是作用在四旋翼上的外部干扰。例如,室外环境中的风干扰。因此,真实的四旋翼模型可以看作是加了等效扰动的正常四旋翼动力模型。
3.3 运动估计
如Fig1中所示,四旋翼从正以一定的姿态跟踪地面的目标。相机模型是基于针孔模型。定义
E
^
C
=
{
e
^
C
o
,
e
^
C
x
,
e
^
C
y
,
e
^
C
z
}
\hat{E}^{C}=\{\hat{e}_{Co},\hat{e}_{Cx},\hat{e}_{Cy},\hat{e}_{Cz}\}
E^C={e^Co,e^Cx,e^Cy,e^Cz}为相机坐标系。为了方便描述,将
E
^
C
\hat{E}^{C}
E^C和
E
^
B
\hat{E}^{B}
E^B对齐。设
E
^
I
=
{
e
^
I
o
,
e
^
I
x
,
e
^
I
y
,
e
^
I
z
}
\hat{E}^{I}=\{\hat{e}_{Io},\hat{e}_{Ix},\hat{e}_{Iy},\hat{e}_{Iz}\}
E^I={e^Io,e^Ix,e^Iy,e^Iz}表示以
{
e
^
I
x
,
e
^
I
y
}
\{\hat{e}_{Ix},\hat{e}_{Iy}\}
{e^Ix,e^Iy}作为基底,与
{
e
^
C
x
,
e
^
C
y
}
\{\hat{e}_{Cx},\hat{e}_{Cy}\}
{e^Cx,e^Cy}平行的二维图像平面。设
P
t
P_{t}
Pt表示地面目标,其位置为
P
t
C
=
[
p
x
t
C
,
p
y
t
C
,
p
z
t
C
]
T
∈
R
3
×
1
P_{t}^{C}=[p_{xt}^{C},p_{yt}^{C},p_{zt}^{C}]^T\in{\mathbb{R}^{3\times1}}
PtC=[pxtC,pytC,pztC]T∈R3×1在坐标系
E
^
C
\hat{E}^{C}
E^C中。
p
t
H
=
[
p
x
t
H
,
p
y
t
H
,
p
z
t
H
]
T
∈
R
3
×
1
p_{t}^{H}=[p_{xt}^{H},p_{yt}^{H},p_{zt}^{H}]^T\in{\mathbb{R}^{3\times1}}
ptH=[pxtH,pytH,pztH]T∈R3×1表示地面目标相对于四旋翼无人机在
E
^
H
\hat{E}^{H}
E^H中的位置。设
P
t
′
P_{t}^{'}
Pt′表示地面目标在图像坐标系
E
^
I
\hat{E}^{I}
E^I中的投影点,位置为
p
t
I
=
[
p
x
t
I
,
p
y
t
I
]
T
=
f
C
[
p
x
t
C
/
p
z
t
C
,
p
y
t
C
/
p
z
t
C
]
p_{t}^{I}=[p_{xt}^{I},p_{yt}^{I}]^T=f_{C}[p_{xt}^{C}/p_{zt}^{C},p_{yt}^{C}/p_{zt}^{C}]
ptI=[pxtI,pytI]T=fC[pxtC/pztC,pytC/pztC],其中
f
C
f_{C}
fC表示相机的焦距。
p
t
C
p_{t}^{C}
ptC和
p
t
H
p_{t}^{H}
ptH之间的关系可以表示为:
[
p
x
t
H
,
p
y
t
H
,
p
z
t
H
]
T
=
R
f
[
p
x
t
C
,
p
y
t
C
,
p
z
t
C
]
T
[p_{xt}^{H},p_{yt}^{H},p_{zt}^{H}]^T=R_{f}[p_{xt}^{C},p_{yt}^{C},p_{zt}^{C}]^T
[pxtH,pytH,pztH]T=Rf[pxtC,pytC,pztC]T对上式两边同时除以
p
z
t
C
p_{zt}^{C}
pztC,可以得到:
R
f
[
p
x
t
C
/
p
z
t
C
,
p
y
t
C
/
p
z
t
C
,
1
]
T
=
[
p
x
t
H
/
p
z
t
C
,
p
y
t
H
/
p
z
t
C
,
p
z
t
H
/
p
z
t
C
]
T
R_{f}[p_{xt}^{C}/p_{zt}^{C},p_{yt}^{C}/p_{zt}^{C},1]^T=[p_{xt}^{H}/p_{zt}^{C},p_{yt}^{H}/p_{zt}^{C},p_{zt}^{H}/p_{zt}^{C}]^T
Rf[pxtC/pztC,pytC/pztC,1]T=[pxtH/pztC,pytH/pztC,pztH/pztC]T其中
R
f
R_f
Rf,
p
x
t
C
/
p
z
t
C
p_{xt}^{C}/p_{zt}^{C}
pxtC/pztC和
p
y
t
C
/
p
z
t
C
p_{yt}^{C}/p_{zt}^{C}
pytC/pztC从IMU传感器和视觉测量中已知。为了计算深度值
p
z
t
C
p_{zt}^{C}
pztC,可以使用目标到地面的信息,使用超声波传感器和IMU的数据估计
p
z
t
H
p^{H}_{zt}
pztH,则可以根据上式计算出
p
z
t
C
p_{zt}^{C}
pztC,用上式重构
p
z
t
H
p^{H}_{zt}
pztH。这种方法实现方便,可以在不需要先验的地面目标的几何信息的情况下,精确的测量目标相对于四旋翼的位置。
p
t
H
p_{t}^{H}
ptH直接馈送到卡尔曼滤波器中,用以估计四旋翼飞行器相对于地面目标的位置和速度。由于深度值
p
t
C
p_{t}^{C}
ptC是使用IMU和超声波传感器估计的,因此仅一个视觉特征就足以计算四旋翼相对于地面目标的位置。估计的四旋翼的位置和速度,将在鲁棒控制器的设计过程中使用,这将在下一节中展示。
4. 鲁棒控制器设计
4.1 控制律设计
整个闭环四旋翼控制系统如上图中所示。在整个系统中,基于视觉的估计系统为位置控制器提供位置估计,
Z
k
Z_k
Zk和
X
k
X_k
Xk表示卡尔曼滤波器的测量和状态。定义
e
p
=
[
e
p
x
,
e
p
y
,
e
p
z
]
T
=
[
e
p
i
]
∈
R
3
×
1
e_p=[e_{px},e_{py},e_{pz}]^T=[e_{pi}]\in\mathbb{R}^{3\times1}
ep=[epx,epy,epz]T=[epi]∈R3×1为位置误差,
e
v
=
[
e
v
i
]
∈
R
3
×
1
e_v=[e_{vi}]\in\mathbb{R}^{3\times1}
ev=[evi]∈R3×1为速度误差,
e
Θ
=
[
e
Θ
i
]
∈
R
3
×
1
e_{\Theta}=[e_{\Theta i}]\in\mathbb{R}^{3\times1}
eΘ=[eΘi]∈R3×1为角度误差,
e
Ω
=
[
e
Ω
i
]
∈
R
3
×
1
e_{\Omega}=[e_{\Omega i}]\in\mathbb{R}^{3\times1}
eΩ=[eΩi]∈R3×1为角速度误差,其中
e
p
=
p
H
−
p
r
H
e_p=p^{H}-p^{H}_{r}
ep=pH−prH,
e
v
=
v
H
−
v
r
H
e_v=v^{H}-v_{r}^{H}
ev=vH−vrH,
e
Θ
=
Θ
B
−
Θ
r
B
e_{\Theta}=\Theta^{B}-\Theta^{B}_{r}
eΘ=ΘB−ΘrB
和
e
Ω
=
Ω
B
−
Ω
r
B
e_\Omega=\Omega^{B}-\Omega_{r}^{B}
eΩ=ΩB−ΩrB。由前述推导的模型,位置姿态控制率可以构造为:
u
p
=
−
K
p
e
e
p
+
p
˙
r
H
+
u
p
R
u
v
=
(
G
v
N
)
−
1
(
−
K
v
e
+
v
˙
r
H
+
g
c
3
,
3
+
u
v
R
)
u
Θ
=
(
R
Θ
)
−
1
(
−
K
Θ
e
e
Θ
+
Θ
˙
r
B
+
u
Θ
R
)
u
Ω
=
(
G
Ω
N
)
−
1
(
−
K
Ω
e
+
Ω
˙
r
B
+
(
J
N
)
−
1
C
(
Θ
B
,
Θ
˙
B
)
Θ
˙
B
+
u
Ω
R
)
u_p=-K_{pe}e_p+\dot{p}_{r}^{H}+u_{p}^{R}\\ u_{v}=(G_{v}^{N})^{-1}(-K_{ve}+\dot{v}_{r}^{H}+gc_{3,3}+u_{v}^{R})\\ u_{\Theta}=(R_{\Theta})^{-1}(-K_{\Theta e}e_{\Theta}+\dot{\Theta}_{r}^{B}+u_{\Theta}^{R})\\ u_{\Omega}=(G_{\Omega}^{N})^{-1}(-K_{\Omega e}+\dot{\Omega}^{B}_{r}+(J^{N})^{-1}C(\Theta^{B},\dot{\Theta}^{B})\dot{\Theta}^{B}+u_{\Omega}^{R})
up=−Kpeep+p˙rH+upRuv=(GvN)−1(−Kve+v˙rH+gc3,3+uvR)uΘ=(RΘ)−1(−KΘeeΘ+Θ˙rB+uΘR)uΩ=(GΩN)−1(−KΩe+Ω˙rB+(JN)−1C(ΘB,Θ˙B)Θ˙B+uΩR)其中正对角矩阵
K
i
e
(
i
=
p
,
v
,
Θ
,
Ω
)
K_{ie}(i=p,v,\Theta,\Omega)
Kie(i=p,v,Θ,Ω)表示标称反馈控制器增益,
K
i
e
=
diag
(
k
i
1
,
k
i
2
,
k
i
3
)
K_{ie}=\text{diag}(k_{i1},k_{i2},k_{i3})
Kie=diag(ki1,ki2,ki3)。令
u
i
R
(
i
=
p
,
v
,
Θ
,
Ω
)
u_{i}^{R}(i=p,v,\Theta,\Omega)
uiR(i=p,v,Θ,Ω)表示鲁棒控制补偿输入,并且可以有下式给出:
u
i
R
(
s
)
=
−
F
i
(
s
)
Δ
i
(
s
)
u_{i}^{R}(s)=-F_{i}(s)\Delta{i}(s)
uiR(s)=−Fi(s)Δi(s)
其中
F
i
(
s
)
=
diag
(
F
i
1
(
s
)
,
F
i
2
(
s
)
,
F
i
3
(
s
)
)
F_{i}(s)=\text{diag}(F_{i1}(s),F_{i2}(s),F_{i3}(s))
Fi(s)=diag(Fi1(s),Fi2(s),Fi3(s))并且
F
i
j
(
s
)
=
f
i
j
/
(
f
i
j
+
s
)
F_{ij}(s)=f_{ij}/(f_{ij}+s)
Fij(s)=fij/(fij+s),正常数
f
i
j
(
j
=
1
,
2
,
3
)
f_{ij}(j=1,2,3)
fij(j=1,2,3)待定。u_{i}^{R}是低通滤波器的输出,如果适当选择滤波器参数
f
i
j
f_{ij}
fij,它可以抑制等效干扰。然而,在实际应用中,
Δ
i
(
i
=
p
,
v
,
Θ
,
Ω
)
\Delta_{i}(i=p,v,\Theta,\Omega)
Δi(i=p,v,Θ,Ω)并不能直接获得,由下式推导:
Δ
p
=
v
H
−
u
p
Δ
v
=
v
˙
H
+
g
c
3
,
3
−
G
v
N
u
v
Δ
Θ
=
Θ
˙
B
−
R
Θ
u
Θ
Δ
Ω
=
Ω
˙
B
+
(
J
N
)
−
1
C
(
Θ
B
,
Θ
˙
B
)
Θ
˙
B
−
G
Ω
N
u
Ω
\Delta_{p}=v^{H}-u_p\\ \Delta_{v}=\dot{v}^{H}+gc_{3,3}-G_{v}^{N}u_{v}\\ \Delta_{\Theta}=\dot{\Theta}^{B}-R_{\Theta}u_{\Theta}\\ \Delta_{\Omega}=\dot{\Omega}^{B}+(J^{N})^{-1}C(\Theta^{B},\dot{\Theta}^{B})\dot{\Theta}^{B}-G^{N}_{\Omega}u_{\Omega}
Δp=vH−upΔv=v˙H+gc3,3−GvNuvΔΘ=Θ˙B−RΘuΘΔΩ=Ω˙B+(JN)−1C(ΘB,Θ˙B)Θ˙B−GΩNuΩ
将上述两式结合,可以得到
u
p
R
u_{p}^{R}
upR和
u
v
R
u_{v}^{R}
uvR表示如下:
x
˙
p
=
−
f
p
x
p
+
f
p
2
p
H
+
f
p
u
p
u
p
R
=
−
f
p
p
H
+
x
p
x
˙
v
=
−
f
v
x
v
+
f
v
2
v
H
+
f
v
(
G
v
N
u
v
−
g
c
3
,
3
)
u
v
R
=
−
f
v
v
H
+
x
v
\dot{x}_p=-f_px_p+f^{2}_pp^{H}+f_pu_p\\ u_{p}^{R}=-f_pp^{H}+x_p\\ \dot{x}_v=-f_vx_v+f_v^{2}v^{H}+fv(G_{v}^{N}u_v-gc_{3,3})\\ u_v^{R}=-f_vv^{H}+x_v
x˙p=−fpxp+fp2pH+fpupupR=−fppH+xpx˙v=−fvxv+fv2vH+fv(GvNuv−gc3,3)uvR=−fvvH+xv
其中
x
p
x_p
xp和
x
v
x_v
xv表示鲁棒滤波器的状态。正矩阵
f
i
(
i
=
p
,
v
)
f_i(i=p,v)
fi(i=p,v)满足
f
i
=
diag
(
f
i
1
,
f
i
2
,
f
i
3
)
f_i = \text{diag}(f_{i1}, f_{i2}, f_{i3})
fi=diag(fi1,fi2,fi3)。
u
Θ
R
u_{\Theta}^{R}
uΘR和
u
Ω
R
u_{\Omega}^{R}
uΩR可以用类似的状态空间形式来实现。