FAST-LIO, ikd-Tree, FAST-LIO2, FASTER-LIO论文总结

2023-05-16

目录

一、FAST-LIO

本文的三个创新点:

FAST-LIO框架

二、ikd-Tree

三、FAST-LIO2

四、FASTER-LIO


一、FAST-LIO

FAST-LIO三个创新点

  1.  将IMU和雷达点特征点紧耦合在一起;
  2. 考虑到了运动补偿(使用反向传播);
  3. 将IEKF中的卡尔曼增益由原来的PH^{T}(HPH^{T}+R)^{-1}转变为(H^{T}R^{-1}H+P^{-1})^{-1}H^{T}R^{-1},这样做的好处是原本公式求逆中的矩阵是观测维度的,新公式求逆中的矩阵是状态维度的,需要求逆的矩阵维度减小了(因为在实际情况中,激光特征点的数量维度要远大于状态量的维度)。

FAST-LIO框架

        本文的IEKF的更新频率是基于雷达的采样频率k,一帧雷达点云估计出一个后验状态。其中状态方程是IMU离散传播。观测方程是scan-submap匹配的,特征用点和面特征。

        每帧状态量会做反向传播利用△ T传播到特征点时间戳下的状态T_{j}(一帧雷达点云包含若干个IMU状态,两个IMU状态之间包含若干个特征时间戳,在计算时考虑到了不同的IMU状态),将特征点经过外参_{L}^{I}TT_{j}_{I}^{L}T进行运动补偿。然后将点转换到global坐标系与submap关联计算点-线,点-面的距离,这个过程是观测方程。本文将状态方程进行一阶泰勒展开。通过IEKF的方式迭代估计x\hat{}_{k}^{k+1},直到每次迭代的增量小于阈值,表示收敛。

IEKF与EKF的区别是对状态方程进行泰勒展开后,在计算后验状态量x\hat{}_{k}^{k+1}的公式不同,最终的后验状态就是收敛时最终的x\hat{}_{k}^{k+1}

二、ikd-Tree

这篇文章翻译的不错https://blog.csdn.net/weixin_43910370/article/details/121705356

  1. 在point-wise和block-wise,通过对结点新加了deleted, treedeleted, pushdown,treesize, invalidnum属性,进而减小了插入,删除,检索,re-insert的时间复杂度,并达到增量更新的目的;并且能够通过设置的参数,检测到二叉树不平衡时,进行重建。
  2. 实验主要和静态tree进行对比,增量更新时间复杂度降低,查询复杂度烧逊色于静态tree,如下图所示:

  1. 在FAST-LIO系统里比较其使用static-tree和ikd-tree,系统大约运行7分钟。如下图所示:ikd-tree插入比static-tree快;查询+更新时间大约快7-8倍。

三、FAST-LIO2

  1. 不用线,面特征点而使用全局点云。
  2. 使用ESKF做前端进行点云配准。
  3. 使用ikd-tree存储点云。

四、FASTER-LIO

高翔组的论文,整体是在FAST-LIO2的框架上改进的。

  1. 前端没有使用特征点,而是使用所有点
  2. 使用迭代ESKF(IEKF)
  3. 使用ivoxel存储点云,voxel删除使用被动删除LRU,检索时考虑到voxel。在每个voxel里使用线性和PHC两种方式,点的数目多时使用PHC。
  4. 实验和FAST-LIO2相比,精度差不多,属于牺牲了配准的精度而减少处理时间。系统整体上在大多数的数据集上是时间减少了一半。

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

