本文作者:kaifamei

一種無人機集多任務動態分配方法

更新時間:2025-12-26 08:35:52 0條評論

一種無人機集多任務動態分配方法



1.本發明屬于無人機技術領域,尤其涉及一種無人機集多任務動態分配方法。


背景技術:



2.現如今,無人機技術日趨成熟,無人機的相關研究在理論探索和實際應用等方面都有了很大突破。無人機集進行協同工作,能夠代替人完成一些超出人類所能承受極限的任務。而任務分配問題是在不沖突和不違反約束的情況下將一組任務分配給無人機,是多無人機系統成功作戰和高效協作的重要組成部分。
3.現有的大多數研究解決了多無人機系統任務分配問題的靜態版本,其中所有任務在開始時都是已知的不會改變的環境。但實際上,環境是不斷變化的動態事件。即在動態環境下,原有的任務分配方案在執行任務的過程中可能會被很多突發事件打斷,這些事件可能導致某些任務無法成功完成。因此,有必要在動態環境下考慮任務的重新分配問題。
4.但是動態環境下的任務分配問題有很多難點需要解決。第一,所提方法應該有能力應對各種的動態事件。然而,現有的大多數算法只能處理少數幾種動態事件,通常采用重新運行算法的方法,忽略了不同動態事件之間的差異。第二,由于動態戰場變化迅速,算法需要盡快響應不同的動態事件,這對算法的效率提出了更高的挑戰。雖然重新運行可以得到最優或次優解,但需要更多的計算時間,不適合動態環境。此外,重新運行總是忽略最初計劃的調度,導致計算資源的浪費。


技術實現要素:



