【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3

这篇具有很好参考价值的文章主要介绍了【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文主要记录基于Ubuntu20.04环境下,对普通的ORB_SLAM3和稠密版本的ORB_SLAM3进行环境的配置。

一、配置ORB_SLAM3<普通版本>

1.安装ROS开发环境

这里采用鱼香ros的一键安装,感谢小鱼的一键安装。

wget http://fishros.com/install -O fishros && . fishros

2.安装Pangolin

Pangolin:链接: https://pan.baidu.com/s/1FXYLsEK1W3xmX0m_Vqylag 提取码: jgz2

# 这里采用的是Pangolin-0.5-20.04
cd Pangolin-0.5-20.04
mkdir build
cd build
cmake ..
make -j
sudo make install 

3.安装eigen

sudo apt-get install libeigen3-dev
【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

4.拉取orb_slam3 的源码

(基于小六的注释后的ORB_SLAM3代码)

https://github.com/electech6/ORB_SLAM3_detailed_comments

git clone https://github.com/electech6/ORB_SLAM3_detailed_comments.git

5.安装DBoW2(在Thirdparty文件中)

【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

需要先修改opencv版本

【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

如何查看opencv版本号?

【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

编译(由于在工程当中,并不需要install)

cd DBoW2
mkdir build
cd build
cmake ..
make -j
【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

6.安装g2o

cd g2o
mkdir build
cd build
cmake ..
make -j

7.开始编译ORBSLAM3(普通版)

在工程中修改CMakeLists 中opencv的版本,一定要与系统的opencv版本一致

【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档
cd ORB_SLAM3_detailed_comments
mkdir build
cd build
cmake ..
make -j
【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

若显示以上报错,则需要安装realsense2

sudo apt-get install ros-noetic-realsense2-camera

ORB_SLAM3也可以使用一键安装

cd ORB_SLAM3_detailed_comments
sudo chmod 777 build.sh
./build.sh

8.编译ORB_SLAM3 ROS环境

同样需要先修改OpenCV的版本号为本机版本

【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

在bashrc中添加ORBSLAM路径

sudo vim ~/.bashrc
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/home/robot/orb_slam3/ORB_SLAM3_detailed_comments/Examples/ROS/ORB_SLAM3
# vim 操作方法: 输入 按a
#              结束先按Esc ,再按 :wq
# 记得source下环境
source ~/.bashrc
【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

若出现以上错误,则需要去rosdep init一下,并且rosdep update

可以使用最上面的鱼香ros更新一下

cd ORB_SLAM3_detailed_comments/Examples/ROS/ORB_SLAM3
mkdir build
cd build
cmake ..
make -j

也可以使用一键安装

cd ORB_SLAM3_detailed_comments
sudo chmod 777 build_ros.sh
./build_ros.sh

9.测试一下

# 运行代码之前记得source一下
cd orb_slam3/ORB_SLAM3_detailed_comments/Examples/ROS/ORB_SLAM3/build
source devel/setup.bash
# 终端1
roscore
# 终端2
rosrun ORB_SLAM3 Mono_Inertial /home/robot/orb_slam3/ORB_SLAM3_detailed_comments/Vocabulary/ORBvoc.txt /home/robot/orb_slam3/ORB_SLAM3_detailed_comments/Examples/Monocular-Inertial/EuRoC.yaml
【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档
【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档
【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

测试数据集:

链接: https://pan.baidu.com/s/1WwTSvQqJ8QSpPPs0G-dXNg 提取码: nnej

rosbag play V1_01_easy.bag
【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

这样,普通版本的ORB_SLAM3环境搭建成功!

将ORB-SLAM3编写成launch文件

<?xml version="1.0"?>
<launch>
    <node pkg="ORB_SLAM3" type="RGBD" name="RGBD" args="/home/qsx/orb_slam/ORB_SLAM3_detailed_comments/Vocabulary/ORBvoc.txt /home/qsx/orb_slam/ORB_SLAM3_detailed_comments/Examples/RGB-D/RealSense_L515.yaml" />

    <arg name="node_start_delay" default="5.0" />  
    <node pkg="rosbag" type="play" name="rosbag_play" args="/home/qsx/F1_dataset/1/record_12_6_F1_3.bag" launch-prefix="bash -c 'sleep $(arg node_start_delay); $0 $@' " />
