Ubuntu18.04版本下配置ORB-SLAM3和数据集测试方法

这篇具有很好参考价值的文章主要介绍了Ubuntu18.04版本下配置ORB-SLAM3和数据集测试方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


环境说明

使用:VMware Workstation Pro
虚拟机系统版本是:Ubuntu 18.04.06
虚拟机内存:8g(若为4g大小,很容易出现后文中ORB-SLAM3编译时会出现的内存问题)
虚拟机存储:50g

若是配置完发现存储空间不足,可以参考这篇博客进行清理:

下载配置技巧:Ubuntu18.04安装vmware-tools解决无法复制粘贴和自由移动文件的问题
按照文章描述的内容完成安装后,可以在主机可以翻墙的情况下先下载好文件,而后挪入到虚拟机当中,有一定程度的便利


必要配置

打开终端,分别输入

sudo apt-get install git # 为了可以使用git指令

(这样才能在终端界面上使用如,git clone这样的指令)

sudo apt-get remove vim-common # 卸载旧版本vi编辑器
sudo apt-get install vim # 安装新版本的vi编辑器
sudo apt-get install build-essential # 安装g++和gcc

(为了避免如链接所描述的问题)


一、Pangolin

源码和库文件下载

1、链接地址下载:Pangolin
2、git 指令下载:

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

依赖安装和编译安装

安装依赖:

sudo apt install libgl1-mesa-dev
sudo apt install libglew-dev
sudo apt install cmake
sudo apt install libpython2.7-dev
sudo apt install pkg-config
sudo apt install libegl1-mesa-dev libwayland-dev libxkbcommon-dev wayland-protocols

编译安装:

cd Pangolin # 进入Pangolin文件夹
mkdir build # 创建Build文件夹
cd build    # 进入build文件夹
cmake ..    # 依照上级目录的CMakeLists.txt文件编译
cmake --build .

二、Eigen3

源码和库文件下载

1、链接地址下载:Eigen3
2、git 指令下载:

git clone https://github.com/eigenteam/eigen-git-mirror # github 有个mirror,版本3.3.4 from 2017

编译安装

cd eigen-git-mirror 
mkdir build 
cd build 
cmake .. 
sudo make install
#安装后,头文件安装在/usr/local/include/eigen3/

三、Opencv

源码和库文件下载

Opencv:下载Opencv3.4.3版本

https://opencv.org/releases/page/5/

ippicv库:电脑配置了vpn并且可以进入外网,可以忽略这部分下载

https://github.com/opencv/opencv_3rdparty/blob/dfe3162c237af211e98b8960018b564bc209261d/ippicv/ippicv_2017u3_lnx_intel64_general_20170822.tgz

编译安装

准备工作
1、修复error: unable to locate libjasper-dev 无法定位这个包libjasper-dev
输入:

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

2、修复终端报错提示ippicv_2017u3_lnx_intel64_general_20170822.tgz的加速库下载失败
电脑配置了vpn并且在开始编译的时候可以进入外网的同学,可以忽略这步
错误示例:
Ubuntu18.04版本下配置ORB-SLAM3和数据集测试方法,opencv,ubuntu,Ubuntu18.04,pangolin,egien3,目标检测,计算机视觉
把OpenCV源文件中 /3rdparty/ippicv 文件夹下的 ippicv.cmake 中,

第47行的

"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/" 

改成你新下载的ippicv文件路径
更改示例:
Ubuntu18.04版本下配置ORB-SLAM3和数据集测试方法,opencv,ubuntu,Ubuntu18.04,pangolin,egien3,目标检测,计算机视觉

更新依赖库:

sudo apt-get update

安装依赖:

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

# 原博客安装的是libtiff4-dev,运行过程报错,改成libtiff5-dev

编译安装:(跳过准备工作中的加速库配置的同学记得打开vpn进入外网)

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

配置环境:
1)添加库路径

sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'

2)更新系统库

sudo ldconfig

3)配置bash

sudo gedit /etc/bash.bashrc

在末尾添加如下两行代码

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

4)保存,执行如下指令使得配置生效

