ORB_SLAM2遇到的坑

本文记录了在搭建ORB_SLAM2环境过程中遇到的问题及解决方案,包括编译Opencv时找不到Eigen3的问题和调整图像订阅主题以解决等待图像的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

台式机不方便,所以回家之前又笔记本搭建了一下ORB_SLAM2的环境,遇到了一堆问题,在这里总结一下。

1.编译Opencv时遇到Eigen3找不到

[ 75%] Building CXX object modules/contrib/CMakeFiles/opencv_contrib.dir/src/rgbdodometry.cpp.o
/home/gom7745/IR/opencv-2.4.11/modules/contrib/src/rgbdodometry.cpp:65:47: fatal error: unsupported/Eigen/MatrixFunctions: No such file or directory
 #  include <unsupported/Eigen/MatrixFunctions>
首先确保Eigen已经安装了,然后找到Eigen所在的路径。我的在/usr/include/eigen3这里

然后将

 #  include <unsupported/Eigen/MatrixFunctions>
改成

# include </usr/include/eigen3/unsupported/Eigen/MatrixFunctions>
这里依照自己的eigen路径来改

2.运行ORB_SLAM2单目一直等待图像waiting for images

新开一个终端运行rqt_graph命令,发现话题没有连接上


在ORB_SLAM2/Examples/ROS/ORB_SLAM2/src 打开ros_mono.cc,找到下面这句

ros::Subscriber sub = nodeHandler.subscribe("/camera/image_raw", 1, &ImageGrabber::GrabImage,&igb);
修改成

ros::Subscriber sub = nodeHandler.subscribe("/usb_cam/image_raw", 1, &ImageGrabber::GrabImage,&igb);
同样的,在跑单目的AR例子时也会遇到这种情况,程序一直卡住不出现任何画面。

在ORB_SLAM2/Examples/ROS/ORB_SLAM2/src/AR 打开ros_mono_ar.cc,找到下面这句

    ros::Subscriber sub = nodeHandler.subscribe("/camera/image_raw", 1, &ImageGrabber::GrabImage,&igb);
改成
    ros::Subscriber sub = nodeHandler.subscribe("/usb_cam/image_raw", 1, &ImageGrabber::GrabImage,&igb);




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值