5.為了響應無人機在任務執行的過程中出現的動態事件,并提高對于動態事件的解決效率,本發明提出一種無人機集多任務動態分配方法,
6.s1、無人機根據動態出現的新任務確定該任務的響應半徑;
7.s2、在該任務響應范圍內的無人機組成該任務的無人機子團隊,無人機子團隊競爭該任務;
8.s3、當前無人機將所有需要重分配的任務構成新的任務集合,新的任務集為動態出現的新任務以及無人機子團隊中各個無人機未完成的任務;
9.s4、無人機之間分享任務的信息并對本地的任務列表進行更新,并將更新的任務列表分享給其他無人機,當無人機的任務列表不再因為共享信息更新時,完成任務分配;對本地的任務列表進行更新的過程包括以下步驟:
10.401、當前無人機計算任務集合中當前候選任務在不同插入位置的收益;
11.402、選擇邊際收益最大時的位置作為當前候選任務的插入點;
12.403、判斷在步驟402插入當前候選任務的邊際收益是否大于本地贏家列表中該任務贏家的收益;若不大于則返回401,計算下一候選任務;
13.404、若大于則將該任務加入當前無人機的任務時序包,判斷當前無人機的任務時序包是否超過上限,若超過則與其他無人機進行任務信息共享,否則返回步驟401計算下一
個候選任務;
14.405、當當前無人機的任務時序包中任務數量達到上限時,當前無人機與其他無人機共享任務分配信息,并更新本地的任務信息,若存在無人機的本地任務信息與共享的信息不一致,則更新捆綁包,并執行401;若一致則輸出任務分配結果。
15.進一步的,任務的響應半徑包括:
[0016][0017]
其中,ru表示無人機的響應半徑;x
max
表示生成地圖空間中的最大距離;λ是一個換算參數;r
max
表示所有任務中最大價值,ru表示新增任務的價值;l
max
表示所有任務中最晚開始時間,lu表示新增任務的最晚開始時間,t
ψ
表示當前時刻;ω1為平衡靜態價值對響應半徑影響的權重,ω2為平衡截止時間對響應半徑影響的權重。
[0018]
進一步的,無人機計算一個任務插入無人機的任務時序包中收益最大的位置的過程包括:
[0019][0020]
約束條件:
[0021][0022][0023][0024]
其中,nv為無人機的數量,所有無人機形成無人機集合nm為任務的數量,所有任務形成任務集合c
jk
表示無人機uj執行任務mk時的收益;x
jk
是一個二進制變量,x
jk
=1表示無人機uj執行任務mk,否則表示無人機uj未執行任務mk;l
t
表示無人機所能執行任務的最大容量。
[0025]
進一步的,無人機uj執行任務mk時的收益c
jk
表示為:
[0026][0027]
約束條件:
[0028]
其中,表示將第k個任務mk插入到任務列表pj中的第n個位置上形成的任務列表,表示無人機執行任務列表所得獎勵;表示為無人機執行任務列表pj所得獎勵;c
jk
[bi]表示執行任務列表bi的收益;
[0029]
表示執行在任務列表bi的末尾加上一個新任務b后的新任務列表的收
益。
[0030]
進一步的,將第k個任務mk插入到任務列表pj中的第n個位置上后,無人機執行任務列表pj所得獎勵表示為:
[0031][0032]
其中,r0為任務mk的基本價值,r為任務mk的靜態價值,λj為折扣系數,表示執行任務mk的時間,etk表示任務mk的最早開始時間,表示在任務列表pj第n個位置插入任務mk時的邊際成本。
[0033]
進一步的,在任務列表pj第n個位置插入任務mk時的邊際成本表示為:
[0034][0035]
其中,表示執行在任務列表pi中第n個位置插入任務mk后的任務列表中所有任務所需的航程;d(pi)表示執行任務列表pi中所有任務所需的航程;fj表示油耗。
[0036]
進一步的,無人機本地的任務信息包括任務捆綁包、任務時序包、贏家列表、贏家收益集合、時間戳以及執行時間集合,其中:
[0037]
任務捆綁包為當前無人機競爭到的任務集合,該包中的任務順序按照添加任務的先后順序進行排列,該捆綁包的大小為無人機最多能執行的任務數量;
[0038]
任務時序包為無人機執行任務的集合,該包中順序按照任務執行的優先順序進行排列;
[0039]
贏家列表為每項任務中收益最高的無人機的列表,該列表中元素為0,則表示暫未有無人機競拍到該任務;
[0040]
贏家收益集合為每項任務的最高收益,該列表中元素為-1則表示當前沒有無人機競拍到該任務;
[0041]
時間戳為兩個無人機從彼此接收信息的時刻;
[0042]
執行時間集合為無人機根據任務時序集到達任務區執行任務的執行時間。
[0043]
進一步的,無人機的贏家列表的更新,即當無人機uj得到任務mk時,任務mk將被插入到無人機uj的路徑中當前增加邊際收益最多的任務位置,如果該任務位置的收益大于該任務贏家的收益,則無人機uj將該任務添加到自己的任務捆綁包,更新捆綁包并且將任務mk的信息共享給其他無人機。
[0044]
進一步的,若無人機ua收到無人機ub的共享的關于任務mc的信息時,無人機ua執行以下信息的更新:
[0045]
當y
ac
<y
bc
時,無人機ua對本地信息進行更新,更新時把y
bc
賦值給y
ac
,把z
bc
賦值給z
ac

