当前位置:   article > 正文

Ubuntu20.04部署编译LVI-SAM_lvisam 数据集在unbantu中如何打开

lvisam 数据集在unbantu中如何打开

该动图来自LVI-SAM开源地址(https://github.com/TixiaoShan/LVI-SAM)


1 写在开头

1.1 为何诞生此文

近期在学习SLAM相关知识,拜读了此篇经典论文LVI-SAM,因为部署的时候系统版本与开源略有不同,遇到一些问题,故在此记录一下。

1.2 衷心建议

若是大手子,请直接忽视本文。

衷心建议大家先参照开源各版本进行环境配置,可以节省不少时间。

本文所列的遇到的问题均是我遇到的,但是有一些我没有遇到的过程中比较顺利的地方我可能会省略,另外本文是在编译成功后进行复盘产生,需要修改的点可能与源码略有出入,对此给读者造成的不良体验表示歉意。

若有需要可以评论区进行交流。

1.3 编译环境

Ubuntu20.04 + OpenCV4.0.* + ROS noetic + gtsam4.0 + Ceres1.14.0

1.4 参考

在入门过程中很多大佬的笔记给我提供了帮助,本帖也是在各位基础之上汇总而来的内容,再次对各位表示感谢,希望可以同各位一起共创良好的开源环境。

2 编译LVI-SAM之前的准备工作

2.1 ROS noetic 安装配置

感谢古月居大佬的笔记,对于Ubuntu20.04下的ROS noetic配置可完全参照其笔记进行,偶尔遇到的也是很小的问题。-古月居:详细介绍如何在ubuntu20.04中安装ROS系统.

2.2 gtsam (Georgia Tech Smoothing and Mapping library)安装配置

gtsam与Ceres 原本按照古月居大佬笔记进行安装,不过可能由于系统环境的原因,存在一定问题,于是按照TixiaoShan指导进行重新覆盖安装。

  1. sudo add-apt-repository ppa:borglab/gtsam-release-4.0
  2. sudo apt install libgtsam-dev libgtsam-unstable-dev

2.3 Ceres (C++ library for modeling and solving large, complicated optimization problems)

在执行下述命令时注意路径,若待安装服务器的Ubuntu已汉化,则路径中Downloads要替换为"下载"。路径可自己选择。

  1. sudo apt-get install -y libgoogle-glog-dev
  2. sudo apt-get install -y libatlas-base-dev
  3. wget -O ~/Downloads/ceres.zip https://github.com/ceres-solver/ceres-solver/archive/1.14.0.zip
  4. cd ~/Downloads/ && unzip ceres.zip -d ~/Downloads/
  5. cd ~/Downloads/ceres-solver-1.14.0
  6. mkdir ceres-bin && cd ceres-bin
  7. cmake ..
  8. sudo make install -j4

2.4 创建工作空间

路径可根据需要修改

  1. mkdir -p ~/catkin_ws/src
  2. cd ~/catkin_ws/src
  3. catkin_init_workspace

获取源码

这里注意,我直接部署的LVI-SAM-Easyused,当然,也可以路径换为LVI-SAM的 https://github.com/TixiaoShan/LVI-SAM

git clone https://github.com/Cc19245/LVI-SAM-Easyused

2.5 源码修改

2.5.1 CMakelists.txt

在lvi-sam目录下的CMakelists.txt中修改如下:

set( CMAKE_CXX_FLAGS “-std=c++11” )

修改为set( CMAKE_CXX_FLAGS “-std=c++14” )

在CMakeLists中加入:

find_package(Boost REQUIRED COMPONENTS timer thread serialization chrono)

2.5.2 修改源文件

该处参照古月居大佬,或者根据具体报错进行修改即可

  • LVI-SAM/src/lidar_odometry/utility.h和LVI-SAM/src/visual_odometry/visual_loop/parameters.h以及LVI-SAM/src/visual_odometry/visual_feature/parameters.h三个文件中,

  • 修改:#include <opencv/cv.h> 为 #include <opencv2/opencv.hpp>。

  • LVI-SAM/src/visual_odometry/visual_loop/ThirdParty/DVision/BRIEF.cpp文件添加头文件#include <opencv2/imgproc.hpp>,修改53行CV_RGB2GRAY为 cv::COLOR_RGB2GRAY

  • LVI-SAM/src/visual_odometry/visual_loop/keyframe.cpp的240行CV_FONT_HERSHEY_SIMPLEX改为cv::FONT_HERSHEY_SIMPLEX

  • LVI-SAM/src/visual_odometry/visual_loop/loop_detection.cpp的64, 82, 92, 112, 149行中修改CV_FONT_HERSHEY_SIMPLEX为cv::FONT_HERSHEY_SIMPLEX

2.5.3 编译之前新开一个终端执行下述两行

  1. sudo apt-get install ros-noetic-fake-localization
  2. sudo apt-get install ros-noetic-robot-localization

3 编译LVI-SAM

新开终端编译LVI-SAM

  1. cd ~/catkin_ws
  2. catkin_make

若是编译过程报错,pyhon3……

使用下述命令进行编译

catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3

4 运行官方数据集

首先下载数据集,然后跳转到catkin_ws/devel下,这里大家要根据自己的路径修改

  1. cd ~/catkin_ws/devel
  2. source setup.bash
  3. roslaunch lvi_sam run.launch

然后打开另一个终端运行bag

rosbag play garden.bag

5 写在最后

可能我是比较幸运的那一个,没有太大的坑在等我,至此我已经顺利编译完成,明天开始跑数据集。

若在你编译的过程中还遇到其他问题,请务必耐心查找资料,问题总会解决的,如果可以,也欢迎评论区交流。

祝你我皆无BUG。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/304504
推荐阅读
相关标签
  

闽ICP备14008679号