常松 賈子彥
摘 要:傳統(tǒng)合同網(wǎng)算法在任務(wù)分配過程中存在任務(wù)分配不合理,不能有效利用資源的問題;其在進(jìn)行任務(wù)分配時(shí),不能按照任務(wù)需求進(jìn)行任務(wù)分配,任務(wù)分配效率低下。針對以上問題,文中提出一種基于改進(jìn)合同網(wǎng)算法的多無人機(jī)任務(wù)分配方法。該方法通過優(yōu)化每架無人機(jī)的負(fù)載平衡,并結(jié)合時(shí)間和協(xié)作要求,解決任務(wù)分配不合理的問題,提高任務(wù)的分配和執(zhí)行效率。
關(guān)鍵詞:任務(wù)分配;無人機(jī);合同網(wǎng)算法;負(fù)載平衡;資源消耗;飛行距離
中圖分類號:TP393文獻(xiàn)標(biāo)識碼:A文章編號:2095-1302(2020)05-00-03
0 引 言
隨著無人機(jī)技術(shù)的發(fā)展,無人機(jī)的應(yīng)用領(lǐng)域在逐漸增加,無人機(jī)可以執(zhí)行的任務(wù)種類也變得多樣化。但是單機(jī)無人機(jī)的任務(wù)執(zhí)行能力畢竟有限,所以對多架無人機(jī)執(zhí)行任務(wù)的研究也越來越多[1]。多無人機(jī)協(xié)作技術(shù)的發(fā)展是為了有效執(zhí)行任務(wù),而合理的進(jìn)行任務(wù)分配則為無人機(jī)快速、高效完成任務(wù)打下了基礎(chǔ),所以對多無人機(jī)的任務(wù)分配算法的研究是十分有意義的。
任務(wù)分配的目的是使無人機(jī)執(zhí)行任務(wù)時(shí)消耗的資源少、飛行距離短、花費(fèi)的時(shí)間短。而隨著無人機(jī)應(yīng)用領(lǐng)域的增多,任務(wù)規(guī)模、種類、復(fù)雜度也增加了任務(wù)分配算法的難度。目前已有的任務(wù)分配方法主要有合同網(wǎng)算法、蟻群算法、粒子群算法等[2-4]。合同網(wǎng)算法在進(jìn)行規(guī)模大、數(shù)量多、復(fù)雜度較高的任務(wù)分配時(shí),相比于其他算法有一定的優(yōu)勢。
本文針對傳統(tǒng)合同網(wǎng)算法分配效率低,分配不合理等問題對算法進(jìn)行了改進(jìn),增加了任務(wù)分配條件,提高任務(wù)分配和無人機(jī)執(zhí)行效率[5]。
1 合同網(wǎng)算法
合同網(wǎng)算法源自人們在商務(wù)過程中用于管理商品和服務(wù)的合同機(jī)制[6]。該算法是模仿經(jīng)濟(jì)行為的“管理者-工作者”的機(jī)制進(jìn)行任務(wù)協(xié)商,實(shí)現(xiàn)任務(wù)分配。在合同網(wǎng)算法中,所有主體分為三個(gè)角色:招標(biāo)者、投標(biāo)者和中標(biāo)者。
在多無人機(jī)任務(wù)分配的合同網(wǎng)算法中,招標(biāo)者即任務(wù)管理者,負(fù)責(zé)任務(wù)信息的收集、發(fā)布和管理[7]。投標(biāo)者是無人機(jī),其根據(jù)自身的信息和資源對任務(wù)進(jìn)行評估,參與投標(biāo),向招標(biāo)者發(fā)送任務(wù)請求。中標(biāo)者是獲得任務(wù)的無人機(jī),負(fù)責(zé)完成任務(wù)。任務(wù)分配過程如圖1所示。
1.1 任務(wù)建模
任務(wù)分配的主要參與對象是無人機(jī)和任務(wù)。令V={V1, V2, …, Vm}代表執(zhí)行任務(wù)的無人機(jī)集合,T ={T1,T2, …, Tn}代表需要完成的任務(wù)集合。
1.2 任務(wù)描述
假設(shè)有n個(gè)任務(wù)需要執(zhí)行,但每個(gè)任務(wù)的緊急程度不一樣,這就需要對任務(wù)限制任務(wù)完成的時(shí)間。每個(gè)任務(wù)的工作量也不一樣,為了能夠在規(guī)定時(shí)間內(nèi)完成,工作量大的任務(wù)要求無人機(jī)協(xié)作完成。
(1)任務(wù)時(shí)間。無人機(jī)的資源消耗與時(shí)間成正比,每架無人機(jī)都需要保證自身的資源足夠完成分配到的所有任務(wù)并安全返航。設(shè):ti, j為完成某個(gè)任務(wù)的時(shí)間;ts1i, j是無人機(jī)到達(dá)目標(biāo)點(diǎn)的飛行時(shí)間;ts2i, j是無人機(jī)執(zhí)行任務(wù)時(shí)間;Di是無人機(jī)到第i任務(wù)點(diǎn)的飛行距離;Vj是無人機(jī)j的飛行速度;Qi是第i個(gè)任務(wù)的任務(wù)量;pj是無人機(jī)j執(zhí)行任務(wù)的速率;
i=1, 2, …, n是任務(wù)編號,j=1, 2, …, m是無人機(jī)編號(給某個(gè)無人機(jī))。
(2)任務(wù)協(xié)作。每個(gè)任務(wù)都有自己的工作量Qi,如果工作量較大,無人機(jī)單獨(dú)完成會(huì)影響無人機(jī)的整體資源消耗,從而使得任務(wù)分配不合理。以所有任務(wù)的平均值為條件,如果Qi≥,則需要無人機(jī)協(xié)作完成任務(wù)。是總的平均任務(wù)量。
1.3 目標(biāo)函數(shù)
無人機(jī)在收到任務(wù)信息后,在任務(wù)范圍內(nèi)均勻分布,每架無人機(jī)在自己的航線上搜索附近的任務(wù),以無人機(jī)到任務(wù)的飛行距離為條件,優(yōu)先選擇距離近的任務(wù),有:
式中:(xi, yi)為目的任務(wù)的坐標(biāo);(xj, yj)無人機(jī)當(dāng)前坐標(biāo)點(diǎn)。
2 改進(jìn)合同網(wǎng)算法
利用上述方法雖然可以實(shí)現(xiàn)任務(wù)的分配,但是存在任務(wù)分配不合理,分配效率低的情況。為了解決傳統(tǒng)合同網(wǎng)算法可能存在的問題,進(jìn)行了以下改進(jìn):
無人機(jī)在以距離為限制選擇任務(wù)時(shí),也要考慮到任務(wù)時(shí)間的順序。當(dāng)任務(wù)量大于預(yù)設(shè)的平均任務(wù)量時(shí),選擇將這個(gè)任務(wù)交付于兩架無人機(jī)協(xié)作完成,減少無人機(jī)投標(biāo)的次數(shù),提高分配效率。
無人機(jī)的負(fù)載可以和無人機(jī)的資源消耗、飛行距離、任務(wù)時(shí)間等條件結(jié)合起來,根據(jù)負(fù)載結(jié)果來判斷任務(wù)分配結(jié)果是否合理。
設(shè)無人機(jī)i的負(fù)載量為Fi,所有無人機(jī)的平均負(fù)載能力為:
式中,m為無人機(jī)的個(gè)數(shù),則無人機(jī)的負(fù)載率為:
通過人為設(shè)置固定值E,若負(fù)載率小于E,則表示無人機(jī)可以繼續(xù)對任務(wù)進(jìn)行投標(biāo);若負(fù)載率大于E,則無人機(jī)不可以繼續(xù)對任務(wù)進(jìn)行投標(biāo),并放棄最后選擇的任務(wù)。
為了使任務(wù)負(fù)載的均衡性更好,通過方差計(jì)算無人機(jī)每次任務(wù)中標(biāo)后的負(fù)載變化。
式中,ρj代表無人機(jī)的負(fù)載均衡性,ρj越小,則任務(wù)分配越合理。
為了滿足時(shí)間上的安排,結(jié)合遺傳算法對無人機(jī)的任務(wù)時(shí)間進(jìn)程進(jìn)行了安排。在獲得任務(wù)的時(shí)間信息后,每個(gè)遺傳因子都是一個(gè)時(shí)間點(diǎn)。通過不停的迭代和遺傳變異的方式使得彼此之間不會(huì)出現(xiàn)重合的時(shí)間點(diǎn),從而使得任務(wù)時(shí)間安排合理、有效。
3 仿真實(shí)驗(yàn)
基于以上思路,采用Matlab平臺開展仿真實(shí)驗(yàn)。無人機(jī)的飛行高度一致,飛行起點(diǎn)均勻分布,以x y∈[0,1000]的二維區(qū)間為飛行環(huán)境。總共20個(gè)任務(wù)隨機(jī)分布在同一區(qū)域中。任務(wù)信息中包含時(shí)間和協(xié)作的要求。時(shí)間和任務(wù)量的關(guān)系圖如圖2所示。為了使無人機(jī)在接收任務(wù)后,合理安排任務(wù)的執(zhí)行順序,給每個(gè)任務(wù)設(shè)置任務(wù)完成時(shí)刻,時(shí)刻為0或者負(fù)數(shù)的任務(wù)表示無需在規(guī)定時(shí)刻完成任務(wù),這樣的任務(wù)可以留在最后執(zhí)行。此圖為實(shí)驗(yàn)的仿真條件之一。
根據(jù)實(shí)驗(yàn)數(shù)據(jù)中的任務(wù)量得到需要協(xié)作的任務(wù)信息見
無人機(jī)根據(jù)傳統(tǒng)合同網(wǎng)算法進(jìn)行任務(wù)分配的結(jié)果如圖3所示。
改進(jìn)后的任務(wù)分配圖如圖4所示。通過圖3和圖4的對比可以看出:傳統(tǒng)合同網(wǎng)算法中每架無人機(jī)分配到的任務(wù)數(shù)量為1,4,3,7,8,6,而改進(jìn)后的每架無人機(jī)分配的任務(wù)數(shù)量為4,4,3,7,5,6。從分配結(jié)果上看改進(jìn)后合同網(wǎng)算法分配的結(jié)果更平均。若無人機(jī)在完成任務(wù)后回航或者接收到了新的任務(wù)信息需要執(zhí)行,那么傳統(tǒng)合同網(wǎng)中的一些無人機(jī)由于之前分配的任務(wù)較多,消耗了過多的資源,這樣就不能在繼續(xù)接收新的任務(wù)。而改進(jìn)后得到的任務(wù)分配結(jié)果中,每架無人機(jī)消耗的資源相對較少,可以繼續(xù)執(zhí)行新的任務(wù),所以改進(jìn)后的合同網(wǎng)算法比傳統(tǒng)合同網(wǎng)算法任務(wù)分配更合理。無人機(jī)以相同的飛行速度去執(zhí)行任務(wù),從分配結(jié)果的時(shí)間上看,改進(jìn)后的合同網(wǎng)算法對傳統(tǒng)合同網(wǎng)算法花費(fèi)更少的時(shí)間。由此可以看出,在本文的任務(wù)分配算法中,改進(jìn)合同網(wǎng)算法比傳統(tǒng)合同網(wǎng)算法更有優(yōu)勢。
4 結(jié) 語
本文通過對合同網(wǎng)算法進(jìn)行改進(jìn),在合同中的任務(wù)信息添加時(shí)間和協(xié)作的條件,將任務(wù)以整體的形式廣播發(fā)送給無人機(jī)。無人機(jī)以時(shí)間、協(xié)作和飛行距離等作為約束條件實(shí)現(xiàn)任務(wù)的投標(biāo)過程。而任務(wù)管理者通過收集對比無人機(jī)的投標(biāo),選擇最優(yōu)的分配方式,從而實(shí)現(xiàn)多無人機(jī)協(xié)作完成任務(wù)的分配方法,有效提高整體任務(wù)執(zhí)行效率[8]。在已知環(huán)境下獲得任務(wù)目標(biāo),采用全局與局部相結(jié)合的方法,綜合考慮資源代價(jià)和任務(wù)執(zhí)行能力,建立多機(jī)協(xié)作任務(wù)分配模型。
這一模型對其他自主機(jī)器設(shè)備也可以進(jìn)行實(shí)際應(yīng)用,但這一方案僅僅局限于靜態(tài)環(huán)境中,能否適應(yīng)于未知環(huán)境還需要進(jìn)行更多的實(shí)驗(yàn),而且在進(jìn)行任務(wù)分配時(shí)考慮是否結(jié)合動(dòng)態(tài)實(shí)際任務(wù)完成情況作為任務(wù)分配目標(biāo)條件也是是今后的研究點(diǎn)之一。
參考文獻(xiàn)
[1]郜晨.多無人機(jī)自主任務(wù)規(guī)劃方法研究[D].南京:南京航空航天大學(xué),2016.
[2] SMITH R G. The contract net protocol:high-level communication and control in a distributed problem solver [J]. IEEE transactions on computers,1980,C-29(12):1104-1113.
[3]李士波.基于粒子群算法的多無人機(jī)任務(wù)分配[J]. 軟件導(dǎo)刊,2018,17(7):197-199.
[4]王靈霞,張遠(yuǎn)平,吳佩莉.蟻群算法求解分布式系統(tǒng)任務(wù)分配問題[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2008(6):168-170.
[5]王欽釗,程金勇,李小龍.多無人機(jī)協(xié)同任務(wù)規(guī)劃方法[J].火力與指揮控制,2018,43(3):86-89.
[6]錢艷平,夏潔,劉天宇.基于合同網(wǎng)的無人機(jī)協(xié)同目標(biāo)分配方法
[J].系統(tǒng)仿真學(xué)報(bào),2011,23(8):1672-1676.
[7]李新亮,翟江濤,戴躍偉. 動(dòng)態(tài)環(huán)境下基于改進(jìn)合同網(wǎng)的多Agent任務(wù)分配算法[J]. 科學(xué)技術(shù)與工程,2013(27):104-109.
[8] LI Y W,LI B A. Research of multiple UAVs task allocation based on improved contract net [J]. Advanced materials research,2013,823:439-444.
[9]陳轉(zhuǎn),劉平,王超.無人機(jī)在偵查與監(jiān)視領(lǐng)域的研究與展望[J].物聯(lián)網(wǎng)技術(shù),2019,9(10):82-83.
[10]趙露露.有人/無人機(jī)協(xié)同互操作性研究[J].物聯(lián)網(wǎng)技術(shù),2015,5(5):59-61.