SLAM (simultaneous localization and mapping),也称为CML (Concurrent Mapping and Localization), 即时定位与地图构建,或并发建图与定位。 SLAM最早由Smith、Self和Cheeseman于1988年提出。

  SLAM问题可以描述为: 机器人在未知环境中从一个未知位置开始移动,在移动过程中根据位置估计和地图进行自身定位,同时在自身定位的基础上建造增量式地图,实现机器人的自主定位和导航。

 

Visual SLAM(视觉SLAM)

Cameras are employed as the only exteroceptive sensor. It is called visual SLAM.

In the last 10years, published articles reflect a clear tendency for using vision as the only external sensorial perception system to solve the problem of SLAM (Paz et al. 2008; Davison et al. 2007; Klein and Murray 2007; Sáez and Escolano 2006; Piniés and Tardós 2008).

The main reason for this tendency is attributed to the capability for a system based on cameras to obtain range information, and also retrieving the environment’s appearance, color and texture, giving a robot the possibility of integrating other high-level tasks like detection and
recognition of people and places. Furthermore, cameras are less expensive, lighter and have lower power consumption.

Unfortunately, there might be errors in the data due to the following reasons: insufficient camera resolution, lighting changes, surfaces with lack of texture, blurred images due to fast movements, among other factors.

Visual odometry视觉里程计
In robotics and computer vision, visual odometry is the process of determining the position and orientation of a robot by analyzing the associated camera images. It has been used in a wide variety of robotic applications, such as on the Mars Exploration Rovers.
 

Bundle Adjustment 光束法平差

Given a set of images depicting a number of 3D points from different viewpoints, bundle adjustment can be defined as the problem of simultaneously refining the 3D coordinates describing the scene geometry as well as the parameters of the relative motion and the optical characteristics of the camera(s) employed to acquire the images, according to an optimality criterion involving the corresponding image projections of all points.

 

粒子滤波就是指:通过寻找一组在状态空间中传播的随机样本来近似的表示概率密度函数,用样本均值代替积分运算,进而获得系统状态的最小方差估计的过程,这些样本被形象的称为“粒子”,故而叫粒子滤波。《粒子滤波原理及其应用》胡士强  ISBN 9787030283702

机器人“绑架”指的是机器人在运动过程中发生了滑动,机器人本身并不知道此情况的发生。

数据关联(Data Association),也被称为一致性问题(Correspondence Problem)是SLAM面临的挑战之一。数据关联是指建立在不同时间、不同地点获得的传感器测量之间、传感器测量与地图特征之间或者地图特征之间的对应关系,以确定它们是否源于环境中同一物理实体的过程。数据关联的正确与否对于SLAM问题中的状态估计至关重要。

扫描匹配    在栅格地图的建立过程中主要是应用范围传感器(例如超声阵列、激光雷达等),传感器的一次测量称为一次扫描(Scan)。扫描点之间一般不存在直接的对应关系,所以此时的数据关联需要确定两幅或者多幅扫描中源于相同物理实体的区域,从而确定获得各个传感器扫描时刻机器人定位间的相对位置关系。这类数据关联问题一般称为扫描匹配问题(Scan Matching)。

根据SLAM 问题中环境地图的类型,可以将SLAM 算法分为

  • 基于特征地图的SLAM 算法(Feature-based SLAM )
  • 基于栅格地图的SLAM 算法(Grid-based SLAM)
  • 基于拓扑- 栅格地图SLAM 算法(Topological-Metric SLAM )
  • 基于密度地图的SLAM 算法(Dense SLAM)

根据SLAM 问题中模型的描述不同,可以将SLAM 算法分为:

1 基于状态空间描述的一类算法,如扩展卡尔曼滤波(Extended Kalman Filter,EKF )、压缩扩展卡尔曼滤波(Compressed Extended Kalman Filter, CEKF )等

2 基于样本集描述的一类算法,如Rao-Blackwellized  粒子滤波 SLAM,快速SLAM(FastSLAM)、DP-SLAM等

3 基于信息空间描述的一类算法,如扩展信息滤波(Extended Information Filter, EIF)、稀疏连接-树滤波(Thin Junction-Tree Filter, TJTF)等

4 基于差异描述的一类算法,如扫描匹配(Scan Matching)

