地址
Paper: https://github.com/TixiaoShan/LVI-SAM/blob/master/doc/paper.pdf
Code : https://github.com/TixiaoShan/LVI-SAM
首先安装ros1或者ros2
使用鱼香ROS的方法
wget http://fishros.com/install -O fishros && . fishros
下载两个依赖库
Ceres库的创建和安装:
sudo apt-get install -y libgoogle-glog-dev
sudo apt-get install -y libatlas-base-dev
wget -O ~/Downloads/ceres.zip https://github.com/ceres-solver/ceres-solver/archive/1.14.0.zip
cd ~/Downloads/ && unzip ceres.zip -d ~/Downloads/
cd ~/Downloads/ceres-solver-1.14.0
mkdir ceres-bin && cd ceres-bin
cmake ..
sudo make install -j4
gtsam库的创建和安装:
重点:下载:4.0.0版本的
报错:解决方法
在CMakeLists.text中,在 if(GTSAM_USE_SYSTEM_EIGEN) 上方添加一句:
set(GTSAM_USE_SYSTEM_EIGEN ON)
git clone https://github.com/borglab/gtsam.git
mkdir build && cd build
cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF -Use_System_Eigen=ON ..
sudo make install -j4
OpenCV版本问题
在ubuntu20系统自带的是opencv 4.2.0
可以查看版本
opencv_version
utility.h文件中的:
//#include <opencv/cv.h>
#include <opencv2/opencv.hpp>
parameters.h文件中的:
//#include <opencv/cv.h>
#include <opencv2/opencv.hpp>
CMakeLists.txt中的
#set(CMAKE_CXX_FLAGS "-std=c++11")
set(CMAKE_CXX_FLAGS "-std=c++14")
所有CV_RGB2GRAY改为cv::COLOR_RGB2GRAY
所有CV_FONT_HERSHEY_SIMPLEX改为cv::FONT_HERSHEY_SIMPLEX
编译
mkdir ~/catkin_ws/src
cd ~/catkin_ws/src
git clone https://github.com/TixiaoShan/LVI-SAM.git
cd ..
catkin_make -j4
下载数据集运行
google下载地址:
https://drive.google.com/drive/folders/1q2NZnsgNmezFemoxhHnrDnp1JV_bqrgV?usp=sharing
//运行命令
roslaunch lvi_sam run.launch
//运行包(空格是暂停包)
rosbag play handheld.bag
运行报错:
[lvi_sam_imuPreintegration-4] process has died [pid 67144, exit code 127, cmd /home/kenneth/catkin_ws/devel/lib/lvi_sam/lvi_sam_imuPreintegration __name:=lvi_sam_imuPreintegration __log:=/home/kenneth/.ros/log/6ede6dc0-fadf-11ee-9063-c9391aab1ac1/lvi_sam_imuPreintegration-4.log].
log file: /home/kenneth/.ros/log/6ede6dc0-fadf-11ee-9063-c9391aab1ac1/lvi_sam_imuPreintegration-4*.log
[lvi_sam_mapOptmization-7] process has died [pid 67145, exit code 127, cmd /home/kenneth/catkin_ws/devel/lib/lvi_sam/lvi_sam_mapOptmization __name:=lvi_sam_mapOptmization __log:=/home/kenneth/.ros/log/6ede6dc0-fadf-11ee-9063-c9391aab1ac1/lvi_sam_mapOptmization-7.log].
log file: /home/kenneth/.ros/log/6ede6dc0-fadf-11ee-9063-c9391aab1ac1/lvi_sam_mapOptmization-7*.log
解决方法:
sudo cp /usr/local/lib/libmetis.so /opt/ros/noetic/lib/