[0046]
當y
ac
>y
bc
時,無人機ua不對本地信息進行更新,y
ac
、z
ac
保持不變;
[0047]
當y
ac
=y
bc
時或者當任務中的時間戳沖突不一致時,將y
ac
置為-1,z
ac
置為0;
[0048]
其中,y
bc
表示無人機ub的贏家集合中任務mc的最大收益值;y
ac
表示無人機ua的贏家集合中任務mc的最大收益值;z
bc
表示無人機ub的贏家集合中執行任務mc收益最高的無人機;z
ac
表示無人機ua的贏家集合中執行任務mc收益最高的無人機。
[0049]
本發明使無人機能在分布式的架構之下,對突發的動態環境進行快速響應并進行任務的重新分配。通過提出無人機的響應半徑,從而來選取進行任務分配的無人機子團隊,與對任務進行篩選,選擇部分的任務參與重新分配,都是極大的增加了算法的運行效率,并能夠更好的適合需要快速響應的動態環境。本發明的任務分配方法以整體的收益最高和完成時間最短,實現了無人機集的動態任務分配,面對突發的動態情況,能夠適應復雜多變的任務場景,增強了無人機集協同執行任務的時效性,有效的解決了任務執行過程中出現突發情況的問題。此外,本算法也沒有忽略最初計劃的調度,從而減少了計算資源的浪費。
附圖說明
[0050]
圖1為本發明采用的流程示意圖;
[0051]
圖2為本發明采用的方法的初始分配圖;
[0052]
圖3為本發明采用的方法的任意時刻任務分配圖;
[0053]
圖4為本發明采用方法的動態子團隊示意圖;
[0054]
圖5為本發明采用方法的任務再分配圖。
具體實施方式
[0055]
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0056]
本發明提出一種無人機集多任務動態分配方法,如圖1,主要包括以下步驟:
[0057]
s1、無人機根據動態出現的新任務確定該任務的響應半徑;
[0058]
s2、在該任務響應范圍內的無人組成該任務的無人機子團隊,無人機子團隊競爭該任務;
[0059]
s3、當前無人機將所有需要重分配的任務構成新的任務集合,新的任務集為動態出現的新任務以及無人機子團隊中各個無人機未完成的任務;
[0060]
s4、無人機之間分享任務的信息并對本地的任務列表進行更新,并將更新的任務列表分享給其他無人機,當無人機的任務列表不再因為共享信息更新時,完成任務分配;對本地的任務列表進行更新的過程包括以下步驟:
[0061]
401、當前無人機計算任務集合中當前候選任務在不同插入位置的收益;
[0062]
402、選擇邊際收益最大時的位置作為當前候選任務的插入點;
[0063]
403、判斷在步驟402插入當前候選任務的邊際收益是否大于本地贏家列表中該任務贏家的收益;若不大于則返回401,計算下一候選任務;
[0064]
404、若大于則將該任務加入當前無人機的任務時序包,判斷當前無人機的任務時序包是否超過上限,若超過則與其他無人機進行任務信息共享,否則返回步驟401計算下一個候選任務;
[0065]
405、當當前無人機的任務時序包中任務數量達到上限時,當前無人機與其他無人機共享任務分配信息,并更新本地的任務信息,若存在無人機的本地任務信息與共享的信
息不一致,則更新捆綁包,并執行401;若一致則輸出任務分配結果。
[0066]
在本實施中,進行無人機集的動態任務分配時,主要進行以下操作:
[0067]
綜合考慮資源的消耗、時間敏感性、任務完成效果、無人機與任務的異質性等多重約束,建立了任務分配的優化模型;
[0068]
考慮多重約束下的任務分配模型,以整體任務完成收益高,動態事件響應速度快為優化目標的利益函數的設計;
[0069]
利用一致性的共識捆綁算法(cbba),用其求解任務的初始分配;
[0070]
本實施例還對cbba進行優化,使其能在分布式的架構之下,對突發的動態環境進行快速響應并進行任務的重新分配。
[0071]
在本實施例中首先隨機生成nv=5個異構無人機與nm=15個異構任務(uj表示第j個無人機、mk表示第k個任務),無人機的信息包括其無人機編號(id)、無人機類型(type)、地理位置坐標(x,y,z)、飛行速度(v)、油耗率(f);目標任務的信息包括其任務編號(id)、任務類型(type)、地理位置坐標(x,y,z)、任務的價值(r)、任務時間窗約束(etk≤tk≤ltk)。其中無人機的飛行速度v設置為1m/s,油耗率為3,初始任務的價值都設置為100,任務區的大小設置為100m
×
100m,隨機生成的無人機信息和任務的信息如表1、表2所示。
[0072]
表1無人機信息表
[0073]
無人機編號位置-x坐標(m)位置-y坐標(m)024.714982.5224173.614988.3472235.699444.4896365.241612.8390433.527898.5542
[0074]
表2任務信息表
[0075]
任務編號位置-x坐標(m)位置-y坐標(m)時間窗084.780592.3331366.3379-381.3379171.832737.6225129.4821-144.4821218.452626.5405211.8747-226.8747316.828930.651581.6287-96.6287410.825286.9999119.0905-134.0905546.316748.110221.4519-36.4519673.37125.5017153.8478-168.8478733.406578.1626173.2852-188.2852861.064264.2355409.8607-424.8607991.551961.34915.4063-20.40631025.430916.9998431.6825-446.68251128.253946.3951157.2171-172.21711281.464639.906480.4074-95.40741373.318135.6978424.7443-439.74431452.585970.4896383.2183-398.2183
[0076]
將nv個異構無人機記作集合將nm個異構任務記作集合uj表示第j個無人機、mk表示第k個任務,建立任務分配模型,獲取無人機uj執行任務mk時的最大收益c
jk
,該過程包括:
[0077][0078]
約束條件:
[0079][0080][0081][0082]
其中,pj是任務的執行列表;x
jk
是一個二進制變量,x
jk
=1表示無人機執行該任務;l
t
表示無人機所能執行任務的最大容量。c
jk
表示為無人機執行任務時所得到的收益,其計算公式定義如下:
[0083][0084]
其中,表示將第k個任務插入到任務列表pj中的第n個位置上去,而表示為無人機執行任務列表pj所能得到的總得分獎勵,所以c
jk
就可以定義為將任務k插入到執行列表中,能夠獲得最大收益提升的某個位置上的收益。而在原始cbba中獎勵函數s定義為:
[0085][0086]
其中,r是任務的靜態價值,λj是一個自定義的折扣系數,表示執行任務的時間,fj表示油耗,d
jk
表示無人機初始位置和任務目標的歐式距離。但是,當任務mk被插入到pj路徑中時,該路徑中后續位置的任務的邊際收益值會受到相應的影響,原始的cbba中并沒有考慮到這一點。而對于邊際成本,原始的cbba中也只是計算了無人機初始位置和任務目標的靜態距離成本,即f
jdjk
,然而,邊際成本在本質上與無人機任務路徑中的實際位置有關。所以,為了提高邊際成本函數的精度,本方法中新添加了對于無人機的航程限制,即:
[0087][0088]
其表示為無人機在新添加任務之后,其任務路徑的航程距離需小于每個無人機最大航程。從而,我們也可以將無人機初始位置和任務目標的靜態距離成本改變成無人機完成mk任務所需的額外航程代價來計算的邊際成本。即:
[0089][0090]
其中,表示在任務列表pj第n個位置插入任務mk時的邊際成本。
[0091]
所以考慮到邊際收益和邊際成本,本方法新定義的邊際獎勵函數為:
[0092][0093]
其中,r0是為了避免總得分獎勵變為負數的基本價值,r是任務的價值,λj是一個自定義的折扣系數,表示執行任務的時間,etk表示任務的最早開始時間,表示邊際成本。
[0094]
在模型構建完成后,本實施例進一步的對無人機進行初始任務分配,其主要包含兩個部分,分別是捆綁包構建階段與沖突解決階段。
[0095]
每個無人機最多能夠執行l
t
個任務,每個無人機也擁有以下的數據信息結構:
[0096]
(1)任務捆綁包(bundle):其中b
jn
是表示無人機競拍到的第n個目標,|bj|表示任務捆綁包中任務的數量,任務捆綁包中的任務按照添加進包中的順序排列。
[0097]
(2)任務時序包(path):pj是指第j個無人機最優的執行順序,p
jn
表示第j個無人機第n個執行的任務,|pj|表示第j個無人機的任務時序包中任務的數量,即第j個無人機無人機按照pj中的任務順序進行任務的執行。
[0098]
(3)贏家集合(winners):z
jk
是第j個無人機記錄的第k項任務的收益最高的無人機序號,nm為進行重分配的任務數量,若當前沒有無人機競拍到任務,則z
jk
=0。
[0099]
(4)贏家收益集合(winner’s bid):表示無人機任務競拍時的最大收益的集合,y
jk
表示第j個無人機記錄的第k項任務的最大收益,若當前沒有無人機競拍到任務,則y
jk
=-1。
[0100]
(5)時間戳(time stamp):表示兩個無人機從對方身上接收信息的時刻的集合,s
ji
表示第j個無人機從第i個無人機處接收信息的時刻,nv表示無人機的數量,該參數用于比較無人機本身的信息狀態,若兩個無人機進行共享某個任務的信息時,時間戳不一致時,無人機需要將對應任務在贏家集合、贏家收益集合中的值進行重置,即將該任務贏家對應的對象的值置為0,、贏家的收益的值置為-1。
[0101]
執行時間集合(time):t
jn
表示第j個無人機開始執行任務時序集pj中第n個任務的時間,即無人機根據任務時序集pj到達任務區執行任務的執行時間。
[0102]
捆綁包構造:每個無人機單元使用順序貪婪的策略來投標多個任務,并添加自己的任務包中直到達到數量限制。當uav uj得到任務mk時,任務mk將被插入到自己的路徑中當前增加邊際收益最多的任務位置,如果任務的收益大于贏家在自己的信息中的出價,任務則將被添加到bundle包中,表示當uav uj得到任務mk時,將其插入到第n個位置時的利潤c
jk
;為了使這些單位在通信中收斂,邊際收益需要逐漸減少,即:
[0103][0104][0105]
沖突解決:在每一輪捆綁包更新之后,無人機共享信息以解決任務認知差異,通過
時間戳度量信息更新時間,統一贏家列表和出價列表。
[0106]
在每一輪捆綁包更新之后,無人機共享信息以解決任務認知差異,通過時間戳度量信息更新時間,統一贏家列表和出價列表。例如,在這個無人機集中,當uav ua收到uav ub的共享任務信息mc時,信息的更新要求如下:
[0107]
當y
ac
<y
bc
時,無人機ua對本地信息進行更新,更新時把y
bc
賦值給y
ac
,把z
bc
賦值給z
ac

