How to use LQR for finding the control gain matrix K in presence of constraints?

31 views (last 30 days)
I am using the Linear quadratic Regulator (LQR), more specifically dlqr function to obtain a control gain matrix for my ss model of the form xdot=Ax+Bu and u=-Kx. However, my control value (u) is constrained by physical limits. How can i include that in the program in order to obtain appropriate K?
  2 Comments
neha
neha on 3 Aug 2018
Yes the Q and R matrices are for weightage. But what I mean is, I have an external constraint on the input that is, u=-Kx<u_max. And the optimization needs to take this into consideration while giving out the K matrix. The LQR method directly doesn't give this external constraint option. I was looking for some other function which allows this additional constraint.
Aquatris
Aquatris on 3 Aug 2018
I do not think you can define it the way you think in LQR. The only way is by trial and error choosing Q and R such that it gives you desired performance.
If you want to include the control input limits in problem formulation, I recommend you use Hinfinity or mu-synthesis control instead.

Sign in to comment.

Answers (1)

Aquatris
Aquatris on 3 Aug 2018
Edited: Aquatris on 3 Aug 2018
That is what Q and R matrices are for. Increasing the values in the R matrix will result in a decrease in control input however it might increase the magnitude of your states. So there is a trade-off between Q and R matrices.
Increasing Q will decrease the magnitude of the state vector and increase the magnitude of the control vector. Increasing R will decrease the magnitude of the control vector and increase the magnitude of state vector. It is engineers job to find the sweet spot for Q and R to achieve desired performance

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!