Ubuntu18.04下安装配置ORB_SLAM2

ORB_SLAM2的安装配置

  • Ubuntu18.04下安装配置ORB_SLAM2
  • 一、安装必须工具
  • 二、安装Pangolin作为可视化和用户界面
  • 三、安装Eigen3——一个开源线性库,可进行矩阵运算
  • 四、安装ORB-SLAM2
  • 五、安装OpenCV
  • 六、运行单目SLAM实例

一、安装必须工具

安装配置过程中需要需要cmake、gcc、g++和Git工具
1、安装git,用于从Github上克隆项目到本地

sudo apt-get install git

2、安装cmake

sudo apt-get install cmake

3、安装gcc、g++

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

二、安装Pangolin作为可视化和用户界面

1、安装依赖项

sudo apt-get install libglew-dev libpython2.7-dev

2、从GitHub将项目下载到本地

git clone https://github.com/stevenlovegrove/Pangolin.git

3、编译安装

cd Pangolin
mkdir build
cd build
cmake ..
make -j4
sudo make install

(1)在执行make -j4的时候可能会遇到如下问题:No package 'xkbcommon’

解决这个问题,执行如下命令:

sudo apt-get install libxkbcommon-dev

(2)也可能遇到问题:No package ‘wayland-protocols’ found

解决方法:

sudo apt-get install wayland-protocols

然后依次执行上面的命令,make -j4执行成功如下图所示:

三、安装Eigen3——一个开源线性库,可进行矩阵运算

sudo apt-get install libeigen3-dev

四、安装ORB-SLAM2

1、克隆仓库

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

可能会遇到这种情况,下载很慢而且还会失败:

所以在执行这一步的时候建议连接手机热点,如下图:

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

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

出现如下问题:

解决usleep问题:在ORB-SLAM2中的include文件夹里面的system.h加入#include<unistd.h>

打开Thirdparty/g2o/g2o/solvers/linear_solver_eigen.h
将以下代码:

template <typename MatrixType>
class LinearSolverEigen: public LinearSolver<MatrixType>
{ public: typedef Eigen::SparseMatrix<double, Eigen::ColMajor> SparseMatrix;
typedef Eigen::Triplet<double> Triplet;
typedef Eigen::PermutationMatrix<Eigen::Dynamic, Eigen::Dynamic, SparseMatrix::Index> PermutationMatrix;

修改为:

template <typename MatrixType>
class LinearSolverEigen: public LinearSolver<MatrixType>
{ public:
typedef Eigen::SparseMatrix<double, Eigen::ColMajor> SparseMatrix;
typedef Eigen::Triplet<double> Triplet;
typedef Eigen::PermutationMatrix<Eigen::Dynamic, Eigen::Dynamic, int> PermutationMatrix;

然后重新运行上述命令
3、要在ROS环境下运行ORB_SLAM的话,在ROS环境下运行ORB_SLAM,最好将工程放在catkin_ws/src文件夹下,需要进行如下操作:
(1)将包含Examples/ROS/ORB_SLAM2的路径添加到ROS_PACKAGE_PATH环境变量中:打开.bashrc文件并在最后添加路径
打开.bashrc文件:

 sudo  gedit ~/.bashrc

添加路径:

source ./catkin_ws/devel/setup.sh

使修改后的/.bashrc文件生效

source ~/.bashrc

将下列目录下的CMakeLists.txt文件中的部分代码做修改

将下列代码:

set(LIBS
${OpenCV_LIBS}
${EIGEN3_LIBS}
${Pangolin_LIBRARIES}
${PROJECT_SOURCE_DIR}/../../../Thirdparty/DBoW2/lib/libDBoW2.so
${PROJECT_SOURCE_DIR}/../../../Thirdparty/g2o/lib/libg2o.so
${PROJECT_SOURCE_DIR}/../../../lib/libORB_SLAM2.so
)

修改为:

set(LIBS
${OpenCV_LIBS}
${EIGEN3_LIBS}
${Pangolin_LIBRARIES}
${PROJECT_SOURCE_DIR}/../../../Thirdparty/DBoW2/lib/libDBoW2.so
${PROJECT_SOURCE_DIR}/../../../Thirdparty/g2o/lib/libg2o.so
${PROJECT_SOURCE_DIR}/../../../lib/libORB_SLAM2.so
-lboost_system
)

然后执行命令

cd catkin_ws/src/ORB_SLAM2
chmod +x build_ros.sh
./build_ros.sh

运行成功

五、安装OpenCV

OpenCV的安装参考一下学姐的博客

https://blog.csdn.net/cungudafa/article/details/84451066

六、运行单目SLAM实例

编译完成后会在ORB_SLAM2/Examples文件夹下生成各种可执行文件。我们以单目情况为例,展示如何运行ORB_SLAM2程序。
1、下载数据集:有TUM、KITTI、EuRoC三种数据集,这里使用TUM数据集,从http://vision.in.tum.de/data/datasets/rgbd-dataset/download下载序列并解压缩。

解压:

2、执行命令,其中PATH_TO_SEQUENCE_FOLDER为数据集的存储路径,并将tumx.yaml与下载的数据集对应,比如TUM1.yaml,TUM2.yaml 和TUM3.yaml 分别对应 freiburg1, freiburg2 和 freiburg3,根据自己的情况对路径做修改。

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

结果如下:


到这里,运行单目SLAM实例就成功啦!

Ubuntu18.04下安装配置ORB_SLAM2以及过程中遇到的问题解决方法相关推荐

