無人駕駛系統(tǒng)的核心可以概述為三個(gè)部分:感知(Perception),規(guī)劃(Planning)和控制(Control),這些部分的交互以及其與車輛硬件、其他車輛的交互可以用下圖表示:
感知是指無人駕駛系統(tǒng)從環(huán)境中收集信息并從中提取相關(guān)知識(shí)的能力。其中,環(huán)境感知(Environmental Perception)特指對(duì)于環(huán)境的場景理解能力,例如障礙物的位置,道路標(biāo)志/標(biāo)記的檢測(cè),行人車輛的檢測(cè)等數(shù)據(jù)的語義分類。一般來說,定位(Localization)也是感知的一部分,定位是無人車確定其相對(duì)于環(huán)境的位置的能力。
規(guī)劃是無人車為了某一目標(biāo)而作出一些有目的性的決策的過程,對(duì)于無人駕駛車輛而言,這個(gè)目標(biāo)通常是指從出發(fā)地到達(dá)目的地,同時(shí)避免障礙物,并且不斷優(yōu)化駕駛軌跡和行為以保證乘客的安全舒適。規(guī)劃層通常又被細(xì)分為任務(wù)規(guī)劃(Mission Planning),行為規(guī)劃(Behavioral Planning)和動(dòng)作規(guī)劃(Motion Planning)三層。
最后,控制則是無人車精準(zhǔn)地執(zhí)行規(guī)劃好的動(dòng)作的能力,這些動(dòng)作來源于更高的層。
感知
環(huán)境感知
為了確保無人車對(duì)環(huán)境的理解和把握,無人駕駛系統(tǒng)的環(huán)境感知部分通常需要獲取周圍環(huán)境的大量信息,具體來說包括:障礙物的位置,速度以及可能的行為,可行駛的區(qū)域,交通規(guī)則等等。無人車通常是通過融合激光雷達(dá)(Lidar),相機(jī)(Camera),毫米波雷達(dá)(Millimeter Wave Radar)等多種傳感器的數(shù)據(jù)來獲取這些信息,本節(jié)我們簡要地了解一下激光雷達(dá)和相機(jī)在無人車感知中的應(yīng)用。
激光雷達(dá)是一類使用激光進(jìn)行探測(cè)和測(cè)距的設(shè)備,它能夠每秒鐘向環(huán)境發(fā)送數(shù)百萬光脈沖,它的內(nèi)部是一種旋轉(zhuǎn)的結(jié)構(gòu),這使得激光雷達(dá)能夠?qū)崟r(shí)的建立起周圍環(huán)境的3維地圖。
通常來說,激光雷達(dá)以10Hz左右的速度對(duì)周圍環(huán)境進(jìn)行旋轉(zhuǎn)掃描,其掃描一次的結(jié)果為密集的點(diǎn)構(gòu)成的3維圖,每個(gè)點(diǎn)具備(x,y,z)信息,這個(gè)圖被稱為點(diǎn)云圖(Point Cloud Graph),如下圖所示,是使用Velodyne VLP-32c激光雷達(dá)建立的一個(gè)點(diǎn)云地圖:
激光雷達(dá)因其可靠性目前仍是無人駕駛系統(tǒng)中最重要的傳感器,然而,在現(xiàn)實(shí)使用中,激光雷達(dá)并不是完美的,往往存在點(diǎn)云過于稀疏,甚至丟失部分點(diǎn)的問題,對(duì)于不規(guī)則的物體表面,使用激光雷達(dá)很難辨別其模式,在諸如大雨天氣這類情況下,激光雷達(dá)也無法使用。
為了理解點(diǎn)云信息,通常來說,我們對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行兩步操作:分割(Segmentation)和分類(Classification)。其中,分割是為了將點(diǎn)云圖中離散的點(diǎn)聚類成若干個(gè)整體,而分類則是區(qū)分出這些整體屬于哪一個(gè)類別(比如說行人,車輛以及障礙物)。分割算法可以被分類如下幾類:
基于邊的方法,例如梯度過濾等;
基于區(qū)域的方法,這類方法使用區(qū)域特征對(duì)鄰近點(diǎn)進(jìn)行聚類,聚類的依據(jù)是使用一些指定的標(biāo)準(zhǔn)(如歐幾里得距離,表面法線等),這類方法通常是先在點(diǎn)云中選取若干種子點(diǎn)(seed points),然后使用指定的標(biāo)準(zhǔn)從這些種子點(diǎn)出發(fā)對(duì)鄰近點(diǎn)進(jìn)行聚類;
參數(shù)方法,這類方法使用預(yù)先定義的模型去擬合點(diǎn)云,常見的方法包括隨機(jī)樣本一致性方法(Random Sample Consensus,RANSAC )和霍夫變換(Hough Transform,HT);
基于屬性的方法,首先計(jì)算每個(gè)點(diǎn)的屬性,然后對(duì)屬性相關(guān)聯(lián)的點(diǎn)進(jìn)行聚類的方法;
基于圖的方法;
基于機(jī)器學(xué)習(xí)的方法;
在完成了點(diǎn)云的目標(biāo)分割以后,分割出來的目標(biāo)需要被正確的分類,在這個(gè)環(huán)節(jié),一般使用機(jī)器學(xué)習(xí)中的分類算法,如支持向量機(jī)(Support Vector Machine,SVM)對(duì)聚類的特征進(jìn)行分類,最近幾年由于深度學(xué)習(xí)的發(fā)展,業(yè)界開始使用特別設(shè)計(jì)的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)對(duì)三維的點(diǎn)云聚類進(jìn)行分類。
然而,不論是提取特征-SVM的方法還是原始點(diǎn)云-CNN的方法,由于激光雷達(dá)點(diǎn)云本身解析度低的原因,對(duì)于反射點(diǎn)稀疏的目標(biāo)(比如說行人),基于點(diǎn)云的分類并不可靠,所以在實(shí)踐中,我們往往融合激光雷達(dá)和相機(jī)傳感器,利用相機(jī)的高分辨率來對(duì)目標(biāo)進(jìn)行分類,利用Lidar的可靠性對(duì)障礙物檢測(cè)和測(cè)距,融合兩者的優(yōu)點(diǎn)完成環(huán)境感知。
在無人駕駛系統(tǒng)中,我們通常使用圖像視覺來完成道路的檢測(cè)和道路上目標(biāo)的檢測(cè)。道路的檢測(cè)包含對(duì)道路線的檢測(cè)(Lane Detection),可行駛區(qū)域的檢測(cè)(Drivable Area Detection);道路上路標(biāo)的檢測(cè)包含對(duì)其他車輛的檢測(cè)(Vehicle Detection),行人檢測(cè)(Pedestrian Detection),交通標(biāo)志和信號(hào)的檢測(cè)(Traffic Sign Detection)等所有交通參與者的檢測(cè)和分類。
車道線的檢測(cè)涉及兩個(gè)方面:第一是識(shí)別出車道線,對(duì)于彎曲的車道線,能夠計(jì)算出其曲率,第二是確定車輛自身相對(duì)于車道線的偏移(即無人車自身在車道線的哪個(gè)位置)。一種方法是抽取一些車道的特征,包括邊緣特征(通常是求梯度,如索貝爾算子),車道線的顏色特征等,使用多項(xiàng)式擬合我們認(rèn)為可能是車道線的像素,然后基于多項(xiàng)式以及當(dāng)前相機(jī)在車上掛載的位置確定前方車道線的曲率和車輛相對(duì)于車道的偏離。
可行駛區(qū)域的檢測(cè)目前的一種做法是采用深度神經(jīng)網(wǎng)絡(luò)直接對(duì)場景進(jìn)行分割,即通過訓(xùn)練一個(gè)逐像素分類的深度神經(jīng)網(wǎng)絡(luò),完成對(duì)圖像中可行駛區(qū)域的切割。
交通參與者的檢測(cè)和分類目前主要依賴于深度學(xué)習(xí)模型,常用的模型包括兩類:
以RCNN為代表的基于Region Proposal的深度學(xué)習(xí)目標(biāo)檢測(cè)算法(RCNN,SPP-NET,F(xiàn)ast-RCNN,F(xiàn)aster-RCNN等);
以YOLO為代表的基于回歸方法的深度學(xué)習(xí)目標(biāo)檢測(cè)算法(YOLO,SSD等)
定位
在無人車感知層面,定位的重要性不言而喻,無人車需要知道自己相對(duì)于環(huán)境的一個(gè)確切位置,這里的定位不能存在超過10cm的誤差,試想一下,如果我們的無人車定位誤差在30厘米,那么這將是一輛非常危險(xiǎn)的無人車(無論是對(duì)行人還是乘客而言),因?yàn)闊o人駕駛的規(guī)劃和執(zhí)行層并不知道它存在30厘米的誤差,它們?nèi)匀话凑斩ㄎ痪珳?zhǔn)的前提來做出決策和控制,那么對(duì)某些情況作出的決策就是錯(cuò)的,從而造成事故。由此可見,無人車需要高精度的定位。
目前使用最廣泛的無人車定位方法當(dāng)屬融合全球定位系統(tǒng)(Global Positioning System,GPS)和慣性導(dǎo)航系統(tǒng)(Inertial Navigation System)定位方法,其中,GPS的定位精度在數(shù)十米到厘米級(jí)別之間,高精度的GPS傳感器價(jià)格也就相對(duì)昂貴。融合GPS/IMU的定位方法在GPS信號(hào)缺失,微弱的情況下無法做到高精度定位,如地下停車場,周圍均為高樓的市區(qū)等,因此只能適用于部分場景的無人駕駛?cè)蝿?wù)。
地圖輔助類定位算法是另一類廣泛使用的無人車定位算法,同步定位與地圖構(gòu)建(Simultaneous Localization And Mapping,SLAM)是這類算法的代表,SLAM的目標(biāo)即構(gòu)建地圖的同時(shí)使用該地圖進(jìn)行定位,SLAM通過利用已經(jīng)觀測(cè)到的環(huán)境特征確定當(dāng)前車輛的位置以及當(dāng)前觀測(cè)特征的位置。
這是一個(gè)利用以往的先驗(yàn)和當(dāng)前的觀測(cè)來估計(jì)當(dāng)前位置的過程,實(shí)踐上我們通常使用貝葉斯濾波器(Bayesian filter)來完成,具體來說包括卡爾曼濾波(Kalman Filter),擴(kuò)展卡爾曼濾波(Extended Kalman Filter)以及粒子濾波(Particle Filter)。
SLAM雖然是機(jī)器人定位領(lǐng)域的研究熱點(diǎn),但是在實(shí)際無人車開發(fā)過程中使用SLAM定位卻存在問題,不同于機(jī)器人,無人車的運(yùn)動(dòng)是長距離的,大開放環(huán)境的。在長距離的運(yùn)動(dòng)中,隨著距離的增大,SLAM定位的偏差也會(huì)逐漸增大,從而造成定位失敗。
在實(shí)踐中,一種有效的無人車定位方法是改變?cè)瓉鞸LAM中的掃描匹配類算法,具體來說,我們不再在定位的同時(shí)制圖,而是事先使用傳感器如激光雷達(dá)對(duì)區(qū)域構(gòu)建點(diǎn)云地圖,通過程序和人工的處理將一部分“語義”添加到地圖中(例如車道線的具體標(biāo)注,路網(wǎng),紅綠燈的位置,當(dāng)前路段的交通規(guī)則等等),這個(gè)包含了語義的地圖就是我們無人駕駛車的高精度地圖(HD Map)。
在實(shí)際定位的時(shí)候,使用當(dāng)前激光雷達(dá)的掃描和事先構(gòu)建的高精度地圖進(jìn)行點(diǎn)云匹配,確定我們的無人車在地圖中的具體位置,這類方法被統(tǒng)稱為掃描匹配方法(Scan Matching),掃描匹配方法最常見的是迭代最近點(diǎn)法(Iterative Closest Point ,ICP),該方法基于當(dāng)前掃描和目標(biāo)掃描的距離度量來完成點(diǎn)云配準(zhǔn)。
除此以外,正態(tài)分布變換(Normal Distributions Transform,NDT)也是進(jìn)行點(diǎn)云配準(zhǔn)的常用方法,它基于點(diǎn)云特征直方圖來實(shí)現(xiàn)配準(zhǔn)。基于點(diǎn)云配準(zhǔn)的定位方法也能實(shí)現(xiàn)10厘米以內(nèi)的定位精度。
雖然點(diǎn)云配準(zhǔn)能夠給出無人車相對(duì)于地圖的全局定位,但是這類方法過于依賴事先構(gòu)建的高精度地圖,并且在開放的路段下仍然需要配合GPS定位使用,在場景相對(duì)單一的路段(如高速公路),使用GPS加點(diǎn)云匹配的方法相對(duì)來說成本過高。
規(guī)劃
任務(wù)規(guī)劃
無人駕駛規(guī)劃系統(tǒng)的分層結(jié)構(gòu)設(shè)計(jì)源于2007年舉辦的DAPRA城市挑戰(zhàn)賽,在比賽中多數(shù)參賽隊(duì)都將無人車的規(guī)劃模塊分為三層設(shè)計(jì):任務(wù)規(guī)劃,行為規(guī)劃和動(dòng)作規(guī)劃,其中,任務(wù)規(guī)劃通常也被稱為路徑規(guī)劃或者路由規(guī)劃(Route Planning),其負(fù)責(zé)相對(duì)頂層的路徑規(guī)劃,例如起點(diǎn)到終點(diǎn)的路徑選擇。
我們可以把我們當(dāng)前的道路系統(tǒng)處理成有向網(wǎng)絡(luò)圖(Directed Graph Network),這個(gè)有向網(wǎng)絡(luò)圖能夠表示道路和道路之間的連接情況,通行規(guī)則,道路的路寬等各種信息,其本質(zhì)上就是我們前面的定位小節(jié)中提到的高精度地圖的“語義”部分,這個(gè)有向網(wǎng)絡(luò)圖被稱為路網(wǎng)圖(Route Network Graph),如下圖所示:
這樣的路網(wǎng)圖中的每一個(gè)有向邊都是帶權(quán)重的,那么,無人車的路徑規(guī)劃問題,就變成了在路網(wǎng)圖中,為了讓車輛達(dá)到某個(gè)目標(biāo)(通常來說是從A地到B地),基于某種方法選取最優(yōu)(即損失最小)的路徑的
過程,那么問題就變成了一個(gè)有向圖搜索問題,傳統(tǒng)的算法如迪科斯徹算法(Dijkstra’s Algorithm)和A*算法(A* Algorithm)主要用于計(jì)算離散圖的最優(yōu)路徑搜索,被用于搜索路網(wǎng)圖中損失最小的路徑。
行為規(guī)劃
行為規(guī)劃有時(shí)也被稱為決策制定(Decision Maker),主要的任務(wù)是按照任務(wù)規(guī)劃的目標(biāo)和當(dāng)前的局部情況(其他的車輛和行人的位置和行為,當(dāng)前的交通規(guī)則等),作出下一步無人車應(yīng)該執(zhí)行的決策,可以把這一層理解為車輛的副駕駛,他依據(jù)目標(biāo)和當(dāng)前的交通情況指揮駕駛員是跟車還是超車,是停車等行人通過還是繞過行人等等。
行為規(guī)劃的一種方法是使用包含大量動(dòng)作短語的復(fù)雜有限狀態(tài)機(jī)(Finite State Machine,F(xiàn)SM)來實(shí)現(xiàn),有限狀態(tài)機(jī)從一個(gè)基礎(chǔ)狀態(tài)出發(fā),將根據(jù)不同的駕駛場景跳轉(zhuǎn)到不同的動(dòng)作狀態(tài),將動(dòng)作短語傳遞給下層的動(dòng)作規(guī)劃層,下圖是一個(gè)簡單的有限狀態(tài)機(jī):
如上圖所示,每個(gè)狀態(tài)都是對(duì)車輛動(dòng)作的決策,狀態(tài)和狀態(tài)之間存在一定的跳轉(zhuǎn)條件,某些狀態(tài)可以自循環(huán)(比如上圖中的循跡狀態(tài)和等待狀態(tài))。雖然是目前無人車上采用的主流行為決策方法,有限狀態(tài)機(jī)仍然存在著很大的局限性:首先,要實(shí)現(xiàn)復(fù)雜的行為決策,需要人工設(shè)計(jì)大量的狀態(tài);車輛有可能陷入有限狀態(tài)機(jī)沒有考慮過的狀態(tài);如果有限狀態(tài)機(jī)沒有設(shè)計(jì)死鎖保護(hù),車輛甚至可能陷入某種死鎖。
動(dòng)作規(guī)劃
通過規(guī)劃一系列的動(dòng)作以達(dá)到某種目的(比如說規(guī)避障礙物)的處理過程被稱為動(dòng)作規(guī)劃。通常來說,考量動(dòng)作規(guī)劃算法的性能通常使用兩個(gè)指標(biāo):計(jì)算效率(Computational Efficiency)和完整性(Completeness),所謂計(jì)算效率,即完成一次動(dòng)作規(guī)劃的處理效率,動(dòng)作規(guī)劃算法的計(jì)算效率在很大程度上取決于配置空間(Configuration Space),如果一個(gè)動(dòng)作規(guī)劃算法能夠在問題有解的情況下在有限時(shí)間內(nèi)返回一個(gè)解,并且能夠在無解的情況下返回?zé)o解,那么我們稱該動(dòng)作規(guī)劃算法是完整的。
配置空間:一個(gè)定義了機(jī)器人所有可能配置的集合,它定義了機(jī)器人所能夠運(yùn)動(dòng)的維度,最簡單的二維離散問題,那么配置空間就是[x, y],無人車的配置空間可以非常復(fù)雜,這取決于所使用的運(yùn)動(dòng)規(guī)劃算法。
在引入了配置空間的概念以后,那么無人車的動(dòng)作規(guī)劃就變成了:在給定一個(gè)初始配置(Start Configuration),一個(gè)目標(biāo)配置(Goal Configuration)以及若干的約束條件(Constraint)的情況下,在配置空間中找出一系列的動(dòng)作到達(dá)目標(biāo)配置,這些動(dòng)作的執(zhí)行結(jié)果就是將無人車從初始配置轉(zhuǎn)移至目標(biāo)配置,同時(shí)滿足約束條件。
在無人車這個(gè)應(yīng)用場景中,初始配置通常是無人車的當(dāng)前狀態(tài)(當(dāng)前的位置,速度和角速度等),目標(biāo)配置則來源于動(dòng)作規(guī)劃的上一層——行為規(guī)劃層,而約束條件則是車輛的運(yùn)動(dòng)限制(最大轉(zhuǎn)角幅度,最大加速度等)。
顯然,在高維度的配置空間來動(dòng)作規(guī)劃的計(jì)算量是非常巨大的,為了確保規(guī)劃算法的完整性,我們不得不搜索幾乎所有的可能路徑,這就形成了連續(xù)動(dòng)作規(guī)劃中的“維度災(zāi)難”問題。目前動(dòng)作規(guī)劃中解決該問題的核心理念是將連續(xù)空間模型轉(zhuǎn)換成離散模型,具體的方法可以歸納為兩類:組合規(guī)劃方法(Combinatorial Planning)和基于采樣的規(guī)劃方法(Sampling-Based Planning)。
運(yùn)動(dòng)規(guī)劃的組合方法通過連續(xù)的配置空間找到路徑,而無需借助近似值。由于這個(gè)屬性,它們可以被稱為精確算法。組合方法通過對(duì)規(guī)劃問題建立離散表示來找到完整的解,如在Darpa城市挑戰(zhàn)賽(Darpa Urban Challenge)中,CMU的無人車BOSS所使用的動(dòng)作規(guī)劃算法,他們首先使用路徑規(guī)劃器生成備選的路徑和目標(biāo)點(diǎn)(這些路徑和目標(biāo)點(diǎn)事融合動(dòng)力學(xué)可達(dá)的),然后通過優(yōu)化算法選擇最優(yōu)的路徑。
另一種離散化的方法是網(wǎng)格分解方法(Grid Decomposition Approaches),在將配置空間網(wǎng)格化以后我們通常能夠使用離散圖搜索算法(如A*)找到一條優(yōu)化路徑。
基于采樣的方法由于其概率完整性而被廣泛使用,最常見的算法如PRM(Probabilistic Roadmaps),RRT(Rapidly-Exploring Random Tree),F(xiàn)MT(Fast-Marching Trees),在無人車的應(yīng)用中,狀態(tài)采樣方法需要考慮兩個(gè)狀態(tài)的控制約束,同時(shí)還需要一個(gè)能夠有效地查詢采樣狀態(tài)和父狀態(tài)是否可達(dá)的方法。后文我們將詳細(xì)介紹State-Lattice Planners,一種基于采樣的運(yùn)動(dòng)規(guī)劃算法。
控制
控制層作為無人車系統(tǒng)的最底層,其任務(wù)是將我們規(guī)劃好的動(dòng)作實(shí)現(xiàn),所以控制模塊的評(píng)價(jià)指標(biāo)即為控制的精準(zhǔn)度。控制系統(tǒng)內(nèi)部會(huì)存在測(cè)量,控制器通過比較車輛的測(cè)量和我們預(yù)期的狀態(tài)輸出控制動(dòng)作,這一過程被稱為反饋控制(Feedback Control)。
反饋控制被廣泛的應(yīng)用于自動(dòng)化控制領(lǐng)域,其中最典型的反饋控制器當(dāng)屬PID控制器(Proportional-Integral-Derivative Controller),PID控制器的控制原理是基于一個(gè)單純的誤差信號(hào),這個(gè)誤差信號(hào)由三項(xiàng)構(gòu)成:誤差的比例(Proportion),誤差的積分(Integral)和誤差的微分(Derivative)。
PID控制因其實(shí)現(xiàn)簡單,性能穩(wěn)定到目前仍然是工業(yè)界最廣泛使用的控制器,但是作為純反饋控制器,PID控制器在無人車控制中卻存在一定的問題:PID控制器是單純基于當(dāng)前誤差反饋的,由于制動(dòng)機(jī)構(gòu)的延遲性,會(huì)給我們的控制本身帶來延遲,而PID由于內(nèi)部不存在系統(tǒng)模型,故PID不能對(duì)延遲建模,為了解決這一問題,我們引入基于模型預(yù)測(cè)的控制方法。
預(yù)測(cè)模型:基于當(dāng)前的狀態(tài)和控制輸入預(yù)測(cè)未來一段時(shí)間的狀態(tài)的模型,在無人車系統(tǒng)中,通常是指車輛的運(yùn)動(dòng)學(xué)/動(dòng)力學(xué)模型;
反饋校正:對(duì)模型施加了反饋校正的過程,使預(yù)測(cè)控制具有很強(qiáng)的抗擾動(dòng)和克服系統(tǒng)不確定性的能力。
滾動(dòng)優(yōu)化:滾動(dòng)地優(yōu)化控制序列,以得到和參考軌跡最接近的預(yù)測(cè)序列。
參考軌跡:即設(shè)定的軌跡。
下圖表示模型預(yù)測(cè)控制的基本結(jié)構(gòu),由于模型預(yù)測(cè)控制基于運(yùn)動(dòng)模型進(jìn)行優(yōu)化,在PID控制中面臨的控制延時(shí)問題可以再建立模型考慮進(jìn)去,所以模型預(yù)測(cè)控制在無人車控制中具有很高的應(yīng)用價(jià)值。
在本結(jié)我們概述了無人駕駛系統(tǒng)的基本結(jié)構(gòu),無人駕駛軟件系統(tǒng)通常被劃分為三層:感知,規(guī)劃和控制。從某種程度上而言,無人車在這種分層體系下就可以看作是一個(gè)“載人機(jī)器人”,其中,感知具體包括環(huán)境感知和定位,近年來深度學(xué)習(xí)的突破,使得基于圖像和深度學(xué)習(xí)的感知技術(shù)在環(huán)境感知中發(fā)揮了越來越重要的作用,借助人工智能,我們已經(jīng)不再局限于感知障礙物,而逐漸變成理解障礙物是什么,理解場景,甚至預(yù)測(cè)目標(biāo)障礙物的行為,機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的內(nèi)容我們將在后面兩章詳細(xì)了解。
在實(shí)際的無人車感知中,我們通常需要融合激光雷達(dá),相機(jī)和毫米波雷達(dá)等多種測(cè)量,這里涉及到的如卡爾曼濾波,擴(kuò)展卡爾曼濾波等融合算法以及激光雷達(dá)。
無人車和機(jī)器人的定位方法眾多,目前主流的方法一是使用GPS+慣性導(dǎo)航系統(tǒng)融合的方法,二是基于Lidar點(diǎn)云掃描匹配的方法,將重點(diǎn)介紹ICP,NDT等基于點(diǎn)云匹配的算法。
規(guī)劃模塊內(nèi)部也被分成三層:任務(wù)規(guī)劃(也被稱為路徑規(guī)劃),行為規(guī)劃和動(dòng)作規(guī)劃,后文會(huì)介紹基于路網(wǎng)和離散路徑搜索算法的任務(wù)規(guī)劃方法,在行為規(guī)劃中,我們將重點(diǎn)介紹有限狀態(tài)機(jī)在行為決策中的應(yīng)用,在動(dòng)作規(guī)劃算法層,重點(diǎn)介紹基于采樣的規(guī)劃方法。
無人車的控制模塊我們往往會(huì)使用基于模型預(yù)測(cè)的控制方法,但是在了解模型預(yù)測(cè)控制算法之前,作為對(duì)基礎(chǔ)反饋控制的了解,我們前面了解了PID控制器。接著我們學(xué)習(xí)兩類最簡單的車輛模型——運(yùn)動(dòng)學(xué)自行車模型和動(dòng)力學(xué)自行車模型,最后,我們介紹模型預(yù)測(cè)控制。
雖然將無人車?yán)斫鉃闄C(jī)器人并且使用機(jī)器人開發(fā)的思維處理無人車系統(tǒng)是目前工業(yè)界的共識(shí),但是也不乏一些單純使用人工智能或者是智能體來完成無人駕駛的案例。其中基于深度學(xué)習(xí)的端到端無人駕駛和基于強(qiáng)化學(xué)習(xí)的駕駛智能體是目前的研究熱點(diǎn)。
審核編輯:湯梓紅
評(píng)論
查看更多