Ubuntu 16.04+ROS+笔记本摄像头运行ORBSLAM2

1、主要参考了几篇博客
https://blog.csdn.net/sinat_27066063/article/details/90416188
https://www.jianshu.com/p/dbf39b9e4617(摄像头运行详细)
https://blog.csdn.net/learning_tortosie/article/details/79879575
2、问题及解决办法
1)ros安装
我之前安装过ROS,这次没多大问题,但如果没安过的话,更新源可能会出问题,记得更换。sudo apt-get update 一直失败,就没执行这一步,直接安装的ros 豪华版。
rosdep update一直失败,连热点,或者

更改 /usr/lib/python2.7/dist-packages/rosdep2/下的三个文件sources_list.py、gbpdistro_support.py、rep3.py

中的DOWNLOAD_TIMEOUT = 15.0值,改大一点就可以了。我改的120。
2)orbslam各种库
我用的opencv2.4.9,与本身项目库相差不大,没有出现问题
其他库也是之前安好的,容易出现问题的是pangolin库,该库经常失败,需要注释。
在这里插入图片描述
注释掉这两段话 (cd Pangolin/src sudo gedit CMakeLists.txt (这里选择你自己喜欢的编辑器))
在这里插入图片描述参考:https://www.cnblogs.com/-Mr-y/p/7735665.html

Vmware虚拟机上安装pangolin,按照slambook步骤进行,首先为了避免出现 std:runtime_error:进入pangolin解压后的安装包:Pangolin\src\display\devic\display_x11.cpp,将这两行注释掉。
在这里插入图片描述
最后记得sudo make install
3)出现usleep 错误
ORB_SLAM2/src/System.cc:315:20: error: ‘usleep’ was not declared in this scope

usleep(5000);
找到对应的文件加入 #include<unistd.h>头文件
需要加的文件有:
需要增加unistd.h的文件有:
Examples/Monocular/mono_euroc.cc
Examples/Monocular/mono_kitti.cc
Examples/Monocular/mono_tum.cc
Examples/RGB-D/rgbd_tum.cc
Examples/Stereo/stereo_euroc.cc
Examples/Stereo/stereo_kitti.cc
src/LocalMapping.cc
src/LoopClosing.cc
src/System.cc
src/Tracking.cc
src/Viewer.cc
参考:https://blog.csdn.net/qq_15698613/article/details/98453592
4)编译orbslam2
chmod +x build.sh
$ ./build.sh #如果运行电脑卡死的话,请修改build.sh文件中所有的make -j为make
$ ./build_ros.sh
这里出现错误:
rgbd/stereo找不到

解决办法:
将/usr/lib/x86_64-linux-gnu文件夹下的四个文件,/libboost_system.so,libboost_system.so.1.58.0和libboost_filesystem.so,libboost_filesystem.so.1.58.0复制到ORB_SLAM2/lib下,并且ORBSLAM2/Examples/ROS/ORBSLAM2/Cmakelists.txt中加两行代码
-lboost_system
${PROJECT_SOURCE_DIR}/…/…/…/lib/libboost_filesystem.so

${PROJECT_SOURCE_DIR}/…/…/…/lib/libboost_system.so
参考:
https://blog.csdn.net/sinat_38343378/article/details/78883919

找不到库?
make[2]: *** No rule to make target ‘/usr/lib/x86_64-linux-gnu/libIlmImf.so’, needed by ‘…/lib/libORB_SLAM2.so’. Stop.
CMakeFiles/Makefile2:178: recipe for target ‘CMakeFiles/ORB_SLAM2.dir/all’ failed
搜:apt-cache search IlmImf
装:sudo apt-get install libopenexr-dev

5)运行数据集
我运行数据集时一直没反应,结果发现是数据集有错误,下载的不完全。有TUM、KITTI、EuRoC三种数据集,本实验使用TUM数据集,从http://vision.in.tum.de/data/datasets/rgbd-dataset/download下载序列并解压缩。
下载的test类型的数据集,长这个样。
在这里插入图片描述
6)运行摄像头
我这次先运行的是笔记本自带的摄像头,是dev/video0,但是一直出错找不到原因,才发现是没有安装webcam,这个就是笔记本的可移动设备的名称,之前没意识到。
sudo apt install webcam
如果用的外接摄像头,会显示usb camera的名称。

再者,测试笔记本摄像头还是没显示,是因为我接入了另一个usb摄像头,把电脑本身的禁用掉了,也就是说我在windows下,笔记本摄影头就不能用。
解决:我把外接的去掉了,先测试笔记本自带的,打开本地摄像头,usb3.0.,按照上面简书那一篇博客,进行标定,成功。

参考:
https://blog.csdn.net/csdn_zhishui/article/details/83375830?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase(web cam)

https://www.jianshu.com/p/1de9366e8272(解决usb-cam2 process died)

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值