LOAM SLAM原理之防止非线性优化解退化

SLAM(状态估计)中的退化问题 SLAM(状态估计)中的退化问题,On Degeneracy of Optimization-based State Estimation Problems论文理解 阅读详情

On Degeneracy of Optimization-based State Estimation Problems

1. 概述

LOAM中用于防止非线性优化解退化的方法,指出原始参考代码中出现错误的地方,希望能帮助大家,同时供自己以后参考。

2. 理解

对于SLAM而言,视觉传感器需要纹理信息决定特征点,距离传感器需要空间几何结构信息决定特征点,在特征点缺乏时,状态估计方法会进行退化,为了解决这种退化问题,本文提出了一种在线方法。
处理退化的常用方法有:

  • 1)当出现退化时换一种方法;这要求在设计时需要一个备用方法可用
  • 2)在状态估计过程中加入人工约束,如恒速模型的约束。即使问题本身是可解决的情况下也会带来不必要的误差。

我们的方法是在原始问题的部分子空间添加约束。原始问题的解可以分为非退化方向和退化方向,在处理问题时,首先确定退化方向,然后将求出原始问题非退化方向的解,对于退化方向的解使用猜测值。在最后的实践算法中,只使用非线性优化解在非退化方向的分量,不考虑退化方向的分量。

正常情况下,约束应该是分布在空间中的多个方向,从各个角度约束解,如下面所示,绿色点表示问题的解,被非退化约束限制在了一个小区域。这样的解就比较准确,约束发生小变化时,解的变化也很小,被限制在一个局部区域,这样的解就是一个比较理想的解。
在这里插入图片描述
如果解的约束大多近似平行,那么他们就是退化的方向(蓝色箭头表示的方向),这个时候解在退化方向收到的约束就很差。考虑绝对平行时,解的约束也是一个平行的方向,那么这种情况下的解是需要避免的,如果其中一个约束发生了小的偏移,那么解所在的局部区域会发生较大的变化,这样的解是比较糟糕的解。
在这里插入图片描述
我们提出的方法只是线性问题、非线性问题求解的一个小步骤,计算复杂度可以忽略。实验结果表明该方法能够改善环境退化下的位姿解估计结果。

这种方法有点类似可观测子空间、可控子空间的概念。
每次求解时

  • 优化解=原始解在非退化方向投影+估计值在退化方向投影(实际算法中可以将退化方向解丢弃,只考虑非退化方向)

考虑方程
min ⁡ x f 2 ( x ) (1) \tag{1}\underset{x}{\min}{f^2(x)} xmin​f2(x)(1)
那么 ( 1 ) (1) (1)为线性方程时可以直接使用奇异值分解SVD、QR分解求解,但是 ( 1 ) (1) (1)为非线性方程时需要进行局部微分转换为求解线性方程,因此线性、非线性问题都可以转换为下面的形式
a r g min ⁡ x ∣ ∣ A x − b ∣ ∣ 2 (2) \tag{2}arg\underset{x}{\min}{||Ax-b||^2} argxmin​∣∣Ax−b∣∣2(2)
我们的方法将(2)中的每一行看作 x x x空间中的一个(超)平面,这些平面约束着 x x x(通过方向 A A A和位置 b b b共同约束得到 x x x的解),并研究平面的几何分布来确定退化方向。
做出两个假设:

  • 假设在考虑传感器噪声的情况下对矩阵A进行了适当的加权。也就是 ( 1 ) (1) (1)问题的线性加权形式
  • 原始问题不受约束,并且在问题非退化时,解由真正的传感器测量值决定。

第一个问题:给定线性化系统 ( 2 ) (2) (2),确定状态空间中时候存在退化并确定相应的退化方向。在退化的情况下,防止在退化方向上出现错误解。
假设 ( 3 ) (3) (3)的原始解为 x 0 x_0 x0​,一开始加入经过 x 0 x_0 x0​的任意方向扰动 c c c,解并不发生变化
在这里插入图片描述
如果扰动 c c c相对于 x 0 x_0 x0​偏离 δ d \delta{d} δd,那么原始解 x 0 x_0 x0​也会偏离 δ x c \delta{x_c} δxc​,因为这个时候的约束区域已经发生了改变。由于扰动 c c c的方向任意,因此存在一个原始解的最大偏移, δ x c ∗ = max ⁡ c x c \delta{x_c}^*=\underset{c}{\max}{x_c} δxc​∗=cmax​xc​
定义1:退化因子 D D D
D = δ d δ x c ∗ (3) \tag{3}D=\frac{\delta{d}}{\delta{x_c}^*} D=δxc​∗δd​

