Ubuntu-18.04 配置 Orb_slam2 - 运行SLAM单目实例

参考博客:

Ubuntu18下ORB_SLAM2的安装与配置
ORB_SLAM2配置过程
Ubuntu18.04 ORB_SLAM2的安装、配置、运行SLAM单目实例          Unbuntu18.04 安装并配置OpenCV3.4.1
TUM数据集 rgbd_dataset_freiburg1_xyz.tgz

废话不多说,流程先列出来,有个大致认识:
Pangolin----OpenCV----Eigen----ORB_SLAM2

以下是正式流程:

1. 安装工具

配置前需要下载cmake、gcc、g++和Git工具

sudo apt-get install cmake
sudo apt-get install git
sudo apt-get install gcc g++

CMake是一个跨平台的编译自动配置工具
sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具
apt-get 命令是 Ubuntu 系统中的包管理工具,可以用来安装、卸载包,也可以用来升级包,还可以用来把系统升级到新的版本

2. 安装Pangolin

在安装Pangolin之前,先要安装必要的依赖项:

sudo apt-get install libglew-dev
sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
sudo apt-get install libpython2.7-dev

安装Pangolin:

git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake ..
make -j4
sudo make install

make -j是所有进程一起运行容易死机,-j4是4个进程一起跑
编译sudo make
make的基本用处是自动根据makefile里的指令来编译源文件.
安装sudo make install
make install:将程序安装至系统中。如果原始码编译无误,且执行结果正确,便可以把程序安装至系统预设的可执行文件存放路径。默认/usr/local/bin

3. 安装OpenCV

安装OpenCV的依赖项:

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

安装OpenCV:
用命令下载opencv3.4.1的source版本,或者去官网下载 http://opencv.org

wget -O opencv-3.4.1.zip https://github.com/Itseez/opencv/archive/3.4.1.zip

进入OpenCV文件夹,编译安装

cd opencv-3.4.1
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j4
sudo make install

配置OpenCV的编译环境:
将OpenCV的库添加到路径,这样的目的是可以让系统找到

sudo gedit /etc/ld.so.conf.d/opencv.conf

执行命令后打开的可能是一个空白的文件,直接添加上下面这句代码

/usr/local/lib

执行下列命令使刚才的配置路径生效

sudo ldconfig

配置bash

sudo gedit /etc/bash.bashrc

把下列这两句代码,添加在文末处

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

保存后,执行如下命令使配置生效

source /etc/bash.bashrc

这一句命令运行完好像关不掉,可以直接关掉终端

4. 安装Eigen

直接命令安装Eigen,进行矩阵运算

sudo apt-get install libeigen3-dev

5.  安装ORB_SLAM2库 

clone克隆仓库,然后进行编译

git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh
./build.sh

此时会出现错误,出现“usleep”错误,需要在相应的文件添加头文件

#include<unistd.h>

需要增加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
需要根据实际情况,提示哪个文件usleep有问题就去加头文件,我直接全添加了

6. 运行单目SLAM实例

下载数据集
有TUM、KITTI、EuRoC三种数据集,这儿使用TUM数据集,下载下来的文件名是:rgbd-dataset_freiburg1_xyz
解压成文件夹,保存在相应的路径,运行时需要使用路径
TUM数据集 rgbd_dataset_freiburg1_xyz.tgz

运行ORB_SLAM2
在ORB_SLAM2文件夹下打开终端,通过cd命令进入文件夹,执行以下命令来运行程序:
官方给出的命令格式如下:
PATH_TO_SEQUENCE_FOLDER为数据集的存储路径
tumx.yaml与数据集对应,比如TUM1.yaml、TUM2.yaml 、TUM3.yaml 分别对应 freiburg1、freiburg2 、 freiburg3

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txtExamples/Monocular/TUMX.yaml PATH_TO_SEQUENCE_FOLDER

根据自己保存路径不一样适当修改。我的数据集放在“/home/数据”目录下

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /home/数据/rgbd_dataset_freiburg1_xyz

即可成功运行

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值