VINS_mono 代码详细理解(一)

一、运行命令

VINS_mono 代码详细理解(一)

; 二、简介

VINS_mono 的代码是基于ROS写的,将slam的各个功能都封装成一个个功能包,相互之间通过发布和订阅的方向进行通信。
具体的每个功能包的内容:

VINS_mono 代码详细理解(一)
三、VINS_mono代码整体框架
VINS_mono 代码详细理解(一)
VINS-mono是香港科技大学开源的VIO算法,单目相机+IMU
VINS的功能模块分为五个部分,分别是数据预处理、初始化、后端非线性优化、闭环检测、闭环优化。

四、feature_tracker 功能包

VINS_mono 代码详细理解(一)

(注:对于img_callback这里没有完全展示,要是需要更具体的可以评论)

接下来是我自己总结的关于feature_tracker功能包实现的大致过程:
1.第一帧图像进行,角点没有速度信息,如果第一帧图像有特征点,调用opencv封装好的函数,进行光流追踪,最后可以输出当前帧提取到的角点,以及光流是否追踪成功的状态量status,之后利用status提出追踪失败的点,到这个位置如果不需要将信息发布给后端,那么这部分功能就结束,将当前帧的信息赋值给上一帧。
2. 若信息需要发布,则需要进行接下来的操作,利用随机采样一致性,在此对追踪的角点进行剔除,即利用opencv封装好的函数计算F矩阵,函数输出status,利用status剔除部分错误的点;接下来利用setMask函数,达到特征点均匀化的目的;最后,调用opencv的goodFeatureToTrack()函数提取感兴趣区域的角点,将提取出的角点加入到当前帧特征点容器中forw_pts,至此,将信息封装发布。

; 五、vins_estimator功能包

VINS_mono 代码详细理解(一)

未完。。。。

Original: https://blog.csdn.net/weixin_51547017/article/details/123306540
Author: 一大块肉松
Title: VINS_mono 代码详细理解(一)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/519769/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球