经典文献阅读之--FAST-LIVO(Fast-LIO系列的激光视觉惯性里程计)

news2024/9/20 9:30:11

0. 简介

在此之前博主对Fast-LIO2和R3LIVE进行了系统性的学习。最近文章《Fast and Tightly-coupled Sparse-Direct LiDAR-Inertial-Visual Odometry》提出了FAST-LIVO,这是一种快速LiDAR惯性-视觉里程计系统,它建立在两个紧耦合的直接里程计子系统之上:VIO子系统和LIO子系统。LIO子系统将新扫描的原始点(而不是边缘或平面上的特征点)添加到增量构建的点云地图中。这些地图点还额外关联了图像块,VIO子系统使用点云地图附加的图像块,在不提取任何视觉特征(例如ORB或FAST角点特征)的情况下最小化直接光度误差,以此来对齐新图像。 为了进一步提高vio系统的鲁棒性和准确性,作者提出了一种新的方法来剔除边缘或者在视觉中遮挡的地图点。 这里的代码也已经完成了开源,在Github上可以找到。

1. 文章贡献

在机器人技术中使用的传感器中,相机、激光雷达和惯性测量单元(imu)可能是SLAM任务中使用最广泛的传感器。几个最近的激光雷达惯性视觉里程测量系统(LIVO)。它们联合融合状态向量,但分别处理每个数据,而不考虑它们的测量级耦合。这样的系统通常会占用大量的计算资源。为了解决这一问题,我们提出了一种快速、紧密耦合的稀疏直接激光雷达惯性视觉测程系统(fast - livo),结合稀疏直接图像对齐和直接原始点配准的优点,在降低计算成本的情况下实现准确可靠的姿态估计。本文的贡献如下::

  1. 一个紧凑的lidar惯性视觉里程计框架,它建立在两个直接且紧密耦合的里程计系统上:LIO子系统和VIO子系统。这两个子系统通过将各自的激光雷达或可视化数据与imu融合,共同估计系统状态。
  2. 一个直接高效的VIO子系统,最大限度地重用LIO子系统中构建的点云图。具体来说,地图中的点会与之前观测到的图像块关联,通过最小化直接光度误差,将点投影到新图像上来对齐其姿态(因此是完整的系统状态)。VIO子系统中的LiDAR点云重用避免了视觉特征的提取,三角化以及优化,并在测量层面上将两个传感器耦合起来。
  3. 本系统实现了开源,可以在Intel或ARM处理器上实时运行,并支持多线旋转激光雷达和具有完全不同扫描模式的新兴固态激光雷达。
  4. 在开放数据序列(NTU-VIRAL)和我们定制的设备数据上验证开发的系统。结果表明,该系统能够以较低的计算成本处理具有挑战性的传感器退化环境。

2. 详细内容

首先我们来看一下整个框架,本文采用表1中的定义方法。
在这里插入图片描述
我们的系统概述如图1所示,其中包括LIO子系统(蓝色部分)和VIO子系统(红色部分)两个子系统。LIO子系统首先通过后向传播[24]对激光雷达扫描中的运动失真进行补偿,然后计算帧-映射点-平面残差。类似地,VIO子系统从视觉全局地图中提取当前FoV中的视觉子地图,并丢弃子地图中的离群点(被遮挡或深度不连续的点)。然后,进行稀疏直接视觉对齐以计算帧到地图的图像光度误差。在误差状态迭代卡尔曼滤波器中,激光雷达点面残差和图像光度误差与IMU传播紧密融合。融合后的姿态用于在全局地图上添加新的点。

在这里插入图片描述

2.1 boxplus“ ⊞ \boxplus ”和boxminus“ ⊟ \boxminus ”操作符

在本节中,我们使用“ ⊞ \boxplus ”和“ ⊟ \boxminus ”运算来表示流形 M \mathcal{M} M上的状态误差,对于本文考虑的 M = S O ( 3 ) × R n \mathcal{M} = SO(3) × \mathbb{R}^n M=SO(3)×Rn,我们有:
在这里插入图片描述
其中 r ∈ R 3 , a , b ∈ R n r∈\mathbb{R}^3, a, b∈\mathbb{R}^n rR3,a,bRn, E x p ( ⋅ ) Exp(·) Exp() L o g ( ⋅ ) Log(·) Log()表示由Rodrigues公式3导出的旋转矩阵与旋转向量之间的双向映射。

2.2 状态转移模型

