人工智能發(fā)展六十年,幾起幾落,如今迎來又一次熱潮,深度學(xué)習(xí)、計算機(jī)視覺和自然語言理解等各方面的突破,使得許多曾是天方夜譚的應(yīng)用成為可能,無人駕駛汽車就是其中之一。作為人工智能等技術(shù)在汽車行業(yè)、交通領(lǐng)域的延伸與應(yīng)用,無人駕駛近幾年在世界范圍內(nèi)受到了產(chǎn)學(xué)界甚至國家層面的密切關(guān)注。 無人駕駛與智能駕駛 相比無人駕駛,智能駕駛的范疇更大,既包括無人的智能駕駛,即無人駕駛,也包括有人的智能駕駛,比如定速巡航、自適應(yīng)巡航、自動泊車等輔助駕駛系統(tǒng),還包括人機(jī)共駕的智能駕駛,國內(nèi)專業(yè)說法是以人為本的人機(jī)協(xié)同共駕,這是現(xiàn)階段以及未來幾年的研究方向之一,它們之間的關(guān)系如圖1所示。 圖1 智能駕駛的范疇 從筆者經(jīng)歷來看,最難實現(xiàn)的是人機(jī)協(xié)同共駕,如何將無人駕駛與有人駕駛?cè)跒橐惑w而不是非此即彼的冷切換,如何理解駕駛員的意圖進(jìn)而在緊急時刻采取措施彌補(bǔ)駕駛員的不足,當(dāng)駕駛員意圖與智能車意圖發(fā)生矛盾時怎么辦等等都是值得探索的問題。設(shè)想如下場景:當(dāng)駕駛員正在將車駛離當(dāng)前車道,但智能車認(rèn)為沒有必要,這時應(yīng)該聽誰的?是發(fā)出警告,還是直接阻止駕駛員旋轉(zhuǎn)方向盤?這需要具體情況具體分析。 根據(jù)美國高速公路安全管理局網(wǎng)站,學(xué)術(shù)界一般將智能駕駛分為五個等級: Level 0:人工駕駛(No-Automation),完全由駕駛員操控汽車,包括油門、制動、轉(zhuǎn)向、檔位等。 Level 1:特定功能輔助駕駛(Function-Specific Automation),例如防抱死制動系統(tǒng)(ABS)、電子穩(wěn)定性控制(ESC)等。 Level 2:組合功能輔助駕駛(Combined Function Automation),例如自適應(yīng)巡航控制(ACC)、車道保持輔助系統(tǒng)(LKA)、車道偏離預(yù)警(LDW)等。 Level 3:有限的無人駕駛(Limited Self-Driving Automation),能夠在特定的交通環(huán)境下無人駕駛,比如Google無人駕駛汽車就可以在某些區(qū)域內(nèi)實現(xiàn)無人駕駛,但還是需要人實時監(jiān)視車輛的狀態(tài),一旦發(fā)生問題要切換回人工駕駛。 Level 4:完全無人駕駛(Full Self-Driving Automation),智能駕駛的理想形態(tài),乘客只需提供目的地,在任何時候都不需要對車輛進(jìn)行監(jiān)控。 目前國內(nèi)外智能駕駛技術(shù)還處于Level 2至Level 3的水平。特斯拉公司去年推出的Model S電動車已經(jīng)具有了部分無人駕駛功能,智能駕駛技術(shù)已經(jīng)真真切切地進(jìn)入到我們的視野。有研究機(jī)構(gòu)預(yù)測2040年無人駕駛汽車將占汽車市場的70%。無論數(shù)字準(zhǔn)確與否,無人駕駛前景是被廣泛看好的。 解析無人駕駛汽車 首先我們回想一下人是怎么開車的。人類開車是在周而復(fù)始地進(jìn)行一個“感知→認(rèn)知→行為”的循環(huán)。感知的對象是周圍的交通環(huán)境,如本車在哪里、其它車在哪里、道路多寬、限速多少、現(xiàn)在是紅燈還是綠燈等;認(rèn)知包括理解、規(guī)劃、決策以及經(jīng)驗,比如紅燈要停車、路口要減速、何時及如何換道、當(dāng)前加速還是減速等;行為指的是操控汽車,如方向盤是否轉(zhuǎn)到位、油門剎車檔位如何協(xié)調(diào)等。無人駕駛也在重復(fù)著“感知→認(rèn)知→行為”的過程。下面以圖2這輛可以無人駕駛的大客車為例對這個過程加以詳細(xì)說明(該車是宇通集團(tuán)與中國工程院李德毅院士團(tuán)隊合作研發(fā)而成。2015年8月,這輛長10米的大客車滿載乘客從河南省鄭州市出發(fā),在正常交通流量下,沿著鄭開大道無人駕駛32公里安全到達(dá)河南省開封市,最高時速68公里/時,途經(jīng)26個路口及信號燈,?2個公交站,全程無人工干預(yù))。 圖2 宇通無人駕駛大客車 感知 人類駕駛員感知依靠眼睛和耳朵,無人駕駛汽車感知依靠傳感器。目前傳感器性能越來越高、體積越來越小、功耗越來越低,其飛速發(fā)展是無人駕駛熱潮的重要推手。反過來,無人駕駛又對車載傳感器提出了更高的要求,又促進(jìn)了其發(fā)展。用于無人駕駛的傳感器可以分為四類: 1. 雷達(dá)傳感器。主要用來探測一定范圍內(nèi)障礙物(比如車輛、行人、路肩等)的方位、距離及移動速度,常用車載雷達(dá)種類有激光雷達(dá)、毫米波雷達(dá)和超聲波雷達(dá)。激光雷達(dá)精度高、探測范圍廣,但成本高,比如Google無人車頂上的64線激光雷達(dá)成本高達(dá)70多萬元人民幣;毫米波雷達(dá)成本相對較低,探測距離較遠(yuǎn),被車企廣泛使用,但與激光雷達(dá)比精度稍低、可視角度偏小;超聲波雷達(dá)成本最低,但探測距離近、精度低,可用于低速下碰撞預(yù)警。 2. 視覺傳感器。主要用來識別車道線、停止線、交通信號燈、交通標(biāo)志牌、行人、車輛等。常用的有單目攝像頭、雙目攝像頭、紅外攝像頭。視覺傳感器成本低,相關(guān)研究與產(chǎn)品非常多,但視覺算法易受光照、陰影、污損、遮擋影響,準(zhǔn)確性、魯棒性有待提高。所以,作為人工智能技術(shù)廣泛應(yīng)用的領(lǐng)域之一的圖像識別,也是無人駕駛汽車領(lǐng)域的一個研究熱點。 3. 定位及位姿傳感器。主要用來實時高精度定位以及位姿感知,比如獲取經(jīng)緯度坐標(biāo)、速度、加速度、航向角等,一般包括全球衛(wèi)星定位系統(tǒng)(GNSS)、慣性設(shè)備、輪速計、里程計等,F(xiàn)在國內(nèi)常用的高精度定位方法是使用差分定位設(shè)備,如RTK-GPS,但需要額外架設(shè)固定差分基站,應(yīng)用距離受限,而且易受建筑物、樹木遮擋影響。近年來很多省市的測繪部門都架設(shè)了相當(dāng)于固定差分基站的連續(xù)運行參考站系統(tǒng)(CORS),比如遼寧、湖北、上海等,實現(xiàn)了定位信號的大范圍覆蓋,這種基礎(chǔ)設(shè)施建設(shè)為智能駕駛提供了有力的技術(shù)支撐。定位技術(shù)是無人駕駛的核心技術(shù),因為有了位置信息就可以利用豐富的地理、地圖等先驗知識,可以使用基于位置的服務(wù)。 4. 車身傳感器。來自車輛本身,通過整車網(wǎng)絡(luò)接口獲取諸如車速、輪速、檔位等車輛本身的信息。 綜合考慮成本及性能,宇通無人駕駛大客車采用了激光雷達(dá)、毫米波雷達(dá)、攝像頭、GPS和車聯(lián)網(wǎng)設(shè)備等多種傳感器來實現(xiàn)感知能力,具體部署如圖3所示。 圖3 宇通無人駕駛大客車傳感器布置圖 認(rèn)知 駕駛員認(rèn)知靠大腦,無人駕駛汽車的“大腦”則是計算機(jī)。無人車?yán)锏挠嬎銠C(jī)與我們常用的臺式機(jī)、筆記本略有不同,因為車輛在行駛的時候會遇到顛簸、震動、粉塵甚至高溫的情況,一般計算機(jī)無法長時間運行在這些環(huán)境中。所以無人車一般選用工業(yè)環(huán)境下的計算機(jī)——工控機(jī)。工控機(jī)上運行著操作系統(tǒng),操作系統(tǒng)中運行著無人駕駛軟件。 宇通無人駕駛大客車軟件系統(tǒng)架構(gòu)如圖4所示。操作系統(tǒng)之上是支撐模塊(這里模塊指的是計算機(jī)程序),對上層軟件模塊提供基礎(chǔ)服務(wù)。支撐模塊包括:虛擬交換模塊,用于模塊間通信;日志管理模塊,用于日志記錄、檢索以及回放;進(jìn)程監(jiān)控模塊,負(fù)責(zé)監(jiān)視整個系統(tǒng)的運行狀態(tài),如果某個模塊運行不正常則提示操作人員并自動采取相應(yīng)措施;交互調(diào)試模塊,負(fù)責(zé)開發(fā)人員與無人駕駛系統(tǒng)交互。支撐模塊之上是三大類軟件模塊,通過圖4中的模塊名稱可以知曉其主要功能,這里不再贅述。 圖4 宇通無人駕駛大客車軟件系統(tǒng)架構(gòu) 操控 駕駛員操控汽車靠四肢,無人駕駛汽車靠什么呢?靠的是線控執(zhí)行器。 由于當(dāng)前車輛是面向人類駕駛設(shè)計的,方向盤、油門、剎車、檔位都是由人工操控。無人駕駛則需要這些機(jī)構(gòu)能夠由程序控制,這就需要對傳統(tǒng)汽車加以線控改造甚至重新設(shè)計。方向盤線控的改造,早期一般在轉(zhuǎn)向柱加裝可控電機(jī),現(xiàn)在一般利用較為成熟的轉(zhuǎn)向助力零部件實現(xiàn);油門與制動線控的改造,早期一般使用鋼絲牽引車內(nèi)踏板,但控制精度不高,現(xiàn)在一般直接使用車內(nèi)總線協(xié)議向整車控制器發(fā)送控制指令;檔位線控的改造,早期一般靠步進(jìn)電機(jī)實現(xiàn),現(xiàn)在同樣向整車控制器發(fā)送指令實現(xiàn)檔位控制。 目前,隨著電動車的出現(xiàn)與發(fā)展,很多線控功能在設(shè)計之初就被考慮其中。 小結(jié) 傳感器、計算機(jī)和執(zhí)行器是如何連接在一起并協(xié)同工作呢?如圖5所示,以計算機(jī)為中心,一類設(shè)備使用RJ45以太網(wǎng)絡(luò)接口,如廣泛使用的1線、4線、16線、64線激光雷達(dá),差分GPS慣導(dǎo)組合等,這些設(shè)備與工控機(jī)一起連接到網(wǎng)絡(luò)交換機(jī);一類設(shè)備使用1394接口,如攝像頭等;一類設(shè)備使用CAN接口,如毫米波、超聲波雷達(dá)、控制器與執(zhí)行器等,一般通過工控機(jī)擴(kuò)展PCI的CAN接口卡實現(xiàn)連接。 圖5 無人駕駛汽車硬件連接圖 小結(jié)一下,無人駕駛汽車在邏輯與物理上的工作過程如圖6所示。在一個控制周期內(nèi),傳感器負(fù)責(zé)感知周圍環(huán)境及自身狀態(tài),計算機(jī)中的軟件系統(tǒng)負(fù)責(zé)環(huán)境建模、決策與規(guī)劃,執(zhí)行器負(fù)責(zé)執(zhí)行指令并反饋結(jié)果。控制周期一般為毫秒級,由多種傳感器采樣頻率、軟件算法復(fù)雜度、計算機(jī)性能以及執(zhí)行器頻率決定?刂浦芷诓荒芴L,太長則不能對突發(fā)情況進(jìn)行及時處理,也不能太短,太短則會造成計算及執(zhí)行器負(fù)載過高。正常人類駕駛員的反應(yīng)時間為0.2秒左右,宇通無人駕駛大客車的控制周期為50毫秒,可以滿足城市工況高速行駛要求。 圖6 無人駕駛汽車邏輯與物理工作過程 人工智能與無人駕駛 與其他算法相比,人工智能算法最大的不同是什么?筆者認(rèn)為,人工智能算法更側(cè)重于學(xué)習(xí)功能,其他算法更側(cè)重于計算功能。學(xué)習(xí)是智能的重要體現(xiàn),學(xué)習(xí)功能是人工智能的重要特征,現(xiàn)階段大多人工智能技術(shù)還處在學(xué)的階段。如前文所說,無人駕駛實際上是類人駕駛,是智能車向人類駕駛員學(xué)習(xí)如何感知交通環(huán)境,如何利用已有的知識和駕駛經(jīng)驗進(jìn)行決策和規(guī)劃,如何熟練地控制方向盤、油門和剎車。 從感知、認(rèn)知、行為三個方面看,感知部分難度最大,人工智能技術(shù)應(yīng)用最多。感知技術(shù)依賴于傳感器,比如攝像頭,由于其成本低,在產(chǎn)業(yè)界倍受青睞。以色列一家名叫Mobileye的公司在交通圖像識別領(lǐng)域做得非常好,它通過一個攝像頭可以完成交通標(biāo)線識別、交通信號燈識別、行人檢測,甚至可以區(qū)別前方是自行車、汽車還是卡車。人工智能技術(shù)在圖像識別領(lǐng)域的成功應(yīng)用莫過于深度學(xué)習(xí),近幾年研究人員通過卷積神經(jīng)網(wǎng)絡(luò)和其它深度學(xué)習(xí)模型對圖像樣本進(jìn)行訓(xùn)練,大大提高了識別準(zhǔn)確率。Mobileye目前取得的成果,正是得益于該公司很早就將深度學(xué)習(xí)當(dāng)做一項核心技術(shù)進(jìn)行研究。 認(rèn)知與控制方面,主要使用人工智能領(lǐng)域中的傳統(tǒng)機(jī)器學(xué)習(xí)技術(shù),通過學(xué)習(xí)人類駕駛員的駕駛行為建立駕駛員模型,學(xué)習(xí)人的方式駕駛汽車。美國斯坦福大學(xué)的一個團(tuán)隊讓無人駕駛賽車學(xué)習(xí)賽車手的開車方式,經(jīng)過一段時間訓(xùn)練無人賽車不僅學(xué)會了漂移,而且比賽用時已經(jīng)少于當(dāng)初學(xué)習(xí)的那位賽車手。 下面通過一個城市駕駛的小例子說明無人車如何向人類學(xué)習(xí)駕駛。會開車的讀者會有體會,在城市中駕駛大部分時間是在跟車行駛,即前面有一輛車,我們跟在后面。假如在高速公路上,兩車車速較高,跟車太近容易追尾,必須減速以增加車距;假如在擁堵時,車速較低,跟車太遠(yuǎn)則浪費道路資源,必須加速以減少車距;如果前車速度很快或正在加速,那么在不超速的情況下,我們應(yīng)該加速行駛;如果前車速度很慢或正在減速,那么我們應(yīng)該減速行駛甚至停下來。這說明跟車這個行為與兩車相對距離、相對速度以及本車當(dāng)前速度這三個量有關(guān),我們可以建立一個神經(jīng)網(wǎng)絡(luò)模型,輸入三個量:兩車相對距離、相對速度以及本車當(dāng)前速度,輸出一個量:期望加速度(加速度可以為負(fù)),訓(xùn)練數(shù)據(jù)來自人類駕駛員。 如何采集訓(xùn)練數(shù)據(jù)呢?我們可以在普通汽車上加裝一些傳感器,比如雷達(dá)和慣導(dǎo)設(shè)備,用來讀取前方車輛的相對位置和速度以及本車的速度和加速度。讓一位經(jīng)驗豐富的駕駛員開著這輛車每天不同時段在城市的不同路段有目的性地行駛,經(jīng)過一段時間的積累,采集的跟車數(shù)據(jù)會覆蓋絕大多數(shù)可能發(fā)生的情況。經(jīng)過這組數(shù)據(jù)訓(xùn)練出來的基于神經(jīng)網(wǎng)絡(luò)的跟車模型,給定一個相對距離、相對車速以及本車速度,就會輸出一個加速度,就像那位經(jīng)驗豐富的人類駕駛員開車特性一樣,這就完成了跟車模式的機(jī)器學(xué)習(xí)。 無人駕駛研發(fā)體會 筆者自2013年以來陸續(xù)參與了幾輛無人駕駛汽車的研發(fā),所用車型包括ix35、北汽C70、北汽C30、上汽E50、北汽E70以及宇通ZK6105。如圖7所示,這些車型各有特點:有內(nèi)燃機(jī)車,有混合動力車,也有純電動車;有通過外加裝方式改造的車,也有內(nèi)改裝的車;有總線協(xié)議不開放的車,有部分開放的車,也有完全開放的車。 圖7 筆者參與研發(fā)的無人駕駛汽車 從外觀看,無人駕駛汽車越來越接近普通汽車,很多傳感器已經(jīng)內(nèi)裝甚至前裝。正如李德毅院士所說,無人駕駛汽車內(nèi)改裝是必然趨勢,外加裝死路一條,傳感器的安裝、車輛的線控改造要在車輛設(shè)計之初就給予充分考慮。這里外加裝指的是在傳統(tǒng)汽車上,通過第三方設(shè)計的額外的油氣電氣裝置實現(xiàn)車輛線控改造,這種方式已經(jīng)過時,逐漸退出舞臺。 最后總結(jié),無人駕駛難在感知,重在“學(xué)習(xí)”。但無人駕駛的技術(shù)水平遲早會超過人類,因為穩(wěn)、準(zhǔn)、快是機(jī)器的先天優(yōu)勢,人類無法與之比擬。駕駛有時并不是負(fù)擔(dān),相反是一種樂趣,體現(xiàn)了人類拓展自身極限的能力。筆者相信,完全的無人駕駛也許有些遙遠(yuǎn),但隨著機(jī)器學(xué)習(xí)算法的提升和應(yīng)用的挖掘,更接地氣人機(jī)和諧共駕已是指日可待。 |