slam学习笔记9---ubuntu2004部署interactive_slam踩坑记录

背景:interactive_slam是一款可用于离线优化点云地图算法。部署安装容易出问题,这里记录一下。

一、安装基本流程

绝大部分跟着readme走,g2o安装使用apt安装

cpp 复制代码
interactive_slam depends on the following libraries:

GL3W
GLFW
Dear ImGui
portable-file-dialog
OpenMP
PCL
g2o
# for ROS noetic
sudo apt-get install libglm-dev libglfw3-dev
sudo apt-get install libsuitesparse-dev libeigen3-dev
sudo apt-get install ros-noetic-geodesy ros-noetic-pcl-ros ros-noetic-nmea-msgs 
# Install g2o from original source code 本人使用的是apt安装g2o,在踩坑记录中会说到
git clone https://github.com/RainerKuemmerle/g2o.git
cd g2o
mkdir build 
cd build
cmake ../
make
sudo make install
# Install Ceres Library
git clone https://ceres-solver.googlesource.com/ceres-solver
# Install all dependencies
# CMake
sudo apt-get install cmake
# google-glog + gflags
sudo apt-get install libgoogle-glog-dev libgflags-dev
# Use ATLAS for BLAS & LAPACK
sudo apt-get install libatlas-base-dev
# Eigen3
sudo apt-get install libeigen3-dev
cd ~/catkin_ws/src
git clone https://github.com/koide3/ndt_omp
git clone https://github.com/koide3/hdl_graph_slam
git clone https://github.com/koide3/odometry_saver
git clone https://github.com/SMRT-AIST/fast_gicp --recursive
git clone https://github.com/SMRT-AIST/interactive_slam --recursive

cd ~/catkin_ws
catkin_make -DCMAKE_BUILD_TYPE=Release

二、踩坑记录

1、编译出现g2o报错

cpp 复制代码
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
G2O_CORE_LIBRARY
    linked by target "hdl_graph_slam_nodelet" in directory /home/ylh/code_ws/interactiveSlam_ws/src/hdl_graph_slam
G2O_SOLVER_CHOLMOD
    linked by target "hdl_graph_slam_nodelet" in directory /home/ylh/code_ws/interactiveSlam_ws/src/hdl_graph_slam
G2O_SOLVER_CSPARSE
    linked by target "hdl_graph_slam_nodelet" in directory /home/ylh/code_ws/interactiveSlam_ws/src/hdl_graph_slam
G2O_SOLVER_PCG
    linked by target "hdl_graph_slam_nodelet" in directory /home/ylh/code_ws/interactiveSlam_ws/src/hdl_graph_slam
G2O_STUFF_LIBRARY
    linked by target "hdl_graph_slam_nodelet" in directory /home/ylh/code_ws/interactiveSlam_ws/src/hdl_graph_slam
G2O_TYPES_DATA
    linked by target "hdl_graph_slam_nodelet" in directory /home/ylh/code_ws/interactiveSlam_ws/src/hdl_graph_slam
G2O_TYPES_SLAM3D
    linked by target "hdl_graph_slam_nodelet" in directory /home/ylh/code_ws/interactiveSlam_ws/src/hdl_graph_slam
G2O_TYPES_SLAM3D_ADDONS
    linked by target "hdl_graph_slam_nodelet" in directory /home/ylh/code_ws/interactiveSlam_ws/src/hdl_graph_slam

原因:没有找到对应的g2o版本

解决方式

cpp 复制代码
sudo apt install ros-noetic-libg2o

参考

2、提示第三方依赖找不到

interactive_slam/thirdparty/imgui 等找不到

原因:子库没有正常拉取

在interactive_slam目录下运行

cpp 复制代码
git submodule update --init --recursive

若出现错误,多运行几次

3、工作空间一次性编译混乱报错

原来方式

cpp 复制代码
catkin_make -DCMAKE_BUILD_TYPE=Release

使用编译方式,单个包编译

cpp 复制代码
catkin_make -DCATKIN_WHITELIST_PACKAGES="odometry_saver"
catkin_make -DCATKIN_WHITELIST_PACKAGES="ndt_omp"
catkin_make -DCATKIN_WHITELIST_PACKAGES="fast_gicp"
catkin_make -DCATKIN_WHITELIST_PACKAGES="hdl_graph_slam"
catkin_make -DCATKIN_WHITELIST_PACKAGES="interactive_slam"

###################

好记性不如烂笔头

积跬步期千里

觉得不错的话,记得点赞收藏

相关推荐
xiaoxiaoxiaolll1 小时前
Nat Commun:中国团队演示光纤阵列中的里德堡阻塞,为高保真度两比特门奠定基础
学习·量子计算
zhangxuyu11181 小时前
Vue2 学习记录--语法部分
学习
下午见。1 小时前
深入理解C语言共用体/联合体(union):大小计算与大小端判断实战
c语言·笔记·学习
HalvmånEver2 小时前
Linux的第二章 : 基础的指令(二)
linux·运维·服务器·开发语言·学习
im_AMBER8 小时前
React 17
前端·javascript·笔记·学习·react.js·前端框架
谷歌开发者9 小时前
Web 开发指向标 | Chrome 开发者工具学习资源 (六)
前端·chrome·学习
QT 小鲜肉10 小时前
【QT/C++】Qt定时器QTimer类的实现方法详解(超详细)
开发语言·数据库·c++·笔记·qt·学习
Mr.Jessy11 小时前
Web APIs 学习第五天:日期对象与DOM节点
开发语言·前端·javascript·学习·html
存在morning11 小时前
【人工智能学习笔记 三】 AI教学之前端跨栈一:React整体分层架构
笔记·学习·架构
巫婆理发22212 小时前
评估指标+数据不匹配+贝叶斯最优误差(分析方差和偏差)+迁移学习+多任务学习+端到端深度学习
深度学习·学习·迁移学习