Slam(即时定位与地图构建) 知识篇

简介:

Slam(即时定位与地图构建) 知识篇


Slam即时定位与地图构建

技术解释

同步定位与地图构建SLAMSimultaneous localization and mapping)是一种概念:希望机器人从未知环境的未知地点出发,在运动过程中通过重复观测到的地图特征(比如,墙角,柱子等)定位自身位置和姿态,再根据自身位置增量式的构建地图,从而达到同时定位和地图构建的目的。

使用情景

image

一个由德国达姆施塔特理工大学研发的机器人正使用激光成像探测与测距技术来给迷宫绘图。

image

上图的机器人描绘出的地图。

 

操作性定义

这里说的地图,是用来在环境中定位,以及描述当前环境以便于规划航线的一个概念;它通过记录以某种形式的感知获取的信息,用以和当前的感知结果相比较,以支撑对现实定位的评估。在定位评估方面,地图提供的帮助程度,与感知的精度和质量成反相关。地图通常反映了它被描绘出来的时刻的环境状态,所以它并不一定反映它被使用的时刻的环境状态。

在误差和噪音条件下,定位和地图构建技术上的复杂度不支持两者同时获得连续的解。即时定位与地图构建(SLAM)是这样一个概念:把两方面的进程都捆绑在一个循环之中,以此支持双方在各自进程中都求得连续解;不同进程中相互迭代的反馈对双方的连续解有改进作用。

地图构建,是研究如何把从一系列传感器收集到的信息,集成到一个一致性的模型上的问题。它可以被描述为第一核心问题这个世界长什么样?地图构建的核心部分是环境的表达方式以及传感器数据的解释。

与之相比,定位,是在地图上估测机器人的坐标和姿势形态的问题;换而言之,机器人需要回答这里的第二核心问题我在哪?典型的解包含以下两个方面:追踪——通常机器人的初始位置已知;全局定位——通常只给出很少,甚至不给出有关于起始位置环境特征的先验信息。

所以,同步定位与地图构建(SLAM)被定义为以下问题:在建立新地图模型或者改进已知地图的同时,在该地图模型上定位机器人。实际上,这两个核心问题如果分开解决,将毫无意义;必须同时求解。

在机器人能够根据一系列观测值回答“这个世界长什么样”之前,它需要知道的额外信息很多,比如以下:

  • 它自身的运动学特征,
  • 信息的自动获得需要什么样的品质,
  • 附加的支持观测值能从哪些源得到。在没有地图或者方向参考的前提下,对机器人的当前位置估测是一个复杂的任务。[1]这里的"位置"可以简单指代机器人的所处方位,也可以包括它的姿势形态。

技术上的问题

同步定位与地图构建(SLAM)可以被看做是一个鸡生蛋蛋生鸡的问题:完美的定位需要用到一个无偏差的地图;但这样的地图又需要精确的位置估测来描绘。这就是一个迭代数学问题解决策略的起始条件。作为对比,原子轨道模型可以被看做一个在不精确的观测条件下说明足够多的结果的经典方法。

再者,由于多个传感器对机器人的相对运动的辨别存在固有的不确定性,上一节提到的两个“核心问题”也不像看起来的那么简单。一般来说,由于技术环境中总会考虑噪声,所以SLAM方法要考虑的不只是数学上的紧凑解,也包括与那些和结果相关的物理概念的相互作用。

如果在地图构建的下一个迭代步骤中,测得的距离和方向有可预知的一系列不精确度——通常由传感器有限的的精确度和外加的环境噪声所引起,那么附加到地图上的所有特征都将会含有相应的误差。随着时间的推移和运动的变化,定位和地图构建的误差累计增加,将会对地图本身和机器人的定位、导航等能力的精度产生很大的扭曲。

有许多技术能补偿这些误差,比如那些能再现某些特征过去的值的方法(也就是说,图像匹配法或者环路闭合检测法),或者对现有的地图进行处理——以融合该特征在不同时间的不同值。此外还有一些用于SLAM统计学的技术可起到作用,包括卡尔曼滤波粒子滤波(实际上是一种蒙特卡罗方法)以及扫描匹配的数据范围。

地图构建

在机器人技术社区中,SLAM的地图构建通常指的是建立与环境几何一致的地图。而一般算法中建立的拓扑地图只反映了环境中的各点连接关系,并不能构建几何一致的地图。因此,这些拓扑算法不能被用于SLAM。

在实用中,SLAM通常要被剪裁至适应可获得的资源,于是可以看出它的目标不是完美,而是操作实用性。已经发布的SLAM方法已被应用于无人机无人潜艇行星探测车、最近大热的家政机器人、甚至人体内部。[2]

