0. 简介

对于激光和视觉里程计而言,我们在面试和日常工作中会经常听到,在长时间在平坦道路上直行会导致维度的退化。定位的退化主要是因为约束的减少,比如NDT需要三个正交方向的约束才能很好的匹配,但若在狭长的走廊上或者隧道环境,条件单一,即使人肉眼观看激光雷达数据,也很难判断机器人所处的位置。而这篇博客来回顾下LOAM的作者Ji Zhang发表在2016年IROS上的一篇关于优化问题的退化处理《On Degeneracy of Optimization-based State Estimation Problems》,该思想在LOAM源码中也有体现。这个博客中的思想还是值得我们去学习和思考的。

【学习充电站--SLAM】SLAM中退化处理

1. 文章背景

因为这是激光SLAM中防止非线性退化最早的一批论文。重要性不言而喻,我们就直接来解析文中的主要思路以及方法了。对于SLAM而言,传感器需要纹理信息决定特征点,在特征点缺乏时,状态估计方法会进行退化。

如下图所示,正常情况下约束应该是分布在空间中的多个方向,从各个角度约束解,绿色点表示问题的解,被非退化约束限制在了一个小区域。这样的解就比较准确,约束发生小变化时,解的变化也很小,被限制在一个局部区域,这样的解就是一个比较理想的解。如果解的约束大多近似平行,那么他们就是退化的方向(蓝色箭头表示的方向),这个时候解在退化方向收到的约束就很差。如果其中一个约束发生了小的偏移,那么解所在的局部区域会发生较大的变化,这样的解是比较糟糕的解。

在这篇文章中,提出了一种在线的方法,通过分析问题的约束的几何结构来缓解优化问题的退化。该方法确定了退化发生的方向,并且只在非退化的方向求解优化问题。

2. 文章方法

线性求解的最优可以转化为下面的公式,即可以直接使用奇异值分解SVD、QR分解求解

但是如果面对的是非线性方程,那基于优化的状态估计问题都可以描述为一个最小二乘问题,对于非线性问题也可以线性化,所以优化问题可以描述为

该式中,每一行Ax−b=0Ax -b = 0Axb=0都可以视为解空间的一个超平面。那么所求得的解x的几何意义是,在解空间中找到一个点,应当满足到每个超平面的距离的欧式距离最小。通过方向AAA和位置bbb共同约束得到xxx的解,并研究平面的几何分布来确定退化方向。

接下来就是然后定义了的退化因子(degeneracy factor),如下图所示,黑色线条表示平面约束,蓝色的圆点表示该问题的解。为了评估该系统的退化程度,给这个系统添加一个额外超平面约束,其中ccc是一个n×1n × 1n×1向量表示法向量约束(图中的黑色箭头)。桔色线条表示该超平面的法向量。这个超平面经过解x0,所以添加这个约束并不改变原问题的解。

我们的原始解为x0x_0x0,一开始加入经过x0x_0x0的任意方向扰动ccc,解并不发生变化。如果扰动ccc相对于 x0x_0x0​偏离 δd\delta{d}δd,那么原始解 x0x_0x0也会偏离 δxc\delta{x_c}δxc,因为这个时候的约束区域已经发生了改变。由于扰动 ccc的方向任意,因此存在一个原始解的最大偏移,δxc∗=max⁡cxc\delta{x_c}^*=\underset{c}{\max}{x_c}δxc=cmaxxc


所以系统的退化因子的数学表达式为D=δd/δxc∗\mathcal{D} = \delta{d}/\delta{x_c}^*D=δd/δxc即用超平面移动距离除以解的最大位移量。该值越大,表示系统越稳定。具体公式推导为:

2.1 退化因子只与矩阵A有关,而与b无关

对于线性化系统,退化因子DDDAAA的函数,与bbb无关。这说明退化方向只与原始的约束方向AAA有关,与原始约束的位置bbb无关。这和前面的推测一致,当原始约束方向平行的时候,就会引入退化。

该问题解仍然为x0x_0x0。现在给新增的约束在其法线方向上进行平移

…详情请参照古月居

