ORBSLAM2环境搭建

寻技术 C/C++编程 2023年09月17日 64

环境搭建

第一步:安装cmake, gcc, g++

sudo apt-get install cmake gcc g++

第二步:安装Eigen

此处安装的是Eigen3.2.1版本,一开始安装Eigen3.4.0,在最后所有环境配置完成后,运行ORBSLAM2时,运行一小段时间就自动退出。不同版本可以在该网站找到

cd Eigen
mkdir build
cmake ..
make
sudo make install
sudo cp /usr/local/include/eigen3 /usr/include/eigen3

第三步:安装Pangolin

0.6版本

cd Pangolin
mkdir build
cmake ..
make
sudo make install

安装时报错:

error: ‘AVFMT_RAWPICTURE’ was not declared in this scope

参考该链接在Pangolin/include/video/drivers/ffmpeg.h开头加上

#define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22) #define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER #define AVFMT_RAWPICTURE 0x0020

编译安装成功,会有很多的警告,这里可以忽略掉。

测试是否安装成功

cd Pangolin
cd examples/HelloPangolin
cmake ..
make
./HelloPangolin

出现一个显示由红、绿、蓝三个色块拼成的立方体的窗口则说明安装成功。

第四步:安装OpenCV3

3.4.15版本

安装依赖(有些可以不装)
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

编译安装opencv(时间比较久)
cd opencv3
mkdir build
cd build
cmake ..
make -j
sudo make install
 

测试是否安装成功

cd opencv3/samples/cpp/example_cmake
./opencv_example

出现一个窗口,上面显示Hello OpenCV则说明安装成功

第五步:安装其他第三方库以及ORB_SLAM2本体

cd ORB_SLAM2
chmod +x build.sh  (给执行权限)
./build.sh

在源码处有一处改动
参考第二个报错
报错:

error: static assertion failed: std::map must have the same value_type as its allocator
       static_assert(is_same<typename _Alloc::value_type, value_type>::value,

解决:打开LoopClosing.h
将原代码中的

typedef map<KeyFrame*,g2o::Sim3,std::less<KeyFrame*>,
        Eigen::aligned_allocator<std::pair<const KeyFrame*, g2o::Sim3> > > KeyFrameAndPose;

修改为

typedef map<KeyFrame*,g2o::Sim3,std::less<KeyFrame*>,
        Eigen::aligned_allocator<std::pair<KeyFrame *const, g2o::Sim3> > > KeyFrameAndPose;

测试

1、进入[网页](Computer Vision Group - Dataset Download (tum.de)),下载对应的数据(点击tgz,就会开始下载对应的数据)

2、进入ORB_SLAM2创建文件夹data,然后将下载好的数据压缩包提取到data中,然后打开终端执行以下命令(此处下载的数据为网页中第一个):

cd ORB_SLAM2
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml data/rgbd_dataset_freiburg1_xyz

若成功搭建,则会显示如下两个窗口

参考

(75条消息) Ubuntu20.04配置ORBSLAM2并运行(保姆级教程)_orbslam2运行_9527风先生的博客-CSDN博客

(75条消息) ORB-SLAM2环境配置以及运行详解(一):ROS与非ROS环境下的安装、编译、离线数据集测试_FrozenFreak的博客-CSDN博客

关闭

用微信“扫一扫”