本發(fā)明涉及水下機(jī)器人技術(shù)領(lǐng)域,尤其涉及一種基于GRD格式地圖的路徑生成方法。
背景技術(shù):
在海洋應(yīng)用中,水下機(jī)器人發(fā)揮越來越重要的作用。水下機(jī)器人分成兩類:一種是遙控式有纜水下機(jī)器人(簡稱ROV),一種是自主水下機(jī)器人(簡稱AUV)。ROV需要水面母船支持,同時(shí)受到電纜長度的限制,其作業(yè)距離有限,一般只有幾百米;而AUV自身攜帶能源,可以遠(yuǎn)離母船,活動(dòng)距離達(dá)到幾十公里甚至上百公里。所以AUV的研究越來越受到各國的重視,AUV的發(fā)展代表了未來水下機(jī)器人的發(fā)展方向。但是AUV的控制方法比ROV的控制方法復(fù)雜,只有設(shè)計(jì)出好的控制方法才能發(fā)揮出AUV強(qiáng)大的作業(yè)能力。
AUV執(zhí)行地形勘查、管線跟蹤都依賴于AUV的路徑規(guī)劃。通常在AUV工作前,獲取當(dāng)前海區(qū)的地圖,然后根據(jù)地圖進(jìn)行規(guī)劃,當(dāng)?shù)匦纹鸱皇呛艽髸r(shí),可以使用簡單的定高模式和定深模式航行,但是對于復(fù)雜海區(qū)的情況下,這種方式規(guī)劃出來的路徑不能很好的實(shí)現(xiàn)任務(wù)需求,如果分段規(guī)劃則費(fèi)時(shí)費(fèi)力,對于操作AUV的人員是一個(gè)很大的挑戰(zhàn),這種簡單的方法不適用在復(fù)雜的環(huán)境下。
技術(shù)實(shí)現(xiàn)要素:
針對現(xiàn)有技術(shù)中存在的上述不足之處,本發(fā)明要解決的技術(shù)問題是提供一種基于GRD格式地圖的路徑生成方法,使規(guī)劃路徑的過程更簡單,AUV執(zhí)行的使命更加滿足任務(wù)需求。
本發(fā)明為實(shí)現(xiàn)上述目的所采用的技術(shù)方案是:一種基于GRD格式地圖的路徑生成方法,包括以下步驟:
讀取GRD格式的地圖文件獲得地圖信息;
根據(jù)所述地圖信息,進(jìn)行地圖信息識別;
將獲得的地圖信息載入到地圖轉(zhuǎn)化軟件中;
根據(jù)潛水器的起始點(diǎn),規(guī)劃出下一個(gè)航行點(diǎn)的坐標(biāo),將航行點(diǎn)的極坐標(biāo)轉(zhuǎn)換成大地坐標(biāo)系。
所述地形信息包括經(jīng)度、緯度、深度/高度。
所述地圖信息識別,包括以下步驟:
根據(jù)選擇的目標(biāo)深度,獲得等深線,同時(shí)根據(jù)選擇的預(yù)定的起始點(diǎn),按照正東、正南、正西、正北、東南、東北、西南和西北八個(gè)方向生成射線,計(jì)算各個(gè)方向上射線的梯度;
根據(jù)射線的梯度,選擇絕對值最小的一個(gè)點(diǎn)作為下一航行點(diǎn);
按照上述方法持續(xù)計(jì)算下一航行點(diǎn),直到滿足探測當(dāng)前深度或者覆蓋該地圖的任務(wù)需求。
所述射線的梯度通過下式計(jì)算:
若函數(shù)t=f(x,y,z)在點(diǎn)(x0,y0,z0)處可微,則函數(shù)F(x)在點(diǎn)(x0,y0,z0)處沿任一方向的方向倒數(shù)存在,其中各倒數(shù)均為在點(diǎn)(x0,y0,z0)處的值,運(yùn)用向量的數(shù)量積,可將方向?qū)?shù)計(jì)算公式表示為:
其中,
gradt稱為梯度。
所述將得到的航行點(diǎn)的極坐標(biāo)轉(zhuǎn)換成大地坐標(biāo)系,具體為:
下一個(gè)航行點(diǎn)的經(jīng)緯度坐標(biāo)(a1,b1)為:
其中,(a,b)為起始點(diǎn)的經(jīng)緯度坐標(biāo),a為經(jīng)度,b為緯度,ρ為起始點(diǎn)到航行點(diǎn)的距離,θ為起始點(diǎn)到航行點(diǎn)的連線與正北方向的夾角;
根據(jù)公式(2)和(3),類推獲得所有航行點(diǎn)的經(jīng)緯度坐標(biāo)。
本發(fā)明具有以下優(yōu)點(diǎn)及有益效果:
1.對于潛水器的模型不敏感,完全可以適用任何潛水器。
2.對于其它格式的地圖也可以按照此方法進(jìn)行擴(kuò)展,只是在讀取格式的時(shí)候進(jìn)行不同的解碼。
附圖說明
圖1為軟件界面顯示的地圖;
圖2為本發(fā)明方法流程圖。
具體實(shí)施方式
下面結(jié)合附圖及實(shí)施例對本發(fā)明做進(jìn)一步的詳細(xì)說明。
本發(fā)明的硬件要求是一臺電腦,裝載可以讀取GRD格式的文件的程序,使用利用本方法編譯的程序,將獲得的地理信息顯示出來,同時(shí)選擇起始點(diǎn),選擇路徑長度,生成規(guī)劃。
本發(fā)明通過讀取GRD格式的地圖文件獲得地形信息:經(jīng)度、緯度、深度/高度,通過提取同一深度或者同一高度的坐標(biāo)點(diǎn),自動(dòng)生成同一深度/高度的路徑,同時(shí)覆蓋當(dāng)前海區(qū)。使用軟件查看地圖,同時(shí)將地圖保存成需要的GRD格式,將獲得的地圖信息載入到地圖轉(zhuǎn)化軟件中。
如圖2所示,首先初始化某一程序,將獲得的GRD格式的地圖載入該程序,這時(shí)軟件界面上顯示類似圖1所示的地圖,此時(shí)根據(jù)該界面,可以知道當(dāng)前海圖內(nèi)的深度/高度信息,選擇入水點(diǎn)和制定梯度的規(guī)則,生成路徑,如果某一路徑不滿足任務(wù)需求,可以手工修改,若都滿足當(dāng)前的任務(wù)需求,則保存路徑。
本發(fā)明的中的自動(dòng)生成路徑的方法包含地圖信息識別和坐標(biāo)轉(zhuǎn)換方法,以下詳細(xì)描述這兩方面內(nèi)容:
本發(fā)明中的地圖信息識別是指根據(jù)已有的地圖信息,根據(jù)選擇的目標(biāo)深度,獲得等深線,同時(shí)根據(jù)選擇的預(yù)定的起始點(diǎn),按照正東,正南,正西,正北,東南,東北,西南,西北八個(gè)方向生成射線,根據(jù)射線的梯度,計(jì)算下一個(gè)航行點(diǎn)。
若函數(shù)t=f(x,y,z)在點(diǎn)(x0,y0,z0)處可微,則函數(shù)F(x)在點(diǎn)(x0,y0,z0)處沿任一方向的方向倒數(shù)存在,其中各倒數(shù)均為在點(diǎn)(x0,y0,z0)處的值,運(yùn)用向量的數(shù)量積,可將方向?qū)?shù)計(jì)算公式表示為:
其中,
gradt稱為梯度。
本發(fā)明中的坐標(biāo)轉(zhuǎn)換方法,是將極坐標(biāo)轉(zhuǎn)換成大地坐標(biāo)系。
已知起始點(diǎn)坐標(biāo)(a,b),a為經(jīng)度,b為緯度;下一個(gè)航行點(diǎn)坐標(biāo)為(ρ,θ)。ρ為起始點(diǎn)到航行點(diǎn)的距離,θ為起始點(diǎn)到航行點(diǎn)的連線與正北方向的夾角。
設(shè)航行點(diǎn)經(jīng)緯度坐標(biāo)為(a1,b1)
根據(jù)公式(2)、(3),以此類推獲得所有的航行點(diǎn)。此時(shí)航行點(diǎn)的目標(biāo)深度值為起始點(diǎn)的目標(biāo)深度。