朱興動,韓嘯華,范加利,王 正
(1.海軍航空大學(xué),山東 煙臺 264001;2.海軍航空大學(xué)青島校區(qū),山東 青島 266041)
艦載機(jī)是航母戰(zhàn)斗力的體現(xiàn),其在甲板上的轉(zhuǎn)運(yùn)策略是艦載機(jī)綜合出動能力的直接影響因素之一[1]。作為艦載機(jī)出動和著艦回收流程的重要組成部分,由牽引車和艦載機(jī)構(gòu)成的牽引系統(tǒng)需要在飛行甲板障礙密集和空間緊湊的情況下進(jìn)行平面移動,以適配相應(yīng)的保障站位和起飛站位。
隨著信息技術(shù)的發(fā)展,各國相繼通過計(jì)算機(jī)平臺對艦載機(jī)甲板布列調(diào)運(yùn)策略進(jìn)行模擬,如美軍目前正在使用的航空數(shù)據(jù)管理與控制系統(tǒng)(aviation data management and control system,ADMCS)[2],該系統(tǒng)能夠?qū)崟r(shí)監(jiān)控艦載機(jī)的布列調(diào)運(yùn)情況。國內(nèi)王國慶等[3]也對甲板調(diào)度路徑優(yōu)化問題進(jìn)行了相關(guān)研究。
艦載機(jī)在艦面上的轉(zhuǎn)運(yùn)可看作平面內(nèi)移動機(jī)器人的避碰規(guī)劃問題。移動目標(biāo)的避碰規(guī)劃問題經(jīng)過多年來的研究已經(jīng)發(fā)展成熟,如行為動力學(xué)法[4-5]、遺傳算法[6-7]和粒子群算法[8-10]等。為了簡化避碰過程,多數(shù)算法將機(jī)器人簡化為質(zhì)點(diǎn)或圓形,并且在進(jìn)行規(guī)劃時(shí)不考慮轉(zhuǎn)彎約束,直接以折線或曲線作為有效路徑。而艦載機(jī)形狀復(fù)雜,存在尖角,特別是在收翼狀態(tài)下,機(jī)身細(xì)長,若將其視為圓形,則會浪費(fèi)大量空間。此外,由牽引車和艦載機(jī)構(gòu)成的牽引系統(tǒng)復(fù)雜,規(guī)劃的路徑也需要考慮到運(yùn)動學(xué)約束。
本文以此類問題作為研究背景,提出了一種適用于復(fù)雜目標(biāo)形狀在障礙密集環(huán)境下的避碰方法。該方法以動態(tài)窗口算法為基礎(chǔ),針對艦面環(huán)境提出了改進(jìn)方法,同時(shí)設(shè)計(jì)了動態(tài)優(yōu)先級分配策略,有效解決了牽引系統(tǒng)艦面轉(zhuǎn)運(yùn)的避碰問題。
在甲板轉(zhuǎn)運(yùn)過程中,艦載機(jī)需要根據(jù)任務(wù)要求在展翼和收翼狀態(tài)中進(jìn)行切換,因此本文對艦載機(jī)的2種狀態(tài)進(jìn)行輪廓描述。為了降低模型復(fù)雜度,在包含艦載機(jī)輪廓且不損失較多有效空間的前提下,引入多邊形線段集來進(jìn)行描述,如圖1所示。

圖1 艦載機(jī)輪廓示意圖
實(shí)現(xiàn)艦載機(jī)的碰撞檢測需計(jì)算艦載機(jī)之間的安全距離,被多邊形線段集描述后的艦載機(jī)形狀為凸多邊形,故問題實(shí)質(zhì)轉(zhuǎn)化為求解凸多邊形間的最小距離。給定兩個(gè)非連接的凸多邊形P和Q,本文按照如下步驟來推導(dǎo)凸多邊形間最短距離,如圖2所示。
步驟1計(jì)算P上縱坐標(biāo)值最小的定點(diǎn)yminP和Q上縱坐標(biāo)值最大的定點(diǎn)ymaxQ。
步驟2過yminP和ymaxQ構(gòu)造兩條具有相反方向的平行切線LP和LQ,使得對應(yīng)的凸多邊形位于切線的右側(cè)。
步驟3計(jì)算yminP和ymaxQ兩點(diǎn)之間的距離dPQ。
步驟4順時(shí)針同時(shí)旋轉(zhuǎn)兩條平行線直到其中一條與邊線重合。
步驟5判斷:若切線沒有與邊重合,則計(jì)算點(diǎn)到點(diǎn)的距離,如圖2(a)所示;若只有一條平行線與邊線重合,則計(jì)算點(diǎn)到線的垂直距離,如圖2(a)所示;若兩條切線都與邊重合,則計(jì)算邊到邊的垂直距離,如圖2(c)所示。將計(jì)算結(jié)果與當(dāng)前值比較,若小于當(dāng)前值則更新dPQ。

