唐仕祺,李 柏,張友民
(1. 湖南大學(xué) 機(jī)械與運(yùn)載工程學(xué)院,湖南 長沙 410082;2. 康考迪亞大學(xué) 機(jī)械、工業(yè)與航空工程系,魁北克 蒙特利爾 H3G 1M8)
自動駕駛汽車是指通過搭載先進(jìn)傳感器裝置、運(yùn)用人工智能新技術(shù)、具有自動駕駛功能、逐步成為智能移動空間和應(yīng)用終端的新一代汽車[1]。近年來汽車自動駕駛技術(shù)得到了飛速發(fā)展,眾多研發(fā)和應(yīng)用自動駕駛技術(shù)的企業(yè)已基本實(shí)現(xiàn)了L3級別自動駕駛,但隨之而來的交通事故問題引起了社會對自動駕駛汽車安全性、可靠性的擔(dān)憂[2-4]。在向著L4甚至是L5級別自動駕駛技術(shù)發(fā)展的進(jìn)程中,如何妥善應(yīng)對車載軟硬件系統(tǒng)突發(fā)故障情況是一項(xiàng)與自動駕駛車輛的安全屬性緊密聯(lián)系的議題[5-11]。
在L2/L3級別輔助自動駕駛系統(tǒng)中,由駕駛員緊急接管車輛是目前應(yīng)對故障的主要手段。L4/L5級別自動駕駛系統(tǒng)要求車輛具備自主應(yīng)對故障和緊急風(fēng)險的能力[12],以更高水平的自主智能技術(shù)來保障乘客及其他交通參與者的安全[13-15]。為實(shí)現(xiàn)L4/L5級別的高自主性行駛安全,一項(xiàng)關(guān)鍵任務(wù)是如何計(jì)算在故障出現(xiàn)之后的工況下盡量保障安全、舒適的局部行車運(yùn)動軌跡,該任務(wù)被稱為故障安全運(yùn)動規(guī)劃(failsafe motion planning)。
故障安全運(yùn)動規(guī)劃隸屬于車端決策模塊的運(yùn)動規(guī)劃環(huán)節(jié)。與經(jīng)典的運(yùn)動規(guī)劃算法相比,故障安全運(yùn)動規(guī)劃算法致力于充分發(fā)揮決策模塊的智慧能力,對因模塊故障而喪失的車輛額定功能予以補(bǔ)救。例如,針對自動駕駛車輛正常前向行駛時其前方突然竄出行人或是車載設(shè)備突然出現(xiàn)故障工況,經(jīng)典的運(yùn)動規(guī)劃方法往往采取緊急制動、應(yīng)激性避讓或靠邊停車等簡單方案,這些基于規(guī)則的方案不可能完全覆蓋所有的突發(fā)狀況,也未必是突發(fā)狀況下的最優(yōu)解。相比之下,故障安全運(yùn)動規(guī)劃要求自動駕駛車輛提前識別環(huán)境中的盲區(qū),從而提前規(guī)劃出規(guī)避潛在碰撞隱患的輕微繞行軌跡;或是在并行線程中為環(huán)境中隨時出現(xiàn)的最壞情況做安全冗余規(guī)劃;亦或是結(jié)合車輛在故障工況下的剩余功能重構(gòu)規(guī)劃命題,繼而生成恰當(dāng)?shù)男旭傑壽E??傊?,故障安全運(yùn)動規(guī)劃致力于利用規(guī)劃環(huán)節(jié)的智能計(jì)算來強(qiáng)化車輛在出現(xiàn)故障或存在故障隱患工況下的安全行駛能力。
自動駕駛技術(shù)的發(fā)展目前正從科研探索期向產(chǎn)業(yè)孵化期過渡轉(zhuǎn)型,所開發(fā)的穩(wěn)定可靠、高效智能的故障安全運(yùn)動規(guī)劃方法將在自動駕駛車輛的量產(chǎn)進(jìn)程中發(fā)揮推動與促進(jìn)作用。故障安全運(yùn)動規(guī)劃方法的研究目前仍處于萌芽階段,國內(nèi)外的相應(yīng)研究成果零星出現(xiàn),尚未形成穩(wěn)定的研究體系,也沒有系統(tǒng)性介紹故障安全運(yùn)動規(guī)劃方法的綜述類文獻(xiàn)。本文梳理和回顧了該領(lǐng)域現(xiàn)有研究成果,以期故障安全運(yùn)動規(guī)劃方法能夠獲得學(xué)術(shù)界與產(chǎn)業(yè)界的廣泛重視。
本文針對感知、決策、控制各執(zhí)行模塊分別發(fā)生故障條件下的故障安全運(yùn)動規(guī)劃方法研究工作予以回顧。首先,將給出故障安全運(yùn)動規(guī)劃的基本概念,并界定本文關(guān)注的故障含義;然后,分別從上游感知模塊出現(xiàn)故障、決策模塊自身出現(xiàn)故障以及下游控制模塊出現(xiàn)故障等不同角度回顧相應(yīng)的故障安全運(yùn)動規(guī)劃方法(需要說明的是,源于控制學(xué)科的容錯控制方法在應(yīng)對底盤執(zhí)行機(jī)構(gòu)失效時承擔(dān)了故障安全運(yùn)動規(guī)劃的一部分決策職責(zé),本文將此類控制方法納入故障安全運(yùn)動規(guī)劃方法的回顧范疇之內(nèi));最后,展望了故障安全運(yùn)動規(guī)劃方法的未來發(fā)展方向,并對全文進(jìn)行總結(jié)。
故障安全技術(shù)用于降低或消除突發(fā)故障對系統(tǒng)的損害[16],其在汽車工業(yè)的早期應(yīng)用可追溯到1989年由日本豐田汽車公司Shingo[17]提出的防呆(Poka-Yoke)設(shè)計(jì)理念[18]?!胺来簟笔窃从谌毡緡迮c將棋的術(shù)語;而在現(xiàn)代化工業(yè)生產(chǎn)過程中,防呆是一種預(yù)防矯正的行為約束手段,其運(yùn)用避免產(chǎn)生錯誤的限制方法,讓操作者不需要花費(fèi)注意力、也不需要過多的專業(yè)知識與經(jīng)驗(yàn)即可準(zhǔn)確無誤地完成正確的操作。例如,手機(jī)SIM卡片的缺角設(shè)計(jì)即采用了防呆缺口理念,它可有效杜絕用戶在手機(jī)插槽中將SIM卡片插反。在汽車制造產(chǎn)業(yè)領(lǐng)域,防呆機(jī)制的廣泛應(yīng)用大幅降低了人為因素導(dǎo)致的零部件缺陷率[19]。防呆作為避免故障釀成不良后果的主動預(yù)防手段被廣泛應(yīng)用于工業(yè)生產(chǎn)及產(chǎn)品設(shè)計(jì)中,并逐漸演變?yōu)楣收习踩夹g(shù)手段。自動駕駛汽車作為新興的智能化產(chǎn)品,其復(fù)雜軟硬件設(shè)計(jì)帶來的潛在故障風(fēng)險為車輛故障安全技術(shù)的發(fā)展帶來了更多機(jī)遇與挑戰(zhàn)。
典型的自動駕駛系統(tǒng)模塊包括感知模塊、決策模塊與控制模塊。車輛在行駛過程中可能發(fā)生的故障類型有多種,本文將聚焦其中3類故障,其分別發(fā)生于自動駕駛車輛的感知、決策以及控制模塊之中,并界定若干種適合由運(yùn)動規(guī)劃方法介入干預(yù)的車輛故障情形(圖1)。
感知模塊的作用是提供車輛自身運(yùn)動狀態(tài)信息(如車輛位置、姿態(tài)及行駛速度等)以及外部環(huán)境信息(如周圍障礙物的位置、大小、類別以及運(yùn)動趨勢)。適合由運(yùn)動規(guī)劃環(huán)節(jié)介入的感知模塊故障包括傳感器損毀與傳感器作用范圍受限。損毀是指車載傳感器因遭受外部損害而失效;作用范圍受限是指傳感器雖工況正常,但感知能力受到外部環(huán)境因素(例如遮擋)制約。
圖1 自動駕駛系統(tǒng)模塊分布及故障來源Fig. 1 Module distribution of automatic driving system and source of fault
決策模塊的作用是依據(jù)上游感知模塊輸出的結(jié)果生成開環(huán)行車軌跡。決策模塊可能出現(xiàn)的故障包括硬件層面的車載計(jì)算資源受限以及軟件層面的運(yùn)動規(guī)劃算法失敗。計(jì)算資源受限故障出現(xiàn)的原因是車載處理器發(fā)生了物理性質(zhì)改變,包括受到外部撞擊、遭遇溫度驟變、電氣線路局部短路或斷路等。算法求解失敗故障的原因除算法完備性差這一自身因素外,還包括一些典型的外部因素,如因行車情境發(fā)生顯著變化而導(dǎo)致的既定運(yùn)動規(guī)劃命題不存在任何可行解情況。
控制模塊負(fù)責(zé)對上游決策模塊提供的開環(huán)軌跡進(jìn)行閉環(huán)跟蹤,計(jì)算出所需的橫、縱向運(yùn)動控制量(轉(zhuǎn)向角、加速度等),并驅(qū)動底盤執(zhí)行機(jī)構(gòu)完成轉(zhuǎn)向、加速和制動等操作。適合由運(yùn)動規(guī)劃環(huán)節(jié)介入的控制模塊故障包括控制器跟蹤性能不佳和底盤執(zhí)行機(jī)構(gòu)失效。跟蹤性能不佳是指由于控制器算法結(jié)構(gòu)設(shè)計(jì)或參數(shù)匹配不當(dāng)造成的軌跡跟蹤誤差過大。底盤執(zhí)行機(jī)構(gòu)失效是指轉(zhuǎn)向或動力等底盤執(zhí)行機(jī)構(gòu)故障導(dǎo)致車輛部分或全部喪失對運(yùn)動控制指令的響應(yīng)能力。
故障安全運(yùn)動規(guī)劃旨在通過決策模塊的運(yùn)動規(guī)劃方法消除或削弱1.2節(jié)所述故障的影響。如圖2所示,故障安全運(yùn)動規(guī)劃方法在準(zhǔn)確了解車輛剩余工作能力(感知、決策和控制能力)的前提下重構(gòu)運(yùn)動規(guī)劃問題并進(jìn)行快速求解。需要說明的是,故障安全運(yùn)動規(guī)劃順利實(shí)現(xiàn)的重要前提是假設(shè)車端故障能夠迅速而準(zhǔn)確地得到診斷。
圖2 故障安全運(yùn)動規(guī)劃基本執(zhí)行流程Fig. 2 Basic execution process of fail-safe motion planning
正常工況下的運(yùn)動規(guī)劃方法主要包括幾何方法、采樣搜索方法、數(shù)值優(yōu)化方法以及機(jī)器學(xué)習(xí)方法[20-27]。故障安全運(yùn)動規(guī)劃仍舊依賴這些方法來完成求解任務(wù),但故障安全運(yùn)動規(guī)劃命題需額外考慮故障因素,繼而增刪約束條件或調(diào)整代價函數(shù)。
本節(jié)將從感知能力受限和傳感器損毀兩個角度分析故障安全運(yùn)動規(guī)劃方法的研究現(xiàn)狀。
視野遮擋、感知不確定性或定位失準(zhǔn)都將對車輛感知周圍環(huán)境的范圍產(chǎn)生限制, 這些安全隱患易誘發(fā)行車事故。
2.1.1 視野遮擋
視野遮擋是導(dǎo)致汽車安全事故的重要因素之一[28]。國內(nèi)一些低等級道路上的交通參與者路權(quán)意識淡漠,這增加了自動駕駛系統(tǒng)處理視野遮擋區(qū)域的難度[29-30]。設(shè)計(jì)可解決視野遮擋問題的故障安全運(yùn)動規(guī)劃算法的關(guān)鍵在于,確定被遮擋區(qū)域并對其中隱藏的交通參與者進(jìn)行合理推斷、預(yù)測,據(jù)此構(gòu)建風(fēng)險量化模型,隨后求解出可避免潛在風(fēng)險的行車軌跡。推測被遮擋區(qū)域內(nèi)信息的方法可分為以下兩類:
(1)粒子濾波算法
采用粒子濾波算法可對被遮擋區(qū)域內(nèi)障礙物的分布及其狀態(tài)作出可能性推測,據(jù)此規(guī)劃出較為舒適安全的故障安全軌跡。如圖3(a)所示,在交叉路口的道路中心線上鋪設(shè)若干個具有隨機(jī)初始速度和初始位置的粒子,然后賦予粒子以加速度并預(yù)測其運(yùn)動[31];如圖3(b)所示,粒子重分布后的狀態(tài)(位置、速度、可視性等)是對被遮擋情況下未來環(huán)境演變的推測,根據(jù)該推測進(jìn)行速度規(guī)劃可有效防范被遮擋區(qū)域的風(fēng)險。除對粒子的縱向運(yùn)動進(jìn)行模擬外,文獻(xiàn)[32]通過給粒子隨機(jī)指定橫向位移來模擬車輛的寬度和橫向運(yùn)動,將粒子分布狀態(tài)與基于代價函數(shù)的運(yùn)動規(guī)劃方法相結(jié)合,從而實(shí)現(xiàn)對故障安全軌跡風(fēng)險的量化評估。為避免被遮擋區(qū)域的推測導(dǎo)致過于保守的行駛行為,文獻(xiàn)[33]利用粒子濾波算法評估視野風(fēng)險并將其與故障安全運(yùn)動規(guī)劃的代價函數(shù)相結(jié)合,具有更好視野的故障安全軌跡與粒子產(chǎn)生干涉的概率更低,故代價值也更低。該方法將傾向于對環(huán)境進(jìn)行更多的探索以追求更高效的行駛軌跡。
圖3 基于粒子濾波的盲區(qū)物體推測方法Fig. 3 Inference method for the object in a blind region based on particle filter
(2)增加虛擬的交通參與者
粒子濾波算法由于沒有給出被遮擋區(qū)域可能發(fā)生最壞情況的假設(shè),由此生成的故障安全軌跡仍舊存在碰撞風(fēng)險[34],而在被遮擋區(qū)域的邊界處加入虛擬的動態(tài)交通參與者并對其運(yùn)動做出保守估計(jì)將可以消除此類風(fēng)險。虛擬的動態(tài)參與者如圖4所示,虛擬汽車被假設(shè)以城市道路允許的最高車速(40 km/h)駛出被遮擋區(qū)域邊界。
圖4 基于虛構(gòu)動態(tài)交通參與者的盲區(qū)物體推測方法Fig. 4 Inference method for the object in a blind region based on virtual dynamic traffic participants
文獻(xiàn)[35-36]提出,車輛在與虛擬的動態(tài)障礙物交會前應(yīng)當(dāng)保證能夠緊急制動停車,由此可計(jì)算允許的最大安全速度并進(jìn)行速度規(guī)劃,該方法使得低速行駛的機(jī)器人可以安全應(yīng)對被遮擋區(qū)域的風(fēng)險。在處理虛擬交通參與者時,基于原路徑進(jìn)行速度規(guī)劃,可生成安全、舒適的故障安全軌跡,但虛擬動態(tài)障礙物被假設(shè)以某一速度沿其車道行駛或做直線運(yùn)動,僅適用于單車道、簡單場景[34,37]。
在應(yīng)對被遮擋區(qū)域的故障安全運(yùn)動規(guī)劃過程中,為了對虛擬交通參與者進(jìn)行更真實(shí)的模型描述,文獻(xiàn)[38-41]假設(shè)虛擬交通參與者將從視線邊界處以一定的初速度和加速度向任意方向運(yùn)動。文獻(xiàn)[42]則采用基于集合的方法[43]對虛擬車輛的運(yùn)動進(jìn)行更精準(zhǔn)的建模,并結(jié)合主動預(yù)防碰撞策略規(guī)劃故障安全軌跡,當(dāng)被遮擋區(qū)域沖出其他車輛時可以及時減速、繞行。
城市路況下多種交通參與者類型(機(jī)動車、非機(jī)動車、行人等)可能并存,在故障安全運(yùn)動規(guī)劃中對被遮擋區(qū)域的信息進(jìn)行推測時僅考慮汽車顯然并不能夠應(yīng)對復(fù)雜多變的場景。文獻(xiàn)[44]利用勢場理論對虛擬行人進(jìn)行建模,橫穿馬路的虛擬行人所產(chǎn)生的斥力勢場將降低故障安全軌跡的速度,以至于當(dāng)危險發(fā)生時車輛可及時制動,從而避免碰撞發(fā)生。文獻(xiàn)[45]引入基于虛擬行人勢場的代價函數(shù),避免故障安全軌跡距離被遮擋區(qū)域邊界過近。文獻(xiàn)[46]認(rèn)為被遮擋區(qū)域邊界所處的位置決定虛擬交通參與者的類型,當(dāng)遮擋區(qū)域邊界位于人行道時,設(shè)置虛擬的行人而不是汽車顯然是更合理的推測。
對被遮擋區(qū)域的過于保守推測會使通行效率降低。為了安全但不過分小心的應(yīng)對被遮擋區(qū)域的風(fēng)險,文獻(xiàn)[47]將虛擬交通參與者不同軌跡的發(fā)生概率加入速度規(guī)劃問題的代價函數(shù)中,并保證錯誤的概率估計(jì)僅會影響軌跡舒適性而不影響安全性,有利于提高故障安全軌跡的規(guī)劃效率。文獻(xiàn)[48]通過追蹤相鄰時刻被遮擋區(qū)域邊界變化情況,對虛擬交通參與者的速度及姿態(tài)角等信息進(jìn)行更為精準(zhǔn)的估計(jì),在感知能力受限的情況下充分發(fā)掘已知的環(huán)境信息以減少甚至消除對被遮擋區(qū)域不必要的保守描述,避免在處理被遮擋區(qū)域時過度謹(jǐn)慎。文獻(xiàn)[49]基于“collision at rest”原則處理被遮擋區(qū)域風(fēng)險,即若車輛能夠在與虛擬交通參與者相撞前停車,則認(rèn)為即便發(fā)生碰撞車輛承擔(dān)的責(zé)任也不大。其軌跡拓展時的被遮擋區(qū)域風(fēng)險評估如圖5所示,風(fēng)險評估過程中使用動態(tài)擴(kuò)張的陰影區(qū)域推測虛擬交通參與者的運(yùn)動狀態(tài)并允許規(guī)劃軌跡與該區(qū)域相交,但必須保證在每一軌跡點(diǎn)處存在可躲避動態(tài)陰影區(qū)域的安全停車軌跡;同時,該方法在停車軌跡安全性的判定中,需考慮車輛對障礙物反應(yīng)時間的影響,車輛反應(yīng)速度越快,其行駛軌跡將更具侵略性。文獻(xiàn)[45]提出“honking at rest”的概念,即確保先于緊急碰撞隱患的出現(xiàn)而鳴笛預(yù)警,從而降低緊急事故發(fā)生率并減輕自動駕駛車輛的事故責(zé)任?!癱ollision at rest”與“honking at rest”旨在避免因規(guī)避潛在突發(fā)風(fēng)險而規(guī)劃出過于保守的運(yùn)動軌跡。
圖5 文獻(xiàn)[49]提出的軌跡風(fēng)險評價方案流程Fig. 5 Risk assessment process of trajectories proposed by Ref. [49]
2.1.2 感知不確定性
現(xiàn)實(shí)環(huán)境中固有的傳感器噪聲、定位偏差及多幀數(shù)據(jù)融合偏差等因素會造成所感知到的障礙物狀態(tài)存在不確定性,因此依據(jù)不確定的障礙物信息進(jìn)行運(yùn)動規(guī)劃存在安全隱患。文獻(xiàn)[50]利用多幀傳感器感知數(shù)據(jù)結(jié)合卡爾曼濾波算法將凸多邊形障礙物狀態(tài)的不確定性用多元高斯分布表示,并在基于混合A*的故障安全運(yùn)動規(guī)劃中利用該分布和機(jī)會約束模型進(jìn)行碰撞檢測,將碰撞概率限制在給定范圍內(nèi)以保證節(jié)點(diǎn)擴(kuò)展的安全性。由于考慮了障礙物數(shù)據(jù)的不確定性,該方法生成的故障安全路徑將趨向于保守的障礙物繞行方式,以避免車輛駛?cè)胝系K物密集的區(qū)域。在人-車沖突場景中,行人的隨機(jī)不確定性行為會使車輛存在碰撞風(fēng)險,文獻(xiàn)[51]基于馬爾可夫模型[52]描述行人的不確定狀態(tài),通過無跡變換[53]估計(jì)不同避障軌跡的碰撞概率,并將該碰撞概率與穩(wěn)定性、舒適性等指標(biāo)相結(jié)合,可對故障安全軌跡的風(fēng)險進(jìn)行量化評估。
除了系統(tǒng)固有的感知不確定性以外,特定外部環(huán)境(揚(yáng)塵、雨水等)也可能引起感知能力下降,從而使安全性受到威脅。為適應(yīng)感知能力下降而帶來的不確定性,文獻(xiàn)[54]在可提供功能降級的容錯系統(tǒng)架構(gòu)中實(shí)現(xiàn)故障安全運(yùn)動規(guī)劃,當(dāng)故障監(jiān)測模塊探測到道路、天氣等外部環(huán)境條件惡化等情況時,立即觸發(fā)功能降級操作并修改運(yùn)動規(guī)劃參數(shù),必要時可緊急停車。例如,在大雨天氣情況下,傳感器對環(huán)境識別能力下降,故障安全運(yùn)動規(guī)劃則禁止變道、超車的駕駛行為,以保證車輛的安全。
2.1.3 定位失準(zhǔn)
在空曠環(huán)境或有高樓、樹林、隧道等對定位信號嚴(yán)重遮擋等情況下,車輛定位可能發(fā)生嚴(yán)重失準(zhǔn),此故障將直接影響車輛行駛的安全性,甚至可能導(dǎo)致車輛沖撞障礙物。文獻(xiàn)[55]對空曠或相似環(huán)境下車輛可定位性估計(jì)問題進(jìn)行研究,并將量化的可定位性估計(jì)指標(biāo)加入A*路徑規(guī)劃方法的代價函數(shù)中,使得自動駕駛車輛沿著規(guī)劃路徑行駛時可盡量避免由于定位失準(zhǔn)而產(chǎn)生的行進(jìn)軌跡混亂現(xiàn)象。文獻(xiàn)[56]在不依賴高精度組合導(dǎo)航設(shè)備的情況下,使用基于強(qiáng)化學(xué)習(xí)的方法進(jìn)行“端到端”的運(yùn)動規(guī)劃[57],該方法可實(shí)現(xiàn)從粗糙的參考路徑點(diǎn)或低維局部障礙物信息到車輪轉(zhuǎn)角的映射,通過在定位結(jié)果精度不高、跳變甚至定位信號完全缺失的環(huán)境中進(jìn)行訓(xùn)練,該規(guī)劃算法將具備應(yīng)對定位失準(zhǔn)的能力。
文獻(xiàn)[58]提出應(yīng)當(dāng)根據(jù)傳感器硬件故障在不同場景下對自動駕駛功能的損害程度進(jìn)行自適應(yīng)性的故障安全運(yùn)動規(guī)劃。例如在高速公路行駛場景中,負(fù)責(zé)執(zhí)行行人探測算法的硬件發(fā)生故障時,運(yùn)動規(guī)劃環(huán)節(jié)將不受影響并通過交互系統(tǒng)向駕駛員報告故障;如果相同故障發(fā)生在城市道路場景,那么該行人探測算法將在備份的處理器核心上以較低速率運(yùn)行,同時運(yùn)動規(guī)劃環(huán)節(jié)將降低行駛速度。至今,在傳感損毀條件下進(jìn)行運(yùn)動規(guī)劃的研究工作相對稀少。
現(xiàn)存的面向決策模塊故障的運(yùn)動規(guī)劃方法可分為兩類:被動緊急規(guī)避與主動防范碰撞。被動緊急規(guī)避策略是在碰撞即將發(fā)生時通過執(zhí)行緊急制動或規(guī)避動作來盡可能避免碰撞事故。主動防范碰撞是在環(huán)境態(tài)勢惡化初期通過提前采取保守行駛方案,從而避免車輛陷入緊急情境中。
基于被動緊急規(guī)避策略的故障安全運(yùn)動規(guī)劃方法用于應(yīng)對決策模塊軟件故障。具體而言,在車輛自動駕駛過程中,如果車輛只是簡單地推測其他交通參與者未來的正常趨勢,但對其潛在的異常行為及可能造成的后果不做任何預(yù)判,則自動駕駛行為將顯得激進(jìn)而不夠慎重;一旦其他交通參與者的未來行為偏離預(yù)期,自動駕駛車輛將很可能陷入危險處境,此時車輛既定的正常運(yùn)動規(guī)劃問題不再有解,這會很自然地導(dǎo)致正常運(yùn)動規(guī)劃求解過程失敗,即1.2節(jié)所提及的決策模塊軟件故障。由于車輛此刻已處于危險境地,車輛需要作出應(yīng)激性的快速規(guī)避動作來應(yīng)對。實(shí)現(xiàn)此類功能的故障安全運(yùn)動規(guī)劃方法包括人工勢場算法、彈性帶算法、模型預(yù)測控制算法、在線查表法以及采樣搜索優(yōu)化法。
3.1.1 人工勢場法
人工勢場法因其簡單直觀、規(guī)劃速度快且易滿足緊急避障算法實(shí)時要求的特點(diǎn),在運(yùn)動規(guī)劃技術(shù)發(fā)展早期被用于為故障安全操作提供應(yīng)激性緊急避障路徑。
1986年,Khatib[59]首次提出人工勢場算法并將其用于機(jī)器人路徑規(guī)劃。人工勢場算法原理如圖6所示,目標(biāo)點(diǎn)和障礙物分別對車輛產(chǎn)生引力和斥力;在引力與斥力疊加作用下,車輛在避障的同時趨向目標(biāo)路徑。人工勢場算法原理直觀、模型簡單、消耗計(jì)算資源極少,因此作為一種緊急工況下的應(yīng)激性避障約束方法具有計(jì)算速度極快的優(yōu)勢。在基本人工勢場法的基礎(chǔ)上,一些研究通過引入道路邊界斥力勢場[60]或道路中線引力勢場[61],使得緊急避障路徑遠(yuǎn)離道路邊界或車輛盡可能沿目標(biāo)車道中線行駛。
圖6 基于人工勢場的運(yùn)動規(guī)劃方法原理Fig. 6 Principle of motion planning based on artificial potential field
雖然人工勢場法計(jì)算響應(yīng)較快,但其顯著缺陷是易陷入局部最優(yōu)解而無法進(jìn)一步提升路徑規(guī)劃質(zhì)量。在解空間之中,局部最優(yōu)解處于斥力、引力平衡點(diǎn),往往導(dǎo)致規(guī)劃路徑的過早收斂或局部振蕩[62]。文獻(xiàn)[63]認(rèn)為緊急避障運(yùn)動規(guī)劃的首要任務(wù)仍是躲避障礙物,因此去除目標(biāo)引力勢場的作用以避免緊急避障路徑規(guī)劃陷入局部極值;與此同時,周圍障礙物的距離和自身車體運(yùn)動方向等信息被綜合起來,從而完善了對障礙物斥力勢場的建模過程。在距離相同的條件下,處于運(yùn)動方向的障礙物的威脅度要高于非運(yùn)動方向的,以避免緊急避障路徑規(guī)劃對障礙物反應(yīng)過度。
3.1.2 彈性帶算法
彈性帶(elastic band)算法最早由Durbin和Willshaw[64]提出,用以解決旅行商問題,后被廣泛應(yīng)用于機(jī)器人路徑規(guī)劃領(lǐng)域[65]。彈性帶算法將待規(guī)劃的路徑視為一條可靈活伸縮的彈性帶,彈性帶受到障礙物排斥且在自身伸長受到內(nèi)部阻抗力,斥力與阻力平衡條件下的彈性帶形態(tài)對應(yīng)著形態(tài)平滑優(yōu)美、長度較短的行車路徑。與人工勢場法類似,彈性帶算法計(jì)算速度極快,因此適用于緊急規(guī)避運(yùn)動規(guī)劃任務(wù)[66]。
文獻(xiàn)[67]將彈性帶算法引入到自動駕駛汽車的緊急避障路徑規(guī)劃問題解決方法中,通過三次樣條曲線對生成的路徑點(diǎn)列進(jìn)行插值,從而獲得符合車輛運(yùn)動學(xué)規(guī)律的緊急避障路徑。彈性帶算法的缺陷在于彈性帶的初始狀態(tài)決定了最終結(jié)果的同倫類別,這意味著彈性帶無法跨越障礙物,且被障礙物向著錯誤方向排斥至道路邊界以外,或者陷入多重障礙物之間。為解決同倫類別關(guān)聯(lián)的問題,文獻(xiàn)[68]通過沿左右車道設(shè)置兩條可選擇的初始路徑來確定多種同倫類別。文獻(xiàn)[69]首先擴(kuò)充備選彈性帶數(shù)目,N個障礙物的2N種不同繞行方式分別有對應(yīng)的彈性帶,篩選出橫向加速度最小的避障軌跡;并引入道路邊界排斥力,以避免緊急規(guī)避運(yùn)動規(guī)劃的路徑與道路邊界相撞。
上述基于彈性帶的緊急避障路徑規(guī)劃方法聚焦于確定道路行車的橫向偏移量,未能充分利用車輛的全部橫向縱向運(yùn)動潛力。另外,車輛在高速行駛情況下急打方向盤容易發(fā)生甩尾及側(cè)翻危險,因此在不考慮車輛非穩(wěn)態(tài)動力學(xué)模型的前提下直接規(guī)劃緊急規(guī)避路徑存在安全隱患。針對這一問題,文獻(xiàn)[70]為相鄰彈性帶節(jié)點(diǎn)賦予相同時間間隔,從而實(shí)現(xiàn)對轉(zhuǎn)向和制動策略的同時規(guī)劃,為車輛緊急避障提供更有力的安全保障。彈性帶算法的其他改進(jìn)策略已被應(yīng)用于多車協(xié)同避障[71]、高速緊急避障[72-73]及行人避障[74-75]等涉及故障安全的規(guī)劃任務(wù)中。
3.1.3 模型預(yù)測控制算法
模型預(yù)測控制(model predictive control,MPC)是一種以滾動求解最優(yōu)控制問題為特色的控制方法。相較其他古典控制律(例如比例-積分-微分控制[76]等),MPC的特點(diǎn)是在滾動優(yōu)化架構(gòu)中求解一個簡化的最優(yōu)控制問題。這一特點(diǎn)使得MPC可在考慮車輛運(yùn)動學(xué)或動力學(xué)特性的同時處理空間狀態(tài)變量的各種約束,往往也被作為一種運(yùn)動規(guī)劃方法,體現(xiàn)了一定的抗干擾魯棒性[77]。將MPC應(yīng)用于車輛緊急避障路徑規(guī)劃,可獲得符合車輛運(yùn)動學(xué)約束且可靠的結(jié)果[78-81]。
因MPC需要調(diào)用梯度優(yōu)化方法求解一個經(jīng)簡化形成的二次規(guī)劃(quadratic program,QP)問題,因此,相較人工勢場法或彈性帶方法,其計(jì)算速度往往更緩慢。為防止MPC方法的計(jì)算效率進(jìn)一步降低,上述QP問題一般不會包含精細(xì)的避障約束,這會導(dǎo)致車身與障礙物之間存在碰擦隱患。為解決緊急避障路徑規(guī)劃任務(wù)中的上述問題,文獻(xiàn)[82]引入以階躍函數(shù)為基礎(chǔ)的禁區(qū)邊界懲罰函數(shù),并根據(jù)車輛的尺寸確定禁區(qū)圓半徑,若模型預(yù)測過程中某一時刻車輛質(zhì)心落入禁區(qū)內(nèi),避障懲罰函數(shù)值將急劇增大,從而確保所生成的故障安全路徑成功避開障礙物。
車輛在極限情況下緊急避障時,躲避障礙物與保持車輛穩(wěn)定未必能夠同時實(shí)現(xiàn),因此當(dāng)二者發(fā)生沖突時需調(diào)配優(yōu)先級。文獻(xiàn)[83]使用BP神經(jīng)網(wǎng)絡(luò)來動態(tài)決策目標(biāo)函數(shù)中避障懲罰項(xiàng)和穩(wěn)定性懲罰項(xiàng)的權(quán)重,當(dāng)車輛存在碰撞風(fēng)險時,避障懲罰項(xiàng)將被賦予較大權(quán)重以優(yōu)先滿足避障需求。文獻(xiàn)[84]將避障條件和車輛穩(wěn)定性條件作為MPC中的約束,并分別引入松弛變量予以軟化,避免在避障和車輛穩(wěn)定性約束兩者發(fā)生沖突時發(fā)生求解失敗[85],在目標(biāo)函數(shù)中被賦予更大權(quán)重的避障約束松弛因子將迫使故障安全路徑違反車輛穩(wěn)定性約束,從而保證避障。除緊急避障方案外,上述松弛方案旨在保障運(yùn)動規(guī)劃的成功率,這也是所鼓勵的一種故障安全運(yùn)動規(guī)劃理念。
3.1.4 在線查表法
當(dāng)決策模塊發(fā)生故障的典型外部原因是環(huán)境發(fā)生突變時,其導(dǎo)致正常的運(yùn)動規(guī)劃命題不再有解,此時自動駕駛汽車通常處于危急的境地之中,這意味著故障安全運(yùn)動規(guī)劃方法必須在極短時間內(nèi)形成應(yīng)激性的緊急避險行車方案。除計(jì)算時效性之外,理想的故障安全運(yùn)動規(guī)劃方法必須充分考慮車輛的運(yùn)動學(xué)/動力學(xué)規(guī)律,否則將生成一條不易被跟蹤執(zhí)行、無實(shí)際意義的避障軌跡。人工勢場法、彈性帶算法雖然計(jì)算實(shí)時性極強(qiáng),但并未對車輛運(yùn)動學(xué)規(guī)律顯式建模,生成的路徑未必易于跟蹤;MPC方法雖然能夠體現(xiàn)車輛運(yùn)動學(xué)甚至是動力學(xué)約束,但計(jì)算量較大,因此實(shí)時性較差。事先離線生成備選軌跡數(shù)據(jù)庫并進(jìn)行在線查表的方法有望同時滿足故障安全運(yùn)動規(guī)劃的實(shí)時性和易跟蹤性要求。
在以緊急駐車為目標(biāo)的故障安全運(yùn)動規(guī)劃中,文獻(xiàn)[86-87]對初始車速和停車點(diǎn)進(jìn)行離散化采樣枚舉后,采用計(jì)算最優(yōu)控制方法離線生成數(shù)條“換道+減速停車”軌跡并存入數(shù)據(jù)庫。在緊急情況發(fā)生時,從數(shù)據(jù)庫中調(diào)取符合初始車速條件的軌跡進(jìn)行在線碰撞檢測和代價評估,篩選出最佳軌跡作為故障安全運(yùn)動規(guī)劃的結(jié)果。
3.1.5 采樣搜索-優(yōu)化算法
采樣搜索-優(yōu)化方法屬于更加徹底的MPC方法,其首先采用采樣搜索方法確定同倫類別,隨后以熱啟動的方式實(shí)施計(jì)算最優(yōu)控制,從而得到數(shù)值最優(yōu)軌跡。該方法的優(yōu)點(diǎn)在于可規(guī)劃出符合車輛運(yùn)動學(xué)約束、安全且舒適的軌跡,但其計(jì)算實(shí)時性低于MPC方法的。為保證實(shí)時求解故障安全停車軌跡,文獻(xiàn)[88]將路徑和速度規(guī)劃解耦以簡化運(yùn)動規(guī)劃計(jì)算復(fù)雜度;為避免速度規(guī)劃問題引入精細(xì)碰撞約束而導(dǎo)致優(yōu)化求解緩慢,通過混合A*算法在“位移-速度-時間”三維離散狀態(tài)空間中采樣搜索得到的粗糙結(jié)果來構(gòu)建線性碰撞約束,使得速度規(guī)劃問題轉(zhuǎn)化為QP問題,從而得以快速求解。
基于被動緊急規(guī)避策略的方法并未對周圍環(huán)境惡化情況進(jìn)行及時預(yù)判,因此可能將車輛引入決策模塊難以處理的危險處境中,嚴(yán)重情況下甚至?xí)管囕v進(jìn)入不可避免的碰撞狀態(tài)(inevitable collision states,ICS)[40,89],即無論車輛執(zhí)行何種軌跡,碰撞終將發(fā)生?;谥鲃宇A(yù)防碰撞策略的故障安全運(yùn)動規(guī)劃方法旨在對故障發(fā)生的隱患進(jìn)行提前預(yù)判,從而提前采取規(guī)避風(fēng)險的行動。
2016年,基于主動預(yù)防碰撞策略的故障安全運(yùn)動規(guī)劃算法被首次提出[90-91]。圖7示出該算法在相鄰兩時刻(ti和ti+1)的規(guī)劃過程。該算法在每個時刻采用基于計(jì)算最優(yōu)控制方法生成名義軌跡和故障安全軌跡。名義軌跡僅對交通參與者的未來狀態(tài)進(jìn)行簡單預(yù)估,該軌跡在較長時域Th1內(nèi)引導(dǎo)車輛正常行駛。故障安全軌跡對應(yīng)較短時域Th2,其基于計(jì)劃軌跡(名義軌跡前t′時間部分)進(jìn)行運(yùn)動規(guī)劃,以規(guī)避其他交通參與者的可達(dá)區(qū)域。該可達(dá)區(qū)域采用基于集合的預(yù)測方法[43,92]對交通參與者在運(yùn)動能力范圍內(nèi)的所有可能行駛行為做出了保守估計(jì),使得計(jì)劃軌跡和故障安全軌跡的安全性得到保障。
圖7 基于主動預(yù)防碰撞策略的故障安全運(yùn)動規(guī)劃Fig. 7 Fail-safe motion planning based on active collision prevention strategy
主動預(yù)防碰撞策略的關(guān)鍵思路如圖7(b)所示。在ti+1時刻,只有同時存在合法的計(jì)劃軌跡及其對應(yīng)的故障安全軌跡時,車輛才被允許正常執(zhí)行計(jì)劃軌跡;否則決策模塊將因存在故障隱患而觸發(fā)故障安全機(jī)制,立即執(zhí)行所計(jì)算的ti時刻故障安全軌跡而緊急駐車,及時采取保守駕駛行為以避免決策模塊處理復(fù)雜棘手的外部環(huán)境。該算法的缺點(diǎn)在于使用基于計(jì)算最優(yōu)控制與基于集合的方法計(jì)算軌跡和可達(dá)區(qū)域,會導(dǎo)致計(jì)算量大且無法滿足算法實(shí)時性要求[93]。此外,若處于較為狹窄的道路環(huán)境中,對可達(dá)區(qū)域過于保守的估計(jì)將不利于行駛效率的提升。
文獻(xiàn)[93-99]對文獻(xiàn)[91-92]提出的故障安全運(yùn)動規(guī)劃算法不斷改進(jìn)。文獻(xiàn)[93]采用凸優(yōu)化理論[94]將故障安全運(yùn)動規(guī)劃問題轉(zhuǎn)化為橫縱方向分別求解問題,由此得到的QP問題可被快速求解,從而有利于保證規(guī)劃的實(shí)時性,但分別對橫縱方向運(yùn)動進(jìn)行規(guī)劃在一定程度上會犧牲運(yùn)動規(guī)劃的靈活性[95-96]。文獻(xiàn)[97]通過對交通參與者之間的相互關(guān)系進(jìn)行分析,更合理地推測交通參與者的運(yùn)動軌跡,從而修剪可達(dá)區(qū)域中的冗余部分,盡量避免因估計(jì)的可達(dá)區(qū)域過大而使得故障安全軌跡的規(guī)劃顯得保守。文獻(xiàn)[98]在碰撞檢測中,采用從簡單到復(fù)雜的運(yùn)動模型來逐步描述交通參與者的可達(dá)區(qū)域,并對前一時刻可達(dá)區(qū)域的計(jì)算結(jié)果進(jìn)行復(fù)用,以降低對計(jì)算資源的消耗量,從而保證算法的實(shí)時性;采用任意時刻策略與主動預(yù)防碰撞策略相結(jié)合的方案,可在計(jì)算資源有限的情況下保證車輛的安全性。文獻(xiàn)[99]考慮計(jì)算安全跟蹤名義軌跡的最大時間窗口,在保證故障安全軌跡存在的前提下充分拓展計(jì)劃軌跡的時域t′,從而降低計(jì)算故障安全軌跡的頻次,該方法適用于道路上行人、車輛數(shù)量較少且相距較遠(yuǎn)的情況。
本章重點(diǎn)回顧控制模塊故障情況下的運(yùn)動規(guī)劃方法,包括以制動停車為目的的速度規(guī)劃方法和容錯控制方法。需要注意的是,本章所涉及的一些容錯控制方法在底盤執(zhí)行機(jī)構(gòu)失效時承擔(dān)了部分運(yùn)動規(guī)劃的職責(zé),因此將這些容錯控制方法視為故障安全運(yùn)動規(guī)劃方法并加以分析。
文獻(xiàn)[100-101]提出一種由備份的樹莓派電腦提供計(jì)算能力的制動停車系統(tǒng),在故障發(fā)生時,該系統(tǒng)假設(shè)前輪將被固定在某一角度,然后根據(jù)實(shí)時行駛路況求解最優(yōu)的制動液壓缸閥門位置序列,從而實(shí)現(xiàn)速度規(guī)劃,避免因緊急停車而發(fā)生車輛失控和追尾等危險,并盡可能使停車位置遠(yuǎn)離危險區(qū)域(鐵道口、十字路口及正常行駛的高速車道等)。
一些有關(guān)車輛容錯控制的研究針對轉(zhuǎn)向系統(tǒng)故障設(shè)計(jì)了具有容錯功能的控制器,并基于故障信息重構(gòu)車輛運(yùn)動控制模型,為自動駕駛提供冗余行駛的能力,實(shí)際上承擔(dān)了故障安全運(yùn)動規(guī)劃的工作。文獻(xiàn)[102]在基于四輪轉(zhuǎn)向的車輛發(fā)生前輪或者后輪轉(zhuǎn)向系統(tǒng)故障時,改用后輪或前輪轉(zhuǎn)向控制模型繼續(xù)進(jìn)行車輛運(yùn)動控制,避免因盲目停車導(dǎo)致正常行駛的道路擁堵而發(fā)生事故。文獻(xiàn)[103]針對輪內(nèi)電機(jī)驅(qū)動車輛的轉(zhuǎn)向系統(tǒng)故障提出一種利用差動轉(zhuǎn)向[104]控制四輪的轉(zhuǎn)矩輸出來實(shí)現(xiàn)車輛運(yùn)動控制的方法。文獻(xiàn)[105]在轉(zhuǎn)向系統(tǒng)故障時利用差動制動產(chǎn)生減速度和偏航力矩,控制車輛的橫縱向動態(tài)并引導(dǎo)車輛安全靠邊停車。文獻(xiàn)[106-110]則在轉(zhuǎn)向系統(tǒng)故障時通過給前軸兩輪施加不同的驅(qū)動力矩促使前輪發(fā)生轉(zhuǎn)向,利用差動輔助轉(zhuǎn)向[111-112]實(shí)現(xiàn)車道保持和路徑跟蹤控制。
文獻(xiàn)[113-114]對速度傳感器故障時的縱向運(yùn)動容錯控制進(jìn)行研究,觀測故障信號的誤差并對其進(jìn)行補(bǔ)償,以避免因輸出錯誤控制量而導(dǎo)致追尾、翻車等事故,從而實(shí)現(xiàn)故障安全縱向運(yùn)動規(guī)劃。
故障安全運(yùn)動規(guī)劃將成為自動駕駛產(chǎn)品品質(zhì)控制的重要環(huán)節(jié),以下問題在今后的研究中將值得關(guān)注:
(1)對車輛故障進(jìn)行準(zhǔn)確、快速診斷是故障安全運(yùn)動規(guī)劃方法得以順利實(shí)現(xiàn)的重要前提。如何在故障無法被準(zhǔn)確診斷的不確定性條件下設(shè)計(jì)合理的故障安全運(yùn)動規(guī)劃方案,這是一個具有現(xiàn)實(shí)意義的科學(xué)問題。
(2)故障安全運(yùn)動規(guī)劃的能力邊界需要被清晰地界定。隨著智能車的不斷發(fā)展,車輛的故障類型將增加,故障組合情況數(shù)目也會相應(yīng)增加,而決策規(guī)劃領(lǐng)域相關(guān)技術(shù)也在不斷發(fā)展。因此,應(yīng)設(shè)計(jì)一些相對穩(wěn)定的原則與準(zhǔn)則去判斷某類故障是否適合由故障安全運(yùn)動規(guī)劃方法處理。另外,必須指出的是,故障安全運(yùn)動規(guī)劃方法的使用將會導(dǎo)致一些自動駕駛中的故障情況被掩蓋,不利于自動駕駛車端模塊的隱患排查。因此,故障安全運(yùn)動規(guī)劃適合被部署在一些相對成熟的自動駕駛車輛系統(tǒng)之中。
(3)故障安全運(yùn)動規(guī)劃技術(shù)的發(fā)展應(yīng)堅(jiān)持兼顧多重因素,協(xié)調(diào)計(jì)算實(shí)時性與軌跡質(zhì)量(即運(yùn)動學(xué)/動力學(xué)可行性)之間的矛盾以及冗余安全性與行車高效性之間的矛盾。筆者認(rèn)為,3.1.4節(jié)所述的在線查表方法是目前在工程實(shí)踐中最有希望被應(yīng)用的方案,它可以兼顧上述多重技術(shù)開發(fā)訴求。在沿襲該方案的基礎(chǔ)上,針對性地研發(fā)專用處理器硬件也是值得重視的故障安全運(yùn)動規(guī)劃技術(shù)發(fā)展方向之一。
(4)故障安全運(yùn)動規(guī)劃的結(jié)果對車輛系統(tǒng)以及外部環(huán)境未來影響的推演值得重視。例如,在車輛前輪偏轉(zhuǎn)機(jī)構(gòu)部分失效的故障條件下,特定類型的前輪偏轉(zhuǎn)角度指令可能會造成偏轉(zhuǎn)機(jī)構(gòu)的進(jìn)一步損害,導(dǎo)致車輛故障進(jìn)一步演化;車輛在執(zhí)行緊急規(guī)避動作時,也應(yīng)充分考慮周圍社會車輛的未來交互式應(yīng)對行為。上述因素復(fù)雜程度極高,幾乎無法直接構(gòu)建于運(yùn)動規(guī)劃模型之中進(jìn)行求解,因此應(yīng)設(shè)計(jì)全新的計(jì)算架構(gòu)來處理復(fù)雜的故障安全運(yùn)動規(guī)劃任務(wù)。
(5)燈光與鳴笛是人類駕駛員操縱車輛運(yùn)動過程中的交互式溝通方式,巧妙的燈光與鳴笛操作有望高效地替代被動的規(guī)避行駛動作。從長遠(yuǎn)來看,廣義的故障安全運(yùn)動規(guī)劃應(yīng)將燈光與鳴笛操作納入決策變量范圍之內(nèi)。
(6)在自動駕駛網(wǎng)聯(lián)化發(fā)展的趨勢下,利用車輛編隊(duì)整體能力對編隊(duì)中個別車輛出現(xiàn)故障的情況進(jìn)行彌補(bǔ)是一項(xiàng)極具研究潛力的議題。
自動駕駛運(yùn)動規(guī)劃技術(shù)在近年來已取得了長足進(jìn)步,但故障安全運(yùn)動規(guī)劃方法仍值得深入探究。本文從自動駕駛車端感知、決策及控制三大模塊發(fā)生故障的角度對現(xiàn)有的故障安全運(yùn)動規(guī)劃方法進(jìn)行了分類、梳理與分析。
隨著自動駕駛技術(shù)的成熟及其產(chǎn)業(yè)化進(jìn)程的推進(jìn),故障安全運(yùn)動規(guī)劃將在安全保障方面發(fā)揮愈發(fā)重要的作用。本文旨在為從事該領(lǐng)域研究的學(xué)者提供開展研究的參考,并呼吁更多學(xué)者與我們一道投身此研究領(lǐng)域中。