| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> [ORB_SLAM2]零基础搭建与运行 -> 正文阅读 |
|
[人工智能][ORB_SLAM2]零基础搭建与运行 |
笔者是在Windows 10 的笔记本利用VMware 搭建虚拟机Ubuntu 20.04,在Ubuntu上配置ORB_SLAM2算法,耗时两天,记录一下自己心酸的历程(本人刚开始学习SLAM一个月,真正零基础教程,希望本文能帮到有需要的人)。 1. 硬件(1)神州笔记本电脑,配置如下: 处理器:Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz ? 2.59 GHz 机带RAM:16.0 GB (2)虚拟机设置: 硬盘:80 G(强烈建议弄大一点,因为之后数据集动不动几个G,小了的话加起来很麻烦,本人就因为刚开始设小了,后面卸载重装了虚拟机 :-(? ?) 内存: 8 G? 处理器:8 2. 准备工作2.1 VMware官方下载地址:?https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html 2.2 Ubuntu 20.04官方下载地址:https://ubuntu.com/download/desktop 2.3 VMware 安装 Ubuntu 参考博客:(18条消息) VMware虚拟机快速安装Ubuntu教程_liwu的博客-CSDN博客_ubuntu虚拟机安装教程 2.4 在 Ubuntu 中安装 ROS :强力安利赵虚左老师的这个课【奥特学园】ROS机器人入门课程《ROS理论与实践》零基础教程_哔哩哔哩_bilibili?宝藏视频,讲解的很详细; 课程文档:http://www.autolabor.com.cn/book/ROSTutorials/ 3. ORB_SLAM2的搭建过程(建议使用VMware的快照功能,及时存档)此过程借鉴了以下大神的博客: (18条消息) ORB_SLAM2配置过程_Mr.Andy的博客-CSDN博客 (18条消息) Ubuntu16.04下配置ORB-SLAM2与运行单目实例_未见青山老。的博客-CSDN博客 3.1 安装工具在配置过程中需要cmake、gcc、g++和Git工具。可在终端通过以下命令下载。
3.2 安装 PangolinPangolin是对OpenGL进行封装的轻量级的OpenGL输入/输出和视频显示的库。可以用于3D视觉和3D导航的视觉图,可以输入各种类型的视频、并且可以保留视频和输入数据用于debug。 在安装Pangolin之前,先要安装必要的依赖项:
安装完依赖项后可以通过以下命令安装Pangolin:
备注:原博主漏了cd Pangolin;虚拟机性能不好,最好不使用 make -j 。 3.3 安装 Eigen(负责矩阵运算)可以通过一下命令来安装Eigen库。
3.4 安装 OpenCV (划重点!!!这里问题好多,建议进行到这一步快照一下)ORB_SLAM2所要求的OpenCV版本大于2.4.3,但并不是版本越新越好,笔者一开始装的是最新的OpenCV-4.5.3但后面SLAM编译过程中会找不到OpenCV的包,后面看网上很多人用2.4.11成功了,但我本人也失败了,最后尝试3.4.1版本成功! OpenCV 官方下载地址:https://opencv.org/releases/ 英文好的可参考官方文档:OpenCV: Installation in Linux 也可借鉴此博客:(18条消息) ubuntu安装opencv的正确方法_陶陶name-CSDN博客_ubuntu安装opencv 看别人安装一帆风顺,自己是一波三折。执行下面这条语句时,问题很多。
第一个问题:错误:E: 无法定位软件包 libjasper-dev 解决方案:
成功的解决了问题,其中libjasper1是libjasper-dev的依赖包。参考:(18条消息) ubuntu20.04安装opencv步骤及依赖报错:E: 无法定位软件包 libjasper-dev_BigData_Mining的博客-CSDN博客 第二个问题:Eigen/Eigenvalues: No such file or directory ?出现如图报错,解决办法:在文件 OpenCV3.4.1/cmake/OpenCVDetectCXXCompiler.cmake中,将“dumpversion”更改为“dumpfullversion”。参考:(18条消息) ubuntu安装opencv3.10遇到的坑_qiqzhang的博客-CSDN博客 第三个问题:fatal error: stdlib.h: No such file or directory ?解决方案:gcc 的弱微改动导致找不到,在cmake时,关闭cuda和预编译头文件即可。
参考:(18条消息) Ubuntu 18.04 编译OpenCV 问题解决stdlib.h: No such file or directory_Mr_Yoky的博客-CSDN博客 第四个问题:make : ***[all] Error 2 (编译到97%失败了,吐血,忘记截图了) 解决方案:
参考:(18条消息) 【树莓派】安装opencv报错:make : *** [all] Error 2_newbee_man的博客-CSDN博客; (18条消息) 树莓派安装opencv详细过程及遇到常见问题解析_山重水复疑无路@的博客-CSDN博客_树莓派opencv安装(这里还有一些在编译不同时间报错的解决方式,我没遇到,贴出来帮助有缘人了) 至此,OpenCV-3.4.1安装完毕。 3.5 安装 ORB_SLAM2 (好戏登场)选择放置ORB_SLAM2工程的文件夹(如果需要在ROS环境下运行ORB_SLAM,最好将工程放在catkin_ws/src文件夹下),在该文件夹中打开终端,执行一下命令:
然后不出所料,果然报错了。 :-(? 第一个问题:error:'usleep' was not declared in this scope
?解决方案: 在所有遇到错误的脚本中添加头文件:
参考:(18条消息) compile error:usleep was not declared in this scope_hairuiJY-CSDN博客 ?第二个问题:error:static assertion failed:std::map must have the same value_type as its allocator 解决方案: 在ORB_SLAM2的安装路径下打开 /include 文件夹 在?LoopClosing.h 中修改(第49-50行):
参考:(18条消息) ORB_SLAM编译过程记录_qq_35604674的博客-CSDN博客 至此,ORB_SLAM2 算法编译完成。 如果需要在ROS环境下运行ORB_SLAM,则需要执行一下命令:
如果机器性能较低,可以将build.sh文件和build_ros.sh文件中的命令:
全部改为:
然而编译失败了,笔者还没解决,解决后会再更新。 4. 运行 ORB_SLAM2编译完成后会在ORB_SLAM2/Examples文件夹下生成各种可执行文件。我们以单目情况为例,展示如何运行ORB_SLAM2程序。 4.1 下载数据集可以从这个网址下载Tum数据集:https://vision.in.tum.de/data/datasets/rgbd-dataset/download# 下载完成后解压缩,最好放到 ORB_SLAM2 的路径下。 官方建议第一次实验使用“xyz”系列,动作比较小,只覆盖办公桌,成功后可尝试“desk”数据集。本文采用的就是第一条数据集(如图)。 ? 4.2 单目数据运行执行下边的命令。 把?
例如:我下载的数据集是 单目的(Monocular),名称是?rgbd_dataset_freiburg1_xyz ,则我的路径为:
运行截图如下: ?运行结果如图,会生成 KeyFrameTrajectory.txt 文件。 ?算法效果如下图: ? ?参考:(18条消息) ORB_SLAM2跑TUM——单目和RGBD数据集_xyt723916的博客-CSDN博客 以上只完成了ORB_SLAM2的冰山一角,但对于小白的我已经甚感欣慰了,接下去试着在ROS中跑ORB_SLAM2,以及尝试用笔记本自带的摄像头进行实时计算。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ?? ? ?— Lucas_ly 写于2021.8.5 For 诗 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/22 15:12:52- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |