I have tried to find out about this from quite a few sources but it still remains unclear to me. I know that the Luenberger observer is applicable for a deterministic system with known control inputs while the Kalman filter is used for a stochastic linear dynamic system. There are versions of Kalman filters that are implementable for nonlinear systems with process and measurement noise, which is what we have in practice. Although there is an extended version of the Luenberger observer as well which could theoretically be applied to nonlinear systems, I have not found much about its practical applicability in the real world. So my question is - Is Luenberger observer used in practice? If yes, please provide a few examples to support your answer.
-
$\begingroup$ If the Luenberger observer is constant and combined with a constant state feedback gain one can effectively simplify that to just a transfer function of the same order as your model. And transfer functions are probably often used in practical systems. $\endgroup$– fibonaticDec 31, 2022 at 11:06
2 Answers
I don't understand the question here. It seems like the question boils down to "Kalman filters can be adapted to nonlinear systems, so why use Luenberger observers?" There are plenty of linear systems, and plenty of nonlinear systems that can be linearized.
Anywhere that you could use a standard Kalman filter you could also use a Luenberger observer. Personally I think the Luenberger observer is easier to understand and (importantly) easier to tune. The thumbrule I was taught was to have observer poles 5 to 10 times faster than the controller poles, to ensure your controller is acting on plant dynamics and not observer dynamics.
I don't know of any equivalent guidance for Kalman filters. Kalman filters require some values for process and measurement noise. The measurement noise is generally straightforward, but I have yet to read anything compelling on how to characterize process noise. Usually what winds up happening is the creation of a "tuning knob" that creates some ratio of process-to-measurement noise, and then you adjust that until you get some output that looks okay.
My issue with random adjustments is that I don't get a good feel for filter dynamics with that approach, which means then that it's hard to ensure that my controller is controlling the system and not just getting excited by filter dynamics.
In short, if you know you've got a good system model, I think you can get better control with the Luenberger observers. If you don't have a great system model, or the entirety of your model is essentially noise effects, then you can go with some basic motion model and use a Kalman filter. I've used Kalman filters to estimate wind effects, for example.
This is just my personal experience doing controls development.
-
$\begingroup$ Hi Chuck! Thank you for your answer. My question was whether the Luenberger observer is even applied in practice or if it's just a theoretical concept for the LTI system (which itself just exists in theory; linearizing nonlinear system about an operating point is a localized approximation). Its mathematical formulation doesn't include the effect of noise but in real life, we do have noise. Are you effectively saying that if our signal-to-noise ratio is considerably large, we can very well apply the Luenberger observer instead of the Kalman filter for state estimation? $\endgroup$ Jan 1 at 2:44
-
$\begingroup$ @OrangeDurito I'm saying I prefer it to Kalman filters because it gives me a really good way to ensure the filter dynamics settle faster than the controller, which ensures the controller is acting on plant dynamics and not controller dynamics. Not sure why you're saying LTI systems only exist in theory; motor control is a great LTI system. Torque is the input, [0; 1/J] is the B matrix, states are motor speed and position. Remember LTI systems are just that the A and B matrices are static; they can still have inputs and dynamics. $\endgroup$– Chuck ♦Jan 1 at 13:08
-
$\begingroup$ Sorry for my incorrect assumption that LTI systems only exist in theory (or rather apology for putting it wrongly). What I meant was, even if the dynamic model of the system derived through Physics' first principles is LTI, there will still be noise in practice like process (non-ideal external conditions) and measurement noise (imperfect sensors) which are not accounted for in the Luenberger observer. So will it still be effective in state estimation compared to the Kalman filter (which does account for noise in modeling)? $\endgroup$ Jan 2 at 22:51
-
1$\begingroup$ @OrangeDurito - I'll give you the same advice I give lots of people: try it! Make a system, apply some noise, and try estimating state with both filters. Since you're simulating it you'll know actual state values and can score the filters. Then wrap a controller around the system, using the filter outputs for state feedback control. If you keep increasing the speed of the controller poles then you can also increase the speed of the observer poles, but I don't think there's such an adjustment in the Kalman filter. But again: try it! See what estimates state better and what's better for control! $\endgroup$– Chuck ♦Jan 3 at 0:18
State observers don't need to be linear, either. You just need to be more thoughtful about the correction tuning--those gains can be scheduled, too.
Another advantage of the Luenberger form is that the correction can often be interpreted as an estimate of the disturbance/load, and can be used in control.