江德洲
2017年9月,Udacity的員工David Silver在外媒Medium上發(fā)表文章,題為How the Udacity Self-Driving Car Works,科普了由Udacity研發(fā)的無(wú)人車Carla是如何工作的。
總體來(lái)說(shuō),Carla上主要有四個(gè)子系統(tǒng),分別為傳感(Sensor)系統(tǒng),感知(Perception)系統(tǒng),決策(Planning)系統(tǒng)和控制(Control)系統(tǒng)。文章作者用通俗易懂的語(yǔ)言對(duì)這些子系統(tǒng)的工作原理進(jìn)行了闡釋。
Carla的傳感系統(tǒng)中包含從環(huán)境中收集數(shù)據(jù)的物理硬件。
舉例來(lái)說(shuō),Carla的擋風(fēng)玻璃頂部安裝了一定數(shù)量的相機(jī),用戶能根據(jù)自己的需要調(diào)整相機(jī)的個(gè)數(shù),不過(guò)通常情況下會(huì)有1到3個(gè)相機(jī)排成一列。Carla的前保險(xiǎn)杠自帶一個(gè)嵌入式的雷達(dá),車頂還安裝有一個(gè)360度的激光雷達(dá),這些雷達(dá)是收集環(huán)境數(shù)據(jù)的主力設(shè)備。有時(shí)Carla也會(huì)用到其他傳感器,比如GPS、IMU和超聲波雷達(dá)等。從這些傳感器中獲得的數(shù)據(jù)將匯總至感知系統(tǒng)進(jìn)行處理。
Carla的感知系統(tǒng)能夠?qū)⒃嫉膫鞲衅鲾?shù)據(jù)轉(zhuǎn)化成對(duì)后續(xù)工作有意義的環(huán)境信息。感知系統(tǒng)的組件可以分為兩個(gè)不同的功能模塊:檢測(cè)模塊與定位模塊,二者各司其職。
檢測(cè)模塊需要從傳感器的環(huán)境信息中探測(cè)車輛外部的物體,包括信號(hào)燈的識(shí)別與分類、物體探測(cè)與追蹤以及自由空間探測(cè),定位模塊則可以明確車輛的具體位置。Carla自帶的全球定位系統(tǒng)(GPS)可以幫助其準(zhǔn)確定位,但GPS的精度只能達(dá)到1至2米,這是遠(yuǎn)遠(yuǎn)不夠的。對(duì)于本就不夠?qū)掗煹某鞘泄驳缆?,一兩米的誤差足以使無(wú)人車撞到行人或軋上路肩。
因此,Carla還集成了高精度地圖、激光雷達(dá)傳感器和復(fù)雜的數(shù)學(xué)算法等技術(shù)與設(shè)備。激光雷達(dá)先行掃描外部環(huán)境,將探測(cè)到的結(jié)果與高精度地圖進(jìn)行對(duì)比,進(jìn)而獲得精確的定位。通過(guò)這些舉措,Carla將定位的誤差進(jìn)一步縮減到了10厘米以內(nèi)。之后,感知系統(tǒng)可以將結(jié)果輸出至決策系統(tǒng)上。
Carla有一套直截了當(dāng)?shù)臎Q策系統(tǒng)。該系統(tǒng)中的決策裝置為其構(gòu)建了一系列導(dǎo)航點(diǎn),Carla只需沿途追蹤這些導(dǎo)航點(diǎn)即可。需要注意的是,每個(gè)導(dǎo)航點(diǎn)都有一個(gè)特定的位置,并關(guān)聯(lián)著特定的目標(biāo)速度。當(dāng)Carla經(jīng)過(guò)導(dǎo)航點(diǎn)時(shí),系統(tǒng)會(huì)將當(dāng)時(shí)的位置與速度進(jìn)行匹配。
同時(shí),決策系統(tǒng)還將根據(jù)感知器提供的數(shù)據(jù)預(yù)測(cè)其他車輛的運(yùn)動(dòng)軌跡,實(shí)時(shí)規(guī)劃調(diào)整導(dǎo)航點(diǎn)的位置。舉個(gè)例子,如果決策系統(tǒng)預(yù)測(cè)Carla前方的車輛即將減速,那么系統(tǒng)會(huì)讓Carla的速度也放慢些,并依靠軌跡生成組件創(chuàng)建新的減速導(dǎo)航點(diǎn),相似的計(jì)算方法也用于對(duì)信號(hào)燈和交通標(biāo)志等信息的處理。
一旦決策系統(tǒng)生成了新的導(dǎo)航路徑,那這些路徑將會(huì)被傳送至最后一個(gè)子系統(tǒng)——控制系統(tǒng)。
控制系統(tǒng)通過(guò)發(fā)送加速、剎車或轉(zhuǎn)向信息來(lái)驅(qū)動(dòng)車輛。這些信息中既有純粹的電子信號(hào),也有以物理形式呈現(xiàn)的。例如,當(dāng)你坐在Carla里時(shí),你會(huì)發(fā)現(xiàn)它自帶的方向盤實(shí)際也可轉(zhuǎn)動(dòng)。
控制系統(tǒng)將決策系統(tǒng)生成的導(dǎo)航點(diǎn)和目標(biāo)速度作為輸入信息,并將這些信息傳遞給控制器,實(shí)現(xiàn)對(duì)車輛速度的控制。為了沿預(yù)定軌跡行駛,控制器需要規(guī)劃方向盤、加速、剎車等部件的動(dòng)作??刂葡到y(tǒng)可用多套算法將導(dǎo)航點(diǎn)映射成對(duì)方向盤和油門的相關(guān)指令,這些不同的算法就是所謂的控制器。Carla用的是一套相當(dāng)簡(jiǎn)單的比例-積分-微分控制器(PID控制器),當(dāng)然,其他復(fù)雜的控制器也是可供選擇的。