学界大致都认为,SLAM问题的“正在得到解决”是过去十年间机器人研究领域的最重大成果之一。[3] 该领域中仍有许多有待解决的难题,比如图像匹配和计算复杂度等方面的相关问题。

基于SLAM文献的最新研究进展中,有一条值得注意,就是对SLAM的概率论基础进行重新估测。这个充满了冒险家特质的方法大意如下:通过引入随机有限集的、多目标的贝叶斯滤波器,使得基于特征的SLAM算法获得卓越的性能,以此跳过对图像匹配的依赖;但作为代价,测量中的假警报率和漏检率都会被提升。[4] 这里面的算法是基于概率假设密度滤波的方法来改进的。[5]

传感

SLAM研究中经常使用许多不同型号的传感器来获得地图数据。这些数据带有统计独立的误差。[来源请求]这个统计独立是解决度量偏差和检测中的噪声的强制需求。简单来说,就是任何一个东西都很难测的准确。比如一根1米长的棍子,你第一次测量的时候可能是1.02米,第二次测量时1.05米,...。总之测量的时候多多少少都会有一些误差在里面,因此SLAM算法本身必须要有效的处理这些测量误差。

这些传感器可以是光学的,比如1D的(单波束)或者2D的(扫描)激光测距仪3D_Flash_LIDAR、2D或3D声呐传感器以及一个或多个2D摄像头。从2005年开始,使用可视化传感器(摄像头)对SLAM的研究(可视化SLAM)如火如荼地展开,因为从那时起摄像头开始普及(比如说手机普遍带有摄像头)。[6]

新近的方法使用了准光学的无线测距法,同时把三角测距法等几何方法应用于SLAM中,用以消除微弱无线信号对测量的影响。

一种为走路者设计的SLAM应用使用了一个装在鞋头的惯性测量单元作为主要传感器,该设计依赖于走路者能自动规避墙体这一假设。这个名为FootSLAM的设计可被用于自动建立建筑物的楼面布置图,从而方便建立该建筑的室内定位系统。[7]

定位

传感器的结果会作为定位算法的输入。由几何知识可知,对于n维的定位问题,任何传感输出必须包含至少一个多点定位和(n+1)个判别方程。为了算出结果,有关于在绝对或相对的循环和镜像坐标系统下得到的结果的先验知识也是必要的。

建模

以上结果对地图构建的贡献,可以在“2D建模并分别表示”或者在“3D建模并在2D上投影表示”中工作得一样出色。作为建模的一部分,机器人本身的运动学特征也要被考虑进去,用以提高在固有背景噪声下的传感精度。构建的动态模型需平衡不同传感器、不同局部误差模型给出来的贡献值,并最终包含一个基于地图本身的锐利的可视化描述,这包括机器人的位置和方向等云概率信息。地图构建就是这样一个动态模型的最终运算结果。

相关文献

有关于SLAM的一个开创性工作是以R.C. Smith和P. Cheeseman为代表,在1986年作出的对空间不确定性的估测的研究。[8][9]其他该领域的开拓工作由Hugh_F._Durrant-Whyte的研究团队在1990年代初所作出。[10]

参见

脚注资料

  1. ^ Definition according to OpenSLAM.org, a platform for SLAM researchers
  2. ^ Mountney, P.; Stoyanov, D. Davison, A. Yang, G-Z. Simultaneous Stereoscope Localization and Soft-Tissue Mapping for Minimal Invasive Surgery (PDF). MICCAI. 2006, 1: 347–354 [2010-07-30]. doi:10.1007/11866565_43.
  3. ^ Durrant-Whyte, H.; Bailey, T. Simultaneous Localization and Mapping (SLAM): Part I The Essential Algorithms (PDF). Robotics and Automation Magazine. 2006, 13 (2): 99–110 [2008-04-08]. doi:10.1109/MRA.2006.1638022.
  4. ^ J. Mullane, B.-N. Vo, M. D. Adams, and B.-T. Vo,. A random-finite-set approach to Bayesian SLAM, (PDF). IEEE Transactions on Robotics. 2011, 27 (2): 268–282. doi:10.1109/TRO.2010.2101370.
  5. ^ R. P. S. Mahler,. Statistical Multisource-Multitarget Information Fusion.. Artech House,. 2007.
  6. ^ Karlsson, N.; Di Bernardo, E.;Ostrowski, J;Goncalves, L.;Pirjanian, P.;Munich, M. The vSLAM Algorithm for Robust Localization and Mapping. Int. Conf. on Robotics and Automation (ICRA). 2005.
  7. ^ Robertson, P.; Angermann, M.;Krach B. Simultaneous Localization and Mapping for Pedestrians using only Foot-Mounted Inertial Sensors (PDF). Ubicomp 2009. Orlando, Florida, USA: ACM. 2009. doi:10.1145/1620545.1620560.
  8. ^ Smith, R.C.; Cheeseman, P. On the Representation and Estimation of Spatial Uncertainty (PDF). The International Journal of Robotics Research. 1986, 5 (4): 56–68 [2008-04-08]. doi:10.1177/027836498600500404.
  9. ^ Smith, R.C.; Self, M.;Cheeseman, P. Estimating Uncertain Spatial Relationships in Robotics (PDF). Proceedings of the Second Annual Conference on Uncertainty in Artificial Intelligence. UAI '86. University of Pennsylvania, Philadelphia, PA, USA: Elsevier: 435–461. 1986.
  10. ^ Leonard, J.J.; Durrant-whyte, H.F. Simultaneous map building and localization for an autonomous mobile robot. Intelligent Robots and Systems' 91.'Intelligence for Mechanical Systems, Proceedings IROS'91. IEEE/RSJ International Workshop on. 1991: 1442–1447 [2008-04-08]. doi:10.1109/IROS.1991.174711.

