网页链接地址http://www.slamcn.org/index.php/%E9%A6%96%E9%A1%B5

资料非常丰富,内容如下:

首页

SLAM 介绍

什么是SLAM

SLAM是Simultaneous Localization and Mapping的缩写,意为“同时定位与建图”。它是指运动物体根据传感器的信息,一边计算自身位置,一边构建环境地图的过程。目前,SLAM的应用领域主要有机器人、虚拟现实和增强现实。其用途包括传感器自身的定位,以及后续的路径规划、场景理解。

随着传感器种类和安装方式的不同,SLAM的实现方式和难度会有很大差异。按传感器来分,SLAM主要分为激光、视觉两大类。其中,激光SLAM研究较早,理论和工程均比较成熟。视觉方案目前(2016)尚处于实验室研究阶段,极少看到实际产品应用。

SLAM研究自1988年提出以来,已经过了近三十年。早期SLAM研究侧重于使用滤波器理论,最小化运动体位姿和地图的路标点的噪声。21世纪之后,学者们开始借鉴SfM(Structure from Motion)中的方式,以优化理论为基础求解SLAM问题。这种方式取得了一定的成就,并且在视觉SLAM领域中取得了主导地位。

  • 激光传感器:激光传感器可以直接获得相对于环境的直接距离信息,从而实现直接相对定位,对于激光传感器的绝对定位及轨迹优化可以在相对定位的基础上进行。
  • 视觉传感器:视觉传感器很难直接获得相对于环境的直接距离信息,而必须通过两帧或多帧图像来估计自身的位姿变化,再通过累积位姿变化计算当前位置。这种方法更类似于直接用里程计进行定位,即视觉里程计(Visual Odometry)。里程计的测量积分后才相当于激光传感器直接获得的定位信息,这就是图优化SLAM框架中的前端。而后端对定位和位姿轨迹的优化本质上与激光传感器的优化相同,都基于最优估计的理论框架进行。

SLAM与视觉里程计(Visual Odometry)

人们有时候会混淆SLAM和视觉里程计的概念。应该说,视觉里程计是SLAM的一个模块,其目的在于增量式地估计相机运动。然而,完整的SLAM还包括添加回环检测和全局优化,以获得精确的、全局一致的地图。

视觉里程计通常作为SLAM系统的前端。它增量式的计算方法能估计邻近帧间的相机运动,但这也意味着邻近帧间的误差会影响之后的轨迹估计,意味着它会随着时间推移,产生漂移。同时,视觉里程计也不含有建图模块。一个完整的SLAM系统会关心相机轨迹和地图的全局一致性,但这也意味着需要更多的计算资源来计算全局的优化。在资源有限、不关心全局路径的场合(如无人机的着陆、短时间控制中),可以考虑只使用视觉里程计,而不必使用完整的SLAM。

SLAM和SfM

视觉SLAM中大量使用了SfM中的方法,如特征点跟踪、捆集优化(Bundle Adjustment)等,以至于许多研究者把它们视为同一个研究领域。然而,尽管方法上很相似,SLAM和SfM的侧重点是不同的。SLAM的应用场合主要在机器人和VR/AR,计算资源有限,需要很强的实时性,故侧重点在于,如何在有限的资源里快速地对相机进行定位。而SfM方法通常是离线的,可以调用大量计算资源进行长时间的计算,侧重于重建出更精确、美观的场景。

主流开源SLAM方案

视觉传感器

  • 稀疏法(特征点):
    • ORB-SLAM(单目,双目,RGBD)[1](ORB-SLAM: a Versatile and Accurate Monocular SLAM System中文翻译)[2]
    • PTAM(单目)[3]
    • MonoSLAM(单目)[4]

激光传感器

参考论文 Steux B, Hamzaoui O E, Steux B. CoreSLAM: a SLAM Algorithm in less than 200 lines of C code[J].
  • flirtlib 提取二维激光数据的感兴趣区域,对二维laser数据做特征检测和描述,代码内置若干特征检测算子和特征描述算子,提供样例代码和数据,包含RANSAC Loop Closure 以及完整的mapping过程 [17]
参考论文 Tipaldi G D, Arras K O. FLIRT - Interest regions for 2D range data.[C]// ieee International Conference on Robotics & Automation. 2010:3616-3622.

视觉(Visual)与IMU融合(VI)

  • Release of OKVIS: Open Keyframe-based Visual Inertial SLAM[18]

后端优化工具

常用数据集

