Ubuntu14.04运行ORB_SLAM2出现问题总结

网上有很多运行的博客,我参照的来运行自己的,在最后一步运行ORB_SLAM2的时候竟然一直在卡住,很是头疼啊,经过几天的查找和询问各种大牛,问题算是解决了,打卡记录下。

问题一:在执行./build.sh这一步的时候出现下列问题:

问题的原因是虚拟机内存不够,关闭虚拟机,将虚拟机的内存扩大(我扩大到3G就可以了)

Ubuntu14.04运行ORB_SLAM2出现问题总结_第1张图片

 

问题二:出现/ws/ORB_SLAM2/src/LoopClosing.cc: In member function ‘void ORB_SLAM2::LoopClosing::Run()’:
/ws/ORB_SLAM2/src/LoopClosing.cc:84:20: error: ‘usleep’ was not declared in this scope
         usleep(5000);
                    ^
/ws/ORB_SLAM2/src/LocalMapping.cc: In member function ‘void ORB_SLAM2::LocalMapping::Run()’:
/ws/ORB_SLAM2/src/LocalMapping.cc:94:28: error: ‘usleep’ was not declared in this scope
                 usleep(3000);
                            ^
/ws/ORB_SLAM2/src/LocalMapping.cc:108:20: error: ‘usleep’ was not declared in this scope
         usleep(3000);

 

需要打开相应的代码,在头文件里面添加usleep 的头文件unistd.h,问题就解决了!

 

 

问题三:在运行最后一步单目和rgbd数据的时候出现了下面的问题:

terminate called after throwing an instance of 'std::runtime_error'
  what():  Pangolin X11: Unable to retrieve framebuffer options
已放弃 (核心已转储)

网上的这位大牛解决了这个问题:

http://blog.csdn.net/aaron121211/article/details/51804609

问题四:[rospack] Error: could not call python function 'rosdep2.rospack.init_rospack_interface'

在Ubuntu16.04下安装ROS版本的ORB_SLAM2的时候发生的,原因是系统默认python版本被改成了python3,可以查看系统默认版本:python --version,而ORB_SLAM2需要的是python2,这时候系统里面应该有两个版本的Python,使用Python2 --version查看Python2的版本,使用Python3 --version查看Python3的版本,更改版本号到Python2:

echo alias python=python2 >> ~/.bashrc

最后还需要修改更新下ros的依赖:

sudo rosdep fix-permissions

rosdep update

下面再cmake即可。

 

 

 

 

你可能感兴趣的:(linux编程)