在我们的系统中,我们假设三个传感器(LiDAR, IMU和摄像头)之间的时间偏移是已知的,可以提前校准或同步。我们将IMU框架(设为 I I I)作为主体框架,将第一主体框架作为全局框架(设为 G G G)。此外,我们假设三个传感器刚性连接在一起,并对表I中定义的外部元件进行了预校准。那么,第i次IMU测量时的离散状态转移模型:
在这里插入图片描述
其中 ∆ t ∆t t为IMU采样周期,状态 x x x、输入 u u u、过程噪声 w w w、函数 f f f定义如下:
在这里插入图片描述
其中 G R I ^GR_I GRI G p I ^Gp_I GpI表示IMU在全局坐标系中的姿态和位置, G g ^Gg Gg为全局坐标系中的重力矢量, ω m ω_m ωm a m a_m am为IMU的原始测量值, n g n_g ng n a n_a na ω m ω_m ωm a m a_m am中的测量噪声, b a b_a ba b g b_g bg为IMU偏差,分别建模为高斯噪声 n b g n_{bg} nbg n b a n_{ba} nba驱动下的随机游走

2.3 Frame-to-map 测量模型

文中的前向传播和误差传播Fast-Lio2类似,这里就不讲了,我们直接看一下。

  1. LiDAR测量模型:如果在tk时刻接收到激光雷达扫描,我们首先进行[24]中提出的反向传播来补偿运动失真。 L P j ^LP_j LPj是去除运动畸变后的点云。我们假设每个点都位于地图中的一个临近平面上,使用预测状态将点云变换到世界系后,利用ikdtree找到临近的五个点计算法向量 u j u_j uj和中心点 q j q_j qj。如果使用真值状态(比如姿态) X k X_k Xk将LiDAR局部坐标系中表示的测量 L P j ^LP_j LPj转换到全局坐标系中,则残差应为零:

…详情请参照古月居

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/139159.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

结构体、枚举、联合(14)

目录 1、结构体 1、结构的声明 2、特殊的声明 2、结构的自引用 3、结构体变量的定义和初始化 4、结构体内存对齐 1、结构体的对齐规则: 2、为什么存在内存对齐? 3、修改默认对齐数 5、结构体传参 2、枚举 1、枚举类型的定义 2、使用 3、优点 3、联合…

MAC(m1)-Vagrant下载安装

Vagrant是一款用来构建虚拟开发环境的工具,它其实算是一个跨平台的虚拟机管理工具。 Vagrant是构建在虚拟化技术之上的虚拟运行环境管理工具。通过使用Vagrant我们可以快速去构建 我们想要的虚拟环境,同样其搭配virtualbox来进行使用,通过构…

重磅来袭!2023年大版本更新,看看有哪些是你期待的功能和优化吧

Hello!好久不见,最近两个月我们的攻城狮和产品汪都在潜心的优化产品,我们将于1月5日上线 v10.7.0版本。本次版本迭代,我们更新了上百项体验优化,并将在未来几周发布更多功能和改进。 本次我们对前端底层架构进行优化重…

vue3笔记案例——Teleport使用之模态框

模态框 理想情况下,我们希望触发模态框的按钮和模态框本身是在同一个组件中,因为它们都与组件的开关状态有关。但这意味着该模态框将与按钮一起渲染在应用 DOM 结构里很深的地方。 使用 Teleport 传送组件可以将组件传送至其他层级的DOM结构中 效果图 …

数据流图实例应用

数据流图实例应用 参考链接: https://blog.csdn.net/xiaoxiang2017/article/details/81460397 https://blog.csdn.net/m0_53130858/article/details/127234104 数据流图:简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻…

Talk预告 | 几何的魅力: 黑盒攻击新策略

本期为TechBeat人工智能社区第468期线上Talk! 北京时间1月4日(周三)20:00,清华大学软件工程专业博士——马晨的Talk将准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “几何的魅力:黑盒攻击新策略”,届时将介…

【论文笔记】 Exploration With Task Information for Meta Reinforcement Learning

文章目录【论文笔记】 Exploration With Task Information for Meta Reinforcement LearningAbstractKeywordsI. INTRODUCTIONII. RELATED WORKA. Meta Reinforcement LearningB. Exploration in Meta-RLC. Mutual InformationIII. PRELIMINARIESA. Meta Reinforcement Learnin…

Shiro历史漏洞复现 - Shiro-721

文章目录漏洞原理影响版本特征判断环境搭建漏洞复现漏洞原理 Shiro rememberMe 反序列化远程代码执行漏洞 由于 Apache Shiro cookie 中通过 AES-128-CBC 模式加密的 rememberMe 字段存 在问题,用户可通过 Padding Oracle 加密生成的攻击代码来构造恶意的 remembe…

111.(leaflet之家)leaflet椭圆采集