外部链接

 

本文版权归 维基百科,摘自:https://zh.wikipedia.org/wiki/%E5%8D%B3%E6%97%B6%E5%AE%9A%E4%BD%8D%E4%B8%8E%E5%9C%B0%E5%9B%BE%E6%9E%84%E5%BB%BA


本文转自赵青青博客园博客,原文链接:http://www.cnblogs.com/zhaoqingqing/p/5895204.html,如需转载请自行联系原作者

相关文章
|
数据可视化 定位技术 API
百度地图开发:海量点、测距以及定位聚合功能
百度地图开发:海量点、测距以及定位聚合功能
311 0
|
13天前
|
人工智能 小程序 开发者
【一步步开发AI运动小程序】十一、人体关键点跳跃追踪
本文介绍如何利用“云智AI运动识别小程序插件”开发AI运动小程序,涵盖云上运动会、健身打卡等热门应用场景。通过示例代码展示如何调用插件功能,实现动作追踪与分析,助力开发者快速上手。
|
2月前
|
数据采集 监控 安全
厂区地图导航制作:GIS技术与路径导航算法融合
在智能化、数字化时代,GIS技术为厂区的运营管理带来了革命性变化。本文探讨了如何利用GIS技术,通过数据采集、地图绘制、路径规划、位置定位和信息查询等功能,打造高效、精准的智能厂区地图导航系统,提升企业的竞争力和管理水平。
72 0
厂区地图导航制作:GIS技术与路径导航算法融合
|
7月前
|
前端开发 JavaScript 数据挖掘
浅谈游戏地图中位置实时更新的技术方案
浅谈游戏地图中位置实时更新的技术方案
135 1
|
机器学习/深度学习 人工智能 算法
LabVIEW深度相机与三维定位实战(三)
立体匹配与ACV算法理论知识
144 0
LabVIEW深度相机与三维定位实战(三)
|
数据可视化 物联网
Threejs物联网,养殖场3D可视化(三)模型展示,轨道控制器设置,模型沿着路线运动,模型添加边框,自定义样式显示标签,点击模型获取信息
Threejs物联网,养殖场3D可视化(三)模型展示,轨道控制器设置,模型沿着路线运动,模型添加边框,自定义样式显示标签,点击模型获取信息
957 15
Threejs物联网,养殖场3D可视化(三)模型展示,轨道控制器设置,模型沿着路线运动,模型添加边框,自定义样式显示标签,点击模型获取信息
|
机器学习/深度学习 人工智能 算法
LabVIEW深度相机与三维定位实战(四)
立体匹配与ACV算法在LabVIEW中的调用
123 0
LabVIEW深度相机与三维定位实战(四)
|
机器学习/深度学习 传感器 编解码
LabVIEW实现深度相机与三维定位实战(一)
LabVIEW实现深度相机与三维定位实战(一)
312 0
LabVIEW实现深度相机与三维定位实战(一)
|
机器学习/深度学习 传感器 编解码
LabVIEW实现深度相机与三维定位实战(二)
LabVIEW实现深度相机与三维定位实战(二)
235 0
LabVIEW实现深度相机与三维定位实战(二)
|
前端开发 定位技术 数据安全/隐私保护
百度地图高级开发:LBS服务实时定位覆盖范围内关键词标注的解决方案(2)
百度地图高级开发:LBS服务实时定位覆盖范围内关键词标注的解决方案(2)
92 0