[首發(fā)于智駕最前沿微信公眾號]在自動駕駛里,規(guī)劃系統(tǒng)相當(dāng)于在“知道周圍環(huán)境”之后負(fù)責(zé)做決定的那一部分,類似于人類的“大腦”。感知模塊把攝像頭、雷達(dá)、激光雷達(dá)等傳感器“看”到的東西變成信息,定位模塊告訴車輛自己在哪里,預(yù)測模塊判斷周圍環(huán)境交通參與者的動作可能怎么變化。規(guī)劃要把這些信息綜合起來,回答兩件事,即車要走哪條路以及要以什么樣的速度和姿態(tài)去走。
規(guī)劃不僅要給出如是否變道、是否減速或等待等策略性的動作,也要把策略細(xì)化成可以執(zhí)行的軌跡和速度曲線,然后把這些命令交給控制器去執(zhí)行。設(shè)計(jì)一個(gè)好的規(guī)劃系統(tǒng),要在安全、舒適和效率之間找到平衡,同時(shí)滿足交通規(guī)則,并能在突發(fā)情況下快速作出可靠反應(yīng)。
規(guī)劃依賴哪些輸入,以及如何處理不確定性
規(guī)劃系統(tǒng)的工作并不是憑空決定,它高度依賴外界和自身的狀態(tài)信息。定位和地圖提供路網(wǎng)結(jié)構(gòu)、車道信息、限速和路口細(xì)節(jié)等語義數(shù)據(jù),這些對復(fù)雜路口和長距離行駛非常有幫助。感知負(fù)責(zé)把周圍車輛、行人和障礙物的位置、速度和朝向等信息傳遞給自動駕駛系統(tǒng),但感知本身并不完美,會有延遲、誤檢或漏檢等風(fēng)險(xiǎn)。面對這種不確定性問題,自動駕駛系統(tǒng)會在輸入端做融合和濾波,讓狀態(tài)估計(jì)更穩(wěn)定。預(yù)測模塊通常不會只給一個(gè)確定性的未來軌跡,而是輸出多個(gè)可能性或概率分布,規(guī)劃在使用這些預(yù)測結(jié)果時(shí)會考慮其置信度,把風(fēng)險(xiǎn)高的情形視為需要更保守處理的條件。此外,車輛自身的動力學(xué)極限、轉(zhuǎn)向能力和能量狀況也會約束可執(zhí)行的軌跡,規(guī)劃要保證輸出不僅理論上可行,也能被車輛實(shí)際執(zhí)行。
決策與軌跡生成的常見技術(shù)路線
規(guī)劃一般分成行為層和運(yùn)動層兩個(gè)層次。行為層負(fù)責(zé)比較抽象的決策,如是否變道、是否在交叉口給行人讓行或者采取超車策略,運(yùn)動層把這些決策在考慮車輛動力學(xué)約束的前提下轉(zhuǎn)化為具體的軌跡和速度曲線。
行為層有時(shí)使用可解釋性強(qiáng)的規(guī)則或狀態(tài)機(jī)來實(shí)現(xiàn),這類方法在驗(yàn)證和合規(guī)上更容易操作,但規(guī)則數(shù)量會隨場景復(fù)雜度增長而快速膨脹。近年來,學(xué)習(xí)方法被用來補(bǔ)充或生成行為候選,尤其是在常見場景中能提高靈活性,但出于可驗(yàn)證性的考慮,實(shí)際使用時(shí)常把學(xué)習(xí)模塊作為建議器,最終決策仍然由可控的優(yōu)化器或規(guī)則層篩選。
運(yùn)動層的實(shí)現(xiàn)手段比較多樣,既有基于搜索的路線規(guī)劃用于全局導(dǎo)航,也有用于局部避障的采樣方法和基于優(yōu)化的連續(xù)軌跡生成方法?;趦?yōu)化的方法可以把舒適性、碰撞約束和動力學(xué)限制統(tǒng)一建模,通過求解最優(yōu)值來獲得平滑連貫的軌跡。模型預(yù)測控制由于能把未來一段時(shí)間的受約束運(yùn)動問題在線求解,常被用于聯(lián)合考慮速度和轉(zhuǎn)向的聯(lián)合作業(yè),這使得車輛在執(zhí)行規(guī)劃時(shí)更接近理想狀態(tài)。在技術(shù)落地時(shí),常把幾種方法結(jié)合使用,用快速采樣生成候選軌跡,再用較高質(zhì)量的優(yōu)化器精化選擇,從而在保證實(shí)時(shí)性的同時(shí)提高規(guī)劃的質(zhì)量。
安全性、魯棒性與與其它模塊的協(xié)同
對于規(guī)劃系統(tǒng)來說,單純把算法堆在一起是遠(yuǎn)遠(yuǎn)不夠的,真正工業(yè)應(yīng)用的規(guī)劃系統(tǒng)要把安全性、可驗(yàn)證性和實(shí)時(shí)性做成工程級別。規(guī)劃系統(tǒng)常常會采用多層防護(hù),第一層是常規(guī)規(guī)劃輸出;第二層是基于碰撞檢測和安全緩沖區(qū)的在線規(guī)避器;第三層是最低風(fēng)險(xiǎn)動作(Minimal Risk Maneuver),當(dāng)感知丟失或發(fā)現(xiàn)不可控風(fēng)險(xiǎn)時(shí),車輛能以可控方式??炕驕p速到安全狀態(tài)。碰撞檢測通?;趲缀文P停ò鼑?、圓形近似)加時(shí)間維度的占據(jù)預(yù)測,在線做快速可達(dá)性(reachability)分析或保守的安全距離估算。
在魯棒性方面,需要考慮傳感器噪聲、丟幀、地圖差異、天氣影響以及長尾極端場景。可以應(yīng)對的策略包括把概率論方法(如POMDP)或分布式健壯規(guī)劃引入決策鏈路,使用更保守的成本函數(shù),或在規(guī)劃中顯式考慮預(yù)測的不確定性。另外,在線重規(guī)劃和回溯機(jī)制是非常有必要的,當(dāng)環(huán)境發(fā)生變化時(shí),規(guī)劃器需要以很低的延遲重新生成軌跡,并保證切換時(shí)的連續(xù)性,避免出現(xiàn)“蹦車”式的激烈動作。
對于自動駕駛汽車來說,實(shí)時(shí)性是非常重要的參考因素。規(guī)劃通常以幾十毫秒到幾百毫秒的周期運(yùn)行,具體頻率取決于所處的層級,局部軌跡生成通常在20 ms~100 ms級別循環(huán),行為決策可能在幾百毫秒到秒級。由于計(jì)算資源有限,很多系統(tǒng)采用分層架構(gòu)并做近似以降低在線計(jì)算量,比如先用快速的采樣得到候選軌跡,然后在候選集中運(yùn)行高質(zhì)量的優(yōu)化器精化最優(yōu)解。此外,仿真和大規(guī)模場景回放也是不可或缺的驗(yàn)證手段,通過數(shù)百萬公里的仿真來覆蓋長尾工況并對規(guī)劃策略進(jìn)行打分和改進(jìn)。
最后的話
規(guī)劃不是孤立的模塊,它需要和預(yù)測、感知、控制緊密協(xié)同。預(yù)測模塊提供其他道路使用者的未來軌跡分布,規(guī)劃利用這些分布做出既安全又效率高的選擇。感知負(fù)責(zé)及時(shí)發(fā)現(xiàn)障礙并把信息送進(jìn)規(guī)劃管線,感知的延遲或誤差會直接影響規(guī)劃策略的保守程度??刂破鲃t要能準(zhǔn)確執(zhí)行規(guī)劃出來的軌跡,控制的追蹤誤差會反過來被規(guī)劃考慮進(jìn)約束里(例如規(guī)劃時(shí)留出控制誤差邊界)。自動駕駛的規(guī)劃系統(tǒng)是算法、控制理論、概率方法和工程實(shí)現(xiàn)細(xì)節(jié)的集合體。要做到既安全又舒適并能夠覆蓋現(xiàn)實(shí)中的復(fù)雜場景,僅靠單一技術(shù)是不夠的,需要把多種方法融合起來并通過大量仿真與路測不斷打磨。