</launch>

二、编译ORB_SLAM3(稠密版本)

1.下载源码:

git clone -b dense_map_new https://github.com/electech6/ORB_SLAM3_detailed_comments.git

同样需要先安装Thirdparty中的DBoW2和g2o,方法同上。

2.修改opencv版本

【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档
【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

若出现以上错误,则需要安装pcl-1.12版本

3.解决pcl多版本共存问题

pcl各个版本下载地址:https://github.com/PointCloudLibrary/pcl/releases

下载pcl-1.12.1:https://github.com/PointCloudLibrary/pcl/archive/refs/tags/pcl-1.12.1.zip

(个人认为:由于我们一般编译安装的文件都放再/usr/local路径,而若是我们自行定义自己的文件夹,这样系统就找不到,也就不会出现多版本共存冲突的问题啦!<俗话说,打不过我躲还行吧!>但需要在CMakeList文件中去寻找我们的文件路径)

①将下载的1.12.1源码放到pcl-1.12文件夹中,再新建一个pcl-1.12_installfile文件用来存放安装后的文件

【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

②开始编译pcl

cd pcl-1.12
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/home/robot/Documents/pcl-1.12_installfile ..
make
make install 
make clean
【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

③修改CmakeList文件

【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

修改成如下:

find_package(PCL 1.12 REQUIRED 
PATHS /home/robot/Documents/pcl-1.12_installfile
)
【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

4.修改c++版本

【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

若出现以上错误,则需要把C++11改为C++14

【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档
【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

把C++11改为C++14

5.C++问题

【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

若出现error: ‘std::chrono::monotonic_clock’ has not been declared

则全部替换成steady_clock

这样就可以编译通过啦!

【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

6.编译稠密版本的ORB_SLAM3 ROS

①添加bashrc环境

export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/home/robot/orb_slam3/dense_ORB_SLAM3_detailed_comments/Examples/ROS/ORB_SLAM3

# 保存完记得 
source ~/.bashrc 
【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

②修改CMakeList文件

【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

③使用一键安装

sudo chmod 777 build_ros.sh
./build_ros.sh

④pcl问题

【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

若出现pcl/point_types.h:No such file or directory

则需要修改CMakeList文件

【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

⑤C++版本问题

【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

若出现上述问题,则需要将C++11改为C++14

【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

这样就ROS的稠密版本也编译完成啦!

【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

7.测试一下

①编写launch文件

<?xml version="1.0"?>
<launch>
    <!-- <include file="$(find ORB_SLAM3)/launch/rs_camera.launch"/> -->


    <node pkg="ORB_SLAM3" type="RGBD" name="RGBD" args="/home/robot/orb_slam3/dense_map_ORB_SLAM3_detailed_comments/Vocabulary/ORBvoc.txt /home/robot/orb_slam3/dense_map_ORB_SLAM3_detailed_comments/Examples/ROS/ORB_SLAM3/config/RealSense_L515.yaml" output="screen"/>

    <arg name="node_start_delay" default="5.0" />  

    <node pkg="rosbag" type="play" name="rosbag_play" args="/media/robot/Q小鑫/数据集/R2DIO_data/F3_scene3_data/F3_scene3_dataset/F3_scene3_4.bag" launch-prefix="bash -c 'sleep $(arg node_start_delay); $0 $@' " />

    
</launch>

②修改相机Yaml文件(采用的是RealSense_L515相机)

%YAML:1.0

#--------------------------------------------------------------------------------------------
# Camera Parameters. Adjust them!
#--------------------------------------------------------------------------------------------
# File.version: "1.0"

Camera.type: "PinHole"

# Right Camera calibration and distortion parameters (OpenCV)
Camera.fx: 603.086
Camera.fy: 603.23
Camera.cx: 329.578
Camera.cy: 232.509


# distortion parameters
Camera.k1: 0.15858
Camera.k2: -0.492513
Camera.k3: 0.4519
Camera.p1: -0.00218088
Camera.p2: 0.00021294 

# Camera resolution
Camera.width: 640
Camera.height: 480

