Simple MIMO state-feedback controller that ensures zero-steady state error
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi guys!
I've got a little problem. I have a transfer function matrix (i just choose randomly transfer functions just for a project):
h11 = tf([1],[1 6 11 6]);
h21 = tf([1],[1 20 29 20]);
h12 = tf([1],[1 5 6]);
h22 = tf([1],[1 9 20]);
G = [h11 h12;h21 h22];
and minimal state-space representation (calculated by hand i have it on piece of paper if needed):
A = [-1 0 0 0 0;0 0 1 0 0;1 -6 -5 0 0;0 0 0 0 1;1 0 0 -20 -9];
B = [1 0;0 0;0 1;0 0;0 1];
C = [0 1 0 0 0;0 0 0 1 0];
D = zeros(2,2);
So now i want to make state-feedback controller that ensures zero-steady state error(step final value in both cases is 1):
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/292119/image.png)
Results:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/292120/image.png)
What is going on? Why there is still error for both outputs? I made some mistake in simulink model ? I would appreciate some help.
2 Commenti
Walter Roberson
il 12 Mag 2020
sys = ss(G);
minsys = minreal(sys, 1e-20);
does not agree with your hand minimum realization; minreal() believes there should be 10 states, whereas your hand derivation thinks there should be 5 states.
Risposte (1)
Piotr Pawlowski
il 19 Mag 2020
Modificato: Piotr Pawlowski
il 19 Mag 2020
Just a quick thought. I didn't check it by myself, but maybe you have bad system type. If you have type 0 system for step input, you won't get zero steady-state error (ess = 1/(1+Kp)). Thus, you will need to add additional integrator to the system.
0 Commenti
Vedere anche
Categorie
Scopri di più su Linearization in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!