当前位置: 首页 > news >正文

faster lio 回环 加入GTSAM优化的记录

首先感谢这位博主的文章:https://blog.csdn.net/weixin_41281151/article/details/125371285,其中部分代码参考于改博主中的github: https://github.com/kahowang/FAST_LIO_SAM
不同的是,我使用的是faster lio进行更改,还有不少细节上的不同。

这份工作的目的

  1. 为了构建一个高精度的点云地图
  2. 去除动态物体,提高精度,所以选择以ivox进行搜寻最近点的faster lio

过程

  1. 这一步和上述博主的一样,首先引入关键帧的结构,引入gtsam进行优化,加入回环检测,矫正位姿和地图,然后做到效果差不多。

  2. but问题来了,(室内正常)在室外过程中,绕了一个周长近一公里的矩形,回到起点,发现此时位置在z轴上高了六七米,随后回环检测回环矫正,通过gtsam矫正发现,随着回环匹配帧插入的数量增加,也就插入五六个关键帧,此时的位置z轴才拉回0。(回环匹配没问题,在第一个回环匹配帧插入后,gtsam优化,z轴的高度为两三米)。but就算后面拉回去了,地图的精度反而下降了,看上去就感觉过优化。如下图所示。z=5到z=6这一段的精度就太差了,反而使得fast lio的精度优势下降了。
    在这里插入图片描述

  3. 于是我觉得需要降低优化,认为faster lio的框架下的直线行走精度够高,不需要gtsam优化,所以不将“大于设定距离而生成的关键帧A”插入优化,而仅仅插入“大于设定旋转角度而生成的关键帧B”插入优化,在触发回环再引入关键帧即可优化,然后对关键帧B间的关键帧A进行配准(如下图所示)。but结果显示因为gtsam含关键帧太少,反而回环优化后效果还是有点不对,矩形右边还是一样高。
    在这里插入图片描述

  4. 对2和3进行调参,分别对里程计的噪声、回环噪声、生成关键帧的条件等进行调节,所生成的地图(矩形下边)依然存在很大的问题。

结论:仅靠一个回环优化难以解决较大的累计误差,而累计误差过大,GTSAM回环优化反而会使地图质量下降。

http://www.lryc.cn/news/194501.html

相关文章:

  • 深入剖析 深度学习中 __init()__函数和forward()函数
  • BUUCTF学习(一):SQL注入,万能密码
  • 基于springboot实现心灵治愈心理健康平台系统项目【项目源码+论文说明】计算机毕业设计
  • 百度Apollo自动驾驶
  • 数据迁移库工具-C版-01-HappySunshineV1.0-(支持Gbase8a)
  • 【sv】 pack/unpack stream
  • 二、使用DockerCompose部署RocketMQ
  • 论文笔记[156]PARAFAC. tutorial and applications
  • AKKA.Net 的使用 来自CHATGPT
  • 网络安全—小白学习笔记
  • OpenRemote: Java 开源 IoT 物联网开发平台,匹配智慧城市、智能家居、能源管理
  • GO-unioffice实现word编辑
  • SpringMVC的拦截器(Interceptor)
  • 【git】gitlab常用命令
  • 解读下SWD协议以及其应用
  • 基于单目的光流法测速
  • 排序-算法
  • 【特纳斯电子】基于单片机的火灾监测报警系统-实物设计
  • 网络安全就业形势怎么样?
  • 【Golang】Go的并发和并行性解释。谁说Go不是并行语言?
  • k8s-16 k8s调度
  • 【2023研电赛】全国技术竞赛一等奖:基于FPGA的超低时延激光多媒体终端
  • Annoy vs Milvus:哪个向量数据库更适合您的AI应用?知其然知其所以然
  • android 13.0 SystemUI导航栏添加虚拟按键功能(一)
  • 内存管理-分页、虚拟地址、虚拟内容、页面置换算法
  • 【C++入门】命名空间详解(从零开始,冲击蓝桥杯)
  • 通过代码MyBatis-plus实现对表中createTime和updateTime进行自动更新
  • HTML 实时显示本地电脑时间(精确到毫秒)
  • opencv跨平台arm交叉编译之ubuntu
  • Git命令全集