lvi-sam的深度匹配策略

2023-05-16

在lvi-sam中,作者通过视觉处理的时候,利用lidar的深度信息,得到了更稳定的估计。

那在代码里是怎么实现的呢?

一起来看看看呗。

1. 在lvi-sam的feature_tracker_node.cpp 中,我们使用了全局变量 depthCloud 和 cloudQueue和timeQueue来存储数据。

2. 在lidar_callback中,我们首先在倾听vins_world 和 vins_body_ros之间的transform。这其实就是vins得到的视觉里程计。

3. 我们对于接受的点云进行了降采样。 并且,根据xyz的关系,我们去除了一部分在相机坐标系之外的点。(这里觉得有点奇怪,因为不是应该先把点云转到相机坐标系,再按照视角对于点进行去除吗?)

4. 把点云转换到相机坐标系

5. 通过视觉里程计把点云继续转换到全局坐标系

6. 将解析好的点云存储到全局变量中

7. 当deque中元素时间过老时,去除点云。

8. 在全局坐标系对于点云进行降采样

到目前为止,我们把叠加的点云存入了depthCloud,并且处于全局坐标系。

但其实目前为止,只算是深度图的匹配的预处理。

在main函数中,我们定义并且初始化了类DepthRegister。通过get_depth这个函数的接口,我们得到图像的信息!

9.我们等待此时刻来自vins的里程计信息,然后重新将全局坐标系的点云转换到此刻的本地坐标系。

10. 接下来,我们把视觉里程计的坐标转换到一个固定分辨率的正方形图像上。

11. 我们把点云同样投影到一个球体,并且先设定好点云的分辨率。

12. 对于深度图,我们把所有有意义的值存到点云中。

13. 我们继续把点云转换到一个单位球的坐标系中。针对图像特征,我们利用kdtree的最近邻搜索寻找最近的点云特征点。

14. 继续。。。待续

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

lvi-sam的深度匹配策略 的相关文章

