ORB-SLAM2环境配置与运行

1. 简介

ORB-SLAM是西班牙Zaragoza大学的Raul Mur-Artal编写的视觉SLAM系统。他的论文“ORB-SLAM: a versatile andaccurate monocular SLAM system"发表在2015年的IEEE Trans. on Robotics上。开源代码包括前期的ORB-SLAM和后期的ORB-SLAM2。

项目主页网址为: http://webdiis.unizar.es/~raulmur/orbslam/

ORB-SLAM是一个基于特征点的实时单目SLAM系统,在大规模的、小规模的、室内室外的环境都可以运行。该系统对剧烈运动也很鲁棒,支持宽基线的闭环检测和重定位,包括全自动初始化。该系统包含了所有SLAM系统共有的模块: 跟踪(Tracking)建图(Mapping)重定位(Relocalization)闭环检测(Loop closing)。由于ORB-SLAM系统是基于特征点的SLAM系统,故其能够实时计算出相机的轨线,并生成场景的稀疏三维重建结果。ORB-SLAM2在ORB-SLAM的基础上,还支持标定后的双目相机和RGB-D相机。

2. ORB-SLAM2特点

ORB-SLAM是一个完整的SLAM系统,包括视觉里程计、跟踪、回环检测。它是一种完全基于稀疏特征点的单目SLAM系统,其核心是使用ORB(Orinted FAST and BRIEF)作为整个视觉SLAM中的核心特征。具体体现在几个方面:

  • 提取和跟踪的特征点使用ORB。ORB特征的提取过程非常快,适合用于实时性强的系统。
  • 回环检测使用词袋模型,其字典是一个大型的ORB字典。
  • 接口丰富,支持单目、双目、RGBD多种传感器输入,编译时ROS可选,使得其应用十分轻便。代价是为了支持各种接 口,代码逻辑稍为复杂。
  • 在PC机以30ms/帧的速度进行实时计算,但在嵌入式平台上表现不佳。

3. 整体框架

在这里插入图片描述
它主要有三个线程组成:跟踪Local Mapping(又称小图)、Loop Closing(又称大图)。

4. 环境配置

本机系统:虚拟机Ubuntu16.04
(考虑后续其他项目配置,建议虚拟机操作)
注:跟过slam14讲的环境配置基本就满足了。

1.安装工具
在配置过程中需要cmake、gcc、g++和Git工具。可在终端通过以下命令下载。(考虑后续使用,cmake装3.5以上最好)

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

2.安装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

安装:

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

图形不显示问题参考:
https://blog.csdn.net/weixin_45080292/article/details/122386491?spm=1001.2014.3001.5501
3.安装Eigen3
安装:

sudo apt-get install libeigen3-dev

主要用于矩阵计算,给个学习连接:

https://github.com/fengbingchun/Eigen_Test

4.g2o安装

g2o库官网:https://github.com/RainerKuemmerle/g2o.git
点击commits可以查看旧版本的提交文件
 
可以自己下载下来,也可以通过终端指令下载在开启的文件目录下:
git clone https://github.com/RainerKuemmerle/g2o.git
用git tag可以查看旧版本的提交文件
 
安装依赖项:sudo apt-get install libqt4-dev qt4-qmake libqglviewer-dev libsuitesparse-dev libcxsparse3.1.4 libcholmod3.0.6
低版本的依赖安装
sudo apt-get install libeigen3-dev libsuitesparse-dev qtdeclarative5-dev qt5-qmake libqglviewer-dev
 
cd g2o   //进入g2o文件夹
mkdir build     //创建build文件夹
cd build    //进入 build
cmake ..   //cmake编译  这个过程比较漫长
make
sudo make install   //安装即可
sudo ldconfig //更新一下刚安装好的库文件

5.OPENCV3安装
为后续使用直接装opencv3版本,该过程很容易出现各种错误,但基本都可搜到解决方案。
安装链接:
https://blog.csdn.net/Ding_0110M/article/details/88083741?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164775358416782246429325%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=164775358416782246429325&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-88083741.142v2pc_search_result_control_group,143v4control&utm_term=ubuntu16.04%E5%AE%89%E8%A3%85opencv&spm=1018.2226.3001.4187

6.DBow安装
从Github上现在模型库:
https://github.com/dorian3d/DBoW2
进入文件目录,安装

mkdir build
cd build/
cmake ..
make
sudo make install

ROS安装(可选),至此环境配置完成。

5.下载编译ORB-SLAM2

克隆仓库

git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2

编译ORB-SLAM2,第三方库中的DBoW2和g2o,并解压ORB词典

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

编译出现内存无法分配,将./build.sh最后的make -j改为make,保存退出。

6.example

1.单目例子
有TUM、KITTI、EuRoC三种数据集,本实验使用TUM数据集,从http://vision.in.tum.de/data/datasets/rgbd-dataset/download下载序列并解压缩。
本机测试数据集:
在这里插入图片描述
解压:

tar -zxvf rgbd-dataset_freiburg1_xyz.tgz

在ORB-SLAM2文件下运行

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

运行结果:
在这里插入图片描述
后续更新。。。。。。。。

https://github.com/Navigine/Indoor-Positioning-And-Navigation-Algorithms#indoor-navigation-algorithms-

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
配置ORB-SLAM3的环境,您需要按照以下步骤操作: 1. 安装依赖库:ORB-SLAM3需要使用一些第三方库,例如OpenCV、Eigen、Pangolin等。确保您已经安装了这些库。您可以通过以下命令在Ubuntu上安装它们: ``` sudo apt-get install libeigen3-dev libopencv-dev libpangolin-dev ``` 2. 克隆ORB-SLAM3的代码库:使用Git工具克隆ORB-SLAM3的代码库到您的本地机器上: ``` git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git ``` 3. 编译ORB-SLAM3:进入克隆的代码库目录,并创建一个build目录。然后,使用CMake来配置和构建ORB-SLAM3: ``` cd ORB_SLAM3 mkdir build cd build cmake .. make -j4 ``` 4. 下载Vocabulary文件:在ORB-SLAM3的代码库中,有一个vocabulary文件夹。您需要下载一个适合您的应用的vocabulary文件。例如,如果您想使用ORB-SLAM3的Monocular模式,可以从官方网站(https://github.com/UZ-SLAMLab/ORB_SLAM3#downloads)下载Monocular-vocabulary文件,并将其放置在vocabulary文件夹中。 5. 配置数据集:ORB-SLAM3需要一个输入图像序列作为输入数据集。您可以使用自己的数据集,或者从ORB-SLAM3的官方网站上下载一些示例数据集。 6. 运行ORB-SLAM3:使用以下命令来运行ORB-SLAM3,并指定您的数据集和相机参数: ``` ./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUMX.yaml 数据集的路径 ``` 这些步骤可以帮助您配置运行ORB-SLAM3。请确保按照文档提供的说明进行操作。如果遇到任何问题,您可以参考ORB-SLAM3的官方文档或在相关论坛上寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

臭皮匠-hfW

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值