记录学习VINS-Mono与VINS-Fusion的过程 (基于优化方案)

1 基础

1.1 准备阶段

  1. 学习《SLAM十四讲》
  2. 学习ROS的初学者教程
  3. 熟练使用C++Linux命令行操作
  4. 下载VINS-Mono,按教程跑起来
  5. 学习VINS-Mono的论文,学习大佬们的博客

1.2 SLAM相关学习链接

高翔的博客
贺一加的博客
《概率机器人》在线学习
SFM算法总结

1.3 VIO学习链接

VINS-MONO解析
VINS-Mono论文学习与代码解读——目录与参考
一文详解单目VINS论文与代码解读目录
VIO学习笔记
VIO和VINS-Mono学习笔记

【泡泡读者来稿】VINS 论文推导及代码解析(一)
【泡泡读者来稿】VINS 论文推导及代码解析(二)
【泡泡读者来稿】VINS 论文推导及代码解析(三)
【泡泡读者来稿】VINS 论文推导及代码解析(四)

2 VINS-Mono

2.1 feature_tracker节点

在这里插入图片描述

ros::NodeHandle::getParam获取命令行入参
cv::FileStorage用于读写YAML文件
cv_bridge
cv::CLAHE(Contrast Limited Adaptive Histogram Equalization)
cv::createCLAHE效果实验
sensor_msgs
sensor_msgs/Image.msg
sensor_msgs/Imu.msg
sensor_msgs/PointCloud.msg
liftProjective函数

2.2 vins_estimator节点

在这里插入图片描述
对四元数归一化的必要性

  • 对于外参的解释,这个外参是相机帧变换到imu帧,注意,这个变换是点的变换。也就是这个旋转外参是以imu为参考帧,相机的姿态r。平移外参是以imu为参考帧,cam的光心在imu坐标系中的位置
  • addFeatureCheckParallax通过次新帧和次次新帧的视差是否超过阈值来决定边缘化最老帧还是次新帧,这个阈值给的是最小像素/焦距,这个焦距给定了460,没有在配置选项中出现,需要更改。

2.2.1 视觉与INS初始化对准

在这里插入图片描述
cv::solvePnP详解
cv::recoverPose()函数
三角化求深度值(求三维坐标)
VINS-Mono 代码详细解读4——feature_manager.cpp
vins中的坐标系变换及g2r函数

2.3 pose_graph节点

在这里插入图片描述

3 VINS-Fusion

相较于VINS-Mono,前端光流追踪增加了逆追踪的一致性检测和IMU辅助光流追踪;后端增加了双目与IMU的紧耦合优化;增加了VIO与GPS的融合,是VIO系位姿与当地地理坐标系ENU位置的融合,消除位置的发散
SLAM 中地理计算库 GeographicLib 极简入门

4 杂项

vins中的坐标系变换及g2r函数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值