電子商務(wù)網(wǎng)站建設(shè)的核心是長沙做網(wǎng)絡(luò)推廣公司的
基于和聲算法的無人機(jī)航跡規(guī)劃
文章目錄
- 基于和聲算法的無人機(jī)航跡規(guī)劃
- 1.和聲搜索算法
- 2.無人機(jī)飛行環(huán)境建模
- 3.無人機(jī)航跡規(guī)劃建模
- 4.實(shí)驗(yàn)結(jié)果
- 4.1地圖創(chuàng)建
- 4.2 航跡規(guī)劃
- 5.參考文獻(xiàn)
- 6.Matlab代碼
摘要:本文主要介紹利用和聲算法來優(yōu)化無人機(jī)航跡規(guī)劃。
1.和聲搜索算法
和聲算法原理請參考:https://blog.csdn.net/u011835903/article/details/118724731
2.無人機(jī)飛行環(huán)境建模
? 環(huán)境模型的建立是考驗(yàn)無人機(jī)是否可以圓滿完成人類所賦予各項(xiàng)任務(wù)的基
礎(chǔ)和前提,其中第一步便是如何描述規(guī)劃空間中的障礙物。首先我們將采取函數(shù)模擬法模擬地貌特征。其函數(shù)表達(dá)式為:
z ( x , y ) = s i n ( y + a ) + b s i n ( x ) + c c o s ( d y 2 + x 2 ) + e c o s ( y ) + f s i n ( f y 2 + x 2 ) + g c o s ( y ) (1) z(x,y)=sin(y+a)+bsin(x)+ccos(d\sqrt{y^2+x^2})+ecos(y)+fsin(f\sqrt{y^2+x^2})+gcos(y)\tag{1} z(x,y)=sin(y+a)+bsin(x)+ccos(dy2+x2?)+ecos(y)+fsin(fy2+x2?)+gcos(y)(1)
其中, ( x , y ) (x, y) (x,y) 為地形上某點(diǎn)投影在水平面上的點(diǎn)坐標(biāo), z z z 則為對應(yīng)點(diǎn)坐標(biāo)的高度。式中 a , b , c , d , e , f , g a, b, c, d, e, f , g a,b,c,d,e,f,g 是常系數(shù),想要得到不同的地貌特征可以通過改變其常系數(shù)的大小,以上建模是作為環(huán)境模型的基準(zhǔn)地形信息。但為了得到障礙區(qū)域我們還需要在這個基準(zhǔn)地形上疊加山峰模型,這樣就可以模擬像山峰、丘陵等障礙地理信息。山峰模型的數(shù)學(xué)表達(dá)式為:
h ( x , y ) = ∑ i h i e x p [ ? ( x ? x o i ) 2 a i 2 ? ( y ? y o i ) 2 b i 2 ] + h o (2) h(x,y)=\sum_ih_iexp[-\frac{(x-x_{oi})^2}{a_i^2}-\frac{(y-y_{oi})^2}{b_i^2}]+h_o \tag{2} h(x,y)=i∑?hi?exp[?ai2?(x?xoi?)2??bi2?(y?yoi?)2?]+ho?(2)
式 (2)中, h o h_o ho? 和 h i h_i hi? 分別表示基準(zhǔn)地形和第 i i i座山峰的高度, ( x o i , y o i ) (xoi , y oi ) (xoi,yoi)則表示第 i座山峰的中心坐標(biāo)位置,a i 和 b i 分別是第 i 座山峰沿 x 軸和 y 軸方向的坡度。由式(1)和(2),我們可以得到如下表達(dá)式:
Z ( x , y ) = m a x [ z ( x , y ) , h ( x , y ) ] (3) Z(x,y)=max[z(x,y),h(x,y)]\tag{3} Z(x,y)=max[z(x,y),h(x,y)](3)
無人機(jī)在躲避障礙物的同時也會經(jīng)常遇到具有威脅飛行安全的區(qū)域,我們稱之為威脅區(qū)域。這些威脅區(qū)域可以是敵人的雷達(dá)和防空導(dǎo)彈系統(tǒng)的探測威脅區(qū)域也可以是一些其它的威脅,一旦無人機(jī)進(jìn)入這些區(qū)域很有可能會被擊落或者墜毀。為了簡化模型,本文采用半徑為 r 的圓柱形區(qū)域表示威脅區(qū)域,其半徑的大小決定威脅區(qū)域的覆蓋范圍。每一個圓柱體的中心位置是對無人機(jī)構(gòu)成最大威脅的地方并向外依次減弱。
3.無人機(jī)航跡規(guī)劃建模
? 在環(huán)境建模的基礎(chǔ)上,無人機(jī)航跡規(guī)劃需要考慮到在執(zhí)行復(fù)雜任務(wù)的過程中自身性能約束要求,合理的設(shè)計(jì)航跡評價函數(shù)才能使得和聲搜索算法得出的最后結(jié)果符合要求,并保證規(guī)劃出的航跡是有效的??紤]到實(shí)際環(huán)境中,無人機(jī)需要不斷適應(yīng)變化的環(huán)境。所以在無人機(jī)路徑規(guī)劃過程中,最優(yōu)路徑會顯得比較復(fù)雜,并包含許多不同的特征?;趯?shí)際的情況,本文采用較為復(fù)雜的航跡評價函數(shù)進(jìn)行無人機(jī)路徑規(guī)劃。影響無人機(jī)性能的指標(biāo)主要包括航跡長度、飛行高度、最小步長、轉(zhuǎn)角代價、最大爬升角等。
? 搜索最佳路徑通常與搜索最短路徑是密不可分的。在無人機(jī)航跡規(guī)劃過程中,航跡的長度對于大多數(shù)航跡規(guī)劃任務(wù)來說也是非常重要的。眾所周知,較短的路線可以節(jié)省更多的燃料和更多的時間并且發(fā)現(xiàn)未知威脅的幾率會更低。我們一般把路徑定義為無人機(jī)從起始點(diǎn)到終點(diǎn)所飛行路程的值,設(shè)一條完整的航線有 n n n個節(jié)點(diǎn),其中第 i i i個航路點(diǎn)和第 i + 1 i+1 i+1個航路點(diǎn)之間的距離表示為 l i l_i li? ,這兩個航路點(diǎn)的坐標(biāo)分別表示為 ( x i , y i , z i ) (x_i,y_i,z_i ) (xi?,yi?,zi?), ( x i + 1 , y i + 1 , z i + 1 ) (x_{i+1}, y_{i+1},z_{i+1}) (xi+1?,yi+1?,zi+1?)并分別記作 g ( i ) g(i) g(i)和 g ( i + 1 ) g(i+1) g(i+1)。航跡需要滿足如下條件:
{ l i = ∣ ∣ g ( i + 1 ) ? g ( i ) ∣ ∣ 2 L p a t h = ∑ i = 1 n ? 1 l i (4) \begin{cases} l_i = ||g(i+1)-g(i)||_2\\ L_{path}=\sum_{i=1}^{n-1}l_i \end{cases}\tag{4} {li?=∣∣g(i+1)?g(i)∣∣2?Lpath?=∑i=1n?1?li??(4)
在飛行的過程中會遇到障礙物或者進(jìn)入威脅區(qū)域,如果無人機(jī)無法躲避障礙物或者飛入了威脅區(qū)域?qū)⒚媾R被擊落或墜毀的危險以至于無法到達(dá)終點(diǎn),記為 L p a t h = ∞ L_{path}=\infty Lpath?=∞,但是無窮函數(shù)在實(shí)際問題中很難表示,我們采用懲罰的方式進(jìn)行處理。一般情況下,為了利用地形覆蓋自身位置,無人機(jī)應(yīng)盡可能降低高度這可以幫助自身避免一些未知雷達(dá)等威脅。但是太低的飛行高度同樣會加大無人機(jī)同山體和地面的撞擊幾率,因此設(shè)定穩(wěn)定的飛行高度是非常重要的。飛行高度不應(yīng)該有太大的變化,穩(wěn)定的飛行高度可以減少控制系統(tǒng)的負(fù)擔(dān),節(jié)省更多的燃料 。為了使無人機(jī)飛行更加安全,給出的飛行高度模型:
{ h h e i g h t = 1 n ∑ i = 0 n ? 1 ( z ( i ) ? z  ̄ ) 2 z  ̄ = 1 n ∑ i = 0 n ? 1 z ( i ) (5) \begin{cases} h_{height}=\sqrt{\frac{1}{n}\sum_{i=0}^{n-1}(z(i)-\overline{z})^2}\\ \overline{z}=\frac{1}{n}\sum_{i=0}^{n-1}z(i) \end{cases}\tag{5} {hheight?=n1?∑i=0n?1?(z(i)?z)2?z=n1?∑i=0n?1?z(i)?(5)
無人機(jī)的可操作性也受到其轉(zhuǎn)角代價函數(shù)的限制。,在飛行過程中無人機(jī)的轉(zhuǎn)角應(yīng)不大于其預(yù)先設(shè)定的最大轉(zhuǎn)角,轉(zhuǎn)角的大小會影響其飛行的穩(wěn)定性。本文的研究中,設(shè)定最大轉(zhuǎn)角為 Φ Φ Φ,當(dāng)前轉(zhuǎn)角為 θ \theta θ并且 a i a_i ai?是第 i i i段航路段向量。
{ c o s θ = a i T a i + 1 ∣ a i ∣ ∣ a i + 1 ∣ J t u r n = ∑ i = 1 n ( c o s ( Φ ? c o s θ ) ) (6) \begin{cases} cos\theta =\frac{a_i^Ta_{i+1}}{|a_i||a_{i+1}|}\\ J_{turn}=\sum_{i=1}^n(cos(\Phi-cos\theta)) \end{cases}\tag{6} {cosθ=∣ai?∣∣ai+1?∣aiT?ai+1??Jturn?=∑i=1n?(cos(Φ?cosθ))?(6)
其中, ∣ a ∣ |a| ∣a∣代表矢量 a a a的長度。
? 通過對以上三個方面建立了無人機(jī)航跡規(guī)劃的代價函數(shù),可以得出本文的航跡評價函數(shù)如下:
J c o s t = w 1 L p a t h + w 2 h h e i g h t + w 3 J t u r n (7) J_{cost}=w_1L_{path}+w_2h_{height}+w_3J_{turn} \tag{7} Jcost?=w1?Lpath?+w2?hheight?+w3?Jturn?(7)
其中, J c o s t J_{cost} Jcost?是總的代價函數(shù),參數(shù) w i w_i wi? , i = 1 , 2 , 3 i=1,2,3 i=1,2,3 表示每個代價函數(shù)的權(quán)值,且滿足如下條件:
{ w i ≥ 0 ∑ i = 1 3 w i = 1 (8) \begin{cases} w_i\geq0 \\ \sum_{i=1}^3 w_i=1 \end{cases} \tag{8} {wi?≥0∑i=13?wi?=1?(8)
通過對總的代價函數(shù)進(jìn)行有效地處理,我們可以得到由線段組成的航跡。不可否認(rèn)的是得到的路徑往往是僅在理論上可行,但為了實(shí)際可飛,有必要對航跡進(jìn)行平滑處理。本文采用三次樣條插值的方法對路徑進(jìn)行平滑。
4.實(shí)驗(yàn)結(jié)果
4.1地圖創(chuàng)建
設(shè)置地圖參數(shù)a, b, c, d, e, f , g=1。地圖大小為:200*200。設(shè)置三個山峰,山峰信息如表1所示。威脅區(qū)域信息如表2所示
信息 | 山峰中心坐標(biāo) | 山峰高度 | 山峰X方向坡度 | 山峰y方向坡度 |
---|---|---|---|---|
山峰1 | [60,60] | 50 | 20 | 20 |
山峰2 | [100,100] | 60 | 30 | 30 |
山峰3 | [150,150] | 80 | 20 | 20 |
信息 | 威脅區(qū)域中心坐標(biāo) | 威脅區(qū)域半徑 |
---|---|---|
威脅區(qū)域1 | [150,50] | 30 |
威脅區(qū)域2 | [50,150] | 20 |
創(chuàng)建的地圖如下:
4.2 航跡規(guī)劃
設(shè)置起點(diǎn)坐標(biāo)為[0,0,20],終點(diǎn)坐標(biāo)為[200,200,20]。利用和聲算法對航跡評價函數(shù)式(7)進(jìn)行優(yōu)化。優(yōu)化結(jié)果如下:
從結(jié)果來看,和聲算法規(guī)劃出了一條比較好的路徑,表明算法具有一定的優(yōu)勢。
5.參考文獻(xiàn)
[1]薛建凱. 一種新型的群智能優(yōu)化技術(shù)的研究與應(yīng)用[D].東華大學(xué),2020.DOI:10.27012/d.cnki.gdhuu.2020.000178.