State estimation (source code)

= State estimation
{wiki}

<State estimation> infers an unobserved state of a <dynamical system> from its observations and a model of its evolution. An observed <position> can help estimate an unobserved <velocity>; repeated noisy observations can help distinguish changes in the state from <measurement noise>. The result should describe both an estimate and its uncertainty. A <Kalman filter> does this exactly for a linear <Gaussian> <state-space model>, maintaining a <conditional expectation> and <conditional covariance>.

The time at which information is available matters. <Causal state filtering> estimates the present state from observations available now. <State prediction> estimates a future state from those same observations. Later observations can improve an estimate of a past state, but that is a different information set from the one a live <controller> had. Kalman explicitly distinguishes these estimation tasks in https://www.cs.cmu.edu/~motionplanning/papers/sbp_papers/k/Kalman1960.pdf[A New Approach to Linear Filtering and Prediction Problems (1960), section Optimal Estimates].