無人駕駛技術與SLAM的契合點在哪裡,有什麼理由能夠讓SLAM成為無人駕駛的關鍵技術?
SLAM傳統上還是面向室內等缺少GPS信號的應用,例如室內移動機器人導航,而在無人駕駛汽車上,它的意義和作用是什麼,已經有高精度的地圖和城市GPS信號了,那就是說SLAM只是為了感知么?
謝邀,有很多留言郵件問過我這個問題,很抱歉我都沒有回復,因為這個問題暫時還沒有明確答案,作為身在自動駕駛研發一線的成員,只能分享一下想法大家一起探討。
答題先扣題,這裡的slam假設是視覺slam了,因為激光slam精度較高,在自動駕駛中應用已經比較多了這點沒什麼疑問。無人汽車也不可能隨時收到GPS信號,GPS信號不是直接可用,因此SLAM有用。SLAM不是感知技術,主要還是用於定位。
--------------------------------------我是分割線-------------------------------------------------
之後可以展開來說一下,
以視覺技術為核心的自動駕駛技術其實已經有現成的模板: 歐盟的v-charge項目
https://cvg.ethz.ch/research/v-charge/這個項目的主要目標就是實現低成本可量產的大型停車場自主泊車解決方案,相機的配置為前視雙目相機和環視四路魚眼相機,另外輔以四面超聲波雷達用作基本避障。這種感測器的配置優勢很明顯,成本極低(對比激光雷達,高精IMU,室內UWB),方便車規級量產,對當前車輛結構設計改動很小,易於推廣。slam可以有定位和建圖兩方面應用,目前看來在自動駕駛中主要的需求還是定位。相對而言定位的成本是遠高於建圖的,因為定位系統必須每台車都裝備,而建圖則不需要。當然為了保證地圖的及時更新,建圖車也是多多益善,但這個話題可以分開討論。
如果把視覺slam劃分為定位技術的話,則稀疏,稠密,半稠密地圖的討論都沒有什麼意義了,因為建立的地圖純粹是用來幫助相對定位的。因此只要保存足夠大的局部地圖,支持一定規模的local ba即可。
前面幾個答案中,似乎把高精地圖和slam建立的點雲地圖都算成了「地圖」,我覺得還是有必要澄清一下,這兩個地圖表達形式是完全不同的。點雲地圖需要相當複雜的後處理,包括人工標註,才能成為高精地圖。目前為止,市面上還沒有基於視覺的全自動高精地圖生成方案,國內外有不少企業正在努力地做這件事情,希望能早日實現。
回過頭來說視覺slam,對於定位技術而言,最重要的指標是精度。由於vo是一種相對定位的方式,很少會產生定位跳變,累積誤差的影響會比較大。所以最重要的指標就是位姿偏移了千分之幾,即每走一百米,誤差多少厘米?
這個指標直接決定了視覺slam在自動駕駛中的應用場景,它表示了在絕對定位技術(gps, uwb, 重定位等)技術缺失的情況下,自動駕駛汽車可以工作的時間與範圍。
結合自動駕駛的場景,可以推出vslam的應用點主要是:
1. gps缺失場景下的長時間定位,如室內,樓房中。2. 補償行駛過程中gps信號不穩定造成的定位跳躍,如山洞,高樓群,野外山區等。vslam的精度及魯棒性越高,適用的場景越寬廣。如果vslam能在任何場景無限長定位保持高精度,那其他定位技術就可以歇菜了,當然目前看來這個可能性很小,因此需要嘗試結合imu,編碼器等設備融合。至於最終的技術形態,目前還沒有定論。
在無人駕駛汽車上,目前比較顯著的瓶頸還在計算方面,數據收發,障礙物感知,融合定位,路徑規劃,每個模塊都需要佔據相當的計算資源。而SLAM本身就是對計算力消耗極大的一個模塊(無論視覺還是激光),如果加上高頻率的IMU進行融合優化,則計算力更加捉襟見肘。因此是否值得為視覺SLAM分配原本就那麼有限的計算資源,如何識別場景對SLAM模塊進行激活都是需要仔細衡量的。
值得一提的是,在v-charge項目中,主要還是基於傳統的特徵點定位,深度圖避障等方法,在特定場景下能夠完成自動泊車任務。但是對於一個工業級產品而言,其魯棒性仍然十分存疑,因此至今尚未能夠看到相關產品面世。而近幾年來深度學習大大提升了視覺演算法的基本感知能力,如穩定實時的物體檢測,語義分割技術。它們一方面可以使得自動駕駛汽車對於定位精度的需求從厘米級降低到亞米級,另一方面有望進一步提升視覺SLAM的精度及魯棒性。這樣可以使高精地圖的繪製成本及定位系統的實現成本大大降低。
目前我們組正在相關的領域進行基於多種方案的研發,持續招人中(實習正式均可),希望加入的同學歡迎發送簡歷到qinrui.yan@hobot.cc。
拋磚引玉回答一個。
這也算是SLAM問題「終極二問」的其中一問了:Do autonomous robots really need SLAM?
另外一個是:Is SLAM sloved?[1]
題主的第一個問題,無人駕駛技術與SLAM的契合點在哪裡?
回答這個問題,首先要明確SLAM的使命。最初,SLAM的提出就是為了解決未知環境下移動機器人的定位和建圖的問題。
所以,籠統的說,SLAM對於無人駕駛的意義就是如何幫助車輛感知周圍環境,更好的完成導航、避障、路徑規劃等高級任務。
題主提到現在已經有高精度的地圖,暫且不去考慮這個地圖的形式、存儲規模和如何用它的問題。首先,這個構建好的地圖真的能幫助無人駕駛完成避障或者路徑規劃等的類似任務嗎?至少環境是動態的,道路哪裡有一輛車,什麼時候會出現一個行人,這些都是不確定的。所以從實時感知周圍環境這個角度來講,提前構建好的地圖是不能解決這個問題的。
另外,GPS的定位方式是被動的、依賴信號源的,這一點使得其在一些特殊場景下是不可靠的,比如城市環境中GPS信號被遮擋,野外環境信號很弱,還有無人作戰車輛作戰中信號被干擾以及被監測等。所以像視覺SLAM這種主動的並且無源的工作方式在上述場景中是有優勢的。
從硬體角度講,目前主流的視覺SLAM方案,在構建低成本,小型化,易於搭載的硬體平台方面也是有優勢的。
對於第二個問題,有什麼理由能夠讓SLAM成為無人駕駛的關鍵技術?
我個人不是很贊同這個邏輯。SLAM作為一個很龐雜的系統,其本身也有很多關鍵環節和實際應用中會遇到的難題,作為一種應用場景越來越廣泛的技術(如自動機器人,無人機,無人駕駛,AR),它可能永遠不會成為無人駕駛的關鍵技術,與其思考這個問題,不如關注SLAM本身,即圍繞定位和建圖這兩個基本任務,來想想里程計是不是可以估計的更準確,環境地圖信息是不是可以建立得更豐富(比如有用的語義信息),場景識別/閉環檢測是不是能保證更高的準確率和召回率,是不是可以藉助其他感測器完善SLAM系統,接下來在想想SLAM能幫助無人駕駛做些什麼?只有技術越來越完善和成熟,才能被應用到更多的實際場景中。
另外,我目前在研究結合深度學習如何解決視覺SLAM場景識別問題,如果各位對這方面有興趣或者做過相關的工作,歡迎交流!
[1] Cadena, Cesar, et al. "Past, present, and future of simultaneous localization and mapping: Toward the robust-perception age." IEEE Transactions on Robotics 32.6 (2016): 1309-1332.
謝邀,從phd學生的視角簡單說一下,只了解一點皮毛,工業界大佬們請拍~
首先題主說的基本上是對的,目前自動駕駛中大家依賴的定位技術主流是高精度預製地圖+localization(激光、視覺、GPS以及各種融合),需要vehicle具備online mapping能力的時間並不多,也就是說目前自動駕駛汽車在絕大多數運行時間內並沒有運行SLAM。
那我們就可以說在自動駕駛中SLAM技術沒有用武之地么?我個人不這樣認為。原因以下幾點:
1、高精度預製地圖從何而來?由於目前車載GPS+慣導的精度尚無法支持大尺度上的高精度定位來直接建圖(RTK-GPS的主要問題是城市、隧道環境丟星,還有基站的問題),所以以目前的技術,城市及更大尺度的高精度建圖還是要部分依賴SLAM技術。而且這裡面有很多值得研究的問題,比如超大規模least square優化、多機器人建圖與子圖合併、不同時間尺度上建圖的合併(比如冬天的圖與夏天圖的合併、白天與夜間圖的合併,如果是視覺建圖這個問題非常難),所以說這裡面有很多的SLAM問題可以研究。
2、localization問題,某種程度上來說定位和重定位都是SLAM的子問題,使用的很多技術都是相通的,研究透SLAM的researcher在預製地圖上做定位也會得心應手。
3、預製地圖+定位無法覆蓋的情況,目前沒有哪個廠家試圖做到全世界範圍高精度、高更新頻率建圖,總有沒有地圖覆蓋、地圖更新不及時,以及off-road的情況,所以所有的廠家都要求車輛具有一定的SLAM能力以應對沒有地圖,或者預製地圖不能使用的未知的情況。
城市內有很多GPS失鎖的區域,例如隧道、高架橋,地下車庫等,需要slam進行定位,當然最好還要結合輪速計、組合導航才能達到比較高精度的定位結果
謝邀。我個人感覺無人駕駛技術確實是不需要SLAM來建立地圖的,對城區尺度的環境,SLAM建圖的效果完全比不上RTK-GPS;但是SLAM中的Localization很有意義:稍微修正下GPS的誤差。
弱答一發。
目前看來,SLAM/SfM在自動駕駛的一些特定領域會有用,但可能不如目標檢測、語義分割、路徑規劃那樣具有普適性。話說,SLAM本身就是個感知方法啊。
高精度地圖
高精度地圖一般用在L4及以上的無人駕駛。
視覺為主的高精度地圖可以利用SLAM/SfM來生成。
- 採集GPS、IMU和視覺感測器數據
- 利用SLAM/SfM生成全局地圖
- 從視覺數據中提取(或人工標註)語義信息,如車道線、交通標誌等
- 利用MVG重建出語義信息的幾何位置
這裡,SLAM/SfM用於提供我們感興趣的信息的幾何空間位置。帶有幾何位置的語義信息再加工後可以生成高精度矢量地圖。SLAM地圖本身可以生成視覺特徵地圖。這兩種地圖之後都可用於車輛定位。
激光為主的高精度地圖類似。
這裡面有很多工程化的問題需要思考,比如地圖的壓縮方法、定位的精度、地圖的更新方式。如果用眾包方式建圖,還要考慮到本地運算的能力、上傳的數據量、地圖的融合、硬體差異、標定和自標定等實際問題,其中一些問題非常有難度。
局部定位
這裡的定位特指不依賴於高精度地圖的局部定位。比如,一些輔助駕駛功能希望獲取車輛相對於地面的姿態,或者是車輛相對於車道線的精確位置,或者是周圍環境中其它物體的方位、速度等等。
利用GPS、IMU和攝像頭,用SLAM、VO甚至更直接的定位方法來獲取當前的車輛姿態。目前由於這些功能所用的感測器一般為單個攝像頭,因此會遇到初始化、精度不夠、尺度漂移等,且平台的運算能力受限,因此可能要結合一些道路的先驗知識和目標檢測演算法來解決。
自動泊車
自動泊車是一個比較特殊的應用,是一個可能較早落地的自動駕駛應用。考慮到激光雷達的成本,短期內大部分想落地的方案還是依賴於攝像頭、IMU、里程計和其它現有車輛感測器的數據。自動泊車在不同的環境下會有不同的精度要求。定位的精度會極大影響自動泊車的實用性和可靠性。這時,必須要考慮SLAM累積誤差的問題。
還有大咖用SfM生成大規模稠密3D地圖來做模擬和驗證的。
工作機會的話,目前大部分自動駕駛、輔助駕駛的公司都有SLAM的人才需求。
SLAM在觀測環節是需要感知周圍的landmark,來進行data association 來提高精度來的。本質上來說其並不是為了感知。
就目前的階段來說,SLAM的相關的技術在無人車中主要用來定位,建圖在一些非結構化場景可能會使用,例如停車場、園區(動態變化大,沒有提前見圖)。不過在實際中,目前大家大多還是基於高精度地圖來做,在高精度地圖中,一個處理後的結構化的矢量地圖,精度達到10cm級別,另外是點雲地圖,其中帶有壓縮後的點雲數據(lanemark)。
定位來看,主要是同樣採用slam技術方案類似的定位方法,例如EKF,然後通過各種sensor得出來的lanemark進行匹配,從而達到定位的目前。針對特殊的場景,例如在隧道、樓宇間等GPS信號不好的區域,通過將各相sensor一起感知出來的lanemark 來 data association來融合定位,當然實際中可能是單個進行匹配,最後在融合的(互為backup方式)。
在小機器人中,slam到是有很大的發揮空間,例如室內場景等,目前也有一些還可以的開源方案,具體大家可以去仔細看了下
當然是定位技術啦,留張圖(逃
推薦閱讀:
※如何看待 Udacity 發布的「無人駕駛入門」和「飛行汽車開發」這兩門重磅新課?
※未來汽車的發展方向是什麼?
※智能車無人駕駛會帶來哪些新的交通問題?
※怎麼看待自製無人駕駛汽車系統的喬治·霍茲(George Hotz)?
※無人駕駛汽車的未來會怎麼發展?
TAG:機器人 | 無人駕駛車 | Google無人駕駛汽車 | 同時定位和地圖構建SLAM |