1. 程式人生 > >自動駕駛簡介 轉自: 智車科技

自動駕駛簡介 轉自: 智車科技

技術分級


自動駕駛技術分為多個等級,目前國內外產業界採用較多的為美國汽車工程師協會(SAE)和美國高速公路安全管理局(NHTSA)推出的分類標準。


按照SAE的標準,自動駕駛汽車視智慧化、自動化程度水平分為6個等級:無自動化(L0)、駕駛支援(L1)、部分自動化(L2)、有條件自動化(L3)、高度自動化(L4)和完全自動化(L5)

。兩種不同分類標準的主要區別在於完全自動駕駛場景下,SAE更加細分了自動駕駛系統作用範圍。詳細標準見下圖:



技術路線


在自動駕駛技術方面,有兩條不同的發展路線:

 

第一種是“漸進演化”的路線,也就是在今天的汽車上逐漸新增一些自動駕駛功能,例如特斯拉、寶馬、奧迪、福特等車企均採用此種方式,這種方式主要利用感測器,通過車車通訊(V2V)、車雲通訊實現路況的分析。


第二種是完全“革命性”的路線

,即從一開始就是徹徹底底的自動駕駛汽車,例如谷歌和福特公司正在一些結構化的環境裡測試的自動駕駛汽車,這種路線主要依靠車載鐳射雷達、電腦和控制系統實現自動駕駛。

 

從應用場景來看,第一種方式更加適合在結構化道路上測試,第二種方式除結構化道路外,還可用於軍事或特殊領域。



硬體需求


自動駕駛作為新技術要與汽車舊有載體做加法,那麼它需要哪些硬體配套呢?所有離開硬體光談自動駕駛都是耍流氓。



各類感測器


各類感測器並不一定會同時出現在一輛車上。某種感測器存在與否,取決於這輛車需要完成什麼樣的任務。如果只需要完成高速公路的自動駕駛,類似Tesla 的 AutoPilot 功能,那根本不需要使用到鐳射感測器;如果你需要完成城區路段的自動駕駛,沒有鐳射感測器,僅靠視覺是很困難的。


自動駕駛系統工程師要以任務為導向,進行硬體的選擇和成本控制。



控制器


控制器是汽車的大腦,演算法研究得較為成熟時,就可以將嵌入式系統作為控制器,比如Audi和TTTech共同研發的zFAS,目前已經應用在最新款Audi A8上量產車上了。



CAN卡


工控機與汽車底盤的互動必須通過專門的語言——CAN。從底盤獲取當前車速及方向盤轉角等資訊,需要解析底盤發到CAN總線上的資料;工控機通過感測器的資訊計算得到方向盤轉角以及期望車速後,也要通過 CAN卡 將訊息轉碼成底盤可以識別的訊號,底盤進而做出響應。


CAN卡可以直接安裝在工控機中,然後通過外部介面與CAN匯流排相連。



全球定位系統(GPS)+慣性測量單元(IMU)


人類開車,從A點到B點,需要知道A點到B點的地圖,以及自己當前所處的位置,這樣才能知道行駛到下一個路口是右轉還是直行。

無人駕駛系統也一樣,依靠GPS+IMU就可以知道自己在哪(經緯度),在朝哪個方向開(航向),當然IMU還能提供諸如橫擺角速度、角加速度等更豐富的資訊,這些資訊有助於自動駕駛汽車的定位和決策控制。




軟體需求


軟體包含四層:感知、融合、決策、控制。


各個層級之間都需要編寫程式碼,去實現資訊的轉化,更細化的分類如下。



採集


感測器跟我們的PC或者嵌入式模組通訊時,會有不同的傳輸方式。


比如我們採集來自攝像機的影象資訊,有的是通過千兆網絡卡實現的通訊,也有的是直接通過視訊線進行通訊的。再比如某些毫米波雷達是通過CAN匯流排給下游傳送資訊的,因此我們必須編寫解析CAN資訊的程式碼。


不同的傳輸介質,需要使用不同的協議去解析這些資訊,這就是上文提到的“驅動層”。


通俗地講就是把感測器採集到的資訊全部拿到,並且編碼成團隊可以使用的資料。



預處理


感測器的資訊拿到後會發現不是所有資訊都是有用的。


感測器層將資料以一幀一幀、固定頻率傳送給下游,但下游是無法拿每一幀的資料去進行決策或者融合的。因為感測器的狀態不是100%有效的,如果僅根據某一幀的訊號去判定前方是否有障礙物(有可能是感測器誤檢了),對下游決策來說是極不負責任的。因此上游需要對資訊做預處理,以保證車輛前方的障礙物在時間維度上是一直存在的,而不是一閃而過。


這裡就會使用到智慧駕駛領域經常使用到的一個演算法——卡爾曼濾波。

座標轉換


座標轉換在智慧駕駛領域十分重要。


感測器是安裝在不同地方的,比如超聲波雷達(上圖中橘黃色小區域)是佈置在車輛周圍的;當車輛右方有一個障礙物,距離這個超聲波雷達有3米,那麼我們就認為這個障礙物距離車有3米嗎?


並不一定!因為決策控制層做車輛運動規劃時,是在車體座標系下做的(車體座標系一般以後軸中心為O點),所以最終所有感測器的資訊,都是需要轉移到自車座標系下的。


因此感知層拿到3m的障礙物位置資訊後,必須將該障礙物的位置資訊轉移到自車座標系下,才能供規劃決策使用。



資訊融合


資訊融合是指把相同屬性的資訊進行多合一操作。


比如攝像機檢測到了車輛正前方有一個障礙物,毫米波也檢測到車輛前方有一個障礙物,鐳射雷達也檢測到前方有一個障礙物,而實際上前方只有一個障礙物,所以我們要做的是把多感測器下這輛車的資訊進行一次融合,以此告訴下游,前面有一輛車,而不是三輛車。



決策規劃


這一層次主要設計的是拿到融合資料後,如何正確做規劃。規劃包含縱向控制和橫向控制。


縱向控制即速度控制,表現為 什麼時候加速,什麼時候制動。


橫向控制即行為控制,表現為 什麼時候換道,什麼時候超車等



想要了解更多資訊,請掃描下方二維碼,關注機器學習研究會

                                          


轉自: 智車科技