【坐标系在动态SLAM中究竟有多重要】

文章目录

    • 概要
    • 整体架构流程
    • 背景
    • 表示
    • 小结

概要

这篇文章对动态SLAM(Simultaneous Localization and Mapping)的多种解决方案进行了深入分析,并确定了解决该问题的最佳方案。文章的重点在于强调了坐标系在解决动态SLAM问题中的重要性。

动态SLAM是指在机器人同时进行自身定位和环境建模的过程中,存在动态物体(例如移动车辆、行人等)的情况。这种情况下,传统的SLAM算法往往会遇到困难,因为传统算法假设环境是静态的,无法处理动态物体。

针对这一问题,文章提出了多种解决方案,包括基于激光雷达扫描数据的方法、基于视觉信息的方法以及结合多传感器的方法。对于每种方法,文章详细分析了其原理、优缺点以及适用场景。

在论述各种解决方案的过程中,文章强调了坐标系对于解决动态SLAM问题的重要性。由于动态物体的存在,机器人在不同时间点获取的传感器数据可能处于不同的坐标系下,因此需要建立准确的坐标变换模型,以保证定位和建图的准确性。

最后,文章总结了各种方法的实验结果,并根据实验数据确定了最佳方案。该方案在处理动态SLAM问题时表现出色,取得了较好的定位和建图效果。
论文地址:https://arxiv.org/pdf/2312.04031.pdf

整体架构流程

最新的文献提供了动态SLAM的两种主要表示方法,将动态目标点在世界坐标系或者目标坐标系中表示。尽管在局部参考系中表达目标点可能看上去很直观,但是这可能无法获得最精确、最鲁棒的解决方案。

本文对各种动态SLAM公式进行深入分析,确定解决该问题的最佳方法。基于此目的,本文引入一种使用GTSAM的与前端无关的框架——用于评估各种动态SLAM公式。
最近,已经探索了多目标视觉里程计和基于图优化的动态SLAM系统,以基于静态点和动态点观测结果来联合定位机器人并且估计静态结构和场景中刚体目标的运动/轨迹。这些系统通常采用局部、滑动窗口或者批量优化技术,文献中给出了这些优化问题中表示变量的各种方式。在设计SLAM系统时,选择合适的表示是非常重要的,因为这决定了系统的鲁棒性、精度和效率。因此,对不同表示进行正规分析是至关重要的,这些表示清楚地描述了此类系统成功执行的情况。
在这里插入图片描述
局部表达的点可以被建模为相对于目标坐标系的静态点,以增强刚体假设,因此可以由因子图中的单个状态变量来表示。然而,目标坐标系的位姿是无法直接观测的,并且当根据目标的部分观测进行估计时可能是不可靠的。

一种替代方法是在已知的参考坐标系中表达动态点,例如相机坐标系或者地图/世界坐标系。我们先前的工作VDO-SLAM证明了SE(3)运动可以在包含世界坐标系的任何参考坐标系中表达。根据这一点并且通过在世界坐标系中表示动态目标点,避免了估计目标位姿,并且产生了精确的结果。本文将这种表示称为以世界为中心,如图1(b)所示。

本文探索了如何在动态SLAM系统中更好地表示目标。为此,我们引入了一个基于因子图的优化框架,用于开发和测试不同的动态SLAM表示。基于最先进的文献,我们实现了以世界和目标为中心的表示,严格分析了由此产生的SLAM系统的精度和鲁棒性。基于这一分析,本文提出了动态SLAM表示,其最精确且最鲁棒地估计相机位姿和目标运动。

背景

3.1 参考坐标系和符号
本文中讨论的特定表示涉及运动中的机器人,其配备了RGB-D相机,用于观测和跟踪环境中的静态和动态点。
在这里插入图片描述
3.2 位姿变换和坐标系变化
在这里插入图片描述
公式(4)描述了位姿变换的坐标系变化,它将目标(或机体)坐标系中的运动与世界(惯性)参考坐标系中的运动相联系。使用世界参考坐标系可以通过无模型的方式描述目标运动,从而无需在表示中考虑目标位姿。基于公式(2)和(3),我们可以得到描述世界坐标系中目标运动的运动学模型,如下所示:
在这里插入图片描述

表示

4.1 SLAM前端
本文主要研究基于因子图的动态SLAM优化(例如后端或者局部批量处理)。前端和后端之间的接口是串行的,因此可以很容易地替换前端。
前端期望能够提供所有(静态和动态)3D点的逐帧跟踪,并且能够通过相应的目标来关联/聚类动态点。此外,它还可以提供用于跟踪静态点和动态点的相机位姿和目标运动的初始估计值。
4.2 以世界为中心的表示
以世界为中心的表示联合估计相机位姿、目标运动、静态和动态点,所有这些都在世界坐标系中表示。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.3 以目标为中心的表示
以目标为中心的方法估计世界坐标系中的相机位姿、静态点、目标运动和位姿。对应的因子图如图3所示,其中我们强调了用于实验的公式的不同变体。

