<SLAM for Dummies>阅读笔记
来源:互联网 发布:ubuntu重置软件设置 编辑:程序博客网 时间:2024/06/15 02:48
<SLAM for Dummies>阅读笔记
作者:雨水,日期:2016年4月7日 CSDN博客:http://blog.csdn.net/gobitan
摘要:<SLAM for Dummies>是为SLAM初学者写的一份入门性的文档。副标题为:A Tutorial Approach to Simultaneous Localization and Mapping,共计127页,其中前44页为介绍SLAM的概念和基本过程,后面部分都为实现代码。SLAM为Simultaneous Location And Mapping的缩写,"即时定位与地图构建 "。
SLAM是什么
SLAM主要是为解决机器人的自我定位与导航的问题。SLAM问题可以描述为: 机器人在未知环境中从一个未知位置开始移动,在移动过程中根据位置估计和地图进行自身定位,同时在自身定位的基础上建造增量式地图,实现机器人的自主定位和导航。 换句话说,SLAM关注的是机器人在移动的过程中自己绘制周围未知环境的地图,并同时用该地图来为自己导航的问题(原文:SLAM is concerned with the problem of building a map of an unknown environment by a mobile robot while at the same time navigating the environment using the map. )。
SLAM概念最早由Smith, Self 和Cheeseman于1988年提出,由于其重要的理论与应用价值,被很多学者认为是实现真正全自主移动机器人的关键。SLAM不是一个具体的技术或算法,而是一种概念,方法。实现SLAM的方法有很多种,它同时要依赖各种传感器。需要注意的是,SLAM的问题目前并未完全解决,该领域还有大量的研究在进行。
本文呈现的是基于EKF(Extended Kalman Filter)算法的SLAM。
注:EKF,即扩展卡尔曼滤波器. 卡尔曼滤波是一种高效率的递归滤波器(自回归滤波器), 它能够从一系列的不完全包含噪声的测量(英文:measurement)中,估计动态系统的状态。这种滤波方法以它的发明者鲁道夫.E.卡尔曼(Rudolf E. Kalman)命名.卡尔曼最初提出的滤波理论只适用于线性系统,Bucy,Sunahara等人提出并研究了扩展卡尔曼滤波(Extended Kalman Filter,简称EKF),将卡尔曼滤波理论进一步应用到非线性领域。EKF的基本思想是将非线性系统线性化,然后进行卡尔曼滤波,因此EKF是一种次优滤波。
在这篇文档中,作者采用了德国西克公司的SICK激光扫描仪,ER1机器人。编写的代码用的是C#语言和.Net Framework1.1平台。
SLAM由地标提取,数据关联,状态估计,状态更新和地标更新几个部分构成(原文:SLAM consists of multiple parts; Landmark extraction, data association, state estimation, state update and landmark update)。每一个环节都可能有多种解决办法。同时,SLAM既可以应用于2D移动,也可以应用于3D移动。这边文档中只考虑了2D移动。
量测设备
SLAM需要依赖传感器来测量距离,距离量测设备通常有三种可选:
激光(Laser):特点是精度高,效率高,而且输出不需要大量计算(原文:They are very precise, efficient and the output does not require much computation to process)。
声呐(sonar):比激光便宜,但精度要低一些
视觉(vision):就是摄像机,精度较低,而且需要很大的计算量。使用摄像机很像人的眼睛,比较直观,而且精度也在逐步提高。
本文采用的是激光。
SLAM过程
SLAM由很多步进行,目的是用环境来更新机器人的位置。原文:The SLAM process consists of a number of steps. The goal of the process is to use the environment to update the position of the robot. SLAM的过程如下图所示:
由于我的关注方向是基于视觉的SLAM,所以对后面的实现细节就没有深入去看。<SLAM for Dummies>这篇文档我已经上传到CSDN的资源上了,地址http://download.csdn.net/detail/gobitan/9485378。
参考资料:
[1] <SLAM for Dummies>
2 0
- <SLAM for Dummies>阅读笔记
- SLAM for dummies 中文翻译
- SLAM for Dummies:The EKF
- SLAM的傻瓜教程 SLAM for Dummies
- SLAM for Dummies 数据关联中的问题
- ORB-SLAM:文献阅读笔记
- [System Design]Scalability for Dummies学习笔记
- iPhone For Dummies (For Dummies
- PTAMM阅读笔记之SLAM概述(五)
- Web Design For Dummies (For Dummies
- Software Project Management For Dummies (For Dummies
- Google for Dummies
- Photoshop CS2 For Dummies
- C# 2005 For Dummies
- UML 2 for Dummies
- Ajax For Dummies
- UNIX For Dummies
- HTML 4 For Dummies
- 在Mac下使用OpenCV, 在Xcode下使用OpenCV
- Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等 .
- java正则表达式简介
- 编程测试题:有17个人围成一圈(编号0~16),问此人原来的位置是多少号?
- NFS传输速度优化
- <SLAM for Dummies>阅读笔记
- open-falcon开源监控使用
- 根据先序和中序遍历重建二叉树java实现
- C++实现 一个数组实现两个栈
- 数据库sqlite3
- webstorm快捷键
- 操作型模式之State(状态)模式
- 利用Scroller实现防QQ列表侧滑效果
- 文件编程