学习材料1:

《概率机器人学》 谷歌无人驾驶之父 Sebastian Thrun等人著作。

注释: 可能是本人智商有限,或者是移动机器人学领域的基础知识了解不多。 刚刚看这本书的时候,尤其吃力,胡乱翻了几页,根本看不进去,看的目光呆滞,食欲不振。

如果,同样遇到类似的情况,无法耐心静心全身心的从头到尾看完,那说明可能是因为 先验知识的不足,参考学习材料3:

学习方法建议: 假设学习这本书的读者,已经在Ubuntu OS中安装 ROS ,至少跑过 gmapping 或 cartographer等 基于激光雷达传感器的 SLAM建图软件。看到了效果,感性上大概知道怎么回事。然后想深入学习理论。

直接去啃英文论文当然是途径之一,但是如果没有先验知识支撑的话,估计也看不懂; 直接去读代码的话,如果不是代码小高手结合了解一点先验知识,估计还是看不懂。以上所有,大牛大神高手除外。

中文版的书:建议提前搞清楚,移动机器人导航的三个问题:建图、定位、slam(同时实现前两者) 以及路径规划等了解一下。

然后,头脑里记住一个概念,粒子滤波。贯穿 定位、建图 slam。

然后,看书的第一、二章,先把贝叶斯滤波以及概率方面的基础了解一下。搞清楚那个 预测 prediction 步骤 (运动模型 u ,用里程计);更新 correction/ updating/ innovation 步骤(观测模型引入,z,激光雷达)  的递归实现。

然后,别看卡尔曼滤波或者无迹卡尔曼滤波那些,方法以及过时了,而且深奥(没有相关先验知识的初学者而言),直接看第四章的信息滤波中的 粒子滤波,知道大概咋回事。

然后,看第五章的里程计运动模型,耐心的看一下闭式计算 和 采样计算的几个数学公式。(速度运动模型,是用于机器人未动之前 的概率运动规划用的)(里程计运动模型是用于预测机器人下一时刻位姿用的。slam和定位中用的多)

然后,看第六章机器人感知(也就是观测模型),整个内容都值得看看。

插播一下:第五章的 运动模型,就是用于滤波方法的 预测阶段; 第六章的感知模型或者观测模型,就是用于滤波方法的 更新阶段。至于是一个公式或者概率表达式,还是一堆粒子表示概率分布啥的,不重要,重要的先理解其 递归的精髓。

假如不知道什么是递归( 去看看 计算机专业的 核心专业课之一 《数据结构》或者 算法类似的书都有介绍)

然后,过滤掉第七章的 马尔可夫与高斯定位,先不要看,不要看,不要看; 直接看 第8章的 栅格与蒙特卡洛定位,重点是 MCL定位,以及其 各种改进版本, 合在一起是 AMCL。  (粒子滤波定位部分)

然后,看地图构建部分,占用栅格地图的构建    (构建地图部分)

然后,SLAM部分,过滤掉10-12章,直接看 第13章的 FastSLAM算法。大概看一下,有个概念和印象。

最后,去看一下 gmapping论文,以及它参考的 Raw Blackwellizaed啥的论文。

完事!

如果,这一遍下来,感觉不明显,那么就循环来个三五遍,绝对有所收获。 等真正有所感悟和认知的时候,可以把 这本天书的其他章节瞅一眼看看。

补充: 网上有很多说,别看滤波的SLAM,直接看图优化的SLAM,比如说 cartographer,  这个感觉有点太绝对了,毕竟,玩移动机器人的孩子们,不能吊死在 slam 这个技术上, 这些slam 也就机器人使用时 建个初始地图而已, 后期不还是定位、导航、路径规划,以及更高级的应用需求么。

学习材料2:

注释:如果以上天书,特别是中文翻译版 看的比较吃力的话,可以直接看英文版如下资料。

(中文版吃力的原因: 可能是英文原版翻译过程中很多不地道 或者错误部分。最简单的就是粒子滤波定位中的地图m,原版是加粗的,中文版小写,更奇葩的是循环变量居然也用m,,,而且中文版翻译有不少漏译或者错译,变量符号弄错的地方)

德国弗雷堡大学的  Cyrill Stachniss 和 Wolfram Burgard 两位教授,大咖的总结材料。

(前者是大名鼎鼎的 gmapping的作者之一; 后者也是激光slam和定位方面的大佬,和Sebastian Thrun (谷歌无人驾驶之父)合作的惊世骇俗的《概率机器人学》著作)

Particle Filters for Robot Navigation

该电子版材料,详细地讲述了 粒子滤波从贝叶斯滤波开始的推导。粒子滤波在定位、建图、SLAM以及主动探测中的有应用。(相当于把《概率机器人学》中关于粒子滤波的很多内容,单独提取出来,整理成系统的内容,比较值得一看)

注释:以上讲解的粒子滤波在机器人的slam用法中,都是指的是激光雷达传感器。 视觉slam又是另外一回事了。
这么好的东西,不敢独享,只要5个积分(因为有时候我去下载别人的资料也要积分,所以请包涵没有设置免费 ):
https://download.csdn.net/download/GGY1102/16299627
解压密码:123456
为了避开CSDN的审核,里面加了一些附加硕士论文。 此外,还有一本介绍机器人导航控制方面的电子书。

学习材料3:

如果是对移动机器人领域了解太少的小白,可以参考这本书《自主移动机器人导论》,很经典的一本入门介绍书,涵盖 移动机器人的机械结构、定位、建图、slam、路径规划等多方向内容的介绍。

