文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.199062
中文引用格式: 王金強(qiáng),黃航,郅朋,等. 自動(dòng)駕駛發(fā)展與關(guān)鍵技術(shù)綜述[J].電子技術(shù)應(yīng)用,2019,45(6):28-36.
英文引用格式: Wang Jinqiang,Huang Hang,Zhi Peng,et al. Review of development and key technologies in automatic driving[J]. Application of Electronic Technique,2019,45(6):28-36.
0 引言
從20世紀(jì)70年代開(kāi)始,自動(dòng)駕駛技術(shù)在美國(guó)、英國(guó)、德國(guó)等發(fā)達(dá)國(guó)家就被開(kāi)始進(jìn)行研究,并在可行性和實(shí)用化方面取得了突破性的進(jìn)展。2004年,美國(guó)國(guó)防高級(jí)研究計(jì)劃局(The Denfense Advanced Research Project Agency,DARPA)在Mojave沙漠組織的自動(dòng)駕駛挑戰(zhàn)賽推動(dòng)了自動(dòng)駕駛領(lǐng)域的技術(shù)的快速發(fā)展。2007年,卡內(nèi)基梅隆大學(xué)在該比賽中取得第一名的優(yōu)秀成績(jī)[1],從此,全球?qū)W術(shù)界和工業(yè)界對(duì)自動(dòng)駕駛技術(shù)開(kāi)始投入大量的研究,以斯坦福大學(xué)、麻省理工學(xué)院和弗吉尼亞理工大學(xué)為代表的高校在技術(shù)領(lǐng)域的深耕為硅谷明星企業(yè)奠定了發(fā)展基礎(chǔ)。同時(shí)工業(yè)界更是取得了突破性的、革命性的進(jìn)展,Google于2009年4月開(kāi)啟了Waymo[2]自動(dòng)駕駛研究計(jì)劃,隨后Uber[3]、特斯拉[4]、福特[5]、博世[6]、梅賽德斯奔馳[7]、豐田[8]等也相繼進(jìn)軍自動(dòng)駕駛領(lǐng)域。我國(guó)從20世紀(jì)80年代開(kāi)始進(jìn)行自動(dòng)駕駛汽車(chē)的研究,1992年,國(guó)防科技大學(xué)成功研制出中國(guó)第一輛自動(dòng)駕駛汽車(chē)ATB-1(AutonomousTestBed-1)。過(guò)去幾年,百度[9]、Pony.ai[10]等公司相繼快速步入了全球自動(dòng)駕駛技術(shù)研發(fā)的前列,可以說(shuō)自動(dòng)駕駛技術(shù)再次引領(lǐng)了整個(gè)汽車(chē)技術(shù)的突破。在車(chē)輛智能化的分級(jí)中,工業(yè)界目前有兩套標(biāo)準(zhǔn),一套是由美國(guó)交通部下屬的國(guó)家高速路安全管理局(National Highway Traffic Safety Administration,NHSTA)制定的,另一套是由國(guó)際汽車(chē)工程師協(xié)會(huì)(Society of Automotive Engineers,SAE)制定的。兩者的L0、L1、L2的分類(lèi)都是相同的,不同之處在于NHTSA的L4被 SAE細(xì)分為L(zhǎng)4和L5。國(guó)內(nèi)多采用SAE標(biāo)準(zhǔn),如表1所示。
從自動(dòng)駕駛誕生以來(lái),社會(huì)各界對(duì)自動(dòng)駕駛技術(shù)的爭(zhēng)議就沒(méi)停止過(guò)。然而,這項(xiàng)未來(lái)技術(shù)始終在困難中向前發(fā)展,其無(wú)疑正在成為當(dāng)下最大的技術(shù)變革。它是一門(mén)非常復(fù)雜的交叉學(xué)科,包含了車(chē)輛控制、路徑規(guī)劃、感知融合、傳感器融合等眾多技術(shù)。尤其在人工智能技術(shù)的快速發(fā)展下,機(jī)器學(xué)習(xí)[11]、深度學(xué)習(xí)、強(qiáng)化學(xué)習(xí)[12]等前沿領(lǐng)域更是推動(dòng)了自動(dòng)駕駛感知、規(guī)劃和控制方面的快速變革,自動(dòng)駕駛技術(shù)已經(jīng)掀起了一場(chǎng)交通變革的技術(shù)革命。
1 自動(dòng)駕駛系統(tǒng)結(jié)構(gòu)
自動(dòng)駕駛是一個(gè)由激光雷達(dá)(LiDAR)、毫米波雷達(dá)(RADAR)、攝像機(jī)(Camera)、全球定位系統(tǒng)(GPS)、慣性測(cè)量單元(IMU)等多個(gè)傳感器和子系統(tǒng)組成的高級(jí)復(fù)雜性系統(tǒng)性工程,結(jié)構(gòu)如圖1所示。
在技術(shù)功能上,自動(dòng)駕駛的關(guān)鍵技術(shù)整體概述為感知(Perception)、規(guī)劃(Planning)和控制(Control)三部分,系統(tǒng)如圖2所示。
該系統(tǒng)實(shí)際上是一個(gè)分層結(jié)構(gòu),感知、規(guī)劃、控制模塊各自發(fā)揮不同的作用并相互影響。其中感知部分和車(chē)輛傳感器硬件交互與通信,規(guī)劃主要負(fù)責(zé)汽車(chē)的行為等的計(jì)算,控制則是對(duì)汽車(chē)元器件的電子化操作。本文將對(duì)自動(dòng)駕駛車(chē)的發(fā)展過(guò)程與分級(jí)、感知、規(guī)劃和控制等關(guān)鍵技術(shù)進(jìn)行相關(guān)綜述。
2 自動(dòng)駕駛中的關(guān)鍵技術(shù)
2.1 感知
感知是指自動(dòng)駕駛系統(tǒng)從環(huán)境中收集信息并從中提取相關(guān)知識(shí)的過(guò)程。它負(fù)責(zé)估計(jì)汽車(chē)的狀態(tài),并使用車(chē)載傳感器捕獲的數(shù)據(jù)與車(chē)輛控制系統(tǒng)和決策單元進(jìn)行交互,同時(shí)利用道路網(wǎng)絡(luò)、交通規(guī)則、汽車(chē)動(dòng)力學(xué)等的先驗(yàn)信息進(jìn)行規(guī)劃與控制車(chē)輛。通常包含環(huán)境感知和定位兩部分,其中,環(huán)境感知(Environmental Perception,EP)特指對(duì)于環(huán)境的場(chǎng)景理解能力,例如障礙物的類(lèi)型、道路標(biāo)志及標(biāo)線、行人車(chē)輛的檢測(cè)、交通信號(hào)等數(shù)據(jù)的語(yǔ)義分類(lèi)。定位(Localization)是對(duì)感知結(jié)果的后處理,通過(guò)定位功能從而幫助自動(dòng)車(chē)了解其相對(duì)于所處環(huán)境的位置。
2.1.1 環(huán)境感知
為了確保自動(dòng)車(chē)對(duì)車(chē)身周?chē)h(huán)境的正確理解和對(duì)應(yīng)決策,自動(dòng)駕駛系統(tǒng)的環(huán)境感知部分通常需要獲取大量周?chē)h(huán)境信息,具體來(lái)說(shuō)包括:車(chē)道線檢測(cè)、紅綠燈識(shí)別、交通標(biāo)識(shí)牌識(shí)別、行人檢測(cè)、車(chē)輛的檢測(cè)等。
激光雷達(dá)和相機(jī)的融合是實(shí)現(xiàn)行人檢測(cè)的一種方法,它主要包括空間融合[14]和時(shí)間融合??臻g融合主要是指建立激光雷達(dá)坐標(biāo)系到圖像坐標(biāo)系的坐標(biāo)轉(zhuǎn)換關(guān)系,該坐標(biāo)轉(zhuǎn)換關(guān)系能夠?qū)⒓す饫走_(dá)坐標(biāo)系中的點(diǎn)映射到圖像坐標(biāo)系中。時(shí)間融合主要是讓各個(gè)傳感器的輸出處在同樣的時(shí)間線上,以便于多傳感器融合。
車(chē)道線檢測(cè)的兩大主流方法是基于視覺(jué)的車(chē)道線檢測(cè)和基于雷達(dá)的車(chē)道線檢測(cè)[15]?;诶走_(dá)的車(chē)道線檢測(cè)直接從點(diǎn)云中檢測(cè)車(chē)道線,該方法對(duì)雷達(dá)的線束要求很高,32線及以下的激光雷達(dá)難以用于車(chē)道線檢測(cè),因?yàn)辄c(diǎn)云太稀疏,車(chē)道線的特征不明顯。而64線及以上的激光雷達(dá)成本高昂,短期內(nèi)難以大規(guī)模推廣應(yīng)用?;谝曈X(jué)的車(chē)道線檢測(cè)起步較早、發(fā)展較成熟、應(yīng)用也很廣泛,但是基于視覺(jué)的方法檢測(cè)到的車(chē)道線位于圖像坐標(biāo)系中,難以被自動(dòng)駕駛系統(tǒng)的其他模塊使用。這時(shí)可使用多傳感器融合技術(shù),先在圖像中檢測(cè)出車(chē)道線,然后將激光雷達(dá)生成的點(diǎn)投射到圖像上,找出落在車(chē)道線上的點(diǎn)在激光雷達(dá)坐標(biāo)系中的坐標(biāo),通過(guò)這些坐標(biāo)即可擬合出激光雷達(dá)坐標(biāo)系中的車(chē)道線。
紅綠燈識(shí)別有兩種方式,一種是基于V2X[16],即智能網(wǎng)聯(lián)技術(shù)。該方式通過(guò)在紅綠燈上安裝信號(hào)發(fā)射器來(lái)不斷地向四周發(fā)射紅綠燈的狀態(tài)信息。自動(dòng)車(chē)通過(guò)接收信號(hào)發(fā)射器發(fā)出的信號(hào)來(lái)判斷紅綠燈的狀態(tài)。該方法穩(wěn)定性好,可靠性高,但是需要為所有的紅綠燈部署信號(hào)發(fā)射器,并在所有自動(dòng)車(chē)上安裝信號(hào)接收器,因此成本高昂,短期內(nèi)難以投入實(shí)際應(yīng)用。另一種方式是基于人工智能的視覺(jué)算法,它也是目前業(yè)界使用最廣泛的一種方法,使用顏色[17]和形狀[18]信息來(lái)識(shí)別紅綠燈的方法通常情況下并不穩(wěn)健。為了增強(qiáng)其穩(wěn)健性,級(jí)聯(lián)分類(lèi)器[19]被提出使用,它可能是第一次嘗試基于學(xué)習(xí)的方法。HoG和Gabor特征分類(lèi)與SVM[20]也是一種獨(dú)特的解決方法,AdaBoost[21]和JointBoost[22]的組合使得視覺(jué)檢測(cè)發(fā)展有了新的突破。最近,端到端方法(不需要手工制作的特征)優(yōu)于大多數(shù)基于模型的方法。JOHN V等人[23]使用GPS數(shù)據(jù)和交通燈位置數(shù)據(jù)庫(kù)用于識(shí)別圖像中的感興趣區(qū)域,并且采用卷積神經(jīng)網(wǎng)絡(luò)(CNN)[24]來(lái)識(shí)別交通燈狀態(tài)。同時(shí)采用YOLO[25]在LISA[26]數(shù)據(jù)集上取得了良好的效果,使用LISA訓(xùn)練集時(shí)AUC達(dá)到90.49%。但是,當(dāng)使用來(lái)自其他數(shù)據(jù)集的訓(xùn)練數(shù)據(jù)時(shí),性能下降到58.3%。盡管如此,該方法仍然比以前的方法有所改進(jìn),并且表明還有很多工作要做。后來(lái),基于機(jī)器學(xué)習(xí)的方法如SVM、級(jí)聯(lián)分類(lèi)器[27]和LogitBoost[28]開(kāi)始被廣泛地使用,例如文獻(xiàn)[29]。同時(shí),傳統(tǒng)的基于視覺(jué)的紅綠燈檢測(cè)是使用神經(jīng)網(wǎng)絡(luò)直接對(duì)原始圖像進(jìn)行檢測(cè)。該方式受環(huán)境影響較大,并且難以處理如圖3所示的場(chǎng)景。
在圖3所示的場(chǎng)景中,多個(gè)紅綠燈同時(shí)出現(xiàn)在圖像中,用于紅綠燈檢測(cè)的神經(jīng)網(wǎng)絡(luò)難以確定到底哪一個(gè)紅綠燈適用于當(dāng)前車(chē)道中的當(dāng)前位置。一種新的方式是結(jié)合高精度地圖進(jìn)行紅綠燈檢測(cè)。該方式將紅綠燈的位置、大小等信息存放在高精度地圖中。在車(chē)輛行駛的過(guò)程中,根據(jù)車(chē)輛的位置從高精度地圖中找出適用于當(dāng)前位置的紅綠燈的坐標(biāo),并使用坐標(biāo)轉(zhuǎn)換將地圖中的坐標(biāo)映射到圖像中,然后從圖像中剪切出感興趣區(qū)域(ROI),如圖4所示。對(duì)ROI使用目標(biāo)檢測(cè)網(wǎng)絡(luò)進(jìn)行紅綠燈檢測(cè),能夠有效地降低環(huán)境的干擾,并且可以解決同一張圖像上存在多個(gè)紅綠燈的問(wèn)題。
更進(jìn)一步地,由于ROI內(nèi)幾乎只包含紅綠燈,因此可以將目標(biāo)檢測(cè)網(wǎng)絡(luò)替換為規(guī)模更小并且運(yùn)行速度更快的分類(lèi)網(wǎng)絡(luò),并且不會(huì)降低檢測(cè)精度。
交通標(biāo)識(shí)牌識(shí)別的方式與紅綠燈檢測(cè)類(lèi)似,可以直接使用深度神經(jīng)網(wǎng)絡(luò)對(duì)原始圖像進(jìn)行交通標(biāo)識(shí)牌檢測(cè)。也可以結(jié)合高精度地圖,將交通標(biāo)志信息存放在高精度地圖中,在車(chē)輛行駛的過(guò)程中,直接根據(jù)車(chē)輛的位置從高精度地圖中獲取交通標(biāo)志信息。
行人、車(chē)輛的檢測(cè)常用的方式有兩種,一種是直接使用激光雷達(dá)的數(shù)據(jù)進(jìn)行目標(biāo)檢測(cè),例如Squeezeseg[30]。另一種是融合激光雷達(dá)和相機(jī)進(jìn)行目標(biāo)檢測(cè)。激光雷達(dá)能夠提供精確的位置和大小信息,基于圖像的深度學(xué)習(xí)更擅長(zhǎng)目標(biāo)類(lèi)別的識(shí)別。一種可行的融合激光雷達(dá)和相機(jī)進(jìn)行目標(biāo)檢測(cè)的方式如下:
對(duì)激光雷達(dá)生成的點(diǎn)云數(shù)據(jù)使用地面過(guò)濾算法去除其中的地面點(diǎn),例如文獻(xiàn)[31]。對(duì)去除地面點(diǎn)后的點(diǎn)云數(shù)據(jù)使用聚類(lèi)算法得到一個(gè)個(gè)的簇。對(duì)圖像使用深度神經(jīng)網(wǎng)絡(luò)進(jìn)行目標(biāo)檢測(cè)得到目標(biāo)的類(lèi)別標(biāo)簽,如yolo[32]。將簇通過(guò)坐標(biāo)轉(zhuǎn)換映射到圖像上,根據(jù)圖像上映射的點(diǎn)計(jì)算矩形,遍歷LiDar檢測(cè)到的目標(biāo),如果目標(biāo)和Vision檢測(cè)到的目標(biāo)的矩形重合面積達(dá)到一定閾值,就根據(jù)該目標(biāo)的分類(lèi)結(jié)果進(jìn)行判斷是否符合預(yù)先定義的三圍,如表2所示。符合則為候選目標(biāo),然后在候選目標(biāo)中找到距離傳感器最近的目標(biāo)即為同一目標(biāo),并將目標(biāo)的類(lèi)別標(biāo)簽貼到對(duì)應(yīng)的簇上面。通過(guò)這種方式可以得到目標(biāo)的大小、位置和類(lèi)別等信息。
2.1.2 定位
定位是一臺(tái)自動(dòng)車(chē)的必備基礎(chǔ),它需要告訴車(chē)輛相對(duì)于外界環(huán)境的精確位置。在城市復(fù)雜道路行駛場(chǎng)景下,定位精度要求誤差不超過(guò)10 cm,如果定位位置偏差過(guò)大,那么在城市道路行駛中,車(chē)輛輪胎就很容易在行駛過(guò)程中擦到路牙,剮蹭到護(hù)欄等,還會(huì)引發(fā)爆胎等車(chē)輛駕駛安全問(wèn)題,嚴(yán)重的甚至?xí)l(fā)交通安全事故。
目前使用最廣泛的自動(dòng)車(chē)定位方法是全球定位系統(tǒng)(Global Positioning System,GPS),但GPS的定位精度視器件成本,一般在幾十米到幾厘米級(jí)別之間,精度越高,GPS和慣性導(dǎo)航等傳感器的價(jià)格也就相對(duì)越昂貴。除GPS之外,目前還有基于點(diǎn)云地圖(如圖5所示)的雷達(dá)定位、基于雷達(dá)和攝像機(jī)融合定位、基于攝像機(jī)定位慣性導(dǎo)航系統(tǒng)(Inertial Navigation System,INS)四種定位方法。
基于上述四種方法,HATA A Y[33]提出了一種基于道路特征檢測(cè)的定位方法。該方法使用環(huán)壓縮分析和最小修剪方塊來(lái)分析由多層LIDAR(Velodyne HDL-32E)掃描形成的連續(xù)同心測(cè)量(或環(huán))之間的距離。同時(shí)使用蒙特卡洛定位(Monte Carlo Localization,MCL)算法通過(guò)將從多層激光雷達(dá)測(cè)量中提取的道路特征與網(wǎng)格圖匹配來(lái)估計(jì)汽車(chē)姿態(tài),該方法在橫向和縱向定位估計(jì)誤差均小于0.30 m。許謙[34]提出了一種基于感知目標(biāo)的相對(duì)位置和自動(dòng)駕駛車(chē)輛的絕對(duì)位置,它是一種基于遞推最小二乘法的GIS動(dòng)態(tài)更新算法。把環(huán)境感知質(zhì)點(diǎn)和環(huán)境感知區(qū)域添加到GIS中,實(shí)現(xiàn)基于環(huán)境感知信息的GIS動(dòng)態(tài)更新。應(yīng)用遞推最小二乘法,估計(jì)環(huán)境感知質(zhì)點(diǎn)位置信息,減小了隨機(jī)誤差。VISWANATHAN A[35]提出了一種自駕車(chē)定位方法,該方法將地面全景圖像與一年中不同季節(jié)拍攝的衛(wèi)星圖像相匹配。他們使用LIDAR數(shù)據(jù)將自動(dòng)駕駛汽車(chē)中的全景相機(jī)捕獲的地面圖像分割成地面/非地面區(qū)域,然后翹曲以獲得鳥(niǎo)瞰圖。BRUBAKER M A[36]提出了一種基于視覺(jué)里程計(jì)和路線圖的定位方法。他們使用OpenStreetMap,從中提取所有交叉點(diǎn)和所有可行駛道路(表示為分段線性段),將它們連接到感興趣的區(qū)域。然后,他們構(gòu)建了這個(gè)路線圖的基于圖形的表示,以及汽車(chē)如何遍歷該圖的概率模型。使用這種概率模型和視覺(jué)里程測(cè)量,他們估計(jì)相對(duì)于路線圖的汽車(chē)位移來(lái)完成定位。融合GPS/INS的定位方法在GPS信號(hào)缺失、微弱的情況下也不容易做到高精度定位,如地下停車(chē)場(chǎng),密集高樓的市區(qū)等場(chǎng)景。因此也只能適用于部分場(chǎng)景(例如開(kāi)闊、信號(hào)良好環(huán)境下)的自動(dòng)駕駛定位任務(wù)。
此外,地圖輔助類(lèi)定位算法是另一類(lèi)廣泛使用的自動(dòng)車(chē)定位算法,即同步定位與地圖構(gòu)建(Simultaneous Localization And Mapping,SLAM)[37],SLAM的目標(biāo)即在構(gòu)建地圖的同時(shí)使用該地圖進(jìn)行定位,SLAM通過(guò)利用傳感器(包括視覺(jué)、激光雷達(dá)等)以及觀測(cè)到的環(huán)境特征,確定當(dāng)前車(chē)輛的位置以及當(dāng)前觀測(cè)目標(biāo)的位置,這是一個(gè)利用以往的先驗(yàn)概率分布和當(dāng)前的觀測(cè)值來(lái)估計(jì)當(dāng)前位置的過(guò)程,通常使用的方法包括:貝葉斯濾波器(Bayesian Filter,BF)[38]、卡爾曼濾波(Kalman Filter,KF)[39]以及粒子濾波(Particle Filter,PF)[40]等,這些方法都是基于概率和統(tǒng)計(jì)原理的定位技術(shù)。
SLAM是機(jī)器人定位領(lǐng)域的研究熱點(diǎn),在特定場(chǎng)景下的低速自動(dòng)駕駛定位的應(yīng)用過(guò)程中,也有較多現(xiàn)實(shí)的實(shí)例,如園區(qū)自動(dòng)擺渡車(chē)、自動(dòng)清潔掃地車(chē)、甚至是掃地機(jī)器人、Boston Dynamics制造的機(jī)械大狗等場(chǎng)景,都廣泛使用了SLAM技術(shù)。在此類(lèi)特殊場(chǎng)景的應(yīng)用中,并不需要在定位的同時(shí)實(shí)時(shí)建圖,只需要事先使用傳感器如激光雷達(dá)、視覺(jué)攝像頭等對(duì)運(yùn)行環(huán)境區(qū)域進(jìn)行SLAM地圖的構(gòu)建,并將構(gòu)建好的地圖存儲(chǔ)下來(lái),在實(shí)際定位的時(shí)候,使用3D激光雷達(dá)的掃描數(shù)據(jù)和保存在本地的地圖進(jìn)行點(diǎn)云匹配,確定自動(dòng)車(chē)在地圖中的具體位置,這類(lèi)方法被統(tǒng)稱(chēng)為掃描匹配方法(Scan Matching,SM),掃描匹配方法最常見(jiàn)的方法是迭代最近點(diǎn)法(Iterative Closest Point,ICP)[41],該方法基于當(dāng)前掃描和目標(biāo)掃描的距離度量來(lái)完成點(diǎn)云配準(zhǔn)。除此以外,正態(tài)分布變換(Normal Distributions Transform,NDT)[42]也是進(jìn)行點(diǎn)云配準(zhǔn)的常用方法,它是基于點(diǎn)云特征直方圖來(lái)實(shí)現(xiàn)配準(zhǔn)的一種算法。
2.2 規(guī)劃
規(guī)劃是指自動(dòng)車(chē)為了到達(dá)某一目的地而做出決策和計(jì)劃的過(guò)程。對(duì)于自動(dòng)駕駛車(chē)輛而言,這個(gè)過(guò)程通常包括從起始地到達(dá)目的地,同時(shí)要避免障礙物,并且不斷優(yōu)化行車(chē)路線軌跡和行為,以保證乘車(chē)的安全舒適。規(guī)劃層通常又被細(xì)分為任務(wù)規(guī)劃(Mission Planning,MP)、行為規(guī)劃(Behavioral Planning,BP)和動(dòng)作規(guī)劃(Motion Planning,MP)三層。分層結(jié)構(gòu)設(shè)計(jì)源于美國(guó)2007年舉辦的DAPRA城市挑戰(zhàn)賽,從參賽隊(duì)伍已發(fā)表的論文來(lái)看,在比賽中多數(shù)參賽隊(duì)都將自動(dòng)車(chē)的規(guī)劃模塊分為上述三層結(jié)構(gòu)設(shè)計(jì)。
2.2.1 任務(wù)規(guī)劃
任務(wù)規(guī)劃通常也被稱(chēng)為路徑規(guī)劃或者路由規(guī)劃(Route Planning,RP),通常情況下在DUC中提供了路由網(wǎng)絡(luò)定義文件(RNDF)作為先驗(yàn)信息[45],其中包含相對(duì)頂層、全局的路徑規(guī)劃,例如起點(diǎn)到終點(diǎn)的路徑選擇等。
系統(tǒng)通常簡(jiǎn)化為有向網(wǎng)絡(luò)圖(Directed Graph Network,DGN),該圖能夠表示道路和道路之間的連接情況、通行規(guī)則、道路的路寬等各種信息,這個(gè)有向網(wǎng)絡(luò)圖也被稱(chēng)為路網(wǎng)圖(Route Network Graph,RNG),如圖6所示。
圖6中的V表示路口;a表示有向邊的權(quán)重,包含路徑長(zhǎng)度、限速等信息。自動(dòng)車(chē)的路徑規(guī)劃問(wèn)題可轉(zhuǎn)化為在路網(wǎng)圖中,為了讓車(chē)輛達(dá)到某個(gè)目標(biāo)地(通常來(lái)說(shuō)是從A地到B地),基于某種方法選取最優(yōu)(即代價(jià)最?。┞窂降倪^(guò)程,即一個(gè)有向圖搜索問(wèn)題。處理該問(wèn)題的成熟算法有很多,例如迪杰斯特拉算法[44]、A*算法[45]等。ARNAY R[46]使用Dijkstra生成一條全局路徑,該路徑被擴(kuò)展用于構(gòu)建自動(dòng)駕駛車(chē)輛“Verdino”的軌跡。BACHA A[47]使用Dijkstra為自動(dòng)駕駛汽車(chē)構(gòu)建一條全局路徑,以便向停車(chē)位導(dǎo)航并倒車(chē)。KALA R[48]使用Dijkstra生成全局和本地路徑,僅在計(jì)算機(jī)模擬中進(jìn)行測(cè)試。
另外一種技術(shù)是基于插值曲線的技術(shù),通過(guò)該插值過(guò)程在先前已知的點(diǎn)集的范圍內(nèi)插入新的點(diǎn)集。該技術(shù)采用先前已知的一組點(diǎn)(例如,描述道路地圖的航路點(diǎn))生成描繪更平滑路徑的新點(diǎn)集。用于自動(dòng)駕駛汽車(chē)的路徑規(guī)劃的最常用的基于內(nèi)插曲線的技術(shù)是樣條曲線。HU X使用三次樣條曲線進(jìn)行路徑規(guī)劃。它們都構(gòu)成了從車(chē)道地圖獲得的一組航路點(diǎn)的中心線,生成一系列參數(shù)三次樣條,其使用弧長(zhǎng)和偏移到中心線來(lái)表示可能的路徑候選,避免了靜態(tài)和移動(dòng)障礙[49]。然后,所有這些候選者都被轉(zhuǎn)換為笛卡爾坐標(biāo)??紤]到靜態(tài)安全性、舒適性和動(dòng)態(tài)安全性的總成本,該方法選擇最佳路徑同時(shí)還確定了最佳路徑的適當(dāng)加速度和速度,包括單車(chē)道道路和具有靜止和移動(dòng)障礙物的多車(chē)道道路。
2.2.2 行為規(guī)劃
行為規(guī)劃有時(shí)也被稱(chēng)為決策制定(Decision Maker,DM),其主要的任務(wù)是根據(jù)任務(wù)規(guī)劃的目標(biāo)和對(duì)當(dāng)前環(huán)境的感知(例如:其他車(chē)輛、行人的位置和行為,當(dāng)前的交通規(guī)則等),做出下一步自動(dòng)車(chē)需要執(zhí)行的決策和動(dòng)作,可以把這一層模塊所起的作用理解為車(chē)輛的駕駛員的決策系統(tǒng),駕駛員根據(jù)目標(biāo)和當(dāng)前的交通情況,決定是跟車(chē)還是超車(chē),是停車(chē)等行人通過(guò)還是繞過(guò)行人等。
行為規(guī)劃實(shí)現(xiàn)的一種方法是使用包含大量動(dòng)作短語(yǔ)的復(fù)雜有限狀態(tài)機(jī)(Finite State Machine,F(xiàn)SM)。有限狀態(tài)機(jī)即從一個(gè)簡(jiǎn)單的起始狀態(tài)出發(fā),根據(jù)不同的駕駛場(chǎng)景跳轉(zhuǎn)到不同的動(dòng)作狀態(tài),同時(shí)將要執(zhí)行的動(dòng)作傳遞給下層的動(dòng)作規(guī)劃層。圖7是一個(gè)簡(jiǎn)單的有限狀態(tài)機(jī)。
如圖7所示,每個(gè)狀態(tài)都是對(duì)車(chē)輛動(dòng)作的一個(gè)決策過(guò)程,狀態(tài)和狀態(tài)之間存在一些跳轉(zhuǎn)條件,某些狀態(tài)可以自循環(huán)(比如上圖中的循跡狀態(tài)和等待狀態(tài))。
通過(guò)不同復(fù)雜程度的有限狀態(tài)機(jī)(FSM)在DUC車(chē)輛上做出決定來(lái)響應(yīng)特定的感知駕駛環(huán)境來(lái)決定行動(dòng)[50-52]是一種經(jīng)典的處理過(guò)程。部分研究工作試圖改善決策結(jié)構(gòu)中的組織,從而管理更大的規(guī)則集[53],以保證遵守規(guī)則集。雖然有限狀態(tài)機(jī)FSM是目前自動(dòng)車(chē)上采用的主流行為決策方法,但有限狀態(tài)機(jī)FSM仍然存在著很多的局限性:
(1)要實(shí)現(xiàn)復(fù)雜的行為決策,需要人工設(shè)計(jì)大量有效的狀態(tài);
(2)車(chē)輛有可能會(huì)碰到有限狀態(tài)機(jī)沒(méi)有考慮過(guò)的狀態(tài),因此狀態(tài)機(jī)的擴(kuò)展也是問(wèn)題;
(3)如果有限狀態(tài)機(jī)沒(méi)有設(shè)計(jì)死鎖保護(hù),車(chē)輛甚至可能陷入某種死鎖狀態(tài)。
2.2.3 動(dòng)作規(guī)劃
通過(guò)規(guī)劃一系列的執(zhí)行動(dòng)作以達(dá)到某種目的(例如避障)的處理過(guò)程被稱(chēng)為動(dòng)作規(guī)劃。常用兩個(gè)指標(biāo)來(lái)考量動(dòng)作規(guī)劃算法的性能:計(jì)算效率(Computational Efficiency,CE)和完整性(Completeness)。所謂計(jì)算效率,即完成一次動(dòng)作規(guī)劃的計(jì)算處理效率,動(dòng)作規(guī)劃算法的計(jì)算效率在很大程度上取決于配置空間(Configuration Space,CS)。如果一個(gè)動(dòng)作規(guī)劃算法能夠在問(wèn)題有解的情況下在有限時(shí)間內(nèi)返回一個(gè)解,并且能夠在無(wú)解的情況下返回?zé)o解,那么稱(chēng)該動(dòng)作規(guī)劃算法是完整的。
自動(dòng)車(chē)的動(dòng)作規(guī)劃也可描述為:在給定一個(gè)初始配置(Start Configuration,SC),一個(gè)目標(biāo)配置(Goal Configuration,GC)以及若干的約束條件(Constraint)的情況下,在配置空間中找出一系列的動(dòng)作到達(dá)目標(biāo)配置。這些動(dòng)作的執(zhí)行結(jié)果就是將自動(dòng)車(chē)從初始配置轉(zhuǎn)移至目標(biāo)配置,同時(shí)滿足約束條件。在自動(dòng)車(chē)這個(gè)應(yīng)用場(chǎng)景中,初始配置通常是自動(dòng)車(chē)的當(dāng)前狀態(tài)(當(dāng)前的位置、速度和角速度等),目標(biāo)配置則來(lái)源于動(dòng)作規(guī)劃的上一層——行為規(guī)劃層,而約束條件則是車(chē)輛的運(yùn)動(dòng)學(xué)限制(最大轉(zhuǎn)角、最大加速度等)。
顯然,在高維度的配置空間來(lái)進(jìn)行動(dòng)作規(guī)劃,其計(jì)算量是非常巨大的,為了確保規(guī)劃算法的完整性,不得不搜索幾乎所有可能路徑,這就形成了連續(xù)動(dòng)作規(guī)劃中的“維度災(zāi)難”問(wèn)題。目前動(dòng)作規(guī)劃中解決該問(wèn)題的核心理念是將連續(xù)空間模型轉(zhuǎn)換成離散模型,具體的方法可以歸納為兩類(lèi):組合規(guī)劃方法(Combinatorial Planning,CP)和基于采樣的規(guī)劃方法(Sampling-Based Planning,SBP)。
運(yùn)動(dòng)規(guī)劃的組合方法通過(guò)連續(xù)的配置空間找到路徑,而無(wú)需借助近似值。由于這個(gè)屬性,它們可以被稱(chēng)為精確算法。組合方法通過(guò)對(duì)規(guī)劃問(wèn)題建立離散表示來(lái)找到完整的解,如在DARPA城市挑戰(zhàn)賽(Darpa Urban Challenge)中,CMU的自動(dòng)車(chē)(BOSS)就使用了這類(lèi)動(dòng)作規(guī)劃算法,他們首先使用路徑規(guī)劃器生成備選的路徑和目標(biāo)點(diǎn),如圖8所示,然后通過(guò)優(yōu)化算法選擇最優(yōu)的路徑。另一種離散化的方法是網(wǎng)格分解方法(Grid Decomposition Approaches,GDA),在將配置空間網(wǎng)格化以后,使用離散圖搜索算法(如A*等)找到一條優(yōu)化路徑。
基于采樣的方法由于其概率完整性而被廣泛使用,最常見(jiàn)的算法如PRM(Probabilistic Roadmaps)、RRT(Rapidly-Exploring Random Tree)[56]等。在自動(dòng)車(chē)的應(yīng)用中,狀態(tài)采樣方法需要考慮兩個(gè)狀態(tài)的控制約束,同時(shí)還需要一個(gè)能夠有效地查詢(xún)采樣狀態(tài)和父狀態(tài)是否可達(dá)的方法。通常情況下,運(yùn)動(dòng)規(guī)劃背后的核心思想是通過(guò)將連續(xù)空間模型轉(zhuǎn)換為離散模型來(lái)克服這一挑戰(zhàn)[57]。一般情況下存在兩種方法解決:(1)組合規(guī)劃,其構(gòu)建精確代表該變換的離散表示原始問(wèn)題;(2)基于抽樣的計(jì)劃,利用碰撞檢查模塊對(duì)從配置空間抽取的樣本進(jìn)行離散搜索。
2.3 控制
控制是將規(guī)劃轉(zhuǎn)化為行動(dòng)的執(zhí)行過(guò)程,主要通過(guò)向硬件提供必要的輸入來(lái)執(zhí)行規(guī)劃信息,并產(chǎn)生期望的運(yùn)動(dòng)。一般情況下,控制器根據(jù)硬件的力矩和能量來(lái)映射現(xiàn)實(shí)世界中的交互。
2.3.1 經(jīng)典控制
反饋控制是控制領(lǐng)域中最常見(jiàn)的控制器結(jié)構(gòu),是指通過(guò)測(cè)量的系統(tǒng)響應(yīng)并主動(dòng)補(bǔ)償與所需行為的任何偏差。經(jīng)典的反饋控制的最常見(jiàn)形式是比例-積分-微分(Proportional-Integral-Derivative Controller,PID)控制器。PID控制器是過(guò)程控制行業(yè)中使用最廣泛的控制器。PID控制的概念相對(duì)簡(jiǎn)單。它不需要系統(tǒng)模型,控制律基于誤差信號(hào)。
控制是指自動(dòng)駕駛車(chē)輛精準(zhǔn)地執(zhí)行規(guī)劃好的動(dòng)作、路線的能力,及時(shí)地給予車(chē)輛執(zhí)行機(jī)構(gòu)合適的油門(mén)、方向、剎車(chē)信號(hào)等,以保障自動(dòng)車(chē)能按預(yù)期行駛??刂葡到y(tǒng)內(nèi)部會(huì)存在測(cè)量反饋,控制器通過(guò)比較車(chē)輛的測(cè)量和預(yù)期期望來(lái)輸出相應(yīng)的控制動(dòng)作。
自動(dòng)車(chē)反饋控制模塊中常用的車(chē)輛控制模型為自行車(chē)模型[53]。在該模型中,車(chē)輛姿態(tài)(Pose)是處于一個(gè)二維的平面坐標(biāo)系內(nèi),并且可以由車(chē)輛所處的位置(position)以及車(chē)身和坐標(biāo)平面的夾角(heading)來(lái)完全描述。同時(shí)假設(shè)車(chē)輛前后輪由一個(gè)剛性(rigid)不變的軸連接,其中車(chē)輛的前輪可以在一定的角度范圍內(nèi)自由轉(zhuǎn)動(dòng),而車(chē)輛的后輪保持和車(chē)身的平行關(guān)系不能轉(zhuǎn)動(dòng)。前輪的轉(zhuǎn)動(dòng)對(duì)應(yīng)實(shí)際車(chē)輛控制中方向盤(pán)的轉(zhuǎn)動(dòng)。一般情況下車(chē)輛的自行車(chē)模型所代表的車(chē)輛姿態(tài)如圖9所示。
由于制動(dòng)機(jī)構(gòu)的延遲性,在高速運(yùn)動(dòng)場(chǎng)景下,會(huì)給控制本身帶來(lái)非常大的延遲影響,而PID由于內(nèi)部不存在系統(tǒng)模型,故PID不能對(duì)延遲建模。為了解決這一問(wèn)題,基于模型預(yù)測(cè)的控制方法也被廣泛地研究。
2.3.2 模型預(yù)測(cè)控制
模型預(yù)測(cè)控制(Model Predictive Control,MPC)[56]是指借助車(chē)輛運(yùn)動(dòng)模型來(lái)預(yù)測(cè)未來(lái)一個(gè)時(shí)間段的運(yùn)動(dòng),通過(guò)不斷優(yōu)化控制參數(shù)來(lái)擬合這一系列運(yùn)動(dòng)的方法,通常來(lái)說(shuō),模型預(yù)測(cè)的時(shí)間段較短。模型預(yù)測(cè)控制在工業(yè)過(guò)程控制應(yīng)用中取得了巨大成功,主要?dú)w功于其簡(jiǎn)單的概念和處理具有輸入約束和非線性的復(fù)雜過(guò)程模型的能力,模型預(yù)測(cè)控制由以下四部分組成:
(1)預(yù)測(cè)模型:基于當(dāng)前的狀態(tài)和控制輸入來(lái)預(yù)測(cè)未來(lái)一段時(shí)間內(nèi)的狀態(tài)的模型,在自動(dòng)車(chē)系統(tǒng)中,通常是指車(chē)輛的運(yùn)動(dòng)學(xué)/動(dòng)力學(xué)模型。
(2)反饋校正:對(duì)模型施加了反饋校正的過(guò)程,使預(yù)測(cè)控制具有很強(qiáng)的抗擾動(dòng)和克服系統(tǒng)不確定性的能力。
(3)滾動(dòng)優(yōu)化:滾動(dòng)地優(yōu)化控制序列,以得到和參考軌跡最接近的預(yù)測(cè)序列。
(4)參考軌跡:即設(shè)定的軌跡。
圖10是模型預(yù)測(cè)控制(MPC)的基本結(jié)構(gòu)圖,由于模型預(yù)測(cè)控制基于運(yùn)動(dòng)模型進(jìn)行優(yōu)化,在PID控制中面臨的控制時(shí)延問(wèn)題可以在建立模型時(shí)考慮進(jìn)去,所以基于模型預(yù)測(cè)控制在自動(dòng)車(chē)控制中具有較高的應(yīng)用價(jià)值。
模型預(yù)測(cè)控制也已廣泛適用于汽車(chē)應(yīng)用[55-56]。整個(gè)車(chē)輛系統(tǒng)的操作必須在整個(gè)操作范圍內(nèi)是最佳的,以便提高燃料經(jīng)濟(jì)性,排放和安全性能。然而,在汽車(chē)系統(tǒng)中應(yīng)用模型預(yù)測(cè)控制器遇到的挑戰(zhàn)與過(guò)程控制行業(yè)面臨的挑戰(zhàn)不同。汽車(chē)中的過(guò)程的采樣周期是幾毫秒,并且由于空間限制,可用的計(jì)算資源量受到限制。因此,在推動(dòng)MPC在汽車(chē)行業(yè)中的普及應(yīng)用中,處理器速度和內(nèi)存的進(jìn)步以及新算法的開(kāi)發(fā)非常重要,因此在包括牽引力控制、制動(dòng)和轉(zhuǎn)向、車(chē)道保持等方面的使用中具有深遠(yuǎn)意義[57-60]。
3 結(jié)論
自動(dòng)駕駛技術(shù)的發(fā)展為交通出行提供新的方式,尤其近年來(lái)隨視覺(jué)處理和機(jī)器學(xué)習(xí)的快速發(fā)展,以傳感器為基礎(chǔ)的感知技術(shù)得到了快速發(fā)展,相對(duì)于視覺(jué)處理,在規(guī)劃和控制領(lǐng)域相對(duì)比較緩慢。本文綜述了自動(dòng)駕駛的三個(gè)關(guān)鍵技術(shù)以及目前的發(fā)展?fàn)顩r,并闡述了相關(guān)問(wèn)題。此外也存在很多挑戰(zhàn),技術(shù)上,惡略條件下的精準(zhǔn)感知還有待完善,例如雨雪天氣以及道路施工等場(chǎng)景。法律上,目前只有部分城市出臺(tái)了關(guān)于自動(dòng)駕駛車(chē)輛道路測(cè)試的相關(guān)指導(dǎo)文件,而且還僅限于測(cè)試。不過(guò),隨著技術(shù)的發(fā)展以及法律的完善,自動(dòng)駕駛會(huì)逐漸進(jìn)入我們的生活中。
參考文獻(xiàn)
[1] URMSON C,ANHALT J,BAGNELL D,et.al.Autonomous driving in urban environments:boss and the urban challenge[J].Journal of Field Robotics,2008,25(8):425-466.
[2] WAYMO.We′re building the world′s most experienced driver[EB/OL].[2018-05-22].https://waymo.com/
[3] Uber.Uber:our road to self-driving vehicles[DB/OL].[2018-05-22].https://www.uber.com/blog/our-road-to-self-driving-vehicles.
[4] Tesla.Full self-driving hardware on all cars[EB/OL].[2018-05-22].https://www.tesla.com/autopilot.
文獻(xiàn)[5]-[60]略
作者信息:
王金強(qiáng),黃 航,郅 朋,申澤邦,周慶國(guó)
(蘭州大學(xué) 信息科學(xué)與工程學(xué)院,甘肅 蘭州730000)