Retroazione sullo stato

Sia S un sistema dove agisce un controllo u in funzione del tempo e una uscita y. La retroazione consiste nella misurazione di alcune quantità, come lo stato, e l'impiego di questi valori per assegnare il controllo. Lo stato x dipende dal controllo e il controllo è influenzato dallo stato.

(1)
\begin{equation} u(t) = v(t) + kx(t) \end{equation}

un sistema retroazionato corrisponde all'applicazione di un controllo $u = v + kx$. Sostituendo si ha

(2)
\begin{equation} x' = Ax + B(kx + v) \end{equation}

L'equazione dell'uscita resta immutata: $y = Cx + Du$.

retroazione_stato.pdf

Fig 6.1 Retroazione sullo stato di un sistema

Raccogliendo il termine $x$ si ha:

(3)
\begin{equation} x' = (A + Bk)x + Bv \end{equation}

quindi, un sistema retroazionato è equivalente ad un sistema lineare, poiché è lineare la relazione tra stato e controllo, con matrici $A^*$ e $B^*$ seguenti:

(4)
\begin{align} A^* \triangleq A + Bk \end{align}
(5)
\begin{align} B^* \triangleq B \end{align}

quindi, l'equazione del sistema è:

(6)
\begin{equation} x' = A^* x + B^* v \end{equation}

Ponendo $k=0$, si ritorna al sistema non retroazionato:

(7)
\begin{equation} u = v \end{equation}
(8)
\begin{equation} x' = (A + 0)x + Bv = Ax + Bu \end{equation}

Controllabilità

Essendo k una matrice, la relazione è algebrica con lo stato e si chiama retroazione algebrica e lineare. Si può dimostrare che le proprietà di controllabilità non vengono modificate da una retroazione sullo stato.

Dimostrazione

Si ipotizza che un dato stato $\hat x$ sia raggiungibile. Allora, per definizione esiste, fissato un tempo $\hat t >\ 0$ finito, una certa funzione di controllo $\hat u(t)$ tale che se $x(0^-) = 0$, allora $x(\hat t) = \hat x$. In un sistema retroazionato l'equazione dello stato è:

(9)
\begin{equation} x' = (A + Bk)x + Bv = Ax + Bkx + Bv \end{equation}

per capire se un sistema è raggiungibile si deve stabilire se esiste un controllo tale da raggiungere lo stato $\hat x$. Sia $\hat v$ un controllo

(10)
\begin{align} \hat v = -kx + \hat u \end{align}

sostituendo si ottiene

(11)
\begin{align} x' = Ax + Bkx + B(-kx + \hat u) = Ax + B\hat u \end{align}

con questo controllo si elimina il termine $Bkx$ dal sistema, dovuto alla retroazione. Il sistema ha la stessa evoluzione nel tempo del sistema originale, che può raggiungere lo stato $\hat x$. Quindi

(12)
\begin{align} \rho\left( B \vert AB \vert \dots \vert A^{n-1}B \right) = \rho \left( B \vert A^*B \vert \dots \vert A^{(n-1)*}B \right) \end{align}

lo spazio generato dalle colonne della matrice $P = [ B \vert AB \vert \dots \vert A^{n-1}B ]$ è uguale alla matrice $P^* = [ B \vert A^*B \vert \dots A^{(n-1)*}B ]$.

Decomponendo secondo Kalman, ovvero separando lo spazio nella parte controllabile e nella parte non controllabile, nella nuova base il controllo applicato al sistema diventa:

(13)
\begin{equation} u = kx + v = kTz + v \end{equation}

la matrice $kT$ effettua il cambiamento di base nel sistema retroazionato:

(14)
\begin{align} k \left[ T_R \vert T_{NR} \right] \left[ \begin{array}{c} Z_R \\ Z_{NR} \end{array} \right] + v = k T_R Z_R + k T_{NR} Z_{NR} + v \end{align}

l'equazione dello stato diventa

(15)
\begin{align} z' = \left[ \begin{array}{cc} \tilde{A}_{11} + \tilde{B}_1 k T_R & \tilde{A}_{12} + \tilde{B}_1 k T_{NR} \\ 0 & \tilde{A}_{22} \end{array} \right] z + \left[ \begin{array}{c} \tilde{B}_1 \\ 0 \end{array} \right] v \end{align}

Dimostrazione

(16)
\begin{equation} x' = Ax + Bu = (A + Bk)x + Bu = Ax + Bkx + Bu \end{equation}
(17)
\begin{align} z' = \tilde{A}z + \tilde{B}u \end{align}

effettuando il cambiamento di base