入门资料推荐

    • 关于寻路算法的一些思考系列(翻译Amit Patel的博客[24]
      • 关于寻路算法的一些思考(1):A*算法介绍 [25]
      • 关于寻路算法的一些思考(2):Heuristics 函数 [26]
      • 关于寻路算法的一些思考(3):A*算法的实现[27]
      • 关于寻路算法的一些思考(4):A* 算法的变体 [28]
      • 关于寻路算法的一些思考(5):处理移动中的障碍物[29]
      • 关于寻路算法的一些思考(6):预先计算好的路径的所用空间 [30]
      • 关于寻路算法的一些思考(7):地图表示 [31]
      • 关于寻路算法的一些思考(8):长期和短期目标 [32]
      • 关于寻路算法的一些思考(9):寻路者的移动成本 [33]
      • 关于寻路算法的一些思考(10):最短路径的用户体验 [34]
      • 关于寻路算法的一些思考(11):寻路算法的其他应用 [35]
      • 关于寻路算法的一些思考(12):AI 技术 [36]

泡泡机器人

微信搜索“泡泡机器人SLAM”微信公众号,或者扫描下面二维码:

  • 公开课程b站主页:[37]

相关博客推荐

  • Tombone's Computer Vision Blog, MIT博士后, CMU博士, vision.ai创始人: [81]
  • Alexander Grau's blog, 德国的一个技术发烧友, 博客里有很多关于机器人, SLAM, 传感器等技术方面的个人记录: [82]
  • 李建的个人博客: [83]
  • 刘富强的个人博客: [84] [85]

机器人常用传感器

机器人领域优秀实验室及牛人汇总

Deep Learning for SLAM

近年来Deep Learning的大潮比较火,有很多同学希望了解关于SLAM与Deep Learning结合的工作方向。在这里给出一些比较有参考性的资源,希望对大家有所帮助。

PS友情提示: SLAM可以算作一个系统问题,中间有很多子问题,分别需要不同的算法解决。 Deep Learning是一个用于解决问题的其中一种算法,如果我们不是希望从事机器学习算法研究的话,没有必要较真于是否使用Deep Learning, 而更应该关注怎样做能更好地解决我们面对的问题。

Augmented Reality for SLAM

增强现实是SLAM的一个重要应用,需要高精度的相机姿态和所感知的环境地图。 虚拟现实可以通过SLAM辅助IMU高效获取头盔姿态并刷新。 混合现实与增强现实原理相同。

问题与答复

MediaWiki 相关

请查阅用户指南以获取使用本wiki软件的信息!

  • 本页面最后修改于2016年8月20日 (星期六) 12:27。

SLAMCN资料收藏转载的更多相关文章

  1. [收藏转载链接]Opencv部分

    转载自-柳如风-http://www.cnblogs.com/rongfangliu/p/opencvlink.html [收藏夹整理]OpenCV部分   OpenCV中文论坛 OpenCV论坛 o ...

  2. 机器学习&深度学习资料(转载)

    转自 飞鸟各投林 <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboo ...

  3. Informatica - Powercenter 英文版资料(转载)

    Informatica - Powercenter 英文版资料 http://gerardnico.com/wiki/powercenter/powercenter

  4. stm单片机之STM32F4-Discovery资料汇总 (转载自http://blog.163.com/thinki_cao/blog/static/83944875201362493134992/)

    STM32F4的资料大部分都在这里: http://www.stmcu.org/download/index.php?act=ziliao&id=150 根据个人的理解对这些资料作了一些规律, ...

  5. http连接优化与浏览器允许的并发请求资源数相关资料(整理转载)

    网页性能优化相关资料: https://developer.yahoo.com/performance/rules.html#page-nav 前端技术的逐渐成熟,还衍生了domain hash, c ...

  6. Hadoop经典书籍资料收藏(35本)转

    原文地址:http://www.hadoopor.com/thread-5128-1-2.html 1."Hadoop.Operations.pdf.zip" http://vdi ...

  7. 09年OA系统集成商资料(转载)

    [转载]哪个OA比较好,18家常见OA系统全方位大阅兵 原文地址:http://ec.zdnet.com.cn/managesoft/2009/1104/1503211.shtml 凡是比较或者评测的 ...

  8. “RESTful架构”相关资料收藏

    [阮一峰]理解RESTful架构 [InfoQ]深入浅出REST 用于构建 RESTful Web 服务的多层架构 REST会是SOA的未来吗? Restful 与 SOA 的关系? 回答1: 注意r ...

  9. C语言学习资料(转载)

    ◆经典C源程序100例:http://post.baidu.com/f?kz=8618367 ◆时钟的驻留程序:http://post.baidu.com/f?kz=10822377 ◆数据结构暨若干 ...

随机推荐

  1. 列表(list)之一定义 添加 删除 排序 反转 索引等其他操作

    1.定义: 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可,序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. # 列表list1=[&q ...

  2. 【django之Ajax】

    一.Ajax的简介 1.定义 AJAX(Asynchronous Javascript And XML)翻译成中文就是"异步Javascript和XML",是一种创建交互式网页应用 ...

  3. ASwipeLayout一个强大的侧滑菜单控件

    Android中侧滑的场景有很大,大部分是基于RecyclerView,但是有些时候你可以动态地addView到一个布局当中,也希望它实现侧滑,所以就产生了ASwipeLayout,该控件不仅支持在R ...

  4. ●BZOJ 2500 幸福的道路

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=2500 题解: DFS,单调队列 首先有一个结论,距离树上某一个点最远的点一定是树的直径的一个 ...

  5. python 用codecs实现数据的读取

    import numpy as np import codecs f=codecs.open('testsklearn.txt','r','utf-8').readlines() print(f) d ...

  6. Linux之grep命令

    概述 所有的类linux系统都会提供一个名为grep(global regular expression print,全局正则表达式输出)的搜索工具.grep命令在对一个或多个文件的内容进行基于模式的 ...

  7. Python中byte与str

    原文传送门:请点击 现在计算机中,在内存中采用unicode编码方式. 可以看到上图中,字节型数据t并没有像想象中的一样显示0,1字符串.显示仍然是b,这是因为t是采用utf-8来编码,而utf-8与 ...

  8. h5的input的required使用中遇到的问题

    form提交时隐藏input发生的错误 问题描述 在form表单提交的时候,有些input标签被隐藏,表单验证过程中会出现An invalid form control with name='' is ...

  9. CSS中的ul与li样式详解 list-type

    转自新浪博客http://blog.sina.com.cn/u/2539885750 ul和li列表是使用CSS布局页面时常用的元素.在CSS中,有专门控制列表表现的属性,常用的有list-style ...

  10. 设计模式:HelloWorld之策略模式

    一.概述 策略模式 定义了算法族,分别封装起来,让他们可以互相替换,此模式让算法的变化独立于使用算法的客户. 策略模式的三要素: 抽象策略角色: 策略类,通常由一个接口或者抽象类实现. 具体策略角色: ...