赞
踩
sudo
目录
切记在安装ros前就将opencv安装好,否则会出问题
刚开始安装的opencv的版本是3.4版本的
但是到编译到后面的时候,编译发生错误,原来需要版本是大于4.4 版本的
可以修改编译文件,将opencv的版本更改为虚拟机上安装的opencvd的版本
ORB-SLAM3的作者使用的是以下的版本
首先下载该软件依赖的一
Pangolin安装包的下载地址为:
执行后的文件夹中的内容为:
最后一定加上一句话:
sudo ldconfig
测试是否安装成功
直接使用命令安装的方法:
安装完成后,需要将eigen3中的文件夹Eigen放在include中,整个linux系统才能使用
linux 下面如何进行安装 Eigen .
调整,默认安装路径是:/usr/include/eigen3
cd /usr/include/eigen3
需要执行复制命令,将Eigen文件夹放在/usr/include 下面
sudo cp Eigen/ .. –R
- sudo apt-get update
- sudo apt-get install libboost-all-dev
DBoW2 and g2o (这两个不需要单独安装,ORB-SLAM3的作者将这两个放在总工程的第三方依赖目录中。编译的时候会自动编译)
DBow2算法主要用于重定位或者称作闭环检测,英文叫loop closure或者place recognition。
DBOW2算法的全称为Bags of binary words for fast place recognition in image sequence,使用的特征检测算法为Fast,描述子使用的是brief描述子
下载完后,一定要检测下面这个文件夹是否是具有三个文件夹,分别是用来配置三个环境的。
使用命令下载为:
git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git ORB_SLAM3
ROS环境,和作者环境保持一致,搭建melodic环境。
官网上的编译方法
按照上面的环境的搭建,在编译过程中主要遇到了两个问题
1)问题1
编译过程中出现internal computer error,即内存不足的问题。
解决方法有两个方法
1.将虚拟机的内存扩容
2)问题2
OpenCV版本的问题,解决方法在opencv环境安装部分已经阐述
如下图所示,编译的接管显示为这样,表示编译环节已经完成
EuRoC数据集由两个针孔摄像头(pinhole)和一个惯性传感器(IMU)记录得到的数据EuRoC 数据集http://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets
进入主页,进行链接的复制,然后新开浏览器粘贴链接进行下载
1,创建一个新的文件夹Dtasets,将下载好的数据的压缩包解压,
2)将解压后的文件夹mav0移动到文件夹Dtasets目录下
3)在ORB_SLAM3文件夹下,打开终端,输入命令
./Examples/Stereo/stereo_euroc ./Vocabulary/ORBvoc.txt ./Examples/Stereo/EuRoC.yaml ./Datasets ./Examples/Stereo/EuRoC_TimeStamps/V101.txt
程序运行后的结果,如图所示:
euroc_examples.sh脚本中提供了各种大同小异测试指令,读者可以很容易根据本文给出的指令做出相应修改。以下给出的是单目的测试指令。
./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml /你喜欢的位置/MH_01_easy ./Examples/Monocular/EuRoC_TimeStamps/MH01.txt dataset-MH01_mono
单目的测试脚本有个坑,能够成功运行,但不显示图像。其原因是/Examples/Monocular/mono_euroc.cc 中不知道为什么禁用了UI,将如下代码中false改为true即可。
注意:修改结束后需要回到主目录ORB-SLAM3中 ,打开终端,重新进行编译,编译后运行上面的命令,就可以显示出来图像。
测试结果如下图所示:
编译的方法和上面的流程是一样的,只是NANOd的内存会小一些,编译速度没有在PC上面快。遇到了下面两个问题,解决方法为:
问题1:
分区的解决方法
C++ 错误解决 —— internal compiler error - Cyril_Wu - 博客园
2.缺库的解决方法
Ubuntu系统:sudo apt-get install libssl-dev
第一步安装依赖包:
sudo apt-get install libglew-dev
第二步梁所有ORB-SLAM3编译后依赖的动态库放置在lib文件中,并添加到环境变量文件bashrc中
添加如下的语句:
执行
source ~/.bashrc
第三步将缩减后的编译好的包进行拷贝
对应的ORB-SLAM3的lib中的动态库有,下图中的exampples中,是可执行文件,在部署的时候也可以进行删除不必要的使用的内容:
第四步:运行,还是拿钱买你的第一个例子为准:
./Examples/Stereo/stereo_euroc ./Vocabulary/ORBvoc.txt ./Examples/Stereo/EuRoC.yaml ./Datasets ./Examples/Stereo/EuRoC_TimeStamps/V101.txt
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。