Slam即时定位与地图构建

技术解释

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

使用情景

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

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

操作性定义

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

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

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

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

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

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

信息的自动获得需要什么样的品质,

附加的支持观测值能从哪些源得到。在没有地图或者方向参考的前提下,对机器人的当前位置估测是一个复杂的任务。

技术上的问题

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

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

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

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

地图构建

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

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

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

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

传感

SLAM研究中经常使用许多不同型号的传感器来获得地图数据。这些数据带有统计独立的误差。

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

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

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

定位

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

建模

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

相关文献

有关于SLAM的一个开创性工作是以R.C. Smith和P. Cheeseman为代表,在2020年12月03日作出的对空间不确定性的估测的研究。Hugh_F._Durrant-Whyte的研究团队在2020年12月03日代初所作出。

参见

脚注资料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 [2020年12月03日]. doi:10.1109/MRA.2006.1638022.

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.

R. P. S. Mahler,. Statistical Multisource-Multitarget Information Fusion.. Artech House,. 2007.

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.

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 [2020年12月03日]. doi:10.112020年12月03日7836498600500404.

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.

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 [2020年12月03日]. doi:10.1109/IROS.1991.174711.

外部链接

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

python语音地图定位_Slam(即时定位与地图构建) 知识篇相关推荐

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

    Slam即时定位与地图构建 技术解释 同步定位与地图构建(SLAM或Simultaneous localization and mapping)是一种概念:希望机器人从未知环境的未知地点出发,在运动过 ...

  2. python独立网站教程_UC头条:python: 从零到独立建设网站系列教程: 基础知识篇

    python3列表 列表的概念 列表由一系列按特定顺序排列的元素组成.在python中,用方括号([ ])来表示列表,并用逗号来分隔其中的元素.你可以创建包含字母表中所有字母.数字0-9或者所有家庭成 ...

  3. 100天精通Python丨基础知识篇 —— 08、Python 最常用的 20 个包(按使用频率排序)

    本文收录于 <100天精通Python专栏 - 快速入门到黑科技>专栏,是由 CSDN 内容合伙人丨全站排名 Top 4 的硬核博主 不吃西红柿 倾力打造,分基础知识篇和黑科技应用两大部分 ...

  4. SLAM:SLAM(即时定位与地图构建)的简介、发展、案例应用之详细攻略

    SLAM:SLAM(即时定位与地图构建)的简介.发展.案例应用之详细攻略 目录 SLAM的简介 1.我在什么地方?-定位,自身状态. 周围环境是什么样?-建图,外在环境. 2.SLAM的问题描述 3. ...

  5. 想随时定位自己做的智能设备在哪?安排,ESP32 + HaaS Python足矣,定位还能显示在地图上哦

    随着智能手机的兴起,定位技术已经深入到我们生活的方方面面,开车导航.定位打车.找寻周边的共享单车.周边的餐厅,还有实时公交信息.实时路况等等,为我们的生活带来了极大的方便.尤其是疫情期间的行程码,几乎 ...

  6. 【应用】Python利用高德地图经纬度数据绘制定位

    [应用]Python利用高德地图经纬度数据绘制定位 一. 背景 二. 获取API 1. 注册高德开放平台个人开发者 2. 获取key 三. 具体步骤 1. 库的导入 2. 根据地址获取经纬度 3. 绘 ...

  7. 2022-2028全球及中国即时定位与地图构建机器人行业研究及十四五规划分析报告

    [报告篇幅]:103 [报告图表数]:144 [报告出版时间]:2021年12月 报告摘要 2021年全球即时定位与地图构建机器人市场规模大约为22亿元(人民币),预计2028年将达到55亿元,202 ...

  8. 即时定位与地图构建(SLAM)与基于视觉的SLAM(VSLAM)

    即时定位与地图构建(SLAM)的相关研究 即时定位与地图构建(SimultaneousLocalization AndMapping)指的是机器人在自身位置不确定的条件下,在完全未知环境中创建地图,同 ...

  9. SLAM:即时定位与地图构建的入门指南

    什么是SLAM? 即时定位与地图构建(simultaneous localization and mapping,简写成SLAM),用于环境模型(map)的并行构建,以及在其中移动机器人的状态估算.换 ...

最新文章

  1. 数组随机抽取 java_Java利用数组随机抽取幸运观众如何实现
  2. 清华大学python镜像_使用清华开源镜像安装tensorflow
  3. angular6--创建项目
  4. mysql查询重复用户名_mysql取出以上用户名(去除重复),score值最高的所有记录,查出重复记录...
  5. IDEA取消双击Shift全局搜索
  6. python与vb可以互换吗_VB转换为Python:在线把VB代码转为Python
  7. CSR8675烧录工具-全系列CSR8675/86xx一拖多量产工具csr烧录软件(支持FLASH版本和ROM版本)
  8. 华为研发机试题目集合整理
  9. 氨基酸三字母转一个字母
  10. python写的平行四边形_实现一个平行四边形
  11. 面向削峰填谷的电动汽车多目标优化调度策略——附代码
  12. microapp微前端基础使用
  13. centos-基本命令
  14. php实现ckeditor编辑器添加水印及使用误区
  15. 【vue】纯前端登录验证码实现记录
  16. 浅谈互联网DD攻击和CC攻击
  17. 计算机的工作原理及中央处理器
  18. linux少了 dev dm设备,已解决: Linux中安装了powerpath之后为什么还会有dm设备? - Dell Community...
  19. 阿里妹子,17分钟,机智化解一场重大宕机故障!
  20. [译]36 Days of Web Testing(一)

热门文章

  1. 多方安全计算-隐私信息检索(PIR)
  2. 凡人无法打开的文件5
  3. Python 爬虫实战 汽车某家(四) 车型配置
  4. Struts2 下载取消报异常最终解决办法 1.2 版本
  5. 怎么把手机题库的题打印出来
  6. Java面试题整理(带答案)
  7. Anaconda FreeCAD安装
  8. rmd中无法打开链结r_如何用 R 绘制交互式社会网络图?
  9. pandas get_dummies用法及代码示例
  10. python编程输入_Python编程必学的文件输入,处理和输出,小白也可以学会的教程...