朱興動(dòng),韓嘯華,范加利,王 正
(1.海軍航空大學(xué),山東 煙臺(tái) 264001;2.海軍航空大學(xué)青島校區(qū),山東 青島 266041)
艦載機(jī)是航母戰(zhàn)斗力的體現(xiàn),其在甲板上的轉(zhuǎn)運(yùn)策略是艦載機(jī)綜合出動(dòng)能力的直接影響因素之一[1]。作為艦載機(jī)出動(dòng)和著艦回收流程的重要組成部分,由牽引車(chē)和艦載機(jī)構(gòu)成的牽引系統(tǒng)需要在飛行甲板障礙密集和空間緊湊的情況下進(jìn)行平面移動(dòng),以適配相應(yīng)的保障站位和起飛站位。
隨著信息技術(shù)的發(fā)展,各國(guó)相繼通過(guò)計(jì)算機(jī)平臺(tái)對(duì)艦載機(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)情況。國(guó)內(nèi)王國(guó)慶等[3]也對(duì)甲板調(diào)度路徑優(yōu)化問(wèn)題進(jìn)行了相關(guān)研究。
艦載機(jī)在艦面上的轉(zhuǎn)運(yùn)可看作平面內(nèi)移動(dòng)機(jī)器人的避碰規(guī)劃問(wèn)題。移動(dòng)目標(biāo)的避碰規(guī)劃問(wèn)題經(jīng)過(guò)多年來(lái)的研究已經(jīng)發(fā)展成熟,如行為動(dòng)力學(xué)法[4-5]、遺傳算法[6-7]和粒子群算法[8-10]等。為了簡(jiǎn)化避碰過(guò)程,多數(shù)算法將機(jī)器人簡(jiǎn)化為質(zhì)點(diǎn)或圓形,并且在進(jìn)行規(guī)劃時(shí)不考慮轉(zhuǎn)彎約束,直接以折線(xiàn)或曲線(xiàn)作為有效路徑。而艦載機(jī)形狀復(fù)雜,存在尖角,特別是在收翼狀態(tài)下,機(jī)身細(xì)長(zhǎng),若將其視為圓形,則會(huì)浪費(fèi)大量空間。此外,由牽引車(chē)和艦載機(jī)構(gòu)成的牽引系統(tǒng)復(fù)雜,規(guī)劃的路徑也需要考慮到運(yùn)動(dòng)學(xué)約束。
本文以此類(lèi)問(wèn)題作為研究背景,提出了一種適用于復(fù)雜目標(biāo)形狀在障礙密集環(huán)境下的避碰方法。該方法以動(dòng)態(tài)窗口算法為基礎(chǔ),針對(duì)艦面環(huán)境提出了改進(jìn)方法,同時(shí)設(shè)計(jì)了動(dòng)態(tài)優(yōu)先級(jí)分配策略,有效解決了牽引系統(tǒng)艦面轉(zhuǎn)運(yùn)的避碰問(wèn)題。
在甲板轉(zhuǎn)運(yùn)過(guò)程中,艦載機(jī)需要根據(jù)任務(wù)要求在展翼和收翼狀態(tài)中進(jìn)行切換,因此本文對(duì)艦載機(jī)的2種狀態(tài)進(jìn)行輪廓描述。為了降低模型復(fù)雜度,在包含艦載機(jī)輪廓且不損失較多有效空間的前提下,引入多邊形線(xiàn)段集來(lái)進(jìn)行描述,如圖1所示。
圖1 艦載機(jī)輪廓示意圖
實(shí)現(xiàn)艦載機(jī)的碰撞檢測(cè)需計(jì)算艦載機(jī)之間的安全距離,被多邊形線(xiàn)段集描述后的艦載機(jī)形狀為凸多邊形,故問(wèn)題實(shí)質(zhì)轉(zhuǎn)化為求解凸多邊形間的最小距離。給定兩個(gè)非連接的凸多邊形P和Q,本文按照如下步驟來(lái)推導(dǎo)凸多邊形間最短距離,如圖2所示。
步驟1計(jì)算P上縱坐標(biāo)值最小的定點(diǎn)yminP和Q上縱坐標(biāo)值最大的定點(diǎn)ymaxQ。
步驟2過(guò)yminP和ymaxQ構(gòu)造兩條具有相反方向的平行切線(xiàn)LP和LQ,使得對(duì)應(yīng)的凸多邊形位于切線(xiàn)的右側(cè)。
步驟3計(jì)算yminP和ymaxQ兩點(diǎn)之間的距離dPQ。
步驟4順時(shí)針同時(shí)旋轉(zhuǎn)兩條平行線(xiàn)直到其中一條與邊線(xiàn)重合。
步驟5判斷:若切線(xiàn)沒(méi)有與邊重合,則計(jì)算點(diǎn)到點(diǎn)的距離,如圖2(a)所示;若只有一條平行線(xiàn)與邊線(xiàn)重合,則計(jì)算點(diǎn)到線(xiàn)的垂直距離,如圖2(a)所示;若兩條切線(xiàn)都與邊重合,則計(jì)算邊到邊的垂直距離,如圖2(c)所示。將計(jì)算結(jié)果與當(dāng)前值比較,若小于當(dāng)前值則更新dPQ。
圖2 碰撞距離檢測(cè)示意圖
步驟6重復(fù)執(zhí)行步驟4和步驟5,直到輸出最小值。
艦面艦載機(jī)的轉(zhuǎn)運(yùn)過(guò)程可簡(jiǎn)化為輪式機(jī)器人在平面內(nèi)運(yùn)動(dòng),因此本文針對(duì)無(wú)桿牽引系統(tǒng)進(jìn)行分析。在系統(tǒng)中,艦載機(jī)前起落架鉸接在牽引車(chē)后輪中心位置,通過(guò)控制牽引車(chē)運(yùn)動(dòng)進(jìn)而確定艦載機(jī)的移動(dòng)速度和轉(zhuǎn)彎半徑,牽引系統(tǒng)如圖3所示。
圖3 無(wú)桿牽引系統(tǒng)示意圖
式中,x0(t)表示t時(shí)刻牽引車(chē)方位角度;x1(t)表示t時(shí)刻牽引車(chē)和艦載機(jī)的角度差;x2(t)表示t時(shí)刻艦載機(jī)方位角度;x(t)表示t時(shí)刻艦載機(jī)后輪中心水平位置;y(t)表示t時(shí)刻艦載機(jī)后輪中心垂直位置。由于牽引系統(tǒng)受輪式結(jié)構(gòu)限制,其運(yùn)動(dòng)軌跡受最小轉(zhuǎn)彎半徑約束:
r≥rmin
現(xiàn)通過(guò)限制最大角速度來(lái)約束其轉(zhuǎn)彎半徑,且艦載機(jī)在艦面轉(zhuǎn)運(yùn)時(shí)速度較小,故對(duì)線(xiàn)速度和角速度進(jìn)行約束:
通過(guò)上述關(guān)系式,在給定牽引系統(tǒng)速度v、角速度ω、迭代步長(zhǎng)Δt、t時(shí)刻牽引車(chē)角度x0(t)和t=0時(shí)刻的艦載機(jī)角度x2(t)的條件下,即可計(jì)算艦載機(jī)的運(yùn)動(dòng)學(xué)軌跡。對(duì)上述模型進(jìn)行仿真驗(yàn)證,仿真結(jié)果如圖4所示。
圖4 牽引系統(tǒng)運(yùn)動(dòng)仿真結(jié)果示意圖
圖4中,紅色輪廓代表初始位姿,藍(lán)色輪廓代表目標(biāo)位姿;給定牽引系統(tǒng)初始速度v=0.1 m/s;迭代步長(zhǎng)Δt=0.2 s。通過(guò)仿真結(jié)果可得出結(jié)論:在速度恒定的情況下,牽引系統(tǒng)做滿(mǎn)足運(yùn)動(dòng)學(xué)約束的圓周運(yùn)動(dòng),故實(shí)現(xiàn)了艦載機(jī)牽引系統(tǒng)的運(yùn)動(dòng)學(xué)建模。
動(dòng)態(tài)窗口法是SebastianThrun等[10-12]在1997年提出的一種基于機(jī)器人運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)的局部路徑規(guī)劃算法,該算法從運(yùn)動(dòng)學(xué)角度出發(fā)將動(dòng)態(tài)規(guī)劃問(wèn)題轉(zhuǎn)化為速度矢量空間上的約束優(yōu)化問(wèn)題。其基本原理是:在一定的時(shí)間間隔內(nèi),采集目標(biāo)在二維空間的有效速度(包括線(xiàn)速度、角速度和加速度等),并同時(shí)模擬機(jī)器人在不同速度下的軌跡,根據(jù)設(shè)計(jì)的評(píng)價(jià)函數(shù)來(lái)選取最優(yōu)軌跡,完成目標(biāo)的局部路徑規(guī)劃。該算法具有實(shí)時(shí)性強(qiáng)、計(jì)算量小等優(yōu)點(diǎn),可有效解決艦載機(jī)轉(zhuǎn)運(yùn)問(wèn)題。
在獲取牽引系統(tǒng)的運(yùn)動(dòng)學(xué)模型后,就可以根據(jù)模型推算出在一定時(shí)間內(nèi)的運(yùn)動(dòng)軌跡。在理想的情況下,牽引系統(tǒng)的速度可以有無(wú)窮多值,但考慮到艦載機(jī)轉(zhuǎn)運(yùn)約束以及艦面環(huán)境條件限制,可將搜索空間縮小到一定的范圍內(nèi),約束條件主要有以下3個(gè)方面:
1)速度約束:在上一節(jié)對(duì)牽引系統(tǒng)運(yùn)動(dòng)學(xué)模型分析的過(guò)程中,對(duì)系統(tǒng)的最大速度和最大角速度進(jìn)行了約束,故速度矢量空間的約束可以表示為:
Vm={(v,ω)|v∈[vmin,vmax],ω∈[ωmin,ωmax]}
式中,vmax和ωmax為最大線(xiàn)速度和最大角速度;vmin和ωmin為最小線(xiàn)速度和最小角速度,在艦面轉(zhuǎn)運(yùn)過(guò)程中可取值為0。
2)動(dòng)力學(xué)性能約束:牽引系統(tǒng)的最大加速度受艦面轉(zhuǎn)運(yùn)條件約束,故在模擬周期Δt內(nèi)的線(xiàn)速度和角速度的窗口范圍為:
3)安全約束:艦載機(jī)與障礙物發(fā)生碰撞前,需確保以最大加速度值進(jìn)行減速的條件下能夠?qū)p速到0,故對(duì)牽引系統(tǒng)的線(xiàn)速度和角速度約束為:
式中,obsDist(v,ω)為速度(v,ω)所對(duì)應(yīng)軌跡與最近障礙物之間的最短距離。通過(guò)該約束來(lái)計(jì)算模擬軌跡是否合理,若不合理則舍棄該條軌跡。
綜合上述約束條件,艦載機(jī)的速度矢量空間表示為:
V=Vm∩Vd∩Va
速度矢量空間內(nèi)的每一個(gè)速度(v,ω)都代表一條模擬軌跡,因此,需要設(shè)計(jì)評(píng)價(jià)函數(shù)來(lái)對(duì)模擬軌跡進(jìn)行評(píng)價(jià),并選取最優(yōu)的軌跡。比較經(jīng)典的評(píng)價(jià)函數(shù)為:
G(v,ω)=σ(α·heading(v,ω)+β·obsDist(v,ω)+
γ·velocity(v,ω))
式中,heading(v,ω)為航向角函數(shù),用于評(píng)價(jià)模擬軌跡末端航向與目標(biāo)位置之間的角度差,差值越小,評(píng)價(jià)越高;obsDist(v,ω)為障礙距離函數(shù),用于評(píng)價(jià)模擬軌跡末端與障礙物之間的最短距離,距離越大,評(píng)價(jià)越高;velocity(v,ω)為速度函數(shù),用于評(píng)價(jià)模擬軌跡對(duì)應(yīng)的速度大小,速度越大,評(píng)價(jià)越高;α、β、γ表示3個(gè)評(píng)價(jià)標(biāo)準(zhǔn)的權(quán)重。為避免某一項(xiàng)評(píng)價(jià)因子的值過(guò)大而造成的該因子優(yōu)勢(shì)太大,引入σ來(lái)對(duì)3項(xiàng)參數(shù)進(jìn)行歸一化處理,進(jìn)而選取綜合評(píng)價(jià)最高的軌跡。
在仿真過(guò)程中發(fā)現(xiàn),當(dāng)牽引系統(tǒng)在接近目標(biāo)點(diǎn)時(shí),由于航向與目標(biāo)位置角度差較大,系統(tǒng)會(huì)在航向角函數(shù)的影響下增大角速度,這會(huì)導(dǎo)致?tīng)恳到y(tǒng)行駛不穩(wěn)定,容易產(chǎn)生繞行現(xiàn)象,導(dǎo)致路徑規(guī)劃失敗,如圖5所示。
圖5 繞行現(xiàn)象示意圖
為此,本文設(shè)計(jì)了新的評(píng)價(jià)函數(shù):
G(v,ω)=σ(α·goalDist(v,ω)+β·safeDist(v,ω))
式中,goalDist(v,ω)為目標(biāo)距離函數(shù),該函數(shù)用于評(píng)價(jià)模擬軌跡終端與目標(biāo)位置之間的距離,來(lái)取代航向角函數(shù),消除航向角偏差較大導(dǎo)致的繞行現(xiàn)象;safeDist(v,ω)為安全距離函數(shù),該函數(shù)將速度采樣中的安全約束與障礙距離函數(shù)結(jié)合,用于評(píng)價(jià)模擬軌跡終端與障礙物之間的安全距離,表達(dá)式為:
safeDist(v,ω)=max[brakDist(v,ω)-obsDist(v,ω),safeDist]
式中,brakDist(v,ω)為最大加速度下進(jìn)行減速所需要的距離;safeDist為目標(biāo)與障礙物之間的最小安全距離常數(shù)。
由于的改進(jìn)后評(píng)價(jià)函數(shù)已將安全約束考慮進(jìn)去,因此速度窗口僅由速度和動(dòng)力學(xué)性能約束限制,表達(dá)式為:
V=Vm∩Vd
艦載機(jī)的動(dòng)態(tài)避碰行為與避障行為類(lèi)似,當(dāng)艦載機(jī)檢測(cè)到其他艦載機(jī)時(shí),可將其視為障礙物進(jìn)行避碰,但由于艦面空間有限,彼此互相避讓會(huì)浪費(fèi)較多有效空間,因此本文設(shè)計(jì)了一種動(dòng)態(tài)分配優(yōu)先級(jí)策略,當(dāng)艦載機(jī)進(jìn)入碰撞距離時(shí),優(yōu)先級(jí)高的艦載機(jī)優(yōu)先轉(zhuǎn)運(yùn),優(yōu)先級(jí)低的艦載機(jī)視優(yōu)先級(jí)高的艦載機(jī)為障礙物,并主動(dòng)避讓?zhuān)瑒?dòng)態(tài)分配優(yōu)先級(jí)示意圖如圖6。
圖6 動(dòng)態(tài)分配優(yōu)先級(jí)示意圖
令v1和v2分別表示艦載機(jī)V1和V2的速度,則V12=V1-V2表示相對(duì)速度,假定V1的速度為V12,則V2可看做是靜止。作V1到V2頂點(diǎn)的射線(xiàn)la與lb,并確保V2在射線(xiàn)所夾的范圍內(nèi)。將la與lb所成銳角記為α,令β=α/2,γ是v12與V1V2之間的夾角,若γ≤β,則必會(huì)發(fā)生碰撞。故記γ≤β的邏輯值為Rvi,若其成立則取值為1,反之取0。Rvi式為:
此外,艦載機(jī)的優(yōu)先級(jí)也與當(dāng)前的任務(wù)有關(guān),通常出動(dòng)任務(wù)較入庫(kù)任務(wù)具有更高的優(yōu)先級(jí),故記轉(zhuǎn)運(yùn)任務(wù)的邏輯值為L(zhǎng)vi,若取值為1則代表出動(dòng)任務(wù),反之取0。Lvi式為:
此處僅列舉了兩個(gè)優(yōu)先級(jí)策略,在實(shí)際轉(zhuǎn)運(yùn)過(guò)程中,可根據(jù)艦面實(shí)際情況進(jìn)行設(shè)計(jì)。綜上,序號(hào)i艦載機(jī)優(yōu)先級(jí)Vi定義為:
pi=∑(Rvi+Lvi)
給定牽引系統(tǒng)速度最大線(xiàn)速度vmax=1 m/s、最大角速度ωmax=0.5 rad/s、迭代步長(zhǎng)Δt=1 s,通過(guò)Matlab對(duì)改進(jìn)后的算法進(jìn)行仿真。紅色輪廓和青綠色輪廓代表起始位姿,黑色輪廓代表轉(zhuǎn)運(yùn)過(guò)程中的位姿,藍(lán)色輪廓代表終點(diǎn)位姿。運(yùn)動(dòng)軌跡殘影描述了系統(tǒng)碰撞檢測(cè)外輪廓,輪廓密集處體現(xiàn)了速度約束與動(dòng)力學(xué)性能約束的作用。設(shè)定紅色輪廓艦載機(jī)的優(yōu)先級(jí)最高。
圖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)先級(jí)較(c)圖上排的最右邊和(d)圖上排的最左邊艦載機(jī)的優(yōu)先級(jí)高,可以看到當(dāng)艦載機(jī)即將碰撞時(shí),圖7(c)上排的最右邊艦載機(jī)進(jìn)行了主動(dòng)避障行為,圖7(d)的上排的最左邊艦載機(jī)進(jìn)行了減速行為。由此可見(jiàn),本文算法能很好地解決艦面牽引系統(tǒng)的動(dòng)態(tài)避碰問(wèn)題。
提出了一種適用于復(fù)雜形狀目標(biāo)的動(dòng)態(tài)避碰方法。以動(dòng)態(tài)窗口法為基礎(chǔ),針對(duì)避碰規(guī)劃,對(duì)評(píng)價(jià)函數(shù)進(jìn)行了改進(jìn)。為提高多機(jī)環(huán)境下的避碰能力,提出了可動(dòng)態(tài)分配的優(yōu)先級(jí)策略。Matlab仿真結(jié)果表明,改進(jìn)后的方法能夠有效解決艦載機(jī)牽引系統(tǒng)艦面轉(zhuǎn)運(yùn)動(dòng)態(tài)避碰問(wèn)題,同時(shí)也可為其他類(lèi)似形狀的復(fù)雜目標(biāo)避碰規(guī)劃提供參考。