VINS-Mono学习(五)——闭环优化4DoF

2023-05-16

        这里再重写一边VINS开启的新线程:

  1. 前端图像跟踪
  2. 后端非线性优化
  3. 闭环检测
  4. 闭环优化

        闭环优化是跟在闭环检测之后步骤。首先回顾闭环检测的过程:

        1、pose_graph_node.cpp开启process闭环检测线程;

        2、创建新的关键帧KeyFrame,new KeyFrame;

                2.1 computeWindowBRIEFPoint,提取已有点的描述子

                2.2 computeBRIEFPoint:提取新的Fast特征点和描述子

        3、PoseGraph::addKeyFrame,添加关键帧之后开启闭环检测

        addKeyFrame()具体步骤如下:

        1、detectLoop:通过DBoW找闭环帧

        2、findConnection:计算当前帧和闭环帧的相对位姿

                2.1 searchByBRIEFes:暴力匹配

                2.2 PnPRANSAC:通过PnP计算闭环帧相对位姿

                2.3 闭环帧位姿判断:当yaw差别小于30并且相对平移小于20才算闭环检测成功,返回上一步中的闭环帧位姿。

        3、闭环检测成功,开启闭环优化

        讲到这,都没有看到哪里开启了闭环优化线程,其实闭环优化线程的开启在PoseGraph()构造函数中,具体代码如下:

闭环node:还是从CMakeLists.txt开始看

 

 

闭环检测:addKeyFrame()

 

 

闭环优化:optimize4DoF

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VINS-Mono学习(五)——闭环优化4DoF 的相关文章

随机推荐

  • C++ 实现 发送HTTP Get/Post请求

    1 简述 最近简单看了一下关于HTTP请求方面的知识 xff0c 之前一直用Qt来实现 xff0c 有专门HTTP请求的QNetworkAccessManager类来处理 xff0c 实现也比较简单 xff0c 这里主要讲解一下用C 43
  • Python学习之路(4)— 正则表达式(一)

    Python学习之路 xff08 4 xff09 正则表达式 一 一 前言 参考文章 xff1a 爬虫要讲武德 xff0c 你却用正则 一篇文章搞定正则表达式 xff01 参考视频 xff1a 硬核Python进阶篇 一小时掌握正则表达式
  • vs code 远程连接服务器(超详细,图文说明)

    工作中需要使用vs code远程连接服务器 xff0c 网上找了好多教程 xff0c 发现没有完善的说明 xff0c 对我这种小白来说真是耗时耗力 xff0c 完成连接后 xff0c 特地把搭建过程图文分享出来 1 安装完vs code后
  • Jetson TX2 --GPIO 库使用(点亮一个LED灯)

    项目介绍 Jetson GPIO Jetson TX2 J21有40个引脚 xff0c 类似于树莓派的40个引脚 xff0c 可以通过Jetson GPIO samples包中提供的python库控制输入输出 该库与Raspberry Pi
  • 机械键盘改热插拔

    所需原料 电烙铁 大概就十几块而已 我计算机系的 不常用 贵了浪费焊锡丝 大概20g就足够挥霍也就几块钱 松香 买的时候让卖家送一点 这个很便宜鸡心眼m1 3买大概250个把 每个按键需要两个 还有一种m1 0的是改灯的 当初买了一千个才十
  • ROS知识

    按规范学习 直接开始学习ROS文件目录结构 转载 https zhuanlan zhihu com p 139405796 常用操作 xff1a 启动测试和订阅服务和话题 小白先熟悉ROS和M300的操作 xff1a ubuntu18 04
  • Ubuntu18.04 ,安装opencv4.5.4

    背景 手眼标定时候 xff0c 需要用到opencv4的findChessboardCornersSB 所以需要下载opencv4 5 4 安装 Ubuntu 18 04 安装opencv4 2 0 遇到的问题 安装结束后 xff0c 出现
  • ubuntu播放文件需要MPEG-4 AAC解码器

    即可
  • 类模板成员函数定义问题

    span class token macro property span class token directive keyword include span span class token string 34 pch h 34 span
  • 视觉SLAM面试题汇总(三)

    北京某自动驾驶公司 xff1a 1 点云的聚类 xff1b 求法向量 xff1b 多个点集 xff0c 求点集的法向量 xff1b 2 LM算法里面lamda的作用 xff1b 3 KD Tree 4 描述子距离的匹配的方法 xff1f 除
  • ORB-SLAM2中关键知识点总结

    目录 1 ORB SLAM2的总体框架是怎样的 xff1f 2 ORB SLAM2是怎样完成初始化的 xff1f 3 ORB SLAM2是如何进行Tracking的 xff1f 4 ORB SLAM2是如何选取关键帧的 xff1f 5 OR
  • RS485知识点

    为什么RS485空闲时的电平要求大于 43 200mv 这不是很容易被接收端接收吗 xff1f a 其实 xff0c 如果RS485的AB线空闲电平如果小于 43 200mv xff0c 485芯片的输出不定 xff0c 有些芯片会输出高
  • 两种点云地面去除方法

    目录 1 基于角度分割的地面 非地面分割 1 1 PCL基本入门 1 1 1 在ROS项目中引入PCL库 1 2 编写节点进行Voxel Grid Filter 1 2 1 验证效果 1 3 点云地面过滤 1 3 1 点云剪裁和过滤 去除过
  • ROS面试题汇总

    1 ROS中订阅 xff08 Subscribe xff09 最新消息以及消息队列相关问题 机器人应用中难免会遇到运算起来很费时间的操作 xff0c 比如图像的特征提取 点云的匹配等等 有时候 xff0c 不可避免地 xff0c 我们需要在
  • VINS-Mono后端知识点汇总

    processImage xff1a 每帧都干了什么 谁是Featureanager xff1a 维护路标点与图像 后端干了啥 xff1a 详解因子图 xff08 视觉的因子图 IMU的因子图 因子图和Hessian矩阵的关系 xff09
  • VINS-Mono学习(二)——松耦合初始化

    初始化 xff1a 如何当好一个红娘 xff1f 图解SfM 视觉和IMU的羁绊 怎么知道发生了闭环 xff1f 位姿图优化与滑窗优化都为哪般 xff1f 闭环优化 xff1a 拉扯橡皮条 整体初始化流程如下 xff1a 1 SFM纯视觉估
  • VINS知识点汇总

    0 总体框架 包括5个部分 xff1a 数据预处理 初始化 后端非线性优化 闭环检测 位姿图优化 图片来自大佬博客 xff1a https blog csdn net try again later article details 1048
  • 语义SLAM综述

    1 摘要 SLAM技术在计算机视觉和机器人领域中占有重要低位 传统的SLAM框架采用了较强的静态世界假设 xff0c 便于分析 大多基于小区域静态环境 在大规模的动态环境下 xff0c 它们大多难以获得较好的性能 xff0c 系统的准确性
  • VINS-Mono学习(三)——基于滑动窗口的VIO紧耦合后端非线性优化

    nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 初始化后 采用基于滑动窗口的紧耦合单目VIO进行状态估计 首先来看VINS Mono后端的整体思路 nbsp nbsp nbsp nbsp nbsp nbsp
  • VINS-Mono学习(五)——闭环优化4DoF

    这里再重写一边VINS开启的新线程 xff1a 前端图像跟踪后端非线性优化闭环检测闭环优化 闭环优化是跟在闭环检测之后步骤 首先回顾闭环检测的过程 xff1a 1 pose graph node cpp开启process闭环检测线程 xff