SLAM踩坑记:在XTDrone上跑通ORB-SLAM2
发布时间
阅读量:
阅读量
今天准备在XTDrone平台上运行ORBSLAM2程序(访问操作文档点这里),这要求我们在安装过程中需预装几十个依赖项。统计下来后发现这些依赖项数量不少,在实际操作中我参考了ORBSLAM2的具体说明来完成安装步骤。然而,在这个过程中遇到了这些小问题:软件版本兼容性不足、部分依赖包下载速度较慢等困难情况导致效率大打折扣。花费了相当多的时间才将这些小问题一一记录下来,并希望对后来尝试相同步骤的朋友有所帮助
1.OpenCV安装坑
在安装OpenCV的过程中经常遇到的情况是提示出现C++编译器错误:程序被终止(cc1plus)。

参照了以下文档解决了一个问题.g++: internal compiler error: Killed (program cc1plus) 解决办法
简单来说,归根结底是由于虚拟内存不足所引发的中断。我们可以使用以下命令来实现对虚拟内存的扩展。
sudo dd if=/dev/zero of=/swapfile bs=64M count=16
#count的大小就是增加的swap空间的大小,64M是块大小,所以空间大小是bs*count=1024MB
sudo mkswap /swapfile
#把刚才空间格式化成swap格式
sudo swapon /swapfile
#使用刚才创建的swap空间
完事了之后,再使用以下命令关闭即可完美解决:
sudo swapoff /swapfile
sudo rm /swapfile
2.not declared error坑
在编译orb-slam2源码的时候,出现了以下的错误:

在深入探究后发现了一个关键问题:error: ‘usleep’ was not declared in this scope。其实非常简单,在相关文件中添加以下引用代码即可解决问题
#include <unistd.h>
提醒一下需要注意的是,在多个(不确定具体有几个)文件中都发现了这个问题,并且需要逐一排查以解决问题。通过查看报错信息后进行处理即可。这个过程确实有些繁琐。
然后,按照XTDrone的文档操作即可,步骤大致分为以下几步:
通过启动.launch文件进入场景。
执行orblam2的相关运行脚本。
运行Python通信相关的脚本。
执行Python控制相关的脚本。
最后,秀一下成功之后的效果!非常酷!


全部评论 (0)
还没有任何评论哟~
