2
本文作者: Roboticists | 2016-12-05 16:58 |
雷鋒網(wǎng)按:作者夾子,汽車行業(yè)資深從業(yè)者,微信公眾號ID: Roboticists。本文主要從五個子模塊:傳感器、感知、定位、規(guī)劃、控制,來分解無人駕駛系統(tǒng)。是《手把手教你做無人駕駛汽車》系列第三篇。其他兩篇可點擊《手把手(二)》、《手把手(一)》。
無人駕駛已走過一甲子
看到這個標(biāo)題讀者可能會感到疑惑,自動駕駛不是時下最新潮的技術(shù)嗎?為什么會說自動駕駛已有60年歷史呢?其實早在1950年代,通過在道路正下方埋設(shè)磁鐵,車輛就可以沿著磁軌跡在高速公路上進(jìn)行自動駕駛。這項技術(shù)如今在飛思卡爾杯智能車比賽中成為了一個組別,感興趣的讀者可以查閱相關(guān)視頻資料?,F(xiàn)實道路中,這項技術(shù)也仍舊在使用:一些自動駕駛測試場通過在地面上鋪設(shè)磁釘實現(xiàn)對車輛進(jìn)行厘米級的定位。
圖片來源:A Boy’s Life Magazine 1956
而今天的無人駕駛系統(tǒng)(從2003年DARPA挑戰(zhàn)賽之后開始的無人駕駛系統(tǒng)),與當(dāng)時的無人駕駛系統(tǒng)最大的區(qū)別在于,今天的無人駕駛系統(tǒng)脫離了對輔助設(shè)施的必須依賴??梢哉f,當(dāng)前的無人駕駛研究的重點更傾向于如何讓車輛獨立地理解這個世界,并以此為依據(jù)來對車輛進(jìn)行控制。進(jìn)一步說,無人駕駛汽車對世界理解的程度,決定了該無人駕駛系統(tǒng)先進(jìn)的程度。
當(dāng)前在售的自動駕駛系統(tǒng)
如今很多的車輛開始配備帶有輔助駕駛功能的汽車,頂配車輛不帶輔助系統(tǒng)似乎就與其他品牌差了一截,含高級輔助駕駛功能的在售車型長長的名單里都是我們熟知的大廠。今天在售的系統(tǒng)在傳感器方面的主流配置為:單目或雙目的圖像傳感器+前向長距離毫米波雷達(dá)。達(dá)到的功能為單車道的自適應(yīng)輔助駕駛,包括縱向——自動控制與前車的距離,橫向——車道保持。但究竟這些系統(tǒng)是如何構(gòu)建的?我們一般都只能從一些只字片語中得到一些信息,比如這一代寶馬新7系的系統(tǒng)構(gòu)架圖如下:
BMW G12 Active Driving Assistant Plus wiring diagram
這張復(fù)雜的系統(tǒng)連接圖中,可以看到BMW使用了包括CAN,F(xiàn)lexRay,LIN,以太網(wǎng)在內(nèi)的多種總線技術(shù),系統(tǒng)包含了十余個邏輯控制器,復(fù)雜程度令人驚嘆。而具體在如KAFAS中的控制邏輯是什么樣的,我們是不知道的。不過筆者也實際測試過寶馬新7系的輔助駕駛功能,綜合而言,距離特斯拉的Autopilot還有一定距離。在這一行業(yè),所有汽車公司都把這一塊當(dāng)作核心的商業(yè)秘密,正在分頭進(jìn)行緊鑼密鼓地研發(fā)。但在筆者眼中,這些系統(tǒng)必定具有幾大核心的模塊,只要通過對這些模塊的分別研發(fā)和系統(tǒng)集成,最后可以產(chǎn)生一個統(tǒng)一的自動駕駛系統(tǒng)。
無人駕駛系統(tǒng)的分解
現(xiàn)代無人駕駛系統(tǒng)看似復(fù)雜,但終究是可以分割為多個離散系統(tǒng)的。筆者認(rèn)為可以分為如下五個子模塊:傳感器、感知、定位、規(guī)劃、控制。
1.傳感器:整個系統(tǒng)的輸入,包括了為自動駕駛設(shè)計的傳感器,例如攝像頭與毫米波雷達(dá);以及車身上已有的傳感器,例如超聲波傳感器以及GPS。傳感器的本質(zhì)是將物理世界的信息轉(zhuǎn)換為電信號。
特斯拉Autopilot 2.0傳感器配置
2.感知:負(fù)責(zé)計算車輛周圍物體的語義信息。感知模塊的加入,是這一代自動駕駛系統(tǒng)與以往最大的區(qū)別。該模塊負(fù)責(zé)許多信息的獲取,包括,前車的距離,前方紅綠燈的指示,限速標(biāo)志上的數(shù)字,車道線的曲率,等等。車輛對周邊環(huán)境的感知水平,決定了自動駕駛系統(tǒng)先進(jìn)的程度。
基于圖像的語義分割結(jié)果示例:如圖中紫色代表道路,綠色代表行人
3.定位:定位主要有兩個作用,一個是為了彌補GPS精度不足導(dǎo)致的輸入誤差過大,通過定位模塊計算得到厘米級別的定位。第二個,是為了使車輛獲取超過當(dāng)前傳感器感知范圍的信息,包括長距離地圖路網(wǎng)信息,超視距前方車流信息等。將第二點歸于此,是因為定位模塊與地圖息息相關(guān)。
基于LiDAR的激光點云配準(zhǔn)結(jié)果
4.規(guī)劃:規(guī)劃問題一般分為多層次的規(guī)劃來討論。我們平時使用的導(dǎo)航軟件,稱為一次規(guī)劃,得到從A點到B點的路網(wǎng)行駛規(guī)劃路徑。其后還有二次、三次規(guī)劃(甚至更深層次的規(guī)劃)。
Mobileye Holistic Path Planning(HPP)輸出結(jié)果,即為局部規(guī)劃結(jié)果
5.控制:最后,系統(tǒng)將得到的信息歸于控制輸出,其主要作用是與汽車的底盤系統(tǒng)打交道,將控制指令通過X-by-wire,即線控接口輸出。
其他的,還有數(shù)據(jù)記錄模塊,安全相關(guān)模塊以及電源管理模塊等輔助子系統(tǒng)。
無人駕駛的開源實現(xiàn)
前面說的都是紙上談本,而《手把手》系列當(dāng)然不會浮于表面。自《手把手(二)》寫完已經(jīng)過了若干個月,而今終于有了可以詳細(xì)剖析的開源項目:就在前日,George Hotz決定開源自己的自動駕駛系統(tǒng)(當(dāng)然不是全部,后文會講到)。本篇中,筆者將對該系統(tǒng)進(jìn)行粗略的分析,從系統(tǒng)構(gòu)架的角度對其進(jìn)行介紹。
計劃賣999美元的comma one自動駕駛套件
首先,必須介紹一下該開源項目的背景。出于對George Hotz的產(chǎn)品的安全性的懷疑,NHTSA(國家高速公路交通安全管理局)希望George Hotz配合他們的安全性評估,但被小哥拒絕了。而后George Hotz一個沖動就把他的Openpilot開源了(當(dāng)然最核心的并沒有)。其本人在Openpilot/README.md中稱,這套系統(tǒng)應(yīng)與特斯拉的Autopilot性能相當(dāng),并超越所有其他的競爭對手,注意是所有的。筆者雖然沒有乘坐過那輛Acura ILX,但就代碼而言,大部分前文所敘述的子系統(tǒng),在該系統(tǒng)中都有相應(yīng)的模塊與之對應(yīng),系統(tǒng)構(gòu)架如下:
Comma One 系統(tǒng)構(gòu)架
傳感器:sensord模塊 radard模塊
使用了原車的GPS,前向毫米波雷達(dá),而并未使用超聲波傳感器。攝像頭使用手機自帶的攝像頭(效果不做評論)。
感知:visiond模塊(binary)
使用了從輸入圖像直接輸出控制路徑點鏈的深度學(xué)習(xí)方法,其數(shù)據(jù)通過之前的駕駛行為中得到。應(yīng)該稱其為一種類端到端的感知方法,即不去理解周圍其他物體的語義信息,而直接通過學(xué)習(xí)的方法,從圖像得到行駛的規(guī)劃軌跡。不過從George Hotz的博客上也看到,其正在做一些語義分割的實驗,也許將來這塊會有所變化。但由于這個模塊為二進(jìn)制程序,筆者只能進(jìn)行一些猜測。
定位:無
規(guī)劃:與visiond結(jié)合在一起
comma one軌跡規(guī)劃輸出結(jié)果(紫色)
控制:controlsd模塊
其他:loggerd模塊 calibrationd模塊
整套系統(tǒng)使用socket接口作為進(jìn)程間通信,采用C與python混寫的形式??戳舜a雖然注釋不多,但變量名函數(shù)名還算比較清晰。整套系統(tǒng)沒有定位模塊,通過感知得到的車道(或者說規(guī)劃軌跡)信息,直接對車輛進(jìn)行控制。也就是說整個系統(tǒng)是一個以visiond模塊為核心的控制系統(tǒng),這與上文筆者的結(jié)論相似。在如今的自動駕駛系統(tǒng)中,感知模塊成為了系統(tǒng)的核心。這也就是Mobileye那么強勢的原因,也是George Hotz自信的來源。
總結(jié)
從沿著磁軌跡行駛的小車到現(xiàn)代的無人駕駛系統(tǒng),我們認(rèn)為新的系統(tǒng)并不是一種進(jìn)化而來的系統(tǒng)。就像自行車與摩托車的關(guān)系一樣,現(xiàn)代的無人駕駛系統(tǒng)擁有以往系統(tǒng)中沒有的重要子模塊,即感知模塊。我們有理由相信,本次自動駕駛技術(shù)的爆發(fā),也是由深度學(xué)習(xí)技術(shù)的突飛猛進(jìn)而形成的。該技術(shù)使得計算機更好得理解了世界。從Google到特斯拉,以及George Hotz的Openpilot,無不是以感知模塊作為核心技術(shù)壁壘所建立起的自動駕駛系統(tǒng)。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。