1. 什麼是高精資料分發引擎
1.1 高精地圖概述
高精地圖(High Definitation Map,HD MAP),和普通導航電子地圖的主要區別是精度更高、資訊更豐富。精度更高主要體現在高精地圖的絕對座標精度更高(指的是地圖上某個目標和外部的真實世界事物所在位置之間的精度),可以精確到釐米級別;資訊更豐富主要體現在高精地圖不僅包含了道路資訊,還涵蓋了幾乎所有與交通相關的周圍靜態資訊。
相比於普通導航電子地圖,高精度地圖所包含的道路交通訊息更豐富和準確。除此以外,在應用場景方面,普通導航地圖主要供駕駛員使用,而高精度地圖是面向機器的、供自動駕駛汽車使用的地圖。
精度是高精度地圖與普通導航電子地圖的最大區別。普通車載電子導航地圖的精度一般在10米左右,高精度地圖應用在自動駕駛領域,需要精確定位到具體某條車道上,還需要知道周圍所有可能參與自動駕駛決策的道路和交通訊息,精度需要達到10~20釐米,這樣的精度基本上和一個車道邊線的寬度差不多,才能保證智慧駕駛的汽車不會跨越到其他車道,避免與其他車輛發生側面碰撞的風險。
普通導航電子地圖要描繪出道路(link),而高精度地圖不僅要描繪道路,還會描繪出一條道路上有多少條車道(lane),真實地反映出道路的實際樣式。
高精度地圖資訊更豐富主要體現在以下幾個方面:
準確的道路形狀:每條車道的坡度、曲率、航向、高程,側傾的資料。
詳細的車道線資訊:車道之間的車道線是虛線、實線還是雙黃線,線的顏色,道路隔離帶,隔離帶的材質都會有描述。
此外,人行橫道,道路沿線看板,限速標誌,紅綠燈,路邊電話亭等等,這類通常統稱為LandMark Object的絕對地理座標,物理尺寸以及他們的特質特性等也都會出現在高精度資料中。
1.2 高精資料分發引擎
ADAS(Advanced Driver Assistant System,高階駕駛輔助系統)應用需要用車輛前方路網及屬性資料資訊用於決策控制及判斷,普通數字地圖資料通常僅供導航系統使用,但高精地圖資料可供車輛內的其他ADAS應用使用,因此需要依賴高精資料及用於高精資料播發的高精資料分發引擎。
ADASIS(ADAS介面規範)定義了“ADAS電子地平線”的概念,“ADAS電子地平線”表達了車輛前方的路網及路網屬性資訊。為了實現這種表達方式,我們需要構建車輛的位置模型以及車輛前方路網的各個可能行駛的道路模型,可以通過一個樹狀的層次結構來表達可通行的道路。此外,道路的幾何形狀及相關屬性也會建立相關的屬性模型來表達。“ADAS電子地平線”資料通過車載乙太網路來序列化及傳輸。
1.3 名詞解釋
ADAS(Advanced DriverAssistance System)
即高階駕駛輔助系統,利用車載感測器感知車輛環境,並融合計算,預先讓駕駛者察覺可能發生的危險,有效提升車輛駕駛的安全性、經濟性和舒適性。
ADASIS(Advanced DriverAssistance System Interface Specification)
ADAS論壇制定的行業國際標準,用於規範地圖資料和車輛ADAS應用之間交換地圖資料的標準介面協議。
AHP(ADAS Horizon Provider)
即高精資料分發引擎,為ADAS應用提供超視距的前方道路和資料資訊。
AHR(ADAS Horizon Reconstructor)
用於解析AHP發出的訊息並重建地圖資料,供終端ADAS應用模組使用。
2. 為什麼需要高精資料的分發引擎
高精資料分發引擎作為高精資料及ADAS應用的橋樑,其價值總結下來有以下幾個方面:
- 自動駕駛遠端視距的需要,高精地圖作為自動駕駛的地圖感測器,可以提供更可靠的超視距範圍,支援更可靠的決策判斷。
- 精度提高的需要,由導人到導車的轉變使得對精度要求提高了。
- 高精地圖資料分發的介面標準化。
3. 高精資料分發引擎的建設
3.1 高精資料分發引擎與ADAS應用的關係
資料分發引擎涉及到以下幾個部分組成及互動:
- AHP
- AHR
- ADASIS V3 Protocol
- ADAS應用,詳見上圖的終端應用部
3.2 高精資料分發引擎架構
高精資料分發引擎由多個層級組成,包括引擎層、協議組織層、系統適配層,相關的平臺及工具支撐如下圖所示:
- 引擎層:高精資料的載入,解析及車道路網資料的組織。
- 協議層:主要將引擎層提供的資料組裝協議訊息,並向適配層傳遞分發。
- 適配層:主要負責和系統對接及互動,並將組織的協議資料分發給ADAS應用。
3.4 高精資料分發引擎的模型表達
3.4.1 路網模型的抽象及表達
資料分發引擎的路網模型包含三層的模型抽象,首先經由現實世界模型抽象成高精路網模型,再由高精路網模型進一步組織及劃分抽象為Path及Offset表達的樹狀模型。
- 現實世界的抽象模型的表達
- 數字化地圖模型及使用者設定的導航路徑,地圖要素的表達
- 在資料化地圖模型的車輛位置及路網表達
- 在車輛位置附近的路網模型通過links來表達路網之間的連線關係。在數字地圖資料庫中,道路網表示為一組連線和定義連結之間的節點組成。
- 從ADAS應用角度來看,對車輛後方的路網並不關心,因此資料分發引擎由車輛前方的路網組成。
- 將車輛前方路網按Path來組織,每個Path是一組link的集合。車前方的路網資料可以通過兩種演算法來表達。
簡單Path方式,從車所在link開始,每個可以通行的路徑都獨立表達為Path.
優化路徑組織方式,這種方式減少了資料冗餘,也可以完整表達車輛前方的路網資料。
因此,資料分發引擎根據車輛前方及其周圍環境的路網形狀描述為不同路徑和地圖資料屬性的集合,組成預測樹。這個預測樹由多條路徑連線而成,每一條路徑代表一部分道路,及道路與道路之間的交叉點。
一旦車輛移動更改其位置時,預測檢視也會更改,一些車後方的的路徑可能會被刪除,或車前方的路徑可能會新增新的。路徑的特徵表達為一組屬性,如高速及城快路網本身包括的車道數、幾何形狀、曲率等。屬性在路徑上的位置用一組偏移值表示,偏移值是一種距離標記,通過定義沿路徑本身的絕對距離,以釐米表示。一條路徑的原點是零偏移值點,屬性的偏移值表示屬性本身和路徑原點之間的距離。如果路徑是新開始的並且沒有父路徑,則偏移值0點為車輛所在的起始位置。
3.4.2 高精資料分發引擎的屬性模型
資料分發引擎的屬性模型資料來源於高精路網上的屬性資訊,定義為沿著Path表達,並定義在Path上的位置,通過Offset來表達。例如,速度限制屬性為路徑上的點提供速度限制值。
屬性模型根據插值型別可以分為以下三種不同的型別,即Spot, Step, Linear型別
Spot型別的屬性只有在Path內某一給定的Offset位置有效,屬性的不同由不同的Offset位置來表達。例如交通燈可以定義為Spot型別的屬性,因為可以被表達為Path內某一位置存在這個點屬性
Step型別的屬性定義為到下一屬性的Offset位置處一直有效。屬性表達為Path上的Offset到EndOffset區間範圍內的值。
如上圖所示例子中,Path長度為200。速度限制80是整體有效,從Offset 0點到200。從偏移量50和100開始有兩個限速值。因此整個圖上屬性分佈如下:
- 偏移量0:開始限速值80。
- 偏移量50:引入雨天限速值60,限速80的屬性繼續。
- 偏移量100:重複速度限制80,新增霧天限制50,雨天的限速60結束。
- 偏移量150:重複速度限制80,霧天的速度限制50結束。
Linear型別的屬性定義為在給定的位置間進行線性差值表達。
線性插值型屬性不是連續表達的,在同一個Offset處,左邊的值和右邊的值是不同的,屬性模型用以下方式來表達這種不連續的屬性值。
- 在Offset處,儲存一個屬性,值儲存左邊的屬性值,EndOffset為0。
- 在同一個Offset儲存一個屬性,值儲存右邊的屬性值,但EndOffset > Offset
3.4.3 車的位置資訊模型
在資料分發引擎中,車的位置資訊可以通過Path, Offset來表達。在不確定情況下,車的位置可能存在於多個Path上,因此需要用一個集合來描述車的位置資訊。通過車位置資訊可以表達以下資訊:
- 車資訊是否脫離了資料區域。
- 車資訊是否匹配到了Path的資料範圍。
- 車資訊是否匹配到了個多個Path上。
- 車資訊是否進入及離開了資料區域範圍。
車位置資訊的TimeStamp值表達了接收到感測器資訊的時間時刻值。
車的位置資訊還可以表達前方更可能選擇的Path路徑。
如上圖中左邊可能選擇的路徑是P1, 右圖為P3。
3.4.4 高精資料分發引擎與接收端的同步機制
資料分發引擎通過pathControl訊息來同步AHP及AHR之間的路網Path資料。
- 當pathControl訊息不包含某一Path時,AHR收到訊息後刪除路網中的Path。
- 當pathControl訊息和上次維持不變時,AHR收到訊息後維持當前路網不變。
- 當pathControl訊息增加了某一Path時,AHR收到訊息後增加Path資訊
通過profileControl同步屬性資料。
3.4.5 高精資料分發引擎與接收端的互動機制
資料分發引擎(AHP)與接收端(AHR)有以下幾種互動機制:
- 廣播方式
- 請求/提供方式
- 訂閱/釋出模式
目前高精資料分發引擎建設時採用的是“請求/提供”方式,AHP向AHR傳送 ADAS message, AHR可以請求及反饋資訊。
3.4.6 輔助AHP及ADAS應用融合
3.4.6.1 主AHP及輔助AHP
ADASIS協議中並不是所有的資料都由資料分發引擎提供,也可以增加輔助的AHP引擎。輔助的AHP引擎可以傳送感測器資訊或感測器的融合資訊。
形成的主資料分發引擎及輔助的AHP引擎。
3.4.6.2 ADAS應用的兩種融合方式
根據主AHP及輔助AHP引擎,可以實現2種ADAS應用的融合方式,即下游融合及上游融合。
下游融合
在AHP端不做融合處理,通過通訊方式把各個感測器資料及高精地圖資料傳給AHR端,進行融合的處理,然後再傳給ADAS功能應用。
上游融合
在AHP端做融合處理,將融合結果通過協議傳給AHR處理,直接作用於ADAS功能。
4. 質量建設
為了保證軟體質量,高精資料分發引擎建設中採用瞭如下技術手段:
- 單元測試
- 功能測試
- 質檢工具
視覺化工具
- 視覺化工具截圖
5. 典型架構應用形態
根據高精資料分發引擎構架可以分為以下的幾種整合形態:
5.1 資料分發引擎(即EHP引擎)整合在地圖盒子內
地圖盒子概念
用於承載“地圖資料+高精定位”能力的車規級軟硬一體化產品,有別於純軟體的產品形態。(以下名稱都指高精地圖盒子:定位盒子/MAP ECU/MAP BOX/HDLM...其中L:Localization M:Module)
包含內容
- 地圖及相關應用:HD資料、AHP、定位、OTA...
- 基礎軟體:系統、底層驅動、診斷...
- 基礎硬體:系統級晶片(SoC)、記憶體、儲存、IMU(可選),保護殼體...
- 網路及通訊介面:CAN/以太輸入、以太輸出、USB介面...
方案特點
任務分工清晰:車企能將以這種架構將功能拆解為小模組,分別提出產品要求進行管控,避免全黑盒方案無從下手。遇到交付風險時可以替換供應商。
功能安全方面的考慮:晶片選型、硬體設計、網路安全、系統診斷等細節工作可以交給專業的供應商;地圖質量、線上更新以及回傳等功能安全層級存在不確定性、需要與AD ECU隔離開,以使AD ECU滿足功能安全要求。
便於高配低配等產品管理:可選用供應商的不同配置的產品。
減輕域控制器的算力負擔:便於尋找滿足算力要求的功能安全硬體。
5.2 整合在IHU內
方案特點
降低成本:不需要額外採購硬體模組。
整合V2方案、降低不確定性:AHP V2大多在車機端,方案已跑通,所以將地圖和V3採用相似的方式可以規避新架構的不確定性。
車企內部原因容易推進:部分車企,高精地圖業務規劃導航地圖部門,若自下而上推進盒子方案,對整體架構改動較大,很難推進。
5.3 整合在域控制器內
方案特點
減少跨域通訊對車載網路頻寬的佔用:用於感知的感測器大多與域控制器相連,如果將地圖及定位放在域控制器,後端應用不需要跨域通訊就可以直接或間接使用地圖,減少對於車載網路頻寬的佔用。
更適用於走自研路線及選用整體方案的車企:對於走自研路線的車企,以及選用單一方案商提供完整方案,沒有必要將功能模組分開部署。
6. 場景應用舉例
6.1 高精定位應用
結合高精資料輔助進行橫向定位及縱向定位。
縱向定位多結合路牌obj、車道幾何等相關資訊,橫向定位多結合車道線、護欄等相關資訊。
主動安全應用多結合感測器(毫米波雷達、攝像頭)資訊和地圖資料進行匹配糾偏,從而提升定位精度。
6.2 高速自動駕駛(HWP)
功能啟用
駕駛環境主要依賴地圖判斷:(1)高速城快;(2)車道線清晰;(3)曲率坡度;(4)無引發報警或制動的物體或事件:包含動態道路環境;(5)非夜晚,天氣狀況良好(能見度200米以上)。
實現功能
以本車道巡航橫向控制及異常場景本車道自主停車為例:
- 車道型別:自動駕駛依靠車道型別來劃分可行駛區域,如果型別錯誤會導致車輛行駛在非行駛區域,會給自車帶來安全隱患;同時在自主安全停車的場景中,如果車道型別錯誤會直接導致自主安全停 車的的自主性和安全性。
- 車道線型別:輔助攝像頭進行車道線線型識別;和攝像頭進行對比檢查,進而進行車道保持。
6.3 基於導航路線自動巡航
功能啟用
工況環境依賴地圖判斷:
- 道路等級:高速/城塊。
- PartOfcalculateRoute(導航路徑標識)是否連續無斷開。
- 天氣型別:晴天/小雨/陰天等天氣狀況下,允許功能啟用。
實現功能
- 上/下JCT,會根據導航路徑標識和車輛前方路網判斷是否上/下JCT,並提前對變道匝道側進行提醒。
- 自動變道進入JCT/合入高速,會根據車道線線型輔助攝像頭進行車道線線型識別,並和攝像頭進行檢測對比,線型的虛實判斷車輛變道的時機。
7. 未來演進
一方面,考慮進一步融合AHP V2,V3的架構設計,更好的輔助自動駕駛。此外,作為資料閉環的一部分,豐富資料提供及回收能力等。