專利名稱::一種基于真實(shí)地形的保持團(tuán)隊(duì)cgf隊(duì)形的路徑規(guī)劃方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種基于真實(shí)地形的保持團(tuán)隊(duì)CGF(ComputerGeneratedForces,計(jì)算機(jī)生成兵力)隊(duì)形的路徑規(guī)劃方法,屬于計(jì)算機(jī)虛擬現(xiàn)實(shí)和人工智能
技術(shù)領(lǐng)域:
。技術(shù)背景虛擬現(xiàn)實(shí)作為一種高度逼真的模擬人在自然環(huán)境中視、聽、動等行為的人機(jī)交互技術(shù),要求所創(chuàng)建的場景真實(shí)可信,并且產(chǎn)生的虛擬實(shí)體的行為能夠逼近人類的行為,這無疑涉及到眾多領(lǐng)域中的各種前沿技術(shù)。一種基于真實(shí)地形的保持團(tuán)隊(duì)CGF隊(duì)形的路徑規(guī)劃方法主要解決虛擬環(huán)境中CGF團(tuán)隊(duì)從起點(diǎn)位置到目標(biāo)位置的路徑規(guī)劃問題,并且要求為團(tuán)隊(duì)中每個(gè)CGF規(guī)劃出的路徑滿足(1)與環(huán)境中的靜態(tài)障礙物不發(fā)生碰撞;(2)相互之間不發(fā)生碰撞;(3)各個(gè)成員在按照路徑行進(jìn)時(shí)滿足一定的幾何形狀(隊(duì)形);(4)每個(gè)成員按照規(guī)劃的路徑能夠達(dá)到目標(biāo)位置。團(tuán)隊(duì)CGF中每個(gè)成員相互協(xié)作完成一個(gè)復(fù)雜的任務(wù),由于成員任務(wù)之間的關(guān)聯(lián)性,在執(zhí)行任務(wù)過程中相互之間有一定的位置約束,如自然界中,動物如魚類、螞蟻、蜜蜂等在進(jìn)行覓食,防御外來攻擊式形成一種特殊的幾何圖案,并在運(yùn)動的過程中保持這種圖案不變。機(jī)器人團(tuán)隊(duì)在完成如搬運(yùn)較大的物體、圍獵、復(fù)雜地面搜索等任務(wù)時(shí),需要形成一定的隊(duì)形,從而保證任務(wù)的順利完成。在軍事上,如士兵團(tuán)隊(duì),飛機(jī)團(tuán)隊(duì),坦克團(tuán)隊(duì)等,在執(zhí)行任務(wù)的過程中都要保持一定的隊(duì)形。團(tuán)隊(duì)成員所形成的隊(duì)形具有如下優(yōu)點(diǎn)(l)充分獲取工作環(huán)境中的信息,有利于執(zhí)行偵察、搜索、排雷、安全巡邏等任務(wù);(2)增強(qiáng)團(tuán)隊(duì)的工作能力及抵抗外來侵?jǐn)_的能力,如生物群體形成的隊(duì)形可以有效地防御捕食者,軍事上的團(tuán)隊(duì)隊(duì)形,能夠有效地發(fā)現(xiàn)敵情,從而減少傷亡;(3)提高團(tuán)隊(duì)的工作效率,簡化任務(wù)的執(zhí)行,如多個(gè)動物按照一定的隊(duì)形圍獵,能夠快速地俘獲獵物,多個(gè)機(jī)器人按照一定的隊(duì)形搬運(yùn)貨物,可以把貨物快速地搬運(yùn)到目的地;(4)增加系統(tǒng)的魯棒性。動物群體按照隊(duì)形捕獵可以保證該群體能夠生存在各種不同的環(huán)境者。目前研究者提出的方法可以分為兩類(1)基于單Agent的規(guī)劃方法,把多Agent規(guī)劃問題轉(zhuǎn)換為單Agent規(guī)劃,在為一個(gè)成員規(guī)劃時(shí),簡單地把其它成員看作時(shí)動態(tài)障礙物,通過某種協(xié)調(diào)機(jī)制來修改Agent的路徑、速度、方向等;(2)基于隊(duì)形約束的規(guī)劃方法,如基于行為的方法,基于虛擬結(jié)構(gòu)的方法,基于Leader-Follower方法。第一類方法,由于規(guī)劃的順序?qū)gent的路徑影響非常大,因此不同的順序可能得到不同的規(guī)劃結(jié)果,不能得到最優(yōu)解,同時(shí)簡單地把其它Agent看作動態(tài)障礙物可能導(dǎo)致Agent的行為不一致。第二類方法在復(fù)雜的環(huán)境中隊(duì)形的維持效率和路徑最優(yōu)都不能保證,并且不能事先對可能的隊(duì)形變化進(jìn)行預(yù)測,導(dǎo)致過多的等待和通訊。
發(fā)明內(nèi)容本發(fā)明的技術(shù)主要解決的問題克服現(xiàn)有方法的不足,提供了一種能夠最大限度地保持給定隊(duì)形,減少通訊數(shù)量和等待時(shí)間的面向真實(shí)地形的團(tuán)隊(duì)CGF保持隊(duì)形規(guī)劃方法。本發(fā)明的技術(shù)解決方案一種基于真實(shí)地形的保持團(tuán)隊(duì)CGF隊(duì)形的路徑規(guī)劃方法,其特征在于步驟如下(1)調(diào)入地形并進(jìn)行初始化;(2)根據(jù)任務(wù)要求設(shè)定路徑因子K1和隊(duì)形因子K2,其中K1X),K2》0;(3)根據(jù)任務(wù)要求設(shè)置隊(duì)形可變標(biāo)記Flag;(4)從團(tuán)隊(duì)中選擇一個(gè)成員作為Leader;(5)利用改進(jìn)的A+算法規(guī)劃團(tuán)隊(duì)中Leader成員的路徑;(6)如果找到路徑,則采用Leader路徑優(yōu)化算法進(jìn)行優(yōu)化,得到關(guān)鍵點(diǎn)表和隊(duì)形轉(zhuǎn)換表,轉(zhuǎn)步驟(7);如果未找到路徑,而且隊(duì)形可變,則調(diào)整路徑因子Kl和隊(duì)形因子K2后,重新回到步驟(5);如果未找到路徑,而且隊(duì)形不可變,找不到滿足要求的路徑,轉(zhuǎn)步驟(8);(7)根據(jù)關(guān)鍵點(diǎn)和隊(duì)形轉(zhuǎn)換表生成隊(duì)形中非Leader成員的路徑;(8)結(jié)束規(guī)劃。所述步驟(1)中的地形是從CGF地形數(shù)據(jù)庫中調(diào)入的,其中CGF地形數(shù)據(jù)庫采用基于規(guī)則網(wǎng)格的方法來構(gòu)建,具體過程如下(1)構(gòu)建數(shù)字高程數(shù)據(jù)庫;(2)構(gòu)建文化特征數(shù)據(jù)庫,形成特征表示;(3)將地形數(shù)據(jù)庫中的地形模型與文化特征數(shù)據(jù)庫中的特征物進(jìn)行融合得到CGF地形數(shù)據(jù)庫。所述步驟(2)中路徑因子Kl和隊(duì)形因子K2按照執(zhí)行任務(wù)時(shí)對隊(duì)形的要求不同把任務(wù)分成三類(1)任務(wù)執(zhí)行過程中隊(duì)形不能改變;(2)任務(wù)執(zhí)行過程中隊(duì)形可以改變,但是盡量少改變;(3)任務(wù)執(zhí)行過程中要求距離最短,隊(duì)形不十分要求;對第一類任務(wù)設(shè)定K2-0.95;Kl=0.05;第二類任務(wù)設(shè)定K2==0.9;Kl=0.1;第三類任務(wù)設(shè)定K卜0.9;K2=0.1。所述步驟(3)中隊(duì)形可變標(biāo)記的設(shè)置根據(jù)所述對任務(wù)的分類,按照執(zhí)行任務(wù)時(shí)對隊(duì)形的要求不同把任務(wù)分成三類(1)任務(wù)執(zhí)行過程中隊(duì)形不能改變;(2)任務(wù)執(zhí)行過程中隊(duì)形可以改變,但是盡量少改變;(3)任務(wù)執(zhí)行過程中要求距離最短,隊(duì)形不十分要求;第一類任務(wù)的隊(duì)形可變標(biāo)記設(shè)定為0,第二類和第三類任務(wù)的隊(duì)形可變標(biāo)記設(shè)定為1。所述步驟(5)的改進(jìn)的AH平價(jià)函數(shù)f=Kl*(g(n)+h(n))+K2*FM(n),FM(n)=1/J]二fl,,g(n)是狀態(tài)空間中從初始節(jié)點(diǎn)到當(dāng)前節(jié)點(diǎn)n的實(shí)際代價(jià),h(n)是從當(dāng)前節(jié)點(diǎn)n到目標(biāo)節(jié)點(diǎn)的最佳路徑的估計(jì)代價(jià),距離因子K1X),路徑因子K2》0,m為團(tuán)隊(duì)中CGF的個(gè)數(shù),ai表示在Leader處于節(jié)點(diǎn)n時(shí),團(tuán)隊(duì)中第i個(gè)CGF成員的期望位置(符合隊(duì)形要求的位置)是否存在障礙物,若無障礙,則31=1,否則ai-O。所述步驟(6)中的Leader路徑優(yōu)化算法實(shí)現(xiàn)如下(1)把開始節(jié)點(diǎn)作為關(guān)鍵點(diǎn),i=l;(2)從第i+l個(gè)節(jié)點(diǎn)開始,往后找出第一個(gè)滿足W^3'點(diǎn)節(jié)點(diǎn),第k個(gè)節(jié)點(diǎn)作為關(guān)鍵點(diǎn),把Oc"pA—p3"),(A,A,5"插入到隊(duì)形轉(zhuǎn)換表中;(3)在節(jié)點(diǎn)i和節(jié)點(diǎn)k之間生成通視性檢査射線LOS;(4)檢査射線與障礙物相交的情況,判定是否有障礙物;(5)如果有障礙,則取k=[(k+i)/2],轉(zhuǎn)步驟(3);(6)如果沒有障礙物,且滿足隊(duì)形要求,即直線上所有點(diǎn)上的隊(duì)形向量相同,則把該節(jié)點(diǎn)作為新的關(guān)鍵點(diǎn);(7)如果k-n,即結(jié)束節(jié)點(diǎn),轉(zhuǎn)步驟(9);(8)i-k,轉(zhuǎn)步驟(2);(9)結(jié)束。所述步驟(6)中隊(duì)形轉(zhuǎn)換表中記錄了隊(duì)形開始變換位置,變換后的隊(duì)形,使團(tuán)隊(duì)中每個(gè)成員能夠預(yù)知隊(duì)形變換的情況,計(jì)算自己的期望位置,從而減少了通訊量和相互等待的時(shí)間。所述步驟(7)中根據(jù)關(guān)鍵點(diǎn)和隊(duì)形轉(zhuǎn)換表生成隊(duì)形中非Leader成員的路徑的步驟如下設(shè)該成員為i,則(1)從關(guān)鍵值表中取出一個(gè)節(jié)點(diǎn)(^,A,A),如果取空則結(jié)束;(2)掃描隊(duì)形轉(zhuǎn)換表,如果坐標(biāo)對(^,h)不在隊(duì)形轉(zhuǎn)換表中出現(xiàn),則根據(jù)Leader位置(A,h),當(dāng)前隊(duì)形函數(shù)計(jì)算出自己的位置,并把該位置加入到自己的路徑表中,轉(zhuǎn)步驟(1);(3)如果有(^=^)/\(乃=;/4),則隊(duì)形轉(zhuǎn)換表中相應(yīng)的節(jié)點(diǎn)為(1,,;;/,//,),取隊(duì)形轉(zhuǎn)換表中該節(jié)點(diǎn)的前一個(gè)節(jié)點(diǎn)0^,乃—,做如下處理(i)根據(jù)Leader位置OcM,為J和當(dāng)前隊(duì)形函數(shù)//,—,,計(jì)算出自己的位置,并把該位置加入到自己的路徑表中;(ii)根據(jù)Leader位置(;c,—,,:^),(x,,乃)'隊(duì)形函數(shù)i/w和7/,計(jì)算自己的位置(^,義,)和Oc;,乂)。根據(jù)相應(yīng)的隊(duì)形轉(zhuǎn)換規(guī)則,使用線性插值算法生成一條路徑,加入到自己的路徑表中;(4)轉(zhuǎn)步驟(1)。本發(fā)明與現(xiàn)有的技術(shù)相比有益的效果是(1)本發(fā)明得到的路徑可以使得團(tuán)隊(duì)成員在運(yùn)行過程中最大限度地保持隊(duì)形不變。(2)團(tuán)隊(duì)中的每個(gè)成員根據(jù)隊(duì)形轉(zhuǎn)換表,可以預(yù)知隊(duì)形變換的情況,計(jì)算自己的期望位置,從而減少了通信的次數(shù)。(3)由于隊(duì)形只在隊(duì)形轉(zhuǎn)換表的相應(yīng)位置上才發(fā)生變換,因此只有在這些點(diǎn)上,團(tuán)隊(duì)成員才可能相互等待,另外團(tuán)隊(duì)中的每個(gè)非Leader成員根據(jù)隊(duì)形轉(zhuǎn)換表,能夠計(jì)算自己在新隊(duì)形中的位置,并根據(jù)自己在隊(duì)形變換時(shí)運(yùn)行距離的長短來調(diào)整自己的運(yùn)行速度,因此可以減少隊(duì)形轉(zhuǎn)換時(shí)相互等待的時(shí)間。圖1為本發(fā)明的實(shí)現(xiàn)流程圖;圖2為本發(fā)明的CGF地形數(shù)據(jù)庫的形成圖;圖3為本發(fā)明中使用的A+算法流程圖;圖4為本發(fā)明中的Leader路徑優(yōu)化算法流程圖。具體實(shí)施方式如圖1所示,本發(fā)明的具體實(shí)現(xiàn)步驟如下(1)調(diào)入地形并進(jìn)行初始化;目前,市場上可以提供構(gòu)建虛擬戰(zhàn)場環(huán)境所需的各種地形數(shù)據(jù),包括不同精度的地形高程數(shù)據(jù)和文化特征數(shù)據(jù)。高程數(shù)據(jù)以柵格形式存儲,主要格式有美國地質(zhì)勘察局的數(shù)字化高度模型(USGSDEM:DigitalElevationModel),美國國防部地圖局的數(shù)字化地形高度數(shù)據(jù)(NIMADTED:DigitalTerrainElevationData)等;文化特征數(shù)據(jù)是以向量格式存儲的地圖要素?cái)?shù)據(jù),如道路、河流、植被、居民地等,主要格式有美國國防部地圖局的數(shù)字化特征分析數(shù)據(jù)(NIMADFAD:DigitalFeatureAnalysisData),美國國防部地圖局的向量產(chǎn)品格式(NIMAVPF:VectorProductFormat),美國地質(zhì)勘察局?jǐn)?shù)字化線圖(USGSDLG:DigitalLineGraph)等。本發(fā)明采用基于規(guī)則網(wǎng)格的方法來構(gòu)建CGF地形數(shù)據(jù)庫,具體過程如圖2所示a.構(gòu)建數(shù)字高程數(shù)據(jù)庫構(gòu)建CGF地形數(shù)據(jù)庫的一個(gè)重要步驟就是根據(jù)高程數(shù)據(jù)構(gòu)建數(shù)字高程數(shù)據(jù)庫,數(shù)字高程數(shù)據(jù)是從USDSDEM高程數(shù)據(jù)庫中得到,使用規(guī)則網(wǎng)格來表示數(shù)字高程數(shù)據(jù)庫,然后將數(shù)字高程數(shù)據(jù)庫放入基本地形數(shù)據(jù)庫中;b.構(gòu)建文化特征數(shù)據(jù)庫,形成特征表示相對于高程數(shù)據(jù),文化特征數(shù)據(jù)的組織較為復(fù)雜,主要是因?yàn)槲幕卣鞯姆N類比較多,而且不同種類的文化特征具有很大的差異,這一點(diǎn)與高程數(shù)據(jù)有很大的不同。高程數(shù)據(jù)可以視為一類點(diǎn)狀的信息,文化特征則有點(diǎn)、線、面等不同的種類,例如文化特征數(shù)據(jù)中的土壤的土質(zhì)、地面覆蓋物、建筑物區(qū)域及湖泊等屬于面狀的特征,它描述了一定范圍內(nèi)的區(qū)域特征;河流、鐵路、公路等則屬于線狀的特征,它們描述了沿著某折線的屬性數(shù)據(jù)。文化特征數(shù)據(jù)是從DLG數(shù)據(jù)庫中得到的。本發(fā)明采用四叉樹的形式來組織文化特征,將規(guī)則網(wǎng)格按照四叉樹的方式組織為樹型,根據(jù)文化特征位置,在四叉樹的相應(yīng)葉節(jié)點(diǎn)上標(biāo)記出來。c.將地形數(shù)據(jù)庫中的地形模型與文化特征數(shù)據(jù)庫中的特征物進(jìn)行融合得到CGF地形數(shù)據(jù)庫?;镜匦螖?shù)據(jù)庫用規(guī)則網(wǎng)格來表示,前面的步驟a將DEM中的高程數(shù)據(jù)寫入到基本地形數(shù)據(jù)庫中,為基本地形數(shù)據(jù)庫中的每個(gè)標(biāo)準(zhǔn)網(wǎng)格增加一個(gè)屬性標(biāo)記,用來表示該網(wǎng)格位置的文化特征屬性,根據(jù)前面步驟b得到的文化特征四叉樹,計(jì)算特征物占據(jù)的位置,并在相應(yīng)的基本地形數(shù)據(jù)網(wǎng)格上標(biāo)記出來,至此基本地形數(shù)據(jù)庫就成為CGF地形數(shù)據(jù)庫。(2)根據(jù)任務(wù)要求設(shè)定路徑因子Kl和隊(duì)形因子K2,其中K1>0,K2》0;按照執(zhí)行任務(wù)時(shí)對隊(duì)形的要求可以把任務(wù)分成三類第一類任務(wù)執(zhí)行過程中隊(duì)形不能改變;第二類任務(wù)執(zhí)行過程中隊(duì)形可以改變,但是盡量少改變的;第三類任務(wù)執(zhí)行過程中要求距離最短,隊(duì)形不十分要求;對第一類任務(wù)設(shè)定K2-0.95;Kl=0.05;第二類任務(wù)設(shè)定K2=0.9;Kl=0.1;第三類任務(wù)設(shè)定K卜0.9;K2=0.1;(3)根據(jù)任務(wù)要求設(shè)置隊(duì)形可變標(biāo)記Flag;對于上述的第一類任務(wù)設(shè)置Flag=0;其它類型的任務(wù)設(shè)置Flag-l。(4)從團(tuán)隊(duì)中選擇一個(gè)成員作為Leader;團(tuán)隊(duì)中Leader成員的選擇有多種方法根據(jù)團(tuán)隊(duì)成員在開始隊(duì)形中的位置來選擇一個(gè)特殊的成員作為Leader成員;根據(jù)成員在團(tuán)隊(duì)中的特殊地位來選擇一個(gè)成員作為Leader;隨機(jī)選擇一個(gè)成員作為Leader。Leader成員一旦選定后,在任務(wù)執(zhí)^1的過程中是不會改變的。(5)利用改進(jìn)的A+算法規(guī)劃團(tuán)隊(duì)中Leader成員的路徑。改進(jìn)的AH平價(jià)函數(shù)為f=Kl*(g(n)+h(n))+K2*FM(n),FM(n)=l/^^,g(n)是狀態(tài)空間中從初始節(jié)點(diǎn)到當(dāng)前節(jié)點(diǎn)n的實(shí)際代價(jià),h(n)是從當(dāng)前節(jié)點(diǎn)n到目標(biāo)節(jié)點(diǎn)的最佳路徑的估計(jì)代價(jià),距離因子K1X),路徑因子K2》0,m為團(tuán)隊(duì)中CGF的個(gè)數(shù),aj表示在Leader處于節(jié)點(diǎn)n時(shí),團(tuán)隊(duì)中第i個(gè)CGF成員的期望位置(符合隊(duì)形要求的位置)是否存在障礙物,若無障礙,則ai-l,否則ai=0。具體實(shí)現(xiàn)步驟為-a.把S放入OPEN表,記f=h,置CLOSED為空;b.重復(fù)下列過程,直至找到目標(biāo)節(jié)點(diǎn)為止。若OPEN為空,則沒有找到路徑,結(jié)束。c.選取OPEN表中未設(shè)置過的具有最小f值的結(jié)點(diǎn)為最佳節(jié)點(diǎn)BESTNODE,并把它放入CLOSED表;d.若BESTNODE為目標(biāo)節(jié)點(diǎn),則成功得到需要的路徑,結(jié)束;e.若BSETNODE不是目標(biāo)節(jié)點(diǎn),則擴(kuò)展該節(jié)點(diǎn),產(chǎn)生后繼節(jié)點(diǎn)SUCCESSOR;f.對每個(gè)SUCCESSOR進(jìn)行下列過程(i)建立從SUCCESSOR返回BESTNODE的指針;(ii)計(jì)算g(SUC)=g(BES)+g(BES,SUC);(iii)如果SUCCESSOReOPEN,則稱此節(jié)點(diǎn)為OLD,并把它添加至BESTNODE的后繼節(jié)點(diǎn)表中;(iv)比較新舊路徑的代價(jià)。如果g(SUC)<g(OLD),則重新確定OLD的父節(jié)點(diǎn)為BESTNODE,記下最小代價(jià)g(OLD),并修正f(OLD)值;(v)若OLD節(jié)點(diǎn)的代價(jià)比較低或者一樣,則停止擴(kuò)展節(jié)點(diǎn);(vi)若SUCCESSOR不在CLOSE表中,則看其是否在CLOSED表中。(vii)若SUCCESSOR在CLOSED表中,則轉(zhuǎn)(iii);(vi)若SUCCESSOR既不在OPEN表中,又不在CLOSED表中,則把它放入OPEN表中,并添入BESTNODE后裔表,轉(zhuǎn)g;g.f=Kl*(g+h)+K2*FM;h.循環(huán)GOLOOP。上述中S表示起始位置、OPEN為未擴(kuò)展節(jié)點(diǎn)表、CLOSED為己擴(kuò)展節(jié)點(diǎn)表,SUCCESSOR為后繼節(jié)點(diǎn),BESTNODE為最佳節(jié)點(diǎn)。(6)如果找到路徑,則采用Leader路徑優(yōu)化算法進(jìn)行優(yōu)化,得到關(guān)鍵點(diǎn)表和隊(duì)形轉(zhuǎn)換表,轉(zhuǎn)步驟(7):如果未找到路徑,而且隊(duì)形可變,則調(diào)整路徑因子Kl和隊(duì)形因子K2后,重新回到步驟(5);如果未找到路徑,而且隊(duì)形不可變,找不到滿足要求的路徑,轉(zhuǎn)步驟(8);關(guān)鍵點(diǎn)表和隊(duì)形轉(zhuǎn)換表是在Leader路徑優(yōu)化的過程中得到,Leader路徑優(yōu)化的目的是把用八*算法產(chǎn)生的離散的節(jié)點(diǎn),連續(xù)化。Leader路徑優(yōu)化算法實(shí)現(xiàn)如下(1)把開始節(jié)點(diǎn)作為關(guān)鍵點(diǎn),i=l;(2)從第i+l個(gè)節(jié)點(diǎn)開始,往后找出第一個(gè)滿足^^5'點(diǎn)節(jié)點(diǎn),第k個(gè)節(jié)點(diǎn)作為關(guān)鍵點(diǎn),把"—Ph-P5"),",A,)插入到隊(duì)形轉(zhuǎn)換表中;(3)在節(jié)點(diǎn)i和節(jié)點(diǎn)k之間做一條直線;(4)用LOS算法檢查該直線上是否有障礙;(5)如果有障礙,則取k=[(k+i)/2],轉(zhuǎn)步驟(3);(6)如果沒有障礙物,且滿足隊(duì)形要求,即直線上所有點(diǎn)上的隊(duì)形向量相同,則把該節(jié)點(diǎn)作為新的關(guān)鍵點(diǎn);(7)如果k^n,即結(jié)束節(jié)點(diǎn),轉(zhuǎn)步驟(9);(8)卜k,轉(zhuǎn)步驟(2);(9)結(jié)束。最后依據(jù)設(shè)定的隊(duì)形轉(zhuǎn)換機(jī)制,將上面得到的隊(duì)形轉(zhuǎn)換表中隊(duì)形向量改成隊(duì)形函數(shù)即可。Kl和K2的調(diào)整方法如下因?yàn)槿绻枰{(diào)整K2和K1,就意味著在現(xiàn)有的評價(jià)函數(shù)下找不到路徑,因此需要減少K2的值,同時(shí)增加K1的值,我們用0.1作為步長,實(shí)際上可以根據(jù)需要設(shè)定更大的步長;K2=K2-0.1;IFK2<0ThenK2=0;Kl=Kl+0.1;IFK1>1ThenKl=1;關(guān)鍵值表如下表1所示,它實(shí)際上與Leader路徑節(jié)點(diǎn)是一致的,但是它包含的節(jié)點(diǎn)數(shù)要小于Leader路徑中的節(jié)點(diǎn)數(shù)。節(jié)點(diǎn)的形式如下表所示表l《隊(duì)形轉(zhuǎn)換表如下表2所示表中的x,y的含義與表l相同,表示節(jié)點(diǎn)的坐標(biāo)。Hl表示開始隊(duì)形函數(shù),Hs表示目標(biāo)隊(duì)形函數(shù),實(shí)際上開始隊(duì)形與目標(biāo)隊(duì)形是相同的即Hl=Hs。該表的含義為在xl,yl點(diǎn)時(shí),隊(duì)形函數(shù)為H1,在x2,y2,點(diǎn)時(shí)隊(duì)形變換為H2,……,在xs,ys點(diǎn)時(shí)隊(duì)形為Hs。表2yix2y2H2ysHs(7)根據(jù)關(guān)鍵點(diǎn)和隊(duì)形轉(zhuǎn)換表生成隊(duì)形中非Leader成員的路徑;下面的算法給出了團(tuán)隊(duì)中一個(gè)非Leader成員的路徑生成算法,設(shè)該成員為i。a.從關(guān)鍵值表中取出一個(gè)節(jié)點(diǎn)(^,A,5J,如果取空則結(jié)束;b.掃描隊(duì)形轉(zhuǎn)換表,如果坐標(biāo)對(Xt,A)不在隊(duì)形轉(zhuǎn)換表中出現(xiàn),則根據(jù)Leader位置(^,A),當(dāng)前隊(duì)形函數(shù)/^計(jì)算出自己的位置,并把該位置加入到自己的路徑表中,轉(zhuǎn)a;c.如果有(《=^)/\(7,=^),則隊(duì)形轉(zhuǎn)換表中相應(yīng)的節(jié)點(diǎn)為(^乂,^),取隊(duì)形轉(zhuǎn)換表中該節(jié)點(diǎn)的前一個(gè)節(jié)點(diǎn),如果有相應(yīng)的節(jié)點(diǎn)(否則表示該關(guān)鍵點(diǎn)是起始點(diǎn)),表示為Om,乃—,作如下工作(i)根據(jù)Leader位置0^,:^)和當(dāng)前隊(duì)形函數(shù)i^,計(jì)算出自己的位置,并把該位置加入到自己的路徑表中;(ii)根據(jù)Leader位置(jc,-,,;^),(:c〃少,),隊(duì)形函數(shù)/^,和W,計(jì)算自己的位置和根據(jù)相應(yīng)的隊(duì)形轉(zhuǎn)換規(guī)則,使用線性插值算法生成一條路徑,加入到自己的路徑表中;d.轉(zhuǎn)a。(8)結(jié)束規(guī)劃。以下具體實(shí)施例進(jìn)一步說明本發(fā)明實(shí)施例虛擬戰(zhàn)場環(huán)境,存在大量的靜態(tài)實(shí)體和動態(tài)實(shí)體,為了充分說明問題,假定有5個(gè)CGF構(gòu)成一個(gè)團(tuán)隊(duì),初始隊(duì)形為三角形。從起始點(diǎn)到目標(biāo)點(diǎn)進(jìn)行,要求隊(duì)形能夠最大可能的維持。給兩個(gè)影響因子的初始值為kl=0.1,k2=0.9,選擇三角形一個(gè)頂點(diǎn)為該團(tuán)隊(duì)CGF的Leader,設(shè)置Flag=1。使用改進(jìn)的A—算法搜索Leader的路徑,得到的Leader路徑中每個(gè)節(jié)點(diǎn)如表1所示,得到Leader路徑的同時(shí)得到隊(duì)形向量,如表3所示,隊(duì)形向量記錄了初始隊(duì)形在得到的Leader路徑中保持的情況。表3<table>tableseeoriginaldocumentpage12</column></row><table>對得到的Leader路徑進(jìn)行優(yōu)化,優(yōu)化過程中得到隊(duì)形轉(zhuǎn)換表,如表2所示,隊(duì)形轉(zhuǎn)換表記錄了隊(duì)形轉(zhuǎn)換的位置及隊(duì)形變換的結(jié)果。使用隊(duì)形轉(zhuǎn)換表,團(tuán)隊(duì)中的每個(gè)非Leader成員可以計(jì)算自己在新隊(duì)形中的位置,使用插值算法得到其在轉(zhuǎn)換階段的路徑。每個(gè)成員在隊(duì)形穩(wěn)定階段的路徑可以根據(jù)當(dāng)前的隊(duì)形函數(shù)H,Leader成員的位置得到,從而為團(tuán)隊(duì)中的每個(gè)成員規(guī)劃一條路徑,滿足上面的規(guī)劃要求。權(quán)利要求1、一種基于真實(shí)地形的保持團(tuán)隊(duì)CGF隊(duì)形的路徑規(guī)劃方法,其特征在于步驟如下(1)調(diào)入地形并進(jìn)行初始化;(2)根據(jù)任務(wù)要求設(shè)定路徑因子K1和隊(duì)形因子K2,其中K1>0,K2≥0;(3)根據(jù)任務(wù)要求設(shè)置隊(duì)形可變標(biāo)記Flag;(4)從團(tuán)隊(duì)中選擇一個(gè)成員作為Leader;(5)利用改進(jìn)的A*算法規(guī)劃團(tuán)隊(duì)中Leader成員的路徑;(6)如果找到路徑,則采用Leader路徑優(yōu)化算法進(jìn)行優(yōu)化,得到關(guān)鍵點(diǎn)表和隊(duì)形轉(zhuǎn)換表,轉(zhuǎn)步驟(7);如果未找到路徑,而且隊(duì)形可變,則調(diào)整路徑因子K1和隊(duì)形因子K2后,重新回到步驟(5);如果未找到路徑,而且隊(duì)形不可變,找不到滿足要求的路徑,轉(zhuǎn)步驟(8);(7)根據(jù)關(guān)鍵點(diǎn)和隊(duì)形轉(zhuǎn)換表生成隊(duì)形中非Leader成員的路徑;(8)結(jié)束規(guī)劃。2、根據(jù)權(quán)利要求1所述的基于真實(shí)地形的保持團(tuán)隊(duì)CGF隊(duì)形的路徑規(guī)劃方法,其特征在于所述步驟(1)中的地形是從CGF地形數(shù)據(jù)庫中調(diào)入的,其中CGF地形數(shù)據(jù)庫采用基于規(guī)則網(wǎng)格的方法來構(gòu)建,具體過程如下-(1)構(gòu)建數(shù)字高程數(shù)據(jù)庫;(2)構(gòu)建文化特征數(shù)據(jù)庫,形成特征表示;(3)將地形數(shù)據(jù)庫中的地形模型與文化特征數(shù)據(jù)庫中的特征物進(jìn)行融合得到CGF地形數(shù)據(jù)庫。3、根據(jù)權(quán)利要求1所述的基于真實(shí)地形的保持團(tuán)隊(duì)CGF隊(duì)形的路徑規(guī)劃方法,其特征在于所述步驟(2)中路徑因子Kl和隊(duì)形因子K2按照執(zhí)行任務(wù)時(shí)對隊(duì)形的要求不同把任務(wù)分成三類(1)任務(wù)執(zhí)行過程中隊(duì)形不能改變;(2)任務(wù)執(zhí)行過程中隊(duì)形可以改變,但是盡量少改變;(3)任務(wù)執(zhí)行過程中要求距離最短,隊(duì)形不十分要求;對第一類任務(wù)設(shè)定K2-0.95;Kl=0.05;第二類任務(wù)設(shè)定K2=0.9;Kl=0.1;第三類任務(wù)設(shè)定K卜0.9;K2=0.1。4、根據(jù)權(quán)利要求1或3所述的基于真實(shí)地形的保持團(tuán)隊(duì)CGF隊(duì)形的路徑規(guī)劃方法,其特征在于所述步驟(3)中隊(duì)形可變標(biāo)記的設(shè)置根據(jù)所述對任務(wù)的分類,按照執(zhí)行任務(wù)時(shí)對隊(duì)形的要求不同把任務(wù)分成三類(1)任務(wù)執(zhí)行過程中隊(duì)形不能改變;(2)任務(wù)執(zhí)行過程中隊(duì)形可以改變,但是盡量少改變;(3)任務(wù)執(zhí)行過程中要求距離最短,隊(duì)形不十分要求;第一類任務(wù)的隊(duì)形可變標(biāo)記設(shè)定為0,第二類和第三類任務(wù)的隊(duì)形可變標(biāo)記設(shè)定為1。15、根據(jù)權(quán)利要求1所述的基于真實(shí)地形的保持團(tuán)隊(duì)CGF隊(duì)形的路徑規(guī)劃方法,其特征在于所述步驟(5)的改進(jìn)的AH平價(jià)函數(shù)f-Kl,g(n)+h(n))+K2+FM(n),FM(n)=1/a,,g(n)是狀態(tài)空間中從初始節(jié)點(diǎn)到當(dāng)前節(jié)點(diǎn)n的實(shí)際代價(jià),h(n)是從當(dāng)前節(jié)點(diǎn)n到目標(biāo)節(jié)點(diǎn)的最佳路徑的估計(jì)代價(jià),距離因子K1X),路徑因子K2X),m為團(tuán)隊(duì)中CGF的個(gè)數(shù),ai表示在Leader處于節(jié)點(diǎn)n時(shí),團(tuán)隊(duì)中第i個(gè)CGF成員的滿足隊(duì)形要求的位置是否存在障礙物,若無障礙,則ai=l,否則ai-0。6、根據(jù)權(quán)利要求1所述的基于真實(shí)地形的保持團(tuán)隊(duì)CGF隊(duì)形的路徑規(guī)劃方法,其特征在于所述步驟(6)中的Leader路徑優(yōu)化算法實(shí)現(xiàn)如下-(1)把開始節(jié)點(diǎn)作為關(guān)鍵點(diǎn),i=l;(2)從第i+l個(gè)節(jié)點(diǎn)開始,往后找出第一個(gè)滿足^^5'點(diǎn)節(jié)點(diǎn),第k個(gè)節(jié)點(diǎn)作為關(guān)鍵點(diǎn),把Ow,A—'),(A,A,5"插入到隊(duì)形轉(zhuǎn)換表中;(3)在節(jié)點(diǎn)i和節(jié)點(diǎn)k之間生成通視性檢查射線LOS;(4)檢查射線與障礙物相交的情況,判定是否有障礙物;(5)如果有障礙,則取k=[(k+i)/2],轉(zhuǎn)步驟(3);(6)如果沒有障礙物,且滿足隊(duì)形要求,即直線上所有點(diǎn)上的隊(duì)形向量相同,則把該節(jié)點(diǎn)作為新的關(guān)鍵點(diǎn);(7)如果k-n,即結(jié)束節(jié)點(diǎn),轉(zhuǎn)步驟(9);(8)卜k,轉(zhuǎn)步驟(2);(9)結(jié)束。7、根據(jù)權(quán)利要求1所述的基于真實(shí)地形的保持團(tuán)隊(duì)CGF隊(duì)形的路徑規(guī)劃方法,其特征在于所述步驟(6)中隊(duì)形轉(zhuǎn)換表中記錄了隊(duì)形開始變換位置,變換后的隊(duì)形,使團(tuán)隊(duì)中每個(gè)成員能夠預(yù)知隊(duì)形變換的情況,計(jì)算自己的期望位置,從而減少了通訊量和相互等待的時(shí)間。8、根據(jù)權(quán)利要求1所述的基于真實(shí)地形的保持團(tuán)隊(duì)CGF隊(duì)形的路徑規(guī)劃方法,其特征在于所述步驟(7)中根據(jù)關(guān)鍵點(diǎn)和隊(duì)形轉(zhuǎn)換表生成隊(duì)形中非Leader成員的路徑的步驟如下設(shè)該成員為i,貝U(1)從關(guān)鍵值表中取出一個(gè)節(jié)點(diǎn)(A,A,5J,如果取空則結(jié)束;(2)掃描隊(duì)形轉(zhuǎn)換表,如果坐標(biāo)對(^,h)不在隊(duì)形轉(zhuǎn)換表中出現(xiàn),則根據(jù)Leader位置(A,力),當(dāng)前隊(duì)形函數(shù)/^計(jì)算出自己的位置,并把該位置加入到自己的路徑表中,轉(zhuǎn)步驟(l);(3)如果有(《-A)A"-力),則隊(duì)形轉(zhuǎn)換表中相應(yīng)的節(jié)點(diǎn)為(JC,,j,,A),取隊(duì)形轉(zhuǎn)換表中該節(jié)點(diǎn)的前一個(gè)節(jié)點(diǎn)Ocw,"-,,i^),做如下處理-3(i)根據(jù)Leader位置(;^,^)和當(dāng)前隊(duì)形函數(shù)^一,,計(jì)算出自己的位置,并把該位置加入到自己的路徑表中;(ii)根據(jù)Leader位置(;c,—,,"—,),(x,,乃),隊(duì)形函數(shù)i/,-,和//,計(jì)算自己的位置(j^,j;")和(a乂)。根據(jù)相應(yīng)的隊(duì)形轉(zhuǎn)換規(guī)則,使用線性插值算法生成一條路徑,加入到自己的路徑表中;(4)轉(zhuǎn)步驟(1)。全文摘要一種基于真實(shí)地形的保持團(tuán)隊(duì)CGF隊(duì)形的路徑規(guī)劃方法(1)調(diào)入地形并進(jìn)行初始化;(2)根據(jù)任務(wù)要求設(shè)定路徑因子K1和隊(duì)形因子K2,其中K1>0,K2≥0;(3)根據(jù)任務(wù)要求設(shè)置隊(duì)形可變標(biāo)記Flag;(4)從團(tuán)隊(duì)中選擇一個(gè)成員作為Leader;(5)利用改進(jìn)的A<sup>*</sup>算法規(guī)劃團(tuán)隊(duì)中Leader成員的路徑;(6)如果找到路徑,則采用Leader路徑優(yōu)化算法進(jìn)行優(yōu)化,得到關(guān)鍵點(diǎn)表和隊(duì)形轉(zhuǎn)換表,轉(zhuǎn)步驟(7);如果未找到路徑,而且隊(duì)形可變,則調(diào)整路徑因子K1和隊(duì)形因子K2后,重新回到步驟(5);如果未找到路徑,而且隊(duì)形不可變,找不到滿足要求的路徑,結(jié)束規(guī)劃;(7)根據(jù)關(guān)鍵點(diǎn)和隊(duì)形轉(zhuǎn)換表生成隊(duì)形中非Leader成員的路徑,結(jié)束規(guī)則。本發(fā)明具有最大限度地保持隊(duì)形,減少通訊數(shù)量和等待時(shí)間的優(yōu)點(diǎn)。文檔編號G06F17/30GK101131755SQ200710176099公開日2008年2月27日申請日期2007年10月19日優(yōu)先權(quán)日2007年10月19日發(fā)明者趙沁平,鄭延斌申請人:北京航空航天大學(xué)