自动驾驶(七十九)---------Apollo之定位模块
? ? ? ?在現(xiàn)階段的自動(dòng)駕駛中,定位一直是很重要的話題;最近特斯拉的開放道路自動(dòng)駕駛一定程度上降低了定位的重要性,采用實(shí)時(shí)圖像分析生成概率地圖,這項(xiàng)技術(shù)還有待市場(chǎng)去打磨的更加成熟。在我看來作為一個(gè)自動(dòng)駕駛工程師,成長(zhǎng)的線路很清晰:Apollo系統(tǒng)作為基礎(chǔ),特斯拉的技術(shù)才是你追求的方向。每篇博客之前,喜歡加一些感悟,一者話題引入;二者抒自己所想,讓技術(shù)不再冰冷。誠(chéng)然時(shí)光荏苒,紙長(zhǎng)情短,以后再看時(shí)難免覺得幼稚;哇!你又成長(zhǎng)了。
? ? ? 說Apollo的定位之前,對(duì)場(chǎng)景我們先進(jìn)行大概的梳理:首先默認(rèn)車身自帶民用級(jí)的GPS和高精地圖;其次定位的作用是要確定車身精確的坐標(biāo)和航向角。
? ? ? ?Apollo系統(tǒng)中的定位分為三種:1. RTK定位;2. 基于Lidar的多傳感器融合定位;3. 百度的核心貢獻(xiàn):基于視覺和百度高精地圖的自定位。
1. RTK定位
? ? ? ?RKT定位原理之前有文章有介紹:傳送門;這里主要從實(shí)現(xiàn)流程來介紹Apollo的RTK定位。主要函數(shù):
void RTKLocalization::ComposeLocalizationMsg()2. 基于Lidar的多傳感器融合定位
? ? ? 基于激光點(diǎn)云的濾波相對(duì)受很多因素的限制,首先需要預(yù)先制作一個(gè)“全聚德”地圖,比如點(diǎn)云圖,概率地圖等。然后拿實(shí)時(shí)點(diǎn)云與地圖做匹配,匹配用實(shí)時(shí)點(diǎn)云里面的顏色值或者高度值的分布和這個(gè)地圖去匹配,得到概率圖,采用加權(quán)平均的方式得到車輛的位置。
? ? ? 多傳感器融合指的是:在激光雷達(dá)定位的基礎(chǔ)上,我們可以加入車身運(yùn)動(dòng)學(xué)信息,采用卡爾曼濾波進(jìn)行上層處理,從而最終輸出車輛的位置信息。
? ? ? 這里采用apollo公開課的ppt介紹基于Lidar的定位算法框架:
? ? ? ? ?
3.?基于視覺和百度高精地圖的自定位
? ? ? 百度自己有高精地圖,毫無疑問Apollo中一定要發(fā)揮自有地圖的優(yōu)勢(shì),高精地圖如何在定位中發(fā)揮作用呢??首先百度高精地圖在制作時(shí),已經(jīng)加入了各種交通語義的位置信息,假如車輛的視覺計(jì)算平臺(tái),能夠識(shí)別圖像中具有語義信息,并在高精地圖中匹配出對(duì)應(yīng)的語義信息,那么就可以計(jì)算出車輛的位置和朝向。這套方案有以下特點(diǎn):
? ? ?常用的交通語義有:車道線、路肩、護(hù)欄、交通標(biāo)志、路燈、車道線分叉合并點(diǎn) 等......同樣的視覺定位也可以結(jié)合多傳感器的融合,它需要gps的初始位置,也需要imu做卡爾曼濾波融合。同樣借用apollo的ppt介紹視覺定位的算法框架:
? ? ? ? ? ?
? ? ?目前實(shí)戰(zhàn)中,利用車道線可以很快的收斂橫向誤差,縱向誤差則需要有精確點(diǎn)的交通語義信號(hào),如:紅綠燈、交通標(biāo)志、分叉點(diǎn)等等。當(dāng)每次出現(xiàn)這種有精確點(diǎn)的語義信號(hào)時(shí),需要做一次位置誤差的矯正。
? ? ? ? ? ? ??
? ? 高精地圖和高精定位一直都是自動(dòng)駕駛努力的方向,但是做了這么多,目的還是想知道交通語義和車輛的相對(duì)位置,當(dāng)然能很大程度上擴(kuò)展范圍,但是人也是通過視覺來開車的,所以范圍的擴(kuò)展有沒有必要也有待論證,說到底還是tesla的完全基于視覺的方案才是未來自動(dòng)駕駛的方向。
? ? ? ? ? ??
總結(jié)
以上是生活随笔為你收集整理的自动驾驶(七十九)---------Apollo之定位模块的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第二章:RocketMQ集群监控平台 r
- 下一篇: shutdown关机命令 C语言 关