SLAM中状态估计优化退化问题(degraded optimization problem)浅析和源码实现 参考论文 On degeneracy of optimization-based state estimation problems发表在2016 ICRA上 原理非常直观,用线性代数的基础知识。用Guassian-Newton, 增量方程的Hessian matrix包含了求解该优化问题的退化信息。必须要求其为正定矩阵。 求解增量方程时,可以将Hessian matrix的eigen ... 阅读详情

相关推荐

LOAM源代码分析附公式推导之MultiScanRegistration

LOAM源代码分析附公式推导概述前言准备工作激光雷达 概述 整理一下LOAM中对激光点云数据、IMU数据的处理以及相关的公式推导,希望能帮助大家,同时供自己以后复习参考。由于相关的东西较多,可能会有疏漏,并且由于时间有限,精力有限,此博客长期更新,欢迎各位小伙伴批评指正。 前言 LOAM参考源代码仓库github地址为LOAM 源代码链接具体配置可以参照博客LOAM SLAM安装与配置 关于LOAM原始论文的解读可以参考LOAM SLAM之论文原理解读, 相关链接LOAM SLAM原理之防止非线性优化解退化

robots的博客 3768

SLAM算法 - LOAM框架中的特征工程与运动补偿机制剖析

本文深入剖析了LOAM框架在激光SLAM中的特征工程与运动补偿机制。通过拆分为高频里程计与低频建图双线程,LOAM实现了实时位姿估计与精确环境建模的平衡。详细解析了曲率计算、特征筛选及运动补偿等关键技术,并分享了实际部署中的优化经验与工程技巧,为SLAM算法开发者提供实用参考。

weixin_30512089的博客 408

【信息科学与工程学】【产品体系】第十二篇 制造业生产加工05 控制算法 ——飞行(1)

航空航天控制的高级主题,包括先进飞行控制、航天器高级控制、无人机集群、航空发动机控制和飞行管理。

weixin_49199313的博客 1901

On Degeneracy of Optimization-based State Estimation Problems.pdf

LOAM SLAM中用于非线性优化的方法《On Degeneracy of Optimization-based State Estimation Problems》,大家可以详细阅读,有需要的可以下载。同时可以参照博客https://blog.csdn.net/i_robots/article/details/108724606

efficiency of optimization potential in supercritical ORC

这篇文献是研究废热回收ORC系统的重要文献之一,免费分享给各位。

Optimization-Backend:Mindc 编译器的实验性(但健壮)优化后端插件。 优化以架构注解的方式表达,代码生成使用新的StringTemplates,如优化宏调用,编译时不会生成各种组件结构元数据,从而减少了文本和数据的占用空间

优化后端 Mindc 编译器的实验性优化后端插件。 优化通过架构注解的方式表达,代码生成使用新的StringTemplates,例如优化宏调用,编译时不会生成各种组件结构元数据,从而减少了文本和数据的占用空间。 ############################################### ############################# 要生成用户和开发人员指南,请在 mind-compiler 目录中执行以下命令: $ mvn -N 清理前站点 然后可以在 /target/site 目录中找到 PDF 和 HTML 文档。 在编辑 docbook 时,建议在执行 maven-docbkx-plugin 之前“触摸”顶级 docbook 文件。 实际上,docbook 源被拆分为插件无法正确处理的各种 XML 文件(如果顶级文件尚未更新,插件将不会重新编

S7-1200g2运动控制实战:从轴组配置到程序调试

本文详细介绍了S7-1200g2运动控制功能的实战应用,从轴组配置到程序调试的全流程。通过TIA Portal中的工艺对象配置,实现单轴、同步轴组等运动控制模型,并分享常见问题排查与性能优化经验,帮助工程师快速掌握中小型自动化设备的运动控制技术。

