Kalman Filter constant steady state value

590 Views Asked by At

Without explaining you the details of my problem I would like to ask you a theoretical question. I think I know the answer but I would like to be sure.

I have a set of $n$ agents moving in 3D space. In some way I am estimating their pose (positions+orientations). The pose of the agents represents the state of my Nonlinear System.

The goal was to design an Extended Kalman Filter (EKF) to observe the poses of the agents. I understood how to implement the EKF but now I arrived to estimate the poses with a constant error at steady state. Is this, in your opinion, correct?

I thought that the EKF, assumed that the difference between the initial state and the estimated state is not too big and the nonlinearities are not too big, would converge to the true state of the system.

NOTE: beside the difference between the actual and estimated states I have no noise, neither in the measurement nor in the process (for now I am working just in simulation, MATLAB/SIMULINK)

Thanks for your time in reading my question.

1

There are 1 best solutions below

0
On

The (Extended)Kalman filter tries to reduce the initial uncertainties on your estimates, assuming that the dynamical model is perturbed, the measurements are noisy, and initial conditions is not completely known.

Intuitively, your error on estimation can't have null covariance as long as the process disturbance and the measurement on noise have non null covariance, because the whole system is intrinsically noisy.

Try to answer to this: how can you further improve estimation if the system is perturbed? How can you further improve estimation if your sensor systematically add some noise? You can, but until a certain point.

On the other hand, if you start from uncertain initial condition, your system is not perturbed and the measurements are "clean", then the error on estimation will have null covariance.


To figure out what I said, consider an easy example (one-dimensional, linear, time-invariant, discrete-time, asymptotically stable, observable system with Gaussian white noises):

$$\begin{cases} x_k = a x_{k-1} + w_k \\ y_k = x_k + v_k \end{cases},$$

where $|a|<1$, $\mathbb{E}[w_k] = \mathbb{E}[v_k] =0$, $\mathbb{E}[w_k^2] = q \geq 0$ and $\mathbb{E}[v_k^2] =r \geq 0.$

You can find that, after the update step, the covariance of error is:

$$P_{k|k-1} = a^2 P_{k-1|k-1} + q.$$

If you look for the steady state of this equation, then you get that:

$$P_{\infty} = \frac{q}{1-a^2} \geq 0.$$

If $q=0$, then also $P_{\infty} = 0.$ But, for real world system, $q=0$ is very unlike.

Similarly, consider the covariance of prediction error after the correction step:

$$P_{k|k} = \frac{rP_{k|k-1}}{r + P_{k|k-1}} \geq 0$$

Also in this case, if $r=0$, then $P_{k|k} = 0$. Again, in real world it is very unlike to have infinitely precise measurements system, i.e. $r=0$.