Advertisement

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)

还没有任何评论哟~