Sensor Beam Model
The aim of the sensor model is to determine:
\[P(z\mid x)\]what is the probability of a measurement $z$, given that the robot is in state $x$.
Beam-Based Sensor Model
Consider each beam from the robot’s sensors independently. A scan $z$ is made up of $K$ measurements:
\[z=\{z_1, \ldots,z_K\}\]Individual measurements are independent given the robot position:
\[P(z\mid x, m)=\prod^k_{k=1}P(z_k\mid x, m)\]This assumes that we already have a map.
We may get the following types of erroneous readings:
- Measurement Noise
- Unexpected Obstacles
- Random Measurements
- Max Range
We can then combine these to form a combined distribution such that we can determine:
\[P(z\mid x,m)\]This will be different depending on the type of erroneous reading.
Measurement Noise
We can calculate this as:
\[P_\text{hit}=\eta\frac1{\sqrt{2\pi b}}e^{-\frac12\frac{(z-z_\text{exp})^2}{b}}\]Consider we calculate an expected sensor value $z_\text{exp}$. We can calculate:
\[p(z\mid z_\text{exp})\]as the distribution is limited to $[0,z_\max]$, we normalise with:
\[\eta=\left(\int^{z_\max}_0\frac1{\sqrt{2\pi b}}e^{-\frac12\frac{(z-z_\text{exp})^2}{b}}dz^k_t\right)^{-1}\]Unexpected Obstacles
We can model this with the following distribution:
\[P_\text{unexp}=\begin{cases}\eta\lambda e^{-\lambda z}&z<z_\text{exp}\\0&\text{otherwise}\end{cases}\]where $\lambda>0$ is the rate paramter and $z$ is the query point.
As the exponential range is limited to $[0,z]$, we normalise with:
\[\eta=\frac1{1-e^{\lambda z}}\]Max Range
We can model this with the following distribution:
\[P_\text{max}=\begin{cases}1&z=z_\max\\0&\text{otherwise}\end{cases}\]Resulting Mixture Density
We can combine this by calculating the weighted sum of all the distributions:
\[P(z\mid x, m)=\begin{pmatrix} \alpha_\text{hit}\\ \alpha_\text{unexp}\\ \alpha_\max\\ \alpha_\text{rand} \end{pmatrix}^T\cdot \begin{pmatrix} P_\text{hit}(z\mid x, m)\\ P_\text{unexp}(z\mid x, m)\\ P_\text{max}(z\mid x, m)\\ P_\text{rand}(z\mid x, m)\\ \end{pmatrix}\]Determining Intrinsic Values
The sensor model is tuned through a set of intrinsic values:
\[\Theta=\langle\alpha_\text{hit}, \alpha_\text{unexp}, \alpha_\max, \alpha_\text{rand}, \sigma, \lambda\rangle\]This consists of the weights where:
\[\alpha_\text{hit}+ \alpha_\text{unexp}+ \alpha_\max+ \alpha_\text{rand}=1\]and the distribution parameters:
- $\lambda$ for the exponential distribution
- The probability when $z=0$.
- $\sigma$ for the normal distribution
- The width of the Gaussian.
Beam Based Range Finder Algorithm
See slide 74 for this algorithm.