经典文献阅读之--On Degeneracy of Optimization-based State Estimation Problems(防止非线性优化退化)相关推荐

  1. 货运服务网络设计:经典文献阅读笔记(3)复现Netplan

    **货运服务网络设计:经典文献阅读笔记(2)**提到说要把Crainic T G(1984年)文献使用的模型复现一下,但是文章给出的通用框架还是太笼统,在尝试后决定使用Jacques Roy & ...

  2. 经典文献阅读之--NICE-SLAM(SLAM的神经隐含可扩展编码)

    0. 简介 对于深度学习而言,NeRF一定是最近两年最火的工作之一了,**NeRF(Neural Radiance Fields)**是最早在2020年ECCV会议上的Best Paper,其将隐式表 ...

  3. 经典文献阅读之--Swin Transformer

    0. 简介 Transfomer最近几年已经霸榜了各个领域,之前我们在<经典文献阅读之–Deformable DETR>这篇博客中对DETR这个系列进行了梳理,但是想着既然写了图像处理领域 ...

  4. 文献阅读10期:ATTENTION, LEARN TO SOLVE ROUTING PROBLEMS!

    [ 文献阅读·路径规划 ] ATTENTION, LEARN TO SOLVE ROUTING PROBLEMS! [1] 推荐理由:这篇应该不用多说了,ATTENTION模型做路径规划,算是一篇Mi ...

  5. 经典文献阅读之--PL-SLAM(点线SLAM)

    0. 简介 之前作者基本都在围绕着特征点提取的路径在学习,最近看到了最近点云PCL推送的<Structure PLP-SLAM: Efficient Sparse Mapping and Loc ...

  6. 经典文献阅读之--PON

    0. 简介 作为Transformer在机器视觉领域的爆火,在自动驾驶领域目前很多工作都集中在前视转鸟瞰图的方法中,这里我们来讲2020年一篇经典的论文<Predicting Semantic ...

  7. 经典文献阅读之--SuMa++

    0. 简介 作为一名技术博主,最主要的还是需要不断地学习新的知识,而最好的学习就是不断地阅读新的文章,并不断地学习和总结前人的思路和方法.所以博主打算开一个新的系列来介绍.这里主要来介绍一下<S ...

  8. 经典文献阅读之--OV2SLAM(高速视觉slam)

    0. 简介 视觉里程计最近几年越来越受到学术界以及工业界的认可,以ORB和VINS为代表的视觉SLAM已经可以满足绝大多数场景,而OV2SLAM在其他VSLAM中脱颖而出,其实时性以及具体的回环性能在 ...

  9. 货运服务网络设计:经典文献阅读笔记(1)

    服务网络设计 --(1984,Crainic,Multicommodity, Multimode Freight Transportation: A General Modeling and Algo ...

最新文章

  1. spring-注入对象list
  2. 【计算机网络】应用层 : 网络应用模型 ( 应用层概述 | 客户端 / 服务器 模型 | P2P 模型 )
  3. TCP和UDP是否可以绑定同一端口进行通信
  4. Wpf体系结构的学习
  5. Installing EF Power Tools into VS2015
  6. 使用基于 WebRTC 的 JavaScript API 在浏览器环境里调用本机摄像头
  7. JS中关于异步的那点事~
  8. Java 反编译工具哪家强?对比分析瞧一瞧
  9. Java之Socket实现文件传输
  10. java 开发ocx控件_Java调用ocx控件以及dll
  11. 计算机类中英附录,欧盟gmp附录11-计算机系统(中英文对照)-20210410004737.docx-原创力文档...
  12. 如何在计算机修改wifi密码,wifi修改密码,教您电脑怎么修改wifi密码
  13. 指环王解析_回到指环王
  14. win中q-dir,everything,Windows Tabs,Clover各种效率神器(搜索,资源管理器,多标签)
  15. Springboot+采用协同过滤算法的家政服务平台的设计与实现 毕业设计-附源码260839
  16. 家乡 二 十 四 桥的介绍
  17. 联想T460p加装固态硬盘
  18. Foreground-aware Pyramid Reconstruction for Alignment-free Occluded Person Re-identification
  19. 晶振PPM小参数,大作用
  20. mongodb查询文档

热门文章

  1. 利用Matcom实现基于MATLAB的混合编程
  2. linux以16进制打开文件,linux下查看十六进制文件方法
  3. Postman测试webService接口
  4. 个人域名能卖给企业吗
  5. docker启动redis、并加载配置文件
  6. tomcat资源请求慢_Tomcat网页加载速度过慢的解决方法
  7. linux中硬链接和软连接的区别
  8. 论文参考文献格式Chinese Std GBT7714
  9. MybatisPlus快速入门上手
  10. git与github的区别