寇麗君
(大連東軟信息學(xué)院,遼寧 大連 116000)
近年來,國內(nèi)外都在積極研究無人機(jī)的軌跡規(guī)劃問題。國內(nèi)有學(xué)者提出一種無人機(jī)協(xié)同軌跡規(guī)劃方法,主要通過將粒子群算法與高斯偽譜法相結(jié)合的方法改進(jìn)無人機(jī)協(xié)同軌跡規(guī)劃[1]。國內(nèi)還有學(xué)者提出一種無人機(jī)軌跡規(guī)劃方法,主要通過遺傳算法實現(xiàn)無人機(jī)軌跡規(guī)劃。然而,利用以上方法智能規(guī)劃無人機(jī)協(xié)同軌跡時,在起始點與目標(biāo)點的距離為5 000 m-5 500 m的范圍內(nèi),存在飛行耗時較長的問題。因此,本文提出一種基于多目標(biāo)搜索的無人機(jī)協(xié)同軌跡智能規(guī)劃方法。
以雙坐標(biāo)系為量化基準(zhǔn),構(gòu)造無人機(jī)動力學(xué)模型時特做以下假設(shè):將無人機(jī)視為對稱且形狀均勻的剛體;在較小風(fēng)速的情況下無人機(jī)懸?;虻退亠w行時,忽略近地效應(yīng)。
構(gòu)造雙坐標(biāo)系的步驟如下:
(1)將無人機(jī)機(jī)身坐標(biāo)系記為O-X Y Z。其中O為坐標(biāo)原點位于機(jī)身重心處,X軸與Y軸均從重心指向無人機(jī)電機(jī),而Z軸則與地面垂直且向上,形成右手坐標(biāo)系,能夠描述姿態(tài)信息。
(2)慣性坐標(biāo)系記為o-x yz,將o這一原點置于地面,x軸與y軸互相垂直并且與地面平行,東方向定義為x軸正向。z軸向上與地面垂直,符合直角右手正交系,能夠描述無人機(jī)與地面相對的空間位置。
無人機(jī)的運動形式分為繞軸轉(zhuǎn)動與沿軸平動。通過4個變化狀態(tài)量進(jìn)行表示。(x,y,z)T表示位置坐標(biāo);(vx,vy,vz)T表示沿軸速度;(φ,θ,Φ)T表示繞軸姿態(tài);(p,q,r)T表示繞軸角速度。
其中,T代表狀態(tài)閾值;x、y、z分別代表慣性坐標(biāo)系中,無人機(jī)的軸向位置信息;vx、vy、vz分別代表3個軸向的沿軸速度;φ、θ、Φ分別代表3個軸向的繞軸姿態(tài);p、q、r分別代表3個軸向的繞軸角速度。
根據(jù)以上狀態(tài)變量構(gòu)造無人機(jī)動力學(xué)模型,如下式所示:
代
表3個軸向的繞軸角速度的動力學(xué)取值;U1代表飛行器向上攀升時,克服重力的控制變量;U2代表飛行器向上攀升時,克服重力的滾轉(zhuǎn)力矩對應(yīng)控制變量;U3代表飛行器向上攀升時,克服重力的俯仰力矩對應(yīng)控制變量;U4代表飛行器向上攀升時,克服重力的偏航力矩對應(yīng)控制變量;m代表飛行器質(zhì)量;kx、ky、kz分別代表相對慣性坐標(biāo)系,無人機(jī)x、y、z軸的轉(zhuǎn)動慣量[2]。
根據(jù)構(gòu)造的無人機(jī)動力學(xué)模型,通過蟻群算法規(guī)劃無人機(jī)運行的初始路徑。具體步驟如下:
(1)對相關(guān)參數(shù)進(jìn)行初始化。其中包括總螞蟻數(shù)M、迭代總次數(shù)D、信息素數(shù)量權(quán)重系數(shù)、啟發(fā)式信息權(quán)重系數(shù)等。設(shè)置當(dāng)前迭代次數(shù)為1。
(2)對應(yīng)M只螞蟻,構(gòu)建M個禁忌表,并將節(jié)點禁忌鏈表初始化為空。
(3)若當(dāng)前迭代次數(shù)≤迭代總次數(shù)D,則使當(dāng)前迭代次數(shù)為1,并轉(zhuǎn)到下一步驟;若當(dāng)前迭代次數(shù)>迭代總次數(shù)D,使當(dāng)前迭代次數(shù)為1,并轉(zhuǎn)到第(7)步驟。
(4)將各螞蟻起始點放入相應(yīng)的節(jié)點禁忌鏈表中,將加入表中的節(jié)點視為當(dāng)前節(jié)點。
(5)若各螞蟻當(dāng)前節(jié)點不是目標(biāo)點,則對各可行節(jié)點的對應(yīng)轉(zhuǎn)移概率進(jìn)行計算,并通過輪盤賭法對下一節(jié)點j進(jìn)行選取。將其加入各自的節(jié)點禁忌鏈表內(nèi),使其成為當(dāng)前節(jié)點。當(dāng)全部螞蟻都找到其目標(biāo)點,則轉(zhuǎn)到下一步驟;當(dāng)無可行解,且不是當(dāng)前節(jié)點,則跳轉(zhuǎn)至第(7)步驟,否則當(dāng)前迭代次數(shù)加一,并在本步驟循環(huán)運行。
(6)對當(dāng)前代數(shù)是否為總次數(shù)與迭代周期數(shù)的比值的倍數(shù)進(jìn)行確定。不為其倍數(shù),則對全局信息素進(jìn)行更新;否則對信息素進(jìn)行更新,清空各螞蟻的節(jié)點禁忌鏈表,轉(zhuǎn)至第(3)步驟。
(7)對無可行解時的末尾路徑進(jìn)行記錄,對該條路徑的對應(yīng)懲罰因子進(jìn)行增加,并對其啟發(fā)式因子進(jìn)行修改,使目前迭代次數(shù)加一,跳轉(zhuǎn)至第(4)步驟。
基于多目標(biāo)搜索,通過蟻群算法實現(xiàn)無人機(jī)協(xié)同軌跡智能規(guī)劃。具體規(guī)劃流程如下:
(1)構(gòu)建二維維諾圖。圖中包含N個威脅源,以及S組無人機(jī)終止點與起始點的對應(yīng)坐標(biāo)對。
(2)通過蟻群算法針對S個無人機(jī)實施最短路徑搜索,獲取初始路徑S組。
(3)對獲取路徑實施平滑處理,獲取其對應(yīng)路徑平滑初始區(qū)間。
(4)設(shè)定置信度,對路徑平滑初始區(qū)間是否存在交集進(jìn)行判斷。若存在交集,轉(zhuǎn)向步驟(5);否則,判斷區(qū)間距離是否大于置信度。若大于置信度,則無法進(jìn)行協(xié)同軌跡智能規(guī)劃;小于置信度,轉(zhuǎn)向步驟(6)繼續(xù)執(zhí)行。
(5)將交集里的中間值當(dāng)做公共路徑長度,計算其與初始路徑S的距離,轉(zhuǎn)向步驟(7)。
(6)針對平滑長度區(qū)間,選擇上限最小的區(qū)間與上限最大的區(qū)間,計算其路徑的平滑長度。其余區(qū)間,則將其中心作為路徑的平滑長度。之后計算路徑原始長度與路徑平滑長度的距離。
(7)各條路徑獲取一個總體平滑因子值,對上面的各點實施各角度的路徑平滑操作。
(8)完成操作后,實現(xiàn)無人機(jī)協(xié)同軌跡智能規(guī)劃,結(jié)束算法。
實驗中選用5臺無人機(jī),通過本文方法和二種傳統(tǒng)方法對其規(guī)劃。實驗中設(shè)置威脅源為9個,給定二維平面中的起始點與目標(biāo)點,要求實驗無人機(jī)從同一基地出發(fā),并同時到達(dá)實驗中設(shè)置的目標(biāo)點。獲取起始點與目標(biāo)點的距離為5 000 m~5 500 m的飛行耗時數(shù)據(jù),作為實驗數(shù)據(jù)而進(jìn)行對比分析。
在起始點與目標(biāo)點的距離為5 000m~5 500 m,本文方法與原有的二種方法飛行耗時實驗對比數(shù)據(jù)見表1。
表1 飛行耗時實驗對比數(shù)據(jù)Tab.1 Flight time-consuming experiment comparison data
根據(jù)表1數(shù)據(jù)可知,在起始點與目標(biāo)點距離為5 000 m~5 500 m,本文提出方法的飛行耗時低于原有二種方法。
基于多目標(biāo)搜索的無人機(jī)協(xié)同軌跡智能規(guī)劃方法,實現(xiàn)了特定距離內(nèi)飛行耗時的降低,對于無人機(jī)任務(wù)的協(xié)同執(zhí)行有很大意義。