将ORB-SLAM2移植到up board 遇到的问题

2023-05-16

我在自己电脑的虚拟机上调试并修改好了GitHub上的ORB-SLMA2,在原来的基础上添加了地图的保存,加载,重定位;在建图时添加了保存记录点,下次打开时自动导航至记录点;还有超声波避障,蓝牙控制机器人底座移动。

因为是在自己电脑上跑的,在建图、导航的时候抬着电脑就很麻烦,所以我打算把他移植到一块嵌入式板子中去,正好实验室有一块up board板子,然后我就开始了我的ORB-SLAM自闭移植之旅。

首先就是要在up board板子上安装Ubuntu系统(因为内存只有4g,再用虚拟机不现实)。装Ubuntu系统时,我尽量把用户名什么的都和我虚拟机上名字取的一样,这样起码路径可以不用修改。

Ubuntu装完以后,我把和ORB-SLAM2有关的整个ros工作空间拷到up board里去,照着教程重新在Ubuntu上装了ros,opencv等一堆环境。过程很艰辛,之前踩过的雷全忘了。。。只能重新百度。

环境装完,我就打算直接开始运行,先是roscore,没问题。

然后是roslaunch usb_cam usb_cam-text.launch,然后它就提示我说usb_cam-text.launch不是一个launch文件。解决方法是gedit ~/.bashrc,在文件中加入source  /home/PATH/devel/setup.bash。

然后就是运行单目摄像头节点,我就碰到了最难搞的问题。。。非法指令(核心已转储),我在网上搜了好久都没有结果。过了好几天,我打算试试重新在up board上编译一下,但是无奈内存不够,卡死。。。我就打开build.sh和build-ros.sh,把里面的make -j改成make,就可以完成编译了。./build.sh顺利通过,./build-ros.sh提示找不到serial文件,然后我就重新安装serial,编译通过。

但是到运行单目节点的时候,还是非法指令(核心已转储),只不过他的位置往下调了一点。还有一个问题就是在thirdparty里的g2o和dbow2没有重新编译,重新编译以后,完成。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将ORB-SLAM2移植到up board 遇到的问题 的相关文章

随机推荐