SLAM算法分为三类:Kalman滤波、概率滤波、图优化

Kalman滤波方法包括EKF、EIF;概率滤波包括RBPF,FastSLAM是RBPF滤波器最为成功的实例, 也是应用最为广泛的SLAM方法;

SLAM分为Full SLAM和Online SLAM

常见的二维激光SLAM算法

1、GMapping is a highly efficient Rao-Blackwellized particle filer to learn grid maps from laser range data.

2、Tinyslam又称CoreSLAM
The advantage of DP-SLAM over CoreSLAM is thus the thoretical ability not to be lost in long corridors, and this
is the goal indeed of the map-per-particle concept - not the loop closing which can’t be achieved in DP-SLAM without an external process. As a matter of
fact, we decided that this advantage didn’t worth the complexity - especially as we could rely on a good odometry on our platform and given that our goal was to close rather small loops (exploring laboratories instead of corridors...).
As the idea of CoreSLAM was to integrate laser information in our localization subsystem based on particle filter.
 
3、DPSLAM works by maintaining a joint distribution over robot poses and maps via a particle filter. The algorithm associates a map to each particle, and focuses on the problem of sharing parts of maps among particles in order to minimize memory (and time through map copy). The problem with DP-SLAM is that it is rather complex to integrate into an existing particle filter based localization susbystem
 
4、Hector-SLAM
 
5、Karto-SLAM

http://www.zhihu.com/question/35116055/answer/62001013

http://blog.csdn.net/dourenyin/article/details/48055441

视觉SLAM算法

1、orbslam 是14-15年被一个西班牙博士做的,目前还在做,最近又发了新文章:Probabilistic Semi-Dense Mapping from Highly Accurate Feature-Based Monocular SLAM。
orbslam可以看做是PTAM的一个延伸。ptam想必做visual slam 的都知道,它是第一个将tracking和mapping分成两个线程实现的实时slam系统,07年出来的时候很惊艳。几乎成立后来feature-based slam方法的标准。orbslam 算是这个思路的延伸,于ptam相比它又加了一个loopclosing的线程。这个系统基于ptam,个人感觉效果也更好一些(毕竟ptam相对较老),整合了covisible graph,基于bagofwords 做relocalization等技术。

常见的一些开源代码(高博整理):[转载]
* rtabslam https://github.com/introlab/rtabmap_ros#rtabmap_ros
* ORB-slam https://github.com/raulmur/ORB_SLAM
* rgbd-slam-v2 https://github.com/felixendres/rgbdslam_v2
* lsd-slam https://github.com/tum-vision/lsd_slam
* dvo-slam https://github.com/tum-vision/dvo_slam
* hector-slam https://github.com/tu-darmstadt-ros-pkg/hector_slam
* svo https://github.com/uzh-rpg/rpg_svo

SLAM研究体系分类

SLAM学习笔记(2)SLAM算法的更多相关文章

  1. SLAM学习笔记 - 视觉SLAM方法资源汇总

    工具类: ros框架 linux系列教程     vim Eigen     Eigen快速入门 Pangolin  Pangolin安装与使用 数据集: TUM         数据格式 提供pyt ...

  2. 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. ...

  3. GMM高斯混合模型学习笔记(EM算法求解)

    提出混合模型主要是为了能更好地近似一些较复杂的样本分布,通过不断添加component个数,能够随意地逼近不论什么连续的概率分布.所以我们觉得不论什么样本分布都能够用混合模型来建模.由于高斯函数具有一 ...

  4. 强化学习-学习笔记7 | Sarsa算法原理与推导

    Sarsa算法 是 TD算法的一种,之前没有严谨推导过 TD 算法,这一篇就来从数学的角度推导一下 Sarsa 算法.注意,这部分属于 TD算法的延申. 7. Sarsa算法 7.1 推导 TD ta ...

  5. 【学习笔记】 Adaboost算法

    前言 之前的学习中也有好几次尝试过学习该算法,但是都无功而返,不仅仅是因为该算法各大博主.大牛的描述都比较晦涩难懂,同时我自己学习过程中也心浮气躁,不能专心. 现如今决定一口气肝到底,这样我明天就可以 ...

  6. SLAM学习笔记(1)基本概念

    SLAM (simultaneous localization and mapping),也称为CML (Concurrent Mapping and Localization), 即时定位与地图构建 ...

  7. SLAM学习笔记

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

  8. SLAM学习笔记 - ORB_SLAM2源码运行及分析

    参考资料: DBow2的理解 单目跑TUM数据集的运行和函数调用过程 跑数据集不需要ros和相机标定,进入ORB_SLAM目录,执行以下命令: ./Examples/Monocluar/mono_tu ...

  9. SLAM学习笔记(3)相关概念

    SIFT,即尺度不变特征变换(Scale-invariant feature transform,SIFT),是用于图像处理领域的一种描述子.这种描述具有尺度不变性,可在图像中检测出关键点,是一种局部 ...

随机推荐

  1. DS实验题 击鼓传花

    题目: 代码1(数组实现): // // main.cpp // DS-击鼓传花 // // Created by wasdns on 16/11/9. // Copyright © 2016年 wa ...

  2. sql语句什么时候用双引号或者单引号

    INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN ); 如果数据是字符型,必须 ...

  3. VSS 访问问题

    局域网同一网段的2台电脑,防火墙都是关闭的 A能ping通B 但A在运行输入B的IP地址 不能访问 求解答 1.确认输入的地址格式没有写错,例如B的IP地址为:192.168.1.20.那么在A电脑的 ...

  4. mysql-insert-返回主键id

    function gen_this_insert_id($insert) { GLOBAL $link; $insert .= ' SELECT LAST_INSERT_ID();'; if (mys ...

  5. Java反射机制深入研究

    ava 反射是Java语言的一个很重要的特征,它使得Java具体了“动态性”.   在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法? ...

  6. JQuery..bind命名空间

    先看手册,由于bind方法有三个参数(type,[data],fn),所以手册上这么介绍: .bind() 方法是用于往文档上附加行为的主要方式.所有JavaScript事件对象, 比如focus, ...

  7. 如何在外网中访问自己在另一个局域网中的某个机器(SSH为例)

    UBUNTU 14.04 LTS 为例 如何在外网中访问自己在另一个局域网中的某个机器(SSH为例) 2013-05-01 16:02 2693人阅读 评论(0) 收藏 举报 情景描述: 计算机C1放 ...

  8. css文件内引用外部资源文件的相对路径

    1.default.css文件内容(位于css文件夹下): .ClassName .ClassName .ClassName .page-sidebar .sidebar-search .submit ...

  9. 答CsdnBlogger问-关于职业发展和团队管理问题

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 问1:关于职业发展以及团队管理?(正能同學_) 请问在二线城市的小公司里,普通Android开发者的 ...

  10. QTextCodec::makeDecoder函数,plugins需要是动态链接库

    QT中的QString内容使用Unicode作为文本编码.但是实际系统中通常采用的是其他编码,例如GBK,utf8等.为了便于兼容这些格式,QT中还设置了两个字符串类型: QCString类: C类型 ...