(18)
\begin{eqnarray} z' &=& \tilde{A}z + \tilde{B}(kTz + v) = \\ &=& \left[ \begin{array}{cc} \tilde{A}_{11} & \tilde{A}_{12} \\ 0 & \tilde{A}_{22} \end{array} \right] z + \left[ \begin{array}{c} \tilde{B}_1 \\ 0 \end{array} \right] \left( \left[ kT_R \vert kT_{NR} \right] \left[ \begin{array}{c} Z_R \\ Z_{NR} \end{array} \right] + v \right) = \\ &=& \left[ \begin{array}{cc} \tilde{A}_{11} & \tilde{A}_{12} \\ 0 & \tilde{A}_{22} \end{array} \right] z + \left[ \begin{array}{c} \tilde{B}_1 \\ 0 \end{array} \right] \left[ kT_R \vert kT_{NR} \right] \left[ \begin{array}{c} Z_R \\ Z_{NR} \end{array} \right] + Bv = \\ &=& \left[ \begin{array}{cc} \tilde{A}_{11} & \tilde{A}_{12} \\ 0 & \tilde{A}_{22} \end{array} \right] z + \left[ \begin{array}{cc} \tilde{B}_1 kT_R & \tilde{B}_1 kT_{NR} \\ 0 & 0 \end{array} \right] \left[ \begin{array}{c} Z_R \\ Z_{NR} \end{array} \right] + Bv \end{eqnarray}

raccogliendo a destra il termine $z$ si ha:

(19)
\begin{align} z' = \left[ \begin{array}{cc} \tilde{A}_{11} + \tilde{B}_1 kT_R & \tilde{A}_{12} + \tilde{B}_1 kT_{NR} \\ 0 & \tilde{A}_{22} \end{array} \right] z + \left[ \tilde{B}_1 \\ 0 \begin{array}{c} \end{array} \right] v \end{align}

Questa equazione è uguale a quella di un sistema retroazionato con cambiamento di base. Il polinomio caratteristico $\tilde{\varphi}^* (s)$ del sistema retroazionato nella nuova base è dato dato da (per definizione) $det(sI - \tilde{A}^*)$, ovvero:

(20)
\begin{align} \tilde{\varphi}^* (s) = det \left[ sI_{11} - (\tilde{A}_{11} + \tilde{B}_{1}kT_R) \right] det \left[ sI_{22} - \tilde{A}_{22} \right] \end{align}

Poiché il cambiamento di base non modifica il polinomio caratteristico, allora

(21)
\begin{align} \tilde{\varphi}^* (s) = \varphi^* (s) \end{align}

ovvero il polinomio caratteristico del sistema retroazionato con il cambiamento di base è uguale al polinomio caratteristico del sistema retroazionato originale.

Il polinomio caratteristico originale è:

(22)
\begin{align} \varphi(s) = det (sI_{11} - \tilde{A}_{11}) det(sI_{22} - \tilde{A}_{22}) \end{align}

dove il primo termine è chiamato $\varphi_C (s)$ e il secondo termine $\varphi_NC (s)$. Il polinomio caratteristico con la retroazione è:

(23)
\begin{align} \varphi^* (s) = det \left[ sI_{11} - (\tilde{A}_{11} + \tilde{B}_{1}kT_R) \right] det (sI_{22} - \tilde{A}_{22}) \end{align}

Gli autovalori relativi al polinomio $\varphi_{NC} (s)$ non vengono modificati dalla retroazione, quindi i poli non controllabili rimangono tali. Le radici di $\varphi_{C} (s)$ invece possono essere modificate dalla retroazione.
Si definiscono poli non controllabili le radici del polinomio $\varphi_{NC} (s)$.

Inoltre è possibile, tramite una opportuna scelta di k, assegnare a piacere gli autovalori di $\varphi_C (s)$, ovvero le radici di $det \left[ sI_{11} - (\tilde{A}_{11} + \tilde{B}_{1}kT_R) \right]$

scomposizione.pdf

Fig 6.2 Sistema scomposto secondo Kallman

Esempio

Dato il sistema seguente:

(24)
\begin{align} x' = \left[ \begin{array}{cc} 0 & 0 \\ 1 & -1 \end{array} \right] x + \left[ \begin{array}{c} 1 \\ 1 \end{array} \right] \end{align}

si determini la raggiungibilità (o controllabilità). La matrice di Kalmann è:

(25)
\begin{align} P = \left[ \begin{array}{cc} 1 & 0 \\ 1 & 0 \end{array} \right] \end{align}

si ha $\rho(P) = 1 = n_R$. Il sottospazio di raggiungibilità è $X_R = \alpha \left[ 1 1 \right]^T$. Il polinomio caratteristico del sistema è:

(26)
\begin{align} \varphi(s) = det (sI - A) = det \left[ \begin{array}{cc} s & 0 \\ -1 & s+1 \end{array} \right] = s(s + 1) \end{align}

