眾所周知最近在和工友搞SLAM,好家伙工友M1版的MAC+虛擬機跑ROS(其實一開始在英偉達的XAVIER上面跑來著,無奈空間不夠,寄了),總之就是大概一周內都在調試(斷斷續續的那種),今天是工作日,我也實在看不下去了,也投入到了這個令人頭禿的工作中,事實證明這個東西是真的熬人。
一開始跑的FAST-LIO,是雷達+IMU的SLAM框架,在最后一步的雷達和IMU的配準的時候有一些超過了我和工友能力范圍的步驟(搞不幾米了),雖然這樣,但是忙了這么久了,有點難過,后來找了找有沒有不用IMU的框架,然后就有了這篇文章,但是我有個疑惑的地方,我個人感覺MID-40雷達自己是帶有IMU的,因為在驅動里面我找到了這樣的開關,以及在建圖的過程中下面車輛微小的動作也可以在圖中有體現,我覺得應該是有IMU的。
emmmm,沒有IMU,無妨我們有外置的,有空加一個上去
這篇文章主要是展示使用,安裝過程中的一些坑也會說明。
先看看結果:
Loam-Livox是用于Livox 激光雷達的穩健、低漂移和實時里程計和測繪軟件包,是專為大規模工業用途而設計的低成本和高性能激光雷達。
該LOAM 算法僅使用一個 Livox Mid-40 單元,沒有融合其他傳感器如 IMU、GPS 或攝像頭。通過運動補償機制進行連續掃描匹配,從而實現 LiDAR位姿的實時解算(即測距)。有了LiDAR位姿, 所有LiDAR測量的點云就可以投影到同一個全局坐標系中, 得到環境的三維地圖。為提升算法性能和可靠性,一系列核心問題得以解決,包括有限視場下的特征提取和篩選、雜點剔除、移動物體過濾以及幀內運動補償。該算法的測距和建圖部分均可以同時在MacBook上以 20 Hz 的頻率實時運行(工友的本子沒有跑起來)。
官方測試的是Ubuntu16,18的版本(64bit),我這里使用的是20.04.
記得安裝的時候替換里面的XXX,第二個是我的安裝命令。
sudo apt-get install ros-XXX-cv-bridge ros-XXX-tf ros-XXX-message-filters ros-XXX-image-transport
sudo apt-get install ros-noetic-cv-bridge ros-noetic-tf ros-noetic-message-filters ros-noetic-image-transport
關于PCL和Ceres Solver的安裝,你可以看下篇文章,注意PCL需要安裝1.9的版本。
如果你使用的是MID-100的高端貨,需要在ROS的驅動包里面設置這個參數
cd ~/xxxx/src git clone https://github.com/hku-mars/loam_livox.git cd ../ catkin_make source ~/xxxx/devel/setup.bash
xxxx是你自己的目錄,按部就班的執行就好
那么我敢打包票,你會遇到一個Opencv的報錯問題,無妨~我們已經解決了。
有的人說要把這里的OpenCV版本號改了,其實不用
在源碼的文件夾里面修改這個文件為
#include
其實就是opencvAPI的變動
cap.set(cv::CAP_PROP_SETTINGS, 1); // opens camera properties dialog cap.set(cv::CAP_PROP_FRAME_WIDTH, 320); cap.set(cv::CAP_PROP_FRAME_HEIGHT, 240);
這個里面修改三個文件,此時保存編譯
至少里面的這些東西都不報錯,就是都安裝OK
當然下面給的是安裝OpenCV的命令:
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev sudo apt-get install libgtk2.0-dev sudo apt-get install pkg-config sudo apt install build-essential cmake git pkg-config libgtk-3-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev libopenexr-dev libgstreamer-plugins-base1.0-devlibgstreamer1.0-dev
mkdir ~/opencv_build && cd ~/opencv_build git clone https://github.com/opencv/opencv.git gitclonehttps://github.com/opencv/opencv_contrib.git
cd ~/opencv_build/opencv mkdir-pbuild&&cdbuild
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_GENERATE_PKGCONFIG=ON -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules -DBUILD_EXAMPLES=ON..
make-j8
sudomakeinstall
安裝
pkg-config--modversionopencv4
驗證
roslaunch loam_livox livox.launch roslaunch livox_ros_driver livox_lidar.launch
先運行第一個節點,啟動接收和建圖的線程,然后第一個,雷達開始啟動。
建圖的時候,室內還是算了,雷達一掃百米,室內實在是憋屈啊。在室外測試,因為雷達本身的范圍就很大了,這里也不就建議不停的旋轉雷達,可以多繞一圈來補充特征點,以及就是要勻速走直線,拐彎也要平緩,不能速度突變。
-
傳感器
+關注
關注
2552文章
51382瀏覽量
755826 -
攝像頭
+關注
關注
60文章
4860瀏覽量
96130 -
雷達
+關注
關注
50文章
2965瀏覽量
117862 -
PCL
+關注
關注
1文章
35瀏覽量
13694
原文標題:港大Loam-純雷達建圖
文章出處:【微信號:TT1827652464,微信公眾號:云深之無跡】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論