基于復(fù)雜地形的最優(yōu)路徑尋找方法
【專利摘要】基于復(fù)雜地形的最優(yōu)路徑尋找方法,將地圖劃分為m*n個矩形網(wǎng)格,每個網(wǎng)格賦予6種地形屬性中的一種,即不同的阻值系數(shù),設(shè)置起點和終點矩形,通過比較其中一個矩形到周邊矩形的實際耗能與周邊矩形到終點矩形的計劃耗能之和,確定下一步該走向哪個矩形。本發(fā)明在給定的區(qū)域內(nèi)通過計算判斷經(jīng)過各條路徑時所碰到障礙物的耗能多少,選擇出最佳行走路徑,方法簡單,結(jié)果準(zhǔn)確。本發(fā)明通過構(gòu)造函數(shù)對每一點的屬性賦值,不同屬性所代表的障礙種類不同,通過所耗費能量判斷路徑的優(yōu)劣,可選擇出時間最少、費用最省、耗能最少的路徑。
【專利說明】基于復(fù)雜地形的最優(yōu)路徑尋找方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種最優(yōu)路徑尋找方法,尤其涉及一種基于復(fù)雜地形的最優(yōu)路徑尋找方法。
【背景技術(shù)】
[0002]現(xiàn)代意義上的最優(yōu)路徑已不再僅僅是指地理意義上的最短距離,它還可以是指時間最少、費用最省、線路容量最大等等?,F(xiàn)有的最優(yōu)路徑尋找方法包括遍歷式搜索算法、A*算法。遍歷式搜索算法適于較小的地圖,且需要大量計算才能得到最優(yōu)路徑;當(dāng)?shù)貓D較大時,遍歷式搜索算法就無法得到最優(yōu)路徑。A*算法適于地形簡單的地圖,只有可通過和不可通過元素,在復(fù)雜地圖中無法得到最優(yōu)路徑。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于提供一種基于復(fù)雜地形的最優(yōu)路徑尋找方法,解決現(xiàn)有技術(shù)只適于地形簡單的地圖、需要大量計算才能得到最優(yōu)路徑的問題。
[0004]本發(fā)明的技術(shù)方案是,基于復(fù)雜地形的最優(yōu)路徑尋找方法,將地圖劃分為m*n個矩形網(wǎng)格,每個網(wǎng)格賦予6種地形屬性中的一種,即不同的阻值系數(shù),設(shè)置起點和終點矩形,通過比較其中一個矩形到周邊矩形的實際耗能與周邊矩形到終點矩形的計劃耗能之和,確定下一步該走向哪個矩形。
[0005]本發(fā)明的特點還在于:
[0006]當(dāng)出現(xiàn)一條路徑總耗費能量比另一條路徑總耗能更多時,選擇總耗能更少的一條路徑;對已經(jīng)確定耗能最多的矩形,進(jìn)行排除,不參與到后續(xù)的比較中,減少無效路徑的計算。[0007]具體包括以下步驟:
[0008]第一步,在一任意隨機地圖中,將地圖等分成適量小矩形塊;
[0009]第二步,對每個小矩形塊根據(jù)不同地形進(jìn)行分類標(biāo)記;不同地形分別由不同顏色表示,確定不同地形的阻值系數(shù);
[0010]第三步,確定起點矩形與終點矩形,將起點矩形記錄在“確定路徑”中;通過勾股定理計算每一矩形中點到終點矩形中點的直線距離L ;并求出以該直線作為對角線的大矩形中,所有小矩形阻值之和,除以小矩形數(shù),得出每個小矩形的計算平均阻值F ;計算L*F得出地圖中每一矩形到終點矩形的計算耗能值,并記錄在二維數(shù)組中;
[0011]第四步,從起點矩形開始計算,每個矩形周邊都有3-8個其他矩形,將這些矩形記為“周邊矩形”,取出起點矩形中心距離其周邊矩形中心的距離Li,并由周邊矩形的顏色確定出周邊矩形的阻值Fi ;此處的周邊矩形不包括“確定路徑”與“待確定路徑”中的矩形;如果Fi=0,則取出該矩形中心與起點矩形中心連線的反向延長線上的第一個矩形,代替它作為新的一個周邊矩形;如果終點矩形包括在起點矩形的周邊矩形中,直接將終點矩形記錄進(jìn)“確定路徑”中,完成整個算法,輸出確定路徑;否則計算Li*Fi得出起點矩形到周邊矩形的實際耗能值。
[0012]第五步,將起點矩形到周邊矩形的實際耗能與周邊矩形的計算耗能值相加,取到最小值Pi,將該周邊矩形記錄在“待確定路徑”中。
[0013]第六步,取待“確定路徑”中最后一個矩形,如果其周邊矩形包括終點矩形,將該矩形寫入“確定路徑”之后,將終點矩形寫入“確定路徑”,結(jié)束算法,輸出“確定路徑”中的所有矩形;否則,計算其周邊矩形的實際耗能值,并與他們的計算耗能值相加,取出最小值P2。
[0014]第七步,如果取出最小值的矩形與起點矩形相隔,則將該矩形寫入“確定路徑”中,并使該矩形為新的起點矩形,跳轉(zhuǎn)到第四步開始執(zhí)行,否則計算該矩形到起點矩形的實際耗能,并加上它的計算耗能得到P3 ;如果P3〈=P1+P2,將該周邊矩形寫入“待確定路徑”,跳轉(zhuǎn)到第六步開始執(zhí)行,否則將“待確定路徑”中最后一矩形寫入“確定路徑”,并將它移除出“待確定路徑”,并將P3這個矩形寫入“待確定路徑”中,跳轉(zhuǎn)到第六步開始執(zhí)行。
[0015]上述第二步中,不同地形包括①平常地形,②結(jié)冰路面,③沙漠路面,④草地,⑤不可跨越障礙物,⑥可跨越障礙物;對應(yīng)這六種不同地形分別用白色、紅色、黃色、綠色、紫色和黑色表示;通過這六種不同地形的阻值系數(shù)分別為1,0.5,2,1.5,999,O。
[0016]上述第四步中,根據(jù)該周邊矩形相較于起點矩形的位置,i的取值為左上為1,上邊為2,右上為3,左邊為4,右邊為5,左下為6,下邊為7,右下為8。
[0017]本發(fā)明具有如下有益效果:
[0018]1、本發(fā)明在給定的區(qū)域內(nèi)通過計算判斷經(jīng)過各條路徑時所碰到障礙物的耗能多少,選擇出最佳行走路徑,方法簡單,結(jié)果準(zhǔn)確。
[0019]2、本發(fā)明通過構(gòu)造函數(shù)對每一點的屬性賦值,不同屬性所代表的障礙種類不同,通過所耗費能量判斷路徑的優(yōu)劣,可選擇出時間最少、費用最省、耗能最少的路徑。
【專利附圖】
【附圖說明】
[0020]圖1為本發(fā)明基于復(fù)雜地形的最優(yōu)路徑尋找方法實施例地圖示意圖;
[0021]圖2為本發(fā)明基于復(fù)雜地形的最優(yōu)路徑尋找方法實施例將地圖分割成小矩形塊示意圖;
[0022]圖3為本發(fā)明基于復(fù)雜地形的最優(yōu)路徑尋找方法實施例最優(yōu)路徑示意圖。
【具體實施方式】
[0023]下面結(jié)合【具體實施方式】和附圖對本發(fā)明作詳細(xì)說明。
[0024]基于復(fù)雜地形的最優(yōu)路徑尋找方法,將地圖劃分為m*n個矩形網(wǎng)格,每個網(wǎng)格賦予6種地形屬性中的一種(即不同的阻值系數(shù)),設(shè)置起點和終點矩形,通過比較某矩形到周邊矩形的實際耗能與周邊矩形到終點矩形的計劃耗能之和,確定下一步該走向哪個一矩形;另外,當(dāng)出現(xiàn)走一條路徑(A路徑)總耗費能量比走另一條路徑(B路徑)總耗能更多(即使在開始判斷時,走A路徑的每一步都耗能最少),最終,應(yīng)選擇走總耗能更少的一條路徑;最后,對已經(jīng)確定耗能最多的矩形,進(jìn)行排除,不參與到后續(xù)的比較中,減少無效路徑的計算 ο
[0025]具體包括以下步驟:
[0026]第一步:在某一任意隨機地圖中,將地圖等分成適量矩形區(qū)域,如800*600的地圖中,將地圖分割成100個80*60的小矩形塊。
[0027]第二步:對這100個小矩形塊根據(jù)不同地形進(jìn)行分類標(biāo)記。設(shè)該地圖有6種不同地形:1.平常地形,2.結(jié)冰路面,3.沙漠路面,4.草地,5.不可跨越障礙物,6.可跨越障礙物。針對這六種不同地形分別由6種不同顏色表示:1.白色,2紅色,3.黃色,4.綠色,5.紫色,6黑色。通過六種不同地形的阻值系數(shù)分別為:1,0.5,2,1.5,999,O。參見表1。對100個小矩形塊中的地形進(jìn)行分析,若該矩形塊中有超過一半面積是某種地形,則按該地形標(biāo)記;若沒有一種地形在該矩形塊中面積超過一半,則自動按該矩形內(nèi)最大阻值的地形標(biāo)記,并對標(biāo)記的矩形按照標(biāo)記阻值進(jìn)行填充顏色。
[0028]表1不同地形對應(yīng)的顏色和阻值
[0029]
【權(quán)利要求】
1.基于復(fù)雜地形的最優(yōu)路徑尋找方法,其特征在于,將地圖劃分為m*n個矩形網(wǎng)格,每個網(wǎng)格賦予6種地形屬性中的一種,即不同的阻值系數(shù),設(shè)置起點和終點矩形,通過比較其中一個矩形到周邊矩形的實際耗能與周邊矩形到終點矩形的計劃耗能之和,確定下一步該走向哪個矩形。
2.如權(quán)利要求1所述的基于復(fù)雜地形的最優(yōu)路徑尋找方法,其特征在于,當(dāng)出現(xiàn)一條路徑總耗費能量比另一條路徑總耗能更多時,選擇總耗能更少的一條路徑;對已經(jīng)確定耗能最多的矩形,進(jìn)行排除,不參與到后續(xù)的比較中,減少無效路徑的計算。
3.如權(quán)利要求1或2所述的基于復(fù)雜地形的最優(yōu)路徑尋找方法,其特征在于,具體包括以下步驟: 第一步,在一任意隨機地圖中,將地圖等分成適量小矩形塊; 第二步,對每個小矩形塊根據(jù)不同地形進(jìn)行分類標(biāo)記;不同地形分別由不同顏色表示,確定不同地形的阻值系數(shù); 第三步,確定起點矩形與終點矩形,將起點矩形記錄在“確定路徑”中;通過勾股定理計算每一矩形中點到終點矩形中點的直線距離L ;并求出以該直線作為對角線的大矩形中,所有小矩形阻值之和,除以小矩形數(shù),得出每個小矩形的計算平均阻值F ;計算L*F得出地圖中每一矩形到終點矩形的計算耗能值,并記錄在二維數(shù)組中; 第四步,從起點矩形開始計算,每個矩形周邊都有3-8個其他矩形,將這些矩形記為“周邊矩形”,取出起點矩形中心距離其周邊矩形中心的距離Li,并由周邊矩形的顏色確定出周邊矩形的阻值Fi ;此處的周邊矩形不包括“確定路徑”與“待確定路徑”中的矩形;如果Fi=O,則取出該矩形中心與起點矩形中心連線的反向延長線上的第一個矩形,代替它作為新的一個周邊矩形;如果終點矩形包括在起點矩形的周邊矩形中,直接將終點矩形記錄進(jìn)“確定路徑”中,完成整個算法,輸出確定路徑;否則計算Li*Fi得出起點矩形到周邊矩形的實際耗能值。 第五步,將起點矩形到周邊矩形的實際耗能與周邊矩形的計算耗能值相加,取到最小值Pl,將該周邊矩形記錄在“待確定路徑”中。 第六步,取待“確定路徑”中最后一個矩形,如果其周邊矩形包括終點矩形,將該矩形寫A “確定路徑”之后,將終點矩形寫入“確定路徑”,結(jié)束算法,輸出“確定路徑”中的所有矩形;否則,計算其周邊矩形的實際耗能值,并與他們的計算耗能值相加,取出最小值P2。 第七步,如果取出最小值的矩形與起點矩形相隔,則將該矩形寫入“確定路徑”中,并使該矩形為新的起點矩形,跳轉(zhuǎn)到第四步開始執(zhí)行,否則計算該矩形到起點矩形的實際耗能,并加上它的計算耗能得到P3 ;如果P3〈=P1+P2,將該周邊矩形寫入“待確定路徑”,跳轉(zhuǎn)到第六步開始執(zhí)行,否則將“待確定路徑”中最后一矩形寫入“確定路徑”,并將它移除出“待確定路徑”,并將P3這個矩形寫入“待確定路徑”中,跳轉(zhuǎn)到第六步開始執(zhí)行。
4.如權(quán)利要求3所述的基于復(fù)雜地形的最優(yōu)路徑尋找方法,其特征在于:所述第二步中,不同地形包括①平常地形,②結(jié)冰路面,③沙漠路面,④草地,⑤不可跨越障礙物,⑥可跨越障礙物;對應(yīng)這六種不同地形分別用白色、紅色、黃色、綠色、紫色和黑色表示;通過這六種不同地形的阻值系數(shù)分別 為1,0.5,2,1.5,999,O。
5.如權(quán)利要求3所述的基于復(fù)雜地形的最優(yōu)路徑尋找方法,其特征在于:所述第四步中,根據(jù)該周邊矩形相較于起點矩形的位置,i的取值為左上為1,上邊為2,右上為3,左邊為4,右邊為5,左下為6,下`邊為7,右下為8。
【文檔編號】G06Q10/04GK103679301SQ201310751829
【公開日】2014年3月26日 申請日期:2013年12月31日 優(yōu)先權(quán)日:2013年12月31日
【發(fā)明者】耿富成, 秦坤, 吳鑫, 吳學(xué)毅 申請人:西安理工大學(xué)