We’re rewarding the question askers & reputations are being recalculated! Read more.
49

1. There is a Difference in terms of optimality criteria Kalman filter is a Linear estimator. It is a linear optimal estimator - i.e. infers model parameters of interest from indirect, inaccurate and uncertain observations. But optimal in what sense? If all noise is Gaussian, the Kalman filter minimizes the mean square error of the estimated parameters. ...


24

Is this a valid way of introducing speed estimates into the process? If you choose your state appropriately, then the speed estimates come "for free". See the derivation of the signal model below (for the simple 1-D case we've been looking at). Signal Model, Take 2 So, we really need to agree on a signal model before we can move this forward. From your ...


17

I found a good way of thinking intuitively of Kalman Gain $K$. If you write $K$ this way $\displaystyle \quad\ \bf{K_k} = \bf{P_k^-\, H_k^{\rm T} (H_k P_k^-\, H_k^{\rm T} + R_k)^{-1}} = \bf{\frac {P_k^-\, H_k^{\rm T}}{H_k P_k^-\, H_k^{\rm T} + R_k}}$ you will realize that the relative magnitudes of matrices ($R_k$) and ($P_k$) control a relation between ...


17

For some context, let's go back to the Kalman Filter equations: $\mathbf{x}(k+1) = \mathbf{F}(k) \mathbf{x}(k) + \mathbf{G}(k) \mathbf{u}(k) + \mathbf{w}(k) \\ \mathbf{z}(k) = \mathbf{H}(k) \mathbf{x}(k) + \mathbf{v}(k)$. In short, for a plain vanilla KF: $\mathbf{F}(k)$ must be fully defined. This comes straight from the differential equations of the ...


16

The answer is simple: if your system is linear, then a (regular) Kalman filter will do just fine. A very brief summary of the differences between the two: The extended Kalman filter (EKF) is an extension that can be applied to nonlinear systems. The requirement of linear equations for the measurement and state-transition models is relaxed; instead, the ...


15

Many years ago I wrote this tutorial on the Kalman filter. It derives the filter using both the conventional matrix approach as well as showing it's statistical assumptions as an 'optimal' least squares filter.


13

First you have to assume a motion model. Let's say you wish to track a ball flying through the air. The ball has a downward acceleration due to gravity of 9.8m/s^2. So in this case the constant acceleration motion model is appropriate. Under this model, your state is position, velocity, and acceleration. Given the previous state you can easily predict ...


12

The Kalman gain tells you how much I want to change my estimate by given a measurement. ${\bf S}_k$ is the estimated covariance matrix of the measurements ${\bf z}_k$. This tells us the "variability" in our measurements. If it's large, it means that the measurements "change" a lot. So your confidence in these measurements is low. On the other hand, if ${\...


12

A state variable and its derivative are often included as inputs to a Kalman filter, but this is not required. The essence of the Kalman framework is that the system in question has some internal state that you are trying to estimate. You estimate those state variables based on your measurements of that system's observables over time. In many cases, you can'...


12

One approach would be to cast the problem as least-squares smoothing. The idea is to locally fit a polynomial with a moving window, then evaluate the derivative of the polynomial. This answer about Savitzky-Golay filtering has some theoretical background on how it works for nonuniform sampling. In this case, code is probably more illuminating as to the ...


12

Roughly speaking, they are the amount of noise in your system. Process noise is the noise in the process - if the system is a moving car on the interstate on cruise control, there will be slight variations in the speed due to bumps, hills, winds, and so on. Q tells how much variance and covariance there is. The diagonal of Q contains the variance of each ...


10

You would not make a constant-acceleration assumption in this case. You would typically do that if you had no means of measuring the system's acceleration, but you say that it is observable for your case. The most obvious way to model this system would be using the state vector $$ \mathbf{x_k} = \left [ \begin{array}{c}x_k \\ \dot{x}_k \\ \ddot{x}_k \end{...


9

I'm the author of the textbook linked to above. This is a new account and thus I am not allowed to reply to that answer. Anyway, the Gaussian chapter covers the definition of a covariance matrix. In general though your Q matrix will be full, not a diagonal, because there is correlation between the state variables. For example, suppose you are tracking ...


8

I unfortunately don't know a whole lot about Kalman filters, but I think I can help you out with the state space stuff. In Example 1, the AR model is exactly your good old DSP recursive definition of output: $$ y_t = \alpha + \phi_1y_{t-1} + \phi_2y_{t-2} + \eta_t$$ In this case we write down the state-space model with direct correspondence with the above ...


7

This online course is very easy and straightforward to understand and to me it explained Kalman filters really well. It's called "Programming a Robotic Car", and it talks about three methods of localiczation: Monte Carlo localization, Kalman filters and particle filters. It does focus on sonar information as an example, but the explanation is simple enough ...


7

If you can do it that way, it makes it straight forward to implement the Kalman filter. As an example - consider a constant velocity model in Cartesian coordinates, but the only thing you are measuring is the position (not velocity) and you are measuring the position in a Cartesian coordinate system. Then your $\mathbf{H}$ matrix will only pick off the ...


7

I think the confusion comes from the authors not parameterizing things clearly. Furthermore, by switching to geometric algebra rather than quaternions, some additional confusion can be cleared up. The main difference between normal vector algebra and geometric algebra is that we can multiply vectors. So of $e_x$, $e_y$, and $e_z$ are our (orthonormal) ...


6

The difference is quite huge, since they are two completely different models which can be used to tackle the same problem. Let's do a quick recap. Polynomial regression is a way of function approximation. We have a data set of the form $\lbrace x_i, z_i \rbrace$ and wish to determine the functional relationship, which is often expressed by estimating the ...


6

My answer is that if it's linear system you should use KF; if it's nonlinear system with weak nonlinearity you should use EKF, if the nonlinear system with high nonlinearity you may consider the well-known UKF. I draw a graph for this, hopefully, it's useful.


6

First and foremost I really recommend this great textbook project about Kalman filtering. You can find some words about setting the process noise here. There is also a pdf version of it. In every step the filter estimates a multivariate normal distribution with parameters $\mu = x$ (state vector) and $\sigma = P$ (covariance matrix). By looking the Kalman ...


6

The Kalman filter is the optimal filter under various assumptions. You need to check whether those assumptions hold in your case: a) the model perfectly matches the real system, b) the entering noise is white and Gaussian and c) the covariances of the noise are exactly known. Without further detail I can't say whether your statement My ...


