Osservatore dello stato: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 37:
La caratterizzazione fatta è del tutto generale, è evidente che la velocità di convergenza dell'osservatore di stato può essere modificata agendo sulla matrice <math>G\,\!</math>. Tipicamente viene associato a questo tipo di osservatore il nome di '''osservatore di Luenberger''' o di '''osservatore deterministico''' per distinguerlo dall'osservatore non deterministico detto [[Filtro di Kalman]].
In realtà entrambi i tipi di osservatore hanno la medesima struttura e si differenziano solo per la scelta della matrice <math>G\,\!</math>, nel caso deterministico la scelta è legata esclusivamente alla velocità di convergenza della stima. Mentre nel caso non deterministico la scelta è influenzata dall'incertezza sulla misura di <math>\vec{u}(t)\,\!</math> e <math>\vec{y}(t)\,\!</math>.
 
 
Nella [[teoria del controllo]], un '''osservatore di stato''' è un [[sistema dinamico]] la cui variabile è la stima dello stato ottenibile a partire dall'input e dall'output di quest'ultimo.
 
La conoscenza dello stato è necessaria per risolvere molti problemi legati al controllo; ad esempio per implementare leggi di controllo con feedback quando non si può misurare direttamente lo stato del sistema o anche quando, pur potendo misurare lo stato, l'errore nella misurazione è più grande di quello che si commette andando a stimare lo stato del sistema. Affinché la stima sia possibile, occorre che il sistema di cui si vuole stimare lo stato sia osservabile, e quindi, che la matrice test di osservabilità abbia rango pari all'ordine del sistema. In tal modo, è possibile ricostruire lo stato del sistema a partire dall'osservazione dell'output.
 
==Caso a tempo discreto==
 
Lo stato di un sistema fisico a [[tempo discreto]] è rappresentato da
 
:<math>\mathbf{x}(k+1) = A \mathbf{x}(k) + B \mathbf{u}(k)</math><BR /><math>\mathbf{y}(k) = C \mathbf{x}(k) + D \mathbf{u}(k)</math>
 
dove, al tempo <math>k, \mathbf{x}(k)</math> è lo stato del sistema; <math>\mathbf{u}(k)</math> rappresenta l'input; e <math>\mathbf{y}(k)</math> è l'output. Queste relazioni implicano che lo stato presente e futuro del sistema dipendono esclusivamente dallo stato e dall'input corrente. Sebbene queste equazioni siano in forma discreta, esse risultano molto simili anche nel continuo. Se il sistema è osservabile, l'output del sistema, <math>\mathbf{y}(k)</math>, può essere utilizzato per stimare lo stato.
 
Il modello è tipicamente ottenuto dalle equazioni precedenti. Ulteriori termini possono essere inclusi al fine di assicurare la convergenza della stima dello stato al ricevere di successivi valori di input ed output. In particolare, l'output dell'osservatorepuò essere sottratto dall'output del sistema e poi moltiplicato per una matrice <math>L</math>; questo termine è poi aggiunto alle equazioni dello stato dell'osservatore n modo da ottenere il cosiddetto ''[[David Luenberger|Luenberger]] observer'', definito dalle equazioni seguenti.
Normalmente, le variabili stimate vengono indicate con un accento circonflesso: <math>\mathbf{\hat{x}}(k)</math> and <math>\mathbf{\hat{y}}(k)</math> per distinguerli dalle effettive variabili di stato, e le equazioni che ne determinano il comportamento sono
 
:<math>\mathbf{\hat{x}}(k+1) = A \mathbf{\hat{x}}(k) + L \left[\mathbf{y}(k) - \mathbf{\hat{y}}(k)\right] + B \mathbf{u}(k)</math><BR /><math>\mathbf{\hat{y}}(k) = C \mathbf{\hat{x}}(k) + D \mathbf{u}(k)</math>
 
L'osservatore è asintoticamente stabile se l'errore <math>\mathbf{e}(k) = \mathbf{\hat{x}}(k) - \mathbf{x}(k)</math> converge a zero quando <math> k \rightarrow \infty </math>. Per un osservatore di [[David Luenberger|Luenberger]], l'errore soddisfa la relazione <math> \mathbf{e}(k+1) = (A - LC) \mathbf{e}(k)</math>. Esso è dunque asintoticamente stabile quando la matrice <math> A - LC </math> ha tutti gli autovalori nel semipiano negativo del piano complesso (cioè con parte reale negativa) (nel caso continuo) o all'interno del cerchio unitario (nel caso discreto).
 
Per quel che concerne il controllo, l'output dell'osservatore è retroazionato attraverso la matrice dei guadagni <math>K</math>.
 
<math>\mathbf{u(k)}= -K \mathbf{\hat{x}}(k)</math>
 
Le equazioni dell'osservatore diventano:
 
:<math>\mathbf{\hat{x}}(k+1) = A \mathbf{\hat{x}}(k) + L \left(\mathbf{y}(k) - \mathbf{\hat{y}}(k)\right) - B K \mathbf{\hat{x}}(k)</math><BR /><math>\mathbf{\hat{y}}(k) = C \mathbf{\hat{x}}(k) - D K \mathbf{\hat{x}}(k)</math>
 
o, più semplicemente,
 
:<math>\mathbf{\hat{x}}(k+1) = \left(A - B K) \right) \mathbf{\hat{x}}(k) + L \left(\mathbf{y}(k) - \mathbf{\hat{y}}(k)\right)</math><BR /><math>\mathbf{\hat{y}}(k) = \left(C - D K\right) \mathbf{\hat{x}}(k)</math><!--
 
Sostituendo nelle equazioni del sistema che si intende stimare (chiamato plant) <math>\mathbf{y}(k)</math> si ha
 
:<math>\mathbf{\hat{x}}(k+1) = \left(A - B K - L C) \right) \mathbf{\hat{x}}(k) + L \mathbf{\hat{y}}(k)</math><BR /><math>\mathbf{\hat{y}}(k) = \left(C - D K\right) \mathbf{\hat{x}}(k)</math>
 
-->
 
In virtù del principio di separazione è noto che controllore ( matrice dei guadagni <math>K</math>) ed osservatore (matrice dei guadagni <math>L</math>) possono essere progettati indipendentemente. Il sistema complessivo (detto compensatore) sarà stabile se lo saranno i due sottosistemi. Una regola pratica consiglia di scegliere i poli dell'osservatore <math>A-LC</math> tali da convergere 10 volte più velocemente di quelli relativi al controllore <math>A-BK</math>.
 
== Caso non lineare ==