[0108]
當y
ac
>y
bc
時,無人機ua不對本地信息進行更新,y
ac
、z
ac
保持不變;
[0109]
當y
ac
=y
bc
時或者當任務中的時間戳沖突不一致時,將y
ac
置為-1,z
ac
置為0;
[0110]
其中,y
bc
表示無人機ub的贏家集合中任務mc的最大收益值;y
ac
表示無人機ua的贏家集合中任務mc的最大收益值;z
bc
表示無人機ub的贏家集合中執行任務mc收益最高的無人機;z
ac
表示無人機ua的贏家集合中執行任務mc收益最高的無人機。
[0111]
在算法的運行過程中,包中的一些任務在沖突解決后會返回到任務池中,經過多次通信后,每個無人機的勝利者列表zj不隨中標方的出價而變化,即任務分配結果達到收斂,運行結果如圖2所示。
[0112]
接著,本實施例進行模型動態信息的構建以及動態事件的生成,首先在發生動態事件時,需要提前獲得該時刻的無人機與任務信息,其中,無人機信息主要包括該時刻無人機在發生動態事件時的位置信息,任務信息包括當前時刻無人機還未完成的任務列表。其中,無人機的動態位置信息的獲得方式如下:
[0113][0114][0115][0116]
其中,t
ψ
表示當前時刻;t
p
表示在t
ψ
之前剛執行完成的上一個任務的開始時間;tn表示在t
ψ
之后將要執行的下一個任務的開始時間;t
p-end
表示上一個任務的結束時間;t
p-dur
表示t
ψ
時刻之前上一個任務的持續時間;χ
x
(t)、χy(t)、χz(t)分別為t時刻無人機在x軸、y軸、z軸的位置。
[0117]
在本實施例中,將動態任務出現的時間隨機設置為第250s,并將該新任務的任務編號設置為15,所以在250時刻時的無人機與任務信息如表3、表4所示,任務分配情況如圖3所示。
[0118]
表3無人機信息表
[0119]
[0120][0121]
表4任務信息表
[0122]
任務編號位置-x坐標(m)位置-y坐標(m)時間窗084.780592.3331366.3379-381.3379861.064264.2355409.8607-424.86071025.430916.9998431.6825-446.68251373.318135.6978424.7443-439.74431452.585970.4896383.2183-398.21831538.238788.4863401.5486

