ORB-SLAM2-With-Pointcloud-map 编译安装运行等问题汇总
1.简介
ORB-SLAM2-With-Pointcloud-map是高翔基于原版ORB-SLAM2改编的带有实时生成实时三维稠密点云功能的开源算法。
下面讲一讲需要最少改动的安装策略。
大家可以先去看看我之前的文章:
(16条消息) ORB-SLAM2编译、安装等问题汇总大全(Ubuntu20.04、eigen3、pangolin0.5、opencv4.5.5)_文雯不是头猪哇的博客-CSDN博客
2.下载
2.1 环境
ubuntu20.04
物理机或虚拟机。
2.1 ORB-SLAM2-With-Pointcloud-map源码下载
git clone https://github.com/gaoxiang12/ORBSLAM2_with_pointcloud_map
2.2 eigen
我选择的是
eigen3.3.90
,很新的一个版本,低版本可能会报很多错误。
这个版本应该与高翔提供的ceres第三方库会有些冲突,但是我们主要用的是g2o,所以问题不大
git clone https://github.com/eigenteam/eigen-git-mirror
cd eigen-git-mirror
mkdir build
cd build
cmake ..
make
sudo make install
sudo cp -r /usr/local/include/eigen3/Eigen /usr/include
2.3 Opencv
选择的是
Opencv3.4.12
,因为之前用的是很新的opencv4.5.5,需要按我之前写的文章改动很多源码才能编译,干脆就给它降个等级。
下载方法为:进入官网==
Releases – OpenCV
==
下载对应版本的压缩包,解压,进入解压后的文件夹下:
mkdir build
cd build
cmake ..
sudo make -j6
sudo make install
耐心等待即可。
2.4 Pangolin
还是选择
0.5版本
的
git clone https://github.com/cheukwaylee/Pangolin-0.5
cd Pangolin-0.5
mkdir build
cd build
cmake ..
sudo make -j6
sudo make install
2.5 G2O与DBoW2
进入
3rdparty
文件夹下,进入各自的文件夹,执行
mkdir build
cd build
cmake ..
make
这里没必要install,
2.6 PCL
使用官方预编译源码安装即可
sudo apt-get install pcl-tools libpcl-dev
3. 出现的问题
按我说的步骤去编译,出现的问题就很少了。
3.1 value 标红的问题
去include/loopclosing.h下修改const的顺序
3.2 头文件添加
在/include/System.h中
添加以下头文件
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
3.3 pcl需要c++14标准的问题
进入主路径下 CMakeLists.txt ,G2O,DBoW2下的CMakeLists.txt,添加
add_compile_options(-std=c++11)
add_compile_options(-std=c++14)
set(CMAKE_CXX_STANDARD 14)
哦对了,这样也许需要去重新编译g2o和DBoW2库,删去build文件夹,重新跑一遍就好了。
4. 运行
chmod +x build.sh
./build.sh
编译成功后,按我上篇文章所说的下载数据集去测试就ok了
(16条消息) ORB-SLAM2编译、安装等问题汇总大全(Ubuntu20.04、eigen3、pangolin0.5、opencv4.5.5)_文雯不是头猪哇的博客-CSDN博客