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"

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

好记性不如烂笔头

积跬步期千里

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

相关推荐
兔子不吃草~1 小时前
Transformer学习记录与CNN思考
学习·cnn·transformer
与己斗其乐无穷2 小时前
C++学习记录(8)list
学习
有谁看见我的剑了?2 小时前
k8s-容器探针和生命周期回调学习
学习·容器·kubernetes
芜狄4 小时前
UCOSIII移植——学习笔记1
笔记·嵌入式硬件·学习·stm32f103rct6·ucosiii实时操作系统
Cellular_Modem笔记5 小时前
5G NR-NTN协议学习系列:NR-NTN介绍(2)
学习·5g·ntn
ooo-p6 小时前
FPGA学习篇——Verilog学习Led灯的实现
学习·fpga开发
_hermit:7 小时前
【从零开始java学习|小结】记录学习和编程中的问题
java·学习
屁股割了还要学7 小时前
【数据结构入门】排序算法(4)归并排序
c语言·数据结构·学习·算法·排序算法
武昌库里写JAVA8 小时前
Mac下Python3安装
java·vue.js·spring boot·sql·学习
程序员东岸10 小时前
C语言入门指南:字符函数和字符串函数
c语言·笔记·学习·程序人生·算法