416.5486
[0123]
接本實施例利用優化的部分重分配算法來處理新任務出現的動態事件。在動態事件發生時,若是出現了一個新的任務,對于該動態事件的響應,如果還是采用原始的cbba算法,將會使當前的所有無人機進行任務的再分配,這樣就可能會導致該時刻距離新出現的任務目標很遠的無人機也參與到重分配過程中去,分配的結果也還是距離較遠的無人機執行初始的任務分配方案,新的任務也不會分配給這些無人機,所以,這樣就造成了更多的資源浪費,使不必要的無人機參與到了新的任務分配之中。
[0124]
為了針對以上的問題,本實施例提出了一個無人機的響應半徑的概念,即每個無人機都擁有自身的響應半徑ru,當新任務出現時,每個無人機都會檢測該任務是否是在自己的響應半徑之內,若包含新任務,則該無人機將會參與新的任務重分配,無人機若在新任務的響應范圍內;這些響應半徑中有新任務的無人機將會組成一個新的無人機子團隊ωu來進行最終的任務再分配,響應半徑ru是會根據新出現的任務的價值與時間窗約束來進行相應的變化,當任務的價值越大時,多無人機系統希望允許通過選擇更大的子團隊來進行協調,所以將會采用更大的響應半徑;當任務的開始時間與當前時間越近時,則需要更快的進行任務的分配,所以選擇較小的子團隊即可,則就采用更小的響應半徑。響應半徑的計算公式如下:
[0125][0126]
通過計算得出,本實施例的ru=41.2631,無人機的子團隊信息如表5所示,此時的分配情況如圖4所示。
[0127]
表5無人機子團隊信息表
[0128]
無人機編號位置-x坐標(m)位置-y坐標(m)039.478675.7334433.527898.5542
[0129]
在原始的cbba算法之中,會將任務列表中的所有任務進行分配,所以當出現動態
事件時,若還是使用原始的cbba算法,會將每個無人機初始分配后的執行列表中的任務再進行一次冗余的分配,這也可能會導致在分配之后,無人機也是執行初始分配的任務列表,這樣也就會影響分配效率并造成了一定的資源浪費。針對這個問題,當有新任務出現時,無人機子團隊中的每個無人機將從自己的包中放棄與出現的新任務數量相同的任務,并保持剩余任務的分配關系的穩定。而這些放棄的任務,也將是本身任務列表中價值得分最低的那些,最后這些放棄的任務與新出現的任務一起進行任務的重分配。又因為在捆綁包bj建立的時候無人機是按照順序貪婪的策略將任務進行添加,所以在捆綁包bj中的任務的收益都是依次遞減的。進而,當我們需要在新任務出現時放棄那些相同數目得分較低的任務的時候,就只需要在捆綁包bj的最后刪除相應數量的任務,并將這些任務參與到重置中即可。
[0130]
通過以上的方法,使其能夠在動態事件發生的時候對其進行快速的響應,最后得到如圖5所示的分配結果,其中紅圓點代表無人機子團隊中的成員,藍三角形代表其他的按原任務分配計劃進行的無人機。
[0131]
盡管已經示出和描述了本發明的實施例,對于本領域的普通技術人員而言,可以理解在不脫離本發明的原理和精神的情況下可以對這些實施例進行多種變化、修改、替換和變型,本發明的范圍由所附權利要求及其等同物限定。