圖2 碰撞距離檢測示意圖
步驟6重復(fù)執(zhí)行步驟4和步驟5,直到輸出最小值。
艦面艦載機(jī)的轉(zhuǎn)運(yùn)過程可簡化為輪式機(jī)器人在平面內(nèi)運(yùn)動,因此本文針對無桿牽引系統(tǒng)進(jìn)行分析。在系統(tǒng)中,艦載機(jī)前起落架鉸接在牽引車后輪中心位置,通過控制牽引車運(yùn)動進(jìn)而確定艦載機(jī)的移動速度和轉(zhuǎn)彎半徑,牽引系統(tǒng)如圖3所示。

圖3 無桿牽引系統(tǒng)示意圖

式中,x0(t)表示t時(shí)刻牽引車方位角度;x1(t)表示t時(shí)刻牽引車和艦載機(jī)的角度差;x2(t)表示t時(shí)刻艦載機(jī)方位角度;x(t)表示t時(shí)刻艦載機(jī)后輪中心水平位置;y(t)表示t時(shí)刻艦載機(jī)后輪中心垂直位置。由于牽引系統(tǒng)受輪式結(jié)構(gòu)限制,其運(yùn)動軌跡受最小轉(zhuǎn)彎半徑約束:
r≥rmin
現(xiàn)通過限制最大角速度來約束其轉(zhuǎn)彎半徑,且艦載機(jī)在艦面轉(zhuǎn)運(yùn)時(shí)速度較小,故對線速度和角速度進(jìn)行約束:

通過上述關(guān)系式,在給定牽引系統(tǒng)速度v、角速度ω、迭代步長Δt、t時(shí)刻牽引車角度x0(t)和t=0時(shí)刻的艦載機(jī)角度x2(t)的條件下,即可計(jì)算艦載機(jī)的運(yùn)動學(xué)軌跡。對上述模型進(jìn)行仿真驗(yàn)證,仿真結(jié)果如圖4所示。

圖4 牽引系統(tǒng)運(yùn)動仿真結(jié)果示意圖
圖4中,紅色輪廓代表初始位姿,藍(lán)色輪廓代表目標(biāo)位姿;給定牽引系統(tǒng)初始速度v=0.1 m/s;迭代步長Δt=0.2 s。通過仿真結(jié)果可得出結(jié)論:在速度恒定的情況下,牽引系統(tǒng)做滿足運(yùn)動學(xué)約束的圓周運(yùn)動,故實(shí)現(xiàn)了艦載機(jī)牽引系統(tǒng)的運(yùn)動學(xué)建模。
動態(tài)窗口法是SebastianThrun等[10-12]在1997年提出的一種基于機(jī)器人運(yùn)動學(xué)和動力學(xué)的局部路徑規(guī)劃算法,該算法從運(yùn)動學(xué)角度出發(fā)將動態(tài)規(guī)劃問題轉(zhuǎn)化為速度矢量空間上的約束優(yōu)化問題。其基本原理是:在一定的時(shí)間間隔內(nèi),采集目標(biāo)在二維空間的有效速度(包括線速度、角速度和加速度等),并同時(shí)模擬機(jī)器人在不同速度下的軌跡,根據(jù)設(shè)計(jì)的評價(jià)函數(shù)來選取最優(yōu)軌跡,完成目標(biāo)的局部路徑規(guī)劃。該算法具有實(shí)時(shí)性強(qiáng)、計(jì)算量小等優(yōu)點(diǎn),可有效解決艦載機(jī)轉(zhuǎn)運(yùn)問題。
在獲取牽引系統(tǒng)的運(yùn)動學(xué)模型后,就可以根據(jù)模型推算出在一定時(shí)間內(nèi)的運(yùn)動軌跡。在理想的情況下,牽引系統(tǒng)的速度可以有無窮多值,但考慮到艦載機(jī)轉(zhuǎn)運(yùn)約束以及艦面環(huán)境條件限制,可將搜索空間縮小到一定的范圍內(nèi),約束條件主要有以下3個(gè)方面:
1)速度約束:在上一節(jié)對牽引系統(tǒng)運(yùn)動學(xué)模型分析的過程中,對系統(tǒng)的最大速度和最大角速度進(jìn)行了約束,故速度矢量空間的約束可以表示為:
Vm={(v,ω)|v∈[vmin,vmax],ω∈[ωmin,ωmax]}
式中,vmax和ωmax為最大線速度和最大角速度;vmin和ωmin為最小線速度和最小角速度,在艦面轉(zhuǎn)運(yùn)過程中可取值為0。
2)動力學(xué)性能約束:牽引系統(tǒng)的最大加速度受艦面轉(zhuǎn)運(yùn)條件約束,故在模擬周期Δt內(nèi)的線速度和角速度的窗口范圍為:

