Skip to main content
Beam measurement model Beam-based distance sensors (sonar, lidar, depth IR) measure the distance to the nearest surface along discrete directions called beams. This section develops a probabilistic forward (generative) model p(zt∣xt,m)p(\mathbf z_t \mid \mathbf x_t, m) for the likelihood of receiving a range scan zt\mathbf z_t from pose xt\mathbf x_t in map mm. It also develops an inverse model for occupancy mapping. Notation:
  • Robot pose (planar): xt=(xt,yt,θt)\mathbf x_t = (x_t, y_t, \theta_t).
  • Map mm: an occupancy grid (binary or probabilistic) or a geometric representation (polygonal or mesh).
  • Scan: zt=ztkk=1K\mathbf z_t = { z_t^k }_{k=1}^K with beam angles ϕk\phi_k relative to sensor frame.
  • Maximum sensor range: zmax⁡z_{\max}.
  • Expected (ideal) range along beam kk: z^tk=r(xt,ϕk,m)\hat z_t^k = r(\mathbf x_t, \phi_k, m) found via ray casting.
We approximate the beams as conditionally independent: p(zt∣xt,m)=∏k=1Kp(ztk∣xt,m).p(\mathbf z_t \mid \mathbf x_t, m) = \prod_{k=1}^K p(z_t^k \mid \mathbf x_t, m). Measurement model components

Beam-based forward model

Real measurements include precise hits, unexpected short returns, max-range readings (no return), and random noise. We model each beam with a weighted mixture: p(z∣z^)=αhitphit(z∣z^)+αshortpshort(z∣z^)+αmaxpmax(z)+αrandprand(z),p(z \mid \hat z) = \alpha_{\text{hit}} p_{\text{hit}}(z \mid \hat z) + \alpha_{\text{short}} p_{\text{short}}(z \mid \hat z) + \alpha_{\text{max}} p_{\text{max}}(z) + \alpha_{\text{rand}} p_{\text{rand}}(z), with ∑iαi=1\sum_i \alpha_i = 1. Hit and Unexpected components

Precise hit component

phit(z∣z^)={ηexp⁡ ⁣(−(z−z^)22σhit2),0≤z≤zmax⁡0,otherwisep_{\text{hit}}(z \mid \hat z) = \begin{cases} \eta \exp\!\left(-\dfrac{(z - \hat z)^2}{2\sigma_{\text{hit}}^2}\right), & 0 \le z \le z_{\max}\\ 0, & \text{otherwise} \end{cases} η\eta normalizes over [0,zmax⁡][0,z_{\max}].

Unexpected short return

This component represents unmodeled obstacles between the sensor and the predicted surface: pshort(z∣z^)={ηλe−λz,0≤z≤z^0,z>z^p_{\text{short}}(z \mid \hat z) = \begin{cases} \eta \lambda e^{-\lambda z}, & 0 \le z \le \hat z\\ 0, & z > \hat z \end{cases} Max range and Random components

Maximum range

pmax(z)={1,z=zmax⁡0,otherwisep_{\text{max}}(z) = \begin{cases} 1, & z = z_{\max}\\ 0, & \text{otherwise} \end{cases}

Random noise

prand(z)={1zmax⁡,0≤z<zmax⁡0,otherwisep_{\text{rand}}(z) = \begin{cases} \dfrac{1}{z_{\max}}, & 0 \le z < z_{\max}\\ 0, & \text{otherwise} \end{cases}

Per-beam likelihood

p(ztk∣xt,m)=p(z∣z^tk).p(z_t^k \mid \mathbf x_t, m) = p(z \mid \hat z_t^k). For numerical stability, use the log likelihood: log⁡p(zt∣xt,m)=∑klog⁡(∑jαjpj(ztk)).\log p(\mathbf z_t \mid \mathbf x_t, m) = \sum_k \log\left( \sum_j \alpha_j p_j(z_t^k) \right).

Parameter estimation

Given a training set (zn,z^n){ (z_n, \hat z_n)}:
  • If the component assignments are known, estimate σhit2\sigma_{\text{hit}}^2 in closed form from the weighted residual variance.
  • Otherwise, use expectation-maximization (EM):
    • In the E-step, compute the responsibilities rni=αipi(zn)∑jαjpj(zn)r_{ni} = \dfrac{\alpha_i p_i(z_n)}{\sum_j \alpha_j p_j(z_n)}.
    • In the M-step, set αi=1N∑nrni\alpha_i = \frac{1}{N}\sum_n r_{ni} and update σhit,λ\sigma_{\text{hit}}, \lambda by weighted maximum likelihood estimation.
Constrain the mixture weights so that αi≥0\alpha_i \ge 0, ∑αi=1\sum\alpha_i=1.

Dynamic obstacles

Add a dynamic layer mDm_D to the forward model: p(z∣z^,m,mD)=(1−β)p(z∣z^,m)+βpdyn(z),p(z \mid \hat z, m, m_D) = (1-\beta) p(z \mid \hat z, m) + \beta p_{\text{dyn}}(z), where pdynp_{\text{dyn}} can assign more probability to short or random returns. Motion segmentation determines β\beta. Key references: (Zeng et al., 2016)

References

  • Zeng, A., Song, S., Nießner, M., Fisher, M., Xiao, J., et al. (2016). 3DMatch: Learning Local Geometric Descriptors from RGB-D Reconstructions. arXiv [cs.CV].