Solved – Minimal state vector for a Kalman filter

kalman filter

I'm trying to work my way through a text on robotics and specifically trying to make sense of Kalman filters. I've used them before but I'd like to be able to understand and make my own for new systems.

The question I have asks for the minimal state vector for a car with position X and velocity V at time t. The acceleration (A) is assigned randomly at each point in time. I have to come up with a minimal state vector so the the resulting system is Markovian.

Here's my answer so far:

The initial state vector should just be S = [X,V,A] since those are the three components that were given? The Markovian part is confusing to me. This means that the state vector can only have components that do not depend on past measurements? In which case it should only be S = [X,A] since acceleration was given to be random and position has no time dependence?

Best Answer

I use Kalman Filters frequently, although my theoretical grounding in this area is not extensive. I am unsure of the exact meaning of the terminology 'minimal state vector'. However, in this situation the state vector to use would be S = [X,V].

The update step will project the position X by assuming a constant velocity V for the length of the timestep t. This makes the update matrix (the A matrix in the terminology of Welch & Bishop) $$ \left[\begin{array}{cc} 1 & t \\ 0 & 1 \\ \end{array}\right] $$

If the acceleration is random each step but known (i.e. can be measure independently in real time), then this becomes the driving term in the update equation. In the more common case that it is random and unknown, then it forms the process noise. The art of applying the Kalman Filter then becomes tweaking the process noise term to match the magnitude of the acceleration expected.