A robot’s motion model can be written by a state equation:
where:
- is called a state vector, like
- is an input vector (command that the robot tries to follow), such as
The input and state are all probabilistic in general because of sensor/actuator noise.
We usually assume that the state equation follows the Markov property: The value of the state at the current time step is completely determined by that at the immediate prior time step, with all past values irrelevant.
Example
Recall that for a 2-wheel differential drive has continuous-time motion as”
Multiplying it out, we can see that we have
Converting to discrete-time motion:
or
where are random variables for noise/uncertainties.
Note that our model obeys the Markov property: the state at time only depends on .
Probabilistic View
How do we make the motion model properly probabilistic?
The naive way is to add noise to the deterministic motion model as we saw above.
More rigorous probabilistic motion models:
- Velocity Motion Model: Uses noisy and
- Odometry Motion Model: Uses noisy wheel encoders
These motion models can be employed in two ways:
- Computing the posterior
- Sampling (without directly computing the posterior)