![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yYiBTN1QzMlFTN0cTZ3IGNmJGOkBzM1ETN4cTN4kjZ28CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
前沿
SLAM作為機器人領域深耕已久的方向,在我看來已經比較成熟了。從開始的EKF SLAM到現在的RTAB-MAP, ORB-SLAM, Cartographer各種SLAM算法百花齊放。SLAM的回環檢測在提高機器人的定位精度上,讓我眼前煥然一新。
“SLAM擁有實時定位和建構地圖的能力,這對于自動駕駛來說不是非常利好?既可以定位,又可以同時建構低配版HD map, 而且還可以通過這個低配版地圖進行重定位?”
我是抱着這麼個想法,開始琢磨着可不可以把基于雷射雷達的Cartographer應用在自動駕駛上。
SLAM應用在自動駕駛後的思考
是以上周就開始分析Cartographer。cartographer 是谷歌的開源SLAM項目。它是一個以低配硬體實作大型場景實時精确(5cm)SLAM的項目。
涉及到的内容很多很多,算法也比較複雜。單純看他們的論文是看不出啥東西的。像這種大型項目,必須得是論文+文獻+tutorial+其他人的說明。
googlecartographer/cartographergithub.com
總之,現在看過了各種文章,論文也讀過了,tutorial過了好幾遍,tuning了一些參數,在KITTI資料集做的rosbag上運作并觀察了一些情況。還是蠻有意思的└(^_^)┘
但是突然意識到些都不是重點。
我之前一直覺得回環好炫,好厲害,必須通過回環提升定位精度。
不過,想了一想,自動駕駛車輛的定位,不能依靠回環啊!車都跑偏了,還調整一起的位姿幹啥?
●▽●
Carto裡面利用lidar的
t和
t-1的點雲資料得到robot motion, 同時利用IMU進行補償。補償機制是啥還不知道,可能是貝葉斯濾波。如果用了基于貝葉斯理論的濾波器的話,那麼基于LIDAR的motion估計值和基于貝葉斯濾波器的估計值,哪個會更準确呢? 因為在建構submap的時候,submap的構圖的基準點,也就是車輛位置越準确,之後的pose和全局回環的時候才會更準确。哪個更準确呢, 這個有待測試。。
是以,問題又回來了。對于自動駕駛車輛來說,回環的比重不像在SLAM裡那麼重要。
實時定位才是自動駕駛真正應該關心的事情。自動駕駛回環也重要,但是沒有實時定位重要。
一般的高精度的定位方法是基于RTK DGPS。這種研究已經進行了很久了,也比較成熟了。成熟到啥程度呢, 就是買個DGPS硬體系統和軟體,就能直接調取1~2cm誤差範圍的位置資料。商用的沒錢看。開源的RTK GPS有興趣可以看看下面的開源RTKGPS項目。
An Open Source Program Package for GNSS Positioningwww.rtklib.com
SLAM如何應用在自動駕駛車輛定位上?
SLAM強大的回環檢測在自動駕駛實時定位上, 幫不上太大忙。那是因為實時定位依靠的gps系統可以得到較高的準确度。
不過,影響gps的資料準确性的原因有很多,天氣啊,遮擋物啊,高樓啊。典型的場景就是,地下車庫,隧道,高樓比較多的市區。這種情況下,現階段的自動駕駛車輛會依賴高精地圖。也就是說,如果沒有高精地圖的, GPS不被信賴的場景,是完全可以嫁接SLAM的技術的。如果有對應地形的地圖,那麼就可以通過有地圖情況下的SLAM算法,沒有的話,跟一般SLAM是沒什麼差別的。
我認為,機器人算法和自動駕駛算法有以下差別。
- * 自動駕駛對算法安全性的要求高。是首要因素。比什麼都重要
- 自動駕駛車輛的 可移動自由度 比機器人要 低
- * 自動駕駛車輛的 速度 相對于機器人要 高 很多
- *自動駕駛車輛對算法的 魯棒性要求高
- *自動駕駛車輛的 實時定位 更為 重要
。
或許可以通過V2X的手段,檢測回環,提高自身定位精度。
-
(研發車輛,不是量産)自動駕駛車輛對算力沒什麼上限。
(量産)就需要權衡硬體性能,計算量,算法的效率等等。
- 自動駕駛車輛的路況相當複雜,沒有統一性。是以算法要有普适性。
- 自動駕駛車廠有自己的平台,不可能随便換平台。跟機器人有較大的差別。
總結
通過這些天的學習,觀察了cartographer應用在自動駕駛上的問題。SLAM的即時定位是可以直接應用在自動駕駛車輛上的,盡管他的穩定性和精确度有待測試。但是回環檢測這個大殺器在自動駕駛的應用,感覺非常有限。因為
車輛不能在任何一個瞬間丢失自身的位置。由于每個瞬間都很重要,是以
不可能等到被檢測到回環的時候才提升定位精度。但是,我們并不能說回環在提高定位精度方面沒有任何貢獻。相反,如果通過V2V共享&合并軌迹檢測回環或是自身檢測回環,是可以提升車輛以後的定位精度的。
最重要的是,得知道車輛的場景&要解決的問題。
在這裡,我關注的點是在
隧道場景中的
車輛的實時定位問題。涉及到的有
車輛動力學(kinematic model), 基于VIO & LIO的T, T-1 的motion model, 貝葉斯濾波。附錄
- KITTI轉換為bag的repo:
tomas789/kitti2baggithub.com