Zustandsregler mit Beobachter
(EN google-translate)
(PL google-translate)
Zur Verdeutlichung soll die Situation "Zustandsregler mit Beobachter" zunächst simuliert werden. D.h. statt des "echten" realen Systems dient ein weiteres Modell als als "realses System":
clear();
function f = rechteSeite(t,y)
real_phi = y(1,1); //Pixelposition
real_omega = y(2,1); //Pixelgeschwindigkeit "w"
real_alfa = y(3,1); //Pixelbeschleunigung
real_intphi = y(4,1); //Integral von Phi
sim_phi = y(5,1); //Pixelposition
sim_omega = y(6,1); //Pixelgeschwindigkeit "w"
sim_alfa = y(7,1); //Pixelbeschleunigung
sim_intphi = y(8,1); //Integral von Phi
a=36.0;
b=326.0;
c=115509.0;
R=[0.1028838, 0.0075232, 0.0001731, 0.4205213];
u = -R*y(5:8,1); //simuliertes y als Grundlage fuer u.
usim = u + 0.01*(real_phi-sim_phi); //Abweichung zw. realem und simul. phi zurueckfuehren.
f(1,1) = real_omega;
f(2,1) = real_alfa;
f(3,1) = -a*real_alfa-b*real_omega+c*u;
f(4,1) = real_phi;
f(5,1) = sim_omega;
f(6,1) = sim_alfa;
f(7,1) = -a*sim_alfa-b*sim_omega+c*usim;
f(8,1) = sim_phi;
endfunction
//Testweise wie in der Messung simulieren:
t=linspace(0,1.0,100);
t0=0.0;
y0=[100;0;0;0; 0;0;0;0];
y=ode(y0,t0,t,rechteSeite);
//wird das reale system ausgeregelt?:
plot(t,y(1,:),t,y(5,:)); //real_phi und sim_phi
Code 0-1: Simulation "reales" beobachtetes System und Zustandsregler.
Bild 0-1: Verlauf reales phi (durchgezogen) und simuliertes phi (gestrichelt).