Prof. Claudio Melchiorri DEIS-Università di Bologna Tel. 051 2093034 e-mail: [email protected]http://www-lar.deis.unibo.it/people/cmelchiorri Introduzione al controllo ottimo Introduzione al controllo ottimo CONTROLLI AUTOMATICI LS Ingegneria Informatica
81
Embed
Prof. Claudio Melchiorri DEIS-Università di Bologna Tel ... · Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009 4. Controllo ottimo LQ 22 Ha grande importanza il caso in
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Introduzione al controllo ottimoIntroduzione al controllo ottimo
CONTROLLI AUTOMATICI LSIngegneria Informatica
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
2Progetto di un sistema di controlloProgetto di un sistema di controlloTecniche “classiche” - Basate su specifiche:
nel dominio dei tempi (tempo di salita, sorpasso percentuale, errori a regime, …)nel dominio delle frequenze (margini di fase e/o di ampiezza)
Progetto “iterativo” la cui soluzione, non univoca, viene spesso determinata per tentativi
Inconvenienti:Non estendibili facilmente a sistemi MIMONon vi è considerazione esplicita della energia di controlloNon si può determinare la soluzione “ottima”Non applicabili a modelli non stazionariSe non si soddisfano le specifiche, non si può dire se è a causa dell’insufficienza delle tecniche a disposizione o per la incompatibilitàdi alcuni degli obiettivi
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
3Progetto di un sistema di controlloProgetto di un sistema di controlloTecniche “moderne” - Basate sulla definizione di un indice di comportamento (Performance Index) di cui si vuole ottenere un minimo, per esempio:
Le prestazioni del sistema sono quindi definite ottime rispetto all’indice definito.
In genere nella definizione dell’indice di comportamento si considerano diverse esigenze (talvolta contraddittorie tra loro) e si ottengono quindi soluzioni di compromesso.
Problemi molto simili a quelli della ottimizzazione trattati in Ricerca Operativa.
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
4
Problemi di Ottimizzazione
Progetto di un sistema di controlloProgetto di un sistema di controllo
Progetto della legge di controllo
Controllo incatena aperta
Controllo inretroazione
Stima dello stato
Retroazione dello stato
Ambitodeterministico
Ambitostocastistico
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
5Controllo ottimoControllo ottimoSia dato il sistema dinamico
Una espressione generale dell’indice di comportamento può essere la seguente
Problema del controllo ottimo: determinare uo(t) in [t0, tf] in modo da minimizzare l’indice J.
”Peso” sulla evoluzione in [t0, tf]”Peso” sullo stato finale
(1)
(2)
(3)
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
6Controllo ottimoControllo ottimo
La seconda equazione, che è vettoriale (in genere sono q · n relazioni) ed algebrica, non è necessariamente presente nel modello del problema, e rappresenta un insieme ammissibile per lo stato all’istante finale tf.
Per avere soluzione, almeno uno degli elementi χ[x(tf), tf] deve essereraggiungibile da x0.
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
7Controllo ottimoControllo ottimoCondizione necessaria perché il problema di controllo ottimo descritto dalle (1)-(3) abbia soluzione, cioè che uo(t) se esiste sia ottimo, è che, definita la funzione hamiltoniana:
in corrispondenza di uo(t) sia verificato -oltre che alle eq. (1) e (2) - il seguente sistema di equazioni:
dette di Eulero-Lagrange.
Dinamica del sistemaCo-stato o variabili aggiuntedi dimensione n (come x)
Funzione dell’indicedi comportamento
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
8Controllo ottimoControllo ottimoEquazioni di Eulero-Lagrange:
la prima è detta del sistema aggiunto, in quanto definisce la dinamica delle co-variabili di stato.la seconda è detta condizione di stazionarietà.
Se l’istante tf non è specificato, deve valere la seguente condizione
N.B. si hanno condizioni iniziali su x (x(t0) = x0) e condizioni finali su λ (λ(tf)), cioè in due istanti temporali diversi (two-point boundary problem). Questo in generale rende di difficile soluzione il problema della loro integrazione numerica.
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
9Controllo ottimoControllo ottimoNel caso stazionario la condizione appena vista diviene
ma:
H è costante sulla traiettoria ottima
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
10Controllo ottimoControllo ottimo
Vi sono alcuni casi particolari di controllo ottimo di grande interesse:
1) Non esistono vincoli sullo stato per t = tf
2) Vi sono vincoli espressi da equazioni algebriche separate nelle variabili di stato
3) Il criterio di bontà è dato dalla durata T = tf - t0 (controllo in tempo minimo)
4) Controllo “LQ” (Lineare Quadratico)
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
111. Controllo ottimo senza vincoli finali1. Controllo ottimo senza vincoli finaliL’insieme ammissibile per lo stato del sistema all’istante finale tf coincide con l’intero spazio degli stati, ovvero non esiste l’eq. algebrica (2). Le eq.ni di Eulero-Lagrange si semplificano (le cond. al contorno) e si ha
Se l’istante tf non è specificato, deve valere la seguente condizione
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
121. Controllo ottimo senza vincoli finali1. Controllo ottimo senza vincoli finaliEsempio. Sia dato un punto materiale di massa m, in moto rettilineo, e sia possibile applicare alla massa una forza f diretta come il moto. Sono note all’istante t0 la posizione x(t0) = x10 e la velocità x20
Si vuole determinare la legge f(t) in [t0, tf], con tf = 10 s, in modo che all’istante tf il punto materiale sia
sufficientemente vicino all’origine limitando sufficientemente l’azione di controllo.
mf
x
Con u(t) = f(t)/m
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
131. Controllo ottimo senza vincoli finali1. Controllo ottimo senza vincoli finaliL’indice di comportamento può essere scelto come
Dove c1 e c2 sono opportune costanti definite in modo da quantificare i termini “sufficientemente”. Sia c1 = c2 = 1 e x10 = 1 m, x20 = 1 m/s.
Un possibile controllo u(t) potrebbe essere calcolato risolvendo il sistema di equazioni differenziali. Integrando le due equazioni differenziali si ottiene infatti:
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
141. Controllo ottimo senza vincoli finali1. Controllo ottimo senza vincoli finaliIn questo caso però non si considera la penalizzazione sull’azione di controllo (sarebbe il controllo ottimo nel caso c2 =0)
e ci si deve quindi aspettare che altre scelte di u forniscano valori minori di J. Scegliendo ad esempio:
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
151. Controllo ottimo senza vincoli finali1. Controllo ottimo senza vincoli finaliApplicando il criterio derivante dalla funzione hamiltoniana
Si ha (c1 = c2 = 1)
e
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
161. Controllo ottimo senza vincoli finali1. Controllo ottimo senza vincoli finaliSi devono ora calcolare gli stati finali integrando le equazioni del modello:
Da cui infine la legge di controllo ottimo
Integrando in questo caso si ottiene
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
172. 2. ControlloControllo ottimoottimo con con vincolivincoli separatiseparati a a ttff
L’espressione (2) che definisce i vincoli sullo stato all’istante finale può talvolta essere espressa in modo che i vincoli sulle singole variabili di stato siano indipendenti gli uni dagli altri (vincoli separati). Si ha dunque
La condizione al contorno (per t = tf) nelle eq.ni di Eulero-Lagrange è
νi sono opportune costanti da definire nel progetto
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
182. 2. ControlloControllo ottimoottimo con con vincolivincoli separatiseparati a a ttff
Esempio. Si consideri ancora il punto materiale di massa m, in cui siimpone che la velocità all’istante finale tf sia assegnata x2(tf) = x2f
Il modello per il controllo ottimo è allora
Si supponga di voler minimizzare l’energia di controllo
Uso solo questo termine
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
192. 2. ControlloControllo ottimoottimo con con vincolivincoli separatiseparati a a ttff
Dalle eq.ni di Eulero-Lagrange si ottiene
Integrando le eq.ni differenziali
costante
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
203. Controllo ottimo in tempo minimo3. Controllo ottimo in tempo minimoUn problema di controllo è detto in tempo minimo quando il criterio di giudizio della bontà del controllo è dato dalla lunghezza del periodo [t0 – tf] durante il quale si applica il controllo.Il sistema è quindi
E l’indice di comportamento è semplicemente
Si noti che in questo tipo di problema in genere è definito il vincolo (2) in quanto altrimenti non sarebbe specificata la condizione da raggiungere e quindi la soluzione sarebbe tf = t0.
(1)
(2)
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
213. Controllo ottimo in tempo minimo3. Controllo ottimo in tempo minimoLa funzione hamiltoniana diventa
e le equazioni di Eulero-Lagrange
Se l’istante tf non è specificato, deve valere la seguente condizione
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
224. Controllo ottimo LQ4. Controllo ottimo LQHa grande importanza il caso in cui
il sistema dinamico da controllare è di tipo linearele funzioni che compaiono nell’indice di comportamento sono quadratiche
Questo tipo di problemi viene detto LQ (Lineare – Quadratico)
Potenza di controllo
Strettamente d.p.Solitamente le matrici Sf, Q e R sono scelte diagonali (elementi penalizzanti i quadrati delle singole componenti di xf, x ed u).
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
234. Controllo di tipo LQ4. Controllo di tipo LQSi può dimostrare che condizione necessaria per la soluzione del problema è che definita la funzione hamiltoniana
risulti
Da cui
Matrice R invertibile!
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
244. Controllo di tipo LQ 4. Controllo di tipo LQ –– controllo a minima energiacontrollo a minima energiaCaso particolarmente interessante: Sf = Q(t) = 0 e R(t) = I. Con solamente queste condizioni, la soluzione ottima sarebbe u(t) = 0. Si impongono soluzioni anche sullo stato finale x(tf), con tf assegnato. Se ilsistema è stazionario:
Il problema consiste nel trovare il controllo a minima energia in grado di trasferire lo stato da uno stato iniziale assegnato ad uno finale assegnato anch’esso. Si suppone che il sistema sia completamente controllabile.La condizione necessaria è
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
254. Controllo di tipo LQ 4. Controllo di tipo LQ –– controllo a minima energiacontrollo a minima energiaSi deve calcolare il termine λ(t). Dalla penultima equazione si ha
E quindi
Sostituendo nel modello del sistema
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
264. Controllo di tipo LQ 4. Controllo di tipo LQ –– controllo a minima energiacontrollo a minima energiaSi è ottenuto
La matrice Wc è detta gramiano di controllabilità (invertibile se il sistema ècompletamente controllabile). Si ricava dunque λf come
ed infine la legge di controllo ottimo:
Controllo a minima energia che porta lo stato dal valore iniziale x0 a quello finale xf nell’intervallo [t0 - tf].
Controllo ottimoControllo ottimoParte 2 Parte 2 –– Controllo ottimo LQControllo ottimo LQ
CONTROLLI AUTOMATICI LSIngegneria Informatica
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
28ControlloControllo ottimoottimoProblema di controllo ottimo in [t0 – tf]:
Catena aperta: NON dipende da x(t), progetto sulla base di conoscenzepregresse (stato e modello)In retroazione: dipende da x(t), aumenta la robustezza
NB. Il “controllo ottimo” è unico! Volendo definire una legge di controllo ottimo in retroazione, non si cerca una diversa legge di controllo (se esiste è unica) ma una sua differente realizzazione!
In retroazione: espressa in funzione di x(t) anziché di t. Può essere ottima?
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
29ControlloControllo ottimoottimoPrincipio di ottimalità (di Bellman)Se la legge di controllo uo(t), definita in [t0, tf], è ottima rispetto ad un dato problema con condizioni iniziali (x0, t0) e ad essa è associato l’andamento xo(t), allora la stessa legge di controllo è ottima in [t, tf] relativamente allo stesso problema con condizioni iniziali [xo(t), t] per ogni t ∈ [t0, tf].Segue che se uo(t) è una legge di controllo ottima in [t0, tf], essa si può esprimere in ogni istante t come funzione di xo(t), cioè
Non viene specificato come calcolare uo(t) in funzione di x(t).
t tt0 tf
xo(t) xo(t)
xo(t1)x x
t0 tft1
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
il sistema dinamico da controllare è di tipo linearele funzioni che compaiono nell’indice di comportamento sono quadratiche
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
31Controllo ottimo LQControllo ottimo LQSi può dimostrare che condizione necessaria per la soluzione delproblema è che definita la funzione hamiltoniana
risulti
Da cui
Come calcolare λ(t) ? ?
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
32ControlloControllo ottimoottimo LQLQPer il vettore di co-stato λ(t) si hanno le condizioni al contorno (all’istantefinale tf) espresse dalla relazione lineare λ(tf) = 2 Sf x(tf).
E` possibile trovare una relazione simile (lineare) tra λ(t) e x (t) per ogniistante t nell’intervallo [t0, tf]? Si cerca in altre parole una espressione per λ del tipo
Se così fosse, allora λ dipenderebbe dallo stato x e quindi anche l’azione di controllo u(t) sarebbe funzione di x!
Il problema è dunque quello del calcolo della matrice S(t).
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
33ControlloControllo ottimoottimo LQLQPer il calcolo di S(t) si procede come segue. Si deriva la relazione
D’altra parte
Uguagliando le due relazioni si ottiene
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
viene detta Equazione (matriciale) differenziale di Riccati.
Dato che le matrici Sf, Q ed R sono simmetriche, anche S(t) lo è
La matrice K(t) che si ottiene definisce il controllo ottimo che rappresenta ilcompromesso tra l’esigenza di far tendere velocemente a zero le variabili di stato ottenendo uno stato finale prossimo a zero e quello di limitare l’azione di controllo.
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
35ControlloControllo ottimoottimo LQLQEsempio. Si consideri ancora il punto materiale di massa m in moto rettilineo e si supponga che all’istante t0 il punto abbia una velocità x0. Indicando con x(t) la velocitàall’istante t, su vuole determinare una legge di controllo u(t) che renda minimo l’indice di comportamento
In questo caso (non si considera la posizione) si può esprimere il modello matematico del sistema con una equazione differenziale del primo ordine
La legge di controllo in catena aperta viene determinata assegnando la funzione hamiltoniana
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
36ControlloControllo ottimoottimo LQLQDa
Le eq.ni di Eulero Lagrange diventano
La legge di controllo ottima in questo caso è dunque costante nel tempo. Per il calcolo effettivo devo conoscere xf. Integrando l’equazione di stato si ottiene facilmente
Controllo ottimo: qui è costante nel tempo
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
37ControlloControllo ottimoottimo LQLQVolendo realizzare il controllo in retroazione, si deve risolvere l’equazione differenziale di Riccati
con A = 0, B = 1, R = 1, Q = 0. Si ottiene (caso scalare)
La legge in retroazione quindi NON è costante presentando un guadagno variabile nel tempo
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
38ControlloControllo ottimoottimo LQLQSi sono dunque definite due espressioni per la legge di controllo ottima: la prima “in catena aperta” di tipo statico e la seconda con retroazione dello stato
La “soluzione ottima” però deve essere unica…
Calcolando l’evoluzione dello stato con la legge in catena aperta si era ottenuto
D’altra parte l’equazione differenziale che si ottiene con il controllo in retroazione
ha proprio come soluzioneL’evoluzione è lastessa!
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
39ControlloControllo ottimoottimo LQLQSi può mostrare che il valore ottimo dell’indice di comportamento è:
Essendo S(t) la soluzione dell’equazione differenziale di Riccati.Tale valore, assegnato il criterio di ottimo, dipende SOLO dalle condizioni iniziali!
Infatti, detti
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
40ControlloControllo ottimoottimo LQLQCon le due definizioni date per le matrici F ed H, l’equazione differenziale di Riccati
diventa
Si definisca la funzione di Lyapunov:
Equazione simile ad una di Lyapunov!
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
41ControlloControllo ottimoottimo LQLQIn altre parole, dato il sistema
il valore minimo di un indice di comportamento quadratico del tipo
vale
essendo S(t) la soluzione dell’equazione differenziale di Riccati
Controllo ottimoControllo ottimoParte 3 Parte 3 –– Controllo ottimo TIControllo ottimo TI
CONTROLLI AUTOMATICI LSIngegneria Informatica
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
43ControlloControllo ottimoottimo LQ LQ –– tempo tempo infinitoinfinitoSia dato il sistema
Il sistema [la coppia (A, B)] si dice stabilizzabile se il sottospazio di instabilitàè contenuto nel sottospazio di raggiungibilità. Segue che:
Ogni sistema asintoticamente stabile è stabilizzabileOgni sistema completamente raggiungibile è stabilizzabile
Il sistema [la coppia (A, C)] si dice rivelabile se il sottospazio di non osservabilità è contenuto nel sottospazio di stabilità. Segue che
Ogni sistema asintoticamente stabile è rivelabileOgni sistema completamente ricostruibile è rivelabile
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
44ControlloControllo ottimoottimo LQ LQ –– tempo tempo infinitoinfinitoNelle discussioni fatte sinora, il progetto del controllo ottimoprevedeva che l’istante finale tf fosse
assegnatofinito: tf < ∞.
Questo fa sì che l’evoluzione del sistema deve avvenire nel periodo temporale t0 – tf ed è la motivazione principale dei fatti che:
le matrici che compaiono nella definizione della legge di controllo sono tempo varianti (dipendono dal tempo)
La matrice S(t) è la soluzione della equazione differenziale di Riccati
che può non essere di semplice soluzione.
Controllo ottimo LQ – tempo finito
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
45ControlloControllo ottimoottimo LQ LQ –– tempo tempo infinitoinfinitoSia dato il sistema
Con l’indice di comportamento
(1)
N.B. si potrebbe anche considerare l’indice di comportamento
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
46ControlloControllo ottimoottimo LQ LQ –– tempo tempo infinitoinfinitoSe la coppia (A, B) è stabilizzabile e la coppia (A, C) rivelabile, allora (soluzione a regime):
La soluzione S(t) dell’equazione matriciale differenziale di Riccati converge, per tf → ∞ e per qualunque condizione al contorno Sf, alla matrice costante S∞soluzione della equazione
detta Equazione Algebrica di Riccati (ARE)
L’ARE ammette come unica soluzione semidefinita positiva la matrice S∞. Se la coppia (A, C) è completamente ricostruibile, la matrice Sf è definita positiva.
La legge di retroazione
stabilizza asintoticamente il sistema e minimizza l’indice di comportamento J(∞) per qualunque Sf (≥ 0).
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
47ControlloControllo ottimoottimo LQ LQ –– tempo tempo infinitoinfinitoDato il sistema (1), il problema di regolazione LQ a tempo infinito consiste neldeterminare la legge di controllo ottima in retroazione che rende minimol’indice di comportamento
Per quanto visto, la legge di controllo ottimo è data da
con S matrice simmetrica, unica soluzione semidefinita positiva dell’equazione (matriciale) algebrica di Riccati (ARE – Algebraic Riccati Equation)
Il corrispondente valore dell’indice di comportamento è
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
48ControlloControllo ottimoottimo LQ LQ –– tempo tempo infinitoinfinitoDato che la matrice S risulta simmetrica, l’ARE
dà luogo a n(n+1)/2 equazioni algebriche scalari, ovviamente in genere di piùfacile soluzione rispetto al caso delle equazione di Riccati differenziale (caso del controllo LQ tempo finito).
Controllo ottimoControllo ottimoParte 4 Parte 4 –– Altri SchemiAltri Schemi
CONTROLLI AUTOMATICI LSIngegneria Informatica
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
50Controllo ottimo LQ Controllo ottimo LQ –– set point non nulloset point non nulloI casi esaminati sinora di controllo ottimo LQ consideravano implicitamentecome valori di riferimento “ottimi” l’origine dello spazio degli stati e l’originedello spazio degli ingressi (x = 0; u = 0).
In generale, può essere assegnato come valore di riferimento per lo stato (e per l’ingresso) un valore xp (up) diverso da zero.
x1
x3
x2
x1
x3
x2
xp
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
51Controllo ottimo LQ Controllo ottimo LQ –– set point non nulloset point non nulloI casi esaminati sinora di controllo ottimo LQ consideravano implicitamentecome valori di riferimento “ottimi” l’origine dello spazio degli stati e l’originedello spazio degli ingressi (x = 0; u = 0).
In generale, può essere assegnato come valore di riferimento per lo stato (e per l’ingresso) un valore xp (up) diverso da zero.
Sia dato il seguente sistema, con (A, B) stabilizzabile e (A, C) rivelabile
Si scelga una coppia di vettori up, yp tali che
N.B. Se xp ≠ 0, allora up ≠ 0 !
xp = set point x costantevel = 0!
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
52Controllo ottimo LQ Controllo ottimo LQ –– set point non nulloset point non nulloIl problema di regolazione ottima con set point diversi dalle origini consiste nelcercare la legge di retroazione u(t) = u[x(t)] ottima rispetto all’indice di comportamento
Penalizzazione di y(t) e u(t) dai valori di riferimento yp e up!Si pone
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
53Controllo ottimo LQ Controllo ottimo LQ –– set point non nulloset point non nulloLa soluzione del problema è dunque data da
Da
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
54Controllo ottimo LQ Controllo ottimo LQ –– set point non nulloset point non nulloDa si ottiene lo schema a blocchi
Siccome il sistema risulta asintoticamente stabile, a regime sarà
-
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
55Controllo ottimo LQ Controllo ottimo LQ –– set point non nulloset point non nulloDa si ottiene lo schema a blocchi
In generale, non è dato lo stato xp, ma solo il vettore yp. Conviene quindi calcolare il segnale di ingresso u(t) da
dove si deve definire ups sulla base del segnale yp
-
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
56Controllo ottimo LQ Controllo ottimo LQ –– set point non nulloset point non nulloOccorre verificare se è possibile determinare il vettore ups corrispondente ad un dato yp.
Vi sono tre casi possibili:
m = r. Vi sono tante uscite (m) quanti ingressi (r).DaIn questo caso, il sistema si dice anche servomeccanismo, e il vettore dellevariabili controllate y insegue il valore di riferimento costante yp secondo un dato criterio di ottimo
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
57Controllo ottimo LQ Controllo ottimo LQ –– set point non nulloset point non nullo
m > r. Vi sono più uscite (m) di ingressi (r).E’ possibile determinare ups solo per particolari valori del vettore yp, in generale quindi non esiste soluzione.
m < r. Vi sono più ingressi (r) che uscite (m).Possono esistere più vettori ups corrispondenti ad un dato vettore yp. In questo caso, è opportuno aggiungere componenti al vettore y(t) (far crescerem) ovvero eliminare componenti dal vettore di controllo (ridurre r)
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
58Controllo ottimo LQ Controllo ottimo LQ –– set point non nulloset point non nulloEsempio: Controllo della posizione angolare di un’antenna (rif. onda quadra)
Sostituendo:
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
59Controllo ottimo LQ Controllo ottimo LQ –– set point non nulloset point non nulloEsempio: Controllo della posizione angolare di un’antenna
Si definisce quindi:
Sarà allora
Con S soluzione dell’ARE
In MATLAB: [S,L,K] = care(A,B,Q,R);
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
60Controllo ottimo LQ Controllo ottimo LQ –– set point non nulloset point non nulloEsempio: Controllo della posizione angolare di un’antenna
[S,L,K] = care(A,B,Q,R);
uo
To Workspace6
xo
To Workspace2
yp
To Workspace14
y
To Workspace13PulseGenerator
K*u
Kopt
K*u
KUps
1s
Integrator1
K*u
C
K*u
B
K*u
A
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
61Controllo ottimo LQ Controllo ottimo LQ –– set point non nulloset point non nulloEsempio: Controllo della posizione angolare di un’antenna
[S,L,K] = care(A,B,Q,R);
λ1 = -0.51764,
λ 2 = -1.9319
Andamento yp e y === Controllo ottimo:
0 10 20 30 40 50 60 70 80-2
-1
0
1
2
0 10 20 30 40 50 60 70 80-2
-1
0
1
2Andamento x1 e x2
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
62Controllo ottimo LQ Controllo ottimo LQ –– set point non nulloset point non nulloEsempio: Controllo della posizione angolare di un’antenna
Si poteva procedere anche con allocazione degli autovaloriNB: con indice di comportamentopeggiore!
uall
To Workspace7
xall
To Workspace5
ypall
To Workspace4
yall
To Workspace3PulseGenerator1
K*u
Kuallpc
K*u
Kalloc
1s
Integrator2
K*u
C.
K*u
B.
K*u
A.
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
63Controllo ottimo LQ Controllo ottimo LQ –– set point non nulloset point non nulloEsempio: Controllo della posizione angolare di un’antenna
Si poteva procedere anche con allocazione degli autovalori
0 10 20 30 40 50 60 70 80-2
-1
0
1
2Andamento yp e y === Allocazione autovalori:
0 10 20 30 40 50 60 70 80-2
-1
0
1
2Andamento x1 e x2
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
64ProblemaProblema LQ a tempo LQ a tempo discretodiscretoDati del problemaEquazioni del sistema:
con x ∈ Rn, u ∈ Rp, (A, B) stabilizzabile.
Indice di comportamento:
con
Anche in questo caso il problema può essere ad orizzonte infinito oppure ad orizzonte finito.
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
65ProblemaProblema LQ a tempo LQ a tempo discretodiscretoSoluzione del problemaSi scrive la funzione Hamiltoniana:
in cui λ ∈ Rn è il vettore del co-stato (o delle variabili aggiunte).
Le equazioni che risolvono il problema si ottengono affiancando a quelle del sistema di partenza quelle del sistema aggiunto:
Questa ultima equazione può essere riscritta “in avanti”:
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
66ProblemaProblema LQ a tempo LQ a tempo discretodiscretoSoluzione del problema
Affinché la traiettoria seguita dal sistema con ingresso u rappresenti l’ottimo rispetto all’indice di comportamento, devono essere soddisfatte le condizioni di stazionarietà:
Si ottiene quindi il sistema dinamico “ampliato”:
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
67ProblemaProblema LQ a tempo LQ a tempo discretodiscretoSoluzione del problemaSi noti che nel sistema dinamico ampliato occorre trovare una legge di controllo che mantenga nulla l’uscita. Se R>0 si può ricavare u(k) dalla condizione di stazionarietà:
Sostituendo l’espressione di u(k) nelle equazioni del sistema ampliato si ottiene il sistema hamiltoniano alle differenze di ordine 2n.
Si può dimostrare che esso presenta autovalori a coppie del tipo
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
68ProblemaProblema LQ a tempo LQ a tempo discretodiscretoSoluzione del problemaNel caso tempo discreto l’equazione algebrica di Riccati che risolve il problema ad orizzonte infinito è:
Analogamente al caso tempo continuo, il costo è dato dall’espressione:
In Matlab si usa l’istruzione [S, L, K] = dare(A,B,Q,R,N) che fornisce la matrice di retroazione dello stato K e la matrice del costo S. Contrariamente all’istruzione care, che richiede la non singolarità di R, la dare funziona anche con R=0 , N=0.
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
69ProblemaProblema LQ a tempo LQ a tempo discretodiscretoSoluzione del problemaL’equazione algebrica di Riccati per il caso tempo discreto - orizzonte infinito si risolve anche tramite la relazione ricorrente
fino a convergenza (si noti la pseudoinversa).
Si ricava poi la matrice di retroazione stabilizzante con:
Controllo ottimoControllo ottimoParte 5 Parte 5 –– Specifiche frequenzialiSpecifiche frequenziali
CONTROLLI AUTOMATICI LSIngegneria Informatica
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
71Controllo ottimo con specifiche frequenzialiControllo ottimo con specifiche frequenzialiTeorema di Parseval.Per un segnale u(t), t ∈ R, si può definire l’energia (normalizzata) come
Se esiste la trasformata di Fourier del segnale u(t), il calcolodell’energia può essere anche effettuato nel dominio delle frequenzecome:
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
72Controllo ottimo con specifiche frequenzialiControllo ottimo con specifiche frequenzialiDato il sistema
La metodologia sinora seguita per il calcolo della legge di controlloottima si basa sulla minimizzazione di un indice di comportamento
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
73Controllo ottimo con specifiche frequenzialiControllo ottimo con specifiche frequenzialiDalla definizione dell’indice di comportamento, si può evidenziare che la “penalizzazione” dei segnali x(t) e u(t) è costante al variare delle frequenze: le matrici che compaiono in J sono costanti!
Infatti, l’indice di comportamento può essere riscritto applicando il Teorema di Parseval nel modo seguente
In cui X(j ω) e U(j ω) sono le trasformate di Fourier di x(t) ed u(t). Si vede che i “pesi” in J sono costanti al variare di ω.
In generale, è desiderabile invece potere assegnare specifiche di tipo frequenziale al sistema di controllo.
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
74Controllo ottimo con specifiche frequenzialiControllo ottimo con specifiche frequenzialiSi vuole dunque definire un metodo per manipolare l’indice di comportamento J per rispettare eventuali specifiche frequenziali.
Questo metodo di progetto è noto in letteratura con il nome di frequency-shaping.
Si consideri l’indice di comportamento
E’ possibile assegnare specifiche fisicamente interpretabili se
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
75Controllo ottimo con specifiche frequenzialiControllo ottimo con specifiche frequenzialiIn questo caso, è possibile riscrivere le matrici Q ed R come
Dove PR ha dimensione r x r, mentre PQ ha dimensione σ x n essendo in generale rank(Q) = σ · n. Definendo i due nuovi vettori
L’indice di comportamento può essere riscritto come
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
76Controllo ottimo con specifiche frequenzialiControllo ottimo con specifiche frequenzialiAbbiamo dunque definito un problema di ottimo con specifiche frequenzialicome un “normale” problema di ottimo ad orizzonte infinito per un sistemadefinito dalle variabili xP(t) e uP(t).
Il problema è ora di definire il nuovo sistema (funzione delle specifiche frequenziali tramite le matrici PQ e PR).
Se gli elementi delle matrici PQ (j ω) e PR(j ω) sono funzioni razionali proprie di j ω, queste matrici possono essere considerate come le matrici di risposta armonica di due sistemi dinamici lineari stazionari, per i quali è possibile definire una realizzazione nello spazio degli stati
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
77Controllo ottimo con specifiche frequenzialiControllo ottimo con specifiche frequenzialiSi consideri ora il sistema ampliato comprendente i tre sistemidinamici con variabili di stato x(t), zQ(t) e zR(t).
A questo punto si deve riscrivere l’indice di comportamento
utilizzando il vettore xA(t) e l’ingresso u(t).
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
78Controllo ottimo con specifiche frequenzialiControllo ottimo con specifiche frequenzialiSi può facilmente ricavare che
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
79Controllo ottimo con specifiche frequenzialiControllo ottimo con specifiche frequenzialiRicapitolando:
Claudio Melchiorri Controlli Automatici LS A.A. 2008/2009
80Controllo ottimo con specifiche frequenzialiControllo ottimo con specifiche frequenzialiComplessivamente, lo schema di controllo che si ottiene è il seguente
I/sB
Ax
I/sBR
AR
CR
DR
uP
zRRegolatore
LQ
I/sBQ
AQ
CQ
DQ
xP
zQ
PQ(j ω)
PR(j ω)
Sistema
E’ evidente che la soluzione del problema di regolazione frequency-shapedconsiste in una legge di retroazione dinamica delle variabili di stato!