占用栅格地图(occupancy grid map)

机器人地图分类

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

占用栅格地图(occupancy grid map)

在通常的尺度地图中,对于一个点,要么有障碍物,要么没有障碍物。在占据栅格地图中,对于一个点,用p(s=1)来表示它是free状态的概率,用p(s=0)来表示它是occupied的状态的概率,两者的和为1。
定义
O d d ( s ) = p ( s = 1 ) p ( s = 0 ) Odd(s)=\frac{p(s=1)}{p(s=0)} Odd(s)=p(s=0)p(s=1)
作为点的状态。当获得一个新的测量值 ( M e a s u r e m e n t , z   { 0 , 1 } ) (Measurement,z~\{0,1\}) (Measurement,z {0,1})时,更新
O d d ( s ∣ z ) = p ( s = 1 ∣ z ) p ( s = 0 ∣ z ) Odd(s|z)=\frac{p(s=1|z)}{p(s=0|z)} Odd(sz)=p(s=0z)p(s=1z)
O d d ( s ∣ z ) Odd(s|z) Odd(sz)表示在 z z z繁盛的条件下 s s s的状态。
根据贝叶斯公式,我们有:
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=1z)=p(z)p(zs=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=0z)=p(z)p(zs=0)p(s=0)
带入之后,得:
O d d ( 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 ) O d d ( 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(sz)=p(s=0z)p(s=1z)=p(zs=0)p(s=0)/p(z)p(zs=1)p(s=1)/p(z)=p(zs=0)p(zs=1)Odd(s)
两边取对数得:
l o g O d d s ( s ∣ z ) = l o g p ( z ∣ s = 1 ) p ( z ∣ s = 1 ) + l o g O d d s ( s ) logOdds(s|z)=log\frac{p(z|s=1)}{p(z|s=1)}+logOdds(s) logOdds(sz)=logp(zs=1)p(zs=1)+logOdds(s)
这样,含有测量值的项就只剩下了 l o g p ( z ∣ s = 1 ) p ( z ∣ s = 0 ) log\frac{p(z|s=1)}{p(z|s=0)} logp(zs=0)p(zs=1),称这个比值为测量值模型 ( m e a s u r e m e n t   m o d e l ) (measurement\ model) (measurement model),标记为 l o m e a s lomeas lomeas。测量值的模型只有两种:
l o f r e e = l o g p ( 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=0s=0)p(z=0s=1)
l o o c c u = l o g p ( 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=1s=0)p(z=1s=1)
两者都是定值,这样,如果我们用 l o g O d d ( s ) logOdd(s) logOdd(s)来表示位置 s s s的状态 S S S的话,我们的更新规则就进一步简化成了 S + = S − + l o m e a s S^+=S^-+lomeas S+=S+lomeas其中 S + 和 S − S^+和S^- S+S分别表示测量值之后和之前 s s s的状态。另外,在没有任何测量值的初始状态下,一个点的初始状态
S i n i t = l o g O d d ( s ) = l o g p ( s = 1 ) p ( s = 0 ) = l o g 0.5 0.5 = 0 S_{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
经过这样的建模,更新一个点的状态就只需要做简单的加减法。
假设我们设定 l o o c c u = 0.9 , l o f r e e = − 0.7 looccu=0.9,lofree=-0.7 looccu=0.9,lofree=0.7。那么,一个点状态的数值越大,就表示越肯定它是 O c c u p i e d Occupied Occupied状态,相反数值越小,就表示越肯定它是 f r e e free free的状态。上图展示了用两个激光传感器的数据更新地图的过程。在结果中,一个点颜色越深越肯定它是 f r e e free free的,颜色越浅越肯定它是 o c c u p i e d occupied occupied的。
在这里插入图片描述
转自:https://zhuanlan.zhihu.com/p/21738718/

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值