Using LQR with external disturbance vector

29 views (last 30 days)
I am going through Matlab tutorials on modeling an A and B matrix for a linearized boost converter, and then using the Matlab lqr function to generate good Kgain values:
Kgain = lqr(A, B, Q, R)
So far, so good!
Now, in our actual system, we have an extra vector that models external disturbances:
X[n+1] = A*X[n] + B*U[n] + D
Our linearized system is a boost converter, so there are two states (x1 = input current, x2 = output voltage), and the disturbance vector D(2x1) represents [a sudden change in the input voltage], and [a sudden change in the output current] (I.E. a new load is switched in or out to the converter).
--> Is there a way to calculate Kgain, using the lqr function, with this external disturbance vector considered?

Accepted Answer

Amey Waghmare
Amey Waghmare on 17 Apr 2023
Hi,
As per my understanding, you are able to tune LQR controller for your system using ‘lqr’ command. Now, you want to tune LQR controller by incorporating external disturbance vector.
In order to tune the controller with external disturbances, you can use the ‘Control System Tuner’. Please refer the following documentation which describes how to minimize LQR cost with external disturbance/ noise inputs:
The following documentation explains how to use ‘TuningGoal.LQG’ class for tuning. ‘w(t)’ refers to external disturbance, noise or command to the system.
I hope this helps.

More Answers (0)

Tags

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!