曾 惜,楊金鐸,王 冕,張 羿
(貴州電網(wǎng)有限責任公司 貴陽供電局,貴州 貴陽 550001)
當前無人機技術(shù)快速發(fā)展,為了更好地發(fā)揮無人機的優(yōu)勢并智能精準獲取無人機工作區(qū)域的圖像和視頻,必須研究無人機群協(xié)同工作調(diào)度管理系統(tǒng)。無人機調(diào)度是指在多個任務(wù)和多個條件制約時,對多架無人機執(zhí)行飛行任務(wù)的航線規(guī)劃和調(diào)度[1-3]。合理安排無人機任務(wù)序列可以提高無人機執(zhí)行任務(wù)的效率。隨著無人機任務(wù)數(shù)量的增加和飛行環(huán)境的日益復(fù)雜,為無人機調(diào)度搭建管控平臺并進行數(shù)學(xué)建模調(diào)度算法研究是非常重要的。
蟻群算法目前在無人機任務(wù)調(diào)度和規(guī)劃中已得到廣泛應(yīng)用,其具有并行性和正反饋機制的特點,可以運用網(wǎng)絡(luò)的啟發(fā)信息得到收斂解。此外,蟻群算法可以很容易求解各種組合優(yōu)化問題,為本文的無人機調(diào)度研究提供成熟的理論支持[4,5]。目前大多利用無人機地面站來對無人機進行控制,它能監(jiān)視無人機的位置和狀態(tài)等信息,并且能夠發(fā)出控制無人機飛行與執(zhí)行任務(wù)的命令。為了實現(xiàn)一個地面站同時控制多架無人機,需要設(shè)計一種可以進行遠程管理與控制的調(diào)度平臺。
在確定調(diào)度中心位置和執(zhí)行任務(wù)點位置的前提下,將無人機派往任務(wù)點執(zhí)行任務(wù)。在調(diào)度方案設(shè)計中,設(shè)定每個任務(wù)點的任務(wù)只能被一架無人機執(zhí)行,每架無人機能夠開展多個任務(wù)點的工作,但需要限制其飛行的距離。在飛行時應(yīng)考慮執(zhí)行任務(wù)的優(yōu)先級、飛行區(qū)域地貌以及禁飛區(qū)域等事宜,最終的優(yōu)化設(shè)計目的是讓調(diào)度方案發(fā)揮最大的指揮執(zhí)行效果[6]。
無人機調(diào)度結(jié)果的效益評價角度眾多,文中主要根據(jù)無人機執(zhí)行任務(wù)的效果收益和消耗代價進行評價,以收益盡可能大、付出代價盡可能小為目標。無人機調(diào)度算法求解的最終目標為無人機完成任務(wù)同時規(guī)劃出執(zhí)行的任務(wù)序列,令目標函數(shù)達到最大,其表達式為:

式中,w1為收益權(quán)重,w2為航程代價權(quán)重,w3為風險代價權(quán)重,R為收益效率,C1為航程代價,C2為風險代價[7]。
收益效率的計算公式為:

式中,xij為決策因子,rj為任務(wù)j的優(yōu)先級,Pj為任務(wù)j被分配執(zhí)行時任務(wù)的完成時效,lj為任務(wù)j的作業(yè)里程數(shù),T為調(diào)度方案的總執(zhí)行時間,V為常量[8]。
在調(diào)度中,同一個任務(wù)只能由一臺無人機執(zhí)行一次,無人機調(diào)度的約束條件公式為:

無人機正常工作時,會遇到眾多不利于安全飛行的因素。如何消除不安全因素的威脅是亟待解決的問題,因此在方案制定時,在規(guī)劃空間里要表示清楚所有存在的安全威脅,以獲得威脅區(qū)信息,進一步分析得到最合適的路徑。用圓形區(qū)域表示禁飛區(qū)等威脅區(qū)域,圓的半徑r代表威脅源的影響距離,圓心O代表威脅源。離圓心越近,威脅越大,而且各個威脅區(qū)域之間互不干涉。模型圖設(shè)計如圖1所示。

