專利名稱:基于矢量電子海圖的二維航跡規(guī)劃方法
技術(shù)領(lǐng)域:
本發(fā)明涉及航海導(dǎo)航領(lǐng)域,特別涉及基于矢量電子海圖的二維航跡規(guī) 劃方法。
背景技術(shù):
在海上航行時(shí),航跡規(guī)劃是航海者在航行前必然要做的事。隨著計(jì)算 機(jī)應(yīng)用范圍的推廣,航海者現(xiàn)在也可以通過(guò)計(jì)算機(jī)在矢量電子海圖上實(shí)現(xiàn) 航跡的規(guī)劃。與紙制海圖相比,矢量電子海圖能夠提供大量詳細(xì)、可靠、精 確且數(shù)字化的海洋環(huán)境地理數(shù)據(jù),易于保存、更新和計(jì)算機(jī)處理,因此在矢 量電子海圖上做航跡的規(guī)劃在精確性、可選擇性上都有很大的提高。
在現(xiàn)有技術(shù)中,存在有根據(jù)現(xiàn)有固定航跡的數(shù)據(jù)進(jìn)行航跡規(guī)劃的方法, 這種方法顯然不適用于不存在固定航跡的自由海域,而且也沒(méi)有利用到矢 量電子海圖所能提供的大量的海洋環(huán)境地理數(shù)據(jù)。而在實(shí)際應(yīng)用中,在自 由海域中進(jìn)行航跡規(guī)劃是一種較為普遍的需求,如果通過(guò)人工的方法實(shí) 現(xiàn),不僅耗費(fèi)人力而且花費(fèi)時(shí)間,也不利于實(shí)現(xiàn)航行器的實(shí)時(shí)無(wú)人駕駛。因 此,在矢量電子海圖的基礎(chǔ)上,提供一種能夠自行設(shè)計(jì)航跡的航跡規(guī)劃方法 在實(shí)際應(yīng)用中有廣泛的前景。
發(fā)明內(nèi)容
本發(fā)明的目的是克服現(xiàn)有技術(shù)在自由海域中做航跡規(guī)劃時(shí)釆用人工 方法所造成的效率低下的缺陷,從而提供一種在已經(jīng)有的矢量電子海圖上 做航跡規(guī)劃的方法。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種基于矢量電子海圖的二維航跡規(guī)
劃方法,包括
步驟1)、在矢量電子海圖上選定海域,得到所選定海域的海洋數(shù)據(jù)與 航行數(shù)據(jù),確定所選定海域中的不能到達(dá)區(qū)域、必到達(dá)點(diǎn)以及航跡代價(jià)參 數(shù);還要為所要規(guī)劃的航跡設(shè)定起點(diǎn)和終點(diǎn),將所述的起點(diǎn)、終點(diǎn)以及所 確定的必到達(dá)點(diǎn)按照到達(dá)順序?qū)⒆鴺?biāo)值保存在 一 個(gè)結(jié)點(diǎn)庫(kù)中;步驟2)、從所述結(jié)點(diǎn)庫(kù)中按序取出兩個(gè)點(diǎn),在所述的兩個(gè)點(diǎn)之間做連 線,判斷所得到的連線是否經(jīng)過(guò)所述的不能到達(dá)區(qū)域,若沒(méi)有經(jīng)過(guò),則將 所述連線作為所述兩點(diǎn)間的候選航跡,若經(jīng)過(guò),則從所選定海域中找到與 所述連線相交的不能到達(dá)區(qū)域外的點(diǎn),然后將所找到的點(diǎn)按照到達(dá)順序存
入所述結(jié)點(diǎn)庫(kù),重新執(zhí)行本步驟;
步驟3)、將所述結(jié)點(diǎn)庫(kù)中兩點(diǎn)間的候選航跡連接起來(lái),得到所述起點(diǎn) 與終點(diǎn)間的所有候選航跡;
步驟4)、對(duì)步驟3)得到的起點(diǎn)與終點(diǎn)間的所有候選航跡根據(jù)所述的 航跡代價(jià)參數(shù)進(jìn)行航跡代價(jià)計(jì)算,將代價(jià)最小的候選航跡作為起點(diǎn)和終點(diǎn) 間的最終4元跡。
上述技術(shù)方案中,在所述的步驟2)中,所述的從所選定海域中找到 與所述連線相交的不能到達(dá)區(qū)域外的點(diǎn)包括
將所述的不能到達(dá)區(qū)域位于所述連線的兩側(cè)分為兩個(gè)區(qū)域;
在所述的兩個(gè)區(qū)域中分別找到與所述連線距離最遠(yuǎn)的點(diǎn);
將所找到的點(diǎn)按照所述連線的法向方向向所述不能到達(dá)區(qū)域外移動(dòng) 航海者規(guī)定的安全距離,所得到的點(diǎn)若不在所述的不能到達(dá)區(qū)域范圍內(nèi), 則所述的點(diǎn)即為所述的與所述連線相交的不能到達(dá)區(qū)域外的點(diǎn)。
上述技術(shù)方案中,在從所選定海域中找到與所述連線相交的不能到達(dá) 區(qū)域外的點(diǎn)時(shí)還包括
當(dāng)所述的不能到達(dá)區(qū)域就是前一次兩點(diǎn)連線操作時(shí)所經(jīng)過(guò)的不能到 達(dá)區(qū)域時(shí),在所述不能到達(dá)區(qū)域中與前一次所選取點(diǎn)的同側(cè)尋找與當(dāng)前所 述連線距離最遠(yuǎn)的點(diǎn);
將所找到的點(diǎn)按照所述連線的法向方向向所述不能到達(dá)區(qū)域外移動(dòng) 航海者規(guī)定的安全距離,所得到的點(diǎn)若不在所述的不能到達(dá)區(qū)域范圍內(nèi), 則所述的點(diǎn)即為所述的與所述連線相交的不能到達(dá)區(qū)域外的點(diǎn)。
上述技術(shù)方案中,在所述的步驟2)中,所述的將所找到的點(diǎn)按到達(dá) 順序?qū)⒆鴺?biāo)值存入結(jié)點(diǎn)庫(kù)包括,當(dāng)所找到的點(diǎn)大于一個(gè)且這些點(diǎn)之間的到 達(dá)順序相同時(shí),對(duì)這些點(diǎn)進(jìn)行標(biāo)記以形成不同路徑的候選航跡。
上述技術(shù)方案中,在所述的步驟4)中,所述的航跡代價(jià)計(jì)算由所述 航跡代價(jià)參數(shù)中的航跡總長(zhǎng)度的參數(shù)、航跡總結(jié)點(diǎn)數(shù)的參數(shù)、最小航跡段 長(zhǎng)度的參數(shù)、航跡最大轉(zhuǎn)彎角度的參數(shù)以及各個(gè)參數(shù)的權(quán)重值計(jì)算得到。
上述技術(shù)方案中,所述的航跡代價(jià)計(jì)算的計(jì)算公式包括
6Vexpense=/^Z + zl^jV ++義40
其中,&+;12+;13+;14=1, osa^i, i = i,2,3,4, &為各個(gè)參數(shù)的權(quán)重值; l為表示航跡總長(zhǎng)度的參數(shù),包括
y Li - Lmax L = ~^-SO
Lmax
其中的Li為每段航跡的長(zhǎng)度,Lmax為航海者定義的最大航跡總長(zhǎng)度; N為表示航跡總結(jié)點(diǎn)數(shù)的參數(shù),包括 TV —
iV = ^——^《0
"1 咖x
其中的N,為航跡的總結(jié)點(diǎn)個(gè)數(shù),Nmax為航海者定義的最大航跡結(jié)點(diǎn)個(gè)
數(shù);
l為表示最小航跡段長(zhǎng)度的參數(shù),包括/ .
mm
其中的1,為航跡的最小航跡段長(zhǎng)度,lmm為航海者定義的最小航跡段長(zhǎng)
度;
0為表示航跡最大轉(zhuǎn)彎角度的參數(shù),包括
cos⑨ e =-^1^0
cos⑨
其中的^和《1+1為形成最大轉(zhuǎn)彎角的兩個(gè)航跡段向量,0為定義的最大 轉(zhuǎn)彎角。
上述技術(shù)方案中,所述的不能到達(dá)區(qū)域包括所述矢量電子海圖中用于 表示陸地和禁區(qū)的區(qū)域,還包括航海者自行劃定的海洋區(qū)域。
上述技術(shù)方案中,所述的航海者自行劃定的海洋區(qū)域包括由航海者根 據(jù)自身的需要以及所述矢量電子海圖中的已有數(shù)據(jù)所定義的區(qū)域,或者由 航海者根據(jù)經(jīng)綿度坐標(biāo)定義的區(qū)域。
上述技術(shù)方案中,在所述的步驟2)中,所述的判斷所得到的連線是 否經(jīng)過(guò)所述的不能到達(dá)區(qū)域時(shí),用多邊形表示所述的不能到達(dá)區(qū)域,用線 段表示所述的連線,通過(guò)線段與多邊形的相交計(jì)算求所述的連線是否經(jīng)過(guò) 所述的不能到達(dá)區(qū)域。
7上述技術(shù)方案中,將所述選定海域中用于表示所述不能到達(dá)區(qū)域的多 邊形用二叉樹(shù)表示。
本發(fā)明的優(yōu)點(diǎn)在于
1 、本發(fā)明的方法能夠基于現(xiàn)有的矢量電子海圖所提供的數(shù)據(jù)實(shí)現(xiàn)對(duì) 自由海域上航跡的規(guī)劃,避免了人工方法所造成的效率低下的缺陷。
2、 本發(fā)明的方法能夠給出多個(gè)航跡,并對(duì)這些航跡進(jìn)行代價(jià)計(jì)算, 從而找出最優(yōu)的航跡,有助于航海者對(duì)航跡的選擇。
3、 在本發(fā)明的方法中,將不能到達(dá)區(qū)域用二叉樹(shù)進(jìn)行存儲(chǔ),加快了 整個(gè)方法的效率。
以下,結(jié)合附圖來(lái)詳細(xì)說(shuō)明本發(fā)明的實(shí)施例,其中
圖1為本發(fā)明的航跡規(guī)劃方法的總體流程圖2為本發(fā)明的航跡規(guī)劃方法中求取兩點(diǎn)間航跡的具體流程圖3為在一個(gè)實(shí)施例中對(duì)如何實(shí)現(xiàn)本發(fā)明的航跡規(guī)劃方法的示例圖。
具體實(shí)施例方式
下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明做進(jìn) 一 步的說(shuō)明。 本發(fā)明所要完成的工作是在具有海洋數(shù)據(jù)和航行數(shù)據(jù)的矢量電子海 圖上根據(jù)航海者的需要設(shè)計(jì)一條航跡,在本實(shí)施例中,以釆用S57標(biāo)準(zhǔn)的 矢量電子海圖為例,參考圖1和圖2,對(duì)新航跡的設(shè)計(jì)過(guò)程進(jìn)行說(shuō)明。
航海者首先在矢量電子海圖上選定與所要設(shè)計(jì)的航跡相關(guān)的海域,得 到所選定海域的海洋數(shù)據(jù)和航行數(shù)據(jù)。所述的海洋數(shù)據(jù)包括海域的水深、 洋流、暗礁等信息,所述的航行數(shù)據(jù)包括航道劃分、指示標(biāo)志等信息。根 據(jù)矢量電子海圖上的海洋數(shù)據(jù)和航海者的需求,確定不能到達(dá)區(qū)域、必到 達(dá)點(diǎn)和各種因素的航跡代價(jià)參數(shù)。例如,在S57中定義的陸地(Land area ) 和禁區(qū)(Restricted area)都可以自動(dòng)定義為不能到達(dá)區(qū)域,此外,航海者 還能自行將某一海域定義為不能到達(dá)區(qū)域,在定義過(guò)程中,可以根據(jù)航海 者自身的需要,依據(jù)電子海圖中的已有數(shù)據(jù),如水深,航道,錨區(qū)等,定 義不能到達(dá)區(qū)域;也可以在電子海圖中根據(jù)經(jīng)綿度坐標(biāo)任意定義不能到達(dá) 區(qū)域。上述各個(gè)不能到達(dá)區(qū)域在幾何上都可以用多邊形表示。必到達(dá)點(diǎn)是 航海者根據(jù)航海需要而確定的,例如,在航行過(guò)程中可能要在中途某一地點(diǎn)進(jìn)行燃料、淡水等物質(zhì)的補(bǔ)給,這一地點(diǎn)就要設(shè)定為必到達(dá)點(diǎn)。而航跡 代價(jià)參數(shù)包括航跡的長(zhǎng)度、結(jié)點(diǎn)個(gè)數(shù)、轉(zhuǎn)向角度等,它們都可以由航海者 指定其在航跡決策時(shí)所占的比重。上述的航跡代價(jià)參數(shù)多數(shù)是根據(jù)航海者 自身的需要、艦船情況和燃油等因素指定的,航海者根據(jù)對(duì)各個(gè)參數(shù)的重 視程度決定它的權(quán)重,不考慮時(shí)權(quán)重為0,越重一見(jiàn),權(quán)重越接近l。
航海者在得到相關(guān)海域的矢量電子海圖后,為所要設(shè)計(jì)的航跡設(shè)定起 點(diǎn)和終點(diǎn)。在設(shè)定起點(diǎn)和終點(diǎn)時(shí),應(yīng)當(dāng)保證起點(diǎn)和終點(diǎn)不在前述設(shè)定的不 能到達(dá)區(qū)域內(nèi),如果在該區(qū)域內(nèi),顯然需要重新設(shè)定。對(duì)起點(diǎn)和終點(diǎn)是否 在不能到達(dá)區(qū)域內(nèi)的判斷實(shí)際上就是一個(gè)點(diǎn)是否在代表不能到達(dá)區(qū)域的 多邊形內(nèi)的判斷。由于不能到達(dá)區(qū)域有多個(gè),因此,需要對(duì)代表起點(diǎn)或終 點(diǎn)的點(diǎn)是否在多邊形內(nèi)逐一進(jìn)行判斷。只有點(diǎn)不在任何多邊形內(nèi),才認(rèn)為 起點(diǎn)或終點(diǎn)設(shè)定成功。在矢量電子海圖上輸入所要設(shè)定的起點(diǎn)和終點(diǎn)的相 關(guān)數(shù)據(jù)時(shí)一般可以通過(guò)在矢量電子海圖的相應(yīng)點(diǎn)直接點(diǎn)擊實(shí)現(xiàn),為了保證
精確性,也可以用GPS定位數(shù)據(jù)來(lái)設(shè)定起點(diǎn)和終點(diǎn)。對(duì)所設(shè)定的起點(diǎn)和終 點(diǎn)確認(rèn)后,可以將起點(diǎn)和終點(diǎn)存放在結(jié)點(diǎn)庫(kù)中,若在前述的步驟中,航海 者還設(shè)定了必到達(dá)點(diǎn),則必到達(dá)點(diǎn)也應(yīng)當(dāng)存放在結(jié)點(diǎn)庫(kù)中,結(jié)點(diǎn)庫(kù)中的各 個(gè)點(diǎn)按照到達(dá)順序有序排列,即起點(diǎn)最前,終點(diǎn)最后,必到達(dá)點(diǎn)按照到達(dá) 順序位于所述的起點(diǎn)和終點(diǎn)之間。
在設(shè)定航跡的起點(diǎn)和終點(diǎn)后,結(jié)合矢量電子海圖以及航海者自身設(shè)定 的信息,開(kāi)始具體的航跡設(shè)計(jì)過(guò)程,為了方便理解,下面將一個(gè)實(shí)施例與 附圖相結(jié)合做具體的說(shuō)明。
在一個(gè)實(shí)施例中,做如下假定航海者已經(jīng)設(shè)定了航跡的起點(diǎn)S和終 點(diǎn)E,在起點(diǎn)S和終點(diǎn)E所在的海域內(nèi)共有三個(gè)不能到達(dá)區(qū)域,分別用 Rl、 R2、 R3表示,在起點(diǎn)與終點(diǎn)間不存在必到達(dá)點(diǎn)。下面結(jié)合圖3,對(duì) 如何設(shè)計(jì)起點(diǎn)S和終點(diǎn)E之間的航跡進(jìn)行說(shuō)明。
根據(jù)兩點(diǎn)之間直線最短的原理,要為起點(diǎn)S和終點(diǎn)E設(shè)計(jì)航跡,首先 考慮的就是將起點(diǎn)S和終點(diǎn)E之間的連線作為可能的候選航跡。在圖3A 中,將起點(diǎn)S和終點(diǎn)E直接相連的線段就是可能的候選航跡I??赡艿暮?選航跡只有在經(jīng)過(guò)可行性的判斷后才能成為候選航跡。所述的可行性判斷 主要是指該航跡沒(méi)有經(jīng)過(guò)不能到達(dá)區(qū)域。不具有可行性的可能的候選航跡 會(huì)被舍棄,需要重新進(jìn)行選擇。在前面的描述中已經(jīng)提到,不能到達(dá)區(qū)域 在幾何上可以用多邊形表示,因此,對(duì)于可能的候選航跡是否經(jīng)過(guò)不能到達(dá)區(qū)域的判斷可以轉(zhuǎn)化為 一條線段是否與多邊形相交的問(wèn)題。由于不可能 到達(dá)區(qū)域可能不止一個(gè),因此,在判斷可能的候選航跡是否經(jīng)過(guò)不能到達(dá) 區(qū)域時(shí),應(yīng)當(dāng)將代表可能的候選航跡的線段與所有代表不能到達(dá)區(qū)域的多 邊形做相交判斷,只有所述線段與所有多邊形都不相交,才認(rèn)為可能的候 選航線沒(méi)有經(jīng)過(guò)不能到達(dá)區(qū)域。對(duì)于線段與多邊形相交的情況,也要知道 線段具體與哪個(gè)多邊形相交,即可能的候選航跡經(jīng)過(guò)了哪些不能到達(dá)區(qū) 域,以方便后續(xù)的對(duì)新的可能的候選航跡的查找。在相交計(jì)算過(guò)程中,為 了節(jié)省計(jì)算所需資源、提高效率,在一個(gè)優(yōu)選實(shí)施方式中,當(dāng)發(fā)現(xiàn)線段和 某個(gè)多邊形相交則停止計(jì)算該多邊形剩余的邊,開(kāi)始計(jì)算下一個(gè)多邊形是
否相交。在圖3A中,經(jīng)過(guò)計(jì)算,候選航跡I會(huì)先后經(jīng)過(guò)不能到達(dá)區(qū)域R1、 R2,因此,可能的候選航跡I不能作為候選航跡,需要查找其它的航跡作 為候選航跡。
不具有可行性的可能的候選航跡經(jīng)過(guò)了不能到達(dá)區(qū)域,因此在尋找新 的可能的候選航跡時(shí)應(yīng)當(dāng)避開(kāi)前一可能的候選航跡所經(jīng)過(guò)的不能到達(dá)區(qū) 域。仍然以為起點(diǎn)S和終點(diǎn)E設(shè)計(jì)航線為例,前述的可能的候選航跡I先 后經(jīng)過(guò)了不能到達(dá)區(qū)域R1、 R2,因此新的航跡應(yīng)當(dāng)避開(kāi)Rl、 R2。在避開(kāi) Rl、 R2時(shí),先避開(kāi)R1后避開(kāi)R2,與先避開(kāi)R2后避開(kāi)R1所得到的候選 航線會(huì)存在差異,下面分別結(jié)合圖3A和圖3B加以說(shuō)明。
在圖3A中,首先要避開(kāi)不能到達(dá)區(qū)域Rl。 Rl被可能的候選航跡I 分割成兩部分,定義有向線段寇的左側(cè)為負(fù)區(qū),右側(cè)為正區(qū),在正負(fù)區(qū)分 別找到一個(gè)距離航跡I最遠(yuǎn)的結(jié)點(diǎn),在圖3A中用三角形表示所找到的兩 個(gè)結(jié)點(diǎn)。然后從這兩個(gè)頂點(diǎn)沿航跡I的法向方向向區(qū)域外移動(dòng)固定的安全 距離得到新的航跡結(jié)點(diǎn)1和2,此處所述的安全距離可以由航海者指定。 所得到的新的航跡結(jié)點(diǎn)應(yīng)當(dāng)判斷其是否在不能到達(dá)區(qū)域范圍內(nèi),如果在不 能到達(dá)區(qū)域范圍內(nèi),則刪除新得到的航跡結(jié)點(diǎn),否則將新得到的航跡結(jié)點(diǎn) 加入到結(jié)點(diǎn)庫(kù)中。在本實(shí)施例中,新得到的航跡結(jié)點(diǎn)1和2顯然都不在不 能到達(dá)區(qū)域內(nèi),因此,4元跡結(jié)點(diǎn)1和2都可加入到結(jié)點(diǎn)庫(kù)中。在前面的i兌 明中提到,起點(diǎn)、終點(diǎn)以及不能到達(dá)點(diǎn)存入結(jié)點(diǎn)庫(kù)中時(shí),應(yīng)當(dāng)按照到達(dá)順 序進(jìn)行存儲(chǔ)。而在此處對(duì)航跡結(jié)點(diǎn)1、 2進(jìn)行存儲(chǔ)時(shí),兩個(gè)航跡結(jié)點(diǎn)的到 達(dá)順序是相同的,因此,在將航跡結(jié)點(diǎn)1和2存儲(chǔ)到結(jié)點(diǎn)庫(kù)中時(shí),應(yīng)當(dāng)對(duì) 這兩個(gè)航跡結(jié)點(diǎn)進(jìn)行標(biāo)記以體現(xiàn)上述特征。在后續(xù)的路徑計(jì)算時(shí),會(huì)根據(jù) 這兩個(gè)航跡結(jié)點(diǎn)形成不同的路徑。計(jì)算經(jīng)過(guò)結(jié)點(diǎn)庫(kù)中結(jié)點(diǎn)的路徑。以對(duì)經(jīng)過(guò)結(jié)點(diǎn)1的路徑為例,通過(guò)起 點(diǎn)S、航跡結(jié)點(diǎn)1、終點(diǎn)E可以得到一條新的可能的候選航線II,在新的
候選航線II中包括起點(diǎn)S和航跡結(jié)點(diǎn)1的連線§1, 4元跡結(jié)點(diǎn)1和終點(diǎn)E
的連線m。連線3是安全可行的航跡,不再進(jìn)行分割,但連線m與區(qū)域
R3相交,因此需要再次避開(kāi)R3。重復(fù)前述的過(guò)程,可以產(chǎn)生結(jié)點(diǎn)3和4, 結(jié)點(diǎn)3和結(jié)點(diǎn)4與終點(diǎn)E的連線是安全的,因此,所得到的可能的候選航 跡^l和^成為候選^t跡。類似的,通過(guò)4元跡結(jié)點(diǎn)2可以得到候選4元跡 ^S和^S 。
以上是首先避開(kāi)不能到達(dá)區(qū)域R1的情況,在圖3B中,給出了首先避 開(kāi)不能到達(dá)區(qū)域R2,然后避開(kāi)R1的情況。與前面的描述相類似,首先通 過(guò)可能的候選航跡I將R2分出正負(fù)區(qū)域,然后通過(guò)在R2上找距離最遠(yuǎn)的 點(diǎn)進(jìn)一步找到兩個(gè)結(jié)點(diǎn)7、 8,然后將起點(diǎn)S、結(jié)點(diǎn)7、終點(diǎn)E,或者起點(diǎn) S、結(jié)點(diǎn)8、終點(diǎn)E按順序連接,得到可能的候選航跡,通過(guò)對(duì)可能的候 選航跡的可行性判斷,決定是否需要進(jìn)一步進(jìn)行分割,直到得到安全可行 的候選航跡為止。在圖3B中,最終可以得到候選4元跡&元、S(10)7E (由 于10與1、0在上述航跡標(biāo)識(shí)中無(wú)法區(qū)分,因此為IO添加了括號(hào))以及函。
通過(guò)上述操作,可以得到起點(diǎn)S與終點(diǎn)E之間的7條候選航跡,但對(duì)
于航海者而言,只要選擇其中的一條作為最終航跡。所得到的最終航跡應(yīng)
當(dāng)是最為快捷方便的航跡。為了解決上述的候選航跡選擇問(wèn)題,需要對(duì)航
跡的航行代價(jià)進(jìn)行計(jì)算。在本發(fā)明的一個(gè)實(shí)施例中,給出了如下的航跡代
價(jià)計(jì)算公式<formula>formula see original document page 11</formula>
其中<formula>formula see original document page 11</formula> i = l,2,3,4,義i為各個(gè)參數(shù)的權(quán)重值。 L為表示航跡總長(zhǎng)度的參數(shù),其具體定義如下<formula>formula see original document page 11</formula>其中的Li為每段航跡的長(zhǎng)度,Lmax為航海者定義的最大航跡總長(zhǎng)度。
N為表示航跡總結(jié)點(diǎn)數(shù)的參數(shù),其具體定義如下
<formula>formula see original document page 11</formula>
其中的N,為航跡的總結(jié)點(diǎn)個(gè)數(shù),Nmax為航海者定義的最大航跡結(jié)點(diǎn)個(gè)數(shù)。
l為表示最小航跡段長(zhǎng)度的參數(shù),其具體定義如下
/ = /mm_/' SO
其中的lj為航跡的最小航跡段長(zhǎng)度,U為航海者定義的最小航跡段長(zhǎng)度。
e為表示航跡最大轉(zhuǎn)彎角度的參數(shù),其具體定義如下
e =-
cos⑨
其中的^和《|+1為形成最大轉(zhuǎn)彎角的兩個(gè)航跡段向量,0為定義的最大 轉(zhuǎn)彎角。
上述各個(gè)參數(shù)中義i、 Lmax、 Nmax、 ^、 -都可以由航海者根據(jù)自身的需 要、艦船情況和燃油等因素指定,航跡代價(jià)計(jì)算公式計(jì)算得到的值越小, 說(shuō)明航跡越滿足條件。
本實(shí)施例中的7個(gè)候選航跡經(jīng)過(guò)上述公式計(jì)算后,就可以根據(jù)計(jì)算結(jié) 果選擇代價(jià)最'J、的航跡作為最終航跡。
以上是對(duì)本發(fā)明的方法在 一 個(gè)實(shí)施例中實(shí)現(xiàn)時(shí)的具體流程的說(shuō)明,在 實(shí)際應(yīng)用時(shí),除了上述實(shí)施例所列舉的情況外,還可能存在如下情況不 能到達(dá)區(qū)域的面積很大或該區(qū)域的形狀呈現(xiàn)一個(gè)凹多邊形,對(duì)于此種情 況,如圖3(C)所示,在計(jì)算航跡時(shí),采用前述方法產(chǎn)生結(jié)點(diǎn)1和3,然 后計(jì)算航跡II時(shí)發(fā)現(xiàn)它仍舊和區(qū)域R1相交,此時(shí)不再計(jì)算航跡正負(fù)兩側(cè) 距離航跡最遠(yuǎn)的點(diǎn)??紤]到結(jié)點(diǎn)1位于航跡I分割的負(fù)側(cè),因此新的結(jié)點(diǎn) 也必然在航跡II分割區(qū)域的負(fù)側(cè),所以只需要在航跡負(fù)側(cè)找距離航跡最遠(yuǎn) 的新結(jié)點(diǎn),最后找到結(jié)點(diǎn)2,生成候選航跡^T元。這樣做可以避免航跡的 回畫,同時(shí)可以保證航跡可以進(jìn)入凹多邊形的凹區(qū)域。
從上述實(shí)施例中可以看到,本發(fā)明的方法在計(jì)算機(jī)上實(shí)現(xiàn)時(shí)所涉及的 大量計(jì)算代價(jià)都與多邊形相關(guān)。例如,在選擇起點(diǎn)和終點(diǎn)時(shí),要判斷所選 擇的起點(diǎn)和終點(diǎn)是否在不能到達(dá)區(qū)域內(nèi)的計(jì)算代價(jià)為 0(nilogni+n2logri2+…+nJognm),其中m為不能到達(dá)區(qū)域多邊形的個(gè)數(shù), ni(i:l,2,…,m)為第i個(gè)多邊形的邊數(shù)。在計(jì)算線段與代表不能到達(dá)區(qū)域的 多邊形是否相交的最壞計(jì)算代價(jià)為0(ni+n2+...+nm),其中ni(i- 1,2,…,m)
12為第i個(gè)多邊形的邊數(shù)。
考慮到上述特性,本發(fā)明在又一個(gè)實(shí)施例中,還可以用二維空間分區(qū) 二叉樹(shù)的方法將多邊形區(qū)域分區(qū)形成二叉樹(shù),這一過(guò)程在航跡規(guī)劃前預(yù)先 完成。通過(guò)這一方法可以簡(jiǎn)化點(diǎn)是否在多邊形內(nèi)和線段是否和多邊形相交 的計(jì)算。采用二叉樹(shù)方法后,判斷起點(diǎn)和終點(diǎn)是否在不能到達(dá)區(qū)域內(nèi)的計(jì)
算代價(jià)可降低到0(1ogn,+logn2+…+lognm),其中m為不能到達(dá)區(qū)域多邊形 的個(gè)數(shù),ni(i = 1,2,…,m)為第i個(gè)多邊形的邊數(shù);而線段與代表不能到達(dá)區(qū) 域的多邊形是否相交的最壞計(jì)算代價(jià)降低到O(P( logni+logn2+...+lognm))。 即使加上構(gòu)造二叉樹(shù)所要花費(fèi)的計(jì)算代價(jià)0(1^(^1^+1121(^112+...+nmlognm), 與不采用二叉樹(shù)的方法相比,也能降低計(jì)算所需要的開(kāi)銷。二維空間分區(qū) 二叉樹(shù)的方法是成熟的現(xiàn)有技術(shù),在此處不再重復(fù)說(shuō)明。
最后所應(yīng)說(shuō)明的是,以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制。 盡管參照實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理 解,對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,都不脫離本發(fā)明技術(shù)方案 的精神和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1、一種基于矢量電子海圖的二維航跡規(guī)劃方法,包括步驟1)、在矢量電子海圖上選定海域,得到所選定海域的海洋數(shù)據(jù)與航行數(shù)據(jù),確定所選定海域中的不能到達(dá)區(qū)域、必到達(dá)點(diǎn)以及航跡代價(jià)參數(shù);還要為所要規(guī)劃的航跡設(shè)定起點(diǎn)和終點(diǎn),將所述的起點(diǎn)、終點(diǎn)以及所確定的必到達(dá)點(diǎn)按照到達(dá)順序?qū)⒆鴺?biāo)值保存在一個(gè)結(jié)點(diǎn)庫(kù)中;步驟2)、從所述結(jié)點(diǎn)庫(kù)中按序取出兩個(gè)點(diǎn),在所述的兩個(gè)點(diǎn)之間做連線,判斷所得到的連線是否經(jīng)過(guò)所述的不能到達(dá)區(qū)域,若沒(méi)有經(jīng)過(guò),則將所述連線作為所述兩點(diǎn)間的候選航跡,若經(jīng)過(guò),則從所選定海域中找到與所述連線相交的不能到達(dá)區(qū)域外的點(diǎn),然后將所找到的點(diǎn)按到達(dá)順序存入結(jié)點(diǎn)庫(kù),重新執(zhí)行本步驟;步驟3)、將所述結(jié)點(diǎn)庫(kù)中兩點(diǎn)間的候選航跡連接起來(lái),得到所述起點(diǎn)與終點(diǎn)間的所有候選航跡;步驟4)、對(duì)步驟3)得到的起點(diǎn)與終點(diǎn)間的所有候選航跡根據(jù)所述的航跡代價(jià)參數(shù)進(jìn)行航跡代價(jià)計(jì)算,將代價(jià)最小的候選航跡作為起點(diǎn)和終點(diǎn)間的最終航跡。
2、 根據(jù)權(quán)利要求1所述的基于矢量電子海圖的二維航跡規(guī)劃方法, 其特征在于,在所述的步驟2)中,所述的從所選定海域中找到與所述連 線相交的不能到達(dá)區(qū)域外的點(diǎn)包括將所述的不能到達(dá)區(qū)域位于所述連線的兩側(cè)分為兩個(gè)區(qū)域; 在所述的兩個(gè)區(qū)域中分別找到與所述連線距離最遠(yuǎn)的點(diǎn); 將所找到的點(diǎn)按照所述連線的法向方向向所述不能到達(dá)區(qū)域外移動(dòng) 航海者規(guī)定的安全距離,所得到的點(diǎn)若不在所述的不能到達(dá)區(qū)域范圍內(nèi), 則所述的點(diǎn)即為所述的與所述連線相交的不能到達(dá)區(qū)域外的點(diǎn)。
3、 根據(jù)權(quán)利要求2所述的基于矢量電子海圖的二維航跡規(guī)劃方法, 其特征在于,在從所選定海域中找到與所述連線相交的不能到達(dá)區(qū)域外的 點(diǎn)時(shí)還包括當(dāng)所述的不能到達(dá)區(qū)域就是前 一 次兩點(diǎn)連線操作時(shí)所經(jīng)過(guò)的不能到 達(dá)區(qū)域時(shí),在所述不能到達(dá)區(qū)域中與前一次所選取點(diǎn)的同側(cè)尋找與當(dāng)前所 述連線距離最遠(yuǎn)的點(diǎn);將所找到的點(diǎn)按照所述連線的法向方向向所述不能到達(dá)區(qū)域外移動(dòng)航海者規(guī)定的安全距離,所得到的點(diǎn)若不在所述的不能到達(dá)區(qū)域范圍內(nèi), 則所述的點(diǎn)即為所述的與所述連線相交的不能到達(dá)區(qū)域外的點(diǎn)。
4、 根據(jù)權(quán)利要求1所述的基于矢量電子海圖的二維航跡規(guī)劃方法, 其特征在于,在所述的步驟2)中,所述的將所找到的點(diǎn)按到達(dá)順序?qū)⒆?標(biāo)值存入結(jié)點(diǎn)庫(kù)包括,當(dāng)所找到的點(diǎn)大于 一個(gè)且這些點(diǎn)之間的到達(dá)順序相同時(shí),對(duì)這些點(diǎn)進(jìn)4亍標(biāo)記以形成不同路徑的候選航跡。
5、 根據(jù)權(quán)利要求1所述的基于矢量電子海圖的二維航跡規(guī)劃方法, 其特征在于,在所述的步驟4)中,所述的航跡代價(jià)計(jì)算由所述航跡代價(jià) 參數(shù)中的航跡總長(zhǎng)度的參數(shù)、航跡總結(jié)點(diǎn)數(shù)的參數(shù)、最小航跡段長(zhǎng)度的參 數(shù)、航跡最大轉(zhuǎn)彎角度的參數(shù)以及各個(gè)參數(shù)的權(quán)重值計(jì)算得到。
6、 根據(jù)權(quán)利要求5所述的基于矢量電子海圖的二維航跡規(guī)劃方法, 其特征在于,所述的航跡代價(jià)計(jì)算的計(jì)算公式包括Vexpense=/^Z + /^iV + /y + A4P其中,&+義2+^3+義4 =1, 0^;ii^1, i = l,2,3,4, A為各個(gè)參數(shù)的權(quán)重值; L為表示航跡總長(zhǎng)度的參數(shù),包括S、 -L隨L=^-SOLmax其中的L,為每段航跡的長(zhǎng)度,Lmax為航海者定義的最大航跡總長(zhǎng)度; N為表示航跡總結(jié)點(diǎn)數(shù)的參數(shù),包括其中的為航跡的總結(jié)點(diǎn)個(gè)數(shù),Nmax為航海者定義的最大航跡結(jié)點(diǎn)個(gè)數(shù);l為表示最小航跡段長(zhǎng)度的參數(shù),包括 /=/min 《0,min其中的li為航跡的最小航跡段長(zhǎng)度,lmm為航海者定義的最小航跡段長(zhǎng)度;^為表示航跡最大轉(zhuǎn)彎角度的參數(shù),包括<formula>formula see original document page 4</formula>⑨其中的^和"1+1為形成最大轉(zhuǎn)彎角的兩個(gè)航跡段向量,0為定義的最大轉(zhuǎn)彎角。
7、 根據(jù)權(quán)利要求1所述的基于矢量電子海圖的二維航跡規(guī)劃方法, 其特征在于,所述的不能到達(dá)區(qū)域包括所述矢量電子海圖中用于表示陸地 和禁區(qū)的區(qū)域,還包括航海者自行劃定的海洋區(qū)域。
8、 根據(jù)權(quán)利要求7所述的基于矢量電子海圖的二維航跡規(guī)劃方法, 其特征在于,所述的航海者自行劃定的海洋區(qū)域包括由航海者根據(jù)自身的 需要以及所述矢量電子海圖中的已有數(shù)據(jù)所定義的區(qū)域,或者由航海者根 據(jù)經(jīng)綿度坐標(biāo)定義的區(qū)域。
9、 根據(jù)權(quán)利要求1所述的基于矢量電子海圖的二維航跡規(guī)劃方法, 其特征在于,在所述的步驟2)中,所述的判斷所得到的連線是否經(jīng)過(guò)所 述的不能到達(dá)區(qū)域時(shí),用多邊形表示所述的不能到達(dá)區(qū)域,用線段表示所 述的連線,通過(guò)線段與多邊形的相交計(jì)算求所述的連線是否經(jīng)過(guò)所述的不 能到達(dá)區(qū)域。
10、 根據(jù)權(quán)利要求9所述的基于矢量電子海圖的二維航跡規(guī)劃方法, 其特征在于,將所述選定海域中用于表示所述不能到達(dá)區(qū)域的多邊形用二 叉樹(shù)表示。
全文摘要
本發(fā)明提供一種基于矢量電子海圖的二維航跡規(guī)劃方法,包括在矢量電子海圖上選定海域,確定不能到達(dá)區(qū)域、必到達(dá)點(diǎn)以及航跡代價(jià)參數(shù);在所選定海域上設(shè)定起點(diǎn)和終點(diǎn),將起點(diǎn)、終點(diǎn)以及必到達(dá)點(diǎn)按到達(dá)順序?qū)⒆鴺?biāo)值保存在一個(gè)結(jié)點(diǎn)庫(kù)中;從結(jié)點(diǎn)庫(kù)中按序取出兩個(gè)點(diǎn),在兩點(diǎn)之間做連線,判斷所得到的連線是否經(jīng)過(guò)不能到達(dá)區(qū)域,若沒(méi)有經(jīng)過(guò),則將連線作為所述兩點(diǎn)間的候選航跡,若經(jīng)過(guò),則從所選定海域中找到與連線相交的不能到達(dá)區(qū)域外的點(diǎn),將所找到的點(diǎn)按到達(dá)順序?qū)⒆鴺?biāo)值存入結(jié)點(diǎn)庫(kù)后,重新執(zhí)行本步驟;將結(jié)點(diǎn)庫(kù)中兩點(diǎn)間的候選航跡連接起來(lái),得到所有候選航跡;對(duì)所有候選航跡根據(jù)航跡代價(jià)參數(shù)進(jìn)行航跡代價(jià)計(jì)算,將代價(jià)最小的候選航跡作為最終航跡。
文檔編號(hào)G01C21/00GK101685016SQ200810222938
公開(kāi)日2010年3月31日 申請(qǐng)日期2008年9月23日 優(yōu)先權(quán)日2008年9月23日
發(fā)明者張揚(yáng)帆, 光 楊, 杰 田 申請(qǐng)人:中國(guó)科學(xué)院聲學(xué)研究所