本文主要是介绍LVI-SAM配置运行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
LVI-SAM运行
- 源码地址
- 电脑配置
- 环境配置
- 安装过程出现的问题
- 未满足依赖问题
- 安装VTK时,出现报错
- 编译
- 编译过程中出现的问题
- 运行
- 运行过程中出现的问题
- setup.bash问题
- 自建引用包报错
- Resource not found: xacro
- image_transport
- 没有规则可制作目标
- 运行结果
- 开源handheld.bag数据集
源码地址
源码链接:https://github.com/TixiaoShan/LVI-SAM.git
电脑配置
Ubuntu 18.04 + ROS Melodic + GTSAM 4.0.2 + CERES 1.14.0
pcl1.8+vtk8.2.0+opencv3.2.0
环境配置
ros melodic
参考的安装步骤: Ubuntu18安装ROS
gtsam4.0.2
下载并解压:https://github.com/borglab/gtsam/archive/4.0.2.zip
cd gtsam-4.0.2
mkdir build && cd build
cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF ..
sudo make install -j4
ceres1.14.0
sudo apt-get install -y libgoogle-glog-dev
sudo apt-get install -y libatlas-base-dev
下载并解压: https://github.com/ceres-solver/ceres-solver/archive/1.14.0.zip
cd ceres-solver-1.14.0
git clone https://github.com/ceres-solver/ceres-solver.git
mkdir build && cd build
cmake ..
sudo make install -j4
pcl1.91+vtk8.2.0
参考链接: Ubuntu18.04安装PCL 1.9.1
安装过程出现的问题
未满足依赖问题
sudo apt install 依赖的包
安装VTK时,出现报错
CMake Error at config/Dependencies.cmake:28 (FIND_PACKAGE):By not providing "FindQt5Core.cmake" in CMAKE_MODULE_PATH this project hasasked CMake to find a package configuration file provided by "Qt5Core", butCMake did not find one.Could not find a package configuration file provided by "Qt5Core"(requested version 5.2.0) with any of the following names:Qt5CoreConfig.cmakeqt5core-config.cmakeAdd the installation prefix of "Qt5Core" to CMAKE_PREFIX_PATH or set"Qt5Core_DIR" to a directory containing one of the above files. If"Qt5Core" provides a separate development package or SDK, be sure it hasbeen installed.
Call Stack (most recent call first):CMakeLists.txt:51 (INCLUDE)
-- Configuring incomplete, errors occurred!
查看qt版本
qmake -v
发现安装的是qt4
卸载并重装qt5:
sudo apt-get remove qt4*
sudo apt-get update
sudo apt-get install qt5-default qtcreator
编译
mkdir ~/catkin_ws/srccd ~/catkin_ws/srcgit clone https://github.com/TixiaoShan/LVI-SAM.gitcd ..catkin_make -j4
注:直接catkin_make会死机
编译过程中出现的问题
carkin_make出现如下报错:
/usr/bin/ld: cannot find -lvtkRenderingOpenGL2
/usr/bin/ld: cannot find -lvtkglew
/usr/bin/ld: cannot find -lvtkRenderingVolumeOpenGL2
/usr/bin/ld: cannot find -lvtkDomainsChemistryOpenGL2
/usr/bin/ld: cannot find -lvtkRenderingGL2PSOpenGL2
/usr/bin/ld: cannot find -lvtkRenderingContextOpenGL2
解决方法:重装pcl
原因:vtk是在pcl安装过程中随着pcl库安装时安装
文章开头提到的参考链接: Ubuntu18.04安装PCL 1.9.1
运行
roslaunch lvi_sam run.launch
rosbag play 数据.bag
运行过程中出现的问题
setup.bash问题
bash: /opt/ros/melodic/setup.bash: 没有那个文件或目录
解决方法:
gedit ~/.bashrc
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/catkin_ws/
并且
sudo apt install --reinstall ros-melodic-roslaunch
自建引用包报错
fatal error: visualization_msgs/Marker.h: 没有那个文件或目录
解决方法:
sudo apt-get install ros-melodic-visualization_msgs
Resource not found: xacro
Resource not found: xacro
ROS path [0]=/opt/ros/melodic/share/ros
ROS path [1]=/home/nssc/catkin_ws/src
ROS path [2]=/opt/ros/melodic/share
ROS path [3]=/home/nssc/catkin_ws/
The traceback for the exception was written to the log file
解决方法:
sudo apt-get install ros-melodic-xacro
image_transport
[lvi_sam_republish-11] process has died [pid 31951, exit code -6, cmd /opt/ros/melodic/lib/image_transport/republish compressed in:=/camera/image_raw raw out:=/camera/image_raw __name:=lvi_sam_republish __log:=/home/nssc/.ros/log/00a8b12a-51da-11ee-be86-78605b2f8867/lvi_sam_republish-11.log].
log file: /home/nssc/.ros/log/00a8b12a-51da-11ee-be86-78605b2f8867/lvi_sam_republish-11*.log
解决方法:
rosrun image_transport republish compressed in:=/camera/image_raw raw out:=/camera/image_raw
报错:
terminate called after throwing an instance of 'image_transport::TransportLoadException'what(): Unable to load plugin for transport 'compressed', error string:
According to the loaded plugin descriptions the class image_transport/compressed_sub with base class type image_transport::SubscriberPlugin does not exist. Declared types are image_transport/raw_sub
已放弃 (核心已转储)
解决方法:
sudo apt-get install ros-melodic-image-transport-plugins
没有规则可制作目标
没有规则可制作目标“/usr/local/pcl18/lib/libpcl_common.so”
解决方法:
删除build和devel文件夹重新catkin_make
make[2]: *** 没有规则可制作目标“/usr/lib/x86_64-linux-gnu/libGL.so”
解决方法:
locate libGL.so
#输出:
#/usr/lib/x86_64-linux-gnu/libGL.so.1
#/usr/lib/x86_64-linux-gnu/libGL.so.1.0.0
sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1 /usr/lib/x86_64-linux-gnu/libGL.so
运行结果
开源handheld.bag数据集
roslaunch lvi_sam run.launch
rosbag play handheld.bag
rviz实时:
最终结果pcd:
这篇关于LVI-SAM配置运行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!