6

Well, in continuous time, a sinusoid with a bias can be seen as the output of the linear system \begin{align*} \begin{bmatrix}\dot x_1\\\dot x_2\\\dot x_3\end{bmatrix} &= \begin{bmatrix}0 & 1 & 0\\-\omega^2&0&0\\0 &0 &0\end{bmatrix}\begin{bmatrix}x_1\\x_2\\x_3\end{bmatrix}\\ y &= \begin{bmatrix}1&0&1\end{bmatrix} \...


5

A quick literature survey tells me that the EKF is commonly used in GPS, location/navigation systems and also in unmanned aerial vehicles. [See for instance ``Application of Extended Kalman Filter Towards UAV Identification,'' Abhijit G. Kallapur, Shaaban S. Ali and Sreenatha G. Anavatti, Springer (2007)]. If you have reason to believe that a linear ...


5

Your derivations are correct. $\bar P = P(t|t-1)$ and $K(t) = A \bar K$ Is this your confusion: Why didn't they have the term $t|t-1$ in the Kalman Gain and Covariance Matrix Expressions? How can this be "stationary" when your derivation shows that it is time varying? Bad choice of notation on the book's part Let's look at the expression: $ \bar P =...


5

When you are doing visual tracking you need a model, which is a mathematical representation of a real-world process. This model will give sense to any data obtained from measurements, will connect the numbers we put into and we get out of the system. But a model is a simplification of reality because you will use a reduced number of parameters. What you don'...


5

Not an expert on kalman filters, however I believe traditional Kalman filtering presumes a linear relationship between the observable data, and data you wish to infer, in contrast to more intricate ones like the Extended Kalman filters that can assume non-linear relationships. With that in mind, I believe that for a traditional Kalman filter, on-line linear ...


5

It depends on what you mean by a "randomly moving object". If you are trying to track something that truly moves around in a totally uncorrelated manner from sample to sample (like, say, a laser pointer that flickers on and off and randomly changes position in your camera images) then a linear tracker will not give you insight into the object's state. ...


5

I'm unsure if this is the answer you are looking for, but why not save and share $|H_i|^2$ in addition to the least squares estimates? If you have $w_1^*=\frac 1 {|H_1|^2} H_1^t d_1$, $w_2^*=\frac 1 {|H_2|^2} H_2^t d_2$, and also know $|H_1|^2$ and $|H_2|^2$, you get the total least squares estimate with: $w^*=\frac 1 {|H_1|^2+|H_2|^2} (H_1^t d_1 + H_2^t ...


5

Well, let's look at the two issues: 1) linearity and 2) Gaussianity. Linearity If you're imaging moving 3D objects (people) with a single camera, then you're working with a 2D projection of those 3D objects. That dimensionality reduction can cause non-linearities to appear. Take a 2D to 1D example: an object moving in a circle in 2D. The object is ...


5

In addition to Peter's answer, if you have a nonlinear system that is well-behaved in a sense of being only mildly nonlinear or at least exhibiting no discontinuities, special variants of the Kalman filter can still be applied. Extended Kalman Filter This filter linearizes the system at the current state of the system using a first order Taylor Series ...


Only top voted, non community-wiki answers of a minimum length are eligible