当前位置: 首页 > news >正文

ubuntu 20.04+ORB_SLAM3 安装配库教程

目录

  • 安装ros(如果只是运行ORB-SLAM3,可以跳过安装)
    • 0. ros 安装教程
    • 1. 安装opencv
    • 2. 安装Pangolin
    • 3. 安装Eigen3
    • 4.安装Python & libssl-dev
    • 5.安装boost库
    • 6.安装ceres库(不必须)
    • 7.安装Sophus库(不必须)
    • 8. 安装g20库(不必须)
    • 9. 安装DBoW2库(不必须)

本文整体参考链接有:

  1. ORB-SLAM3配置安装及运行—Ubuntu20.04(2021年)
  2. Ubuntu20.04 —— 新系统从头安装ORB-SLAM3过程(2022年)
  3. Ubuntu 20.04配置ORB-SLAM2和ORB-SLAM3运行环境+各种相关库的安装
  4. ORB-SLAM3配置及安装教程(2023.3)
  5. Ubuntu 20.04配置ORB-SLAM2和ORB-SLAM3运行环境+ROS实时运行ORB-SLAM+Gazebo仿真运行ORB-SLAM2+各种相关库的安装

安装ros(如果只是运行ORB-SLAM3,可以跳过安装)

0. ros 安装教程

