赞
踩
近期在学习SLAM相关知识,拜读了此篇经典论文LVI-SAM,因为部署的时候系统版本与开源略有不同,遇到一些问题,故在此记录一下。
若是大手子,请直接忽视本文。
衷心建议大家先参照开源各版本进行环境配置,可以节省不少时间。
本文所列的遇到的问题均是我遇到的,但是有一些我没有遇到的过程中比较顺利的地方我可能会省略,另外本文是在编译成功后进行复盘产生,需要修改的点可能与源码略有出入,对此给读者造成的不良体验表示歉意。
若有需要可以评论区进行交流。
Ubuntu20.04 + OpenCV4.0.* + ROS noetic + gtsam4.0 + Ceres1.14.0
在入门过程中很多大佬的笔记给我提供了帮助,本帖也是在各位基础之上汇总而来的内容,再次对各位表示感谢,希望可以同各位一起共创良好的开源环境。
感谢古月居大佬的笔记,对于Ubuntu20.04下的ROS noetic配置可完全参照其笔记进行,偶尔遇到的也是很小的问题。-古月居:详细介绍如何在ubuntu20.04中安装ROS系统.
gtsam与Ceres 原本按照古月居大佬笔记进行安装,不过可能由于系统环境的原因,存在一定问题,于是按照TixiaoShan指导进行重新覆盖安装。
- sudo add-apt-repository ppa:borglab/gtsam-release-4.0
- sudo apt install libgtsam-dev libgtsam-unstable-dev
在执行下述命令时注意路径,若待安装服务器的Ubuntu已汉化,则路径中Downloads要替换为"下载"。路径可自己选择。
- 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
路径可根据需要修改
- mkdir -p ~/catkin_ws/src
- cd ~/catkin_ws/src
- catkin_init_workspace
这里注意,我直接部署的LVI-SAM-Easyused,当然,也可以路径换为LVI-SAM的 https://github.com/TixiaoShan/LVI-SAM
git clone https://github.com/Cc19245/LVI-SAM-Easyused
在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)
该处参照古月居大佬,或者根据具体报错进行修改即可
在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
- sudo apt-get install ros-noetic-fake-localization
- sudo apt-get install ros-noetic-robot-localization
新开终端编译LVI-SAM
- cd ~/catkin_ws
- catkin_make
若是编译过程报错,pyhon3……
使用下述命令进行编译
catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3
首先下载数据集,然后跳转到catkin_ws/devel下,这里大家要根据自己的路径修改
- cd ~/catkin_ws/devel
- source setup.bash
- roslaunch lvi_sam run.launch
然后打开另一个终端运行bag
rosbag play garden.bag
可能我是比较幸运的那一个,没有太大的坑在等我,至此我已经顺利编译完成,明天开始跑数据集。
若在你编译的过程中还遇到其他问题,请务必耐心查找资料,问题总会解决的,如果可以,也欢迎评论区交流。
祝你我皆无BUG。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。