在第4期Apollo自動駕駛公開課中,來自Apollo團(tuán)隊的高級研發(fā)工程師-詹錕老師為大家?guī)砹岁P(guān)于Apollo 2.5預(yù)測系統(tǒng)的內(nèi)容分享。
詹錕老師主要從三個方面講解了Apollo 2.5的預(yù)測系統(tǒng):
第一自動駕駛為什么需要預(yù)測,預(yù)測的作用是什么,如果沒有預(yù)測會怎樣;
第二從代碼層面詳述Apollo的預(yù)測系統(tǒng)代碼是如何實(shí)現(xiàn)的,每個模塊的功能,如果開發(fā)者要改動或者修改應(yīng)該怎么介入;
第三Apollo預(yù)測系統(tǒng)在實(shí)際場景中所遇到的困難,以及解決方案。
這里,我們將整理后的公開課視頻和資料分享給大家,沒能到達(dá)現(xiàn)場的開發(fā)者可以通過視頻和PPT資料來詳細(xì)了解課程內(nèi)容。
Apollo 2.5預(yù)測系統(tǒng)介紹
預(yù)測模塊是連接感知和決策規(guī)劃的橋梁,結(jié)合物理世界的人類行為習(xí)慣進(jìn)行適當(dāng)?shù)倪壿嬐评?,將周圍障礙物下一時刻和后續(xù)多個時刻的運(yùn)動行為進(jìn)行估計,給出對應(yīng)可能的運(yùn)動軌跡線。
詹錕老師主要從代碼層面剖析Apollo2.5的預(yù)測系統(tǒng)。
Apollo代碼架構(gòu)預(yù)測部分分為3個部分,第一個是Container,作用是合理規(guī)劃整合上游數(shù)據(jù),處理歷史信息;第二部分是評估、評價,是預(yù)測系統(tǒng)的核心,非常適用于神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí),建立合理模型,使其找到人類的歷史行為軌跡,預(yù)測路線。通過第二部分的推理,系統(tǒng)會繪制出物體的行為軌跡,并將結(jié)果傳遞給決策規(guī)劃層。
Container
首先是Container, ADC trajectory可以通過路權(quán)做合理的推理,讓障礙物不直接發(fā)生預(yù)測。第二是構(gòu)建來自感知障礙物、定位和高精圖等序列化特征。第三是本車的狀態(tài)。除了上面的特征抽取以外,更重要一步是需要把地圖信息進(jìn)行合理的規(guī)劃。
如何在復(fù)雜的物理世界中,把地圖數(shù)據(jù)進(jìn)行合理的刻畫,這是非常重要的步驟。通過把每條Lane,拆分成小的Lane,Lane1、Lane2、Lane3,按照前后級關(guān)系,組成具體的序列,每個序列上車都可以沿著其中一個序列進(jìn)行走,就是這個車的軌跡線。上圖可以看到紅車有可能走三條軌跡線,就是Lane1、Lane2、Lane3,根據(jù)當(dāng)前的地圖信息和當(dāng)前的Lane的位置狀態(tài),刻畫出這樣具有特征表達(dá)的地圖信息出來,只有物理識別信息進(jìn)行合理表達(dá),才能進(jìn)行網(wǎng)絡(luò)學(xué)習(xí)、數(shù)據(jù)驅(qū)動,這是根據(jù)地圖特征信息抽取非常重要的部分。
在Apollo代碼里,表達(dá)出每個特征的特性,如上圖左邊是關(guān)于障礙物的特征,包含了車的位置信息、速度信息、加速信息、位置方向還有它的長、寬、高等等,右邊是代表它的Lane信息,把細(xì)小的Lane,組成Lane feature。這就是Container需要做的事情。
Evaluator
第二部是邏輯推理階段,這也是預(yù)測直接使用神經(jīng)網(wǎng)絡(luò)的方式。就Apollo來說,對車輛進(jìn)行了深度神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)。具體來講,結(jié)構(gòu)如圖所示,將每個障礙物各自特征輸入給LSTM的模型,每個LSTM對特征信息進(jìn)行了全連接,最后輸出走這一條LSTM。第一規(guī)劃Lane橫向行為的分類情況,選擇是否走此Lane,選擇Lane1還是Lane2。第二是它的動力學(xué),速度是什么樣的,就是它縱向的問題。第一是分類問題,同時結(jié)合在一個神經(jīng)網(wǎng)絡(luò)中,這是Apollo 2.5的神經(jīng)網(wǎng)絡(luò)。
前面有兩種預(yù)測方式,開發(fā)者可以根據(jù)自己的特性選擇自己的評價網(wǎng)絡(luò),只是這個結(jié)構(gòu)可以根據(jù)Apollo配置。
Predictor
選擇某條Lane或者知道Lane上面的速度以后,可以繪制出這個物體在Lane的行為軌跡,具體怎么繪制,有以下三種方式:一個是Free move,根據(jù)障礙物的動力學(xué)模型繪制出軌跡。第二是Lane sequence,就是根據(jù)車道中心線和Kalman濾波方法繪制的軌跡。第三是Move sequence,結(jié)合里學(xué)和車道信息融合后降采樣的軌跡方式。第四是Regional,根據(jù)障礙物動力學(xué)和軌跡3Sigma方差構(gòu)建的區(qū)域軌跡。
Apollo Data
數(shù)據(jù)開發(fā)者來說是非常重要的一部分,Apollo開放的數(shù)據(jù)對預(yù)測有很好的作用,基于Apollo Data,可以通過自己采集以及周圍開發(fā)者共享數(shù)據(jù)進(jìn)一步開發(fā)預(yù)測模型 。
Apollo Data的數(shù)據(jù)使用規(guī)范:
使用SL坐標(biāo)系,車在軌道上做相對軌道的刻劃,然后確定要走的車道線每一個車道的狀態(tài)。通過這樣的數(shù)據(jù)結(jié)構(gòu),給特定的Lane,檢測它到底走沒走這條線,通過這樣的數(shù)據(jù)訓(xùn)練模型,通過數(shù)據(jù)驅(qū)動方式,可能就非常貼切的表達(dá)出人類的駕駛行為習(xí)慣,而不是通過規(guī)則算法來做。
實(shí)際效果
通過動圖了解一下其效果:
自行車過馬路的時候,本來應(yīng)該是紅燈變綠燈了,然后它應(yīng)該在原地等待車輛駛過,但是其選擇了闖紅燈,系統(tǒng)能很好的給出預(yù)測線,這在預(yù)測場景是非常好的應(yīng)用。
在無人車加速過路口的時候,有一個被隔離帶遮擋的障礙物出現(xiàn)了,同時其也選擇在無人車之前搶過這個路口,因此此時必須要有預(yù)測提前給主車提供這樣的信號,讓主車能及時做反應(yīng),而不是發(fā)生更危險的情況,這就是預(yù)測在承上啟下作用中,有非常好的范圍。
其實(shí)在中國的這些道路場景中,預(yù)測其實(shí)還遇到了非常多困難,最大的挑戰(zhàn)預(yù)測其實(shí)是在路口上。路口有很多種行為方式,比如一個車道既可以調(diào)頭,也可以左轉(zhuǎn),也可以直行,還有各種社會車輛不按軌跡行走,這其實(shí)也是對預(yù)測有非常大的困難。如圖左側(cè)車輛并沒有按照真正的軌跡走,這樣的場景對主車是非常大的威脅,理論上從交規(guī)上肯定是他們的過錯,但是主車一切以安全為先,所以主車必須避讓。對這樣的場景,預(yù)測還是有很多困難。
第二場景是博弈的問題,低速過程中往往發(fā)生博弈現(xiàn)象,到底是哪輛車先走,這個情況是非常常見。如圖中,兩輛車都在等待對方先行,一方先行后,另一方又要開始行駛,所以需要進(jìn)行上下游的溝通,才能進(jìn)行更好的處理。
第三個場景是切車,有一些車輛行為比較暴躁,會在非常不合理的情況下急速加塞進(jìn)來,導(dǎo)致主車處于很不安全的狀態(tài),從規(guī)則上并沒有問題,但是這種場景對于自動駕駛也是要盡量躲讓,這時預(yù)測需要更好刻畫出駕駛行為是不是很危險、激進(jìn)。
這種典型的挑戰(zhàn)場景,其實(shí)還有很多,整個預(yù)測的問題也分為這兩部分,一個是內(nèi)部挑戰(zhàn),一個是外部挑戰(zhàn),內(nèi)部挑戰(zhàn)主要是數(shù)據(jù)怎么能把所有的特征表達(dá)充分,模型是否在建立的非常合理,是不是還有更好的建模方式,這都是內(nèi)部的挑戰(zhàn)。
同時既然是承上啟下的模塊,對上游數(shù)據(jù)的容忍度、依賴性都需要做一些處理,上游如果感知發(fā)出了消息,系統(tǒng)應(yīng)該怎么根據(jù)歷史信息做很好的規(guī)避?做很好的容錯,這也是一個挑戰(zhàn)。同時像博弈問題,需要給下游決策做一些很好的交互,怎么提醒它先避讓還是先加速過去,這也是給預(yù)測帶來了非常多困難。
后續(xù)Apollo預(yù)測還是要不斷迭代更新,具體來說,會在特征方面做更多的融合處理,利用歷史信息,除了考慮當(dāng)前的障礙物,還要考慮周圍所有障礙物,對全局進(jìn)行估計。另外模型的迭代,同時數(shù)據(jù)積累,把仿真和真實(shí)打通,作為系統(tǒng)整合,需要上下游的聯(lián)系,通過多個維度,對預(yù)測模塊進(jìn)行整合,這是后續(xù)Apollo需要做的事情。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4814瀏覽量
103562 -
Apollo
+關(guān)注
關(guān)注
5文章
348瀏覽量
18855
原文標(biāo)題:?自動駕駛公開課 | Apollo 2.5預(yù)測系統(tǒng)介紹
文章出處:【微信號:zuosiqiche,微信公眾號:佐思汽車研究】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
智能電網(wǎng)預(yù)測負(fù)荷波動的影響
如何對Apollo2.5 CANBUS進(jìn)行全面調(diào)試?
Ambiq Apollo4的相關(guān)資料推薦
Apollo Heritage版音頻接口附帶的插件
Apollo 2.5版基于相對地圖的新導(dǎo)航模式

關(guān)于Apollo“云+端”的實(shí)戰(zhàn)內(nèi)容, Apollo 2.0 實(shí)戰(zhàn)技術(shù)基礎(chǔ)
百度發(fā)布Apollo 2.5,傳感器解決方案成本更低
百度Apollo周年_“數(shù)據(jù)”才是真正的主角
百度Apollo2.5全球首發(fā):比亞迪成第100位合作伙伴,進(jìn)一步提升自動駕駛安全性
淺析Apollo 2.5限定場景低成本技術(shù)方案
關(guān)于Apollo3.0 PnC更新以及車輛開放平臺的講解
基于規(guī)則的預(yù)測算法和基于機(jī)器學(xué)習(xí)的預(yù)測算法
apollo系列之apollo2 mcu開發(fā)(基礎(chǔ)篇)之1.1-apollo2 mcu簡介

評論