圖1 無人機威脅區(qū)域模型圖
目前無人機調(diào)度求解主要有兩種算法,分別是精確算法和啟發(fā)式算法。由于精確算法是采用龐大的計算量來獲得最優(yōu)解,因此并不適用于無人機調(diào)度。而啟發(fā)式算法可以解決計算量大的問題,非常適合用來求解調(diào)度問題。啟發(fā)式算法的流程為先獲取無人機調(diào)度的初始解,然后運用優(yōu)化策略進行局部擾動,為了搜索獲得更優(yōu)的解,需經(jīng)過多次循環(huán),一直到搜索到最優(yōu)解為止。由于蟻群算法具有組織性、魯棒性以及正反饋機制優(yōu)勢,其在任務(wù)中可較快的搜索到更優(yōu)解,因此主要針對蟻群算法展開研究。
1.2.1 蟻群算法概述
相關(guān)研究表明,螞蟻能釋放一種信息素。受信息素的吸引,螞蟻可以發(fā)現(xiàn)一條蟻穴到食物的最短路徑。這樣螞蟻往返的時間就會減少,同樣的時間內(nèi),留在路徑上的信息素會增加,較短路徑上的螞蟻也會隨之增加。在正反饋的作用下,可確定出最優(yōu)路徑。對螞蟻覓食過程的仿真模擬是該算法的核心,其關(guān)鍵是人工螞蟻對已經(jīng)訪問的節(jié)點不會重復(fù),還能根據(jù)反饋信息調(diào)整,意識性較強。
1.2.2 蟻群算法求解無人機調(diào)度問題
對于無人機調(diào)度,一只螞蟻代表一個可行解。無人機從基地起飛,按照約束條件選擇任務(wù),完成首次任務(wù)后進行下一項任務(wù),直至沒有符合約束條件的任務(wù)為止,這樣就得到了一個無人機的航線。再出動另一架無人機,重復(fù)上述步驟,完成所有的任務(wù),就獲得了一條完整的路徑。選擇任務(wù)點時,在任務(wù)點集allowk中放入符合約束條件的任務(wù)點,再從allowk中根據(jù)相應(yīng)規(guī)則選擇,規(guī)則如下。
首先,選擇信息素矩陣τ,將τ=ones(n,n)初始化,n代表的是任務(wù)集合的總數(shù)。
其次,啟發(fā)信息矩陣η,η中的元素為ηij=rj/dij,其中rj為任務(wù)j的優(yōu)先級,dij為任務(wù)i到任務(wù)j的距離。
再次,在可選任務(wù)點集allowk中放入t時刻符合約束條件的任務(wù)點,求解t時刻對應(yīng)的allowk中各任務(wù)點的狀態(tài)轉(zhuǎn)移概率P,公式為:

