终于完成了Robotic SLAM 所有的内容了。说实话,课程的内容比较一般,但是作业还是挺有挑战性的。最后一章的内容是 Location. Location 是 Mapping 的逆过程。在给定map的情况下,需要求取机器人的位姿。

1、Location 的意义

  在机器人导航任务中,location 可以告诉机器人目前位置,以方便闭环控制或者轨迹规划。一般情况下,Location 可以通过GPS,WIFI 等方式完成。GPS的定位精度在3.5米左右,WIFI则大于10米。对于机器人、无人汽车而言,这样的精度显然是不可接受的。激光雷达在10m的距离可以达到cm的精度,双目视觉在4m可以达到10cm的精度,与GPS相比有一定优势,此外,这种非在线的定位方式可以在室内使用。

  Location 最大的难度来自于测量误差。里程计的计数误差,测量与里程计的不统一等。所以我们需要一种算法,能够较高精度的确定机器人的位姿。

2、Location 的流程

  Location的流程可以总结为以下:1、确定机器人的初始位姿;2、求取传感器测量结果;3、利用粒子滤波器基于当前位姿与机器人测量结果估计机器人下一步的位姿。

  此处粒子滤波器的作用似乎与卡尔曼滤波器相似,但是粒子滤波器可以有非0的均值(编码器读数),可以有非正太分布(你关我怎样采样),可以有非线性解(反正是大力出奇迹,什么解不可能?)

  机器人初始位姿确定略过。传感器测量结果的获取又叫做地图的 Registration. 这是一个我们非常熟悉的词 —— 配准。配准的作用是将测量结果与地图结果相匹配。匹配所使用的方式是概率图的 factor product. 对于给定位姿,如果测量结果与实际地图匹配成功则给正分,否则给负分。至于给多少正分,多少负分,需要进行 tuning....这个 tuning 也是作业的核心。tuning 的关键是一定要对测量结果进行可视化,如果第一帧都匹配不上,那后面必跑飞。如果第一帧匹配上了,那么后面才有调的可能性。

  

3.粒子滤波器

  基于粒子滤波器的机器人位姿估计是一个大模块,其pipeline如下:

  1.针对初始位姿,给定一堆粒子,每个粒子就是一个位姿,粒子可以是均匀分布的,也可以是正太分布的,也可以是任意你喜欢的分布。针对每个粒子算 Registration 的分数

       

      

  2.利用已知的转移关系——编码器,惯性传感器,whatever,给出这堆粒子下一步的位姿。注意,粒子是带着它的分数转移的。

  3.针对转移后的粒子重采样——根据转移关系的噪声,重新采样一次粒子转移后的结果。计算并更新配准分数。

  4.计算有效粒子数目,如果小于粒子总数,则重新采样。如果和粒子总数相等,则回到2.

  

  总而言之,粒子滤波器叫做“多party参政制” 个个都有可能当总统。每个转移相当于一次大选,而与地图的配准结果相当于选票。尽管最后我们会选择一个得票最多的,但是我们也不允许一party独大(n_effective)。Resampling则是如果某个party的理念确实优秀,那么允许其分身,分身后加上噪声保证了意见的多样性。

  所以粒子滤波器总能给出较好的结果。

