机器人地图分类

  • 尺度地图(metric map):每一个地点都可以用坐标来表示,比如经纬度。
  • 拓扑地图(topological map):每一个地点用一个点来表示,用边来连接相邻的点,即图论中的图。
  • 语义地图(semantic map):每一个地点和道路都会用标签的集合来表示。

占用栅格地图(occupancy grid map)

在通常的尺度地图中,对于一个点,要么有障碍物,要么没有障碍物。在占据栅格地图中,对于一个点,用p(s=1)来表示它是free状态的概率,用p(s=0)来表示它是occupied的状态的概率,两者的和为1。
定义
Odd(s)=p(s=1)p(s=0)Odd(s)=\frac{p(s=1)}{p(s=0)} Odd(s)=p(s=0)p(s=1)​
作为点的状态。当获得一个新的测量值(Measurement,z{0,1})(Measurement,z~\{0,1\})(Measurement,z {0,1})时,更新
Odd(s∣z)=p(s=1∣z)p(s=0∣z)Odd(s|z)=\frac{p(s=1|z)}{p(s=0|z)} Odd(s∣z)=p(s=0∣z)p(s=1∣z)​
Odd(s∣z)Odd(s|z)Odd(s∣z)表示在zzz繁盛的条件下sss的状态。
根据贝叶斯公式,我们有:
p(s=1∣z)=p(z∣s=1)p(s=1)p(z)p(s=1|z)=\frac{p(z|s=1)p(s=1)}{p(z)}p(s=1∣z)=p(z)p(z∣s=1)p(s=1)​
p(s=0∣z)=p(z∣s=0)p(s=0)p(z)p(s=0|z)=\frac{p(z|s=0)p(s=0)}{p(z)}p(s=0∣z)=p(z)p(z∣s=0)p(s=0)​
带入之后,得:
Odd(s∣z)=p(s=1∣z)p(s=0∣z)=p(z∣s=1)p(s=1)/p(z)p(z∣s=0)p(s=0)/p(z)=p(z∣s=1)p(z∣s=0)Odd(s)Odd(s|z)=\frac{p(s=1|z)}{p(s=0|z)}=\frac{p(z|s=1)p(s=1)/p(z)}{p(z|s=0)p(s=0)/p(z)}=\frac{p(z|s=1)}{p(z|s=0)}Odd(s)Odd(s∣z)=p(s=0∣z)p(s=1∣z)​=p(z∣s=0)p(s=0)/p(z)p(z∣s=1)p(s=1)/p(z)​=p(z∣s=0)p(z∣s=1)​Odd(s)
两边取对数得:
logOdds(s∣z)=logp(z∣s=1)p(z∣s=1)+logOdds(s)logOdds(s|z)=log\frac{p(z|s=1)}{p(z|s=1)}+logOdds(s)logOdds(s∣z)=logp(z∣s=1)p(z∣s=1)​+logOdds(s)
这样,含有测量值的项就只剩下了logp(z∣s=1)p(z∣s=0)log\frac{p(z|s=1)}{p(z|s=0)}logp(z∣s=0)p(z∣s=1)​,称这个比值为测量值模型(measurementmodel)(measurement\ model)(measurement model),标记为lomeaslomeaslomeas。测量值的模型只有两种:
lofree=logp(z=0∣s=1)p(z=0∣s=0)lofree = log\frac{p(z=0|s=1)}{p(z=0|s=0)} lofree=logp(z=0∣s=0)p(z=0∣s=1)​
looccu=logp(z=1∣s=1)p(z=1∣s=0)looccu = log\frac{p(z=1|s=1)}{p(z=1|s=0)} looccu=logp(z=1∣s=0)p(z=1∣s=1)​
两者都是定值,这样,如果我们用logOdd(s)logOdd(s)logOdd(s)来表示位置sss的状态SSS的话,我们的更新规则就进一步简化成了S+=S−+lomeasS^+=S^-+lomeasS+=S−+lomeas其中S+和S−S^+和S^-S+和S−分别表示测量值之后和之前sss的状态。另外,在没有任何测量值的初始状态下,一个点的初始状态
Sinit=logOdd(s)=logp(s=1)p(s=0)=log0.50.5=0S_{init}=logOdd(s)=log\frac{p(s=1)}{p(s=0)}=log\frac{0.5}{0.5}=0 Sinit​=logOdd(s)=logp(s=0)p(s=1)​=log0.50.5​=0
经过这样的建模,更新一个点的状态就只需要做简单的加减法。
假设我们设定looccu=0.9,lofree=−0.7looccu=0.9,lofree=-0.7looccu=0.9,lofree=−0.7。那么,一个点状态的数值越大,就表示越肯定它是OccupiedOccupiedOccupied状态,相反数值越小,就表示越肯定它是freefreefree的状态。上图展示了用两个激光传感器的数据更新地图的过程。在结果中,一个点颜色越深越肯定它是freefreefree的,颜色越浅越肯定它是occupiedoccupiedoccupied的。