source /etc/bash.bashrc 

5)更新

sudo updatedb  

如果该指令报错,那么可能是没有安装mlocate

先执行安装命令

apt-get install mlocate

然后再

sudo updatedb

6)版本检测

pkg-config --modversion opencv

注意:如果执行后,显示找不到包。那么注意下载的OpenCV版本是不是3.版本的,OpenCV版本4以上的,默认不生成.pc文件,会出现找不到包的问题

输出如下,表示OpenCV完成了安装
Ubuntu18.04版本下配置ORB-SLAM3和数据集测试方法,opencv,ubuntu,Ubuntu18.04,pangolin,egien3,目标检测,计算机视觉

四、DBoW2 和 g2o

DBoW2主要用于回环检测,g2o(General Graph Optimization)主要用于图优化。

ORB-SLAM3的源码包自带DBoW2 和 g2o,编译时会自动安装。不用管。

五、boost

源码和库文件下载

链接地址:下载1.77.0版本的boost_1_77_0.tar.gz

https://www.boost.org/users/history/

编译安装

对下载的文件进行解压后,进入文件夹boost_1_77_0,在此打开终端
分别执行:

sudo ./bootstrap.sh
sudo ./b2 install

需要一定时间,需要耐心等待

六、libssl-dev

直接打开终端,执行:

sudo apt-get install libssl-dev

七、ORB-SLAM3

源码和库文件下载

1、链接地址下载:ORB-SLAM3
2、git clone指令:

git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git

编译安装

准备工作:
修改CMakeLists.txt:打开ORB-SLAM3目录下的CMakeLists.txt,找到第33行

find_package(OpenCV 4.4)

将OpenCV版本号改为:

find_package(OpenCV 3.4)

修改build.sh:在将虚拟机内存改为8G的前提下,将ORB_SLAM3目录下的build.sh中的文件内容修改为:

echo "Configuring and building Thirdparty/DBoW2 ..."

cd Thirdparty/DBoW2
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j4
cd ../../g2o

echo "Configuring and building Thirdparty/g2o ..."

mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j4
cd ../../Sophus

echo "Configuring and building Thirdparty/Sophus ..."

mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j4
前三块都在ORB-SLAM3目录下的Thirdparty文件夹中,
若是中断了,可以在对应文件夹里跳过cd执行剩余内容

cd ../../../
#此处在ORB-SLAM3的目录下
echo "Uncompress vocabulary ..."

cd Vocabulary
tar -xf ORBvoc.txt.tar.gz
cd ..
echo "Configuring and building ORB_SLAM3 ..."

mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
#此块内容最容易出错,且耗时长,我大概编译了四十分钟

必要说明:
将make改为make -j4会加快编译速度,但也会加大内存的占用,遇到问题:

Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

所以最后一块内容的编译是,make
使用make进行编译,内存占比在4g左右浮动,尽量需要虚拟机内存大于4g,这就是上文虚拟机内存选择8g的原因

开始编译:

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

编译成功示例如下:
Ubuntu18.04版本下配置ORB-SLAM3和数据集测试方法,opencv,ubuntu,Ubuntu18.04,pangolin,egien3,目标检测,计算机视觉
最后一块编译内容里容易出现的错误:

Ubuntu18.04版本下配置ORB-SLAM3和数据集测试方法,opencv,ubuntu,Ubuntu18.04,pangolin,egien3,目标检测,计算机视觉
解决方法是打开对应的文件,如Tracking.cc, LoopClosing.cc等

在include后面添加以下代码:

namespace cv
{
    template <typename _Tp, int m, int n>
    static inline Matx<_Tp, m, n> operator/(const Matx<_Tp, m, n> &a, float alpha)
    {
        return Matx<_Tp, m, n>(a, 1.f / alpha, Matx_ScaleOp());
    }
}

修改完后重新运行build.sh进行编译即可

其他可参考的错误解决方案:
安装orbslam3时报错:error: no match for ‘operator/’
ORB-SLAM2编译错误_嵙杰的博客-CSDN博客

数据集测试

数据集链接地址:

链接地址:选择ASL格式的V102

