From my internet research, it seems there's no systematic way of tuning the design parameters for the LQR controller. I have found Bryson’s rule as an initialization. However I don't know how to proceed from this point besides trial and error or grid search. Ideally I want to tune the parameters such that the settling time for specific state variables are below a threshold. Additionally I want to make constraints on the sensitivity function, such that disturbances up to a specific frequency are attenuated. Is there a recommended way to tune my parameters such that requirements can be fulfilled ?


There are many ways. But, all of them are either trivial or subjective. The most fair way I have found so far is to use Interactive Genetic Algorithm (IGA). IGA uses the human subjectivity to lead the GA optimization. Here is a research performing all you need for Model Predictive Control (MPC) [the same as LQR but respecting constraints too]. In your case, the constraints are offline. In this work, a multi-objective GA is used and applied constraints on the results. Then I got a huge pareto-front and applied an IGA to get the best result out of them which looks appealing to a human. You can directly apply IGA without a multi-objective GA too. But, a GA before IGA does a great filtering.

If you don't have access to IEEE, follow the chapter 4 of my thesis (sorry for the goatic font. I ran out of the symbols).

You can apply constraints either during optimization (at a GA before IGA) or in real-time (MPC instead of LQR). In my case, both of the constraints are applied.

  • $\begingroup$ I am not sure if the explanations have been clear. Please ask if not. $\endgroup$ – Arash Apr 19 '19 at 3:56
  • $\begingroup$ Could you list these other methods? Advertising your own developed method is fine, but it seems maybe a little biased :p $\endgroup$ – morbo Jan 14 '20 at 17:27
  • $\begingroup$ @morbo, one way which is not a good way is to set every weight equal to one divided by the maximum allowed value. Another way is to use a fuzzy decision making. Although, using IGA is the best. $\endgroup$ – Arash Jan 17 '20 at 10:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.