FAST-LIO, ikd-Tree, FAST-LIO2, FASTER-LIO论文总结 的相关文章

  • 以 BFS 风格将深度的嵌套字典(森林)写入文本文件

    继续我的旧问题 将深度巨大的嵌套字典 森林 写入文本文件 https stackoverflow com questions 51500003 writing nested dictionary forest of a huge depth
  • 树 /f cmd 修改日期。 Windows Powershell

    我需要创建一个 tree驱动器的文件夹 子文件夹和修改日期的列表 tree f命令效果很好 但我需要添加修改日期 我怎样才能做到这一点 它不会那么漂亮 但你可以使用 Recurse使用 Get ChildItem 选项来查找所有这些 此外
  • 如何查看 SVN 中文件的版本树,显示从分支到主干的合并?

    我是 SVN 新手 但已经使用 Clearcase 多年 我的问题是我对一个分支进行了一些更改 我已使用 TortoiseSVN 重新集成分支 功能将其合并回主干 现在 当我查看版本树时 我没有看到从分支尖端到树干尖端渲染的任何边缘 这是我
  • 如何在 Clojure 中遍历一棵树,同时收集每个节点节点的值?

    我想创建一个函数来收集二叉树中每个节点的值 在 ClojureDocs 中 我发现了几个用于遍历树 图的函数 例如 tree seq prewalk 和 postwalk https clojuredocs org clojure core
  • 二叉搜索树是平衡的吗?

    这已经讨论过了here https stackoverflow com questions 742844 how to determine if binary tree is balanced 但我在下面有一个实现 线程中从未讨论过 pub
  • 单击父节点时检查树的子节点 [ExtJS]

    我想知道如何在单击 ExtJs 中的特定节点时检查树的同级节点 我已经给了每个节点的 id 我可以访问单击的节点的 id 那么我如何继续自动检查子节点 有人请帮助我 or any other way of getting hands on
  • 为什么在算法中使用子树大小来选择二叉树中的随机节点?

    我偶然发现了从二叉树中选择随机节点的算法的几种实现 它们都使用子树大小属性 但是 我不明白为什么知道子树大小有帮助 这是实现A https stackoverflow com a 32011526 and B https www geeks
  • 使用霍夫曼代码压缩文件的步骤

    我知道有很多涉及霍夫曼代码的问题 包括我自己的另一个问题 但我想知道实际编码文本文件的最佳方法是什么 减压看似微不足道 遍历树 在 0 处向左 在 1 处向右 打印字符 但是 如何进行压缩呢 以某种方式将字符的位表示存储在树的节点中 每次遇
  • 二叉树实现C++

    二叉树插入 include stdafx h include
  • 知识树中的段错误

    我正在用 c 实现一个可以从文件中读取的知识树 我的 newStr 函数出现段错误 我无法用这个问题测试我的其余代码 我对 c 没有太多经验 任何帮助将不胜感激 我的 c 文件 包括 包括 include 动物 h 包括 包括 return
  • 在 Python 中删除表达式树及其每个子表达式树中第一个元素周围的括号

    目标是实现简化操作 删除表达式树及其每个子表达式树中第一个元素周围的括号 其中表达式作为括在各个括号中的字符串输入给出 这必须适用于任意数量的括号 例如 12 3 45 6 gt 123 45 6 删除 12 周围的括号 然后删除 45 周
  • 如何使用KDTrees实现最近邻搜索?

    所以 我正在实施一个KD Tree http en wikipedia org wiki Kd tree进行最近邻搜索 我已经构建了树部分 但我认为我没有完全理解搜索部分 关于遍历树来搜索邻居 维基百科文章如下 Starting with
  • 在应用 varImp 函数时使用带插入符号的 xgbTree 方法和目标变量的权重时出现非树模型错误

    当我使用 Caret 包中的 train 函数创建模型以使用权重进行梯度提升时 在使用 varImp 函数时出现错误 表示它没有检测到树模型 但当我去掉重量时它就起作用了 下面的代码产生错误 set seed 123 model weigh
  • O(1) 算法确定节点是否是多路树中另一个节点的后代?

    想象一下下面的树 A B C D E F 我正在寻找一种方法来查询 F 是否是 A 的后代 注意 F 不需要是directA 的后代 在这种特殊情况下这是正确的 只需要针对更大的潜在后代节点池测试有限数量的潜在父节点 当测试一个节点是否是潜
  • 应用对数来导航树

    我曾经知道一种使用对数从树的一片叶子移动到树的下一个 有序 叶子的方法 我认为它涉及获取 当前 叶子的位置值 排名 并将其用作从根向下到新目标叶子的新遍历的种子 一直使用对数函数测试来确定是否沿着右或左节点向下到达叶子 我已经不记得如何运用
  • ruby 中的树和图数据结构[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我很难找到在 ruby 中使用的树数据结构 我可以研究一些众所周知的吗 我的要求很简单 我想创建一棵树 或者可能是一个图 并找到一些节点之
  • 在c#中遍历对象树

    我有一棵由多个对象组成的树 其中每个对象都有一个名称 string id int 以及可能是同一类型的子数组 如何遍历整个树并打印出所有 id 和名称 我是编程新手 坦率地说 我很难理解这个问题 因为我不知道有多少个级别 现在我正在使用fo
  • 使用 R 中“rpart”包中的生存树来预测新的观察结果

    我正在尝试使用 R 中的 rpart 包来构建生存树 并且我希望使用这棵树来对其他观察结果进行预测 我知道有很多涉及 rpart 和预测的问题 但是 我还没有找到任何解决 我认为 特定于将 rpart 与 Surv 对象一起使用的问题的方法
  • ExtJs4 Json TreeStore?

    我正在将 ExtJs3 应用程序迁移到 ExtJs4 在 ExtJs3 中 我有一个树网格 它有一个加载器来加载树数据 如下所示 loader new Ext tree TreeLoader dataUrl Department Depar
  • 如何更新 Sencha Touch 中的嵌套列表/树存储?

    我有一个嵌套列表 必须根据用户在 Ext Carousel 中选择的内容填充新数据 TreeStore load newData this does not work TreeStore removeAll this works 似乎文档和

随机推荐