转自:https://zhuanlan.zhihu.com/p/21738718/

占用栅格地图(occupancy grid map)相关推荐

  1. 二维占用栅格地图Occupancy grid maps

    机器人的地图表示方式有多种,如拓扑地图.特征地图.直接表征法.栅格地图等.其中,栅格地图应用广泛,方便用于机器人的导航规划中.下面就是一个占用栅格地图的例子: 一般有一个地图和一个.yaml文件. m ...

  2. get占位符传多个参数_未知环境下的Lidar概率占位栅格图(Occupancy Grid Map) Python代码实现...

    自动驾驶Mapping-占位栅格图(Occupancy Grid Map)中介绍了概率占位栅格地图(Probabilistic Occupancy Grid)的原理,并推导了如何利用贝叶斯理论(Bay ...

  3. python中outside loop_未知环境下的Lidar概率占位栅格图(Occupancy Grid Map) Python代码实现...

    自动驾驶Mapping-占位栅格图(Occupancy Grid Map)中介绍了概率占位栅格地图(Probabilistic Occupancy Grid)的原理,并推导了如何利用贝叶斯理论(Bay ...

  4. 9 概率机器人 Probabilistic Robotics 二值贝叶斯滤波 占据栅格地图 occupancy grid mapping

    文章目录 1 前言 2 二值贝叶斯滤波 2.1 理论基础 2.2 算法流程 2.3 重要公式推导 3 实例:占据栅格地图(occupancy grid mapping) 4 参考文献 1 前言 如果通 ...

  5. Motion planning for self-driving cars课程笔记1:应用雷达数据生成占用栅格地图(Occupancy Grid Map)

    此文章为Motion planning for self-driving cars上第二课的笔记,主要讲述占据栅格地图的生成.由于课程中算法也是参考<probability robot>这 ...

  6. Occupancy Grid Map(OGM:占用栅格地图)

    参考:占用栅格地图原理分析:https://blog.csdn.net/weixin_40863346/article/details/92575794 基本概率 TSDF: Truncated Si ...

  7. 机器人学习--栅格地图(occupancy grid map)构建(部分代码解析)

    转自: 占据栅格地图构建(Occupancy Grid Map) - 知乎 占据栅格地图构建(Occupancy Grid Map)_「小白学移动机器人」一个专注分享移动机器人相关知识的公众号!-CS ...

  8. 占据栅格地图构建(Occupancy Grid Map)

    移动机器人地图构建问题,主要以gmapping为例,讲解了地图构建的整个流程.看过前面文章的小伙伴肯定都知道,gmapping算法把SLAM问题分解成两个部分,定位问题和地图构建问题.而gmappin ...

  9. Python实现占用栅格地图的生成(Occupancy Grid Generation)

    本文的算法细节及推导可以参考Sebastian Thrun的<概率机器人>中占用栅格地图构建部分. 1. 导入所需要的库 import numpy as np import math im ...

最新文章

  1. 写代码神器!双屏敲代码飞起,包邮送一台!
  2. 《Microduino实战》——第2章 Microduino
  3. 浩鲸新智能解决方案工程师面试_华为解决方案技术工程师面试?
  4. redis4.0.2集群搭建
  5. MPI 集合通信函数 MPI_Reduce(),MPI_Allreduce(),MPI_Bcast(),MPI_Scatter(),MPI_Gather(),MPI_Allgather(),MPI_S
  6. 计算机视觉--优秀开源方案集锦
  7. mycat 资料汇总
  8. Backpack II 0-1背包
  9. 怎么使用php连接mysql_如何使用PHP连接MySQL
  10. FCKeditor编辑器详解
  11. java messagebox_由MessageBox透视Win32 API的调用 | 学步园
  12. python 用题库自动答题器_用题库自动答题
  13. 马万经:城市道路交通主动协同管控
  14. UC浏览器去广告、联网、升级(支持新版8.1)
  15. Ubuntu 18.04 中Chrome浏览器安装与使用
  16. 攻防世界题库logmein
  17. “CSIG 计算机视觉前沿 · 研讨会”于6月28日在百度举行
  18. 2D物理引擎--谁碰了我的奶酪
  19. 英语思维导图大全 前言(一)
  20. Linux下密码凭证窃取技巧和工具介绍

热门文章

  1. Appium 屏幕截图(交易宝)
  2. 点云深度学习系列博客(二): 点云配准网络PCRNet
  3. STM32F103ZE工程移植到STM32F107VC上软件调试时死循环在while((RCC-CR RCC_CR_PLL2RDY) == 0) { }
  4. gitlab上创建新的分支并发布代码
  5. 一图看懂自然资源资金监测监管系统
  6. 修建公路1:最小生成树(克鲁斯卡尔算法)
  7. 深信服网络挑战赛初赛_2019
  8. 【音视频零基础入门 1】视频播放器原理、流媒体协议、封装格式、视频编码、音频编码
  9. 熊猫烧香 给人的深思
  10. 搭建邮件群发服务器费用,自建邮件群发服务器优缺点分析