LVI-SAM环境配置(ubuntu20.04)

本文详细介绍了在Ubuntu系统上配置ROS1或2环境,包括Ceres-Solver和gtsam库的安装步骤,以及处理OpenCV版本问题和运行时错误的过程。遇到的错误涉及Metis库链接问题的解决方法也提供了。
摘要由CSDN通过智能技术生成

地址

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

ubuntu18.04使用这种方式安装gtsam库

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/
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值