Jetson AGX xavier 搭建ORB_SLAM3(ubuntu18)

2023-05-16

Jetson AGX xavier 搭建ORB_SLAM3(ubuntu18)

ORB_SLAM3 :
Github: https://github.com/UZ-SLAMLab/ORB_SLAM3

1.安装依赖

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

可以新建一个文件夹gedit install Dependences 输入上述指后通过chmod +x install Dependences 增加执行命令最后./ install Dependences

2.安装opencv3 :

https://docs.opencv.org/3.1.0/d7/d9f/tutorial_linux_install.html(本人用的是opencv3.2)
git clone https://github.com/opencv/opencv.git
git chekcout 3.3.1
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local …
make -j3
make install
可以使用pkg-config opencv --modversion 查看opencv版本,在ORB SLAM3中规定使用的opencv的版本不能低于3.0。

3.安装 Eigen3

sudo apt install libeigen3-dev

4.安装 Pangolin

git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake … -DCMAKE_BUILD_TYPE=Release
make -j 3
make install
注意:在执行make -j 3时可能会出现以下问题:
src/CMakeFiles/pangolin.dir/build.make:662: recipe for target ‘src/CMakeFiles/pangolin.dir/video/video_output.cpp.o’ failed
make[2]: *** [src/CMakeFiles/pangolin.dir/video/video_output.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs…
src/CMakeFiles/pangolin.dir/build.make:638: recipe for target ‘src/CMakeFiles/pangolin.dir/video/video.cpp.o’ failed
make[2]: *** [src/CMakeFiles/pangolin.dir/video/video.cpp.o] Error 1
CMakeFiles/Makefile2:135: recipe for target ‘src/CMakeFiles/pangolin.dir/all’ failed
make[1]: *** [src/CMakeFiles/pangolin.dir/all] Error 2
Makefile:127: recipe for target ‘all’ failed
make: *** [all] Error 2
也就是与ffmpeg相关的错误,经过多次尝试后发现可以到Pagolin/src文件夹下,在CMakeList.txt中删去下面这段代码(屏蔽掉ffmpeg的影响):

find_package(FFMPEG QUIET)
if(BUILD_PANGOLIN_VIDEO AND FFMPEG_FOUND)
  set(HAVE_FFMPEG 1)
  list(APPEND INTERNAL_INC  ${FFMPEG_INCLUDE_DIRS} )
  list(APPEND LINK_LIBS ${FFMPEG_LIBRARIES} )
  list(APPEND HEADERS ${INCDIR}/video/drivers/ffmpeg.h)
  list(APPEND SOURCES video/drivers/ffmpeg.cpp)
  list(APPEND VIDEO_FACTORY_REG RegisterFfmpegVideoFactory )
  list(APPEND VIDEO_FACTORY_REG RegisterFfmpegVideoOutputFactory )
 
  if(_GCC_)
    # FFMPEG is a real pain for deprecating the API.
    set_source_files_properties(video/drivers/ffmpeg.cpp    PROPERTIES COMPILE_FLAGS "-Wno-deprecated-declarations")
  endif()
  message(STATUS "ffmpeg Found and Enabled")
endif()

5.安装DBoW2 and g2o

DBoW2主要用于回环检测,g2o(General Graph Optimization)主要用于图优化。
ORB-SLAM3的源码包自带DBoW2 and g2o,编译时会自动安装。

6.安装ORB SLAM3

git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git
cd ORB-SLAM3/
chmod +x build.sh
sudo ./build.sh
可能遇到的问题1:
x3D = x3D_h.get_minor<3,1>(0,0) / x3D_h(3); error: no match for ‘operator/_
将出现问题的文件中的这一句换成:
x3D = cv::Matx31f(x3D_h.get_minor<3,1>(0,0)(0) / x3D_h(3), x3D_h.get_minor<3,1>(0,0)(1) / x3D_h(3), x3D_h.get_minor<3,1>(0,0)(2) / x3D_h(3));
可能遇到的问题2:
version `OPENSSL_1_1_1’ not found (required by /usr/local/lib/libssl.so.1.1)
解决方法:
先确认了下问题,使用命令objdump -tT libssl.so.1.1 |grep OPENSSL_1_1_

发现库文件里只有OPENSSL_1_1_0, 没有 OPENSSL_1_1_1。

或者使用 openssl version 查看版本。

解决方法:
首先:
去https://www.openssl.org/下载最新版本,目前 是 openssl-1.1.0l.tar.gz。

tar xvf openssl-1.1.0g.tar.gz

cd openssl-1.1.0g

./config

make

make install

然后:

sudo mv /usr/local/lib/libssl.so.1.1 /usr/local/lib/libssl.so.1.1.old

sudo cp /usr/lib/x86_64-linux-gnu/libssl.so.1.1 /usr/local/lib/

最后:
sudo mv /usr/local/lib/libcrypto.so.1.1 /usr/local/lib/libcrypto.so.1.1.old
sudo cp /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 /usr/local/lib/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jetson AGX xavier 搭建ORB_SLAM3(ubuntu18) 的相关文章

随机推荐

  • 有关绘制和焊接电路板需要注意的各项事宜

    有关绘制电路板的布线规则 xff08 有些是约定成俗的东西 xff09 公共线 xff08 地线 xff09 一般布置在板子的最边缘 xff0c 便于外壳接地 将电源 滤波 控制等低频元器件与直流导线靠边缘布置 xff0c 高频元器件 高频
  • 史上最全的C++面试宝典(合集)

    参考 xff1a https www runoob com cplusplus cpp tutorial html 本教程旨在提取最精炼 实用的C 43 43 面试知识点 xff0c 供读者快速学习及本人查阅复习所用 目录 第一章 C 43
  • MobaXterm因网络断开连接

    Network error span class token punctuation span Software caused connection abort
  • laravel在windows上安装与部署

    这篇适合第一次使用larver且有php基础的 首先电脑上安装了wamp或者其他类似的工具均可 使用composer安装 xff0c 如果电脑没安装composer xff0c 去官网进行下安装 xff0c 这个很简单的 1 xff1a 打
  • Cyber环境搭建(非docker环境下)

    1 替换阿里源 2 安装cmake3 12 1 卸载已经安装的旧版的CMAKE sudo apt get autoremove cmake 2 文件下载解压 wget https span class token operator span
  • 安卓利用tensorflow-lite使用yolov5训练的模型

    前言 作为使用yolov5后一次简单的尝试 准备工作 通过yolov5训练出自己所需要的模型查看模型训练教程将模型通过tensorflow的python版转换 xff0c 使用yolov5 6 1以上版本安卓端引入tensorflow远端依
  • lego-loam加入imu数据建图,使用自己的数据集建图

    配置lego loam教程 https blog csdn net qq 35102059 article details 122671432 spm 61 1001 2014 3001 5501 激光雷达与imu的外参标定教程 https
  • ROS消息sensor_msgs::Imu数据格式

    ubuntu下打开终端输入 rosmsg show sensor msgs Imu 查看sensor msgs Imu的数据格式 std msgs Header header uint32 seq time stamp 时间戳 string
  • slam优化eigen,ceres,g2o,gtsam,pcl

    eigen SLAM本质剖析 Eigen 古月居 ceres https guyuehome com 34633 g2o SLAM本质剖析 G2O 古月居 gtsam SLAM本质剖析 GTSAM 古月居 pcl https www guy
  • Android Cordova 正常安卓项目封装成插件的流程记录

    Android Cordova 正常安卓项目封装成插件的流程记录 背景 xff1a 混合式开发cordova使用Android原生插件 封装流程 xff1a 1 gradle的封装 xff1a a xff1a 需要在插件中先创建一个 gra
  • 错误提示 the operation is not applicable to the current selection.Select a field which is not declared a

    错误提示 the operation is not applicable to the current selection Select a field which is not declared as type variable or a
  • 无人机集群目标检测和追踪方法学习(一)MCDT方法

    论文 xff1a Deep neural network based cooperative visual tracking through multiple micro aerial vehicles 概要 xff1a 通过无人机集群 多
  • Docker ROS环境相关开发常用指令

    Docker ROS相关功能记录 1 主机网络代理配置1 1 Docker daemon Docker 守护进程 xff09 Http代理配置1 2 Container xff08 容器 xff09 Http代理配置1 3 Docker B
  • windows安装maven3.6.1教程

    目录 一 下载安装包 xff08 推荐第三种 xff09 二 安装maven 三 更改本地仓库地址 四 配置淘宝镜像 一 下载安装包 xff08 推荐第三种 xff09 1 官网下载 xff1a Maven Download Apache
  • 连载|决策树(下)

    决策树 xff08 下 xff09 在决策树 xff08 上 xff09 中我们了解了ID3和C4 5算法 xff0c 这两种算法都使用了较为复杂的熵来度量 xff0c 使用了复杂的多叉树 xff0c 并且只能处理分类问题 xff0c 针对
  • MAVEN添加SQL SERVER依赖

    maven添加SQL SERVER依赖 lt dependency gt lt groupId gt com microsoft sqlserver lt groupId gt lt artifactId gt mssql jdbc lt
  • 如何从0到1搭建一个个人网站

    前言 如何从0到1搭建一个可以外网访问的项目 xff1f 我就用自己的服务器给大家举例 xff0c 怎么从0到1搭建一个学生和新手可以用来面试的项目 xff0c 老手也可以回忆一下自己逝去的青春 服务器在激活的时候会让你选系统 xff0c
  • 如果再来一次,你还会选择互联网么?

    现在互联网的就业环境 xff0c 大家都在感受着一股寒意 也不知道从什么时候开始 xff0c 身边悲观的声音越来越多了 如果再给你一次机会 xff0c 你还会选择互联网吗 xff1f 回答这个问题之前 xff0c 我想跟大家聊聊一个我朋友的
  • 机器学习一决策树

    决策树 一 基本流程 xff1a 决策树 xff08 decision tree xff09 是一种常见的机器学习方法 xff0c 以二分类任务为例 xff0c 我们希望从给定的训练数据集学得一个模型用于对未知样本进行分类 xff0c xf
  • Jetson AGX xavier 搭建ORB_SLAM3(ubuntu18)

    Jetson AGX xavier 搭建ORB SLAM3 ubuntu18 ORB SLAM3 Github https github com UZ SLAMLab ORB SLAM3 1 安装依赖 sudo apt get instal