What's the difference between Adaptive Control and a Kalman Filter?

From my basic understanding of Adaptive Control, I understand that it uses the error and the velocity of the error to approximate the error in the solution space of a problem, thus allowing for guaranteed convergence under certain conditions and rapid adaptation to changing conditions. I've accumulated this knowledge basically from anecdotal evidence and from this video.

From my basic understanding of a Kalman Filter, it takes into account the error from past measurements to estimate the current state with greater accuracy.

From my flawed perspective, they seem almost identical, but what's the difference between the two? I've heard anecdotally that they are duals of each other, but that the Kalman Filter is only for linear systems? Is this close to the truth?

The Kalman Filter only estimates the current state variables of the system, but doesn't (try to) influence the future state of the system. So a Kalman filter alone is just adaptive observation. I'm not sure whether it makes sense to say that adaptive observation is dual to adaptive control, because adaptive control implies some observation based feedback mechanism, while adaptive observation is just adaptive over time, but doesn't need any control based feedback mechanism, even so it doesn't exclude it.

A mathematically pure Kalman filter only applies to (discrete or continuous) linear system of the form $x_k = F_k x_{k-1} + B_k u_k + w_k$ where $F_k$ and $B_k$ are matrices, $u_k$ in the known control signal, $w_k$ is noise with a Gaussian distribution, and the observed signal is $z_k = H_k x_k + v_k$ with a matrix $H_k$ and noise $v_k$. However, the extended Kalman filter overcomes these restrictions sufficiently well, so that this is no real limitation. However, what stays true is that there should already be a sufficiently accurate model of the system. The noise terms allow to compensate for some model errors, but the overall model still has to be sufficiently predictive, because no adaptive model adjustment is performed, only the current state variables are estimated adaptively.

The video shows strongly nonlinear adaptive neural networks. This is completely different from Kalman filters, because here even the model of the system itself is adaptively adjusted. This resembles more closely what we do ourselves, in case our experiences don't match with out expectations and predictions.

• nothing which requires a static model of the system and does not update it is called "adaptive" in control theory.
– JMJ
Oct 9 '17 at 21:31

These are two fundamentally different parts of control theory, although the way that they work is kindof similar. In a Kalman Filter you assume a model for your system and a model for your error and the filter estimates the dynamic states of the model, which change as a function of time. On the other hand, with adaptive control you assume a model, but define some parameters of the model that are unknown. Usually these are assumed to be fixed in time or changing slowly with respect to your system dynamics. The adaptive part then estimates these parameters, and the controller acts accordingly to control the states. You can actual use a Kalman Filter and adaptive control at the same time, each one achieving a different control result for your system.

Technically a controller and observer are different by definition. I will illustrate the difference between an adaptive observer, versus a classical observer here. In the classical observer you have the observed signal , $z_k$ and you estimate $x_k$ in real time. An adaptive observer would also estimate plant parameters in real time as well, say $F$ in this example (lets not let it change with time). So not only would you have an estimate $\hat x_k$ but also an estimate of $\hat F_k$ as well (which can change with each time step as more information is obtained). Look at work by Narendra, Annaswamy, etc.