1 github链接
https://github.com/TixiaoShan/LIO-SAM
https://github.com/TixiaoShan/LVI-SAM
我的环境
ubuntu 20.04
PCL 1.10
Opencv 3.4.16
2 By not providing “FindGTSAM.cmake”
By not providing "FindGTSAM.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "GTSAM", but
CMake did not find one.
Could not find a package configuration file provided by "GTSAM" with any of
the following names:
GTSAMConfig.cmake
gtsam-config.cmake
配多了环境就轻车熟路了,这种情况多半是没装什么库或者没识别到。
不放心的话可以先看看自己装没装locate GTSAM
有的话找一下GTSAM的config文件,然后在cmakelists里设置一下
find_package(GTSAM REQUIRED PATHS "/usr/local/include/gtsam420" QUIET)
别忘了改成自己的路径。
如果没有locate到,那就安装一下就行。
不过建议先上网查查,一般来说这种库可能是:
- ROS通用库,用apt安装
- ubuntu仓库有的库,apt安装
- 以上都不是,找源码cmake安装
链接在https://github.com/borglab/gtsam/tree/4.2.0,
操作说明也有。
安装好后要是还找不到,见上文的cmakelist设置。
2.1 GTSAM问题
在进行
roslaunch lio_sam run.launch
貌似还是会报找不到libgtsam.so这样的错误。我推测一下应该是某个catkin包需要依赖。就和cv_bridge一个道理。好吧,老老实实apt安装
sudo apt install libgtsam-dev libgtsam-unstable-dev
2.2
20231104补充:事实上发现如果有系统路径的话,以上指令还是会读取系统路径下的库。所以该命令应该完善为
find_package(GTSAM 4.2.0 EXACT REQUIRED
PATHS "/usr/local/include/gtsam420"
NO_DEFAULT_PATH)
3 error: ‘minusscalar’ is not a member of ‘pcl::traits’
然后catkin_make
飘红了
好在是可以查到的错误,见https://blog.csdn.net/z15f34/article/details/124792766
在cmakelist里添加
set(CMAKE_CXX_STANDARD 14)
编译成功
4
终于算可以轻车熟路应付环境了,这一步真的好艰难。学ROS和SLAM啥的断断续续也好几年了,终于可以比较随心应手解决一些问题了。下一步就是怎么学习算法之类的,跑自己的数据集!
5 LVI-SAM编译
这两个基本报错啥的都是重合,但我碰到一个
error: ‘CV_RGB2GRAY’ was not declared in this scope
貌似是opencv版本原因,改一下就好了
找到文件然后修改CV_RGB2GRAY
为cv::COLOR_RGB2GRAY
大结局
6 ERROR: cannot launch node of type [robot_localization/navsat_transform_node]: robot_localization
同样是在roslaunch后产生的错误。该链接给了,https://blog.csdn.net/weixin_44156680/article/details/118117522,记录一下
sudo apt-get install ros-noetic-fake-localization
sudo apt-get install ros-noetic-robot-localization