How to implement an LQR controller when the system's state variables and control inputs have different units?
Show older comments
Hello,
I am wondering how to implement an LQR controller when the state variables and control inputs have different units.
For example, if the state vector is x=[β p r φ ψ F_T]^T and the control input vector is u=[δa δr δT]^T, with the units of the state variables and control inputs being (rad, rad/s, rad/s, rad, rad, lbf) and (rad, rad, lbf) respectively, how should I account for these unit differences when designing the LQR controller? I am particularly curious about how these units should be handled during both the controller design and when plotting the results of the state variables and control inputs, etc.
Answers (1)
Sam Chak
on 12 Feb 2025
0 votes
Hi @준호
Could you provide a simple code example involving lqr() to illustrate your concern? There should not be any issues with the control input if you ensure that both the left-hand and right-hand sides of the equation have the same dimensions. If you still have concerns, one approach is to non-dimensionalize the entire system before performing the LQR computation.
Categories
Find more on State-Space Control Design in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!