  1. ubuntu18.04下安装中文输入法

    ubuntu18.04下安装中文输入法 windows下使用习惯了某款中文输入法,现在使用Ubuntu系统,也想和在windows下一样使用中文输入法,发现该输入法已经有了Linux版本,果断下载下来 ...

  2. Ubuntu18.04下安装MySQL

    提示:以下操作均在root权限下进行. # 查看有没有安装MySQL: dpkg -l | grep mysql # 安装MySQL: apt install mysql-server 安装完成之后可 ...

  3. 在ubuntu18.04下安装标签软件labelme

    在ubuntu18.04下安装标签软件labelme 在论坛里面看到很多前辈在ubuntu16.04下安装软件labelme,索性模仿他们尝试了一下,看了很多的博客和论坛,尝试了很多的方法,最终仍然与 ...

  4. ubuntu18.04下安装grafana6和简单使用

    ubuntu18.04下安装grafana6 环境 ubuntu18.04 下载 sudo apt-get install -y adduser libfontconfig1 # 使用wget 下载会 ...

  5. ubuntu18.04下安装GPU实例

    ubuntu18.04下安装GPU实例 以下是用到的命令去安装GPU 测试显卡驱动是否安装成功 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内 ...

  6. DELF: DEep Local Features在Ubuntu20.04下安装配置

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 DELF: DEep Local Features在Ubuntu20.04下安装配置 一.安装Ubuntu20.04后配置深度学习环境 ...

  7. win10系统安装数据库SQL-server过程中出现的问题解决方法

    win10系统安装数据库SQL-server过程中出现的问题解决方法 一.出现提示需要安装Microsoft .NET Framework 3.5的三种解决办法 1,进入网址https://www.m ...

  8. VS2008运行过程中出现regsvr32问题解决方法记录

    VS2008运行过程中出现regsvr32问题解决方法 vs2008运行工程文件过程中提示regsvr32出现问题,此时我的项目中有3个工程,两个是依赖,第三个是我建立的运行工程,出现这个问题之后,我 ...

  9. Ubuntu18.04下安装NVIDIA显卡驱动、docker、nvidia-docker;容器中编译安装opencv-4.4.0与darknet-yolov4并完成测试;容器封装镜像转移。2022

    记录一下第一次在CSDN发博客,欢迎大家光临~ 文章目录 前言 一.宿主机配置 1.安装Ubunntu18.04 64位系统 2.为宿主机系统更换国内软件源Ubuntu 官方源服务器在欧洲,国内访问很 ...

  10. Ubuntu18.04下安装OpenCV依赖包出现ibjasper-dev无法安装的问题

    近期需要在ubuntu18.04系统上安装opencv但是在安装依赖包的过程中,有一个依赖包,libjasper-dev在使用命令 sudo apt-get install libjaster-dev ...

最新文章

  1. PythonScript_demo--搭建PXE服务器
  2. phpstudy php日志,phpstudy开启网站Apache日志并且按照日期划分创建
  3. [SAP ABAP开发技术总结]CLEAR、REFRESH、FREE内表清理区别
  4. nagios-3种报警方式–声音–email/邮件—短信
  5. C#中join 的lambada写法
  6. POJ NOI MATH-7832 最接近的分数
  7. 八款你不得不知的开源前端JS框架
  8. 一个人做饭有哪些推荐?
  9. Java代码发送post请求工具类
  10. 研华工控机u盘启动安装linux系统,研华工控机610L如何安装win7系统
  11. 光耦w314的各引脚图_常用光耦型号代换大全
  12. 如何用java获取网页源代码
  13. 用户行为监控(Piwik)
  14. mybatispuls中IService查询条件的使用(适用于单表查)
  15. 模型小常识,C4D扫描的使用
  16. 【jzoj2163】【二分】算法学习(sfxx)
  17. 数据压缩算法之zigZag--一种对负数友好的编码(2000多字总结)
  18. QQ如何开通在线客服
  19. 概述计算机系统的组成和工作原理,计算机系统的组成1.ppt
  20. ng-zorro nz-menu修改样式

热门文章

  1. Qt汉字显示乱码的一个简单解决方案
  2. 工作流软件是未来web的支柱
  3. oracle 11g新特性之IPS Packing demonstration
  4. mysql允许远程访问的用户
  5. 5.大数据架构详解:从数据获取到深度学习 --- 流处理
  6. 27. PHP 文件创建/写入
  7. 15. PHP 全局变量 - 超全局变量
  8. 19_java之List和Set
  9. 大数据可能带来三方面的伦理挑战
  10. Dive into Spring framework -- 了解基本原理(二)--设计模式-part2