一、定義及分級(jí)
自動(dòng)駕駛車盔夜,是一種無(wú)須人工干預(yù)而能夠感知其周邊環(huán)境和導(dǎo)航的車輛负饲。它利用了包括雷達(dá)、激光喂链、超聲波返十、GPS、里程計(jì)椭微、計(jì)算機(jī)視覺(jué)等多種技術(shù)來(lái)感知其周邊環(huán)境洞坑,通過(guò)先進(jìn)的計(jì)算和控制系統(tǒng),來(lái)識(shí)別障礙物和各種標(biāo)識(shí)牌蝇率,規(guī)劃合適的路徑來(lái)控制車輛行駛检诗。
美國(guó)汽車工程師協(xié)會(huì)(SAE,Society of Automotive Engineers)瓢剿,則將自動(dòng)駕駛劃分為 0~5 共六級(jí)逢慌。
Level 0:無(wú)自動(dòng)化(No Automation)
沒(méi)有任何自動(dòng)駕駛功能或技術(shù),人類駕駛員對(duì)汽車所有功能擁有絕對(duì)控制權(quán)间狂。駕駛員需要負(fù)責(zé)轉(zhuǎn)向威鹿、加速字支、制動(dòng)和觀察道路狀況竭钝。任何駕駛輔助技術(shù),例如現(xiàn)有的前向碰撞預(yù)警何鸡、車道偏離預(yù)警,以及自動(dòng)雨刷和自動(dòng)前燈控制等牛欢,雖然有一定的智能化骡男,但是仍需要人來(lái)控制車輛,所以都仍屬于 Level 0傍睹。
Level 1:駕駛輔助(Driver Assistance)
駕駛員仍然對(duì)行車安全負(fù)責(zé)隔盛,不過(guò)可以授權(quán)部分控制權(quán)給系統(tǒng)管理,某些功能可以自動(dòng)進(jìn)行拾稳,比如常見的自適應(yīng)巡航(Adaptive Cruise Control吮炕,ACC)、應(yīng)急剎車輔助(Emergency Brake Assist访得,EBA)和車道保持(Lane-Keep Support龙亲,LKS)。Level 1 的特點(diǎn)是只有單一功能悍抑,駕駛員無(wú)法做到手和腳同時(shí)不操控鳄炉。
Level 2:部分自動(dòng)化(Partial Automation)
人類駕駛員和汽車來(lái)分享控制權(quán),駕駛員在某些預(yù)設(shè)環(huán)境下可以不操作汽車搜骡,即手腳同時(shí)離開控制迎膜,但駕駛員仍需要隨時(shí)待命,對(duì)駕駛安全負(fù)責(zé)浆兰,并隨時(shí)準(zhǔn)備在短時(shí)間內(nèi)接管汽車駕駛權(quán)。比如結(jié)合了 ACC 和 LKS 形成的跟車功能珊豹。Level 2 的核心不在于要有兩個(gè)以上的功能簸呈,而在于駕駛員可以不再作為主要操作者。
Level 3:有條件自動(dòng)化(Conditional Automation)
在有限情況下實(shí)現(xiàn)自動(dòng)控制店茶,比如在預(yù)設(shè)的路段(如高速和人流較少的城市路段)蜕便,汽車自動(dòng)駕駛可以完全負(fù)責(zé)整個(gè)車輛的操控,但是當(dāng)遇到緊急情況贩幻,駕駛員仍需要在某些時(shí)候接管汽車轿腺,但有足夠的預(yù)警時(shí)間,如即將進(jìn)入修路的路段(Road work ahead)丛楚。Level 3 將解放駕駛員族壳,即對(duì)行車安全不再負(fù)責(zé),不必監(jiān)視道路狀況趣些。
Level 4:高度自動(dòng)化(High Automation)
自動(dòng)駕駛在特定的道路條件下可以高度自動(dòng)化仿荆,比如封閉的園區(qū)、高速公路、城市道路或固定的行車線路等拢操,這這些受限的條件下锦亦,人類駕駛員可以全程不用干預(yù)。
Level 5:完全自動(dòng)化(Full Automation)
對(duì)行車環(huán)境不加限制令境,可以自動(dòng)地應(yīng)對(duì)各種復(fù)雜的交通狀況和道路環(huán)境等杠园,在無(wú)須人協(xié)助的情況下由出發(fā)地駛向目的地,僅需起點(diǎn)和終點(diǎn)信息舔庶,汽車將全程負(fù)責(zé)行車安全抛蚁,并完全不依賴駕駛員干涉,且不受特定道路的限制栖茉。
注釋:DDT(Dynamic driving task):動(dòng)態(tài)駕駛?cè)蝿?wù)篮绿,指汽車在道路上行駛所需的所有實(shí)時(shí)操作和策略上的功能,不包括行程安排吕漂、目的地和途徑地的選擇等戰(zhàn)略上的功能亲配。
二、核心模塊
無(wú)人駕駛系統(tǒng)的核心可以概述為三個(gè)部分:感知(Perception)惶凝,規(guī)劃(Planning)和控制(Control)吼虎,這些部分的交互以及其與車輛硬件、其他車輛的交互可以用下圖表示:
2.1感知
感知是指無(wú)人駕駛系統(tǒng)從環(huán)境中收集信息并從中提取相關(guān)知識(shí)的能力苍鲜。其中思灰,環(huán)境感知(Environmental Perception)特指對(duì)于環(huán)境的場(chǎng)景理解能力,例如障礙物的位置混滔,道路標(biāo)志/標(biāo)記的檢測(cè)洒疚,行人車輛的檢測(cè)等數(shù)據(jù)的語(yǔ)義分類。 一般來(lái)說(shuō)坯屿,定位(Localization)也是感知的一部分油湖,定位是無(wú)人車確定其相對(duì)于環(huán)境的位置的能力。
為了確保無(wú)人車對(duì)環(huán)境的理解和把握领跛,無(wú)人駕駛系統(tǒng)的環(huán)境感知部分通常需要獲取周圍環(huán)境的大量信息乏德,具體來(lái)說(shuō)包括:障礙物的位置,速度以及可能的行為吠昭,可行駛的區(qū)域喊括,交通規(guī)則等等。無(wú)人車通常是通過(guò)融合激光雷達(dá)(Lidar)矢棚,相機(jī)(Camera)郑什,毫米波雷達(dá)(Millimeter Wave Radar)等多種傳感器的數(shù)據(jù)來(lái)獲取這些信息。
2.1.1雷達(dá)傳感器和點(diǎn)云地圖
車載雷達(dá)傳感器功能及優(yōu)缺點(diǎn)各有不同蒲肋,相關(guān)比較如下表所示:
激光雷達(dá)是一類使用激光進(jìn)行探測(cè)和測(cè)距的設(shè)備蹦误,它能夠每秒鐘向環(huán)境發(fā)送數(shù)百萬(wàn)光脈沖劫拢,它的內(nèi)部是一種旋轉(zhuǎn)的結(jié)構(gòu),這使得激光雷達(dá)能夠?qū)崟r(shí)的建立起周圍環(huán)境的3維地圖强胰。
通常來(lái)說(shuō)舱沧,激光雷達(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á)因其可靠性目前仍是無(wú)人駕駛系統(tǒng)中最重要的傳感器牵寺,然而,在現(xiàn)實(shí)使用中恩脂,激光雷達(dá)并不是完美的帽氓,往往存在點(diǎn)云過(guò)于稀疏,甚至丟失部分點(diǎn)的問(wèn)題俩块,對(duì)于不規(guī)則的物體表面黎休,使用激光雷達(dá)很難辨別其模式,另一個(gè)比較大的挑戰(zhàn)是一個(gè)比較大的挑戰(zhàn)是激光雷達(dá)感知范圍比較近玉凯,感知范圍平均在 150m 左右势腮,這取決于環(huán)境和障礙物的不同。激光雷達(dá)在角分辨度上也遠(yuǎn)遠(yuǎn)不及照相機(jī)漫仆。激光雷達(dá)對(duì)環(huán)境的敏感度也是比較大的捎拯,例如雨天中,車輛行駛中濺起來(lái)的水花盲厌,在激光雷達(dá)上都是有噪點(diǎn)的署照。
毫米波雷達(dá)通過(guò)發(fā)射電磁波并通過(guò)檢測(cè)回波來(lái)探測(cè)目標(biāo)的有無(wú)、距離吗浩、速度和方位建芙。由于毫米波雷達(dá)技術(shù)相對(duì)成熟,成本較低拓萌,并且在不良天氣下表現(xiàn)良好,因此成為感知設(shè)備中重要的一環(huán)升略。但由于其分辨率較低微王,因此不能作為激光雷達(dá)的替代品,而是激光雷達(dá)的重要補(bǔ)充設(shè)備品嚣。
攝像機(jī)根據(jù)鏡頭和布置方式的不同主要有以下四種:?jiǎn)文繑z像機(jī)炕倘、雙目攝像機(jī)、三目攝像機(jī)和環(huán)視攝像機(jī)翰撑。
單目攝像機(jī)模組只包含一個(gè)攝像機(jī)和一個(gè)鏡頭罩旋。由于很多圖像算法的研究都是基于單目攝像機(jī)開發(fā)的啊央,因此相對(duì)于其他類別的攝像機(jī),單目攝像機(jī)的算法成熟度更高涨醋。但是單目有著兩個(gè)先天的缺陷瓜饥。一是它的視野完全取決于鏡頭。焦距短的鏡頭浴骂,視野廣乓土,但缺失遠(yuǎn)處的信息。反之亦然溯警。因此單目攝像機(jī)一般選用適中焦距的鏡頭趣苏。二是單目測(cè)距的精度較低。攝像機(jī)的成像圖是透視圖梯轻,即越遠(yuǎn)的物體成像越小食磕。近處的物體,需要用幾百甚至上千個(gè)像素點(diǎn)描述喳挑;而處于遠(yuǎn)處的同一物體彬伦,可能只需要幾個(gè)像素點(diǎn)即可描述出來(lái)。這種特性會(huì)導(dǎo)致蟀悦,越遠(yuǎn)的地方媚朦,一個(gè)像素點(diǎn)代表的距離越大,因此對(duì)單目來(lái)說(shuō)物體越遠(yuǎn)日戈,測(cè)距的精度越低询张。
雙目攝像機(jī)由于單目測(cè)距存在缺陷,雙目攝像機(jī)應(yīng)運(yùn)而生浙炼。相近的兩個(gè)攝像機(jī)拍攝物體時(shí)份氧,會(huì)得到同一物體在攝像機(jī)的成像平面的像素偏移量。有了像素偏移量弯屈、相機(jī)焦距和兩個(gè)攝像機(jī)的實(shí)際距離這些信息蜗帜,根據(jù)數(shù)學(xué)換算即可得到物體的距離。雖然雙目能得到較高精度的測(cè)距結(jié)果和提供圖像分割的能力资厉,但是它與單目一樣厅缺,鏡頭的視野完全依賴于鏡頭。而且雙目測(cè)距原理對(duì)兩個(gè)鏡頭的安裝位置和距離要求較多宴偿,這就會(huì)給相機(jī)的標(biāo)定帶來(lái)麻煩湘捎。
三目攝像機(jī)由于單目和雙目都存在某些缺陷,因此廣泛應(yīng)用于無(wú)人駕駛的攝像機(jī)方案為三目攝像機(jī)窄刘。三目攝像機(jī)其實(shí)就是三個(gè)不同焦距單目攝像機(jī)的組合窥妇。根據(jù)焦距不同,每個(gè)攝像機(jī)所感知的范圍也不盡相同娩践。對(duì)攝像機(jī)來(lái)說(shuō)活翩,感知的范圍要么損失視野烹骨,要么損失距離。三目攝像機(jī)能較好地彌補(bǔ)感知范圍的問(wèn)題材泄。因此在業(yè)界被廣泛應(yīng)用沮焕。正是由于三目攝像機(jī)每個(gè)相機(jī)的視野不同,因此近處的測(cè)距交給寬視野攝像頭脸爱,中距離的測(cè)距交給主視野攝像頭遇汞,更遠(yuǎn)的測(cè)距交給窄視野攝像頭。這樣一來(lái)每個(gè)攝像機(jī)都能發(fā)揮其最大優(yōu)勢(shì)簿废。三目的缺點(diǎn)是需要同時(shí)標(biāo)定三個(gè)攝像機(jī)空入,因而工作量更大。其次軟件部分需要關(guān)聯(lián)三個(gè)攝像機(jī)的數(shù)據(jù)族檬,對(duì)算法要求也很高歪赢。
環(huán)視攝像機(jī),之前提到的三款攝像機(jī)它們所用的鏡頭都是非魚眼的单料,環(huán)視攝像機(jī)的鏡頭是魚眼鏡頭埋凯,而且安裝位置是朝向地面的。某些高配車型上會(huì)有“360°全景顯示”功能扫尖,所用到的就是環(huán)視攝像機(jī)白对。安裝于車輛前方、車輛左右后視鏡下和車輛后方的四個(gè)魚眼鏡頭采集圖像换怖,魚眼攝像機(jī)為了獲取足夠大的視野甩恼,代價(jià)是圖像的畸變嚴(yán)重。環(huán)視攝像機(jī)的感知范圍并不大沉颂,主要用于車身5~10米內(nèi)的障礙物檢測(cè)条摸、自主泊車時(shí)的庫(kù)位線識(shí)別等。
攝像機(jī)在無(wú)人車上的應(yīng)用铸屉,不僅可以提供感知能力钉蒲,也可以提供定位能力。
2.1.2點(diǎn)云的分割和分類
為了理解點(diǎn)云信息彻坛,通常來(lái)說(shuō)顷啼,我們對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行兩步操作:分割(Segmentation)和分類(Classification)。其中昌屉,分割是為了將點(diǎn)云圖中離散的點(diǎn)聚類成若干個(gè)整體钙蒙,而分類則是區(qū)分出這些整體屬于哪一個(gè)類別(比如說(shuō)行人,車輛以及障礙物)怠益。分割算法可以被分類如下幾類:
- 基于邊的方法仪搔,例如梯度過(guò)濾等瘾婿;
- 基于區(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)分割以后内地,分割出來(lái)的目標(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)行分類并蝗。
2.1.3道路檢測(cè)和道路目標(biāo)檢測(cè)
實(shí)踐中不論是提取特征-SVM的方法還是原始點(diǎn)云-CNN的方法祭犯,由于激光雷達(dá)點(diǎn)云本身解析度低的原因,對(duì)于反射點(diǎn)稀疏的目標(biāo)(比如說(shuō)行人)滚停,基于點(diǎn)云的分類并不可靠沃粗,所以在實(shí)踐中,我們往往融合雷達(dá)和相機(jī)傳感器键畴,利用相機(jī)的高分辨率來(lái)對(duì)目標(biāo)進(jìn)行分類最盅,利用Lidar的可靠性對(duì)障礙物檢測(cè)和測(cè)距,融合兩者的優(yōu)點(diǎn)完成環(huán)境感知起惕。
無(wú)人駕駛系統(tǒng)中涡贱,我們通常使用圖像視覺(jué)來(lái)完成道路的檢測(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ì)于車道線的偏移(即無(wú)人車自身在車道線的哪個(gè)位置)宛篇。一種方法是抽取一些車道的特征,包括邊緣特征(通常是求梯度薄湿,如索貝爾算子)叫倍,車道線的顏色特征等,使用多項(xiàng)式擬合我們認(rèn)為可能是車道線的像素豺瘤,然后基于多項(xiàng)式以及當(dāng)前相機(jī)在車上掛載的位置確定前方車道線的曲率和車輛相對(duì)于車道的偏離吆倦。
可行駛區(qū)域的檢測(cè)目前的一種做法是采用深度神經(jīng)網(wǎng)絡(luò)直接對(duì)場(chǎng)景進(jìn)行分割,即通過(guò)訓(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等)
2.1.6 預(yù)處理
傳感器層將數(shù)據(jù)以一幀幀、固定頻率發(fā)送給下游师逸,但下游是無(wú)法拿每幀的數(shù)據(jù)去進(jìn)行決策或者融合的司倚。因?yàn)閭鞲衅鞯臓顟B(tài)不是100%有效的,如果僅根據(jù)某一幀的信號(hào)去判定前方是否有障礙物(有可能是傳感器誤檢了)篓像,對(duì)下游決策來(lái)說(shuō)是極不負(fù)責(zé)任的动知。因此上游需要對(duì)信息做預(yù)處理,以保證車輛前方的障得物在時(shí)間維度上是一直存在的员辩, 而不是一閃而過(guò)盒粮。
這里就會(huì)使用到智能駕駛領(lǐng)域經(jīng)常使用到的一個(gè)算法卡爾曼濾波。
卡爾曼濾波(Kalman filter)是一種高效率的遞歸濾波器(自回歸濾波器)奠滑,它能夠從一系列的不完全及包含噪聲的測(cè)量中丹皱,估計(jì)動(dòng)態(tài)系統(tǒng)的狀態(tài)∷嗡埃卡爾曼濾波會(huì)根據(jù)各測(cè)量量在不同時(shí)間下的值摊崭,考慮各時(shí)間下的聯(lián)合分布,再產(chǎn)生對(duì)未知變數(shù)的估計(jì)杰赛,因此會(huì)比只以單一測(cè)量量為基礎(chǔ)的估計(jì)方式要準(zhǔn)呢簸。
卡爾曼濾波在技術(shù)領(lǐng)域有許多的應(yīng)用。常見的有飛機(jī)及太空船的導(dǎo)引、導(dǎo)航及控制根时『偌埽卡爾曼濾波也廣為使用在時(shí)間序列的分析中,例如信號(hào)處理及計(jì)量經(jīng)濟(jì)學(xué)中啸箫。卡爾曼濾波也是機(jī)器人運(yùn)動(dòng)規(guī)劃及控制的重要主題之一伞芹,有時(shí)也包括在軌跡最佳化忘苛。卡爾曼濾波也用在中軸神經(jīng)系統(tǒng)運(yùn)動(dòng)控制的建模中唱较。因?yàn)閺慕o與運(yùn)動(dòng)命令到收到感覺(jué)神經(jīng)的回授之間有時(shí)間差扎唾,使用卡爾曼濾波有助于建立符合實(shí)際的系統(tǒng),估計(jì)運(yùn)動(dòng)系統(tǒng)的目前狀態(tài)南缓,并且更新命令胸遇。
2.1.5 信息融合
信息融合是指把相同屬性的信息進(jìn)行多合一操作。
比如攝像機(jī)檢測(cè)到了車輛正前方有一個(gè)障礙物汉形,毫米波也檢測(cè)到車輛前方有一個(gè)障礙物纸镊,激光雷達(dá)也檢測(cè)到前方有一個(gè)障礙物,而實(shí)際上前方只有一個(gè)障礙物概疆,所以我們要做的是把多傳感器下這輛車的信息進(jìn)行一次融合逗威,以此告訴下游,前面有輛車岔冀,而不是三輛車凯旭。
2.1.6 坐標(biāo)轉(zhuǎn)換
坐標(biāo)轉(zhuǎn)換在自動(dòng)駕駛領(lǐng)域十分重要。
傳感器是安裝在不同地方的比如超聲波雷達(dá)(假如當(dāng)車輛右方有一個(gè)障礙物使套,距離這個(gè)超聲波雷達(dá)有3米罐呼,那么我們就認(rèn)為這個(gè)障礙物距離車有3米嗎?并不一定,因?yàn)闆Q策控制層做車輛運(yùn)動(dòng)規(guī)劃時(shí)侦高,是在車體坐標(biāo)系下做的(車體坐標(biāo)系-般以后軸中心為O點(diǎn))所以最終所有傳感器的信息嫉柴,都是需要轉(zhuǎn)移到自車坐標(biāo)系下的。因此感知層拿到3m的障礙物位置信息后奉呛,必須將該章礙物的位置信息轉(zhuǎn)移到自車坐標(biāo)系下差凹,才能供規(guī)劃決策使用。 同理侧馅,攝像機(jī)一般安裝在擋風(fēng)玻璃下面危尿,拿到的數(shù)據(jù)也是基于攝像機(jī)坐標(biāo)系的,給下游的數(shù)據(jù)馁痴,同樣需要轉(zhuǎn)換到自車坐標(biāo)系下谊娇。
2.1.7 定位
在無(wú)人車感知層面,定位的重要性不言而喻,無(wú)人車需要知道自己相對(duì)于環(huán)境的一個(gè)確切位置济欢,這里的定位不能存在超過(guò)10cm的誤差赠堵,試想一下,如果我們的無(wú)人車定位誤差在30厘米法褥,那么這將是一輛非常危險(xiǎn)的無(wú)人車(無(wú)論是對(duì)行人還是乘客而言)茫叭,因?yàn)闊o(wú)人駕駛的規(guī)劃和執(zhí)行層并不知道它存在30厘米的誤差,它們?nèi)匀话凑斩ㄎ痪珳?zhǔn)的前提來(lái)做出決策和控制半等,那么對(duì)某些情況作出的決策就是錯(cuò)的揍愁,從而造成事故。由此可見杀饵,無(wú)人車需要高精度的定位莽囤。
目前使用最廣泛的無(wú)人車定位方法當(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)缺失话肖,微弱的情況下無(wú)法做到高精度定位,如地下停車場(chǎng)葡幸,周圍均為高樓的市區(qū)等狼牺,因此只能適用于部分場(chǎng)景的無(wú)人駕駛?cè)蝿?wù)。
地圖輔助類定位算法是另一類廣泛使用的無(wú)人車定位算法礼患,同步定位與地圖構(gòu)建(Simultaneous Localization And Mapping是钥,SLAM)是這類算法的代表,SLAM的目標(biāo)即構(gòu)建地圖的同時(shí)使用該地圖進(jìn)行定位缅叠,SLAM通過(guò)利用已經(jīng)觀測(cè)到的環(huán)境特征確定當(dāng)前車輛的位置以及當(dāng)前觀測(cè)特征的位置悄泥。這是一個(gè)利用以往的先驗(yàn)和當(dāng)前的觀測(cè)來(lái)估計(jì)當(dāng)前位置的過(guò)程,實(shí)踐上我們通常使用貝葉斯濾波器(Bayesian filter)來(lái)完成肤粱,具體來(lái)說(shuō)包括卡爾曼濾波(Kalman Filter)弹囚,擴(kuò)展卡爾曼濾波(Extended Kalman Filter)以及粒子濾波(Particle Filter)。SLAM雖然是機(jī)器人定位領(lǐng)域的研究熱點(diǎn)领曼,但是在實(shí)際無(wú)人車開發(fā)過(guò)程中使用SLAM定位卻存在問(wèn)題鸥鹉,不同于機(jī)器人,無(wú)人車的運(yùn)動(dòng)是長(zhǎng)距離的庶骄,大開放環(huán)境的毁渗。在長(zhǎng)距離的運(yùn)動(dòng)中,隨著距離的增大单刁,SLAM定位的偏差也會(huì)逐漸增大灸异,從而造成定位失敗。
在實(shí)踐中,一種有效的無(wú)人車定位方法是改變?cè)瓉?lái)SLAM中的掃描匹配類算法肺樟,具體來(lái)說(shuō)檐春,我們不再在定位的同時(shí)制圖,而是事先使用傳感器如激光雷達(dá)對(duì)區(qū)域構(gòu)建點(diǎn)云地圖么伯,通過(guò)程序和人工的處理將一部分“語(yǔ)義”添加到地圖中(例如車道線的具體標(biāo)注疟暖,路網(wǎng),紅綠燈的位置田柔,當(dāng)前路段的交通規(guī)則等等)俐巴,這個(gè)包含了語(yǔ)義的地圖就是我們無(wú)人駕駛車的高精度地圖(HD Map)。實(shí)際定位的時(shí)候凯楔,使用當(dāng)前激光雷達(dá)的掃描和事先構(gòu)建的高精度地圖進(jìn)行點(diǎn)云匹配,確定我們的無(wú)人車在地圖中的具體位置锦募,這類方法被統(tǒng)稱為掃描匹配方法(Scan Matching)摆屯,掃描匹配方法最常見的是迭代最近點(diǎn)法(Iterative Closest Point ,ICP)糠亩,該方法基于當(dāng)前掃描和目標(biāo)掃描的距離度量來(lái)完成點(diǎn)云配準(zhǔn)虐骑。
除此以外,正態(tài)分布變換(Normal Distributions Transform赎线,NDT)也是進(jìn)行點(diǎn)云配準(zhǔn)的常用方法廷没,它基于點(diǎn)云特征直方圖來(lái)實(shí)現(xiàn)配準(zhǔn)〈沽龋基于點(diǎn)云配準(zhǔn)的定位方法也能實(shí)現(xiàn)10厘米以內(nèi)的定位精度颠黎。雖然點(diǎn)云配準(zhǔn)能夠給出無(wú)人車相對(duì)于地圖的全局定位,但是這類方法過(guò)于依賴事先構(gòu)建的高精度地圖滞项,并且在開放的路段下仍然需要配合GPS定位使用狭归,在場(chǎng)景相對(duì)單一的路段(如高速公路),使用GPS加點(diǎn)云匹配的方法相對(duì)來(lái)說(shuō)成本過(guò)高文判。
拓展閱讀:L4 自動(dòng)駕駛中感知系統(tǒng)遇到的挑戰(zhàn)及解決方案
淺析自動(dòng)駕駛的重要一環(huán):感知系統(tǒng)發(fā)展現(xiàn)狀與方向
2.2 規(guī)劃
2.2.1 任務(wù)規(guī)劃
無(wú)人車的規(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é)中提到的高精度地圖的“語(yǔ)義”部分,這個(gè)有向網(wǎng)絡(luò)圖被稱為路網(wǎng)圖(Route Network Graph),如下圖所示:
這樣的路網(wǎng)圖中的每一個(gè)有向邊都是帶權(quán)重的根盒,那么钳幅,無(wú)人車的路徑規(guī)劃問(wèn)題,就變成了在路網(wǎng)圖中炎滞,為了讓車輛達(dá)到某個(gè)目標(biāo)(通常來(lái)說(shuō)是從A地到B地)敢艰,基于某種方法選取最優(yōu)(即損失最小)的路徑的過(guò)程册赛,那么問(wèn)題就變成了一個(gè)有向圖搜索問(wèn)題钠导,傳統(tǒng)的算法如迪科斯徹算法(Dijkstra’s Algorithm)和A算法(A Algorithm)主要用于計(jì)算離散圖的最優(yōu)路徑搜索,被用于搜索路網(wǎng)圖中損失最小的路徑森瘪。
2.2.2 ****行為規(guī)劃
行為規(guī)劃有時(shí)也被稱為決策制定(Decision Maker)牡属,主要的任務(wù)是按照任務(wù)規(guī)劃的目標(biāo)和當(dāng)前的局部情況(其他的車輛和行人的位置和行為,當(dāng)前的交通規(guī)則等)扼睬,作出下一步無(wú)人車應(yīng)該執(zhí)行的決策逮栅,可以把這一層理解為車輛的副駕駛,他依據(jù)目標(biāo)和當(dāng)前的交通情況指揮駕駛員是跟車還是超車窗宇,是停車等行人通過(guò)還是繞過(guò)行人等等措伐。
行為規(guī)劃的一種方法是使用包含大量動(dòng)作短語(yǔ)的復(fù)雜有限狀態(tài)機(jī)(Finite State Machine,F(xiàn)SM)來(lái)實(shí)現(xiàn)军俊,有限狀態(tài)機(jī)從一個(gè)基礎(chǔ)狀態(tài)出發(fā)侥加,將根據(jù)不同的駕駛場(chǎng)景跳轉(zhuǎn)到不同的動(dòng)作狀態(tài),將動(dòng)作短語(yǔ)傳遞給下層的動(dòng)作規(guī)劃層粪躬,下圖是一個(gè)簡(jiǎn)單的有限狀態(tài)機(jī):
如上圖所示担败,每個(gè)狀態(tài)都是對(duì)車輛動(dòng)作的決策,狀態(tài)和狀態(tài)之間存在一定的跳轉(zhuǎn)條件镰官,某些狀態(tài)可以自循環(huán)(比如上圖中的循跡狀態(tài)和等待狀態(tài))氢架。雖然是目前無(wú)人車上采用的主流行為決策方法,有限狀態(tài)機(jī)仍然存在著很大的局限性:首先朋魔,要實(shí)現(xiàn)復(fù)雜的行為決策岖研,需要人工設(shè)計(jì)大量的狀態(tài);車輛有可能陷入有限狀態(tài)機(jī)沒(méi)有考慮過(guò)的狀態(tài)警检;如果有限狀態(tài)機(jī)沒(méi)有設(shè)計(jì)死鎖保護(hù)孙援,車輛甚至可能陷入某種死鎖。
2.2.3 動(dòng)作規(guī)劃
通過(guò)規(guī)劃一系列的動(dòng)作以達(dá)到某種目的(比如說(shuō)規(guī)避障礙物)的處理過(guò)程被稱為動(dòng)作規(guī)劃扇雕。通常來(lái)說(shuō)拓售,考量動(dòng)作規(guī)劃算法的性能通常使用兩個(gè)指標(biāo):計(jì)算效率(Computational Efficiency)和完整性(Completeness),所謂計(jì)算效率镶奉,即完成一次動(dòng)作規(guī)劃的處理效率础淤,動(dòng)作規(guī)劃算法的計(jì)算效率在很大程度上取決于配置空間(Configuration Space)崭放,如果一個(gè)動(dòng)作規(guī)劃算法能夠在問(wèn)題有解的情況下在有限時(shí)間內(nèi)返回一個(gè)解,并且能夠在無(wú)解的情況下返回?zé)o解鸽凶,那么我們稱該動(dòng)作規(guī)劃算法是完整的币砂。
配置空間:一個(gè)定義了機(jī)器人所有可能配置的集合,它定義了機(jī)器人所能夠運(yùn)動(dòng)的維度玻侥,最簡(jiǎn)單的二維離散問(wèn)題决摧,那么配置空間就是[x, y],無(wú)人車的配置空間可以非常復(fù)雜凑兰,這取決于所使用的運(yùn)動(dòng)規(guī)劃算法掌桩。
在引入了配置空間的概念以后,那么無(wú)人車的動(dòng)作規(guī)劃就變成了:在給定一個(gè)初始配置(Start Configuration)姑食,一個(gè)目標(biāo)配置(Goal Configuration)以及若干的約束條件(Constraint)的情況下波岛,在配置空間中找出一系列的動(dòng)作到達(dá)目標(biāo)配置,這些動(dòng)作的執(zhí)行結(jié)果就是將無(wú)人車從初始配置轉(zhuǎn)移至目標(biāo)配置音半,同時(shí)滿足約束條件则拷。在無(wú)人車這個(gè)應(yīng)用場(chǎng)景中,初始配置通常是無(wú)人車的當(dāng)前狀態(tài)(當(dāng)前的位置祟剔,速度和角速度等)隔躲,目標(biāo)配置則來(lái)源于動(dòng)作規(guī)劃的上一層——行為規(guī)劃層摩梧,而約束條件則是車輛的運(yùn)動(dòng)限制(最大轉(zhuǎn)角幅度物延,最大加速度等)。顯然仅父,在高維度的配置空間來(lái)動(dòng)作規(guī)劃的計(jì)算量是非常巨大的叛薯,為了確保規(guī)劃算法的完整性,我們不得不搜索幾乎所有的可能路徑笙纤,這就形成了連續(xù)動(dòng)作規(guī)劃中的“維度災(zāi)難”問(wèn)題耗溜。目前動(dòng)作規(guī)劃中解決該問(wèn)題的核心理念是將連續(xù)空間模型轉(zhuǎn)換成離散模型,具體的方法可以歸納為兩類:組合規(guī)劃方法(Combinatorial Planning)和基于采樣的規(guī)劃方法(Sampling-Based Planning)省容。
運(yùn)動(dòng)規(guī)劃的組合方法通過(guò)連續(xù)的配置空間找到路徑抖拴,而無(wú)需借助近似值。由于這個(gè)屬性腥椒,它們可以被稱為精確算法阿宅。組合方法通過(guò)對(duì)規(guī)劃問(wèn)題建立離散表示來(lái)找到完整的解,如在Darpa城市挑戰(zhàn)賽(Darpa Urban Challenge)中笼蛛,CMU的無(wú)人車BOSS所使用的動(dòng)作規(guī)劃算法洒放,他們首先使用路徑規(guī)劃器生成備選的路徑和目標(biāo)點(diǎn)(這些路徑和目標(biāo)點(diǎn)事融合動(dòng)力學(xué)可達(dá)的),然后通過(guò)優(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),在無(wú)人車的應(yīng)用中蔓腐,狀態(tài)采樣方法需要考慮兩個(gè)狀態(tài)的控制約束矩乐,同時(shí)還需要一個(gè)能夠有效地查詢采樣狀態(tài)和父狀態(tài)是否可達(dá)的方法。
2.3 控制
自動(dòng)駕駛汽車的車輛控制技術(shù)旨在環(huán)境感知技術(shù)的基礎(chǔ)之上回论,根據(jù)決策規(guī)劃出目標(biāo)軌跡散罕,通過(guò)縱向和橫向控制系統(tǒng)的配合使汽車能夠按照跟蹤目標(biāo)軌跡準(zhǔn)確穩(wěn)定行駛,同時(shí)使汽車在行駛過(guò)程中能夠?qū)崿F(xiàn)車速調(diào)節(jié)傀蓉、車距保持欧漱、換道、超車等基本操作葬燎。
互聯(lián)網(wǎng)科技公司主要做軟件误甚,以工程機(jī)上層為主;而車廠其實(shí)以下層的組裝為主谱净,也就是OEM窑邦,也不是那么懂車。像制動(dòng)壕探、油門和轉(zhuǎn)向等這些領(lǐng)域冈钦,話語(yǔ)權(quán)依然集中在博世、大陸這樣的Tier 1身上李请。
自動(dòng)駕駛控制的核心技術(shù)是車輛的縱向控制和橫向控制技術(shù)瞧筛。縱向控制导盅,即車輛的驅(qū)動(dòng)與制動(dòng)控制较幌;橫向控制,即方向盤角度的調(diào)整以及輪胎力的控制白翻。實(shí)現(xiàn)了縱向和橫向自動(dòng)控制乍炉,就可以按給定目標(biāo)和約束自動(dòng)控制車運(yùn)行。所以滤馍,從車本身來(lái)說(shuō)岛琼,自動(dòng)駕駛就是綜合縱向和橫向控制。
2.3.1 車輛縱向控制
車輛縱向控制是在行車速度方向上的控制纪蜒,即車速以及本車與前后車或障礙物距離的自動(dòng)控制衷恭。巡航控制和緊急制動(dòng)控制都是典型的自動(dòng)駕駛縱向控制案例。這類控制問(wèn)題可歸結(jié)為對(duì)電機(jī)驅(qū)動(dòng)纯续、發(fā)動(dòng)機(jī)随珠、傳動(dòng)和制動(dòng)系統(tǒng)的控制灭袁。各種電機(jī)-發(fā)動(dòng)機(jī)-傳動(dòng)模型、汽車運(yùn)行模型和剎車過(guò)程模型與不同的控制器算法結(jié)合窗看,構(gòu)成了各種各樣的縱向控制模式茸歧,典型結(jié)構(gòu)如圖所示。
此外显沈,針對(duì)輪胎作用力的滑移率控制是縱向穩(wěn)定控制中的關(guān)鍵部分软瞎。滑移率控制系統(tǒng)通過(guò)控制車輪滑移率調(diào)節(jié)車輛的縱向動(dòng)力學(xué)特性來(lái)防止車輛發(fā)生過(guò)度驅(qū)動(dòng)滑移或者制動(dòng)抱死拉讯,從而提高車輛的穩(wěn)定性和操縱性能涤浇。制動(dòng)防抱死系統(tǒng)(antilock brake system)簡(jiǎn)稱 ABS,在汽車制動(dòng)時(shí)魔慷,自動(dòng)控制制動(dòng)器制動(dòng)力的大小只锭,使車輪不被抱死,處于邊滾邊滑(滑移率在 20%左右)的狀態(tài)院尔,以保證地面能夠給車輪提供最大的制動(dòng)作用力值蜻展。一些智能滑移率控制策略利用充足的環(huán)境感知信息設(shè)計(jì)了隨道路環(huán)境變化的車輪最有滑移率調(diào)節(jié)器,從而提升輪胎力作用效果邀摆。
智能控制策略纵顾,如模糊控制、神經(jīng)網(wǎng)絡(luò)控制栋盹、滾動(dòng)時(shí)域優(yōu)化控制等施逾,在縱向控制中也得到廣泛研究和應(yīng)用,并取得了較好的效果贞盯,被認(rèn)為是最有效的方法音念。
而傳統(tǒng)控制的方法沪饺,如PID控制和前饋開環(huán)控制躏敢,一般是建立發(fā)動(dòng)機(jī)和汽車運(yùn)動(dòng)過(guò)程的近似線形模型,在此基礎(chǔ)上設(shè)計(jì)控制器整葡,這種方法實(shí)現(xiàn)的控制件余,由于對(duì)模型依賴性大及模型誤差較大,所以精度差遭居、適應(yīng)性差啼器。從目前的論文和研究的項(xiàng)目看,尋求簡(jiǎn)單而準(zhǔn)確的電機(jī)-發(fā)動(dòng)機(jī)-傳動(dòng)俱萍、剎車過(guò)程和汽車運(yùn)動(dòng)模型端壳,以及對(duì)隨機(jī)擾動(dòng)有魯棒性和對(duì)汽車本身性能變化有適應(yīng)性的控制器仍是研究的主要內(nèi)容。
2.3.2 車輛橫向控制
車輛橫向控制指垂直于運(yùn)動(dòng)方向上的控制枪蘑,對(duì)于汽車也就是轉(zhuǎn)向控制损谦。目標(biāo)是控制汽車自動(dòng)保持期望的行車路線岖免,并在不同的車速、載荷照捡、風(fēng)阻颅湘、路況下有很好的乘坐舒適性和穩(wěn)定性。
車輛橫向控制主要有兩種基本設(shè)計(jì)方法栗精,一種是基于駕駛員模擬的方法闯参;另一種是給予汽車橫向運(yùn)動(dòng)力學(xué)模型的控制方法”ⅲ基于駕駛員模擬的方法鹿寨,一種策略是使用較簡(jiǎn)單的運(yùn)動(dòng)力學(xué)模型和駕駛員操縱規(guī)則設(shè)計(jì)控制器;另一策略是用駕駛員操縱過(guò)程的數(shù)據(jù)訓(xùn)練控制器獲取控制算法薪夕∈鸵疲基于運(yùn)動(dòng)力學(xué)模型的方法要建立較精確的汽車橫向運(yùn)動(dòng)模型。典型模型是所謂單軌模型寥殖,或稱為自行車模型玩讳,也就是認(rèn)為汽車左右兩側(cè)特性相同。橫向控制系統(tǒng)基本結(jié)構(gòu)如下圖嚼贡⊙浚控制目標(biāo)一般是車中心與路中心線間的偏移量,同時(shí)受舒適性等指標(biāo)約束粤策。