3)安全約束:艦載機(jī)與障礙物發(fā)生碰撞前,需確保以最大加速度值進(jìn)行減速的條件下能夠?qū)p速到0,故對牽引系統(tǒng)的線速度和角速度約束為:

式中,obsDist(v,ω)為速度(v,ω)所對應(yīng)軌跡與最近障礙物之間的最短距離。通過該約束來計(jì)算模擬軌跡是否合理,若不合理則舍棄該條軌跡。
綜合上述約束條件,艦載機(jī)的速度矢量空間表示為:
V=Vm∩Vd∩Va
速度矢量空間內(nèi)的每一個(gè)速度(v,ω)都代表一條模擬軌跡,因此,需要設(shè)計(jì)評價(jià)函數(shù)來對模擬軌跡進(jìn)行評價(jià),并選取最優(yōu)的軌跡。比較經(jīng)典的評價(jià)函數(shù)為:
G(v,ω)=σ(α·heading(v,ω)+β·obsDist(v,ω)+
γ·velocity(v,ω))
式中,heading(v,ω)為航向角函數(shù),用于評價(jià)模擬軌跡末端航向與目標(biāo)位置之間的角度差,差值越小,評價(jià)越高;obsDist(v,ω)為障礙距離函數(shù),用于評價(jià)模擬軌跡末端與障礙物之間的最短距離,距離越大,評價(jià)越高;velocity(v,ω)為速度函數(shù),用于評價(jià)模擬軌跡對應(yīng)的速度大小,速度越大,評價(jià)越高;α、β、γ表示3個(gè)評價(jià)標(biāo)準(zhǔn)的權(quán)重。為避免某一項(xiàng)評價(jià)因子的值過大而造成的該因子優(yōu)勢太大,引入σ來對3項(xiàng)參數(shù)進(jìn)行歸一化處理,進(jìn)而選取綜合評價(jià)最高的軌跡。
在仿真過程中發(fā)現(xiàn),當(dāng)牽引系統(tǒng)在接近目標(biāo)點(diǎn)時(shí),由于航向與目標(biāo)位置角度差較大,系統(tǒng)會在航向角函數(shù)的影響下增大角速度,這會導(dǎo)致牽引系統(tǒng)行駛不穩(wěn)定,容易產(chǎn)生繞行現(xiàn)象,導(dǎo)致路徑規(guī)劃失敗,如圖5所示。

圖5 繞行現(xiàn)象示意圖
為此,本文設(shè)計(jì)了新的評價(jià)函數(shù):
G(v,ω)=σ(α·goalDist(v,ω)+β·safeDist(v,ω))
式中,goalDist(v,ω)為目標(biāo)距離函數(shù),該函數(shù)用于評價(jià)模擬軌跡終端與目標(biāo)位置之間的距離,來取代航向角函數(shù),消除航向角偏差較大導(dǎo)致的繞行現(xiàn)象;safeDist(v,ω)為安全距離函數(shù),該函數(shù)將速度采樣中的安全約束與障礙距離函數(shù)結(jié)合,用于評價(jià)模擬軌跡終端與障礙物之間的安全距離,表達(dá)式為:
safeDist(v,ω)=max[brakDist(v,ω)-obsDist(v,ω),safeDist]
式中,brakDist(v,ω)為最大加速度下進(jìn)行減速所需要的距離;safeDist為目標(biāo)與障礙物之間的最小安全距離常數(shù)。
由于的改進(jìn)后評價(jià)函數(shù)已將安全約束考慮進(jìn)去,因此速度窗口僅由速度和動力學(xué)性能約束限制,表達(dá)式為:
V=Vm∩Vd
艦載機(jī)的動態(tài)避碰行為與避障行為類似,當(dāng)艦載機(jī)檢測到其他艦載機(jī)時(shí),可將其視為障礙物進(jìn)行避碰,但由于艦面空間有限,彼此互相避讓會浪費(fèi)較多有效空間,因此本文設(shè)計(jì)了一種動態(tài)分配優(yōu)先級策略,當(dāng)艦載機(jī)進(jìn)入碰撞距離時(shí),優(yōu)先級高的艦載機(jī)優(yōu)先轉(zhuǎn)運(yùn),優(yōu)先級低的艦載機(jī)視優(yōu)先級高的艦載機(jī)為障礙物,并主動避讓,動態(tài)分配優(yōu)先級示意圖如圖6。

