How to implement an LQR controller when the system's state variables and control inputs have different units?

6 views (last 30 days)
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
Sam Chak on 12 Feb 2025
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.

Tags

Products


Release

R2023b

Community Treasure Hunt

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

Start Hunting!