ORB-SLAM2详细安装教程(ubuntu18.04)

这篇具有很好参考价值的文章主要介绍了ORB-SLAM2详细安装教程(ubuntu18.04)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

paper:https://arxiv.org/pdf/1610.06475.pdf
githup::https://github.com/raulmur/ORB_SLAM2
提示:ORB-SLAM2源码作者推荐在Ubuntu 12.04, 14.04 和16.04上安装运行。
最近在ubuntu18.04上配置ORB-SLAM2运行环境时踩了很多坑,在这期间查阅了很多资料和博客,于是想对安装过程进行总结,方便自己反复查阅以及分享经验避免大家重复踩坑。
博主是用docker在ubuntu18.04容器中安装的ORB-SLAM2,已经打包成docker的镜像文件分享给大家。

# 查看ubuntu版本号
lsb_release -a

orbslam2安装,ORB-SLAM2,ubuntu,ubuntu
安装前的准备:安装cmake、git 、gcc 和g++

# 更新apt库,更新软件列表
sudo apt-get update

apt-get源修改参考

# 安装git,用于从Github上克隆项目到本地
sudo apt-get install git
# 安装cmake,用于程序的编译
sudo apt-get install cmake
# 安装gcc和g++,安装c和c++编译器
sudo apt-get install gcc g++

一、安装第三方库

# 建立一个ORB-SLAM2的文件夹,建议将所有的第三方库以及ORB-SLAM2源码都放入其中
mkdir ORB-SLAM2

1.安装Pangolin

Pangolin是对OpenGL进行封装的轻量级的OpenGL输入/输出和视频显示的库。
1.安装依赖项

sudo apt-get install libgl1-mesa-dev
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

2.安装 Pangolin
通过链接或通过git下载Pangolin源码(不推荐,问题很多)

# 需要科学上网
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git

强烈推荐Pangolin 0.6(稳定版) 提取码:45bo

# 解压并重命名为Pangolin
unzip Pangolin-0.6.zip && mv Pangolin-0.6 Pangolin
# 开始编译和安装
cd Pangolin
mkdir build && cd build 
cmake -DCPP11_NO_BOOST=1 ..
sudo make install

3.验证安装是否完成

# 验证
cd ../examples/HelloPangolin
mkdir build && cd build
cmake ..
make
./HelloPangolin

若安装成功,则会弹出以下窗口:
orbslam2安装,ORB-SLAM2,ubuntu,ubuntu

2.安装OpenCV

可以参考该链接
1.安装依赖项

# 解决:Unmet dependencies.Try'apt--fix-broken install'with no packages(or specify a solution)
sudo apt --fix-broken install
sudo apt-get update
sudo apt-get upgrade

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev
sudo apt-get install libtiff5.dev libswscale-dev

# 解决:add-apt-repository: command not found
sudo apt-get install software-properties-common

sudo apt-get update
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt-get update
sudo apt-get install libjasper1 libjasper-dev

2.安装 OpenCV3.4.5
OpenCV3.4.5源码 提取码:m27t (OpenCV老版本可在Github仓库右侧的Releases里找)

# 安装百度云,xxx.deb是自己下载的版本
sudo dpkg -i baidunetdisk_4.17.7_amd64.deb
# 解压并重命名为opencv
tar -xvf opencv-3.4.5.tar.gz && mv opencv-3.4.5 opencv
# 开始编译和安装
cd opencv
mkdir build && cd build 
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
# 4线程数量,根据电脑性能选择合适的数字
make -j4
sudo make install

3.验证安装是否完成

# 查询OpenCV版本
pkg-config --modversion opencv
# 查询OpenCV库
pkg-config --cflags opencv
# 查询头文件目录
pkg-config --libs   opencv

orbslam2安装,ORB-SLAM2,ubuntu,ubuntu

# 验证
cd opencv/samples/cpp/example_cmake
cmake .
make
./opencv_example

若安装成功,则会弹出以下窗口:
orbslam2安装,ORB-SLAM2,ubuntu,ubuntu

3.安装Eigen

1.安装 Eigen3.3.7
建议源码安装可以下载任意版本对应的文件。

# 解压并重命名为eigen
tar -xvf eigen-3.3.7.tar.gz && mv eigen-3.3.7 eigen
# 开始编译和安装
cd eigen
mkdir build && cd build
cmake ..
make
sudo make install

# 在很多程序中include时经常使用#include <Eigen/Dense>而不是使用#include <eigen3/Eigen/Dense>
# 因此安装后需要将头文件从 /usr/local/include/eigen3/ 复制到 /usr/local/include
# 后续小节会有C++测试代码说明
sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include

2.测试eigen库安装完成
在home目录下新建一个test.cp 文件用以测试。