技術特征:


1.一種無人機集多任務動態分配方法,其特征在于,具體包括以下步驟:s1、若出現新的動態任務,無人機判斷該任務是否在自己的響應范圍內,若在則參與該任務的再分配;s2、將響應新的動態任務的無人機組成該任務的無人機子團隊,無人機子團隊進行任務再分配;s3、當前無人機將所有需要重分配的任務構成新的任務集合,新的任務集為動態出現的新任務以及無人機子團隊中根據新的動態任務的數量各個無人機從任務列表中刪除最晚添加到任務捆綁包列表的任務,刪除的任務數量與新的動態任務數量一致;s4、無人機之間分享任務的信息并對本地的任務列表進行更新,并將更新的任務列表分享給其他無人機,當無人機的任務列表不再因為共享信息更新時,完成任務分配;對本地的任務列表進行更新的過程包括以下步驟:401、當前無人機計算任務集合中當前候選任務在不同插入位置的收益;402、選擇邊際收益最大時的位置作為當前候選任務的插入點;403、判斷在步驟402插入當前候選任務的邊際收益是否大于本地贏家列表中該任務贏家的收益;若不大于則返回401,計算下一候選任務;404、若大于則將該任務加入當前無人機的任務時序包,判斷當前無人機的任務時序包是否超過上限,若超過則與其他無人機進行任務信息共享,否則返回步驟401計算下一個候選任務;405、當當前無人機的任務時序包中任務數量達到上限時,當前無人機與其他無人機共享任務分配信息,并更新本地的任務信息,若存在無人機的本地任務信息與共享的信息不一致,則更新捆綁包,并執行401;若一致則輸出任務分配結果。2.根據權利要求1所述的一種無人機集多任務動態分配方法,其特征在于,無人機的任務的響應半徑包括:其中,r
u
表示無人機的任務響應半徑;x
max
表示生成地圖空間中的最大距離;λ是一個換算參數;r
max
表示所有任務中最大價值,r
u
表示新增任務的價值;l
max
表示所有任務中最晚開始時間,l
u
表示新增任務的最晚開始時間,t
ψ
表示當前時刻;ω1為平衡靜態價值對響應半徑影響的權重,ω2為平衡截止時間對響應半徑影響的權重。3.根據權利要求1所述的一種無人機集多任務動態分配方法,其特征在于,無人機計算一個任務插入無人機的任務時序包中收益最大的位置的過程包括:約束條件:
其中,nv為無人機的數量,所有無人機形成無人機集合n
m
為任務的數量,所有任務形成任務集合c
jk
表示無人機u
j
執行任務m
k
時的收益;x
jk
是一個二進制變量,x
jk
=1表示無人機u
j
執行任務m
k
,否則表示無人機u
j
未執行任務m
k
;l
t
表示無人機所能執行任務的最大容量。4.根據權利要求3所述的一種無人機集多任務動態分配方法,其特征在于,無人機u
j
執行任務m
k
時的收益c
jk
表示為:約束條件:其中,表示將第k個任務m
k
插入到任務列表p
j
中的第n個位置上形成的任務列表,表示無人機執行任務列表所得獎勵;表示為無人機執行任務列表p
j
所得獎勵;c
jk
[b
i
]表示執行任務列表b
i
的收益;表示執行在任務列表b
i
的末尾加上一個新任務b后的新任務列表的收益。5.根據權利要求4所述的一種無人機集多任務動態分配方法,其特征在于,將第k個任務m
k
插入到任務列表p
j
中的第n個位置上后,無人機執行任務列表p
j
所得獎勵表示為:其中,r0為任務m
k
的基本價值,r為任務m
k
的靜態價值,λ
j
為折扣系數,表示執行任務m
k
的時間,et
k
表示任務m
k
的最早開始時間,表示在任務列表p
j
第n個位置插入任務m
k
時的邊際成本。6.根據權利要求5所述的一種無人機集多任務動態分配方法,其特征在于,在任務列表p
j
第n個位置插入任務m
k
時的邊際成本表示為:其中,表示執行在任務列表p
i
中第n個位置插入任務m
k
后的任務列表中所有任務所需的航程;d(p
i
)表示執行任務列表p
i
中所有任務所需的航程;f
j
表示油耗。7.根據權利要求1所述的一種無人機集多任務動態分配方法,其特征在于,無人機本地的任務信息包括任務捆綁包、任務時序包、贏家列表、贏家收益集合、時間戳以及執行時間集合,其中:任務捆綁包為當前無人機競爭到的任務集合,該包中的任務順序按照添加任務的先后順序進行排列,該捆綁包的大小為無人機最多能執行的任務數量;任務時序包為無人機執行任務的集合,該包中順序按照任務執行的優先順序進行排
列;贏家列表為每項任務中收益最高的無人機的列表,該列表中元素為0,則表示暫未有無人機競拍到該任務;贏家收益集合為每項任務的最高收益,該列表中元素為-1則表示當前沒有無人機競拍到該任務;時間戳為兩個無人機從彼此接收信息的時刻;執行時間集合為無人機根據任務時序集到達任務區執行任務的執行時間。8.根據權利要求7所述的一種無人機集多任務動態分配方法,其特征在于,無人機的贏家列表的更新,即當無人機u
j
得到任務m
k
時,任務m
k
將被插入到無人機u
j
的路徑中當前增加邊際收益最多的任務位置,如果該任務位置的收益大于該任務贏家的收益,則無人機u
j
將該任務添加到自己的任務捆綁包,更新捆綁包并且將任務m
k
的信息共享給其他無人機。9.根據權利要求8所述的一種無人機集多任務動態分配方法,其特征在于,若無人機u
a
收到無人機u
b
的共享的關于任務m
c
的信息時,無人機u
a
執行以下信息的更新:當y
ac
<y
bc
時,無人機u
a
對本地信息進行更新,更新時把y
bc
賦值給y
ac
,把z
bc
賦值給z
ac
;當y
ac
>y
bc
時,無人機u
a
不對本地信息進行更新,y
ac
、z
ac
保持不變;當y
ac
=y
bc
時或者當任務中的時間戳沖突不一致時,將y
ac
置為-1,z
ac
置為0;其中,y
bc
表示無人機u
b
的贏家集合中任務m
c
的最大收益值;y
ac
表示無人機u
a
的贏家集合中任務m
c
的最大收益值;z
bc
表示無人機u
b
的贏家集合中執行任務m
c
收益最高的無人機;z
ac
表示無人機u
a
的贏家集合中執行任務m
c
收益最高的無人機。