SLAM学习笔记(1)基本概念的更多相关文章

  1. ROS_RGB-D SLAM学习笔记--室内环境测试

    ROS_RGB-D SLAM学习笔记 RTAB-Map's ros-pkg. RTAB-Map is a RGB-D SLAM approach with real-time constraints. ...

  2. JavaScript:学习笔记(2)——基本概念与数据类型

    JavaScript:学习笔记(2)——基本概念与数据类型 语法 1.区分大小写.Test 和 test 是完全不同的两个变量. 2.语句最好以分号结束,也就是说不以分号结束也可以. 变量 1.JS的 ...

  3. es6学习笔记-class之一概念

    前段时间复习了面向对象这一部分,其中提到在es6之前,Javasript是没有类的概念的,只从es6之后出现了类的概念和继承.于是乎,花时间学习一下class. 简介 JavaScript 语言中,生 ...

  4. Docker:学习笔记(1)——基础概念

    Docker:学习笔记(1)——基础概念 Docker是什么 软件开发后,我们需要在测试电脑.客户电脑.服务器安装运行,用户计算机的环境各不相同,所以需要进行各自的环境配置,耗时耗力.为了解决这个问题 ...

  5. OpenFlow Switch学习笔记(一)——基础概念

    OpenFlow Switch v1.4.0规范是在2013年10月14号发布,规范涵盖了OpenFlow Switch各个组件的功能定义.Controller与Switch之间的通信协议Open F ...

  6. SLAM学习笔记

    ORB_SLAM2源码: 获得旋转矩阵,来自这里:http://www.cnblogs.com/shang-slam/p/6406584.html 关于Covisibility图来自:http://b ...

  7. (1)《Head First HTML与CSS》学习笔记---HTML基本概念

    前言: 1.     这本书并没有面面俱到,涵盖所有内容,只提供作为初学者真正需要的东西:基本知识和信心.所以这不是唯一的参考书.(我买了一本<HTML5权威指南>作为参考书和这本一起看, ...

  8. 自然语言处理NLP学习笔记一:概念与模型初探

    前言 先来看一些demo,来一些直观的了解. 自然语言处理: 可以做中文分词,词性分析,文本摘要等,为后面的知识图谱做准备. http://xiaosi.trs.cn/demo/rs/demo 知识图 ...

  9. Elasticserach学习笔记-01基础概念

    本文系本人根据官方文档的翻译,能力有限.水平一般,如果对想学习Elasticsearch的朋友有帮助,将是本人的莫大荣幸. 原文出处:https://www.elastic.co/guide/en/e ...

随机推荐

  1. Mongodb 创建索引

    db.getCollection('ct_project').ensureIndex({'pro_code':1})  创建索引 db.getCollection('ct_project').ensu ...

  2. RESTful和JAX-RS

    一.简介 Java Web有很多成熟的框架,主要可以分为两类Web Application和Web Services.用于Web Application的框架包括官方的Servlet/JSP, JST ...

  3. 《Pro Git》笔记1:起步

    第一章 起步 1.关于版本控制 版本控制用于记录和追踪目录结构和文件内容变化,能够追溯过去的任何修改和变化,并恢复到任何历史状态. 版本控制系统可以按照发展过程分成以下几类: 目录备份.记录版本变化最 ...

  4. [ZZ] 景深效果(Depth of Field) , Pass1 将场景渲染到一个RenderTarget,做为清晰版, Pass2: BluredRT , Pass3: WDepth = Depth / Far_Z_Clip

    http://blog.csdn.net/xoyojank/article/details/1883520   什么是景深效果? 景深效果,简称DOF,在人眼跟光学摄像设备上很常见.如下图: 简单地来 ...

  5. FAQ软件卸载

    今天安装了一个PDF 编辑软件pdftk,下载时提示有50多M,感觉不好用,卸载后提示释放空间只有2M,郁闷了.上网查寻,如下命令 sudo dpkg -p package_name卸载软件包及其配置 ...

  6. Shared libraries

    Computer Systems A Programmer's Perspective Second Edition Shared libraries are modern innovations t ...

  7. Machine Learning in Action – PCA和SVD

    降维技术, 首先举的例子觉得很好,因为不知不觉中天天都在做着降维的工作 对于显示器显示一个图片是通过像素点0,1,比如对于分辨率1024×768的显示器,就需要1024×768个像素点的0,1来表示, ...

  8. php面向对象之__toString()

    似曾相识,在php面向对象编程之魔术方法__set,曾经介绍了什么是魔术方法,这一章又介绍一个魔术方法__tostring(). __toString()是快速获取对象的字符串信息的便捷方式,似乎魔术 ...

  9. nodejs 执行shell 命令

    有需要从前端操作服务器执行shell命令的需求 建立一个process.js文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 var process =  ...

  10. linux 查看系统状态方法

    Linux下如何查看系统启动时间和运行时间 1.uptime命令输出:16:11:40 up 59 days, 4:21, 2 users, load average: 0.00, 0.01, 0.0 ...