注释: 看完之后就知道 移动机器人领域该干啥了, 和传统的工业机械臂等 还是有很大的区别的。移动机器人中有路径规划,path planning; 工业机械臂的叫 运动规划 motion planning。

对于想做移动机器人 定位、建图、SLAM(声呐、激光等测距传感器的SLAM)方面的学习值得参考;很经典的书籍; 英文和中文版都有了 第二版;  部分内容和《概率机器人》有点交集,可以结合着一起看。:

下载链接:https://download.csdn.net/download/GGY1102/13255974

机器人学习--粒子滤波SLAM/MCL定位参考资料+学习经验相关推荐

  1. 机器人学习--粒子滤波及其在定位中的应用

    前提基础,先看一下 贝叶斯滤波  和 蒙特卡洛方法 一.什么是粒子滤波? 这里有个基于粒子滤波的物体跟踪 案例说明: 参考:基于粒子滤波的物体跟踪 - yangyangcv - 博客园 如果还是看不懂 ...

  2. rbpf粒子滤波slam matlab程序_学习笔记(优达学城)- 车辆定位之粒子滤波器(整合版)...

    1.代码传送门 首先,一如既往的,打开传送门! Fred159/CarND-Kidnapped-Vehicle-Project​github.com 代码, 很重要,但更重要的是从代码的行与行之间探索 ...

  3. 机器人学习--粒子滤波/MCL定位的理论基础(先验知识)

    跨学科(未学过数理统计和滤波等课程)的研究人员看懂粒子滤波或MCL定位的理论 2019年剑桥大学一名教授 Simon Godsill 发表了一篇论文: Godsill S. Particle filt ...

  4. 机器人学习--粒子滤波定位-MATLAB仿真1

    坐标系下,给定几个路标 landmarks,机器人行走路线是一个圆,60秒的行走时间,每秒更新一次结果,MATLAB仿真运动更新过程,以及结果的误差图显示. 代码: function [] = par ...

  5. 粒子滤波和蒙特卡洛定位

    算法主要过程如下: 1.根据观测更新粒子权重 2.根据权重resample,也就是根据权重更新所有粒子位置,并使得所有粒子权重恢复到一样. 3.利用一个模型让所有粒子随着robot的移动而移动. 无公 ...

  6. 【目标定位】基于matlab粒子滤波的定位算法【含Matlab源码 2161期】

    一.基于粒子滤波污染源定位简介 粒子滤波定位算法是目前最精准定位可移动物体的位置,由于水域的流动,工业固体废物污染源很可能随着水流移动位置,基于粒子滤波算法将污染物定位分为预测.测量以及重新采样可大大 ...

  7. 粒子滤波到底是怎么得到的?

    一.前言 粒子滤波(particle filter)是一种常见的滤波算法,广泛应用于目标跟踪.移动机器人等领域.网络上有不少关于粒子滤波的资料,但大多是直接给出了粒子滤波的相关公式和证明,或较为直观上 ...

  8. 机器人学习--网友资料系列 激光SLAM建图、粒子滤波定位和位姿图优化

    一.移动机器人自主导航的前提是在未知环境中先构建地图 (目前市内很多用的2D激光雷达,构建栅格地图,相当于立体空间中的某个水平面高度的切面) 一般用的是2D 激光SLAM算法 构建概率栅格占用地图: ...

  9. 粒子滤波用于机器人定位

    粒子滤波用于机器人定位 0.引言 1.里程计 1.1.里程计模型 1.2.里程计运动模型 2.二维激光雷达的观测模型 2.1.光束模型 2.2.似然场模型 3.重采样 4.滤波结果 5.数据集 0.引 ...

最新文章

  1. 小程序多个echars_微信小程序中使用echarts以及踩坑总结
  2. 大数据小项目之电视收视率企业项目04--完全分布式搭建
  3. Kotlin-如何创建一个好用的协程作用域
  4. 前端学习(2602):什么是跨域请求和跨域请求数据数据的表现
  5. webservice 原理
  6. c++ amp vs2017 报错_opencv4教程-1 opencv的安装与调试Windows10+vs2017
  7. linux /proc文件系统(1)
  8. 如何更改 macOS Monterey 和 iPadOS 15 中的 Safari 选项卡外观?
  9. android mac 调试,Mac下使用Android studio真机调试
  10. 网络篇 使用Visio来画网络拓扑图01
  11. Excel·VBA自定义函数扩展VLOOKUP
  12. 自考计算机00051笔记,自考00051 管理系统中计算机应用自考笔记自考小抄.doc
  13. skiplist及Java实现
  14. PS暂存盘已满怎么办
  15. 介绍一个直接浏览微软知识库文章的工具
  16. 掌上聊app v1.5.5
  17. 使用SSH服务管理远程主机(RHEL8)
  18. oracle判断日期为月末,ORACLE查询月初和月底时间
  19. 赛门铁克未署名诺顿安全更新 防火墙警报引混乱
  20. C盘扩容,不需要相邻盘清空

热门文章

  1. 【学习笔记】OI模板整理
  2. 【做题记录】AtCoder AGC做题记录
  3. python语言程序设计编程题_《python语言程序设计》_第一章编程题
  4. idea shell 中的函数 跳转_PHP如何为函数执行设置超时?
  5. java类验证和装载顺序_java类加载机制,你会了吗?
  6. 第一章 编程基础知识
  7. XHProf报告字段含义
  8. android activity生命周期的一张经典图片
  9. C语言与sqlserver数据库
  10. 鸡肋工具-Oracle建表工具