MATLAB Answers

How do I obtain the matrix Q and R in LQR?

34 views (last 30 days)
Chin Keat Lim
Chin Keat Lim on 1 Apr 2018
Answered: Raj on 21 May 2019
In my state space model, it seems to have some uncontrollable states. As I am using the command of
co = ctrb(sys),
controllability = rank(co),
I found out that it only have 2 controllability but then I have 6 states variable. Is this still possible to design a LQR controller for my system? And how do I obtain the matrices Q and R for the LQR controller?

Answers (1)

Raj on 21 May 2019
My response is quite late but since nobody has answered this question let me give a try. Maybe it'll benefit other people with similar doubt.
Check whether the uncontrollable states are stable using the Eigen vlaues. There is a difference between controllability and Stability. Its quite possible that the states which are not controllable are already stable. In that case you can design LQR controller to stabilize and control the states which are contollable.
Regarding selection of Q and R, there is no specific rule here. Its just trial and error. You have to start with a nominal guess (I suggest use Bryson's rule here) and then see your system's time response. Retune the matrices to get the desired response.
Hope this helps!!

Community Treasure Hunt

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

Start Hunting!