『壹』 如何源碼安裝hector-slam
安裝rwordseg工具包方式: 1、rJava在安裝後除了對path配置正確外,還有個容易忽略的細節,即R版本的選擇,如果JRE是64位的,那麼R也應該要64位的版本,否則肯定會報錯。如果是在Rstudio中啟動R,那麼要檢查下啟動的R的版本是哪個
『貳』 無人駕駛的核心是什麼是如何運行的
4級或5級的自主駕駛很難有一個明確的標准來定義,自主駕駛應該不復雜。自動駕駛其實涉及三個問題:一、我在哪裡?第二,我要去哪裡?第三是怎麼去。這三個問題的完整解決方案就是真正的自動駕駛。所以特斯拉升級的8000美元自動駕駛2.0隻有部分線控功能,並不是真正的自動駕駛。福特、網路、谷歌做的都是真正的自動駕駛,遠超特斯拉,兩者差別巨大。
機器人定位有三種常見的類型:相對定位、絕對定位和組合定位。自動駕駛一般採用組合定位。首先,本體感受感測器如里程計和陀螺儀測量相對於機器人初始姿態的距離和方向,以確定機器人的當前姿態,這也稱為軌跡估計。然後使用激光雷達或視覺感知環境,使用主動或被動識別、地圖匹配、GPS或導航信標進行定位。位置的計算方法包括三角測量、三邊測量和模型匹配演算法。從這個角度來說,IMU也是自動駕駛必不可少的一部分。
同時,機器人定位實際上是一個概率問題,所以機器人定位演算法有兩個流派,一個是卡爾曼濾波,一個是貝葉斯推理。有擴展卡爾曼濾波器(EKF)、卡爾曼濾波器(KF)和無跡卡爾曼濾波器(UKF)。另一種是基於貝葉斯推理的定位方法。網格和粒子用於描述機器人位置空間,遞歸計算狀態空間中的概率分布,如馬爾可夫定位(MKV)和蒙特卡羅定位(MCL)。
在地圖匹配中,必須有一個優先地圖與之比較。這張地圖不一定是厘米級高精度地圖。有必要談談地圖,它可以分為四類,即度量、拓撲、感測器和語義。我們最常見的地圖是語義級地圖。無人駕駛不是導彈。一般輸入目的地應該是語義層面。畢竟人類的交通方式是語義層面,不是地理坐標。這是機器人和無人駕駛的區別之一。機器人一般不考慮語義,只需要知道自己在坐標系中的位置。全球定位系統提供全球坐標系的度量。未來,V2X將提供雷達和視覺探測距離(NLOS)之外的特定物體(移動的行人和汽車)的地圖,或V2X地圖。目前國內處於研究階段的無人車大多採用GPS RTK定位,必須配合厘米級高精度地圖才能獲得語義信息,不可能做到真正的無人。
『叄』 hector slam缺點
它的缺點主要就是它的產品外觀比較大,攜帶的時候不是特別的方便,而且就是電路經常會出現一些故障。
『肆』 rgbd感測器是什麼
RGBD SLAM屬於視覺SLAM中的一種,使用的RGBD感測器包括zed(雙目立體,適用於室外)、Kinect(結構光,僅限室內)、Kinect v2(TOF,主要用於室內)等。
功能包
現在有比較多的現成的功能包可以進行學習和二次開發:
gmapping:
實時構建室內地圖,在構建小場景地圖所需的計算量較小且精度較高。相比Hector SLAM對激光雷達頻率要求低、魯棒性高(Hector 在機器人快速轉向時很容易發生錯誤匹配,建出的地圖發生錯位,原因主要是優化演算法容易陷入局部最小值)。
而相比Cartographer在構建小場景地圖時,Gmapping不需要太多的粒子並且沒有回環檢測因此計算量小於Cartographer而精度並沒有差太多。但是,不適合構建大場景地圖,並且沒有回環檢測,因此在回環閉合時可能會造成地圖錯位,雖然增加粒子數目可以使地圖閉合但是以增加計算量和內存為代價,不能像Cartographer那樣構建大的地圖。
hector_slam:
設計初衷Hector主要用於救災等地面不平坦的情況,因此無法使用里程計,特點是用IMU解決了激光的運動畸變問題。雖然系統不提供明確的循環關閉能力,但對於許多真實世界場景來說它足夠准確。
cartographer:
累計誤差較前兩種演算法低,能天然的輸出協方差矩陣,後端優化的輸入項。成本較低的雷達也能跑出不錯的效果。是Google開源的一個ROS系統支持的2D和3D SLAM(simultaneous localization and mapping)庫。