在这里插入图片描述
其中,图(a)展示了原始以目标为中心的结构,图(b)是其变体,修改了图结构以包含目标运动学因子,而图©保留了该因子,并且移除了以目标为中心的运动因子。为了确保与以世界为中心表示进行公平比较,我们尽可能保留共同的因子,即静态点的点测量因子和里程计因子,如图2和图3之间的相同连接所示。
在这里插入图片描述
4.4 目标运动学因子
我们提出加入额外的因子来建模连续目标位姿之间的运动学关系:
在这里插入图片描述

我们将它称为目标运动学因子,如图3(b)和3©中的绿色方块所示。

小结

本文对动态SLAM的多种解决方案进行了全面分析,并在现有现实世界数据集上评估了所提出的表示方法。为此,我们使用GTSAM开发了一个与前端无关的优化框架,可以轻松实现和测试不同的配置。根据动态目标及其对应点观测在因子图中的表示方式,这些表示方法可以分为以目标为中心和以世界为中心两种。以目标为中表示方法更直观,因为基于刚体假设,目标点相对于目标局部坐标系是静态的。然而,本文的分析表明,以世界为中心的表示方法可以产生更精确的目标运动估计,在相机位姿估计方面也表现更好,并且在优化过程中展现更好的稳定性。未来,我们计划对研究成果进行正式描述,并提供明确的指导方案。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DC-8靶场

目录 DC-8靶场链接: 首先进行主机发现: sqlmap得到账号密码: 反弹shell: exim4提权: Flag: DC-8靶场链接: https://www.five86.com/downloads/DC-8.zip 下载后解压会有一个DC-8.ova文件…

ADS学习笔记(一)——更新中

在ADS中,信号上升时间为信号从0~100%所用的时间,而实际上定义的上升边均为10%~90%,所以可以认为上升边=0.8*ADS设置上升时间。 一、终端开路及短路的反射信号 1.仿真条…

gitcode邀请协作人员

项目首页 点击项目设置 点击项目成员设置--生成邀请链接 设置权限、是否需要审核、成员有效时间、邀请链接有效时间(不设置时间就是永久有效) 点击创建链接 点击复制分享给别人加入即可

Python---互斥锁

1.互斥锁的概念 互斥锁: 对共享数据进行锁定,保证同一时刻只能有一个线程去操作。 注意: 互斥锁是多个线程一起去抢,抢到锁的线程先执行,没有抢到锁的线程需要等待,等互斥锁使用完释放后,其它等待的线程再去抢这个锁…

netty线程调度定制

1、netty的线程调度问题 在netty的TCP调度中,线程的调度封装在NioEventLoopGroup中,线程执行则封装在NioEventLoop中。 线程调度规则封装在MultithreadEventExecutorGroup的next方法中,这个方法又封装了EventExecutorChooserFactory&#xf…

mysql:查看服务端没有睡眠的线程数量

使用命令show global status like Threads_running;可以查看服务端没有睡眠的线程数量。 例如:

【华为OD机试真题2023CD卷 JAVAJS】加密算法

华为OD2023(C&D卷)机试题库全覆盖,刷题指南点这里 加密算法 知识点DFS搜索 题目描述: 有一种特殊的加密算法,明文为一段数字串,经过密码本查找转换,生成另一段密文数字串。规则如下: 1. 明文为一段数字串由0~9组成 2. 密码本为数字0~9组成的二维数组 3. 需要…

Swift 周报 第四十期

文章目录 前言新闻和社区53.5亿美元!传苹果今明两年或将采购 2.3 万台 AI 服务器!TestFlight 让管理测试员变得更加简单推送通知控制面板现已推出新交付指标Apple Vision Pro 开发者实验室现已扩展到纽约市和悉尼 提案正在审查的提案 Swift论坛推荐博文话…

vue打包内存问题解决办法<--- Last few GCs ---><--- JS stacktrace --->

**<— Last few GCs —> [18484:0000026763669610] 106760 ms: Mark-sweep 4016.0 <— JS stacktrace —> FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory** 解决办法&#xff1a; set NODE_OPTION…

Android 架构 - 组件化

一、概念 组件化是对单个功能进行开发&#xff0c;使得功能可以复用。将多个功能组合起来就是一个业务模块&#xff0c;因此去除了模块间的耦合&#xff0c;使得按业务划分的模块成了可单独运行的业务组件。&#xff08;一定程度上的独立&#xff0c;还是依附于整个项目中&…

watermark-dom 水印不显示

引入watermark-dom 之后&#xff0c;代码也按照文档写好了&#xff0c;也有水印的元素了&#xff0c;但是就是不显示水印 查看元素&#xff0c;发现shadow-root 里面啥也没有 查看源代码发现 shadowRoot 添加水印的这行代码根本没执行 接着往上查&#xff0c;发现没有进入这个…

迪文屏开发保姆级教程——页面键盘

迪文屏页面键盘保姆级教程。 本篇文章主要介绍了在DGBUS平台上使用页面键盘的步骤。 迪文屏官方开发指南PDF&#xff1a;&#xff08;不方便下载的私聊我发给你&#xff09; https://download.csdn.net/download/qq_21370051/88647174?spm1001.2014.3001.5503https://downloa…