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