# Camera frames per second 
Camera.fps: 30

# IR projector baseline times fx (aprox.)
Camera.bf: 30.33325

# Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale)
Camera.RGB: 1

# Close/Far threshold. Baseline times.
ThDepth: 40.0
#Stereo.b: 0.0745
DepthMapFactor: 1000.0
# DepthMapFactor: 1.0
# Depth map values factor
# RGBD.DepthMapFactor: 1000.0

#--------------------------------------------------------------------------------------------
# ORB Parameters
#--------------------------------------------------------------------------------------------
# ORB Extractor: Number of features per image
ORBextractor.nFeatures: 1000

# ORB Extractor: Scale factor between levels in the scale pyramid     
ORBextractor.scaleFactor: 1.2

# ORB Extractor: Number of levels in the scale pyramid    
ORBextractor.nLevels: 8

# ORB Extractor: Fast threshold
# Image is divided in a grid. At each cell FAST are extracted imposing a minimum response.
# Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST
# You can lower these values if your images have low contrast            
ORBextractor.iniThFAST: 20
ORBextractor.minThFAST: 7

#--------------------------------------------------------------------------------------------
# Viewer Parameters
#--------------------------------------------------------------------------------------------
Viewer.KeyFrameSize: 0.05
Viewer.KeyFrameLineWidth: 1.0
Viewer.GraphLineWidth: 0.9
Viewer.PointSize: 2.0
Viewer.CameraSize: 0.08
Viewer.CameraLineWidth: 3.0
Viewer.ViewpointX: 0.0
Viewer.ViewpointY: -0.7
Viewer.ViewpointZ: -1.8
Viewer.ViewpointF: 500.0

PointCloudMapping.Resolution: 0.05
meank: 50
thresh: 1.0
【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

发现源码颜色有点不对劲

修改源码:文章来源地址https://www.toymoban.com/news/detail-617969.html

【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档
【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档
【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3,SLAM学习,人工智能,自动驾驶,Powered by 金山文档

到了这里,关于【ORB_SLAM】Ubuntu20.04 配置ORB_SLAM3的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

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

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

    2023年04月18日
    浏览(68)
  • Linux Ubuntu20.04深度学习环境快速配置命令记录

    1、更新系统包 2、安装显卡驱动 使用apt方式安装驱动,多数情况不容易成功, 使用一下方法更佳: 1.查看合适显卡的驱动版本 NVIDIA GeForce 驱动程序 - N 卡驱动 | NVIDIA NVIDIA GeForce 驱动程序官方提供下载最新版的 Geforce 驱动程序,可提升 PC 游戏体验和应用程序速度。更多关于更

    2024年02月09日
    浏览(56)
  • Ubuntu20.04配置深度学习环境(全网最细最全)

    目录 一、NVIDIA显卡驱动安装 二、安装CUDA 三、安装cuDNN 四、安装Anaconda 五、Anaconda的简单使用 5.1 管理环境 5.2 管理包(package) 5.3 conda install 与 pip install 5.4 conda configuration        默认你已经完成Ubuntu20.04的安装,如果没安装的话可以参考其他博客,我的显卡是GTX1660Ti     

    2024年04月09日
    浏览(79)
  • ubuntu 20.04 4090 显卡驱动安装 深度学习环境配置

    准备工作: 换源 安装输入法:重启的步骤先不管(自选) sudo apt update sudo apt upgrade 禁用nouveau驱动(这个驱动是ubuntu开源小组逆向破解NVIDIA的开源驱动,与英伟达的原有驱动不兼容)执行完第2.3步,先不重启。 打开 软件和更新 , 选择 附加驱动,安装推荐驱动(第一个),点

    2024年02月16日
    浏览(50)
  • RTX4080+Ubuntu20.04深度学习环境配置(小白入门友好)

    因为科研需要,最近几个月开始入门深度学习,准备做语义分割相关的东西。整了一块16G的4080显卡,从0开始学习配置,但找了网上很多资源,感觉很多都不适合纯小白入门。第一次配置成功后没有做记录,昨天因为系统的ubuntu图形用户界面崩掉了,整了很多方法,都没有成

    2024年02月04日
    浏览(75)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包