式中,α為信息素的重要度,β為可見度的重要度。
最后,按照偽隨機比例規(guī)則,選擇下一個要執(zhí)行的任務(wù)點。
1.2.3 蟻群算法求解調(diào)度問題的算法步驟。
(1)將算法中的α、β信息素矩陣以及聚類算法與遺傳算法的各個參數(shù)初始化,放置m只螞蟻在無人機出發(fā)點[9];
(2)任務(wù)j由無人機續(xù)航時間t、任務(wù)優(yōu)先級以及禁飛區(qū)域等約束條件確定,將其放入可選任務(wù)集allow中;
(3)按照偽隨機比例規(guī)則,進行下一個要執(zhí)行的任務(wù)點;
(4)對還沒有執(zhí)行的任務(wù)點集合to_visit進行更新;
(5)若allow不為空,則跳至執(zhí)行步驟(3),選擇下一個任務(wù)點,否則執(zhí)行下一步;
(6)若to_visit不為空、allow為空,表示尚有任務(wù)未被執(zhí)行,但剩下的任務(wù)點均不符合約束條件,則返回步驟(2),直到to_visit為空后再進行下一步;
(7)記錄每只螞蟻所獲得的調(diào)度路線和目標函數(shù)值,求得最優(yōu)解;
(8)采用混合聚類技術(shù)判斷,并依據(jù)螞蟻狀態(tài)對α、β值進行調(diào)整;
(9)迭代次數(shù)I加1;
(10)若I 無人機管控平臺設(shè)計時要思考各個方面的技術(shù)需求,當無人機接收到上傳的航線信號后,開始起飛執(zhí)行任務(wù),平臺需要對無人機的實時位置、飛行速度、航線、飛行姿態(tài)、電池的電壓以及GPS狀態(tài)等進行管控。為了同時管理大量無人機,需要在平臺上進行注冊。 無人機平臺的需求包括兩個方面。一是該平臺可完成無人機注冊,可查看無人機資料信息;二是該平臺可實現(xiàn)航線任務(wù)的管理。通過無人機平臺預(yù)先設(shè)定好航線,然后上傳到無人機。當無人機執(zhí)行任務(wù)時,平臺可對無人機的航跡,飛行姿態(tài)、電池電壓、GPS狀態(tài)以及實時報警等信息進行實時監(jiān)控,同時具備存儲功能,可以記錄飛行數(shù)據(jù)。為了實時播放和回放航拍視頻,該平臺需具備視頻播放、可實現(xiàn)發(fā)送起飛或降落等指令的功能。 根據(jù)無人機任務(wù)需求,從功能結(jié)構(gòu)上將無人機管理控制平臺劃分為用戶登錄、無人機管理、航線管理、視頻管理以及指令控制5個模塊。 用戶登錄模塊是系統(tǒng)的首要環(huán)節(jié),通過輸入用戶名和密碼傳輸至后臺服務(wù)器進行校對。 無人機管理模塊主要包含無人機注冊和信息查看,注冊內(nèi)容有名稱、產(chǎn)品序列號、型號、身產(chǎn)日期以及管理人員信息等。無人機信息查看可以用表格的形式表示,可以對每條信息編輯或刪除,并且可以查詢出需要查找的無人機。 視頻管理包含實時視頻管理與歷史視頻管理,可以切換1個畫面、2個畫面、4個畫面、9個畫面或者16個畫面,可任意調(diào)取歷史視頻進行查看。 航線管理有3個子模塊,分別是預(yù)設(shè)航線、上傳航線以及下載航線。通過在地圖上畫線,設(shè)定航線,可以進行保存和上傳。通過蟻群算法求解無人機調(diào)度問題之后,獲得無人機的調(diào)度路線,將路線描繪在地圖上,形成無人機的航線。 無人機控制指令有起飛、懸停、繼續(xù)飛行、降落、返航以及巡航等,每個指令均是基于UDP協(xié)議的Socket通信進行的。UDP是通過在通信實例兩端各搭建一個Socket對象實現(xiàn)收發(fā)數(shù)據(jù)報的。DatagramSocket對象是基于UDP協(xié)議的Socket,使用DatagramPacket可以代表DatagramSocket進行數(shù)據(jù)報的發(fā)送和接收[10,11]。 本文在無人機調(diào)度算法的研究中使用了蟻群算法,提高了算法的計算速度和搜索水平,實現(xiàn)無人機調(diào)度問題最優(yōu)解。但是研究的調(diào)度問題是靜態(tài)的,實際的任務(wù)點可能會出現(xiàn)動態(tài)變化,這也是未來需要深入研究的重要課題。此外,多種型號無人機的調(diào)度問題需要加入到約束條件中。未來需要加強對無人機調(diào)度與管控平臺充分結(jié)合的研究,實現(xiàn)直接在平臺中計算得到無人機調(diào)度方案,根據(jù)結(jié)果選取適合的航線,使無人機調(diào)度系統(tǒng)優(yōu)勢更加明顯,能夠更高效地完成任務(wù)。2 無人機的管控平臺
2.1 平臺功能結(jié)構(gòu)設(shè)計
2.1 用戶登錄
2.2 無人機管理
2.3 視頻管理
2.4 航線管理
2.5 指令控制
3 結(jié) 論