# 建立 test 测试文件
touch test_eigen.cpp
# 用gedit打开此测试文件,添加C++代码用于测试
gedit test_eigen.cpp
# 编译后生成一个test_eigen的可执行文件
g++ test_eigen.cpp -o test_eigen
# 在test_eigen可执行文件目录下执行以下命令,证明eigen库安装完成
./test_eigen

在test_eigen.cpp文件中添加的C++测试代码。

#include <iostream>
//需要将头文件从 /usr/local/include/eigen3/ 复制到 /usr/local/include
#include <Eigen/Dense>
//using Eigen::MatrixXd;
using namespace Eigen;
using namespace Eigen::internal;
using namespace Eigen::Architecture;
using namespace std;
int main()
{
        cout<<"*******************1D-object****************"<<endl;
        Vector4d v1;
        v1<< 1,2,3,4;
        cout<<"v1=\n"<<v1<<endl;
 
        VectorXd v2(3);
        v2<<1,2,3;
        cout<<"v2=\n"<<v2<<endl;
 
        Array4i v3;
        v3<<1,2,3,4;
        cout<<"v3=\n"<<v3<<endl;
 
        ArrayXf v4(3);
        v4<<1,2,3;
        cout<<"v4=\n"<<v4<<endl;
}

orbslam2安装,ORB-SLAM2,ubuntu,ubuntu

二、安装以及运行ORB-SLAM2

1.安装编译ORB-SLAM2

# 通过git下载ORB_SLAM2源码,需要科学上网
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd ORB_SLAM2
# 赋予shell文件运行权限
chmod +x build.sh
# 需要科学上网
# 博主根据个人电脑性能将build.sh里的make -j 修改为 make -j8
./build.sh

常见的错误
orbslam2安装,ORB-SLAM2,ubuntu,ubuntu
编译时如果有如下错误,在对应的头文件中加上 #include <unistd.h>

# 下列是需要加上#include <unistd.h>的c++文件
# 在ORB_SLAM2/src文件夹下
LocalMapping.cc	
LoopClosing.cc
System.cc	
Tracking.cc
Viewer.cc
# 在ORB_SLAM2/Examples/RGB-D文件夹下
rgbd_tum.cc
# 在ORB_SLAM2/Examples/Monocular文件夹下
mono_kitti.cc
mono_euroc.cc
mono_tum.cc
# 在ORB_SLAM2/Examples/Stereo/文件夹下
stereo_euroc.cc
stereo_kitti.cc

或者直接在 ORB_SLAM2/include/System.h 中加上 #include <unistd.h> (强烈推荐)

如果又有如下错误,可以使用gedit打开或者执行以下命令安装xterm
orbslam2安装,ORB-SLAM2,ubuntu,ubuntu

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install xterm

orbslam2安装,ORB-SLAM2,ubuntu,ubuntu

2.单目模式运行演示案例

TUM 数据集
数据下载链接,下载如下数据集
orbslam2安装,ORB-SLAM2,ubuntu,ubuntu

# 解压数据集
tar -xvf rgbd_dataset_freiburg1_desk.tgz

根据数据集要求: Examples/Monocular/TUM1.yaml 对应 freiburg1
orbslam2安装,ORB-SLAM2,ubuntu,ubuntu
执行以下命令显示效果

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /root/Downloads/rgbd_dataset_freiburg1_desk/

orbslam2安装,ORB-SLAM2,ubuntu,ubuntu

3.RGBD模式模式运行演示案例

需额外下载associate.py添加到数据文件夹下
orbslam2安装,ORB-SLAM2,ubuntu,ubuntu
个人理解:作用是使RGD和depth的数据做一个对齐,一 一对应。
orbslam2安装,ORB-SLAM2,ubuntu,ubuntu
注意:只能在Python2 环境下运行

# associate.py需要numoy包
sudo apt-get install python-pip
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy

# 在数据文件夹里执行命令
python associate.py rgb.txt depth.txt > associate.txt
python associate.py associate.txt groundtruth.txt > associate_with_groundtruth.txt

orbslam2安装,ORB-SLAM2,ubuntu,ubuntu
执行以下命令显示效果

./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml /root/Downloads/rgbd_dataset_freiburg1_desk/ /root/Downloads/rgbd_dataset_freiburg1_desk/associate.txt

orbslam2安装,ORB-SLAM2,ubuntu,ubuntu

总结

尽可能简单、详细的介绍ORB-SLAM2的安装流程以及解决了安装过程中可能存在的问题。后续会根据自己学到的知识结合个人理解讲解ORB-SLAM2的原理和代码。文章来源地址https://www.toymoban.com/news/detail-787301.html

