配置VI-ORB时出现的问题

在尝试运行pangjing的VI-ORB代码时遇到了编译错误,主要包括OpenCV版本不匹配、unistd.h头文件缺失、Eigen3的bug以及ROS路径设置问题。通过修改CMakeLists.txt中的OpenCV版本号,添加unistd.h头文件,修复Eigen3的bug,更新ROS_PACKAGE_PATH,并调整Examples/ROS/ORB_VIO的CMakeLists.txt,最终成功编译并运行程序。
摘要由CSDN通过智能技术生成

在网上看到了pangjing的VI-ORB代码:https://github.com/jingpang/LearnVIORB

代码是根据这篇文章写的:Mur-Artal, R., & Tardós, J. D. (2017). Visual-inertial monocular slam with map reuse. IEEE Robotics & Automation Letters, 2(2), 796-803.

该文章是ORB-SLAM的作者在ORB-SLAM的基础上加入了惯性信息进行SLAM,具体文章过两天再看,先把pangjing的程序跑起来看看再说,在运行的过程中发现了一些问题,在此记录一下。


首先下载代码,我下载到home/wys/ORBSLAM/中,文件夹名称为LearnVIORB-RT,进入文件夹:

cd LearnVIORB-RT

在config/euroc.yaml文件中修改需要储存结果的路径以及读取数据的路径

然后编译:

./build.sh

编译时出现了错误:

CMake Error at CMakeLists.txt:33 (find_package):
Could not find a configuration file for package "OpenCV" that is compatible
with requested version "2.4.3".

The following configuration files were considered but not accepted:

/opt/ros/kinetic/share/OpenCV-3.2.0-dev/OpenCVConfig.cmake, version: 3.2.0
/usr/local/share/OpenCV/OpenCVConfig.cmake, version: 3.2.0

这是因为CMakeLists.txt中要求的opencv版本是

### 回答1: Vi-ORB-SLAM2是一种视觉惯性(VI)同定位与地图构建(SLAM)系统,用于无人机和移动机器人的自主导航。它融合了惯性测量单元(IMU)和摄像头信息,通过实跟踪相机的位置和姿态来构建地图和定位机器人。 Vi-ORB-SLAM2采用了ORB特征描述子和FAST角点特征,以实地提取和匹配特征点。它利用相机的运动估计来排除误匹配的特征点,从而提高了对动态环境的鲁棒性。 Vi-ORB-SLAM2使用基于滤波器的方法来融合IMU和视觉数据。通过IMU的角速度和加速度数据,可以估计相机的运动和姿态,并根据视觉测量来校准IMU的漂移。这种融合可以提高系统的鲁棒性和精确性,特别是在存在相机运动模糊或视觉信息缺失的情况下。 Vi-ORB-SLAM2还具有回环检测和优化的能力,可以在长间的导航中自动修正漂移误差。它采用词袋模型来建立地图和检测回环,通过优化相机和地图的位姿关系来实现全局一致性。 Vi-ORB-SLAM2已经在无人机和移动机器人的多个实验平台上进行了验证,并取得了令人满意的性能。它在实性和精确性方面都有不错的表现,并且相对于传统的视觉SLAM系统更具鲁棒性。 综上所述,Vi-ORB-SLAM2是一种基于视觉惯性融合的SLAM系统,具有鲁棒性、精确性和实性的优势,适用于无人机和移动机器人的自主导航。 ### 回答2: vi-orb-slam2是一种基于视觉的实单目SLAM(Simultaneous Localization and Mapping)系统。SLAM是一种能够同估计相机位姿和环境的三维地图的技术。vi-orb-slam2采用单个摄像头进行定位和地图构建。 vi-orb-slam2使用了一种双目VO(Visual Odometry)和ORB特征的融合方法。VO方法通过连续帧之间的图像匹配和运动估计来计算相机的运动轨迹。ORB特征是一种高效的特征提取算法,它可以在快速实的情况下提取和匹配特征点。 vi-orb-slam2通过在VO方法中引入ORB特征,进一步提高了系统的鲁棒性和准确性。ORB特征具有自适应的尺度和旋转不变性,可以应对不同尺度和姿态变化的场景。此外,ORB特征的计算效率也很高,可以实现实的图像处理和跟踪。 vi-orb-slam2在实际应用中具有广泛的应用前景。它可以用于室内导航、增强现实、机器人自主导航等领域。通过实地建立环境地图和同估计相机的位姿,vi-orb-slam2可以帮助机器人或者无人机在未知环境中进行自主导航和定位。同vi-orb-slam2的实性和高效性也使得它可以应用于实监控、虚拟现实等实场景中。 总的来说,vi-orb-slam2是一种高效、鲁棒和实的单目SLAM系统,具有广泛的应用前景,可以在多个领域中实现定位和地图构建的任务。 ### 回答3: vi-orb-slam2 是一种基于视觉和惯性传感器数据的实单目SLAM(Simultaneous Localization and Mapping)系统。SLAM是一种同利用感知和定位能力,实构建环境地图并实现自我定位的技术。 vi-orb-slam2利用摄像头和惯性测量单元(IMU)融合数据,可以在没有GPS信号的情况下,实地建立并更新环境地图,并估计自身相对于地图的位置和姿态信息。 其中,ORB指的是Oriented FAST and Rotated BRIEF,是一种特征检测和描述子提取算法,可以快速地检测和描述图像中的特征点。SLAM系统通过ORB算法提取图像关键点,并利用这些特征点进行特征匹配,从而实现环境地图的构建和定位过程。 vi-orb-slam2还利用IMU的数据,并将其与视觉数据进行融合,从而提高系统的稳定性和鲁棒性。IMU可以提供姿态和加速度信息,用于补偿视觉数据中的相机运动误差,进一步提高SLAM系统的定位精度和鲁棒性。 vi-orb-slam2具有实性能,可以在实视频流上运行,并实地估计相机的位姿。这使得vi-orb-slam2在许多应用中具有广泛的应用前景,例如机器人导航、增强现实和虚拟现实等领域。 总之,vi-orb-slam2是一种基于视觉和惯性传感器的实单目SLAM系统,通过视觉特征匹配和IMU数据融合,实现了环境地图的构建和自我定位。它具有实性能和鲁棒性,适用于多种应用场景。
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值