网页链接地址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. 网络流入门-POJ1459PowerNetwork-Dinic模板

    (我有什么错误或者你有什么意见,欢迎留言或私聊!谢谢!) (Ps:以前听说过网络流,想着以后再学,这次中南多校赛也碰到有关网络流的题目,想着这两天试着学学这个吧~~ 这是本人网络流入门第二题,不知道怎 ...

  2. linux 基本使用命令

    arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI ...

  3. vue中自定义组件(插件)

    vue中自定义组件(插件) 原创 2017年01月04日 22:46:43 标签: 插件 在vue项目中,可以自定义组件像vue-resource一样使用Vue.use()方法来使用,具体实现方法: ...

  4. 线程基础(CLR via C#)

    1.线程基础  1.1.线程职责  线程的职责是对CPU进行虚拟化.Windows 为每个进程豆提供了该进程专用的线程(功能相当于一个CPU).应用程序的代码进入死循环,于那个代码关联的进程会&quo ...

  5. 洛谷P3168 [CQOI2015]任务查询系统

    #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> #in ...

  6. codeforces round #405 B. Bear and Friendship Condition

    B. Bear and Friendship Condition time limit per test 1 second memory limit per test 256 megabytes in ...

  7. bzoj 4448: [Scoi2015]情报传递

    Description 奈特公司是一个巨大的情报公司,它有着庞大的情报网络.情报网络中共有n名情报员.每名情报员口J-能有 若T名(可能没有)下线,除1名大头日外其余n-1名情报员有且仅有1名上线.奈 ...

  8. AR8033 1000M模式下ping包丢包率过大分析与解决

    1 现象 近期对一款基于QCA方案.有线Phy为AR8033.WiFi双频且支持iEEE802.11AC的WLAN产品进行了深度验证,发现有线口同部分PC机直连时,WiFi终端ping 该PC机时总是 ...

  9. java 实现WebService

    1.xml    2.    wsdl: webservice description language web服务描述语言        通过xml格式说明调用的地址方法如何调用,可以看错webse ...

  10. 分区工具PQ

    http://www.disktool.cn/jiaocheng/resize-partition.html