# Can fuzzy control be used with LQR - Gain scheduling

According to "On Electrohydraulic Pressure Control for Power Steering Applications:" it was shown that state feedback works good at hydraulic systems. Most of the time, PID controllers are used to control hydraulic systems, but even LQG/LQR controllers works very good to. Especially for MIMO hydraulic systems.

Page 125:

The linear controller is much simpler and easier to implement and its performance is good over the entire working region

But according to the article on page 124:

One way to improve the performance of the linear controller could be to use gain scheduling in order to meet the variable plant dynamics

It's because hydraulic system is nonlinear system. So then I was thinking which controller can do a better control?

• Adaptive controllers may not fit hydraulic systems because adaptive controllers requires that the dynamic system varies over time. Adaptive controllers is very good for stochastic systems e.g air plane.

• Predictive controllers may not fit hydraulic systems either, because predictive controllers want to have a very slow system with delays e.g chemical plant.

So then I have to choose fast controllers: LQR, PID or $H_{\infty}$ controller.

• PID controllers are all ready excluded because the question is "a better PID".

• $H_{\infty}$ is to difficult to implement in real processes, according to control engineers with experience. $H_{\infty}$ is only good for laboratory or system which don't need to be re-tuned once it has been tuned in, e.g hard disk drive.

Now it's only one option left - state feedback, which is LQR/LQG (Predictive control can also be state feedback).

But the problem with LQR and LQG is they both has static gains such as control law and kalman filter gain. LQR/LQG control is just a matrix with real constants. They don't change.

Question:

My question is if it's possible to implement gain scheduling with fuzzy controller for a LQG/LQG controller? The user choose some parameter scheduling by life experience. Then the fuzzy controller changing the control law and the kalman filter gain depending on the plant dynamics.

Would this work, or will it be a very bad implementation?

• I just wanted to note that with modern processors, you can use predictive controllers on very fast systems as well. It was pioneered on slow chemical processes in the 80s, but now is used all over. In the industry, I know it is/has been used to control torque in cars, so you get maximum acceleration without sliding (and after the first year was banned from Formula one races, because it made the start too easy). To be really fast, you want to ensure that your problem is convex, and it might only find local solutions. – Steve Heim Dec 29 '17 at 12:23
• @SteveHeim But isin't predictive control so difficult it requries a whole computer to to that? LQR is just a matrix of real constants. Propotional feedback with derivative. – Daniel Mårtensson Dec 29 '17 at 12:27
• Yes, it does require more computational power than LQR. But "so difficult" is relative... you usually will rely on a quadratic solver (which you can use black-box), and a model. You'll typically want to do this on a computer, both for processing power but also so you can easily change your model during development. MPC is basically LQR where you can't assume a constant linear model, and therefore don't have a closed-form solution... hence the need to be predictive. – Steve Heim Dec 29 '17 at 12:36
• @SteveHeim I have tried to learn MPC, but all I see was difficult equations and garbage. I assume that I first need to have my state space model, compute the future states by using the observability matrix and controllability matrix. Then I going to use the weighing equation with quadratic programming to find the best temporary LQR matrix. Repat. Is this right? – Daniel Mårtensson Dec 29 '17 at 12:43
• Ah, not really. How would you make predictions with an observability/controllability matrix? You would actually need your dynamics from your state-space model. And what you usually do then is to set up a quadratic program, where you use $x_[k+1] = A[k]x[k] + B[k]u[k]$ as a constraint, and pass this to a solver which hands you a trajectory of $x$ and $u$, and you use the first element of the trajectory, then redo this. Let me see if I can find a nice reference... – Steve Heim Dec 29 '17 at 14:00