实习笔记记录

1、复习了一下ORB特征提取和匹配,并且根据进度将SLAM十四讲的第七讲的代码复现完成

遇到问题:

因为课本上代码是使用opencv3,本次实验使用的是opencv4,所以会出现报错

解决方案:

参考博客:https://blog.csdn.net/Edidaughter/article/details/124654894

最后结果:

1、学习单目SLAM理论基础,手推其中的数学公式,掌握相机的内参矩阵

学习博客:http://zhaoxuhui.top/blog/2018/03/08/%E5%8D%95%E7%9B%AESLAM%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html

2、学习欧拉角、四元数、旋转矩阵推导及相互关系的理论基础

学习博客:http://zhaoxuhui.top/blog/2018/03/13/RelationBetweenQ4&R&Euler.html

3、阅读论文——A Comparison of Graph Optimization Approaches for Pose Estimation in SLAM(跑通开源源码,掌握论文的核心思想)

项目地址:https://github.com/david-m-rosen/SE-Sync

运行命令:

./SE-Sync ../../../data/sphere2500.g2o

运行结果

本论文主要是对比位姿估计中主流的图优化框架的优势。实验结果表明:

论文中考虑了g2o、GTSAM、Ceres、SE-Sync四个主流优化框架。评估过程考虑了优化时间和优化结果,以表的形式给出了测试结果,发现:

与其他三种方法相比,SE-Sync在大多数数据集上优化时间最短;

g2o优化时间最长,但在简单数据集上表现良好

Ceres易于使用,提供了很大的灵活性,而且相对较快

除了在噪声干扰严重的数据集上,GTSAM的性能几乎和SE-Sync一样 。

建议:

对于数据关联差、噪声大和性能差的前端,最好使用SE-Sync作为后端。如果初始化较好,GTSAM表现和SE-Sync一样出色

对于比性能优秀的前端,在数据集相对简单、噪音很低的情况下,后端优化的选择就凭借个人喜好了。

参考博客:https://blog.csdn.net/CV_Autobot/article/details/127456573

4、利用开源数据集跑通vins-fusion开源项目

项目地址:https://github.com/HKUST-Aerial-Robotics/VINS-Fusion

实验环境:

操作系统——ubuntu2004

ros版本——noetic

eigen版本——3.2.9(下载地址:https://gitlab.com/libeigen/eigen/-/archive/3.2.9/eigen-3.2.9.tar.gz wget一下就行,测试过需要什么版本将版本号换一下wget就行)

ceres版本——1.14.0

由于ceres是刚编译的,在编译的过程中出现了下面这个错误,这是由于我原来的eigen版本是3.4.0过高,所以将版本回退到3.2.9即可(参考博客:https://blog.csdn.net/SoftwarerRJY/article/details/113354759

编译vins-fusion开源项目可能会遇到如下项目,因为我使用的是opencv4,但是项目中使用的是opencv3的函数,会有很多报错,由于个人不想改opencv版本,所以选择改源码(但是这个过程非常的)

参考博客:https://blog.csdn.net/qq_39779233/article/details/128081716

https://blog.csdn.net/u013171226/article/details/108062603

https://zhuanlan.zhihu.com/p/548140724?utm_id=0

https://blog.csdn.net/dongliu2236/article/details/130483697

实验完成截图

参考博客:https://blog.csdn.net/qqGHJ/article/details/127535507

https://blog.csdn.net/m0_52457734/article/details/125343557?ops_request_misc=&request_id=&biz_id=102&utm_term=ubuntu%E4%B8%ADVINS_FUSION%E7%BC%96%E8%AF%91%E8%BF%90%E8%A1%8C&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-125343557.nonecase&spm=1018.2226.3001.4187

运行命令:在该项目下同时打开5个端口:

1、roscore

2、roslaunch vins vins_rviz.launch

3、rosrun vins vins_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_mono_imu_config.yaml

4、rosrun loop_fusion loop_fusion_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_mono_imu_config.yaml

5、rosbag play YOUR_DATASET_FOLDER/MH_01_easy.bag

后期计划:通过阅读代码掌握该源码原理,尝试将该vio中的位姿估计优化图框架该文上述论文中的SE-Sync.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值