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