随机推荐

  • FreeRTOS--软件定时器

    定时器 xff1a 从指定的时刻开始 经过一个指定时间 触发一个超时事件 用户自定义定时器的周期和频率 硬件定时器 xff1a 芯片本身提供的定时功能 一般是外部晶振提供给芯片输入时钟 芯片向软件模块一直配置寄存器 接收控制输入 到达设定时
  • FreeRTOS--任务通知

    任务通知 xff1a 每个任务有一个32位的通知值在大多数情况下 xff0c 任务通知可以替代二值信号量 计数信号量 事件组 xff0c 也可以替代长度为 1 的队列 xff08 可以保存一个 32位整数或指针值 xff09 使用任务通知比
  • 模拟实现strchr,strrchr,strstr,strrstr函数

    模拟实现strchr strnchr strstr strrstr函数 strchr 查找字符串s中首次出现字符c的位置 xff0c 返回首次出现c的位置的指针 xff0c 如果s中不存在c则返回NULL include lt stdio
  • FreeRTOS--内存管理

    FreeRTOS操作系统将内核和内存管理分开实现 xff0c 操作系统内核仅规定了必要的内存管理函数原型 不关心内存管理函数是如何实现的 所以在 FreeRTOS 中提供了多种内存分配算法 xff08 分配策略 xff09 xff0c 但是
  • 谈谈C++多态的基本使用和总结

    前言 文章目录 前言1 多态的理解2 构成多态的条件3 虚函数4 虚函数的重写 覆盖 5 多态调用虚函数的规则6 析构函数的重写 基类与派生类析构函数的名字不同 7 设计一个不能被继承的基类8 final关键字和override 关键字9
  • 位运算-2进制表示浮点数

    2进制表示浮点数 题目实现思路代码实现 题目 输入一个浮点数 xff0c 输出浮点数的二进制码 实现思路 1 二进制表示浮点数 xff1a 以0为原点向左移是2的整数次幂 xff0c 向右移是逐级除2 类似 8 4 2 1 0 0 5 0
  • Realsense相机疑难问题

    目录 不同传感器模块之间的外参问题问题描述解决办法打开windows命令行 xff0c 将目录导航到C Program Files x86 Intel RealSense SDK 2 0 tools目录下确保此时电脑连入了Realsense
  • 2023.3.17 | Goby红队版可利用漏洞更新

    Goby预置了最具攻击效果的漏洞引擎 xff0c 覆盖Weblogic xff0c Tomcat等最严重漏洞 每天从互联网 xff08 如CVE xff09 会产生大量的漏洞信息 xff0c 我们筛选了会被用于真实攻击的漏洞进行每日更新 G
  • 算法落地思考:如何让智能运维更智能

    嘉宾 王鹏 整理人 西狩xs 出品 CSDN云原生 AIOps是人工智能与运维的结合 xff0c 能够基于已有的运维数据 xff0c 利用人工智能算法 xff0c 通过机器学习的方式帮助企业提升运维效率 xff0c 解决自动化运维无法管理的
  • Python 实现用网页展示多个结果表数据

    Python 实现用网页展示多个表格的数据 前言 一 效果图 二 代码 1 引入库 2 函数定义 3 主程序 前言 实现方法是利用pandas to html 与表格展示的美化相结合 使数据展示更美观 一 效果图 示例 二 代码 本文将使用
  • ubuntu桌面翻转怎么设置成正常?

    有一次在ubuntu设置中 xff0c 脑残在桌面设置里把桌面翻转了 xff0c 虽然有撤回按钮 xff0c 但是桌面翻转了 xff0c 鼠标不受控制 这里介绍一种办法 xff1a Ctrl 43 Alt 43 T 打开终端 xrandr
  • ubuntu20运行VINS-Fusion报错

    ubuntu20运行VINS Fusion报错 Ubuntu20运行VINS Fusion xff0c catkin make报错可以csdn解决 xff1b 但是启动vins node节点的时候 xff0c 就会显示 段错误 xff0c
  • 谷粒学院自学笔记

    谷粒学院自学笔记 day01上午一 MyBatis Plus的入门配置 下午 day02day03day04 Day05Day06Day07Day08Day09Day10Day11Day12Day13Day14Day15Day16Day17
  • CPU 任务调度算法

    摘录自 TSN网络中时间同步精度提升与可靠性研究 董林峰 可参考文章 xff1a https blog csdn net qq 38216239 article details 80374539 多任务操作系统按调度策略的差别可以细分为抢占
  • 安装Docker详细步骤总结

    一 安装Docker 1 下载关于Docker的依赖环境 在Xterm中输入以下代码安装依赖环境 回车 yum y install yum utils device mapper persistent datalvm2 使用yum工具下载
  • MobaXterm连接报错Network error: Connection timed out

    今天打开MobaXterm远程连接我VMware虚拟机的时候出现以下界面 xff0c 问题详情如下 xff1a Network error Connection timed out Session stopped Press lt retu
  • 拉丁超立方抽样

    拉丁超立方 xff08 LHS xff09 适用于样本数量少的情况 xff0c 主要思想是概率分布的分层 xff0c 一层一个样本 xff08 每层的样本是随机的 当且仅当每一行和每一列只有一个样本时 xff0c 才能称为拉丁方格 LHS可
  • 银河麒麟用x11vnc实现远程桌面

    1 安装x11vnc 插入x11vnc的命令 sudo apt span class token operator span get update sudo apt span class token operator span get in
  • Vins-mono细节描述--相机imu外参标定

    vins mono能够在初始化的时候 自动标定相机和imu的外参 这个强大的功能其实并没有想象中那么复杂 一起来看看 1 在vins mono的配置文件中 就可以找到参数 来选择 是否需要估计参数 Extrinsic parameter b
  • lvi-sam的深度匹配策略

    在lvi sam中 xff0c 作者通过视觉处理的时候 xff0c 利用lidar的深度信息 xff0c 得到了更稳定的估计 那在代码里是怎么实现的呢 xff1f 一起来看看看呗 1 在lvi sam的feature tracker nod