到了这里,关于ORB-SLAM2详细安装教程(ubuntu18.04)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ORB-SLAM3复现的详细过程——配置安装及ROS和脚本运行---Ubuntu20.04

    ORB-SLAM3代码下载地址:ORB-SLAM3源码下载 所有的操作都是在完成以下网址中的所有操作内容下进行的:Ubuntu系统安装之后首需要做的事情 本文是总结的比较完善和直接的过程。 其实在整个运行中也遇到了一些问题,也做了一些总结,记录在了文章 ORB-SLAM3复现过程中遇到的问题

    2024年02月09日
    浏览(48)
  • Ubuntu20.04的ROS环境安装ORB-SLAM3详解

    视觉SLAM实验要在Ubuntu20.04系统上使用ROS跑ORB-SLAM3,熟悉一下特征点法的SLAM,把安装过程总结记录下来。 系统 版本 ubuntu 20.04 Pangolin 0.6 Eigen 3 Opencv 4.2 usb_cam 执行命令更新源 1、ROS简介 ROS全称Robot Operating System(机器人操作系统) ROS是适用于机器人的开源元操作系统 ROS集成了大

    2023年04月21日
    浏览(52)
  • Linux系统 Ubuntu18.04安装的详细教程(提供18.04ubuntu镜像)

    镜像文件下载: 链接:https://pan.baidu.com/s/12bEdRBwO1YbLt23QKnrSrA 提取码:h7as 关于全名、用户名区别可先看第四部分 处理器和内核数量,根据需要配置就行。我是8核16线程,配置2,2。小白学习的话,配置低一点没关系。如果你只是为了学一些基础命令,配置成1,1应该也没问题

    2024年02月01日
    浏览(47)
  • Ubuntu18.04跑通ORB_SLAM3(实时USB单目摄像头&本地视频.mp4&官方数据集)

    本人小白,寒假期间学习了一些ROS知识,试着在虚拟机搭建ORB_SLAM3环境并跑通数据集和摄像头,作本文以记录学习过程。所有用到的资源(软件安装包,镜像文件,库的源码文件都会放在最后百度网盘链接里) 目录 0.something you should know 1.安装VMware Workstation Pro和Ubuntu18.04 2.安

    2023年04月18日
    浏览(53)
  • ubuntu 18.04 server安装(详细安装教程)

    前期准备: 准备一个创建一个空文件夹(目的用于装虚拟机,个人习惯)      2. 准备好ubuntu 18.04 iso 服务版本镜像文件   接下来开始安装叭! 1.打开虚拟机VMware workstations (这里用的是16pro) 点击 主页-创建新的虚拟机   2.在 [新建虚拟机向导] 选择配置类型中选择 “自定义

    2024年02月06日
    浏览(39)
  • OpenMVS详细安装教程(ubuntu18.04)

    githup:https://github.com/cdcseacave/openMVS 最近在ubuntu18.04上配置OpenMVS运行环境时踩了很多坑,在这期间查阅了很多资料和博客,于是想对安装过程进行总结,方便自己反复查阅以及分享经验避免大家重复踩坑。 博主是用docker在ubuntu18.04容器中安装的OpenMVS,已经打包成docker的镜像文件分享

    2023年04月14日
    浏览(63)
  • Ubuntu20.04 + Docker + ORB-SLAM2

            原生的Docker并不直接支持可视化,需使用x11进行可视化。         OpenCV编译会报ippicv错误,前往链接下载ippicv_2020_lnx_intel64_20191018_general.tgz文件,将其放入3rdparty文件夹,参考文章进行修改,重新压缩文件。         编译完成 --gpus all :使用 NVIDIA GPU 支持。这

    2024年02月20日
    浏览(48)
  • 【SLAM实战篇】Ubuntu 20.04版本(OpenCV版本4.5.3)对于ORB-SLAM2安装运行,代码编译,自己的数据集构造

    学完SLAM十四讲 心血来潮想跑一下ORB-SLAM2的代码,纯新手小白,自己的踩坑经历进行整理: 本文章主要对ORB-SLAM2进行编译运行。以及自己构建数据集。 源码github地址:https://github.com/raulmur/ORB_SLAM2 终端克隆代码: 查看源代码,其重要的代码库仅为三个文件夹: Example include s

    2024年03月13日
    浏览(41)
  • Ubuntu20.04在ROS下运行ORB-SLAM3

    目录 1.前言: 2.总体配置: 3.数据集 4.配置ORB-SLAM3 (1)添加环境变量 (2)修改文件 5.编译运行 (1)检查环境 (2)编译 6.运行 7.部分报错 (1)功能包未找到 (2)AR路径下文件的错误 (3)Pangolin库错误 (4)缺少库         小白配置ORB-SLAM3的过程真的辛酸。。各种各样

    2024年03月15日
    浏览(43)
  • Ubuntu18.04安装灭霸SLAM:ORBSLAM3

    终于有时间好好整理一下最近跑通ORB-SLAM3的一些笔记了,在xavier上安装了一下谷歌拼音输入法,具体可以参考:AGX Xavier安装中文输入法 先说结论: 1)不建议安装最新版,安装时有许多坑需要填,即使填好了,运行时依然会有很多坑,比如依赖于最新版的opencv4.4等等,最新版

    2023年04月09日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包