听老人家说:多看美女会长寿 地图之家总目录(订阅之前建议先查看该博客) 文章末尾处提供保证可运行完整代码包,运行如有问题,可“私信”博主。 效果如下所示: 下面献上完整代码,代码重要位置会做相应解释 <!DOCTYPE html> <html>

yolov4/yolov4-tiny保姆级训练教学

目录 一、pytorch环境搭建 1.创建新环境 2.激活环境 3.按照版本下载 二、labelimg的安装 三、数据处理部分 1、rename数据文件 2、数据加强 四、yolov4训练过程 五、租用GPU 一、pytorch环境搭建 在安装anaconda的前提下 在编译器pycharm的终端 1.创建新环境 conda …

15.3 event loop 事件循环

event loop 事件循环 start 最近这段时间一直在研究 javascript 中的事件循环&#xff0c;看了不少相关视频和文章。学习完知识后&#xff0c;虽然对 javascript 的代码执行顺序&#xff0c;能够正确判断。但是当我想将理论知识用自己口头语言表达出来的时候&#xff0c;发现…

函数 ~~~

函数 目录&#xff1a;函数函数概述函数类型函数定于与声明函数参数引用函数可变函数函数可变参数 使用函数默认参数函数返回值函数嵌套调用函数递归内联函数内联函数与普通函数区别函数重载函数概述 C语言中的函数在其他编程语言中也称为过程或子例程。 我们可以创建函数来执…

小游戏引擎选型注意事项

写在前面 前面写了几期有关于小游戏的文章&#xff0c;主要从小游戏开发、小游戏运营、小游戏变现等多个角度进行了较为粗略的介绍&#xff0c;很多同学表示对小游戏引擎部分很感兴趣&#xff0c;希望能够有一些更为深入的分析介绍。今天就对目前主流的小游戏引擎进行探讨。 …

短短一年,市值抹去三分之一 跌落高坛的苹果

美东时间1月3日&#xff08;周二&#xff09;&#xff0c;苹果&#xff08;AAPL&#xff09;收报125&#xff0e;07美元&#xff0c;跌幅3&#xff0e;74&#xff05;&#xff0c;市值降至1.99万亿美元&#xff0c;2万亿美元市值俱乐部中的最后一家就此陨落。此前微软和石油巨头…

电影《绝望主夫》观后感

上周的时候&#xff0c;看了开心麻花的电影《绝望主夫》&#xff0c;讲的是一对夫妇整个世界对换的故事&#xff0c;即丈夫整个继承了妻子世界&#xff0c;妻子继承了丈夫世界观&#xff0c;这确实给人了一种新的视角&#xff0c;一个对调视角。 记得以前刷视频的时候&#xff…

算法之回溯算法

目录 前言 如何理解回溯算法 两种回溯算法的经典应用 1.0-1背包 2.正则表达式 总结 参考资料 前言 很多经典的数学问题都可以用回溯算法解决&#xff0c;比如数独、八皇后、0-1 背包、图的着色、旅行商问题、全排列等等。用来指导像深度优先收索这种经典的算法。 如何理…

2021 CCF “计算之美”学术大会参会总结

最近在回顾读研以来参加过的大大小小的学术会议记录&#xff0c;在此整理记录之。 前言 2021年6月12日&#xff0c;2021年CCF“计算之美”——新基建时代产、教、研、地融合学术大会在海上丝绸之路起点宁波成功举办。近200人参与本次大会&#xff0c;40余位嘉宾带来精彩分享&…

pwr | 谁说样本量计算是个老大难问题!?(三)(配对样本与非等比样本篇)

1写在前面 之前我们介绍的基于发生率或者均值进行样本量计算的方法&#xff0c;但都是在组间进行计算。&#x1f914; 有的时候我们需要获取组内变化&#xff0c;进行样本量计算。&#x1f92b; 常见的就是配对样本&#xff0c;比如相同受试者进行多个时间点的观察&#xff0c;…

Navicat远程连接禅道一键安装在Linux的MySQL数据库

禅道一键安装的数据库&#xff0c;默认只能在服务器本机访问。远程访问须进行配置&#xff0c;本文说明具体的配置方法&#xff0c;并且已经过验证。 1、首先检查对应的端口是否开放&#xff0c;默认端口为3306. 2、连接到禅道自带的网页版数据库 3、执行SQL创建一个新角色 …

外贸人需要知道的销售技巧有哪些?

外贸销售技巧米贸搜整理如下&#xff0c;希望对你有所帮助:第一步:准备好。没有准备意味着为失败做准备&#xff0c;没有计划意味着为破产做打算。这是为什么呢&#xff1f;因为你不知道你这次要谈什么&#xff0c;所以你首先要做的是准备好整个谈话的结果。第一&#xff0c;我…