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