机器人学 —— 机器人感知(Location)的更多相关文章

  1. 机器人学 —— 机器人感知(Kalman Filter)

    对于机器人感知任务而言,经常需要预判物体的运动,保证机器人在物体与自身接触之前进行规避.比如无人机与障碍物的碰撞,足球机器人判断足球的位置.预判的前提是对当前状态进行准确的估计,比如足球的速度,障碍物 ...

  2. 机器人学 —— 机器人感知(Gaussian Model)

    机器人感知是UPNN机器人专项中的最后一门课程,其利用视觉方法来对环境进行感知.与之前提到的机器人视觉不同,机器人感知更侧重于对环境物体的识别与检测.与计算机视觉不同,机器人视觉所识别的物体往往不需要 ...

  3. 机器人学 —— 机器人感知(Mapping)

    对于移动机器人来说,最吸引人的莫过于SLAM,堪称Moving Robot 皇冠上的明珠.Perception 服务于 SLAM,Motion Plan基于SLAM.SLAM在移动机器人整个问题框架中 ...

  4. 机器人学 —— 机器人视觉(Bundle Adjustment)

    今天完成了机器人视觉的所有课程以及作业,确实是受益匪浅啊! 最后一个话题是Bundle Adjustment. 机器人视觉学中,最顶尖的方法. 1.基于非线性优化的相机位姿估计 之前已经在拟合一篇中, ...

  5. Robot Perception for Indoor Navigation《室内导航中的机器人感知》

    Felix Endres 论文下载 Technische Fakult¨ atAlbert-Ludwigs-Universit¨ at Freiburg Betreuer: Prof. Dr. Wol ...

  6. ROSCon 2016视频和幻灯片发布 ROS机器人操作系统重要参考资料

    ROSCon 2016视频和幻灯片发布 By Tully Foote on 十月19,2016 7:28 AM 全部PPT下载地址:http://pan.baidu.com/s/1gf2sn2F RO ...

  7. ROS会议 ROSCon 2017

    ----ROSCon2012-2017----来源链接:https://roscon.ros.org           近三年ROSCon(2015-2017)都会将会议视频录像和文档公开~以下为机 ...

  8. 做一个能对标阿里云的前端APM工具(下)

    上篇请访问这里做一个能对标阿里云的前端APM工具(上) 样本多样性问题 上一小节中的实施方案是微观的,即单次性的.具体的.但是从宏观上看,我需要保证性能测试是公允的,符合大众预期的.为了达到这种效果, ...

  9. (转) SLAM系统的研究点介绍 与 Kinect视觉SLAM技术介绍

          首页 视界智尚 算法技术 每日技术 来打我呀 注册     SLAM系统的研究点介绍 本文主要谈谈SLAM中的各个研究点,为研究生们(应该是博客的多数读者吧)作一个提纲挈领的摘要.然后,我 ...

随机推荐

  1. 导出使用NPOI

    调用: DataTable table = new DataTable(); #region 创建 datatable table.Columns.Add(new DataColumn("账 ...

  2. leetcode笔记--水箱问题

    类型的引用:Solution *s=new Solution(); 1.Container With Most Water Given n non-negative integers a1, a2, ...

  3. delphi开源JWT

    delphi开源JWT 开源GIT地址:https://github.com/paolo-rossi/delphi-jose-jwt JSON Web Token (JWT)是一个开放标准(RFC 7 ...

  4. Go语言栈定义及相关方法实现

    // stack 栈 package Algorithm import ( "errors" "reflect" ) // 栈定义 type Stack str ...

  5. python-写入excel(xlswriter)

     一.安装xlrd模块: 1.mac下打开终端输入命令: pip install XlsxWriter 2.验证安装是否成功: 在mac终端输入 python  进入python环境 然后输入 imp ...

  6. 【PMP】易混淆知识点

    一.混淆概念 德尔菲技术 德尔菲技术是组织专家达成一致意见的一种方法.项目专家匿名参与其中.组织者使用调查问卷就重要的项目议题征询意见,然后对专家的答卷进行归纳,并把结果反馈给专家做进一步评论.这个过 ...

  7. m3u8转码

    ffmpeg -i input.mp4 -c:v libx264 -c:a aac -strict -2 -f hls -hls_list_size 0 -hls_time 5 output.m3u8

  8. 【PHP】解析PHP中的变量

    php是一门脚本语言,同时php中的变量类型也是弱语言类型,这和javascript非常相似.笔者在这里说一说PHP中的变量知识点. 1. 引用类型变量 看下面的案例: <?php class ...

  9. Centos7.4 安装Docker

    一.安装docker yum install -y docker 二.启动docker服务 systemctl start docker 三.设置成开机启动docker服务 systemctl ena ...

  10. Atitit 支出分类表 会计科目(1)资产(2)负债(3)资本(4)收益(5)费用(成本) 资产分类表 attilax总结

    Atitit 支出分类表  会计科目(1)资产(2)负债(3)资本(4)收益(5)费用(成本)  资产分类表 attilax总结 会计科目对一般不懂会计的管理人员,常会有莫测高深的感觉,因此不仅不愿去 ...