文献学习《Past, Present, and Future of Simultaneous Localization And Mapping》

本文主要是介绍文献学习《Past, Present, and Future of Simultaneous Localization And Mapping》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文献学习《Past, Present, and Future of Simultaneous Localization And Mapping: Towards the Robust-Perception Age》

  • 1 Introduction
  • 2 现代SLAM系统剖析
  • 3 长时间的自治
    • 3.1 鲁棒性
    • 3.2 可扩展性
  • 4 表示法
    • 4.1 度量地图模型
    • 4.2 语义地图模型
  • 5 ACTIVE SLAM
  • 6 新的发展方向

这篇文章主要是关于SLAM技术的综述文章,介绍SLAM的历史发展阶段、当前的系统构成、地图表示法(度量/语义),还有新的传感器和计算工具。

文献链接:https://arxiv.org/pdf/1606.05830v4.pdf


1 Introduction

地图两方面的用途:

  • 用于支撑其他任务,如路径规划、提供一个直观的可视化操作;
  • 估计机器人状态时限制误差。

SLAM常被应用在没有可用的先验地图、需要建立地图的场景下。在临时的定位设施缺少的情况下(比如人工地标、GPS),SLAM能够提供一个具有吸引力的、用户来建立地图的可行方案,让机器人操作成为可能。

Durrant-Whyte 和 Bailey提出的SLAM问题的三个时期阶段:

  • 古典时代:classical age(1986-2004)——向SLAM中引入概率公式,包括扩展卡尔曼滤波、Rao-Blackwellised粒子滤波和最大似然估计(maximum likelihood estimation),还划定了效率和鲁棒数据关联的基本挑战。
  • 算法分析时期:algorithmic-analysis age(2004-2015),主要研究SLAM的基本性质,包括可观测性、收敛性和连续性。理解了稀疏性对于高效SLAM求解器的关键作用,建立了主要的开源SLAM库。
  • 鲁棒感知时代:robust-perception age(2016——):鲁棒性能(故障安全机制、自调节能力),高层次理解,资源意识,任务驱动感知。

对于“我们是否需要SLAM”这个问题,作者给出了三方面的回答:
第一,在过去的十年中进行的SLAM研究本身已经产生了视觉惯性里程计算法,代表了目前最先进的状态。更一般地,SLAM直接引导在更具有挑战性的配置下(比如,没有GPS、低质量传感器)研究多传感器融合。
第二,得到真实环境的拓扑结构。看起来相似的场景,会影响位置识别,对于环境中的不同位置,SLAM能够提供一种对错误的数据关联和感知混叠的自然防御。
第三,许多应用需要SLAM,不管是隐式还是显式都需要一个全局一致的地图。

对于一个成熟的SLAM问题,可以具体分为以下几个方面:

  • 机器人:运动类型(动态、高速),可用传感器(分辨率、采样率),可用计算资源;
  • 环境:平面/三维,存在自然/人工地标,动态对象数量,对称数量,感知混乱的风险;
  • 性能需求:准确估计机器人状态,场景的准确性和代表类型(基于地标或者稠密),成功率(测试中达到准确线的百分比),估计延迟,最大执行时间,最大地图尺寸。

当面临机器人运动或者环境具有很大的挑战性的时候(比如,机器人快速运动,场景高动态),SLAM算法就容易失败。同样地,SLAM算法通常也不能应对严格的性能要求,比如对于快速闭环控制的高频率估计。


2 现代SLAM系统剖析

一个SLAM系统包括前端和后端。前端提取传感器数据放入可处理的模型进行估计,后端根据前端提取出的数据进行推算。

在这里插入图片描述
后端,把SLAM构建成一个最大后验估计问题,经常使用因子图来推理变量之间的依赖关系。

在前端的数据联合中,包括了短期和长期数据连接。短期主要是负责在连续的传感器测量中连接对应的特征。长期数据联合主要是回环检测,是把新的测量值联系到旧的地标。后端把信息反馈给前端,支撑闭环检测和校正。

3 长时间的自治

3.1 鲁棒性

算法的鲁棒性:数据联合是算法失败的一个主要来源。由于感知混乱的出现,数据联合建立了错误的测量-状态匹配关系,导致后端估计产生错误。同时,当数据联合错误地排除了一些传感器测量值,就会使得用于估计的测量值变少,影响估计精度。

对于有动态物体的环境,在短期内、单一的小尺度地图场景,可以认为环境是静态的,不会发生改变,但是对于长时间尺度的大环境下,这种改变是不可避免的。

对于动态环境,有一些主流方法是去除场景中的动态部分,也有一些工作是把动态对象作为模型的一部分。

3.2 可扩展性

在许多应用前景中,机器人的运行时间和场景都是不断延伸的,然而计算时间和内存都受到机器人资源的限制。

