Probabilistic Robotics . Book

Book

The 3. Edition

  • 647 pages total
  • has exercises
  • Had 4 parts with 17 chapters total:
  1. 2-4 Basics (Math Foundations)
  2. 5-6 Localization (robot Motion?)
  3. 9-13 Mapping (world representation?)
  4. 14-17 Planing and Control (future actions?)
  • is fairly introductory
  • is fairly mathematical
  • is effectively about Algorithms
  • is relevant to industry
  • topics: Probability Theory
  • topics: Baysian logic
  • topics: Applied Computational Science
  • topics: Mechanics, i.e. physics

An early draft pops up if you google the title. Comparing with this, chapters 11-13 appear to have been restructured, and the 3. Edition also has two extra chapters at the very end.

pp. 1-12 / 1.1 through 1.6

Book introduction

“Robotics is the science of perceiving and manipulating the physical world through computer controlled devices”

Key issues:

  • Mathematically modeling the world using data obtained through sensors
  • Executing motion (of machines/robots/devices) despite the complex/changing environment and noise of signals
  • Fining out where it is
  • And what to do

I'd say “The book does algorithm for classical mechanics, but with probability density functions everywhere, i.e. “fields”.

  • p.5: neat example of robot estimating where it is - MOBILE ROBOT LOCALIZATION
  • p.8: reducing error by choosing smart path - COASTAL NAVIGATION

pp. 13-18 / 2.1 and 2.2

Introduction

Sections:

  1. Introduction: “Probabilistic state estimation algorithms compute believe distributions over possible world states”
  2. Probability theory basics (see also Introduction To Modern Bayesian Econometrics)
  3. Mathematical world representation
  4. Bayes filters
  5. more on Bayes filters
Probability theory

Introduces…

  • Random variable
  • probability (density) function
  • normalization
  • expectation value, covariance
  • Normal distribution
  • “information” and information entropy
  • conditional probability, conditional independence

The exercises pp.36-38 are 4 text exercises and 2 proofs. The latter two exercise, #5 and #6, are doable right away.

pp. 19-26 / 2.3

Keywords:

  • Robot environment
  • State
  • Pose
  • Landmark
  • (Markov Chain)

Separate data sources in two groups:

  • Measurement
  • Control action
  • (Odometer)

Introduces nomenclature to speak of Hidden Markov Models (HMM) for robotics.

Consider descrete time: $t=0, t=1, t=2, \dots$. More generally, we may work with a $\Delta t$ that's just set to $1$ here.

Write $t_{a:b} = \cup_{i=a}^b \{t_i\} =\{t_{a}, t_{a+1}, t_{a+2}, \dots t_{b-1}, t_{b-1}\}$

  • State $x_{t}$, the elements of a state space, time dependent and not known perfectly.
  • Robot measures aspects of his environment, $z_{t}$ via sensors.
  • $u_{t}$ denotes controlled recorded change in $(t-1,t]$. It is thus “before” $x_{t}$.

be interested in mathematical models for

  • State transition probability
  • Measurement probability
  • Information state, Believe, Prediction

Mathematically, we “restrict ourselves” HMM to:

  • $p(x_{t} \,|\,x_{t-1}, u_t)$
  • $p(x_{t} \,|\,z_{1:t-1},u_{1:t}) \equiv \overline{bel}(x_t) $

and also

  • $p(x_{t} \,|\,z_{1:t-0},u_{1:t}) \equiv bel(x_t) $

and finally

  • $p(z_{t} \,|\,x_{t})$

Two more keywords:

  • Complete state
  • Incomplete state

Complete state is the one provides the best state information, at least in terms of what the robot understands.

pp.27-33 / 2.4

This section introduces the Bayes Filter, gives an example and a mathematical derivation.

Disregarding data $u$'s and $z$'s for a moment, we have of course

$bel(x_t) = \int p(x_{t}\,|\,x_{t-1})\,bel(x_{t-1}) \, {\mathrm d}x_{t-1}$

or

$bel_t(x) = \int p(x\,|\,x')\,bel_{t-1}(x') \, {\mathrm d}x'$

If the transition amplitude $p$ here is not a dirac delta, the believe one step later is less sharp than the previous one.

The Bayes filter is a rule about how to carry data $u$'s and $z$'s along with this evolution for a system where sensor data is updated at the end of each time step. It goes a follows:

  • the $u$'s are included in the transition probability function and integrated over with $x_{t-1}$
  • the $z$'s are included via the likelihood function and only integrated over with the next iteration step

As formula, it is

$bel(x_t) = \eta \cdot p(z_{t}\,|\,x_{t}) \cdot \int p(x_{t}\,|\,u_t, x_{t-1}) \, bel(x_{t-1}) \, {\mathrm d}x_{t-1}$

where $\eta$ is a normalization.

It should better be written

$bel_t(x) = \eta \cdot p(z_{t}\,|\, x) \cdot \int p(x\,|\,u_t, x') \, bel_{t-1}(x') \, {\mathrm d}x'$

Now, importantly, note that $p(z_{t}\,|\,x_{t})$ is not a probabilty distribution in $x_{t}$ (i.e. for fixed $x_{t}=a$, we have $\int p(z \,| a){\mathrm d}z\ne 1$ in general). This way, here, plugging in $z_{t}$ (the measured data) into the new function $bel(x_t)$ can lead to a believe that's sharper than the previous one.


The “Mathematical Derivation” in 2.4. shows (for some level rigor) that the seqeunce of believe distributions, $bel_{t}(x)$, that's the outcome of the Bayes Filter, is the optimal solution to a “Filtering Problem” - the problem of making the best estimate, given only the knowledge of noisy measurements and unreliable actions.

If you look around on the web, you see there are all kinds of so called “Filtering problems” to all sort of scenarios, and there's a formal mathematical theory around them.

This all has more connections to path integrals and stochastic integrals than I previously thought, so, to me, that's great and fun.

Exercises

$bel_0(\neg faulty)=\frac{9}{10}$

$bel_0(faulty)=\frac{1}{10}$

$ p(z\in [0,1]\,|\, faulty) = 1 $

$ p(z\notin [0,1]\,|\, faulty) = 0 $

$ p(z\in [0,1]\,|\, \neg faulty) = \frac{1}{3} $

$ p(z\notin [0,1]\,|\, \neg faulty) = \frac{2}{3} $

$ p(faulty \,|\, z\in [0,1]) \propto p(z\in [0,1]\,|\, faulty)\cdot bel_0(faulty)$

$ N = \sum_{x = faulty, \neg faulty} p(z\in [0,1]\,|\, x)\cdot bel_0(x)$


Link to graph
Log In
Improvements of the human condition