Beam-based sensor models

Figure 1: Beam measurement model

Beam-based distance sensors (sonar, lidar, depth IR) measure distances to the nearest surface along discrete directions (beams). We develop a probabilistic forward (generative) model \(p(\mathbf z_t \mid \mathbf x_t, m)\) describing the likelihood of receiving range scan \(\mathbf z_t\) from pose \(\mathbf x_t\) in map \(m\), and an inverse model for occupancy mapping.

Notation:

Assumed conditional independence (approximation): \[ p(\mathbf z_t \mid \mathbf x_t, m) = \prod_{k=1}^K p(z_t^k \mid \mathbf x_t, m). \]

Figure 2: Measurement model components

Beam-Based Forward Model (Mixture)

Real measurements exhibit multiple phenomena: precise hits, unexpected short returns, max-range (no return), and random noise. Model each beam as a weighted mixture: \[ 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 \(\sum_i \alpha_i = 1\).

Hit and Unexpected components{fig-hit-unexpected-components}

Precise Hit Component

\[ p_{\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,z_{\max}]\).

Unexpected Short Return

Captures unmodelled obstacles between sensor and predicted surface: \[ 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{fig-random-max-range-components}

Max Range

\[ p_{\text{max}}(z) = \begin{cases} 1, & z = z_{\max}\\ 0, & \text{otherwise} \end{cases} \]

Random Noise

\[ p_{\text{rand}}(z) = \begin{cases} \dfrac{1}{z_{\max}}, & 0 \le z < z_{\max}\\ 0, & \text{otherwise} \end{cases} \]

Final Per-Beam Likelihood

\[ p(z_t^k \mid \mathbf x_t, m) = p(z \mid \hat z_t^k). \]

Log form for numerical stability: \[ \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 training set \(\{ (z_n, \hat z_n)\}\):

  • Closed-form for \(\sigma_{\text{hit}}^2\) using weighted residual variance if component assignments known.
  • Use EM:
    • E-step: responsibilities \(r_{ni} = \dfrac{\alpha_i p_i(z_n)}{\sum_j \alpha_j p_j(z_n)}\).
    • M-step: \(\alpha_i = \frac{1}{N}\sum_n r_{ni}\); update \(\sigma_{\text{hit}}, \lambda\) via weighted MLE.

Constrain \(\alpha_i \ge 0\), \(\sum\alpha_i=1\).

Dynamic Obstacles

Augment forward model with dynamic layer \(m_D\): \[ p(z \mid \hat z, m, m_D) = (1-\beta) p(z \mid \hat z, m) + \beta p_{\text{dyn}}(z), \] where \(p_{\text{dyn}}\) could emphasize short / random returns; \(\beta\) from motion segmentation.