为了降低因子图优化的复杂度,采用两种方法:

  1. 稀疏化方法(sparsification methods)
    减少因子图中的节点,边缘化不重要的节点和因子信息;还有一种是利用连续时间轨迹估计(continuous-time trajectory estimation)来减少随时间估计的参数数量。比如说,通过各种插值(三次样条插值、批处理插值)的方法,来得到机器人运动轨迹和位姿状态。
  2. 核外和多机器人方法(out-of-core and multi-robot methods)
    SLAM的并行核外算法将因子图优化的计算(和内存)负载分配给多个处理器。主要的想法是把因子图划分为不同的子图,通过可选择的子图局部优化来优化全局图。

对大尺度环境建图,可以应用多个机器人执行SLAM,把场景划分为更小的区域,每一个小区域由不同的机器人来建图。有两种不同的方案:有中心的,机器人建立子图传递局部信息到中心站点;去中心的,没有中心数据融合,代理利用本地通信在共有地图上达成共识。

目前存在的一些问题:

  1. 对于长时间的操作,如何存储地图;
  2. 需要多长时间更新一次地图中的信息,如何判断这些信息过期了可以被删除;
  3. 机器人如何处理异常值。机器人没有一个通用的参考框架,很难检测并去除错误闭环;对于分散式设置,机器人只能从部分的和局部的信息中检测异常值。
  4. 如何把现有的SLAM算法应用到计算资源非常有限的机器人平台(比如,手机、无人机、昆虫式机器人)

4 表示法

4.1 度量地图模型

在2D情况下,几何建模是比较容易的,有两种主要的方式:基于地物的地图和占据网格的地图。3D几何建模就要更精细,目前对于如何有效建立3D几何模型的理解还处于起步阶段。

在这里插入图片描述
左图就是一个基于地物/特征的稀疏代表,传感器测量一些地物的几何层次,同时提供描述子来建立测量值和对应地物的数据连接。

右图就是一个低等级的原始稠密代表方法,稠密表示方法地图提供3D几何的高分辨率模型,这样的模型更适用于避障、可视化以及呈现。

基于特征的方法更成熟,能够建立精确和鲁棒性好的带有自动重定位和闭环的SLAM系统。但是这样的系统十分依赖于环境特征,依赖于检测和匹配的阈值,而且大多数的特征检测器都是向速度方向优化而不是精度。

直接方法能够利用原始的像素信息,稠密直接法探测图像中的所有信息。对于特征少、虚焦、运动模糊场景,这类方法比基于特征的方法表现情况更好。但是为了实时性能,这类方法需要更高的计算能力。

4.2 语义地图模型

在这里插入图片描述
语义建图是把语义概念联系和机器人周边的几何实体联系在一起。

语义表示法可以定义为不同的方面:

  • 语义层次:对象分类(比如,房间、走廊、门)
  • 语义组织:用法、属性(可移动的、静止的)

目前存在的问题:语义-度量信息一致性融合,对于不同时间点获得的语义信息和度量信息,如何一致地融合,仍然是一个开放的问题。在一个已经完善的因子图公式中,结合语义分类和度量表示法,是建立一个语义-度量参考框架的可行办法。

目前机器人能够操作度量表示法,但是并不能真正探索语义概念。


5 ACTIVE SLAM

控制机器人的运动以减小其地图表示和定位的不确定性的问题通常称为主动SLAM(active SLAM)。


6 新的发展方向

新传感器的发展和新计算工具的应用已经成为了SLAM的关键驱动。

  1. 新式的和非传统的SLAM传感器
    深度相机、光场相机、基于事件的相机
  • 测距相机:结构光相机通过三角化来工作,它们的精度受到相机和模式投影仪(结构光)之间的距离的限制。ToF相机的精度只依赖于飞行事件测量装置,能够提供更高的测距准确度,

    光场相机:光场相机能够记录光照强度和光束方向。由于工业制造的成本问题,商业可用的光场相机相对而言仍然只有低分辨率。但是它相对于一般的标准相机有很多优点,比如深度估计、噪声减弱、视频稳定化、干扰物分离、镜面反光的去除。

    事件相机:事件相机只发送由场景中移动引起的局部像素级变化,能够应用在高速运动和高动态范围的场景下。但是,它的输出是一系列不同步的事件,传统的基于帧的计算机视觉算法是不适用的。

  1. 深度学习
    通过学习深度神经网络,可以直接从原始图像对中获取移动机器人的两幅图像,从而回归两幅图像之间的帧间姿态,有效地替代视觉测程的标准几何形状。可以使用回归森林和深度卷积神经网络定位相机的6DoF,并仅作为输入图像的函数从单个视图估计场景的深度。

这篇关于文献学习《Past, Present, and Future of Simultaneous Localization And Mapping》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/585012

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件