楊智玲
(廈門(mén)海洋職業(yè)技術(shù)學(xué)院,福建 廈門(mén) 361100)
無(wú)人機(jī)(UAV)不需要人工駕駛,只需要通過(guò)智能程序?qū)崿F(xiàn)制動(dòng).近年來(lái),一些西方國(guó)家認(rèn)為無(wú)人機(jī)在戰(zhàn)爭(zhēng)中具有很高的優(yōu)勢(shì).因此,眾多國(guó)家在無(wú)人機(jī)研發(fā)上投入了大量資金,從而推動(dòng)了無(wú)人機(jī)領(lǐng)域的快速發(fā)展[1].同時(shí),部分國(guó)家也將無(wú)人機(jī)應(yīng)用于氣象探測(cè),防災(zāi)防火等領(lǐng)域.
旋翼無(wú)人機(jī)通常適用于不同速度與飛行航路,能夠?qū)崿F(xiàn)自由懸停與垂直起降.同時(shí),旋翼無(wú)人機(jī)體積較小、隱蔽性強(qiáng),在起步時(shí)不需要彈射器等設(shè)備即可實(shí)現(xiàn)發(fā)射,且飛行高度低,能夠執(zhí)行大量的、不同種類的飛行任務(wù),還能夠觀察更微小的細(xì)節(jié),因此旋翼無(wú)人機(jī)被廣泛應(yīng)用在不同領(lǐng)域[2].旋翼無(wú)人機(jī)航跡規(guī)劃是指獲取起始點(diǎn)到目的地的最佳路徑,通過(guò)航跡規(guī)劃,減少無(wú)人機(jī)執(zhí)行任務(wù)的距離[3],降低任務(wù)執(zhí)行時(shí)間.
在當(dāng)前較多規(guī)劃方法中,遺傳算法屬于一種較為優(yōu)秀的算法,該算法能夠考慮較多方面,且對(duì)約束問(wèn)題的處理更加完美,適用于解決航跡規(guī)劃中的復(fù)雜問(wèn)題.有較多學(xué)者對(duì)航跡規(guī)劃進(jìn)行了研究,例如高升等[4]通過(guò)混合種群算法完成航跡規(guī)劃,但該方法規(guī)劃后的航跡代價(jià)較高,不適用于大多任務(wù)場(chǎng)景,例如岳秀等[5]研究基于A-Star和改進(jìn)模擬退火算法的航跡規(guī)劃方法,但該方法規(guī)劃后的航跡,無(wú)人機(jī)執(zhí)行任務(wù)時(shí)的飛行時(shí)間延長(zhǎng).
為此,本文研究基于遺傳算法的旋翼無(wú)人機(jī)危險(xiǎn)環(huán)境中航跡規(guī)劃方法,通過(guò)自適應(yīng)遺傳算法完成無(wú)人機(jī)在危險(xiǎn)環(huán)境下的航跡規(guī)劃.
1.1.1 旋翼無(wú)人機(jī)模型
旋翼無(wú)人機(jī)模型的準(zhǔn)確程度與航跡規(guī)劃的質(zhì)量密不可分,在進(jìn)行航跡規(guī)劃之前,需要充分考慮旋翼無(wú)人機(jī)自身的特性,例如歐拉角、飛行距離等[6],使旋翼無(wú)人機(jī)航跡路徑能夠按照約束規(guī)劃.
為了合理描述旋翼無(wú)人機(jī)動(dòng)態(tài)系統(tǒng),本文需針對(duì)機(jī)體軸與地球慣性兩個(gè)坐標(biāo)系進(jìn)行詳細(xì)分析.其中地球慣性坐標(biāo)系對(duì)于地面來(lái)說(shuō)保持不變,但其依附于地球,假設(shè)無(wú)人機(jī)位置上固定點(diǎn)為原點(diǎn)O,在該原點(diǎn)O上的OX、OY、OZ軸構(gòu)成右手坐標(biāo)系,Z軸屬于高度軸.
本文通過(guò)歐拉角描述旋翼無(wú)人機(jī)的姿態(tài),具體分析俯仰角φ以及偏航角θ.在地球慣性坐標(biāo)系中,無(wú)人機(jī)縱軸在OX軸正方向與OXY面內(nèi)投影的夾角為偏航角;水平面OXY與無(wú)人機(jī)縱軸的夾角為俯仰角.
本文考慮旋翼無(wú)人機(jī)位置,將其作為一個(gè)質(zhì)點(diǎn),當(dāng)處于t時(shí)刻時(shí),通過(guò)矢量X(t)表示旋翼無(wú)人機(jī)的運(yùn)動(dòng)狀態(tài),并通過(guò)公式(1)計(jì)算:
X(t)=[x(t),y(t),z(t),θ(t),φ(t)]T
(1)
公式(1)中,無(wú)人機(jī)位置的坐標(biāo)分別為x(t)、y(t)、z(t);無(wú)人機(jī)偏航角狀態(tài)為θ(t);俯仰角狀態(tài)為φ(t).
依據(jù)質(zhì)點(diǎn)運(yùn)動(dòng)學(xué)原理,當(dāng)處于地球慣性系下,每個(gè)坐標(biāo)系之間存在如下關(guān)系:
(2)
公式(2)中,無(wú)人機(jī)的速度由V表示;偏航角、俯仰角的控制輸入依次由η、μ表示.
1.1.2 旋翼無(wú)人機(jī)機(jī)動(dòng)性能約束
必須按照無(wú)人機(jī)的動(dòng)態(tài)性能約束完成航跡規(guī)劃,否則該無(wú)人機(jī)會(huì)在執(zhí)行任務(wù)時(shí)發(fā)生異?,F(xiàn)象[7,8].因此,本文設(shè)定旋翼無(wú)人機(jī)重點(diǎn)動(dòng)態(tài)性能約束,具體情況如下:
1)最遠(yuǎn)飛行距離約束Lmax:旋翼無(wú)人機(jī)在飛行時(shí)無(wú)法攜帶大量能量,因此所攜帶的能力會(huì)在一定范圍內(nèi)限制飛行距離,為使無(wú)人機(jī)飛行更加安全,本文對(duì)最遠(yuǎn)飛行距離進(jìn)行約束.假設(shè)在航段{li|i=1,2,...,n}構(gòu)成旋翼無(wú)人機(jī)航跡,那么可利用公式(3)表示該約束條件:
(3)
公式(3)中,第i段的飛行距離由‖li‖表示;最遠(yuǎn)飛行距離由Lmax表示.
2)飛行高度約束H:當(dāng)旋翼無(wú)人機(jī)以穩(wěn)定狀態(tài)飛行時(shí),由于自身性能的影響,會(huì)使飛行高度受限,同時(shí)為避免碰撞地面,飛行高度也不宜過(guò)低[9],因此,需對(duì)無(wú)人機(jī)的飛行高度進(jìn)行約束,通過(guò)公式(4)表示對(duì)飛行高度的約束:
Hmin≤Hi≤Hmax
(4)
公式(4)中,第i個(gè)航跡點(diǎn)的高度由Hi表示;最低飛行高度由Hmin表示;最高飛行高度由Hmax表示.
3)最小直飛距離約束Lmin:為使旋翼無(wú)人機(jī)在飛行過(guò)程中更加安全,需在無(wú)人機(jī)改變姿勢(shì)之前維持合理的直飛距離,當(dāng)該距離過(guò)低時(shí)會(huì)導(dǎo)致無(wú)人機(jī)出現(xiàn)危險(xiǎn),通過(guò)公式(5)約束旋翼無(wú)人機(jī)的最小直飛距離:
‖li‖≥Lmin
(5)
公式(5)中,第i段直線飛行距離由‖li‖描述;最短直飛距離由Lmin描述.
在無(wú)人機(jī)危險(xiǎn)環(huán)境飛行航跡規(guī)劃過(guò)程中,需要使無(wú)人機(jī)能夠有效避免危險(xiǎn)環(huán)境的威脅,且在無(wú)人機(jī)執(zhí)行飛行任務(wù)時(shí)需要具備地形跟隨能力[10],為此,采用一種威脅建模方法,對(duì)無(wú)人機(jī)執(zhí)行任務(wù)時(shí)存在的威脅現(xiàn)象進(jìn)行數(shù)學(xué)建模.
1.2.1 旋翼無(wú)人機(jī)飛行環(huán)境建模
1)危險(xiǎn)環(huán)境基準(zhǔn)地形建模
由于旋翼無(wú)人機(jī)在飛行過(guò)程中的地理環(huán)境與航路規(guī)劃問(wèn)題十分緊密,且在航路規(guī)劃時(shí)不僅要考慮危險(xiǎn)環(huán)境下的基準(zhǔn)地形,還要考慮突出的山峰地貌以及威脅情況,為此,本文采用函數(shù)模擬方法,對(duì)旋翼無(wú)人機(jī)飛行過(guò)程中的真實(shí)地形進(jìn)行模擬,即通過(guò)公式(6)函數(shù)表示:
(6)
公式(6)中,在水平面時(shí),模型投影后的點(diǎn)坐標(biāo)分別為x、y;水平面點(diǎn)相應(yīng)的高程值由z1描述.常系數(shù)分別為a、b、c、d、e、f、g,這些系數(shù)負(fù)責(zé)對(duì)數(shù)字地圖中基準(zhǔn)地形變化進(jìn)行控制,設(shè)定不同的常系數(shù),可以實(shí)現(xiàn)不同危險(xiǎn)環(huán)境基準(zhǔn)地形的模擬.
2)危險(xiǎn)環(huán)境山峰建模
針對(duì)旋翼無(wú)人機(jī)飛行過(guò)程中危險(xiǎn)環(huán)境的天然山體,利用指數(shù)函數(shù)進(jìn)行建模,并通過(guò)公式(7)表示:
(7)
公式(7)中,地圖山峰點(diǎn)位置高程值由z2(x,y)描述;第i個(gè)山峰中心坐標(biāo)由(xi,yi)描述;地形參數(shù)為hi,其能夠?qū)Ω叨冗M(jìn)行管理;對(duì)于第i個(gè)山峰,其x軸與y軸位置上的衰減量由xsi、ysi表示,兩者能夠控制坡度;全部的山峰數(shù)量由n表示,對(duì)上述的參數(shù)進(jìn)行設(shè)定,能夠獲取不同形態(tài)的山峰.
3)危險(xiǎn)環(huán)境威脅建模
在進(jìn)行航跡規(guī)劃時(shí),需要明確避免危險(xiǎn)環(huán)境中的威脅,若不注意威脅的影響,會(huì)導(dǎo)致規(guī)劃后的航跡存在較大問(wèn)題,通過(guò)以下形式定義不同威脅分布,假設(shè)威脅中心坐標(biāo)為(xi,yi),i=1,...,M,fi(x,y),(x,y)為威脅程度的空間分布坐標(biāo).不同威脅類型對(duì)威脅分布fi存在不同定義,本文針對(duì)幾種情況對(duì)威脅分布進(jìn)行研究:
a.有理數(shù)型:
(8)
b.有理光滑型:
(9)
當(dāng)通過(guò)一種光滑型對(duì)威脅程度建模時(shí),公式(9)中ai、bi、ci、di均為正,通過(guò)該模型,不僅能有效表示實(shí)際的物理意義,還能夠通過(guò)數(shù)值實(shí)現(xiàn)光滑衰減.
通常情況下,靜態(tài)威脅的分布可通過(guò)公式(10)計(jì)算:
(10)
通過(guò)公式(10)可以看出,危險(xiǎn)環(huán)境下的每個(gè)威脅均互相獨(dú)立.因此,本文采用有理光滑型對(duì)危險(xiǎn)環(huán)境下的威脅程度進(jìn)行建模,實(shí)現(xiàn)該環(huán)境內(nèi)的威脅分析.
1.2.2 旋翼無(wú)人機(jī)飛行環(huán)境等效數(shù)字地圖生成
針對(duì)旋翼無(wú)人機(jī)的飛行范圍,本文通過(guò)上述方法完成建模后,將其調(diào)整為計(jì)算機(jī)可以處理的數(shù)據(jù),之后通過(guò)信息融合方式,實(shí)現(xiàn)等效地圖的構(gòu)建.
融合危險(xiǎn)環(huán)境地形、山峰以及威脅的高程信息,并通過(guò)公式(11)表示信息融合后的模型:
z(x,y)=max(z1(x,y),z2(x,y),z3(x,y))
(11)
公式(11)中,基準(zhǔn)地形內(nèi)的高度數(shù)據(jù)由z1(x,y)描述;山峰地形的高度數(shù)據(jù)由z2(x,y)描述;威脅的高度數(shù)據(jù)由z3(x,y)描述.
通過(guò)自適應(yīng)遺傳算法,能夠按照基因編碼形式,在旋翼無(wú)人機(jī)飛行環(huán)境等效數(shù)字地圖中隨機(jī)生成航跡個(gè)體,并對(duì)該個(gè)體適應(yīng)度進(jìn)行計(jì)算,按照適應(yīng)度值可以完成個(gè)體的選擇、交換以及變異,獲取最佳航跡規(guī)劃.
1.3.1 基因編碼設(shè)計(jì)
通過(guò)基因編碼能夠合理實(shí)現(xiàn)種群的進(jìn)化,且合適的編碼手段能夠加快種群進(jìn)化效率.本文通過(guò)圖1表示本文基因編碼方式.
圖1 基因編碼鏈?zhǔn)奖?/p>
圖1中,航跡規(guī)劃后的第i個(gè)航跡節(jié)點(diǎn)為Ni.其中包括如下內(nèi)容:
1)危險(xiǎn)環(huán)境數(shù)字地圖z(x,y)下生成無(wú)人機(jī)航跡點(diǎn)坐標(biāo)(x,y).
2)無(wú)人機(jī)的航跡點(diǎn)序列r,通常起始點(diǎn)設(shè)為0,通過(guò)全部航跡點(diǎn)構(gòu)成完成航跡.
3)最遠(yuǎn)飛行距離約束Lmax;飛行高度約束H;最小直飛距離約束Lmin.旋翼無(wú)人機(jī)按照約束內(nèi)航跡飛行.
1.3.2 航跡代價(jià)函數(shù)與個(gè)體適應(yīng)度評(píng)價(jià)
規(guī)劃飛行航跡是獲取一條能夠滿足約束條件且航程最短的航跡.航跡代價(jià)函數(shù)是指旋翼無(wú)人機(jī)在飛行過(guò)程中存在的航程函數(shù),當(dāng)旋翼無(wú)人機(jī)沿航跡執(zhí)行任務(wù)時(shí),若直飛、平飛距離較大,且爬升、俯沖動(dòng)作較少,說(shuō)明無(wú)人機(jī)的航程越小,則飛行成功的可能性越大.
在自適應(yīng)遺傳算法中,為評(píng)價(jià)個(gè)體的好壞,需對(duì)適應(yīng)度值進(jìn)行合理分析,通過(guò)公式(12)表示適應(yīng)度評(píng)價(jià)函數(shù):
(12)
1.3.3 選擇、交叉、變異操作
本文通過(guò)基于輪轉(zhuǎn)法的選擇操作完成規(guī)劃航跡的選擇.在進(jìn)行個(gè)體選擇時(shí),通常由適應(yīng)度決定,當(dāng)適應(yīng)度越大,再生的概率也越大,采用如下步驟完成選擇:
1)在航跡種群中隨機(jī)挑選出一個(gè)個(gè)體.
2)選擇算子對(duì)該個(gè)體進(jìn)行判定,分析其是否可以再生,若可以再生,則將該個(gè)體作為新的個(gè)體存放至族群.
3)繼續(xù)下一個(gè)個(gè)體查找,直至完成選擇.
交叉操作是指通過(guò)模擬生物繁殖情況,實(shí)現(xiàn)個(gè)體之間的交叉組合,制造出最佳的品種.具體交叉操作如下:
4)從種群中隨機(jī)挑選2條個(gè)體.
5)假設(shè)個(gè)體交叉點(diǎn)位置為P且0
6)分析交叉后的新個(gè)體是否滿足旋翼無(wú)人機(jī)飛行條件,若滿足則將該個(gè)體加入種群,若不滿足返回上一步繼續(xù)交叉操作.
7)繼續(xù)查找,直至實(shí)現(xiàn)全部種群的交叉處理.
通過(guò)變異操作可以按照較小的概率將個(gè)體的遺傳基因進(jìn)行修改.本文通過(guò)擾動(dòng)算子方法,實(shí)現(xiàn)航跡的變異操作,具體過(guò)程如下:
8)在種群中隨機(jī)獲取個(gè)體,將該個(gè)體設(shè)為突變個(gè)體.
9)設(shè)隨機(jī)變異點(diǎn)位置為Q,且0 10)分析變異點(diǎn)能否滿足旋翼無(wú)人機(jī)約束條件,若能滿足則將新個(gè)體添加到種群中. 11)繼續(xù)查找,直至完成種群中全部個(gè)體的變異處理. 通過(guò)上述方式不斷尋找出最佳航跡,完成旋翼無(wú)人機(jī)危險(xiǎn)環(huán)境下的航跡規(guī)劃. 為驗(yàn)證本文方法的性能,通過(guò)Intel Core i3-2330M CPU 2.20GHzPC機(jī)上對(duì)本文方法進(jìn)行仿真實(shí)驗(yàn),仿真軟件選取Matlab7.10.0.通過(guò)仿真形式模擬危險(xiǎn)環(huán)境地形地圖以及無(wú)人機(jī)飛行航跡. 選取10個(gè)飛行任務(wù),每個(gè)任務(wù)在飛行時(shí)所遇到的禁飛區(qū)數(shù)量與威脅區(qū)數(shù)量以及總航程均有所不同,同時(shí)選取文獻(xiàn)[4]混合種群RRT無(wú)人機(jī)航跡規(guī)劃方法、文獻(xiàn)[5]基于A-Star和改進(jìn)模擬退火算法的航跡規(guī)劃方法作為本文的對(duì)比方法進(jìn)行對(duì)比實(shí)驗(yàn),分析不同方法在飛行時(shí)的總耗時(shí),分析結(jié)果如表1所示. 表1 不同方法飛行耗時(shí)分析 根據(jù)表1可知,針對(duì)不同的威脅數(shù)量、禁飛區(qū)數(shù)量以及總航程來(lái)說(shuō),本文方法所規(guī)劃的航跡在執(zhí)行飛行任務(wù)時(shí)的耗時(shí)始終最低,而文獻(xiàn)[4]方法與文獻(xiàn)[5]方法的飛行耗時(shí)始終高于1 000 ms以上,說(shuō)明這兩種方法規(guī)劃好的航跡飛行耗時(shí)較長(zhǎng),由此可以看出,本文方法規(guī)劃后的航跡可以有效減少飛行時(shí)間,為執(zhí)行任務(wù)提供最低的耗時(shí). 對(duì)比三種方法,當(dāng)執(zhí)行任務(wù)量逐漸加大時(shí),分析三種方法的航跡代價(jià),分析結(jié)果如圖2所示. 圖2 不同方法航跡代價(jià)對(duì)比 根據(jù)圖2可知,當(dāng)任務(wù)數(shù)量不斷增加,三種方法的航跡代價(jià)有所上升,其中,文獻(xiàn)[5]方法的航跡代價(jià)迅速增高,當(dāng)執(zhí)行任務(wù)數(shù)量達(dá)到3*104時(shí)開(kāi)始出現(xiàn)輕微下降,而文獻(xiàn)[4]方法的航跡代價(jià)屬于緩慢上升階段,但上升幅度相對(duì)較大,本文方法的航跡代價(jià)雖然隨著任務(wù)次數(shù)的增加存在相應(yīng)的上升,但上升幅度并不明顯,且始終未大于1*104,因此,本文方法規(guī)劃后的航跡能夠消耗較低的航跡代價(jià),為任務(wù)執(zhí)行減少消耗. 分析應(yīng)用本文方法前后所規(guī)劃的旋翼無(wú)人機(jī)航跡飛行情況,在地圖中,無(wú)人機(jī)執(zhí)行某任務(wù)需要從A點(diǎn)飛行至B點(diǎn),其中共存在三處雷達(dá)威脅E、F、V,分析本文方法規(guī)劃的航跡是否可靠,分析結(jié)果如圖3所示. 圖3 應(yīng)用本文方法前、后航跡規(guī)劃情況 根據(jù)圖3(a)可以看出,在未應(yīng)用本文方法時(shí),無(wú)人機(jī)為躲避雷達(dá)威脅,所執(zhí)行的航跡更加曲折,導(dǎo)致航跡變長(zhǎng),而應(yīng)用本文方法后,無(wú)人機(jī)航跡能夠在路徑最短的基礎(chǔ)上有效避免雷達(dá)威脅,實(shí)現(xiàn)最短路徑下完成飛行任務(wù),由此可知,本文方法所規(guī)劃的航跡能夠達(dá)到最短路徑. 本文研究基于遺傳算法的旋翼無(wú)人機(jī)危險(xiǎn)環(huán)境中航跡規(guī)劃方法,考慮旋翼無(wú)人機(jī)在危險(xiǎn)環(huán)境飛行時(shí)的約束條件,通過(guò)遺傳算法規(guī)劃最佳航跡路徑,獲取合理的飛行效果.在未來(lái)階段可對(duì)當(dāng)前研究成果進(jìn)行優(yōu)化設(shè)計(jì),實(shí)現(xiàn)多種環(huán)境下的旋翼無(wú)人機(jī)飛行航跡規(guī)劃.2 實(shí)驗(yàn)分析
3 結(jié)論