Probabilistic Robotics
  • Introduction
  • Basics
    • Recursive State Estimation
      • Basic Concepts in Probability
      • Robot Environment Interaction
      • Bayes Filters
    • Gaussian Filters
      • Kalman Filter
      • Extended Kalman Filter
    • Nonparametric Filters
      • Histogram Filter
      • Particle Filter
    • Robot Perception
      • Beam Models of Range Finders
      • Likelihood Fields for Range Finders
  • Localization
    • Taxonomy of Localization Problems
    • Grid and Monte Carlo
      • Monte Carlo Localization
    • Markov and Gaussian
  • Projects
    • Mislocalization Heatmap
Powered by GitBook
On this page
  • Limitations of Beam Models
  • Likelihood Fields
  • Measurement Noises
  • Failures
  • Unexplained Random Measurements
  • Algorithm

Was this helpful?

  1. Basics
  2. Robot Perception

Likelihood Fields for Range Finders

PreviousBeam Models of Range FindersNextTaxonomy of Localization Problems

Last updated 5 years ago

Was this helpful?

Limitations of Beam Models

The beam-based model exhibits a lack of smoothness. In cluttered environments with many small obstacles, the distribution of p(ztk∣xt,m)p(z_t^k \mid x_t, m)p(ztk​∣xt​,m) can be very unsmooth in xtx_txt​. That means the measurement model is highly discontinuous which leads to two problematic consequences.

  1. Any approximate belief representation runs the danger of missing the correct state, as nearby states might have drastically different posterior likelihoods.

  2. Hill-climbing methods for finding the most likely state are prone to local minima, due to the large number of local maxima in such unsmooth models.

Likelihood Fields

An alternative model to overcome above limitations is the use of likelihood fields. The resulting posteriors of likelihood field computation are much smoother even in cluttered space. The key idea is to first project the endpoints of a sensor scan ztz_tzt​ into the global coordinate space of the map.

Let xt=⟨x,y,θ⟩Tx_t = \langle x, y, \theta \rangle^Txt​=⟨x,y,θ⟩T denote a robot pose at time ttt. Let ⟨xk,sensed,yk,sensed⟩\langle x_{k, sensed}, y_{k, sensed} \rangle⟨xk,sensed​,yk,sensed​⟩ denote the relative location of the sensor in the robot's fixed local coordinate system. Let θk,sensed\theta_{k, sensed}θk,sensed​ denote the angular orientation of the sensor beam relative to the robot's heading direction.

∣xztkyztk∣=∣xy∣+∣cos⁡θ−sin⁡θsin⁡θcos⁡θ∣∣xk,sensedyk,sensed∣+zkt∣cos⁡θ+θk,sensedsin⁡θ+θk,sensed∣\begin{vmatrix} x_{z_t^k} \\ y_{z_t^k} \end{vmatrix} = \begin{vmatrix} x \\ y \end{vmatrix} + \begin{vmatrix} \cos{\theta} & -\sin{\theta} \\ \sin{\theta} & \cos{\theta} \end{vmatrix} \begin{vmatrix} x_{k, sensed} \\ y_{k, sensed} \end{vmatrix} + z_k^t \begin{vmatrix} \cos{\theta + \theta_{k, sensed}} \\ \sin{\theta + \theta_{k, sensed}} \end{vmatrix}​xztk​​yztk​​​​=​xy​​+​cosθsinθ​−sinθcosθ​​​xk,sensed​yk,sensed​​​+zkt​​cosθ+θk,sensed​sinθ+θk,sensed​​​

If the range sensor takes on its maximum value, these coordinates have no meaning in the physical world. The likelihood field measurement model simply discards these readings.

Measurement Noises

Noise arising from the measurement process is modeled using Gaussian. This involves finding the nearest obstacles in the map. Let distdistdist denote the Euclidean distance between the measurement coordinates (xztk,yztk)T(x_{z^k_t}, y_{z^k_t})^T(xztk​​,yztk​​)T and the nearest object in the map mmm. Then the probability of a sensor measurement is given by the zero-centered Gaussian, which captures the sensor noise.

phit(ztk∣xt,m)=ϵσhit(dist)p_{hit}(z^k_t \mid x_t, m) = \epsilon_{\sigma_{hit}}(dist)phit​(ztk​∣xt​,m)=ϵσhit​​(dist)

Failures

Unexplained Random Measurements

Algorithm

Therefore, we can summarize the the model with the following algorithm.

If the measurement is perfectly accurate, the variance will be zero and the probability of dist=0dist=0dist=0 will be 1, which is 100%. However, that never happens in practice.

As before, we assume that the max-range readings have a distinct large likelihood. This is modeled by a point mass distribution. That means if we receive a max reading, we know for sure pmax=1p_{max} = 1pmax​=1, that there is a reading failure.

As like before, we will use a uniform distribution to describe prandp_{rand}prand​. Regardless the reading, there is a uniform likelihood that there is a random error.

p(ztk∣xt,m)=zhitphit+zrandprand+zmaxpmaxp(z^k_t \mid x_t, m) = z_{hit}p_{hit} + z_{rand}p_{rand} + z_{max}p_{max}p(ztk​∣xt​,m)=zhit​phit​+zrand​prand​+zmax​pmax​
q=1  for all k do:if ztk≠zmax:xztk=x+xk,sensedcos⁡θ−yk,sensedsin⁡θ+ztkcos⁡(θ+θk,sensed)yztk=y+yk,sensedcos⁡θ+xk,sensedsin⁡θ+ztksin⁡(θ+θk,sensed)dist=min⁡x‘,y‘(xztk−x‘)2+(yztk−y‘)2∣x‘,y‘occupied in mapq=q∗(zhit∗phit(dist,σhit)+zrandzmax)  return qq = 1 \\\;\\ \text{for all $k$ do:} \\ \text{if $z^k_t \neq z_{max}$:} \\ x_{z^k_t} = x + x_{k, sensed}\cos{\theta} - y_{k, sensed} \sin{\theta} + z^k_t \cos{(\theta + \theta_{k, sensed})} \\ y_{z^k_t} = y + y_{k, sensed} \cos{\theta} + x_{k, sensed} \sin{\theta} + z^k_t \sin{(\theta + \theta_{k, sensed})} \\ dist = \min_{x^`, y^`} \sqrt{(x_{z^k_t} - x^`)^2 + (y_{z^k_t} - y^`)^2} \mid x^`, y^` \text{occupied in map} \\ q = q * (z_{hit} * p_{hit}(dist, \sigma_{hit}) + \frac{z_{rand}}{z_{max}}) \\\;\\ \text{return $q$}q=1for all k do:if ztk​=zmax​:xztk​​=x+xk,sensed​cosθ−yk,sensed​sinθ+ztk​cos(θ+θk,sensed​)yztk​​=y+yk,sensed​cosθ+xk,sensed​sinθ+ztk​sin(θ+θk,sensed​)dist=x‘,y‘min​(xztk​​−x‘)2+(yztk​​−y‘)2​∣x‘,y‘occupied in mapq=q∗(zhit​∗phit​(dist,σhit​)+zmax​zrand​​)return q