技術總結


本發明屬于無人機技術領域,尤其涉及一種無人機集多任務動態分配方法,包括無人機根據動態出現的新任務確定該任務的響應半徑;在該任務響應范圍內的無人組成該任務的無人機子團隊,無人機子團隊競爭該任務;當前無人機將所有需要重分配的任務構成新的任務集合,新的任務集為動態出現的新任務以及無人機子團隊中各個無人機未完成的任務;無人機之間分享任務的信息并對本地的任務列表進行更新,并將更新的任務列表分享給其他無人機,當無人機的任務列表不再因為共享信息更新時,完成任務分配;本發明實現無人機集的動態任務分配,能夠適應復雜多變的任務場景,增強無人機集協同執行任務的時效性,有效解決任務執行過程中出現突發情況的問題。出現突發情況的問題。出現突發情況的問題。


技術研發人員:

劉 黃鑫 江海歡 高鵬

受保護的技術使用者:

重慶郵電大學

技術研發日:

2022.08.19

技術公布日:

2022/10/17


文章投稿或轉載聲明

本文鏈接:http://m.newhan.cn/zhuanli/patent-1-9736-0.html

來源:專利查詢檢索下載-實用文體寫作網版權所有,轉載請保留出處。本站文章發布于 2022-12-02 22:03:28

發表評論

驗證碼:
用戶名: 密碼: 匿名發表
評論列表 (有 條評論
2人圍觀
參與討論