一種車輛導航位置偏移判定方法與流程
2023-12-09 21:51:26 1
本發明涉及汽車導航領域,尤其是利用GPS系統獲取車輛的位置信息來判斷車輛是否偏離預設路徑的方法。
背景技術:
衛星導航是現在使用非常普遍的一種技術,其可在全球範圍內提供經度、緯度、海撥高度、速度、航向、時間等導航信息,通過衛星導航可以方便的引導駕駛員到達目的地。導航的核心技術是定位技術,現在主要通過GPS系統或者北鬥系統獲得數據。在導航時,導航系統會自動規划行進路線,並時刻監聽運載工具的動向,一旦運載工具偏離路線,大多數導航系統就會重新規劃路線並開始重新導航。現在的情況是,由於算法關係,對於運載工具偏離預設路線的判斷並不是十分精確,有時運載工具已經開錯道路很久後導航系統才能發現偏離道路,此時重新預設線路則很可能會發生繞行或者極大的延長了總裡程。為此現在需要一個可以精確判定運載工具偏離以及可以快速響應的方法,通過對運載工具的時時監控,保證運載工具行駛在預設路線內。
技術實現要素:
本發明針對現有技術中的不足,提供了一種車輛導航位置偏移判定方法,能夠實時獲取大量汽車行駛中的定位信息,並且根據這些定位信息迅速的對汽車是否偏離預設路線進行精確及時的判斷。
為了解決上述技術問題,本發明通過下述技術方案得以解決:一種車輛導航位置偏移判定方法,包含以下幾個步驟:步驟A):對地圖進行分區建立若干個區塊,然後對每個區塊設置GeoHash值,各個區塊的GeoHash值組成預設路線資料庫,對預設路線資料庫構建哈希索引;步驟B):將預設路線反應到地圖上,預設路線由至少一條線段AB組成,線段AB包括端點A和端點B,以每條線段AB為直徑畫外接圓並獲得每條線段AB外接圓圓心的GeoHash值,然後獲得車輛實時位置P點的GeoHash值,以P點坐標為圓心並以Rmax為半徑畫圓Q,其中Rmax比最長線段AB的一半長,遍歷圓Q範圍內每個分區的GeoHash值的並把這些值與所有線段AB的外接圓圓心的GeoHash值進行匹配,如果雙方沒有匹配的值則認定為偏離路線,如果有匹配的GeoHash值則找出所有匹配的GeoHash值對應的線段AB後進入下一步;步驟C):計算P點到所有匹配線段AB的最短距離|Pab|min,其中P在線段AB上時則|Pab|min=0,其中PAB形成銳角三角形時,先計算周長L,L=|PA|+|PB|+|AB|,然後利用海倫公式得出如果PAB是鈍角三角形且P在AB延長線上則|Pab|min=|PB|,如果PAB是鈍角三角形且P在BA延長線上則|Pab|min=|PA|,如果P到所有匹配線段AB的距離|Pab|min≤閥值,則認定沒有偏離路線,如果任一或多個|Pab|min>閥值則偏離路線。
上述技術方案中,優選的,在所述的步驟A中,對正方形地圖進行連續的十字均分,直到最小區塊所映射的實際面積不大於15M*15M,在進行十字均分的同時對均分的區塊進行GeoHash賦值,每進行一次十字均分就賦值一次,賦值的規則為新區塊先繼承上級區塊的GeoHash值然後新區塊按從左到右從上到下的順序依次再獲得01、11、00、10值,新獲得的值直接隊列在原值後。
上述技術方案中,優選的,在所述的步驟B中,Rmax大於1/2的最長線段AB的長度,小於等於3/4的最長線段AB的長度。
上述技術方案中,優選的,在步驟B和步驟C中,進行偏離計算以及判斷的系統為定位數據處理伺服器,定位數據處理伺服器具有對應的區塊,定位數據處理伺服器只處理其對應區塊內車輛的偏移計算和判斷。
本發明是一種車輛導航位置偏移判定方法,主要應用於車輛導航中。在車輛導航時,最重要的步驟是實時判斷車輛是否還行駛在預設線路上,一旦偏移就必須進行其他動作,要麼重新規劃路線,要麼引導車輛回歸預設路線。本方法把整個地圖均勻的分成若干個正方形區塊,在均分的時候遵循遞歸的思想,首先把地圖進行十字均分,然後對每個區塊再進行十字均分,直到達到解析度的要求,在每次均分時都會對區塊進行GeoHash賦值,下級區塊先繼承上一級區塊的GeoHash值後再隊列添加新的GeoHash值。比如第一次十字均分後四個區塊從左到右從上到下的順序依次獲得01、11、00、10的GeoHash值,第二次十字均分後每個大區塊再獲得四個小區塊,左上大區塊內四個小區塊的GeoHash值就為0101、0111、0100、0110,其他區塊依此類推,繼續十字均分後的小區塊也依照此類規則。這樣整個地圖上的區塊GeoHash值從上級區塊到下級區塊呈樹狀網絡,繼承有序簡單明了。確定好GeoHash值後就能得到預設路徑的GeoHash值,判斷時,首先需要獲車輛的定位信息,然後根據位置點為圓心,比最大路徑線段一半長的線段為半徑做圓,再然後獲得所有圓範圍內的GeoHash值,如果此GeoHash值與任意線段中心的GeoHash值不同則認定車輛已經出現偏離,準備下一步驟,如果有任意線段中心的GeoHash值在此GeoHash值範圍內則需要進行下一步判斷。下一步判斷是車輛位置點到匹配GeoHash值線段的距離是否超過閥值,在判斷時需要精算所有車輛位置點到匹配GeoHash值線段的距離,一旦有一個距離超過閥值則可認定車輛偏離預設線路。通過本方法進行的偏移判斷可以非常精確的確定車輛的偏移狀態,並且本方法可以在一張地圖上對大量的車輛進行偏移判斷。
與現有技術相比,本發明能夠實時獲取大量汽車行駛中的定位信息,並且根據這些定位信息迅速的對汽車是否偏離預設路線進行精確及時的判斷。
具體實施方式
下面結合具體實施方式對本發明作進一步詳細描述。
在應用本方法時需要GPS伺服器或者北鬥伺服器接收GPS數據或者北鬥數據,同時需要GPS數據處理伺服器或者北鬥數據處理伺服器處理GPS數據或者北鬥數據。因此在實施例中要GPS伺服器和北鬥伺服器統稱為定位信息伺服器,GPS數據和者北鬥數據統稱為定位數據,要GPS數據處理伺服器和北鬥數據處理伺服器統稱為定位數據處理伺服器。
實施例:一種車輛導航位置偏移判定方法,主要包括三個步驟。
步驟A):對地圖進行分區,然後對每個分區設置GeoHash值。分區的規則遵循十字均分法,直到最小區塊所映射的實際面積不大於15M*15M。至於實際最小區塊的實際面積還需要根據具體情況而定,一般而言最小區塊所映射的實際面積越小整個系統的判斷越精確,但對定位數據處理伺服器的性能的要求越高。在進行十字均分的同時對均分的區塊進行GeoHash賦值,每進行一次十字均分就賦值一次,賦值的規則為新區塊先繼承上級區塊的GeoHash值然後新區塊按從左到右從上到下的順序依次再獲得01、11、00、10值,新獲得的值直接隊列在原值後。比如第一次十字均分後整個地圖分為四個相等的區塊,則四個區塊從左到右從上到下的順序依次獲得01、11、00、10的GeoHash值,第二次十字均分後每個大區塊再獲得四個小區塊,左上大區塊內四個小區塊的GeoHash值就為0101、0111、0100、0110,其他區塊依此類推,繼續十字均分後的小區塊也依照此類規則。這樣整個地圖上的區塊GeoHash值從上級區塊到下級區塊呈樹狀網絡分布,繼承有序簡單明了。然後對所有區塊的GeoHash值建立預設路線資料庫,並對預設路線資料庫構建哈希索引。如果地圖過大,則預設路線資料庫非常龐大,在計算時則會拖慢速度,為此可以設立多個定位數據處理伺服器,每個定位數據處理伺服器分管區塊內的所有GeoHash值資料庫,所有定位數據處理伺服器合起來的GeoHash值資料庫為總地圖的GeoHash值資料庫。定位數據處理伺服器的分配可以參考本步驟中地圖十字均分的方法。
步驟B):將預設路線反應到地圖上,讓定位數據與預設路線進行匹配。因為預設路線由至少一條線段AB組成,線段AB包括端點A和端點B,以每條線段AB為直徑畫外接圓並獲得每條線段AB外接圓圓心所在區塊的GeoHash值。然後根據得車輛實時位置P點定位數據確定P點所在區塊的GeoHash值,再然後以P點坐標為圓心並以Rmax為半徑畫圓Q,其中Rmax比最長線段AB的一半長,一般而言Rmax大於1/2的最長線段AB的長度,小於等於3/4的最長線段AB的長度,最佳的Rmax僅大於1/2的最長線段AB的長度一點,Rmax長度與1/2的最長線段AB越接近則精確度越高。再然後遍歷圓Q範圍內每個分區的GeoHash值的並把這些值與所有線段AB的外接圓圓心(既線段AB的中心點)所在區塊的GeoHash值進行匹配,如果雙方沒有匹配的值則認定為偏離路線,如果有匹配的GeoHash值則找出所有匹配的GeoHash值對應的線段AB後進入下一步。
步驟C):計算P點到所有匹配線段AB的最短距離|Pab|min,其中P在線段AB上時則|Pab|min=0,其中PAB形成銳角三角形時,先計算周長L,L=|PA|+|PB|+|AB|,然後利用海倫公式得出如果PAB是鈍角三角形且P在AB延長線上則|Pab|min=|PB|,如果PAB是鈍角三角形且P在BA延長線上則|Pab|min=|PA|,如果P到所有匹配線段AB的距離|Pab|min≤閥值,則認定沒有偏離路線,如果任一或多個|Pab|min>閥值則偏離路線,只有所有的|Pab|min≤閥值時才認定車輛沒有偏離路線。閥值的設定需要根據情況來定,比如定位數據識別的精度以及定位數據傳輸的速度,一般而言,閥值越小則判斷的越精確。
本方法是對所有具有預設路線的車輛都進行偏離判斷,並且判斷是即時的。定位信息伺服器收到車輛的定位數據後,根據定位數據所在的區塊把此信息分配到相應的定位數據處理伺服器,如果在步驟B中的依照定位數據而成的圓Q超出此定位數據處理伺服器GeoHash值資料庫的範圍則協同相鄰的定位數據處理伺服器共同工作,每個定位數據處理伺服器只處理本GeoHash值資料庫範圍內的區塊。通過這種分配模式,可以極大的提高整個處理效率,如果定位數據處理伺服器越多,則計算偏離路線的速度越快,對汽車行進的判斷越準確。