https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets#downloads

测试方法:

解压下载的数据集后(若该文件夹不名为V102,请改为V102),

V102文件夹里有一个mav0的文件夹,还有可能出现的_MACOSX 文件夹(该文件夹是缓存垃圾,可以直接删除)

在ORB-SLAM3文件夹下创建文件夹dataset,将文件夹V102移入dataset

形成的目录结构如下

/ORB-SLAM3/dataset/V102/mav0

在ORB-SLAM3文件夹下打开终端,执行指令

./Examples/Monocular-Inertial/mono_inertial_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular-Inertial/EuRoC.yaml ./dataset/V102 ./Examples/Monocular-Inertial/EuRoC_TimeStamps/V102.txt dataset-V102_monoi

成功运行界面:

Ubuntu18.04版本下配置ORB-SLAM3和数据集测试方法,opencv,ubuntu,Ubuntu18.04,pangolin,egien3,目标检测,计算机视觉

参考链接

ORB-SLAM3配置及安装教程(2023.3)
ORB-SLAM3配置安装及运行—Ubuntu20.04(2021年)

文章的很多内容有所缩减,只是为了配置安装,若是希望对细节有所了解,可以查看一下参考链接文章来源地址https://www.toymoban.com/news/detail-706930.html

到了这里,关于Ubuntu18.04版本下配置ORB-SLAM3和数据集测试方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【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日
    浏览(44)
  • Ubuntu18.04跑通ORB_SLAM3(实时USB单目摄像头&本地视频.mp4&官方数据集)

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

    2023年04月18日
    浏览(54)
  • ORB-SLAM3复现的详细过程——配置安装及ROS和脚本运行---Ubuntu20.04

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

    2024年02月09日
    浏览(50)
  • Ubuntu20.04 + Docker + ORB-SLAM2

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

    2024年02月20日
    浏览(52)
  • 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日
    浏览(45)
  • Ubuntu20.04配置YOLOV5算法相关环境,并运行融合YOLOV5的ORB-SLAM2开源代码(亲测有效)

              这篇博客介绍的是如何在Ubuntu系统下配置YOLOV5算法环境。并且运行一个融合YOLOV5的ORB-SLAM2开源代码。         安装的软件主要是anaconda,然后anaconda可以帮我们安装python、pytorch这些东西。我的ubuntu版本:ubuntu20.04.5LTS。 安装的anaconda类型: Anaconda3-2022.05 安装的p

    2024年02月02日
    浏览(37)
  • 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日
    浏览(57)
  • Ubuntu-18.04版本网络配置,连接网络的方法

    运行命令 sudo apt-get update 时出错:  好久没有Ubuntu,本来想安装一个工具,结果一顿操作后,发现网没连上。后来查了资料,才解决。 1.查看网络状态,命令行输入并运行如下代码, NetworkingEnabled=false 说明Ubuntu没有连网。  2.关闭网络服务站,命令行输入并运行如下代码:

    2024年02月11日
    浏览(43)
  • 工程(十)——github代码ubuntu20.04在ROS环境运行单目和RGBD相机ORB-SLAM3稠密

    博主创建了一个科研互助群Q:772356582,欢迎大家加入讨论交流一起学习。 加稠密建图:git@github.com:huashu996/ORB_SLAM3_Dense_YOLO.git 纯净版:git@github.com:huashu996/ORB_SLAM3.git orb-slam3的整个环境配置还是比较麻烦的,先将一些坑写在前面,供大家参考和避开这些坑。 orb-slam3的配置要求

    2024年01月25日
    浏览(34)
  • ORB-SLAM3 数据集配置与评价

    在ORB-SLAM3运行EuRoC和TUM-VI数据集并作以评价。EuRoC利用微型飞行器(MAV ) 收集的视觉惯性数据集,TUM-VI 是由实验人员手持视觉-惯性传感器收集的数据集。这两个是在视觉SLAM中比较常用的公开数据集,所以测试并加以记录。 1、EuRoC官网下载 从官网下载Euroc数据集,ASL格式 2、新

    2024年02月15日
    浏览(59)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包