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的架構設計,更好的輔助自動駕駛。此外,作為資料閉環的一部分,豐富資料提供及回收能力等。