gli autovalori sono $s_1 = 0$, $s_2 = -1$. Il polinomio caratteristico di controllabilità ha grado $n_R = 1$, quindi $\varphi_C(s) = s$ oppure $\varphi_C(s) = (s + 1)$. Uno dei due autovalori rappresenta un polo controllabile. Si calcola la matrice $(sI - a)^{-1}$, che risulta

(27)
\begin{align} (sI - A)^{-1} = \left[ \begin{array}{cc} s & 0 \\ -1 & s+1 \end{array} \right]^{-1} = \frac{1}{s(s+1)} \left[ \begin{array}{cc} (s+1) & 0 \\ (-1)(-1) & s \end{array} \right] = \left[ \begin{array}{cc} \frac{1}{s} & 0 \\ \frac{1}{s(s+1)} & \frac{1}{s+1} \end{array} \right] \end{align}

Il polinomio minimo è il minimo comune multiplo dei denominatori termini non nulli della matrice $(sI - A)^{-1}$, quindi, il m.c.m dei termini s; s(s+1); s+1; è

(28)
\begin{equation} M(s) = s(s+1) \end{equation}

poiché il polinomio minimo ha le stesse radici almeno con molteplicità 1 del polinomio caratteristico, allora in questo caso coincide con il polinomio caratteristico. Il polinomio minimo ha una radice con parte reale nulla, quindi non è asintoticamente stabile, ma con molteplicità pari a 1, quindi è semplicemente stabile. Si calcola il polinomio di controllo attraverso la matrice $(sI - A)^{-1}B$

(29)
\begin{align} (sI - A)^{-1} B = \left[ \begin{array}{cc} \frac{1}{s} & 0 \\ \frac{1}{s(s+1)} & \frac{1}{s+1} \end{array} \right] \left[ \begin{array}{c} 1 \\ 1 \end{array} \right] = \left[ \begin{array}{c} 1/s \\ 1/s \end{array} \right] \end{align}

quindi $\varphi_C (s) = s$, perché il valore $s$ è il m.c.m dei determinanti dei minori non nulli delle sottomatrici quadrate. Il polo $s = 0$ è quello controllabile con la retroazione. Si può verificare questo risultato effettuando la retroazione del sistema, con il controllo seguente:

(30)
\begin{align} u = kx + v \mbox{ con } k \in \mathbb{R}_{1x2} \mbox{ e } x \in \mathbb{R}_{nx1} \end{align}

quindi

(31)
\begin{align} u = \left[ k_1 k_2 \right]x + v \end{align}

L'evoluzione dello stato è

(32)
\begin{equation} x' = [ A + Bk ]x + Bv = A^*x + Bv \end{equation}

si calcola il polinomio caratteristico della matrice $A^*$, relativa al sistema con retroazione:

(33)
\begin{align} A^* = A + Bk = \left[ \begin{array}{cc} 0 & 0 \\ 1 & -1 \end{array} \right] + \left[ \begin{array}{c} 1 \\ 1 \end{array} \right] \left[ \begin{array}{cc} k_1 \\ k_2 \end{array} \right] = \left[ \begin{array}{cc} 0 & 0 \\ 1 & -1 \end{array} \right] + \left[ \begin{array}{cc} k_1 & k_2 \\ k_1 & k_2 \end{array} \right] = \left[ \begin{array}{cc} k_1 & k_2 \\ k_1+1 & k_2-1 \end{array} \right] \end{align}

Il polinomio caratteristico relativo al sistema retroazionato è:

(34)
\begin{align} \varphi^* (s) = det (sI - A^*) = det \left[ \begin{array}{cc} s-k_1 & -k_2 \\ -(k_1+1) & s-k_2+1 \end{array} \right] = s^2 - k_1s - k_2s + k_1k_2 + s - k_1 -k_1k_2 -k_2 = (s+1)[s - (k_1 + k_2)] \end{align}

Il termine $s+1$, ovvero il polo $s = -1$ è immutato, e non può essere quindi modificato. Invece è possibile modificare l'autovalore $s = k_1 + k_2$ assegnando i due parametri $k_1$ e $k_2$ dovuti alla retroazione.

Riassumendo, un sistema è completamente controllabile (raggiungibile) se $X_R = R^n$. Si può verificare in diversi modi:

  • verificando che $n_R = n$, ovvero $\rho(P) = n$
  • verificando che $deg \varphi_c(s) = n$, ovvero $\varphi_C (s) = \varphi(s)$

Se tutti gli stati sono raggiungibili allora tutti i poli sono controllabili, e viceversa.

Sistema decomposto con Kallman e retroazionato

retroazione.pdf