经过测试,这个教程最好[Ubuntu20.04.4安装ROS Noetic详细教程(https://zhuanlan.zhihu.com/p/515361781),推荐参考这个安装ros。 由于后续要安装Anaconda, 因此务必注意先安装ros, 再安装Anaconda, 否则会导致ros的依赖库是Anaconda下的库路径,导致冲突。

1. 安装opencv

具体参考教程参见博客ubuntu20安装opencv4和opencv_contrib 多版本共存,

2. 安装Pangolin

此处需要注意,安装Pangolin 稳定的0.6 版本。
Pangolin_v0.6
直接去github默认下载是下载的最新版本,需要注意最好不要下载最新版本。

1)安装依赖项

sudo apt-get install libglew-dev
sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
sudo apt-get install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev
sudo apt-get install libpng-dev

(2)配置并编译

cd Pangolin
mkdir build && cd build
cmake  ..
make -j8  # 我的是8线程,此处数据需要自己查设置,不同电脑不同
sudo make install

(3) 检查是否安装成功

cd examples/HelloPangolin
cmake .
make
./HelloPangolin

安装成功

3. 安装Eigen3

推荐版本安装3.3.4, 不过也有推荐版本3.3.7,要求最低版本是大于等于3.3.3,看个人需要吧。cd 指令需要进到自己的下载解压后的eigen文件夹处,注意替换该指令。
cmake ..指令默认安装位置为/urs/local/,以下为后续fmt安装界面,库路径为/usr/local/lib, include路径为/usr/local/include/, 可作为参考:ORB-SLAM中的依赖库默认安装在/usr下,有特殊指明安装位置的除外,例如opencv安装位置就指明了安装位置,具体可以参考cmake 指令中参数的设置意义。装位置参考

#github 有个mirror,版本3.3.4 from 2017
git clone https://github.com/eigenteam/eigen-git-mirror#安装
cd eigen-git-mirror
mkdir build
cd build
cmake ..
sudo make install#安装后,头文件安装在/usr/local/include/eigen3/

注意!!!
不要采用下面这个指令安装eigen3,

sudo apt-get install libeigen3-dev

如果采用这个指令安装,默认是安装到了/usr/include/eigen3,ORB-SLAM3检测不到,导致编译会报错。利用源码安装,安装好的路径是 /usr/local/include/eigen3/>

4.安装Python & libssl-dev

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

5.安装boost库

Boost 是一个功能强大、构造精巧、跨平台、开源并且完全免费的 C++ 程序库。
进入boost官网:https://www.boost.org/
或者和我下载一样的下载的是1.75.0
此处安装参考链接:

  1. Ubuntu20.04 —— 新系统从头安装ORB-SLAM3过程(2022年)
  2. Ubuntu20.04安装boost库

6.安装ceres库(不必须)

因为后续要运行PL-SLAM,才安装这个库。安装版本ceres-1.14.0版本。
参考链接:Ubuntu20.04安装Ceres和g2o库

7.安装Sophus库(不必须)

参考链接:高翔视觉SLAM十四讲Sophus安装指南(经历)
由于最新的Sophus是模板类的,需要fmt库支持,根据踩坑经验,建议安装8.1.1版本的,否则将导致Sophus安装失败.
Sophus安装1.22.4。

8. 安装g20库(不必须)

参考链接:Ubuntu20.04安装Ceres和g2o库,安装版本是20201223版本。

9. 安装DBoW2库(不必须)

参考链接:Ubuntu环境下安装DBoW2

相关文章:

ubuntu 20.04+ORB_SLAM3 安装配库教程

目录 安装ros(如果只是运行ORB-SLAM3,可以跳过安装)0. ros 安装教程1. 安装opencv2. 安装Pangolin3. 安装Eigen34.安装Python & libssl-dev5.安装boost库6.安装ceres库(不必须)7.安装Sophus库(不必须)8. 安装g20库…...

Poly风格模型的创建与使用_unity基础开发教程

Poly风格模型的创建与使用 安装Poly相关组件Poly模型的创建Poly模型编辑 安装Poly相关组件 打开资源包管理器Package Manager 在弹出的窗口左上角Packages选择Unity Registry 搜索框搜索 Poly 搜索结果点击Polybrush 点击右下角 Install 同时也别忘了导入一下模型示例&#…...

终于有人把VMware虚拟机三种网络模式讲清楚了!

前段时间VMware更新了,你用上最新版了吗? 有几个网工在操作中遇到过各种各样的问题。 比如说由于公司服务器重启导致出现下面的问题:在Xshell里连接虚拟机映射时连接失败;能够连接上虚拟机的映射地址,但git pull时报…...

Flutter实践二:repository模式

1.repository 几乎所有的APP,从简单的到最复杂的,在它们的架构里几乎都包括状态管理和数据源这两部分。状态管理常见的有Bloc、Cubit、Provider、ViewModel等,数据源则是一些直接和数据库或者网络客户端进行交互,取得相应的数据&…...

交换机Vlan和端口配置(H3C)

交换机Vlan配置(H3C) 配置VLAN配置VLAN接口的IP地址开启ARP网关保护功能,配置被保护的网关IP地址 配置VLAN Vlan物理端口3GigabitEthernet 1/0/1 ~ GigabitEthernet 1/0/14 ;GigabitEthernet 2/0/1 ~ GigabitEthernet 2/0/1450Gi…...

vue自定义指令控制权限

1、在main.js中注册全局指令 import Vue from vue;// 按钮权限控制指令 Vue.directive(permission, {inserted: (el, binding)>{const { value } binding;// 判断当前用户是否拥有该按钮权限if (!checkPermission(value)) {el.parentNode.removeChild(el);}} }); // 判断…...

jquery获取url参数

使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作,下面通过文字说明加代码分析的形式给大家解析,具体详情请看下文。 1、jquery获取url很简单,代码如下: window.location.href; 其实只是用到了javascript的基…...

SpringBoot和Spring源码下载

1.下载:在一个空的干净地创建一个文件夹叫springsourcecode,其实叫什么都行的。 git clone https://github.com/spring-projects/spring-framework.git 2.JDK要和gradle匹配 我们要21的,今天为止2023年11月13日,idea是2023.2。 …...

【算法练习Day49】每日温度下一个更大元素 I

​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 每日温度下一个更大元素 I总…...

Maven打包时跳过测试代码

Maven 打包时会把一些用于测试的类或文件也一起打包,无疑增加了打包失败的风险,也加剧了文件占用磁盘的大小。 所以本次写一下如何跳过测试类。 命令行方式跳过测试 我们可以用两种命令来跳过测试 mvn clean package -DskipTestsmvn clean package -D…...

2023-2024 年适用于 Windows 电脑的顶级视频录制软件

想捕捉您正在在线观看的视频吗?使用网络摄像头录制视频会议以供日后参考。正在寻找可以完成这些任务的视频捕捉软件?这篇文章说明了一切。以下是一些适用于 Windows PC 的最佳视频录制工具。 什么是视频录制软件? 顾名思义,视频捕…...

2023-11-14 mysql-主从复制-重置主从连接-记录

摘要: mysql的主从复制, 当从库执行binlog出错后, 会中止主从复制. 此时需要重置主从连接, 以重建主从关系. 主库操作: 一. 清理同步的数据库 drop database test;二. 重置主库状态 reset master;reset slave all;三. 检测主库状态 show master status;mysql> show master…...

go语言学习之旅之安装sdk环境,hello world!

学无止境 为什么学习Go语言 高效编程: Go语言被设计为一门高效的编程语言。其编译速度快,执行速度也相对较快,适合用于构建高性能的应用程序。 并发支持: Go语言天生支持并发编程,通过goroutine和channel提供了简单而…...

《Linux从练气到飞升》No.28 Linux中的线程同步

🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的…...

爬取动态网页内容的库

爬取动态网页内容时,传统的 Python 爬虫库(如 Requests、BeautifulSoup)可能无法直接获取 JavaScript 动态生成的内容。为了处理这种情况,你可以使用一些特别设计的库,它们能够模拟浏览器行为,执行 JavaScr…...

Ubuntu 安装常见问题

1. 安装oh my zsh 搜狗输入法不能用 vim /etc/environmentexport XIM_PROGRAMfcitx export XIMfcitx export GTK_IM_MODULEfcitx export QT_IM_MODULEfcitx export XMODIFIERS“imfcitx” export LANG“zh_CN.UTF-8”配置完后重启,稍等一会,右上角会有个…...

大数据分析师职业技能提升好考吗?含金量高不高

随着大数据时代的到来,大数据分析技能需求已经成为很多企业和机构的必备要求。大数据分析师证书成为当下的热门之一,那么大数据分析师证书需要具备哪些条件呢? 首先,报考大数据分析师证书需要具备以下方面的条件: …...

JumpServer2023漏洞复现合集

本文主要复现JumpServer2023年出现的大批量漏洞,既是分享也是为了记录自己的成长,近期会持续更新。 1. JumpServer MongoDB远程代码执行漏洞(CVE-2023-43651) 1.1 漏洞级别 高危 1.2 漏洞描述 经过身份验证的用户可以利用Mon…...

【Linux】Ubuntu16.04配置repo

Ubuntu16.04配置repo失败 在学习韦东山Linux嵌入式开发过程中,使用repo获取内核及工具链: git clone https://e.coding.net/codebug8/repo.gitmkdir -p 100ask_imx6ull-sdk && cd 100ask_imx6ull-sdk../repo/repo init -u https://gitee.com/weidongshan/m…...

uniapp小程序更新逻辑,按实际开发为主

小程序更新: uniapp小程序更新逻辑 uni.getUpdateManager() 方法参数说明onCheckForUpdatecallback当向小程序后台请求完新版本信息,会进行回调onUpdateReadycallback当新版本下载完成,会进行回调onUpdateFailedcallback当新版本下载失败,会…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式&#xff1a;数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新&#xff1a;构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议&#xff1a;基于LayerZero协议实现以太坊、Solana等公链资产互通&#xff0c;通过零知…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称&#xff1a;Apache Flink REST API 任意文件读取漏洞CVE编号&#xff1a;CVE-2020-17519CVSS评分&#xff1a;7.5影响版本&#xff1a;Apache Flink 1.11.0、1.11.1、1.11.2修复版本&#xff1a;≥ 1.11.3 或 ≥ 1.12.0漏洞类型&#xff1a;路径遍历&#x…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

如何应对敏捷转型中的团队阻力

应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中&#xff0c;明确沟通敏捷转型目的尤为关键&#xff0c;团队成员只有清晰理解转型背后的原因和利益&#xff0c;才能降低对变化的…...

数据库——redis

一、Redis 介绍 1. 概述 Redis&#xff08;Remote Dictionary Server&#xff09;是一个开源的、高性能的内存键值数据库系统&#xff0c;具有以下核心特点&#xff1a; 内存存储架构&#xff1a;数据主要存储在内存中&#xff0c;提供微秒级的读写响应 多数据结构支持&…...