weixin_28698059的博客 579

ArcMap 10.7/10.8启动加载界面后闪退?可能是这个隐藏的Normal.mxt模板文件在搞鬼

本文深入分析了ArcMap 10.7/10.8启动加载界面后闪退的问题,指出Normal.mxt模板文件损坏是常见原因。提供了从定位、删除模板文件到系统级修复的完整解决方案,帮助GIS工程师快速恢复工作流程。

weixin_28523493的博客 322

FISCO-BCOS配置及使用控制台

如果因为网络问题长时间无法下载,请尝试:curl -#LO https://gitee.com/FISCO-BCOS/console/raw/master-2.0/tools/download_console.sh && bash download_console.sh。为了可以更加方便快捷,所以HelloWorld合约已经被内置了,位于控制台下面的contracts/solidity/HelloWorld.sol。用于获取和设置name的值,合约代码如下。部署成功会返回合约地址。

qq_51562644的博客 822

source tree clone error:fatal remote error: Repository not found

source tree clone error:fatal remote error: Repository not found

Linda的前端开发路 3074

LinuxMint 22.1(Ubuntu24.04)下通过Wine完美运行同花顺远航版的实战指南

本文详细介绍了在LinuxMint 22.1(Ubuntu24.04)系统下通过Wine完美运行同花顺远航版的实战指南。从基础环境准备到深度优化,包括Wine环境配置、同花顺远航版安装、字体显示调优、任务栏兼容性修复等关键步骤,帮助Linux用户高效使用同花顺远航版进行股票交易和行情分析。

weixin_30919429的博客 560

基于大模型的自动驾驶智能体:Agent-Driver架构、训练与实战指南

自动驾驶系统正从传统的模块化流水线向以智能体为核心的新范式演进。其核心原理在于将车辆视为一个能够与环境持续交互的自主决策智能体,通过多模态感知、记忆管理和基于大模型的推理能力,实现对复杂交通场景的理解与应对。这一技术价值在于利用大模型的常识推理和泛化能力,有望解决传统方法在长尾场景下面临的挑战。在应用场景上,智能体驱动架构特别适合处理动态交互密集、需高层语义理解的城区驾驶、无保护转弯及突发状况应对。本文聚焦的Agent-Driver项目,正是这一方向的典型实践,它通过融合视觉、语言大模型与强化学习,构建了一

weixin_28729843的博客 523

可编程逻辑控制器(PLC)系列:Mitsubishi MELSEC-Q_(8).MELSEC-Q系列PLC故障诊断与维护

MELSEC-Q系列PLC的故障诊断与维护是一个系统性的过程,需要工程师具备扎实的理论基础和丰富的实践经验。通过了解故障类型、使用诊断工具、遵循诊断步骤,可以有效地定位和解决故障问题。同时,定期的检查与保养、备份与恢复、优化程序和配置,以及提供良好的运行环境,可以减少故障的发生,提高系统的可靠性。希望本文能够帮助工程师在故障诊断与维护过程中更加得心应手,确保MELSEC-Q系列PLC的稳定运行。

2401_87715305的博客 1242

西南科技大学模拟电子技术实验七(集成运算放大器的非线性应用)预习报告

将电位器Rp调至中心位置,用双综示波器观察并绘制方波U0的波形,测量其幅值和频率;将电位器RP调至中心位置,用示波器观察并绘制锯齿波U0的波形,记录;示波器基线调零,Ui输入1000HZ、幅值为2V的正弦信号,观察并记录Ui与U0波形,读出图中波形跳变时的Ui临界值;用万用表电位器RP调至预测结果位置,用示波器观察并描绘三角波输出U0及方波输出uo’,测其幅值、频率及Rp值,记录之。示波器基线调零,U输入1000HZ、幅值为2V的正弦信号,观察UI与U0波形。理论算法公式:当Ui

Welcome To My6n Blog 3922

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: SLAM 常用库环境配置
下一篇: TF坐标系变换
Robots.
博客等级 码龄8年 157粉丝 48原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值