Ubuntu 20.04 安装 ORB_SLAM2

Pangolin

官网地址下载最新稳定版并解压缩,安装脚本如下。
注:不用下载最新master版,编译的时候有错误,v0.6稳定版则没有问题。

# 安装依赖项
sudo apt-get install libglew-dev
sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
sudo apt-get install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev
sudo apt-get install libpng-dev

# 配置并编译
cd Pangolin 
mkdir build && cd build
cmake -DCPP11_NO_BOOST=1 ..
make -j
sudo make install
# 验证
cd examples/HelloPangolin
mkdir build && cd build
cmake ..
make
./HelloPangolin

如果弹出窗口并显示如下正方体,则表示安装成功。
在这里插入图片描述

OpenCV

官网下载OpenCV 3的最新版本的源码,这里是3.4.15。

# 安装依赖项
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff5.dev libswscale-dev libjasper-dev 
sudo apt install libcanberra-gtk-module libcanberra-gtk3-module 
# 配置并编译
mkdir build && cd build 
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j
sudo make install

ORB-SLAM2

正常编译命令如下:

cd ORB_SLAM2
chmod +x build.sh
./build.sh

如果遇到以下错误,请按照下面的提示修改。

错误1: std::map must have the same value_type as its allocator

在这里插入图片描述
这里需要将 ORB_SLAM2/include/LoopClosing.h::47 处的

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;

错误2: ‘usleep’ was not declared in this scope

需要添加头文件

#include<unistd.h>

需要添加此句的文件如下:

Examples/Monocular/mono_euroc.cc
Examples/Monocular/mono_kitti.cc
Examples/Monocular/mono_tum.cc
Examples/RGB-D/rgbd_tum.cc
Examples/Stereo/stereo_euroc.cc
Examples/Stereo/stereo_kitti.cc
src/LocalMapping.cc
src/LoopClosing.cc
src/System.cc
src/Tracking.cc
src/Viewer.cc

Demos

编译完成后会在ORB_SLAM2/Examples文件夹下生成各种可执行文件。

单目

TUM官网下载数据集,这里下载的是第一个,即fr1/xyz,大小为0.47G,解压缩后名称为rgbd_dataset_freiburg1_xyz。
这里我在ORB_SLAM2下创建了一个名为 datasets 的文件夹,并使用 ln -s 命令创建了上述文件夹的软连接(可以避免VSCode之类的IDE加载太慢),如下所示:
在这里插入图片描述
之后即可参照官网示例运行单目Demo。

/Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml datasets/rgbd_dataset_freiburg1_xyz

在这里插入图片描述

RGBD

python2 和 pip2
sudo add-apt-repository universe
sudo apt update
sudo apt install python2
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py
sudo python2 get-pip.py
pip2 --version
# 输出:pip 20.3.4 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)

pip2 安装插件

pip2 install numpy
关联RGB图像和深度图像

下载脚本 associate.py ,在数据集文件夹打开终端,并执行如下命令

python2 associate.py rgb.txt depth.txt > associations.txt

如果程序正常执行,即可生成 associations.txt 文件。

Demo运行
./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml datasets/rgbd_dataset_freiburg1_xyz datasets/rgbd_dataset_freiburg1_xyz/associations.txt

在这里插入图片描述

参考链接

Pangolin 安装测试 Installation & Examination (Ubuntu 20.04)

Ubuntu18.04 ORB_SLAM2的安装、配置、运行SLAM单目实例

  • 10
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值