当前位置:   article > 正文

【Paper】2018_多无人机协同编队控制算法研究_林倩玉

多无人机协同编队控制算法研究

原文地址:[1]林倩玉. 多无人机协同编队控制算法研究[D].哈尔滨工业大学,2018.

第 3 章 多无人机协同编队控制算法设计

3.1 引言


3.2 多无人机系统运动的状态控制


3.2.1 航向控制

航向角的动态模型是
ψ ˙ i = 1 τ ψ ( ψ i c − ψ i ) (3-1) \dot{\psi}_i = \frac{1}{\tau_\psi} (\psi^c_i - \psi_i) \tag{3-1} ψ˙i=τψ1(ψicψi)(3-1)

ψ i \psi_i ψi:当前航向角
ψ i c \psi_i^c ψic:航向指令

航向角的一致性控制算法如下:
{ ψ i c = ψ i + 1 1 + n i u i u i = − ∑ j = 1 n a i j ( ψ i − ψ j ) (3-2) \left\{

ψic=ψi+11+niuiui=j=1naij(ψiψj)
\right.\tag{3-2} ψic=ψi+1+ni1uiui=j=1naij(ψiψj)(3-2)

n i n_i ni 是无人机 i i i 的邻居无人机的个数。

指定航向角的一致性算法为:
{ ψ i c = ψ i + 1 1 + n i u i u i = − b i ( ψ i − ψ ∗ ) − ∑ j = 1 n a i j ( ψ i − ψ j ) (3-3) \left\{

ψic=ψi+11+niuiui=\redbi(ψiψ)j=1naij(ψiψj)
\right.\tag{3-3} ψic=ψi+1+ni1uiui=bi(ψiψ)j=1naij(ψiψj)(3-3)

ψ ∗ \red{\psi^*} ψ 为指定航向角。


3.2.2 速度控制

速度动态模型为:
v ˙ i = α v ( v i c − v i ) (3-5) \dot{v}_i = \alpha_v (v^c_i - v_i) \tag{3-5} v˙i=αv(vicvi)(3-5)

速度一致性控制算法为:
{ v i c = v i + τ v u i u i = − ∑ j = 1 n a i j ( v i − v j ) (3-6) \left\{

vic=vi+τvuiui=j=1naij(vivj)
\right.\tag{3-6} vic=vi+τvuiui=j=1naij(vivj)(3-6)

指定编队收敛时的飞行速度控制算法为:
{ v i c = v i + τ v u i u i = − c i ( v i − v ∗ ) − ∑ j = 1 n a i j ( v i − v j ) (3-7) \left\{

vic=vi+τvuiui=\redci(viv)j=1naij(vivj)
\right.\tag{3-7} vic=vi+τvuiui=ci(viv)j=1naij(vivj)(3-7)

c i > 0 \red{c_i}>0 ci>0 时控制系数。


3.2.3 高度控制

无人机高度动态模型为:
z ¨ i = − 1 τ z ˙ z ˙ i − 1 τ z ( z i c − z i ) (3-8) \ddot{z}_i = -\frac{1}{\tau_{\dot{z}}} \dot{z}_i - \frac{1}{\tau_z} (z^c_i - z_i) \tag{3-8} z¨i=τz˙1z˙iτz1(ziczi)(3-8)

高度一致性控制算法:
{ z i c = z i + τ z τ z ˙ z ˙ i + τ z u i u i = − k z ˙ i − ∑ j = 1 n a i j [ ( v i − v j ) + γ ( z ˙ i − z ˙ j ) ] (3-10) \left\{

zic=zi+τzτz˙z˙i+τzuiui=kz˙ij=1naij[(vivj)+γ(z˙iz˙j)]
\right.\tag{3-10} zic=zi+τz˙τzz˙i+τzuiui=kz˙ij=1naij[(vivj)+γ(z˙iz˙j)](3-10)

有外部参考输入下的算法:
{ z i c = z i + τ z τ z ˙ z ˙ i + τ z u i u i = − d i ( z i − z ∗ ) − k z ˙ i − ∑ j = 1 n a i j [ ( v i − v j ) + γ ( z ˙ i − z ˙ j ) ] (3-12) \left\{

zic=zi+τzτz˙z˙i+τzuiui=\reddi(ziz)kz˙ij=1naij[(vivj)+γ(z˙iz˙j)]
\right.\tag{3-12} zic=zi+τz˙τzz˙i+τzuiui=di(ziz)kz˙ij=1naij[(vivj)+γ(z˙iz˙j)](3-12)


3.3 多无人机系统编队的队形控制算法


3.3.1 平面队形控制

当编队稳定时,其横侧向平面内有:
( x i ′ − x i F ′ ) − ( x j ′ − x j F ′ ) = 0 (x^{'}_i - x^{'}_{iF}) - (x^{'}_j - x^{'}_{jF}) = 0 (xixiF)(xjxjF)=0 ( y i ′ − y i F ′ ) − ( y j ′ − y j F ′ ) = 0 (y^{'}_i - y^{'}_{iF}) - (y^{'}_j - y^{'}_{jF}) = 0 (yiyiF)(yjyjF)=0

即:
( x i ′ − x i F ′ ) − ( x j ′ − x j F ′ ) = x i ′ − x j ′ − x i j ′ r = 0 (x^{'}_i - x^{'}_{iF}) - (x^{'}_j - x^{'}_{jF}) = x^{'}_i - x^{'}_j - x^{'r}_{ij} = 0 (xixiF)(xjxjF)=xixjxijr=0 ( y i ′ − y i F ′ ) − ( y j ′ − y j F ′ ) = y i ′ − y j ′ − y i j ′ r = 0 (y^{'}_i - y^{'}_{iF}) - (y^{'}_j - y^{'}_{jF}) = y^{'}_i - y^{'}_j - y^{'r}_{ij} = 0 (yiyiF)(yjyjF)=yiyjyijr=0

x i j ′ r , y i j ′ r \red{x^{'r}_{ij}},\red{y^{'r}_{ij}} xijr,yijr 分别表示无人机之间的预定机间距离。

多无人机协同编队的控制算法如下:
{ v i c = v i − ∑ j = 1 n a i j [ τ v ( v i − v j ) + k i v ( x i ′ − x j ′ − x i j ′ r ) ] ψ i c = ψ i − ∑ j = 1 n a i j [ 1 1 + n i ( ψ i − ψ j ) + k i ψ ∑ j ∈ N i ( y i ′ − y j ′ − y i j ′ r ) ] (3-16) \left\{

vic=vij=1naij[τv(vivj)+kiv(xixjxijr)]ψic=ψij=1naij[11+ni(ψiψj)+kiψjNi(yiyjyijr)]
\right.\tag{3-16} vic=vij=1naij[τv(vivj)+kiv(xixjxijr)]ψic=ψij=1naij[1+ni1(ψiψj)+kiψjNi(yiyjyijr)](3-16)

k i v , k i ψ \red{k^v_i},\red{k^{\psi}_i} kiv,kiψ 分别用于调整无人机间隔的控制增益。

上式是进行队形控制的最基本算法。如果要指定编队的某些飞行状态,可由上式衍生出以下三种队形控制算法:

1)指定飞行航向, ψ i → ψ ∗ \psi_i \rightarrow \psi^* ψiψ
{ v i c = v i − ∑ j = 1 n a i j [ τ v ( v i − v j ) + k i v ( x i ′ − x j ′ − x i j ′ r ) ] ψ i c = ψ i − b i ( ψ i − ψ ∗ ) − ∑ j = 1 n a i j [ 1 1 + n i ( ψ i − ψ j ) + k i ψ ∑ j ∈ N i ( y i ′ − y j ′ − y i j ′ r ) ] (3-17) \left\{

vic=vij=1naij[τv(vivj)+kiv(xixjxijr)]ψic=ψi\redbi(ψiψ)j=1naij[11+ni(ψiψj)+kiψjNi(yiyjyijr)]
\right.\tag{3-17} vic=vij=1naij[τv(vivj)+kiv(xixjxijr)]ψic=ψibi(ψiψ)j=1naij[1+ni1(ψiψj)+kiψjNi(yiyjyijr)](3-17)

2)指定飞行速度

3)指定飞行速度和飞行航向


3.3.2 纵向队形控制

{ z i c = z i + τ z τ z ˙ z ˙ i + τ z u i u i = − k z ˙ i − ∑ j = 1 n a i j [ ( z i − z j − z i j r ) + γ ( z ˙ i − z ˙ j ) ] (3-20) \left\{

zic=zi+τzτz˙z˙i+τzuiui=kz˙ij=1naij[(\redzizjzijr)+γ(z˙iz˙j)]
\right.\tag{3-20} zic=zi+τz˙τzz˙i+τzuiui=kz˙ij=1naij[(zizjzijr)+γ(z˙iz˙j)](3-20)


3.3.3 三维空间队形控制算法

3.4 多无人机协同编队的队形保持

3.5 多无人机协同编队的队形变化

当编队稳定收敛时,编队成员之间的机间距离满足式(3-22)时,则认为队形稳定。

{ lim ⁡ t → ∞ ( x i ′ ( t ) − x j ′ ( t ) ) = x i j ′ ( t ) lim ⁡ t → ∞ ( y i ′ ( t ) − y j ′ ( t ) ) = y i j ′ ( t ) lim ⁡ t → ∞ ( z i ′ ( t ) − z j ′ ( t ) ) = z i j ′ ( t ) lim ⁡ t → ∞ ( v i ( t ) − v j ( t ) ) = 0 lim ⁡ t → ∞ ( ψ i ( t ) − ψ j ( t ) ) = 0 (3-22) \left\{

limt(xi(t)xj(t))=xij(t)limt(yi(t)yj(t))=yij(t)limt(zi(t)zj(t))=zij(t)limt(vi(t)vj(t))=0limt(ψi(t)ψj(t))=0
\right.\tag{3-22} tlim(xi(t)xj(t))=xij(t)tlim(yi(t)yj(t))=yij(t)tlim(zi(t)zj(t))=zij(t)tlim(vi(t)vj(t))=0tlim(ψi(t)ψj(t))=0(3-22)


3.6 多无人机协同编队算法仿真验证

3.6.1 状态控制仿真验证

在这里插入图片描述

高度有错误,修改后调出来了。
同时还给出了高度爬升时的速度曲线。

下图结果对应程序 Fig3_6_1_20220812.m
在这里插入图片描述


3.6.2 队形控制仿真验证

论文中的仿真结果图如下:

在这里插入图片描述


下图结果对应程序 Fig3_6_2_20220813_formation
在这里插入图片描述

在这里插入图片描述

3.6.4 队形变换仿真验证

两个问题

1 高度曲线

高度曲线之前一直没有调整出来,最近又看了一下,发现了问题。

问题就出现在下图中箭头位置,应该是 z i − z i c z_i - z_i^c zizic,但是论文中给的错了。

在这里插入图片描述

2 状态初值

位置状态的初始值如果设置不好的话,容易造成不一致的情况。

论文中给的 y 4 = − 73 y_4 = -73 y4=73,仿真出来的结果刚好差了一个周期。
结果如下图,刚好从 π 4 = 0.7854 \frac{\pi}{4} =0.7854 4π=0.7854 跑到了 π 4 + 2 π = 7.0686 \frac{\pi}{4}+2\pi = 7.0686 4π+2π=7.0686

解决办法就是调下一下初始值就行了。

在这里插入图片描述


需要程序代码可加+V:Zhao-Jichao
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/296764
推荐阅读
  

闽ICP备14008679号