Fig 6.3 Sistema decomposto con Kallman e retroazionato

La parte $S_{NR}$ non è influenzata dalla scelta di $k$, ovvero da $u$. Gli autovalori di $S_{NR}$ non sono raggiungibili.

Stabilizzabilità

La stabilizzabilità di un sistema è la possibilità di rendere asintoticamente stabile un sistema attraverso una retroazione sullo stato. Si controlla il sistema con un sistema di feedback, in questi casi:

  • (caso banale) se il sistema è già asintoticamente stabile, è sicuramente stabilizzabile
  • se il sistema è completamente controllabile, allora è stabilizzabile, perchè si possono assegnare i poli del sistema in modo che abbiano parte reale minore negativa
  • in generale, un sistema è stabilizzabile se tutti i poli non controllabili hanno parte reale negativa. Infatti essi non sono controllabili, e se uno di essi avesse parte reale positiva, non si potrebbe impiegare la retroazione sullo stato per assegnarlo. Invece si possono modificare i poli controllabili in modo da renderli asintoticamente stabili.

Esempio

Si considera il seguente sistema:

(35)
\begin{align} x' = \left[ \begin{array}{cc} 1 & 1 \\ 0 & 1 \end{array} \right] x + \left[ \begin{array}{c} 0 \\ 1 \end{array} \right] u \end{align}

si calcola la matrice di Kalman per verificare la controllabilità

(36)
\begin{align} P = \left[ \begin{array}{cc} 0 & 1 \\ 1 & 1 \end{array} \right] \end{align}

si ha $\rho(P) = 2$, quindi il sistema è completamente controllabile e di conseguenza, stabilizzabile. Il polinomio caratteristico è:

(37)
\begin{align} \varphi(s) = det (sI - A) = (s-1)^2 \end{align}

Esempio

Si considera il seguente sistema:

(38)
\begin{align} x' = \left[ \begin{array}{cc} 1 & 1 \\ 0 & -1 \end{array} \right] x + \left[ \begin{array}{c} 1 \\ 0 \end{array} \right] u \end{align}

essendo la matrice $A$ di tipo triangolare superiore, si possono ricavare direttamente gli autovalori, che si trovano sulla diagonale:$\varphi(s) = (s+1)(s-1)$
Il sistema risulta già decomposto, e le equazioni sono:

(39)
\begin{eqnarray} x'_1 &=& x_1 + x_2 + u \\ x'_2 &=& - x_2 \end{eqnarray}

si può notare che il componente dello stato $x_2$ non è influenzato dagli altri componenti dello stato e neppure dal controllo. Calcolando la matrice $P$ si ottiene:

(40)
\begin{align} P = \left[ \begin{array}{cc} 1 & 1 \\ 0 & 0 \end{array} \right] \end{align}

infatti, $\rho(P) = 1$ e il sottospazio di raggiungibilità è $X_R = \alpha [ 1 0 ]^T$. La matrice $(sI - A)^{-1}$ è la seguente:

(41)
\begin{align} (sI - A)^{-1} = \left[ \begin{array}{cc} s-1 & -1 \\ 0 & s+1 \end{array} \right]^{-1} = \left[ \begin{array}{cc} \frac{1}{s-1} & \frac{1}{(s+1)(s-1)} \\ 0 & \frac{1}{s+1} \end{array} \right] \end{align}

La matrice di trasferimento tra controllo e stato è:

(42)
\begin{align} (sI - A)^{-1}B = \left[ \begin{array}{c} \frac{1}{s-1} \\ 0 \end{array} \right] \end{align}

quindi il polinomio caratteristico di controllabilità è:

(43)
\begin{align} \varphi_C (s) = s-1 \end{align}

e il polo controllabile è $s = 1$, mentre $s = -1$ non è controllabile. Poiché il polo non controllabile è asintoticamente stabile (avendo parte reale negativa), il sistema è stabilizzabile: si può assegnare il polo controllabile (e non stabile) tramite una retroazione sullo stato, ad esempio

(44)
\begin{align} \varphi^* (s) = (s+1)(s-\lambda) \end{align}

Esempio

Il seguente sistema:

(45)
\begin{align} x' = \left[ \begin{array}{cc} 0 & 1 \\ 0 & 0 \end{array} \right] x + \left[ \begin{array}{c} 1 \\ 0 \end{array} \right] u \end{align}

è già decomposto secondo Kalman: una variabile di stato non è influenzabile. Ha autovalori $s_1 = 0$ e $s_2 = 0$, presenti sulla diagonale della matrice $A$, e non sono a parte reale negativa. Quindi il sistema non è stabilizzabile.

(46)
\begin{align} \varphi (s) = s^2 \end{align}

Un polo è controllabile e uno non controllabile.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License