今天,Udacity的員工David Silver在外媒Medium上發(fā)文,科普了Udacity自動(dòng)駕駛技術(shù)中的四個(gè)子系統(tǒng)。這份介紹輕快簡明,條理清晰,是篇不錯(cuò)的自動(dòng)駕駛?cè)腴T讀物。
在我工作的Udacity有一輛無人車,我們叫她Carla。
整體來說,Carla上主要有四個(gè)子系統(tǒng),分別為傳感(Sensor)系統(tǒng),感知(Perception)系統(tǒng),決策(Planning)系統(tǒng)和控制(Control)系統(tǒng)。接下來我將為大家一一講解Udacity的無人車是如何通過這些技術(shù)工作的。
每個(gè)系統(tǒng)中都包含很多小環(huán)節(jié)
傳感(Sennor)
Carla的傳感器系統(tǒng)中含有從環(huán)境中收集數(shù)據(jù)的物理硬件。
例如,Carla擋風(fēng)玻璃的頂部安裝了一些相機(jī),用戶能根據(jù)需要調(diào)整相機(jī)的數(shù)量。通常情況下,1到3個(gè)相機(jī)會(huì)排成一排。
擋風(fēng)玻璃上的相機(jī)
Calar自帶一個(gè)嵌入至保險(xiǎn)杠的前置雷達(dá),此外,車頂上還安裝了一個(gè)360度激光雷達(dá),是收集環(huán)境數(shù)據(jù)的主力。
激光雷達(dá)傳感器(左)和采集到的點(diǎn)云數(shù)據(jù)(右)
有時(shí)Carla也會(huì)用到其他傳感器,比如GPS、IMU和超聲波雷達(dá)等。從這些傳感器中收集到的數(shù)據(jù)匯將交由感知器處理。
感知(Perception)
Carla的感知子系統(tǒng)負(fù)責(zé)將原始的傳感器數(shù)據(jù)轉(zhuǎn)換成有意義的環(huán)境信息。根據(jù)功能不同,我們可將感知系統(tǒng)的組件分為兩個(gè)區(qū)塊:檢測模塊與定位模塊,兩者各司其職。
檢測模塊需要從傳感器的環(huán)境信息中檢測車輛外部的物體,包括信號(hào)燈的檢測與分類、物體檢測與追蹤和自由空間探測?!?/p>
車輛、行人、信號(hào)燈、指示牌……不同類別的物體被不同顏色的檢測框圈起
定位模塊告訴我們車輛的具體位置,這是一項(xiàng)聽起來容易但做起來難的事。Carla自帶的全球定位系統(tǒng)(GPS)幫助準(zhǔn)確定位,但GPS的精度只能精確到1至2米,對無人車來說,這種精度遠(yuǎn)遠(yuǎn)達(dá)不到上路的要求。一輛自認(rèn)為在車道中心行駛的車,如果加上這一兩米的誤差,可能會(huì)撞到行人或路崖。
所以,僅用GPS定位還不夠。Carla結(jié)合了高精地圖、激光雷達(dá)傳感器和復(fù)雜的數(shù)學(xué)算法,將誤差縮減到10厘米內(nèi)。激光雷達(dá)先掃描外部環(huán)境,將看到的與高精地圖做對比,最后找到精確的定位?!?/p>
Carla將自己定位在一張高精地圖上
之后,感知系統(tǒng)將其結(jié)果輸出至決策系統(tǒng)上。
決策(Planning)
Carla的決策系統(tǒng)簡明易懂,決策裝置構(gòu)建了一系列路徑點(diǎn),Carla只需沿路追尋這些點(diǎn)即可。值得注意的是,每個(gè)路徑點(diǎn)都有指定位置,并且與目標(biāo)速度相關(guān)聯(lián)。當(dāng)Carla經(jīng)過路徑點(diǎn)時(shí),將與位置與速度相匹配。
同時(shí),決策系統(tǒng)還負(fù)責(zé)根據(jù)感知器提供的數(shù)據(jù)預(yù)測其他車輛的運(yùn)動(dòng)軌跡,不斷重新規(guī)劃調(diào)整路徑點(diǎn)的位置。
舉個(gè)例子,如果決策系統(tǒng)預(yù)測Carla前面的車輛會(huì)減速,則決策系統(tǒng)會(huì)讓Carla也走得慢點(diǎn)。之后,決策系統(tǒng)會(huì)根據(jù)軌跡生成組件創(chuàng)建新的減速路徑點(diǎn)。
對策系統(tǒng)對信號(hào)燈和交通標(biāo)志等信息的處理也是用這種方法計(jì)算的。
一旦決策系統(tǒng)已經(jīng)生成了新路徑點(diǎn)路徑,那這些路徑會(huì)被傳送至最后一個(gè)子系統(tǒng),即控制系統(tǒng)。
控制(Control)
控制系統(tǒng)通過加速或剎車的方式驅(qū)動(dòng)車輛行進(jìn),并且掌握第一手的車輛運(yùn)行數(shù)據(jù)。這其中有些純電子數(shù)據(jù),有些則是物理數(shù)據(jù)。例如,當(dāng)你坐在Carla里時(shí),你會(huì)發(fā)現(xiàn)它自身也帶方向盤。
控制系統(tǒng)將路徑點(diǎn)作為輸入信息,在決策系統(tǒng)的幫助下控制車輛速度。之后,控制系統(tǒng)將路徑點(diǎn)和速度等信息傳遞給控制器。為了實(shí)現(xiàn)預(yù)定軌跡,控制器需要規(guī)劃方向盤、加速、剎車等部件的動(dòng)作。
控制系統(tǒng)可用很多算法將路徑點(diǎn)映射成方向盤和油門的相關(guān)指令,這些不同的算法被稱為控制器。Carla用的是簡單的比例-積分-微分控制器(PID控制器),當(dāng)然還有其他復(fù)雜的控制器可供選擇。
總結(jié)
我們將上面的四個(gè)系統(tǒng)的功能總結(jié)一下,可以梳理出Udacity自動(dòng)駕駛汽車的工作流程。
首先,傳感系統(tǒng)從Carla的相機(jī)、雷達(dá)和激光雷達(dá)中收集環(huán)境數(shù)據(jù)交于感知系統(tǒng),感知系統(tǒng)利用這些數(shù)據(jù)在環(huán)境中檢測物體并定位。之后,決策系統(tǒng)利用環(huán)境數(shù)據(jù)創(chuàng)建Carla的行進(jìn)軌道??刂破魍ㄟ^方向盤、油門和剎車等保證車輛在預(yù)定軌道上行駛。
Carla進(jìn)行了很多測試,她已經(jīng)可以從山景城跑到舊金山了。Udacity的學(xué)生也可以在課程結(jié)束時(shí)把設(shè)計(jì)的代碼加載到Carla上,看看在測試軌道上的駕駛情況如何。
我們?yōu)镃arla自豪。
{{item.content}}