You are on page 1of 15

[ ][

][

y 1( s)
g11 (s ) g12 (s )
u (s)
y 2( s) = g21 ( s) g22 (s ) 1
u2 (s)
y 3( s)
g31 ( s) g32 (s )

Forma di SMITH McMILLAN: per ricavare poli e zeri della matrice di trasferimento.

G ( s ) M ( s ) L1 ( s ) Le ( s ) G ( s ) R1 ( s ) R r ( s )=M ( s)
Pre e post moltiplicazione per MATRICI UNIMODULARI ( = determinante una costante)

[ ]

M ( s) =

1(s)
1 (s)

2( s)
2 (s)
0

0
0

p (s)
d (s)

G ( s )=

P ( s ) S ( s )=

Matrice pseudodiagonale ( G(s) rettangolare)


r min {m, p} dove r = rango[G(s)] per quasi tutti i
valori di s (**)
i(s) e i(s) sono primi tra loro
i(s) divide i+1(s) con resto nullo
i(s) divide i+1(s) con resto nullo
Polinomio degli zeri: z(s) = 1(s) (s) radici = zeri
di trasmissione
Polinomio dei poli: p(s) = 1(s) (s)
Grado di Smith McMillan = grado di p(s)

dove d(s) = denominatore comune o mcm di tutti i denominatori

] {

'1 ( s)
0
'i ( s ) monico
dove
0
'2( s)
i i+1

S(s) una matrice pseudodiagonale, ottenuta mediante sequenza di operazioni


elementari.
'

Di ( s)
Di1 (s)

i ( s )=

M ( S) =

dove Di(s) = MCD {minori (i x i) di P(s) normalizzata a monico}

1
S (s)
d ( s)

Si trovano infine i poli e gli zeri dal polinomio degli zeri e dei poli.
I poli di G(s) sono facilmente individuabili in quanto sono gli stessi poli delle
singole funzioni di trasferimento gij(s) ma non si in grado di determinare la
molteplicit del polo
Gli zeri di trasmissione non sono individuabili a partire dalla G(s)
Gli zeri di trasmissione hanno una propriet bloccante: per determinati ingressi il
sistema risponde con uscita nulla per certe fissate condizioni iniziali.
(
**) Sia z0 uno zero di trasmissione allora il rango di G(s) cade per s = z0.
Nel caso MIMO, sono accettati poli e zeri coincidenti, a differenza del caso SISO
>> Gsim = tf2sym(G)
% passo in simbolico per calcolare il determinante
>> pretty(Gsim)
% migliore visualizzazione
>> detG = det(Gsim)
% risultato fornito in simbolico
>> det(G) = sym2tf(detG) % ritorno nella forma iniziale

SINTESI MODALE ( = assegnazione o allocazione autovalori a ciclo chiuso)

Problema della stabilit


Assegnazione comportamento transitorio che dipende da autovalori

Abbiamo due scenari


1. Informazione Completa STATO ACCESSIBILE
a. Matrice C identit: x(t) = y(t)
b. Matrice C quadrata e Invertibile (nxn): x(t) = C -1y(t).
2. STATO NON ACCESSIBILE: matrice C rettangolare (nm) di rango riga pieno

x = Ax+ Bu
u ( t ) =k x ( t ) +r ( t )
x 0=x (0)
x ( t )=( AB K ) x ( t ) + B r (t )
K

K : i { AB K } C

Se la terna (A, B, C) STABILIZZABILE (=parte non raggiungibile deve essere


stabile)
sistema instabile in caterna aperta stabile in catena chiusa mediante
allocazione autovalori

K : i { AB K } C

Se la terna (A, B, C) RAGGIUNGIBILE


assegnazione autovalori a ciclo chiuso a piacimento possibile

[]

1
K : i { AB K }=
n

Stato accessibile
sistema raggiungibile

Stato accessibile
sistema stabilizzabile

OSSERVATORE
ASINTOTICO
DELLO STATO

>> K = place (A, B, aut);


>> Af = A B*K
>> eig(Af);
>> [a b c d T k] =
ctrbf(A, B, C);
>> Ar = a(n-, n- );
>> Br = b(n- , 1);
>> Kr = place (Ar, Br,
aut);
>> Khat = [zeros(pi, n), Kr];
>> K = Khat*T

1 simulazione
>> initial(sys, x0, t);
2 simulazione
>> x0 = [0; 0; 0];
>> r1 = ones (lenght(t),
1);
>> r2 = ones (lenght(t),
1);
>> r = [r1, r2];
>> lsim (sys, r, t, x0);

x = Ax+ Bu

y=Cx

OSSERVATORE
ASINTOTICO
dello STATO

Fornisce una stima dello stato t.c. lerrore di stima dello stato

e ( t )=x ( t ) ~x(t)

lim ||e ( t )||=0


t

limitato

Condizione iniziale incognita, quindi solamente stima dello stato attraverso


osservatore
Termine correttivo che corregge differenza tra condizione iniziale e quella stimata

Sistema errore = sistema in evoluzione libera

OSSERVATORE CON MODALITA DI CONVERGENZA FISSATA PRIORI: assegnazione


degli autovalori a piacimento se

^x ( t )= A ^x ( t ) + Bu ( t )L( ^y ( t ) y (t ) )
e ( t )=x ( t ) ^x ( t )=( AL C)( x ( t )^x ( t ))

[]

1
i { AL C } ( A , B , C ) osservabile
n

La coppia {A, C} deve essere rilevabile affinch L mi permetta di allocare


autovalori.

Stato non accessibile


sistema osservabile

Stato non accessibile


sistema rilevabile

>> Lt = place (A, C,


aut);
>> L = Lt;
>> Af = A L*C
>> eig(Af);
>> [a b c d T k] =
obsvf(A, B, C);
>> Ao = a(n - , n - );
>> Co = c(1, n - );
>> Lot = place (Ao, Co,
aut);
>> Lo = Lot;
>> Lhat = [zeros(n ,
1), Lo];
>> L = inv(T)*Lhat;

1 simulazione
>> initial(sys, x0, t);
2 simulazione
>> x0 = [0; 0; 0];
>> r1 = ones (lenght(t),
1);
>> r2 = ones (lenght(t),
1);
>> r = [r1, r2];
>> lsim (sys, r, t, x0);

x f =

[][

][ ] [ ]

x
= A
^x
LC

B K
x + B r
AB K L C x^
B

y=[ C 0 ]

[]

[][

x = AB K
e
0

][ ] [ ]

B K x + B
AL C e
0

x
x^

PRINCIPIO DI SEPARAZIONE: posso progettare K comese stato misurabile e L


indipendentemente

y=x se ( A . B ) raggiungibile
y=C x se ( A , B ) raggiungibile
se ( A , C ) osservabile

ALLOCAZIONE AUTOVALORI A CICLO CHIUSO

Sforzo di controllo troppo elevato se autovalori troppo distanti da asse


immaginario (saturazione)
Osservatore: dispositivo a stato accessibile, non influenza legame ingresso e
uscita.
Cosa succede alle propriet strutturali dellosservatore?
o Non raggiungibile in quanto costruito solo per inseguire stato del sistema
o Osservabile

Esempio esercizio:

Verificare se il problema di assegnazione degli autovalori a ciclo chiuso ammette


soluzione
o (A, B) raggiungibile
o (A, C) osservabile
In caso negativo verificare se il problema di stabilizzazione ammette soluzione
o (A, B) stabilizzabile
o (A, C) rilevabile

Stabilit
asintotica a ciclo
chiuso
Errore nullo a
regime
permanente in
risposta alla
classe di
riferimenti
canonici
Reiezione ai
disturbi

Allocazione
autovalori a ciclo
chiuso
Teoria del
controllo basata
sul modello
interno

Controllore

TEORIA DEL CONTROLLO BASATA SUL MODELLO INTERNO

~e ( t )=0

in risposta alla classe di riferimenti canonici

~
y ( t )= y (t)

Processo

Se i segnali considerati (y(t) e w(t)) hanno una traiettoria che pu essere


generata da opportuno sistema dinamico (ESOSISTEMA)
n grado di garantire errore di uscita che tende asintoticamente a 0
ESOSITEMA:

~
( t )=S ~
w
w(t)

Descritto da equazione differenziale omogenea

o
o

Sistema autonomo: senza ingressi, non forzato


w(t) generato come evoluzioe libera dellesosistema da opportuna
condizione iniziale w(0)
S = matrice della dinamica con dimensione (r x r)
Sisitema a stato accessibile (matrice C identit)

o
o

~
w ( t )=
~
( t )=0 ~
w
w ( t )=~
w (0 )

S=0

>> sys = ss (S, 0, 1, 0);


>> figure; initial (sys, );

w ( 0 )=
~
w ( t )= e t

~
( t )= ~
w
w(t)

S=

t
~
w ( t )=~
w (0)e

w ( 0 )=

~
( t )=~
w
w ( 0 ) e t = e t = ~
w (t)

>> sys = ss(, 0, 1, 0);


>> figure; initial (sys, );

[ ] [ ]
~
1 (t)
~
w
w (t)
=S ~1
~
2 (t)
w 2(t)
w

w ( 0 )+ t w 2 ( 0 )
~
w ( t )= 1
w2 ( 0 )

~
w ( t )=at + b

[ ]

S= 0 1
0 0

~
w ( t )=asin ( t )
~
w ( t )=acos ( t )

0
S=
0

Risoluzione delle equazioni


differenziali dallultima alla
prima
SEGNALI AUSILIARI generati
Prima componente: OFFSET
Seconda: PENDENZA
Per generare polinomio di
grado k, matrice S con r =
k+1

[ ][

~
1 (t)
~
w
w (t)
= 0 ~1
~
2 (t)
0 w2 (t)
w

[ ]

][ ]

~
w1 (t)
Acos(t+ )
=
~
Asin(t + )
w2 (t)

] [ ][

~
w ( 0)
~
w ( 0 )= ~1
w 2( 0)

A= ~
w12 ( 0 )+ ~
w22 (0)

=arctg( ~
w2 ( 0 ) , ~
w1 ( t ) )

>> S = [S1, 0; 0, S2];


>> r;
>> s=ss(S, zeros(r, 1), eye(r),
zeros(r,1)
>> w0 = [w01, w02];
%Se segnale w(t) = t2
%allora w0 = [c, b, 2a];

>> S = [0, -w; w, 0];


>> r;
>> s=ss(S, zeros(r, 1), eye(r),
zeros(r,1)
>> w0 = [Ampiezza,
sfasamento];

w
e

Processo soggetto a
disturbo generalizzato.
Trattazione unificata
Processo
Controllore

yd

[ ]

~
w= w
yd

Uscita del sistema

w
11

e ( t )= y d ( t ) y ( t)
e

Sisitema privo di riferimento,


deve garantire

Controllore

~e (t) 0

~~
P w=P w

dove

~
P=[ P 0 ]

una matrice che soddisfa tale equazione.

~
w genera anche segnali ausiliari, quindi in

x =Ax +Bu+ [ P 0 ]

~
P avremo ulteriori blocchi nulli

[ ]
w
yd

~
C=C
~ ~~
e= y d y=CxQw=C xQ w ~
w
Q~
w= y d Qw=[Q I d ]
yd

S
C

P1

[ ]

~
INFORMAZIONE COMPLETA ( x ( t ) e w ( t ) misurabili)
~
x = Ax+ Bu+~
P~
w= Ax+ B ( Kx+ L ~
w )+ P ~
w=( A+ BK ) x+ ( P+ BL ) ~
w
~ ~
e=C xQ ~
w

Progettare L, K tale che:

(S )IC ( A+ B K ) C

Stabilizzazione asintotica

Regolazione asintotica a zero dellordine di uscita e

( x ( 0 ) , w ( 0 ) )

le soluzioni

x ( t ) , w(t) sono tali che luscita del processo


~
~e ( t )=lim e ( t )=lim ~
C x ( t ) +Q ~
w ( t )=0

insegua la traiettroia desiderata, ovvero


Ipotesi di lavoro:

( R )IC

1. Matrice S ANTISTABILE, cio


progettare L)
2. (A, B) STABILIZZABILE

(S )IC

={}
( S ) C

altrimenti

(S )IC (R) IC

(non servirebbe

altrimenti non sarebbe possibile

EQUAZIONE DI SYLVESTER

AX XS=R

risolvibile

R ( A ) ( S )={} . La

soluzione X unica

LEMMA (IC)

u=Kx + L ~
w un controllore che soddisfa

Sotto lipotesi H1, sia


Allora soddisfatta

una matrice

(R)IC

(nr )

(S )IC .

t.c soddisfi:

~
S=( A+ B K ) + ( P+ B L ) eq . di Sylvester
~
~
0= C + Q eq . errore di uscita nullo

Si lavora a ciclo chiuso poich il controllore dato (le matrice L, K sono date)
Si cerca un controllore tale che abbia stabilit asintotica e che garantisca

~e ( t ) 0

Siparte dalla classe di tutti i controllori che soddisfano la prima propriet,, e si cercano
quei controllori che soddisfino anche la seconda, ovvero si lavora nellintersezione tra
gli insiemi

(S )IC ( R) IC

Dimostrazione.

u=Kx + L ~
w , con K t . c . ( A+ B K ) C , cio soddisfa

Sia

~
S=( A +B K ) + ( P+B L )

Dimostriamo che

(S )IC .

unequazione di Sylvester

A=( A + B K )
X=
{ ( A+ B K ) S= A X + X S=R
S=S
R=( ~
P+ B L )
Tale equazione risolvibile se e solo se

( A ) ( S )={} cio

( A + B K ) ( S )

infatti:

A + B K

Quindi
Affinch

stabilizzabile, quindi autovalori a parte reale negativa

antistabile, ovvero con autovalori a parte reale positiva

ununica soluzione X = .
~e ( t )= y y 0, lim y= y cio lim x=x
d

Supponiamo che lo stato desiderato evolva secondo la legge


Infatti

~ ( ) ~~ ( )
~1 ~ ( )
C xd t + Q w t =0 x d ( t ) =C Q ~
w t = ~
w (t )

Definisco lerrore di stato

~
x
I x
=
~
w
0
I ~
w

[][

x d= ~
w (t )

][ ]

~
x=xx d =x ~
w ( t ) , per fare cambiamento di base

={ }

Quindi lequazione della dinamica sar

~
x= x x d =( A+ BK ) x + (~
P+ BL) ~
w S ~
w=
( A + BK )( ~
x+ ~
w ) S ~
w=
( A + BK ) ~
x + ( ( A+ BK ) + ( ~
P+ BL ) S ) ~
w=( A+ BK ) ~
x

Errore di stato sistema stabile in evoluzione libera

( A + BK ) soddisfa la prima specifica

(R)IC
Evoluzione nel tempo delle soluzioni
Rimane da dimostrare che

( A +BK ) t
~
x ( t )=e
x ( 0)
St
~
w ( t ) =e w(0)

~e ( t ) 0

e ( t )= ~
C x ( t ) +~
Q~
w ( t )= ~
C (~x ( t )+ ~
w ( t ) ) +~
Q~
w ( t )=
~
~
~ ( )
C ~
x+(C + Q) ~
w t
~
C e ( A +BK ) t x ( 0 ) +(~
C +~
Q)e St w(0)
Quindi in conclusione

~
~e ( t )=0 ~
C + Q=0

( A + BK ) t

e
0
e w ( 0 ) 0( S antistabile)
St

TEOREMA (IC)
Sotto le ipotesi H1 e H2 il problema di regolazione a zero dellerrore

con

(S )IC

stabilit asintotica
ha soluzione

( R)IC

(nr ) e mr

tale che soddisfino le EQ. DEL REGOLATORE

~
S=A +B + P
~
~
0=C + Q

una possibile soluzione

~
(
)
u=Kx + K w con K t . c . ( A+ B K ) C

Nel lemma si lavora in catena chiusa, K e L verificabili in catena aperta;


Il teorema di tipo costruttivo, K e L non date.
Dimostrazione.

Sufficienza

K t . c .(S )IC

Dallipotesi H2

ponendo

=K + L

e sostituendo nellequazione di

Sylvester sono soddisfatte automaticamente le condizioni del lemma e quindi soddisfa

(R)IC

Sia

Necessit

u=Kx + L ~
w con controllore che soddisfa

Dal lemma si ha

( R)IC

~
S=( A+ B K ) + ( P+ B L )
~
~
0=C + Q

=K + L

Ponendo

(S )IC

avremo

~
S= A +B ( K + L ) + P

~
S= A +B + P

eq.

del regolatore
La legge di controllo pu essere letta in due modi:
Kx = feedback stabilizzante a zero

u=Kx + ( K ) ~
w=Kx+ L ~
w

u= ~
w+ K ( x ~
w)

L~
w = feedforward opportuno per avere
uscita desiderata che dipende dalla parte
stabilizzante

~
w

= feedforward puro (guadagno)

K (x ~
w)

= feedback stabilizzante a

x d= ~
w (t )

EQUAZIONI DEL REGOLATORE

A B ~
P
+ ~ =
~
C 0
Q

[ ][ ] [ ]

dove

X ( n+m )r=

[ ]
(nr )
(mr )

ESERCIZIO: progettazione controllore affinch siano soddisfatte


>> S = S; w0 = w0
>> sys_w = ss (S, zeros(r, 1), eye(r),
zeros(r,1));
>> figure; initial(sys_w, w0, t);
>> wtilde = initial(sys_w, w0, t);
>> Ctilde = -C;
>> Ptilde = [zeros(n,p), P];

Costruzione della matrice S


dellesosistema
Rappresentazione in spazio di stato
Grafico dellevoluzione libera
Salvataggio in wtilde del segnale generato
Per definizione abbiamo

~
C=C

[ ]

y
e= y d y=CxQw=~
C x + [ I p Q ] d
w

>> K= place (A, B, aut); K = -K;

pm

(R)IC

~
Pw= P ~
w=[0 P] ~
w

>> eig(S)
>> rank (ctrb(A,B));

[][ ] [ ][

Bisogna risolvere lequazione

>> Qtilde = [eye(p), -Q];

~
P
A B
~+ ~
Q C 0

(S )IC

Verifica ipotesi H1: S antistabile


Verifica ipotesi H2: raggiungibile
stabilizzabile
place alloca autovalori per A-BK, qui
abbiamo A+BK

][ ]

= I p 0nm S

0 pn 0 pm

~
R+WX =JXS
Unica equazione matriciale costituita da un unico blocco con n 1= n+p righe e m1 = r
colonne
>> quiz = sdmpb(ouputu regulation)
Inizializzazione Oggetto vuoto da
riempire
>> [quiz, Xindex]=sdmvar(quiz, n, m, X);
Dichiarazione variabili
>> [quiz, lmeindex]= sdmlme(quiz, [n1 n2], [m1
Vincolo uguaglianza
m2], name)
>> Rtilde = [Ptilde; Qtilde];
>> W = [A B; Ctilde zeros(p, m)];
Definizione termini eq. regolatore
>> J = [eye(n), zeros(n, m), zeros(p, n),
zeros(p, m);
>> quiz = sdmeq(quiz, lmeindex, Xindex, W,
Inserimento
eye(n));
Termine noto: Xindex = 0;
- = a destra del vincolo;
>> quiz = sdmeq(quiz, lmeindex, 0, Rtilde,
eye(r));
>> quiz = sdmeq(quiz, -lmeindex, J, S);
>> quiz = sdmsol(quiz)
Soluzione
>> X = quiz(Xindex)
Estrapolazione soluzione
>> Pigreco = X(1:n, :); Gamma =
Estrapolazione matrici e da X
X(n+1:m+n, :);
>> L = Gamma K*Pigreco
Calcolo matrice L
>> sys_e=ss(A+BK, BL+Ptilde, Ctilde,
Rappresentazione in spazio di stato
Qtilde);
sistema errore
>> e = lsim(sys_e, wtilde, t, x0); plot(t,
Salvataggio nella variabile e. Grafico

e);
>> sys_y = ss(A+BK, BL+Ptilde, C,
[zeros(p), Q]);
>> y = lsim(sys_y, wtilde, t, x0)
>> plot (t, y, b, t, wtilde(:, 1), r)

Cambiamento: in uscita y e non errore


Salvataggio nella variabile y
Grafico della risposta e del segnale di
riferimento

Scenario RE = reiezione dallerrore, e misurabile

Controllore dinamico C:

( t )=F ( t ) + (t)
u ( t )=H (t )

descritto dalla terna (F, G, H) che soddisfa tali

specifiche:

(S ) Stabilit asintotica a ciclo chiuso

A BH
( ~
) C
GC F

( R)

lim e ( t ) =0
t

( x ( 0 ) ,~
w ( 0 ))

le soluzioni

(x ( t ) , ( t ) , w ( t )) siano tali che

~
~ ( )
lim C x ( t )+ Q ~
w t =0
t

~
x
A BH x
P
+ ~~
w
= G ~
C F GQ
e=[ C 0 ] x +~
Q~
w

[][

][ ] [ ]
[]

Progetto OSSERVATORE DI STATO affinch mi fornisca una stima di

lim 0 ( t )=x (t )
t

lim 1 ( t )=~
w (t)
t

x = A ~
P x + B u
~
w
0 S ~
w 0

Osservatore Asintotico

[ ] [ ][ ] [ ]
[
][ ]
~ ~ x
e= C Q ~
w

[ ] [ ][ ] [ ] [ ]

~ x
0
G

= A P ~
+ B u+ 0 (e[~
C ~
Q] 0 )
0 S w
0
G1
1
1

Il termine

[]
G0
G1

[]

detto termine correttivo, tale matrice detta matrice guadagno.

Affinch losservatore sia sintotico, il sistema errore di stima

~ G
e^ (t)=( A P 0 [~
C ~
Q ] ) e^ (t)
0 S
G1

[ ][ ]

dove

e^ ( t )=

x (t )0 (t )
y ( t ) 1 (t)

deve avere evoluzione libera

che tende a 0

Ricordando che

[]
G0
G1

stato costruito in modo che

~ G
A P
~ ~

0 [C Q] C
0 S
G1

([ ] [ ]

Deve avere evoluzione livera che tenda a 0, perci inserisco ulteriore ipotesi di lavoro:

( Ae ,C e )

rilevabile.

A
G
( e 0 C e ) e^ (t)
G1
~
.
A e = A P ^ ( )
0 S e t =
C e= [ ~
C ~
Q]

[ ]

Dove

[ ]

Sostituendo la legge di controllo

u=K 0 +( K ) 1

~ ~
~

( t )=F ( t )+ (t ) 0 = A+ BK + G0 C P+ B ( K )G 0 Q 0
~
1
1
G 1 C
S
C:

u ( t )=H (t )= [ K K ] 0
1

[][

][ ]

[]

LEMMA (RE)

( F , G , H ) che soddisfano
S= A +BH + ~
P
(R) ( , ) t . c .
S=F
~
~
0=C + Q

Ipotizzando S antistabile (H1), si supponga

Il controllore garantisce anche

Le prime due equazioni possono essere scritte in maniera pi compatta

~
S= A BH + P XS= AX + R
Equazione di Sylvester

G~
C F G~
Q

[] [

][ ] [ ]

(S ) .

~
x =xx d=x ~
w

~
~
=d = w

Errore di stato

[][

~
x
lim ~
x ( t ) =0 ;
A BH ~
x
t
=

~
~
~
~
GC F

lim ( t )=0 ;

][ ]

Scriviamo lerrore nelle nuove coordinate

~~
e ( t )= C
x +
0 per t

~
~
(
C + Q)~
w

~
~
0 C + Q=0 poich S antistabile

A
BK
B( K )
A BH
~
~
~
(S )= ~
= G0 C A + BK G0 C PG0 ~
Q+ B( K )
GC F
~
~
~
G1 C
G1 C
SG1 Q

A
0
Essendo

BH
AG0 ~
C ~
PG 0 ~
Q A
~
~
G1 C SG1 Q = 0

0
~
G ~ ~
A P

([ ] [ ][ ])
0

G1

C Q C

BK
B( K )
~
~
AG 0 C
PG0 ~
Q
~
~
G1 C
SG1 Q

I
T = I
0

0 0
A f =T A f T 1=
I 0 ^
0 I

[ ]

( ^
A f ) = ( A+ BK )+ ( A e

G0
C )
G1 e

Vale, quindi, il principio di separazione.

Sia

1.

una matrice che soddisfa il teorema (IC)

S= A +B [ K

[ ]

[ ]

K ] + ~
P S= A + BK+ ~
P
I

B( K )

~ ~
~
S= A+ BK G0 C PG0 Q+B ( K )
I
G1~
C
SG1 ~
Q

[]
2.

~
~
~
S=( A+ BK G 0 C ) + PG0 Q+ B ( K )
~

S= A + B + P G0 ( C + Q ) C + Q=0

3.

~
~
~
~ ~
~
S=G1 C + SG1 Q 0=G1 ( C + Q) C + Q=0

TEOREMA (RE)

semplificando termini

Sotto ipotesi H1, H2, H3, il problema

( S ) e ( R ) ammette soluzione

~
( , ) t . c . S= A~ +B~ + P
0=C + Q

Allora il controllore basato sullosservatore come lo abbiamo definito una possibile


soluzione.
La legge di controllo la medesima

u=Kx + L ~
w=K 0 + ( K ) 1 con K : ( A+ BK ) C

ESERCIZIO: progettazione controllore affinch siano soddisfatte

(S )

Dopo aver effettuato TUTTI i passaggi che compaiono nellesercizio


>> Ae = [A, Ptilde; zeros( , ), S];
>> Ce = [Ctilde; Qtilde];
>> rank (obsv(Ae, Ce));

(S )IC

( R)
e

(R)IC

Definizione matrice Ae
Definizione matrice Ce
Controllo osservabilit per rilevabilit
(H3)
>> Gt = place (Ae, Ce, aut)
Numero di autovalori n+r
>> G = Gt
Nellambito di osservabilit lavoro con
trasposti
>> G0 = G(1:n, :);
Estrapolare matrice G0
>> G1 = G(n+1:n+r, :)
Estrapolare matrice G1
>> F = [A+G0*Ctilde-B*K, Ptilde-G0*Qtilde+B*(Gamma-K*Pigreco); -G1*Ctilde, SG1*Qtilde];
>> G = [G0; G1];
>> H = [K, Gamma K*Pigreco];
>> sys_e = ss ([A B*H; G*Ctilde F], [Ptilde; G*Qtilde]; [Ctilde, zeros(p, n+r)], Qtilde];
>> e = lsim (sys_e, wtilde, t,
Composta da 1001 righe e 2 colonne
[1;1;1;0;0;0;0;0;0;0;0])
>> figure;
Costruisco la figura per i due grafici
dellerrore
>> subplot (211), plot(t, e(:, 1)), grid;
Grafico della prima componente
dellerrore
>> subplot (212), plot(t, e(:, 2)), grid;
Grafico della seconda componente
dellerrore
>> Cy = [C, zeros(p, n+r)];
Costruisco matrice C per luscita
>> Qy = [Q, zeros(p, r-d)];
Costruisco matrice D per luscita
>> sysy=ss([A,B*H;G*Ctilde,F],
Rappresentazione in spazio di stato
[Ptilde;G*Qtilde],Cy,Qy)
delluscita
>> y=lsim(sys_y,wtilde,t,zeros(2*n+r,1));
Salvo componenti di y in una matrice
>> figure;
Costruisco la figura per confronto
>>
Confronto prima uscita con rispettiva
subplot(211),plot(t,y(:,1),'r',t,wtilde(:,3),'b'); wtilde
>>
Confronto seconda uscita con rispettiva
subplot(212),plot(t,y(:,2),'r',t,wtilde(:,4),'b'); wtilde

You might also like