概述
一、运行命令
二、简介
VINS_mono 的代码是基于ROS写的,将slam的各个功能都封装成一个个功能包,相互之间通过发布和订阅的方向进行通信。
具体的每个功能包的内容:
三、VINS_mono代码整体框架
VINS-mono是香港科技大学开源的VIO算法,单目相机+IMU
VINS的功能模块分为五个部分,分别是数据预处理、初始化、后端非线性优化、闭环检测、闭环优化。
四、feature_tracker 功能包
(注:对于img_callback这里没有完全展示,要是需要更具体的可以评论)
接下来是我自己总结的关于feature_tracker功能包实现的大致过程:
1.第一帧图像进行,角点没有速度信息,如果第一帧图像有特征点,调用opencv封装好的函数,进行光流追踪,最后可以输出当前帧提取到的角点,以及光流是否追踪成功的状态量status,之后利用status提出追踪失败的点,到这个位置如果不需要将信息发布给后端,那么这部分功能就结束,将当前帧的信息赋值给上一帧。
2. 若信息需要发布,则需要进行接下来的操作,利用随机采样一致性,在此对追踪的角点进行剔除,即利用opencv封装好的函数计算F矩阵,函数输出status,利用status剔除部分错误的点;接下来利用setMask函数,达到特征点均匀化的目的;最后,调用opencv的goodFeatureToTrack()函数提取感兴趣区域的角点,将提取出的角点加入到当前帧特征点容器中forw_pts,至此,将信息封装发布。
五、vins_estimator功能包
未完。。。。
最后
以上就是傲娇黑夜为你收集整理的VINS_mono 代码详细理解(一)的全部内容,希望文章能够帮你解决VINS_mono 代码详细理解(一)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复