ADASIS(Advanced Driver Assistance Systems Interface Specification)直譯過來就是 ADAS 接口規格,它要負責的東西其實很簡單,就是為自動駕駛車輛提供前方道路交通相關的數據,這些數據被抽象成一個標準化的概念:ADAS Horizon。
數據從地圖應用來,要傳輸到車內的 ADAS 軟件應用中。我們常見的互聯網傳輸協議是 Http,內容封裝協一般是 json、protocol buffer、xml 等等。但汽車中的數據通信不同于互聯網,一般走 CAN 通信,類似于 json,ADASIS v3 就定義了如何在汽車這個大平臺下進行數據傳輸。
簡而言之,ADASIS v3 就是一個用于地圖數據傳輸的通信協議。
3. ADASIS 基礎概念
3.1 基本要素
AHP(ADAS Horizon Provider) 電子地平線內容提供者
AHR(ADAS Horizon Reconstructor) 數據重構者
ADAS Application
ADASIS v3 Protocol
AHP、AHR、ADAS Application 它們代碼可以位于不同進程,甚至不同的 ECU,這算異構技術,當然,高度自動駕駛沒有那么多 ECU, 那么它們也可以在同一個域控制器或者中央計算平臺當中。
在 ADASIS v3 中地圖如何表示
地圖信息很多,對于地圖的表示也可以按照功能要求從簡單到復雜。
ADASIS 傾向于盡可能簡單。
如上圖所示,你沒有必要把每條街道推送給汽車軟件,因為很多不需要,所以最簡單也是可行的就是盡量推送少但有用的信息。
什么是少但有用的信息呢?
ADASIS v3 給出答案是:
前方道路
可能的道路
于是,Path 的概念就應運而生,可以看看上圖那根紅線。
Path 精簡了地圖數據,它只關注汽車可能行駛的路線。
3.2 Path
世上的路千萬條,但你每次駕駛時都是走一條確定的路線,這條路線就叫做 Path,它是一種駕駛的可能性。
有了 Path 就可以將路網壓縮成線性地圖表示。
說是線性,我們可以將 path 看作是一條線,線上掛著許多類別的鈴鐺、星星等等。
有了這根線和這些鈴鐺,ADAS Horizon 就差不多成了。
當然,如果只有一條 path 也就是太粗魯簡單了,path 的表示也有粗細之分。
先看看這么一個路網信息:
汽車要向前方行駛,Path 信息可以簡略表達,也可以復雜點表達。
3.2.1 Simple Path Representation
Simple Path 代表簡略表達路網的策略。
如果告訴汽車,要去上圖中 Link235 處,那么,有 2 種路由:
200 -> 210 -> 230 -> 215 -> 235
200 -> 205 -> 220 -> 235
把每種可能的路徑用 Path 表示出來,而不是把所有的 Link 展示出來就是 Simple Path 的思想,會產生如下結果。
前面說的兩種可能,其實就可以用 Path3 和 Path5 表示。
Simple Path 存在冗余,比如上圖中所有的 Path 是有相同的起點的,也就是存在重復的數據,大量的重復數據會加劇通信帶寬的壓力,所以這需要一定的優化。
這涉及到 Path 的另外一種表示:Optimized Path Representation.
3.2.2 Optimized Path Representation
ADASISv3 使用 Optimized Path Representation 表示 Path。
它主要為了減少冗余,并且有了主從之分:
root path
sub path
因為有了主從之分,所以 path 可以形成層次表達。
ADAS Horizon 構造器會將汽車最有可能繼續行駛的 Path 作為 root path,一般也是 MPP(Most Prefere Path),而 root-path 下的第一層 sub-path 會作為備選路徑。
比如,上圖中汽車向前,大概率會沿著 Path2 的方向,但 Path4、Path1、Path3 也是有可能的。
Path 是 ADAS Horizon 最主要的實體,像道路上的路標、十字路口、車道幾何信息什么的可以當作 Path 當中的 Attributes。
所以,AHP 首要任務是要傳輸 Path 信息,AHR 首要任務是要根據 Path 進行路徑重建。
3.2.3 Horizon Length
ADAS Horizon 由一系列的 Path 組成,隨著汽車位置的移動,有些新的 Path 會添加進來,一些過時的 Path 就刪掉了。
這牽扯到一個視窗的大小,在 ADASIS v3 中由 Horizon Length 決定
horizonlength = greatestoffse – smallestoffset.
做程序實現的時候,最小不能低于某個值,最大也不能超過某個值。
3.3 Profile
前面講過,Path 可以看做是一根長長的線,上面掛了許多鈴鐺。
這些鈴鐺依附在線上,在 ADASIS v3 中用 Profile 表示。
Profile 有不同的類型,可以代表不同的道路相關信息,比如限制車速、路口位置、交通標志等等。
V2
-
Profile
profile 是路徑的屬性,其相關信息是基于所在路徑來確定的。而路徑在 ADASIS v2 的概念里,是具有明確方向的,車輛沿著路徑行駛的方向即為路徑方向。因此,profile 所描述的屬性信息,如道路曲率、坡度等,都是在這個既定的路徑方向基礎上進行表達的。在描述一段具有曲率的道路時,profile 中的曲率信息是針對車輛沿著該路徑行駛方向而言的,正曲率可能表示車輛沿著路徑行駛時向右側轉彎,負曲率則可能表示向左轉彎 。這就意味著,雖然 profile 沒有專門的方向字段,但它與有方向的路徑緊密相連,從而間接體現了方向特性。
部分特定的 profile 類型能夠更直接地反映方向信息。Heading Change profile 用于表示路徑方向的變化情況,它通過描述相對于路徑的航向變化角度,清晰地展示了路徑方向的改變 。若該 profile 的值發生變化,就表明車輛在沿著路徑行駛過程中,行駛方向出現了調整。再如,在一些與道路幾何形狀相關的 profile 中,如描述道路中心線走向的 profile,雖然沒有明確的方向標識,但通過其對道路形狀的描述,結合路徑方向,可以推斷出車輛在該路段行駛時的大致方向變化。