一.前记
此篇为博采众家博客之长,沥血整理之集大成者
本人大一学生,参加了SLAM相关的年度项目,第一步便是需要实践ORB-SLAM,在电脑上运行程序并完成可视化与实时化。预实验是跑现成的数据集,正式实验是使用实时摄像头。如图~
在此过程中,我也是翻遍全网找各种教程找各种资料,但遗憾的是没有找到一篇能带着本蒟蒻完成此小目标的教程。网上教程大都是省略了一些步骤(因为大佬们默认读者都会),导致本小白往往按步骤操作下来,最终结果总是failed。经历了痛苦的寻寻觅觅,通过恶补相关实践知识,尤其是将各种教程东拼西凑,参悟理解,本小白终于——终于成功了!如果你有相似的目标,如果你啥也不懂,不妨按照我这个流程走,一定能成功。
这是我绘的流程图。现在我假设你现在电脑上除了原神什么也没有,没有虚拟机什么的,一步步开始咯!
二.环境搭建
1.必备小知识
关于Ubuntu需要普及一点点小知识,暂时用不上,先看一下,等安装完毕ubuntu就非常有用了。
有条件的话虚拟机的内存在分配的时候整多一点,它默认的20G说实话不是很够。
快捷键ctrl键+Alt键+T键即可打开终端。终端就是我们输入指令的地方。在ubuntu某层次的文件夹右键后,最下方选项有个“打开终端”,这样打开的终端是进入了该文件夹的终端。关于指令方面,复制别人博客上的代码然后进自己的终端操作时记得一行一行的复制运行。常见的apt-get install是用来下载东西的,cd 后面接个文件名表示让终端进入该文件夹,单走一个cd表示退回主界面的终端,最前面加个sudo表示用高级身份来指令,不然有时候系统拒绝执行...... mkdir build表示建一个名叫build的文件夹,cmake ..表示对文件进行编译,没编译成功就拿来用可能会出问题,只有编译通过了才表示ok。git clone表示从github库下载某源码。
如果以后遇到“无法定位软件包”的话应该是换源的问题,不过在跟着我教程(其实是跟着链接里的教程)安装ubuntu的时候已经会把源换好了。还出现的话那就sudo apt-get update。然后sudo apt-get upgrade。两步是更新能下载的软件包名单,整完应该就好啦。
以后的步骤可能需要我们进入某c++文件手动改写代码,注意教程让我们改的是哪个文件,改的是哪一行代码。
创建工作空间即mkdir catkin_slam,在后面实时运行摄像头的时候需要它。
以后如果遇到了什么问题,都不要怕,微笑着面对它,尝试读懂系统报错的英文关键词,然后浏览评论区留言或者上网搜相关知识!
2.真正环境搭建
环境搭建这部分我是跟着高翔老师《视觉SLAM十四讲》第二版做好的,如果没有书的话不妨参考此博客
虚拟机VMware下载与安装教程(详细)_vmware虚拟机_-借我杀死庸碌的情怀-的博客-CSDN博客 跟着他下好VMware即可,然后该博客文末依次还附了如何下载,安装Linux的发行版Ubuntu系统(这玩意的概念可以类比Window)。建议别点他的附的链接教程了(doge),接下来跟着新的一篇走, 在VM12虚拟机+安装Ubuntu18.04+搭建ROS系统教程(超详细图文)——含各种避坑tips_小池澈平的博客-CSDN博客,跟着他做完安装VMware TOOLS即可!!!别跟他安装ROS!!!(后续会讲),安装VMware TOOLS,这个软件非常有用,可以实现在主机和虚拟机间拖拽文件,以及复制粘贴。而解压的话强烈推荐先下一个小插件,以后可以直接点右键里选项的“提取到此处”(即解压)。下载插件只需终端输入
sudo apt-get install unrar
整个安装VMware TOOLS据说可以三步搞定(【Tools】Ubuntu20.04安装VMware Tools详解_ubuntu vmware tools_沧海一笑-dj的博客-CSDN博客),但我没试过,而且他的版本不一样,我不敢保证成功,即
sudo apt upgrade
sudo apt install open-vm-tools-desktop -y
sudo reboot
大家好奇且不怕犯错的话可以先试试这个。记得评论区告诉我这个极简版可不可行(doge
三.依赖库准备
好了,基本的准备做完了,我们开始进入ORB-SLAM的范围
跟着伟大的博主安装好cmake,git ,gcc ,g++,Pangolin , OpenCV , Eigen一步步复制一步步走,务必确认每一步的结果和博主一致,否则就会在真正运行程序的时候出一个failed,教程在此: ORB-SLAM2详细安装教程(ubuntu18.04)_ubuntu安装orbslam2_牙牙要健康的博客-CSDN博客。提一句,安装Eigen的时候可能会有版本的区别,可能会在终端给出提示信息,弹出一大堆话,只要不是红色的WARNING,就不要怕,继续往下执行。
在跟着该博客执行到./build.sh时,如果系统出错了(有warning),可能是这个原因!./build.sh相当于执行build.sh这个文件,里面是对ORB-SLAM进行编译的指令代码,make -j表示多线程进行编译,而如果你分配的虚拟机的性能不够,如此操作可能导致系统崩溃!如果是这样,记得手动进到Thirdparty里的g2o和DboW2两个文件都把你新建的build删了(是的,删了),再把ORB-SLAM下面那个build文件夹删了(不是删build.sh),然后把build.sh里某行代码make -j改成make,编译速度慢一些(耗时确实长点),但能够编译成功!
四.使用数据集
我们采用的是TUM数据集,我只跟着 ORB-SLAM2详细安装教程(ubuntu18.04)_ubuntu安装orbslam2_牙牙要健康的博客-CSDN博客 这篇做了单目相机没做RGBD。
五.使用实时摄像头
我们已经使用了别人的数据集(视频),实现了可视化,但我们还想在自己的摄像头上搞东西。
1.下载ROS
首先我们需要下载ROS,这里强烈推荐鱼香ROS一键安装,真的只有一步!!!在终端输入它:
wget http://fishros.com/install -O fishros && . fishros
此方法参见博客 ros安装(一键最简安装,吹爆鱼香ROS,请叫我鱼吹)-CSDN博客
关于ROS,还有小乌龟的小游戏可以测试是否安装正确。参见博客:
ros入门保姆级教程之召唤小乌龟_ros小乌龟_奈斯先生.的博客-CSDN博客
2.安装usb_cam包及实际运行
这时候我们紧紧跟住这篇文章: 最完整---在ROS用自己电脑的摄像头在运行ORB_SLAM2_ros运行orb-slam2_一大块肉松的博客-CSDN博客
他写的非常仔细,唯一值得说道的就是我们之前已经下载过了ORB-SLAM2这个包,可以不用再下一遍,而选择直接拖拽过去,但需要注意重新编译一遍?(删build再执行build.sh)
好了,我们应该已经大功告成啦!!!
特此鸣谢以上提及的所有博主orz,把这些博客像拼图一样拼起来便成就了我们的最终成功。
实际上这只是我们学习SLAM的万里征途的渺渺第一步,文章来源:https://www.toymoban.com/news/detail-735480.html
接下来本蒟蒻打算去试试ROS里面视觉SLAM的仿真训练~文章来源地址https://www.toymoban.com/news/detail-735480.html
到了这里,关于纯小白实践ORB-SLAM2保姆级运行指南的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!