史上最詳細的自動駕駛汽車技術介紹「硬件+軟件」

自動駕駛的關鍵技術依次可以分為環境感知,行為決策,路徑規劃和運動控制

四大部分。


史上最詳細的自動駕駛汽車技術介紹「硬件+軟件」

自動駕駛是一個龐大而且複雜的工程,涉及的技術很多,而且太過細緻。我從硬件和軟件兩方面談一談自動駕駛汽車所涉及的技術。

硬件


離開硬件談自動駕駛都是耍流氓。先看個圖,下圖基本包含了自動駕駛研究所需要的各種硬件。

史上最詳細的自動駕駛汽車技術介紹「硬件+軟件」


然而... 這麼多傳感器並不一定會同時出現在一輛車上。某種傳感器存在與否,取決於這輛車需要完成什麼樣的任務。如果只需要完成高速公路的自動駕駛,類似Tesla 的AutoPilot 功能,那根本不需要使用到激光傳感器;如果你需要完成城區路段的自動駕駛,沒有激光傳感器,僅靠視覺是很困難的。自動駕駛系統工程師要以任務為導向,進行硬件的選擇和成本控制。有點類似於組裝一臺計算機,給我一份需求,我就給你出一份配置單。

1汽車

既然要做自動駕駛,汽車當然是必不可少的東西。從我司(上汽)做自動駕駛的經驗來看,做開發時,能不選純汽油車就別選一方面是整個自動駕駛系統所消耗的電量巨大,混動和純電動在這方面具有明顯優勢。另一方面是 發動機的底層控制算法相比於電機複雜太多,與其花大量時間在標定和調試底層上,不如直接選用電動車研究更高層的算法。

2.控制器

在前期算法預研階段,推薦使用工控機(Industrial PC,IPC)作為最直接的控制器解決方案。因為工控機相比於嵌入式設備更穩定、可靠,社區支持及配套的軟件也更豐富。百度開源的Apollo推薦了一款包含GPU的工控機,型號為 Nuvo-5095GC,如下圖。

史上最詳細的自動駕駛汽車技術介紹「硬件+軟件」


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


史上最詳細的自動駕駛汽車技術介紹「硬件+軟件」


3.CAN卡

工控機與汽車底盤的交互必須通過專門的語言——CAN。從底盤獲取當前車速及方向盤轉角等信 息,需要解析底盤發到CAN總線上的數據;工控機通過傳感器的信息計算得到方向盤轉角以及期望車速後,也要通過 CAN卡將消息轉碼成底盤可以識別的信號,底盤進而做出響應。CAN卡可以直接安裝在工控機中,然後通過外部接口與CAN總線相連。Apollo使用的CAN卡,型號為 ESD CAN-PCIe/402,如下圖。


史上最詳細的自動駕駛汽車技術介紹「硬件+軟件」



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

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

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

Apollo的GPS型號為NovAtel GPS-703-GGG-HV,IMU型號為NovAtel SPAN-IGM-A1

史上最詳細的自動駕駛汽車技術介紹「硬件+軟件」


5.感知傳感器

相信大家對車載傳感器都耳熟能詳了。感知傳感器分為很多種,包括視覺傳感器、激光傳感器、雷達傳感器等。視覺傳感器就是攝像頭,攝像頭分為單目視覺,雙目(立體)視覺。比較知名的視覺傳感器提供商有以色列的Mobileye,加拿大的PointGrey,德國的Pike等。

6.硬件部分總結

組裝一套可以完成某項功能的自動駕駛系統需要及其豐富的經驗,並且要對各傳感器的性能邊界及控制器計算能力瞭如指掌。優秀的系統工程師能在滿足功能的要求下將成本控制在最低,使其量產、落地的可能性更大。


軟件


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

1.採集

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

比如我們採集來自攝像機的圖像信息,有的是通過千兆網卡實現的通信,也有的是直接通過視頻線 進行通信的。再比如某些毫米波雷達是通過CAN總線給下游發送信息的,因此我們必須編寫解析 CAN信息的代碼。

2.預處理

傳感器的信息拿到後會發現不是所有信息都是有用的。

傳感器層將數據以一幀一幀、固定頻率發送給下游,但下游是無法拿每一幀的數據去進行決策或者 融合的。為什麼?

因為傳感器的狀態不是100%有效的,如果僅根據某一幀的信號去判定前方是否有障礙物(有可能 是傳感器誤檢了),對下游決策來說是極不負責任的。因此上游需要對信息做預處理,以保證車輛 前方的障礙物在時間維度上是一直存在的,而不是一閃而過。

3.座標轉換

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

傳感器是安裝在不同地方的,比如毫米波(上圖中紫色區域)是佈置在車輛前方的;當車輛前方有一個障礙物,距離這個毫米波雷達有50米,那麼我們就認為這個障礙物距離汽車有50米嗎?

不是的!因為決策控制層做車輛運動規劃時,是在車體座標系下完成的(車體座標系一般以後軸中心為O點),因此毫米波雷達檢測到的50米,轉換到自車座標系下,還需要加上傳感器到後軸的距離。

最終所有傳感器的信息,都是需要轉移到自車座標系下的,這樣所有傳感器信息才能統一,供規劃決策使用。

4.信息融合

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

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

5.決策規劃

這一層次主要設計的是拿到融合數據後,如何正確做規劃。規劃包含縱向控制和橫向控制。縱向控制即速度控制,表現為 什麼時候加速,什麼時候制動。橫向控制即行為控制,表現為 什麼時候換道,什麼時候超車等。


分享到:


相關文章: