基于故障網(wǎng)格的航跡規(guī)劃算法設(shè)計(jì)的制作方法
【專利摘要】本發(fā)明提供一種基于環(huán)境的網(wǎng)格劃分的航跡規(guī)劃方法,用于無人機(jī)航跡規(guī)劃,所述方法將飛行覆蓋區(qū)域劃分為二維網(wǎng)格和/或三維網(wǎng)絡(luò),將地形障礙及各種威脅建模為網(wǎng)格中的故障節(jié)點(diǎn),所述規(guī)劃方法包括初始化、環(huán)境建模及節(jié)點(diǎn)標(biāo)注、最小連通故障區(qū)塊識別和其邊界構(gòu)造、最短路由計(jì)算的步驟。本發(fā)明提出的航跡規(guī)劃方法復(fù)雜度與設(shè)計(jì)的網(wǎng)格結(jié)點(diǎn)個(gè)數(shù)成線性關(guān)系,復(fù)雜度低。
【專利說明】基于故障網(wǎng)格的航跡規(guī)劃算法設(shè)計(jì)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種無人飛行系統(tǒng)(Unmanned Aerial System, UAS)的航跡規(guī)劃方法,特別是基于對飛行區(qū)域進(jìn)行二維和三維網(wǎng)格劃分的航跡規(guī)劃方法,屬于無人機(jī)航跡規(guī)劃【技術(shù)領(lǐng)域】。
技術(shù)背景
[0002]航跡規(guī)劃系統(tǒng)的任務(wù)是根據(jù)飛行任務(wù)、威脅、天氣、空中位置及地形數(shù)據(jù)等各種因素產(chǎn)生最佳路徑,一般需要滿足兩方面的指標(biāo):一是在規(guī)劃過程中要求各類威脅盡可能的??;二是要求路徑盡可能的短。
[0003]航跡規(guī)劃主要解決以下兩個(gè)方面的問題:
[0004](a)戰(zhàn)場環(huán)境建模。戰(zhàn)場環(huán)境由兩部分組成:一是自然環(huán)境模型。主要有地形、各種氣候的模型,它們對于航路規(guī)劃的影響是各不相同的。二是各種威脅的模型,主要來自敵方的防空炮火威脅,雷達(dá)威脅。
[0005](b)路徑最短要求。要求優(yōu)化結(jié)果是在各種威脅環(huán)境約束下的最短航路。往往需要采用優(yōu)化算法來計(jì)算最短路徑。以(a)的環(huán)境建模后所提供的各種因素作為約束條件,再附加一些相關(guān)條件如飛機(jī)機(jī)動性(爬升能力和極限高度,最小轉(zhuǎn)彎半徑等等),飛機(jī)油量等參數(shù)來進(jìn)行最優(yōu)化計(jì)算。
[0006]目前的航跡規(guī)劃算法中比較有代表性的有:人工勢場法,A*算法,Dijkstra算法,概略圖法,動態(tài)規(guī)劃法,遺傳算法,蟻群算法,粒子群算法等。其中粒子群算法由于其較少的參數(shù)、較好的收斂性、較強(qiáng)的魯棒性等特點(diǎn),在許多優(yōu)化問題中已經(jīng)得到充分的應(yīng)用,近來普遍受到學(xué)者們的重視。另外,A*算法對于靜態(tài)航跡規(guī)劃非常有效,而其變種D*和R*算法則可以更好地適應(yīng)動態(tài)航跡規(guī)劃。
[0007]在現(xiàn)有技術(shù)中有將整個(gè)規(guī)劃空間劃分為多個(gè)矩形子區(qū)域,同時(shí)將包含了障礙物的單元格設(shè)置為不可行單元。通過引入距離度量和進(jìn)行距離變換實(shí)現(xiàn)V圖的柵格劃分。每一個(gè)單元格的值是該單元格到最近障礙物的距離,距離公式由式(I)給出,其中將并排相連的格子間距離定義為10,對角相接的格子間距離定義為14(圖1)。
[0008]u (i, j) =Min (u (1-1, j -1) +b, u (1-1, j) +a, u (1-1, j + 1) +b, u (i, j -1) +a, u (i, j+1) +a, u (i+1, j -1) +b, u (i+1, j) +a, u (i+1, j+1) +b) (I)
[0009]其中,a=10,b=14為柵格距離參數(shù),u(i,j)表示第i行j列的柵格到障礙物的距離。
[0010]通過連接距離每一個(gè)障礙物距離最大的單元格,可得到柵格V圖。圖2(a)給出了在有A、B兩個(gè)障礙物時(shí)的距離圖像;圖2(13)給出了由邊界跟蹤而得到的柵格V圖(黑色柵格)。以此柵格V圖作為初始路徑,可運(yùn)用各種優(yōu)化算法選擇合適的路徑段,進(jìn)行避障路徑規(guī)劃。這種做法實(shí)際上可以認(rèn)為將單元格對應(yīng)為網(wǎng)格中的一個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)度數(shù)為8,即每個(gè)節(jié)點(diǎn)與其相鄰的8個(gè)節(jié)點(diǎn)相連接,但是對角線上的連線被賦予更大的距離值(見圖2(c))。[0011]將規(guī)劃空間劃分為離散的二維網(wǎng)格以后再采用各種優(yōu)化算法進(jìn)行最優(yōu)路徑計(jì)算的方法在諸多論文中均可見到。很少有工作是基于三維的情形的,通常的做法是在經(jīng)過二維規(guī)劃得到能保證滿足無人機(jī)水平機(jī)動約束的航跡后,進(jìn)行高度規(guī)劃產(chǎn)生三維航跡。這種方法并沒有充分考慮和利用三維空間的信息,僅僅在已經(jīng)規(guī)劃好的二維航跡上考慮高程,大大局限了航跡的最優(yōu)性,特別地,這種方法僅僅使用了威脅和地形在某一高度時(shí)的信息來設(shè)計(jì)水平航跡,忽略了在不同高度上威脅和地形的變化。由此得到的優(yōu)化算法只能是基于某一高度上的優(yōu)化算法。而直接基于三維空間的航跡規(guī)劃,充分考慮了地形、威脅等因素的影響,能夠進(jìn)行全局優(yōu)化。但三維航跡規(guī)劃存在以下困難:第一,計(jì)算復(fù)雜度太大,難以做到實(shí)時(shí)航跡規(guī)劃和實(shí)施航跡重規(guī)劃;第二,通常的算法很容易陷入局部最優(yōu)解。本發(fā)明提出將環(huán)境劃分為三維網(wǎng)格,通過規(guī)避障礙,快速計(jì)算出從出發(fā)點(diǎn)到目的地的最短路由,所提出的方法可以提高航跡規(guī)劃的實(shí)時(shí)性,同時(shí)避免陷入局部最優(yōu)。
【發(fā)明內(nèi)容】
[0012]本發(fā)明的目的是為解決無人機(jī)航跡規(guī)劃計(jì)算復(fù)雜度太大,實(shí)時(shí)航跡規(guī)劃困難等以及容易陷入局部搜索的問題,提出了一種基于環(huán)境的網(wǎng)格劃分的航跡規(guī)劃方法。
[0013]航跡規(guī)劃的目的就是通過避開障礙而生成可能的路徑。本發(fā)明首先將飛行覆蓋區(qū)域劃分為二維網(wǎng)格,將地形障礙,各種威脅建模為網(wǎng)格中的故障節(jié)點(diǎn)。如圖3所示,圖中灰色區(qū)域?yàn)檎系K區(qū)域,填充了斜線的區(qū)域則為被障礙占用的區(qū)域。從起點(diǎn)到終點(diǎn)建立了一條以直線段連接的路徑。進(jìn)一步,將飛行覆蓋區(qū)域劃分為三維網(wǎng)格,地形和各種威脅建模為各種的故障節(jié)點(diǎn),以考慮三維航跡規(guī)劃問題。
[0014]如果將所劃分的網(wǎng)格對應(yīng)為網(wǎng)絡(luò)拓?fù)渚W(wǎng)格(Mesh),將障礙物或地形起伏對應(yīng)為Mesh中的故障節(jié)點(diǎn),則問題轉(zhuǎn)化為基于故障網(wǎng)格的路由算法。即在存在故障的Mesh中找一條從起點(diǎn)s到終點(diǎn)d的最短路徑。
[0015]整個(gè)航跡規(guī)劃主要包括初始化,環(huán)境建模(二維或三維網(wǎng)格生成)及節(jié)點(diǎn)標(biāo)繪,最小連通故障區(qū)塊(MCC)識別和其邊界構(gòu)造,最短路由計(jì)算,再根據(jù)是否有新的威脅信息和是否需要細(xì)化做進(jìn)一步的規(guī)劃(參見圖4)。
【專利附圖】
【附圖說明】
[0016]圖1為現(xiàn)有技術(shù)中柵格距離度量示意圖;
[0017]圖2為現(xiàn)有技術(shù)中根據(jù)等距離線生成V圖:其中圖2 (a)給出了在有A、B兩個(gè)障礙物時(shí)的距離圖像;圖2(13)給出了由邊界跟蹤而得到的柵格V圖;圖2(c)為避障路徑規(guī)劃示意圖。
[0018]圖3為本發(fā)明的單元格分割法示意圖;
[0019]圖4為本發(fā)明中的航跡規(guī)劃基本步驟示意圖;
[0020]圖5為本發(fā)明中的節(jié)點(diǎn)標(biāo)注和MCC邊界構(gòu)造;
[0021]圖6為本發(fā)明的算法的仿真實(shí)驗(yàn)結(jié)果數(shù)據(jù)。
【具體實(shí)施方式】:
[0022]以下部分將結(jié)合說明書附圖對本發(fā)明的【具體實(shí)施方式】作詳細(xì)說明:[0023]步驟1.初始化
[0024]載入地圖及高程數(shù)據(jù),確定飛行區(qū)域?qū)?yīng)的地圖范圍以及劃分長、寬和高的單位長度,從而確定所要建立的三維空間的尺寸I^n2和113。載入各種雷達(dá)、炮火威脅數(shù)據(jù)。給定出發(fā)點(diǎn)和目的地信息。
[0025]步驟2.環(huán)境建模
[0026]UAV飛行環(huán)境規(guī)劃的三維空間即表示為幾何空間區(qū)域{(X,y, z) I O≤≤X≤Ii1, O≤y≤n2, O≤z≤n3}。在進(jìn)行二維建模時(shí),將UAV飛行環(huán)境水平劃分為二維Ii1Xn2網(wǎng)格(Mesh,記作M2)。由n3個(gè)M2按照單位距離堆疊起來,并連接對應(yīng)節(jié)點(diǎn)形成一個(gè)三維Ii1Xn2Xn3網(wǎng)格(記作M3)。
[0027]下面給出下文將用到的一些基本術(shù)語。M2有Ii1Xn2個(gè)節(jié)點(diǎn),內(nèi)部各節(jié)點(diǎn)度數(shù)為4,每個(gè)節(jié)點(diǎn)u給定一個(gè)地址(xu, yu),其中O≤Xu≤η” O≤yu≤n2。節(jié)點(diǎn)(xu+1, yu)稱為節(jié)點(diǎn)u的+X鄰居,相應(yīng)地,節(jié)點(diǎn)(xu, yu+1),(Xlri, yu),(xu, Ytri)稱為節(jié)點(diǎn)u的+Y,- X, - Y鄰居。任何兩點(diǎn)u和V之間的曼哈頓(Manhattan)距離,用M(u, v)表示,定義為它們的幾何距離
xV I I °假定節(jié)點(diǎn)S (xs, ys)為源節(jié)點(diǎn),u為當(dāng)前節(jié)點(diǎn),d (xd, yd)為目標(biāo)節(jié)點(diǎn)。不失一般性,假設(shè)xs=ys=0,xd, yd ^ O。由于存在故障節(jié)點(diǎn),可能不存在長度為M(s, d)的路徑。令D(s, d)為s和d之間的最短路徑長度,且D(s, d)≤M(s, d)。一般用[x:x',y:y']表示一個(gè)四個(gè)節(jié)點(diǎn)分別為(x,y),(x,y' ),(χ, ,i')和(χ',y)的矩形區(qū)域。特別地,[x:x,y:y' ]/[χ:χ',y:y]分別代表一條沿著Υ/Χ方向的線段。三維網(wǎng)格M3有Ii1Xn2Xn3個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)u給定一個(gè)地址(xu, yu, zu),類似地,可定義兩個(gè)節(jié)點(diǎn)是否相鄰以及節(jié)點(diǎn)的+Χ,+Υ,+Ζ,-X, - Y, -Z 鄰居。
[0028]在二維(三維)網(wǎng)格中,useless節(jié)點(diǎn)定義為一旦路徑到達(dá)該節(jié)點(diǎn)后,下一步必須沿著_ X/ _ Y ( - X/ - Y/ - Z)方向移動,使得路徑不是最短的;當(dāng)一個(gè)非故障節(jié)點(diǎn)的+X和+Y(+X, +Y和+Z)方向的鄰居節(jié)點(diǎn)為故障節(jié)點(diǎn)時(shí),稱之為can’ t-reach節(jié)點(diǎn)。
[0029]首先給出二維航跡規(guī)劃方法,即針對二維Mesh M2的情形給出得到最短路徑的方法。
[0030]步驟3.二維網(wǎng)格M2初始值給定和標(biāo)注
[0031]一旦節(jié)點(diǎn)所在范圍屬于地形遮擋或者炮火、雷達(dá)等威脅區(qū)域,則將節(jié)點(diǎn)設(shè)置為有故障(不可用)。最初,所有故障節(jié)點(diǎn)都被標(biāo)注為faulty,而所有非故障節(jié)點(diǎn)被標(biāo)注為safe。
[0032]如果對于一個(gè)safe節(jié)點(diǎn)的+X鄰居和+Y鄰居都是faulty和useless 二者之一,那么這個(gè)節(jié)點(diǎn)就被標(biāo)注為useless ;如果其_ X鄰居和_ Y鄰居都被標(biāo)注為faulty和can' t-reach 二者之一,則標(biāo)注該節(jié)點(diǎn)為can' t-reach。如此迭代標(biāo)注直至沒有新的useless 和 can' t-reach 節(jié)點(diǎn)出現(xiàn)為止。所有的 faulty,useless 和 can' t-reach 節(jié)點(diǎn)都稱為unsafe節(jié)點(diǎn),其他節(jié)點(diǎn)則稱為safe節(jié)點(diǎn)。假定整個(gè)網(wǎng)絡(luò)是連通的,并且源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)是標(biāo)注為safe的節(jié)點(diǎn)。假設(shè)兩個(gè)相鄰的unsafe節(jié)點(diǎn)之間有一條邊相連,則稱通過這種方式得到的含有故障節(jié)點(diǎn)的區(qū)塊為最小連通故障區(qū)塊。所有MCC都是互不相交的;任何兩個(gè)MCC之間的海明距離至少為2,即總存在一條可以從兩個(gè)MCC之間穿過的路徑。通過使用局部算法,可見構(gòu)造MCC的復(fù)雜度和最大故障區(qū)塊的直徑是成比例的。稱具有一個(gè)unsafe鄰居節(jié)點(diǎn)的safe節(jié)點(diǎn)為相應(yīng)MCC區(qū)塊的edge節(jié)點(diǎn)。一個(gè)safe節(jié)點(diǎn),如果它的_ X和-Y方向的鄰居均為同一 MCC的edge節(jié)點(diǎn),則稱之為對角節(jié)點(diǎn)(opposite corner);而初始角節(jié)點(diǎn)(initialization corner)定義為一個(gè)safe節(jié)點(diǎn),它在+X和+Y方向上的鄰居都是同一個(gè)MCC的edge節(jié)點(diǎn)。
[0033]步驟3.1.最初,標(biāo)注所有故障節(jié)點(diǎn)為faulty,所有非故障節(jié)點(diǎn)為safe。
[0034]步驟3.2.如果節(jié)點(diǎn)u標(biāo)為safe,但是其+X鄰居和+Y鄰居都為faulty或者useless,將其標(biāo)為 useless。
[0035]步驟3.3.如果節(jié)點(diǎn)u為safe,但是其_ X方向的鄰居和- Y方向的鄰居都是faulty 或者 can' t-reach,標(biāo)注 u 為 can' t-reach。[0036]步驟3.4.遞歸地標(biāo)注節(jié)點(diǎn)直至沒有新的useless或者can' t-reach節(jié)點(diǎn)出現(xiàn)。
[0037]步驟3.5.所有的 faulty, useless 和 can' t-reach 節(jié)點(diǎn)也稱為 unsafe 節(jié)點(diǎn)。
[0038]步驟4.MCC形狀確定
[0039]MCC形狀的確定,即是對所有故障區(qū)域邊界的確定。無人機(jī)航跡不能穿越這些區(qū)域,否則實(shí)際飛行中會出現(xiàn)撞山或者進(jìn)入危險(xiǎn)區(qū)域等情況。本發(fā)明采用通過將局部邊界信息在有限區(qū)域內(nèi)廣播的方法來確定MCC的形狀。
[0040]兩條標(biāo)識信息(初始化為空),各自攜帶部分區(qū)域信息,從初始角節(jié)點(diǎn)按順時(shí)針和逆時(shí)針方向沿MCC的邊廣播出去直至到達(dá)對角節(jié)點(diǎn),通過收集它們所經(jīng)過的節(jié)點(diǎn)的位置信息,MCC的形狀即可在對角節(jié)點(diǎn)處確定。這種廣播繼續(xù)進(jìn)行,直至將形狀信息F(C)帶回到初始角節(jié)點(diǎn)。在F(C)以下的區(qū)域稱為禁區(qū)(forbidden region),標(biāo)為RY(c);而緊鄰F(c)以上的區(qū)域稱為臨界區(qū)域(critical region),標(biāo)為R' Y(c)。為引導(dǎo)路由過程,-X邊界信息將攜帶F(c),Ry(c)和R' Y(c)沿x=x。方向廣播直至到達(dá)網(wǎng)格邊界,如果途中與另外一個(gè)MCC F(v)相遇,則右轉(zhuǎn)沿著F(V)的邊界繼續(xù)前進(jìn),從角點(diǎn)V開始,Ry(V)將和Ry(C)合并(Ry(C)=Ry(C) U RY(v))。類似地,-Y 邊界信息將攜帶 F(C) ,Rx(C)和 R' x(c)沿 y=y。方向廣播直至到達(dá)網(wǎng)格邊界,在必要的時(shí)候左轉(zhuǎn)。圖5是上述過程的一個(gè)圖示,其中深灰色區(qū)域?yàn)榻麉^(qū),淺灰色區(qū)域?yàn)榕R界區(qū)。
[0041]從(0,0)到d (xd,yd) (xd,yd≥0)的MCC標(biāo)注過程可描述為以下步驟=MCC-F (c)邊界構(gòu)造
[0042]步驟4.1.從初始角節(jié)點(diǎn)C,兩條標(biāo)識信息(一條按順時(shí)針,另一條按逆時(shí)針方向)沿MCC的邊廣播出去直至到達(dá)對角節(jié)點(diǎn)c',所有中間經(jīng)過的角節(jié)點(diǎn)的位置信息都被記錄,從而在c'處即可得到形狀F(c)。然后可以標(biāo)識出臨界區(qū)域和禁區(qū)(Rx(c), Ry(C)1Ri x(c),R' y(c))。
[0043]步驟4.2.在對角節(jié)點(diǎn)c '的三元組信息(此處及后文中,三元組均指包含一個(gè)MCC的形狀信息,對應(yīng)的禁區(qū)信息,以及對應(yīng)的臨界區(qū)域信息)確定以后,將廣播為(F(c),RY+x(c),R' Y(c)),從節(jié)點(diǎn) c,三元組(F(c),Rx (c),R' x (C))沿著直線 y=y。廣播。如果途中與另外一個(gè)MCC如F(V)相遇,則沿著F(V)的邊界左轉(zhuǎn),此后,將Rx(V)合并到Ry(c)。
[0044]步驟4.3.從節(jié)點(diǎn)c',兩個(gè)方向的廣播將繼續(xù)直到標(biāo)識信息返回初始角節(jié)點(diǎn)C。
[0045]步驟4.4.從節(jié)點(diǎn)c,三元組(F(c), Ry(c),R' y (C))沿著直線x=x。廣播。如果途中與另外一個(gè)MCC如F(V)相遇,則沿著F(V)的邊界右轉(zhuǎn),此后,將Ry(V)合并到Rx(c),構(gòu)建-X邊界,在每一個(gè)邊界節(jié)點(diǎn)處形成三元組(F(c),RY_x(c),R, Y(c))。
[0046]步驟4.5.同時(shí),在每一個(gè)邊界節(jié)點(diǎn)處收到的三元組將沿X維然后再沿+Y維方向廣播直到到達(dá)另外一個(gè)邊界。對每一個(gè)節(jié)點(diǎn),會收到兩個(gè)邊界的三元組,得到(F(C) ,Ry(C)JY(C))。
[0047]步驟5.計(jì)算最短路由
[0048]計(jì)算得到從出發(fā)點(diǎn)s到目的地d的最短路由。即找出一條從出發(fā)點(diǎn)到目的地的最短安全飛行路徑(避開所有障礙和威脅)。
[0049]步驟5.1.如果當(dāng)前節(jié)點(diǎn)u=d,停止。
[0050]步驟5.2.如果u沒有被堵住,應(yīng)用以下路由決策向前發(fā)送路由信息:
[0051]步驟5.2.1.如果xd>0且yd>0,并且+X/+Y鄰居沒有故障,則將+X/+Y方向添加至可選前進(jìn)方向集P。
[0052]步驟5.2.2.對在點(diǎn)u處找到的每一個(gè)三元組,如果從某個(gè)方向走會導(dǎo)致路由進(jìn)入禁區(qū)R(c),則從P中移除該方向。 [0053]步驟5.2.3.應(yīng)用Disha全自適應(yīng)路由(任何一種全自適應(yīng)路由均可)從集合P中選擇前進(jìn)方向。
[0054]步驟5.2.4.沿著選定的方向發(fā)送路由信息。
[0055]否則,應(yīng)用下面的繞行方法。
[0056]步驟5.3.由步 驟4的MCC的邊界構(gòu)建可知,在節(jié)點(diǎn)s處可知所有阻礙曼哈頓路的MCC區(qū)塊序列的信息,從中找到最接近d的一個(gè)序列(F1, F2,…,F(xiàn)n)。
[0057]步驟5.4.使用公式(2)計(jì)算路徑中最短的一個(gè)D (s,d): (a)通過節(jié)點(diǎn)C1,標(biāo)為Ptl,(b)通過節(jié)點(diǎn)c' n,標(biāo)為Pn,和(c)經(jīng)過兩個(gè)連續(xù)的MCC(Fi和Fi+1, I≤i≤η),標(biāo)為P—
[0058]步驟5.5.如果PcZPn被選為最短路徑,應(yīng)用步驟5.5.1~5.5.4到達(dá)中間目標(biāo)cT =C1ZV n。否則,對于選中的最短路SPi (I≤i〈n),應(yīng)用步驟5.5.1~5.5.4形成曼哈頓距離路徑M(s,c' J和M(c' i,Ci+1)來到達(dá)中間目標(biāo)節(jié)點(diǎn)d' =ci+1。
[0059]步驟5.5.1.如果xd>0/yd>0并且+X/+Y鄰居不是故障節(jié)點(diǎn),則增加+X/+Y方向到可選前進(jìn)方向集合P中。
[0060]步驟5.5.2.對于在當(dāng)前節(jié)點(diǎn)u找到的每個(gè)三元組(包括:F (c),R(c),R' (c)),從P中移除一個(gè)方向,如果當(dāng)d e R' (C)時(shí),從該方向?qū)⑹沟寐酚蛇M(jìn)入R(C)。
[0061]步驟5.5.3.應(yīng)用任何全自適應(yīng)路由從集合P中選擇一個(gè)前進(jìn)方向。
[0062]步驟5.5.4.將路由信息沿選定的方向傳
【權(quán)利要求】
1.一種基于環(huán)境的網(wǎng)格劃分的航跡規(guī)劃方法,用于無人機(jī)航跡規(guī)劃,其特征在于,所述方法將飛行覆蓋區(qū)域劃分為二維網(wǎng)格和/或三維網(wǎng)絡(luò),將地形障礙及各種威脅建模為網(wǎng)格中的故障節(jié)點(diǎn),所述規(guī)劃方法包括初始化、環(huán)境建模及節(jié)點(diǎn)標(biāo)注、最小連通故障區(qū)塊(MCC)識別和其邊界構(gòu)造、最短路由計(jì)算的步驟。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述初始化的步驟包括:載入地圖及高程數(shù)據(jù),確定飛行區(qū)域?qū)?yīng)的地圖范圍以及劃分長、寬和高的單位長度,從而確定所要建立的三維空間的尺寸和/?3 ;載入各種雷達(dá)、炮火威脅數(shù)據(jù);給定出發(fā)點(diǎn)和目的地信息。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述環(huán)境建模包括二維建模和/或三維建模,在進(jìn)行二維建模時(shí),將無人機(jī)飛行環(huán)境水平劃分為二維/Va網(wǎng)格M2 ;三維建模時(shí)則由A個(gè)A按照單位距離堆疊起來,并連接對應(yīng)節(jié)點(diǎn)形成一個(gè)三維網(wǎng)格M3。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,二維網(wǎng)格M2初始值給定和節(jié)點(diǎn)標(biāo)注具體包括以下步驟: 1)標(biāo)注所有故障節(jié)點(diǎn)為所有非故障節(jié)點(diǎn)為safe; 2)如果節(jié)點(diǎn)u標(biāo)為但是其+Z鄰居和+7鄰居都為faulty或者將其標(biāo)為 useless ; 3)如果節(jié)點(diǎn)?為5?/?,但是其方向的鄰居和-7方向的鄰居都是或者can ’ t~reach,u 為 can ’ t~reach ; 4)遞歸地標(biāo)注節(jié)點(diǎn)直至沒有新的useless或者can’ t~reach節(jié)點(diǎn)出現(xiàn); 5)將所有的faulty,useless 和 can' t~reach節(jié)點(diǎn)稱為unsafe節(jié)點(diǎn)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,二維網(wǎng)格的MCC識別和邊界構(gòu)造是通過將局部邊界信息在有限區(qū)域內(nèi)廣播的方法來確定MCC的形狀,具體包括以下步驟: .1)從初始角節(jié)點(diǎn)C,順時(shí)針和逆時(shí)針兩條標(biāo)識信息沿MCC的邊廣播出去直至到達(dá)對角節(jié)點(diǎn)c’,所有中間經(jīng)過的角節(jié)點(diǎn)的位置信息都被記錄,從而在c’處即可得到形狀A(yù)(c),然后可以標(biāo)識出臨界區(qū)域; .2)在對角節(jié)點(diǎn)C,的三元組信息確定以后,將廣播為(Fic),RY+X{c),R'Y{c)),從節(jié)點(diǎn)c,三元組(Mc),Rxic\ Y?)沿著直線= 7,廣播;如果途中與另外一個(gè)相遇,則沿著/的邊界左轉(zhuǎn),此后,將兄⑴合并到冬⑷; .3)從節(jié)點(diǎn)C,,兩個(gè)方向的廣播將繼續(xù)直到標(biāo)識信息返回初始角節(jié)點(diǎn)c; .4)從節(jié)點(diǎn)C,三元組(F(c\Ry{c), R' y{c))沿著直線z = &廣播,如果途中與另外一個(gè)MCC如/相遇,則沿著/的邊界右轉(zhuǎn),此后,將/P?合并到兄(C),構(gòu)建-Z邊界,在每一個(gè)邊界節(jié)點(diǎn)處形成三元組F(C),RY^x{c), ^Ac)); .5)同時(shí),在每一個(gè)邊界節(jié)點(diǎn)處收到的三元組將沿Z維然后再沿+7維方向廣播直到到達(dá)另外一個(gè)邊界;對每一個(gè)節(jié)點(diǎn),會收到兩個(gè)邊界的三元組,得到F(c),RY{c), 7?’,(c))。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,二維網(wǎng)格尋找最短路徑的步驟包括: .1)如果節(jié)點(diǎn)《= t/,則停止,其中(6/表示目的地; .2)如果《沒有被堵住,應(yīng)用路由決策向前發(fā)送路由信息,否則,應(yīng)用下面的繞行方法: . 2.1)從MCC的邊界構(gòu)造的步驟中在節(jié)點(diǎn)s處獲得的序列信息中,從中找到最接近V的一個(gè)序列(/7I, F2,…,F(xiàn)n); .2.2)計(jì)算路徑中最短的一個(gè)DCs,?/):其中通過節(jié)點(diǎn)C1,標(biāo)為^ ;通過節(jié)點(diǎn)〃\,標(biāo)為Pn ;經(jīng)過兩個(gè)連續(xù)的MCC,標(biāo)為Pi ; . 2.3)如果Λ/A被選為最短路徑,則到達(dá)的中間目標(biāo)節(jié)點(diǎn)為f=C1否則,對于選中的最短路徑Λ.,其中I £ i〈 /?,則到達(dá)的中間目標(biāo)節(jié)點(diǎn)為< =Cino
7.根據(jù)權(quán)利要求3所述的方法,其特征在于,三維網(wǎng)格M3初始值給定和節(jié)點(diǎn)標(biāo)注具體包括以下步驟: 1)所有故障節(jié)點(diǎn)標(biāo)注為faulty,所有非故障節(jié)點(diǎn)標(biāo)注為safe; 2)如果節(jié)點(diǎn)U為safe,但是其鄰居,_7鄰居,和-Z鄰居為faulty或者can ’ t~reach,u 為 can ’ t~reach ; 3)遞歸地標(biāo)注節(jié)點(diǎn)直至沒有新的can’ t-reach節(jié)點(diǎn)出現(xiàn); 4)所有的faulty和can ’ t-reach節(jié)點(diǎn)都稱為unsafe節(jié)點(diǎn)。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,三維網(wǎng)格中MCC識別和邊界構(gòu)造包括以下步驟:
1)如果在Z= A處,iT截面有一個(gè)新故障節(jié)點(diǎn)? 1.ux, uy, Α),則確定有一個(gè)新的MCC,確定點(diǎn)(?, uy, h + I)為邊界節(jié)點(diǎn),同時(shí)以點(diǎn)《為中心,采用深度優(yōu)先搜索策略,在Z7平面上逐層向四周擴(kuò)展來判斷點(diǎn)u的鄰居節(jié)點(diǎn)是否為邊界節(jié)點(diǎn)并收集邊界點(diǎn)信息,找到該MCC在這一層的所有邊界節(jié)點(diǎn)以后,將邊界信息沿著邊界節(jié)點(diǎn)進(jìn)行廣播,對于在Z = A + I的 截面已經(jīng)存在的邊界,則在Z = A的Ζ7截面沿著該邊界從故障區(qū)域中心逐層向外搜索并確定邊界; 2)如果兩個(gè)威脅區(qū)域有重疊部分,則兩個(gè)MCC會在某一個(gè)高度處開始相交,這時(shí)將在這個(gè)高度之上的兩個(gè)MCC在本Ζ7截面處合并為一個(gè)MCC ; 3)根據(jù)實(shí)際情況,人為地給定一個(gè)高度限制區(qū)域; 4)逐層掃描結(jié)束,并且給定了高度限制區(qū)域以后,將邊界信息在X?和7Ζ兩個(gè)平面進(jìn)行廣播,同時(shí)確定禁區(qū)和臨界區(qū)域,并確定邊界。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,最短路由的確定包括: .1)可行性檢查:在源節(jié)點(diǎn),沿著+X,+7方向發(fā)送檢測消息,當(dāng)一個(gè)如沿著+Z方向的信息遇到另一個(gè)MCC,它將加入(-Ζ,+10 -和(-1,+^)-邊界作為邊界構(gòu)造;源節(jié)點(diǎn)將檢查是否這兩個(gè)檢測信息能夠分別到達(dá)表面1!?:?, Q'.yd,[0:?, yd\yd,;如果不能達(dá)到這兩個(gè)表面中的任意一個(gè),則停止路由,因?yàn)椴淮嬖诼D距離路徑; .2)當(dāng)前節(jié)點(diǎn)"路由決策和消息傳送,包括源節(jié)點(diǎn)&具體為: .2.1)將所有可選的方向增加到前進(jìn)方向集合A中,找到所有記錄的MCC ; . 2.2)對于上一步驟中找到的每個(gè)MCC,從A中去除那些使得目標(biāo)點(diǎn)在臨界區(qū)域而?的鄰居沿這個(gè)方向?qū)⒌竭_(dá)禁區(qū)的方向; . 2.3)應(yīng)用全自適應(yīng)和最小路由處理從集合A中選擇一個(gè)前進(jìn)方向; . 2.4)將路由信息沿這選定的方向向前發(fā)送到下一節(jié)點(diǎn)。
10.根據(jù)權(quán)利要求4或7所述的方法,其特征在于,節(jié)點(diǎn)定義為一旦路徑到達(dá)該節(jié)點(diǎn)后,下一步必須沿著-1 /-7或者-Z /-Y /-Z方向移動,使得路徑不是最短的;當(dāng)一個(gè)非故障節(jié)點(diǎn)的+Ζ/+7或者+Ζ/+7/+Ζ方向的鄰居節(jié)點(diǎn)為故障節(jié)點(diǎn)時(shí),稱之為can,t-reach 節(jié)點(diǎn)。
【文檔編號】G01C21/20GK103528586SQ201310478422
【公開日】2014年1月22日 申請日期:2013年10月31日 優(yōu)先權(quán)日:2013年10月31日
【發(fā)明者】向永紅, 于洋, 姜梁, 郭茜, 張國勇, 吳國強(qiáng), 王靜, 尹中義 申請人:中國航天時(shí)代電子公司