网页链接地址: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. myeclipse自动添加注释

    开发需要,新建类的时候,需要加自己的名字,每次都要自己写,嫌麻烦,修改一下myeclipse配置文件即可 打开window---preferences 选中 new Java files 点击edit ...

  2. [LeetCode] Closest Leaf in a Binary Tree 二叉树中最近的叶结点

    Given a binary tree where every node has a unique value, and a target key k, find the value of the n ...

  3. [LeetCode] Diameter of Binary Tree 二叉树的直径

    Given a binary tree, you need to compute the length of the diameter of the tree. The diameter of a b ...

  4. Python网络爬虫笔记(五):下载、分析京东P20销售数据

    (一)  分析网页 下载下面这个链接的销售数据 https://item.jd.com/6733026.html#comment 1.      翻页的时候,谷歌F12的Network页签可以看到下面 ...

  5. boot.img格式文件拆解实例结构解析

    以msm8226为例,讲解android源码编译生成boot.img的结构.boot.img包括boot.img header.kernel以及ramdisk文件系统.下面是对boot.img的结构进 ...

  6. .Net Core小技巧 - 使用Swagger上传文件

    前言 随着前后端分离开发模式的普及,后端人员更多是编写服务端API接口.调用接口实现文件上传是一个常见的功能,同时也需要一个选择文件上传的界面,可以编写前端界面上传,可以使用Postman.curl来 ...

  7. Office 365 应用开发的 .NET Core 模板库

    概述 前不久我写过一篇文章拥抱开源,Office 365开发迎来新时代,给大家介绍了Office 365开发的典型场景是如何支持开源平台的:Office 365通过Microsoft Graph,以R ...

  8. SAC E#1 - 一道中档题 Factorial

    题目背景 SOL君(炉石主播)和SOL菌(完美信息教室讲师)是好朋友. 题目描述 SOL君很喜欢阶乘.而SOL菌很喜欢研究进制. 这一天,SOL君跟SOL菌炫技,随口算出了n的阶乘. SOL菌表示不服 ...

  9. HDU 4787 GRE Words Revenge

    Description Now Coach Pang is preparing for the Graduate Record Examinations as George did in 2011. ...

  10. SQL Server 连接 MySQL

    1.在SQL SERVER服务器上安装MYSQL ODBC驱动; 驱动下载地址:http://dev.mysql.com/downloads/connector/odbc/ 2.安装好后,在管理工具- ...