ORBSLAM2学习日记(问题记录1)

仅记录遇到的问题以供以后参考,并向参考的博主致谢!

系统:ubuntu20.04

ros版本:noetic

环境及安装流程主要参考:Ubuntu 20.04配置ORB-SLAM2和ORB-SLAM3运行环境+ROS实时运行ORB-SLAM+Gazebo仿真运行ORB-SLAM2+各种相关库的安装_ubuntu使用slam-CSDN博客大部分遇到的问题及解决参考:

Ubuntu18.04 编译 ORB-SLAM2(./build.sh + ./build_ros.sh)完整流程,各种报错处理(踩坑总结)-CSDN博客ORB_SLAM2安装与编译报错的解决办法_orbslam2 运行报错-CSDN博客

以下记录困扰很久才解决的问题:

1..build.sh和.build_ros编译成功,但运行

rosrun ORB_SLAM2 Mono Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml 

及双目\RGBD等运行失败,始终报错,如下:

即段错误(核心已转储),网上也有类似的报错的解决办法,但注意,"段错误(核心已转储)"没有打印出一段信息Loading ORB Vocabulary. This could take a while..,

此处感谢博主ORB_SLAM2配置——基于Ubuntu20.04+ROS+gazebo仿真_视觉slam仿真实验 robot_sim_demo-CSDN博客该文中提出可能是opencv版本冲突,由此给了我启发。

由于我的系统是ubuntu20.04的ros-noetic,所以已经安装了opencv4(使用以下命令可以查看opencv4版本)

pkg-config --modversion opencv4

由于orbslam2与opencv4不太兼容,故我最开始又安装了opencv3,准备使用opencv3,且未对orbslam2中的 CMakeLists.txt修改。前期没有任何问题,都可以顺利编译通过,但是运行ros时会报错如上图。最终参考博客【SLAM实战篇】Ubuntu 20.04版本(OpenCV版本4.5.3)对于ORB-SLAM2安装运行,代码编译,自己的数据集构造_ubuntu20.04 安装运行orb_slam2算法-CSDN博客

并使用opencv4,在重新编译运行后再次输入

rosrun ORB_SLAM2 Mono Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml 

不再报错,问题解决。简而言之,opencv版本冲突了。

你想学习 ORB-SLAM2,是一个基于特征点的稀疏直接法视觉 SLAM 系统。这个系统能够通过摄像头捕捉到的图像来构建三维地图并同时估计相机的运动轨迹。要学习 ORB-SLAM2,你可以按照以下步骤进行: 1. 了解 SLAM:首先,你需要了解什么是视觉 SLAM,包括它在机器人、增强现实和自动驾驶等领域中的应用。你可以阅读相关的论文或教材来掌握 SLAM 的基本概念。 2. 学习 ORB 特征点描述符:ORB-SLAM2 使用 ORB 特征点描述符来提取和匹配图像特征。你可以学习 ORB 特征点描述符的原理和实现方法,并了解特征点在 SLAM 中的作用。 3. 下载并阅读源代码:ORB-SLAM2 是开源的,你可以在其 GitHub 上找到代码和文档。下载代码后,阅读文档以了解系统的结构和使用方法。 4. 安装依赖库:ORB-SLAM2 使用了一些第三方库,如 OpenCV 和 Eigen。确保你已经正确安装和配置了这些库,并按照文档中的指导完成编译和配置。 5. 运行示例程序:ORB-SLAM2 附带了一些示例程序,你可以用它们来运行系统并观察其行为。首先,你可以尝试使用它们提供的演示数据集,以便更好地理解系统的工作原理。 6. 实践与调试:一旦你对系统有了基本的了解,你可以尝试将 ORB-SLAM2 应用到自己的数据集或实际场景中。在此过程中,你可能会遇到一些问题或 bug,需要进行调试和优化。 7. 学习进阶内容:一旦你熟悉了 ORB-SLAM2 的基本用法,你可以进一步学习其内部原理和算法细节。这将有助于你更好地理解系统,并能够针对特定需求进行定制和优化。 记住,学习 ORB-SLAM2 需要一定的数学和计算机视觉基础。如果你是初学者,建议先学习相关的数学和计算机视觉知识,然后再深入研究 ORB-SLAM2。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值