圖6 動態(tài)分配優(yōu)先級示意圖
令v1和v2分別表示艦載機(jī)V1和V2的速度,則V12=V1-V2表示相對速度,假定V1的速度為V12,則V2可看做是靜止。作V1到V2頂點(diǎn)的射線la與lb,并確保V2在射線所夾的范圍內(nèi)。將la與lb所成銳角記為α,令β=α/2,γ是v12與V1V2之間的夾角,若γ≤β,則必會發(fā)生碰撞。故記γ≤β的邏輯值為Rvi,若其成立則取值為1,反之取0。Rvi式為:

此外,艦載機(jī)的優(yōu)先級也與當(dāng)前的任務(wù)有關(guān),通常出動任務(wù)較入庫任務(wù)具有更高的優(yōu)先級,故記轉(zhuǎn)運(yùn)任務(wù)的邏輯值為Lvi,若取值為1則代表出動任務(wù),反之取0。Lvi式為:

此處僅列舉了兩個(gè)優(yōu)先級策略,在實(shí)際轉(zhuǎn)運(yùn)過程中,可根據(jù)艦面實(shí)際情況進(jìn)行設(shè)計(jì)。綜上,序號i艦載機(jī)優(yōu)先級Vi定義為:
pi=∑(Rvi+Lvi)
給定牽引系統(tǒng)速度最大線速度vmax=1 m/s、最大角速度ωmax=0.5 rad/s、迭代步長Δt=1 s,通過Matlab對改進(jìn)后的算法進(jìn)行仿真。紅色輪廓和青綠色輪廓代表起始位姿,黑色輪廓代表轉(zhuǎn)運(yùn)過程中的位姿,藍(lán)色輪廓代表終點(diǎn)位姿。運(yùn)動軌跡殘影描述了系統(tǒng)碰撞檢測外輪廓,輪廓密集處體現(xiàn)了速度約束與動力學(xué)性能約束的作用。設(shè)定紅色輪廓艦載機(jī)的優(yōu)先級最高。
圖7(a)與7(b)為收翼狀態(tài)和展翼狀態(tài)下的單機(jī)避碰仿真;圖7(c)與圖7(d)為收翼狀態(tài)和展翼狀態(tài)下的多機(jī)避碰仿真。

圖7 牽引系統(tǒng)路徑規(guī)劃仿真圖
由于,如(a)圖、(c)圖的最左邊,(b)圖的最右邊,(d)圖下排的最左邊艦載機(jī)的優(yōu)先級較(c)圖上排的最右邊和(d)圖上排的最左邊艦載機(jī)的優(yōu)先級高,可以看到當(dāng)艦載機(jī)即將碰撞時(shí),圖7(c)上排的最右邊艦載機(jī)進(jìn)行了主動避障行為,圖7(d)的上排的最左邊艦載機(jī)進(jìn)行了減速行為。由此可見,本文算法能很好地解決艦面牽引系統(tǒng)的動態(tài)避碰問題。
提出了一種適用于復(fù)雜形狀目標(biāo)的動態(tài)避碰方法。以動態(tài)窗口法為基礎(chǔ),針對避碰規(guī)劃,對評價(jià)函數(shù)進(jìn)行了改進(jìn)。為提高多機(jī)環(huán)境下的避碰能力,提出了可動態(tài)分配的優(yōu)先級策略。Matlab仿真結(jié)果表明,改進(jìn)后的方法能夠有效解決艦載機(jī)牽引系統(tǒng)艦面轉(zhuǎn)運(yùn)動態(tài)避碰問題,同時(shí)也可為其他類似形狀的復(fù)雜目標(biāo)避碰規(guī)劃提供參考。