文章同步更新于github page
文章目录
Occupancy Map
将空间划分为一个个小网格(cell),每个cell中存储cell内是否有障碍物的概率,这样的地图称为Occupancy Map,由于所有cell构成一个网,所以也称为Grid Map。
以2D Occupancy Map为例,每个cell中都有一个概率,那整个地图可以看做一个描述障碍物分布的概率分布(严格要归一化后才是概率分布)。构建地图的过程,就是根据传感器(比如Lider)的观测,更新这个概率分布。
设每个cell的概率相对于其他cell是独立的,更新地图的概率分布就简化为更新每个cell的概率。即在已知1到t时刻所有观测的情况下,该cell中有障碍物的概率,记为
p ( m i ∣ z 1 : t ) p(m_i|z_{1:t}) p(mi∣z1:t)
Odds
考虑到更新的方便,每个cell中实际存储的是概率对应的Odds。
Odds定义为有障碍物的概率与无障碍物概率的比,即
o ( m i ∣ z 1 : t ) = p ( m i ∣ z 1 : t ) 1 − p ( m i ∣ z 1 : t ) = p ( m i ∣ z 1 : t ) p ( ¬ m i ∣ z 1 : t ) o(m_i|z_{1:t})=\frac{p(m_i|z_{1:t})}{1 - p(m_i|z_{1:t})} = \frac{p(m_i|z_{1:t})}{p(\neg m_i|z_{1:t})} o(mi∣z1:t)=1−p(mi∣z1:t)p(mi∣z1:t)=p(¬mi∣z1:t)p(mi∣z1:t)
已知Odds,也很容易反算出对应的概率。可以将Odds理解为一个映射,将值域在 [ 0 , 1 ] [0, 1] [0,1]之间的概率映射到 [ 0 , + ∞ ) [0,+\infty) [0,+∞)。
Odds的更新
根据贝叶斯公式,有
p ( m i ∣ z 1 : t ) = p ( z t ∣ m i , z 1 : t − 1 ) p ( m i ∣ z 1 : t − 1 ) p ( z t ∣ z 1 : t − 1 ) p(m_i|z_{1:t})=\frac{p(z_t|m_i, z_{1:t-1})p(m_i|z_{1:t-1})}{p(z_t|z_{1:t-1})} p(mi∣z1:t)=p(zt∣z