VMware虚拟机下安装Ubuntu20.04主要参考这一篇https://blog.csdn.net/qq_45657288/article/details/116084337
基本上没有很大的问题,我安装时没有打印机所以不用移除,磁盘大小我一开始上了20G,但在后面编译的时候显示我空间不足,所以中间扩了一次磁盘大小到30G,具体如何扩展磁盘空间看我的上一篇文章https://editor.csdn.net/md/?articleId=140784678
ORB_SLAM3复现主要参考这一篇https://blog.csdn.net/holly_Z_P_F/article/details/118031317
虽然博主写得很详细,但在复现过程中也是出现了很多问题,复现过程其他和在windows的linux子系统下基本是一样的,由于我是先在子系统下跑再在虚拟机上,所以上篇出现的报错及解决部分不再重复,详情可以去看看我写的这一篇https://blog.csdn.net/2301_81185113/article/details/140784487
1、OpenCV安装
不建议安装4.0以上的版本因为默认不会生成.pc文件,但opencv3可以,源码要求opencv3.2以上的。注意安装好后要用pkg-config --modversion opencv命令进行版本检测,出现版本号就没问题了。一定要有这一步,因为我就是前面opencv安装跟着一步步来,但当时没有去版本检测,也没有找到.pc文件,后面编译的时候,报错找不到opencv才倒回去又重新下了一遍。
2、ORB_SLAM编译不建议直接用./build.sh编译
试过,直接卡住了,建议将脚本一条一条编译,如果报错找不到pangolin或者是某个包,最简单粗暴的方法就直接重新下载一遍,很多问题都能解决。如果报错没有找到CMakeList.txt那就是你导航的目录不对,确保在该目录下有CMakeList.txt文件
在编译之前可以打开./Examples/Monocular/mono_euroc.cc把第83行这里改成true
这样后面就不需要再编译一遍了,最后不显示图像也可能是这里没改的原因
3、ORB_SLAM成功编译
在编译成功后,要检查一下./Examples/Monocular有没有mono_euroc可执行文件,注意不是cc文件哦,有这个可执行文件才说明编译成功,我就是当时是编译完的但后面指令运行数据集的时候报错没有mono_euroc这个文件夹,我才回去又重新编译了一遍ORB_SLAM3
4、关于euroc_examples.sh
数据集下载后,旧版./Examples文件夹下是有一个euroc_examples.sh文件的,但现在是没有的,所以可以在https://github.com/electech6/ORB_SLAM3_detailed_comments上克隆下来也是在Examples下,再放到自己的./Examples文件夹下
5、运行命令
最后命令我一开始是用了./Monocular/mono_euroc ../Vocabulary/ORBvoc.txt ./Monocular/EuRoC.yaml 自己的数据集路径/MH01 ./Monocular/EuRoC_TimeStamps/MH01.txt
但最后运行虽然生成了txt文件,但没有画面我就将命令换成/Stereo/stereo_euroc ../Vocabulary/ORBvoc.txt ./Stereo/EuRoC.yaml 数据集路径/MH01 ./Stereo/EuRoC_TimeStamps/MH01.txt
就有画面了