定位和建圖是兩個相輔相成的過程,地圖可以提供更好的定位,而定位也可以進一步擴建地圖。
雷射雷達可以提供機械人與周圍環境的距離資訊。常見的雷射雷達有sick、velodyne、rplidar等。
雷射雷達的技術方案有如下幾個特點:
1、精度很高,比較穩定。
2、速度快,計算量也不大,容易做成實時slam。
3、理論研究成熟。雷射雷達用於slam的技術方案(ekf-slam)因為研究較早,現在已經非常成熟。當然人們也對ekf-slam的缺點也有較清楚的認識。
4、笨重。雷射雷達比普通的攝像頭在空間體積上大了不少。
5、**昂貴。雷射雷達成本很高,因此雷射的研究主要集中於如何降低感測器的成本上。
視覺slam是最近幾年slam研究熱點之一。它有如下幾個特點:
1、**便宜。
2、體積小,重量輕。
3、可以獲取豐富且直觀的資訊。
4、計算量大。往往資訊量和計算量是成正比的,視覺slam中的特徵點檢測、匹配等過程非常耗時。不過隨著cpu、gpu處理器速度的飛速發展,很多以前被認為無法實時化的視覺演算法,得以近乎實時化地執行。
5、需要一定的假設條件。比如視覺演算法無法在無紋理區域進行。
視覺slam感測器主要分為三大類:單目、雙目(或多目)、深度相機(rgb-d)。
就實現難度而言,這三類方法難易程度從難到易依次為:單目相機、雙目相機、rgb-d。
只使用乙個攝像頭進行slam的做法稱為單目slam(monocular slam),其優勢是感測器特別的簡單、成本特別的低,所以單目slam非常受研究者關注。最常見的單目相機資料是:**。**,本質上是拍照時的場景在相機的成像平面上留下的乙個投影。也就是以二維的形式來反應三維的世界。顯然,這個過程丟失了乙個維度,這個維度便是深度,也就是我們拍攝的物體離攝像機的距離。失掉距離這一維度會導致我們無法判斷物體的遠近以及大小。
單目相機有如下幾個特點:
1、單目slam只能估計乙個相對深度。由於絕對深度未知,單目slam沒法得到機械人運動軌跡以及地圖的真實大小。直觀地說,如果把軌跡和地圖同時放大兩倍,單目看到的像是一樣的。
2、單目相機必須通過運動才能獲取深度。它無法僅根據一張影象獲得影象中物體離自己的相對距離。為了估計這個相對深度,單目slam要靠運動中的三角測量,來求解相機運動並估計畫素的空間位置。也就是說,它的軌跡和地圖,只有在相機運動之後才能收斂,如果相機不進行運動時,就無法得知畫素的位置。
3、相機必須進行旋轉和平移。相機運動還不能是純粹的旋轉,這就給單目slam的應用帶來了一些麻煩,好在日常使用slam時,相機都會發生旋轉和平移。
4、既可以用於室內,又可以用於室外。
雙目相機由兩個單目相機組成,這兩個相機之間的距離稱為基線,基線是已知的。雙目相機需要大量的計算才能估計每乙個畫素點的深度,並且雙目相機的測量到的深度為範圍會受基線大小的影響。雙目或多目相機配置與標定均較為複雜,其深度量程也受雙目的基線與解析度限制,而且視差的計算非常消耗計算資源。
rgb-d相機是一種可以獲得彩色圖並測量深度的相機。目前常用的rgbd相機包括kinect一代、kinect 二代、xtion、realsense等。rgb-d相機有如下特點:
1、一般通過結構光或time-of-flight原理,直接測出物體離攝像頭的距離。相對於雙目立體視覺,它的速度非常快,可以用於實時應用。
2、它比單目或雙目相機能夠提供更豐富的資訊。
3、現在多數rgbd相機還存在視場角小、解析度低等諸多問題。主要用於室內slam。
ROS及SLAM學習筆記 一
2 因為在呼叫ros程式包當中的時候,ros的呼叫機制是把呼叫路徑預設到opt目錄下的ros庫中,所以我們想要建立或者是使用我們自己建立的工作區裡面的ros程式包,就必須先設定好環境變數 source home ubu turtlebot ws devel setup.bash 並且重新整理配置 s...
視覺SLAM學習筆記3
座標系間的變換關係,可描述為兩個座標系間的旋轉關係和平移 設定乙個慣性座標系 世界座標系 它固定不動,而相機或機械人是移動座標系,對於同乙個向量p,在世界座標系下的座標pw和相機座標系下的pc是不同的,這個變換關係由座標系間的變換矩陣t來描述 相機運動是乙個剛體運動,也就是保證同乙個向量在各座標系下...
視覺SLAM學習筆記4
使用a ra t表示歐氏空間的旋轉和平移的變換關係是非線性的,則當進行多次變化後表示式會變得很複雜,因此引入齊次座標和變換矩陣重寫式 在三位向量末尾新增1,變成四維向量,稱為齊次座標,旋轉和平移都寫在乙個矩陣裡,則變換關係變成線性關係,矩陣t稱為變換矩陣 對於齊次座標,某個點x的每個分量同乘非0常數...