一.准备工作
1源码:
1.1加速mirrors / TixiaoShan / LIO-SAM · GitCode
2依赖
3编译
cd ~/catkin_ws/src
添加源码
cd..
catkin_make -j1 (第一次尽量-j1以来生成一些消息类型)//catkin_make
4编译遇到的问题(不断更新中)
- 由于PCL版本1.10,将C++标准改为14:
#set(CMAKE_CXX_FLAGS "-std=c++11")
set(CMAKE_CXX_FLAGS "-std=c++14")
- 找到OpenCV4.2.0包:
#find_package(OpenCV REQUIRED QUIET)
set(CMAKE_PREFIX_PATH "/usr/include/opencv4")
find_package(OpenCV 4.0 QUIET)
/usr/bin/ld
问题,修改:
# find_package(Boost REQUIRED COMPONENTS timer)
find_package(Boost REQUIRED COMPONENTS timer thread serialization chrono)
- 找到
utility.h
中的:#include<opencv/cv.h>
,修改为
// #include<opencv/cv.h>
#include <opencv2/imgproc.hpp>
5.运行示例数据集
5.1 source
source devel/setup.zsh
//若不行source devel/setup.bash
5.2运行launch文件:
roslaunch lio_sam run.launch
5.3播放数据包((频率可选,可调)
rosbag play park_dataset.bag -r 3
5.4播放数据集报错
(实验了,好使)
错误:ERROR: cannot launch node of type [robot_localization/ekf_localization_node]: robot_localization,安装功能包:
sudo apt-get install ros-noetic-fake-localization
sudo apt-get install ros-noetic-robot-localization
若报错:[lio_sam_imuPreintegration-2]和[lio_sam_mapOptmization-5],是GTSAM的问题,缺少一些库。它们已安装但不可用,因为不在 LD_LIBRARY_PATH 环境变量中。所以将 /usr/local/lib 目录添加到变量中:
export LD_LIB