diff --git a/src/q6/autolin-INMA1510/notes/Makefile b/src/q6/autolin-INMA1510/notes/Makefile new file mode 100644 index 000000000..ef84678d6 --- /dev/null +++ b/src/q6/autolin-INMA1510/notes/Makefile @@ -0,0 +1,2 @@ +TYPE=notes +include ../autolin-INMA1510.mk diff --git a/src/q6/autolin-INMA1510/notes/autolin-INMA1510-notes.tex b/src/q6/autolin-INMA1510/notes/autolin-INMA1510-notes.tex new file mode 100644 index 000000000..2a0126276 --- /dev/null +++ b/src/q6/autolin-INMA1510/notes/autolin-INMA1510-notes.tex @@ -0,0 +1,182 @@ +\documentclass[fr,skiptoc]{../../../eplnotes} + +\hypertitle{autolin}{6}{INMA}{1510} +{Nathan Jacques} +{Denis Dochain} + +\section{Partie commandable/ observable} +Soit une système linéaire $\mathcal{S}$ donné par la représentation d'état +\begin{equation} + \mathcal{S} : + \left\{ + \begin{array}{r c l} + \dot{x}(t) &=& A x(t) + B u(t) \\ + y(t) &=& C x(t) + \end{array} + \right. + \label{eqn:ss} +\end{equation} +avec $x(t)\in \mathbb{R}^n$, $u(t)\in \mathbb{R}^m$, $A\in \mathbb{R}^{n\times n}$ et $B\in \mathbb{R}^{n\times m}$. La matrice de commandabilité de $\mathcal{S}$ est + +\[ + \mathcal{C} = \left[ B, AB, \dots, A^{n-1}B \right] +\] +Soit $\text{rang}(\mathcal{C}) = n_c < n$. Posons + +\[ + T = \left[ \vec{t}_1 \dots \vec{t}_{n_c} | \vec{t}_{n_c+1} \dots \vec{t}_n \right] +\] +où $\vec{t}_1 \dots \vec{t}_{n_c}$ dont les $n_c$ colonnes libres de $\mathcal{C}$ et les $n-n_c$ colonnes restantes sont choisient arbitrairement linéairement indépendantes de $\vec{t}_1 \dots \vec{t}_{n_c}$. Il est clair que $T$ est donc de plein rang. +Soit une transformation d'état $x = Tz$. On a alors + +\begin{align*} + \mathcal{S}: \left\{ + \begin{array}{r c l} + \dot{x} &=& A x + B u \\ + y &=& C x + \end{array} + \right. + &\iff + \left\{ + \begin{array}{r c l} + \dot{z} &=& T^{-1} \dot{x} = T^{-1}Ax +T^{-1} B u \\ + y &=& C Tz + \end{array} + \right. \\ + &\iff + \left\{ + \begin{array}{r c l} + \dot{z} &=& T^{-1}A T z +T^{-1} B u \\ + y &=& C Tz + \end{array} + \right. +\end{align*} +Notons + +\[ + U = T^{-1} = + \begin{bmatrix} + U_a \\ U_b + \end{bmatrix} +\] +avec $U_a$ de dimensions $n_c\times n$ et $U_b$ de dimensions $(n-n_c)\times n$. +La dynamique de $z$ peut donc se réécrire + +\begin{equation} + \dot{z} = UAT z + UB u + \label{dynz} +\end{equation} +On a + +\[ + UT = + \begin{bmatrix} + U_a \\ U_b + \end{bmatrix} + \cdot + \begin{bmatrix} + T_a & T_b + \end{bmatrix} + = + \begin{bmatrix} + U_aT_a & U_aT_b \\ + U_bT_a & U_bT_b + \end{bmatrix} + = + \begin{bmatrix} + I_{n_c}& \\ + & I_{n-n_c} + \end{bmatrix} + = I_n +\] +De là, on tire que $U_bT_a = 0$, ce qui signifie que les colonnes de $T_a$ appartiennent au noyeau de $U_b$. Comme les colonnes de $T_a$ génerent tout le columnspace de $\mathcal{C}$, on peut dire que les colonnes de $\mathcal{C}$ appartiennent au noyeau de $U_b$ \footnote{Pour ceux qui ont un mauvais souvenir du cours d'algèbre, cela revient à dire que multiplier $U_b$ à droite par une colonne de $\mathcal{C}$ (ou une combili des colonnes de $\mathcal{C}$) donnera toujours le vecteur nul }. +Comme $B$ est une colonne de $\mathcal{C}$ et $AT_a$ est composé de combili de colonnes de $\mathcal{C}$, il vient +\[U_bB = 0 \quad \text{ et } \quad U_bAT_a = 0\] +Les matrices de la dynamique de $z$ (\ref{dynz}) deviennent donc + +\begin{equation} + UAT = + \begin{bmatrix} + U_aAT_a & U_aAT_b \\ + U_bAT_a & U_bAT_b + \end{bmatrix} + = + \begin{bmatrix} + A_c & A_{c\bar{c}}\\ + 0 & A_{\bar{c}} + \end{bmatrix} + \quad + \text{ et } + \quad + UB = + \begin{bmatrix} + U_aB \\ U_bB + \end{bmatrix} + = + \begin{bmatrix} + B_c \\ 0 + \end{bmatrix} + \label{dynmat} +\end{equation} +On a alors + +\begin{equation} + \dot{z} \overset{(\ref{dynz})}{=} UAT z + UB u + \overset{(\ref{dynmat})}{=} + \begin{bmatrix} + A_c & A_{c\bar{c}}\\ + 0 & A_{\bar{c}} + \end{bmatrix} + z + + \begin{bmatrix} + B_c \\ 0 + \end{bmatrix} + u + \label{decomp} +\end{equation} +Le vecteur d'état $z$ peut être décomposé en deux parties $z = [z_a|z_b]^T$ où $z_a$ sont les états commandables du système et $z_b$ les états non-commandables. Si on réécrit (\ref{decomp}) sous forme décomposée, + +\begin{equation*} +\dot{z} = +\left\{ +\begin{array}{r c ll} +\dot{z}_a &=& A_c z_a + A_{c\bar{c}} z_b + B_c u & \text{(partie commandable)}\\ +\dot{z}_b &=& A_{\bar{c}} z_b & \text{(partie non-commandable)} +\end{array} +\right. +\end{equation*} +On remarque qu'en effet, la dynamique des états $z_b$ ne dépend plus de l'entrée $u$. On ne peut donc pas les commander. +Analysons le rang de la matrice de commandabilité pour cette transforamtion d'état: + +\begin{align*} + \text{rang}(\mathcal{C}_z) &= \text{rang} + \left( + \begin{bmatrix} + UB & (UAT)UB & \dots & (UAT)^{n-1}UB + \end{bmatrix} + \right)\\ + \text{comme $U = T^{-1}$ , }&= \text{rang} + \left( + \begin{bmatrix} + UB & UAB & \dots & UA^{n-1}B + \end{bmatrix} + \right)\\ + &= \text{rang} + \left( + U + \begin{bmatrix} + B & AB & \dots & A^{n-1}B + \end{bmatrix} + \right)\\ + &= \text{rang}(U\mathcal{C})\\ + \text{comme $U$ est de plein rang, }&= \text{rang}(\mathcal{C}) = n_c +\end{align*} + +Il y a toujours $n_c$ états commandables sur $n$ états au total\footnote{Comme on pouvait le prévoir, le changement de base ne permet pas de changer la propriété de commandabilité ou d'observabilité, ces propriétés étant intrinsèques au système lui-même}. +Cependant, la transformation d'état a permis de mettre en évidence la partie commandable et la partie non-commandable. La dynamique de la partie commandable est donnée par $A_c$ tandis que la partie non-commandable est gérée par la sous-matrice $A_{\bar{c}}$. En effet, il est facile (en utilisant le même raisonnement que ci-dessus, i.e. calculer le rang de la matrice de commandabilité) de montrer que $(A_c,B_c)$ est commandable. +Par ailleurs, cette décomposition en partie commandable/non-commandable est utile pour vérifier la stabilisabilité du système. En effet, la partie non-commandable étant maintenant bien identifiée, on peut vérifier la stabilisabilité en s'intéressant à la matrice $A_{\bar{c}}$. +Si $A_{\bar{c}}$ est stable\footnote{Analyse de stabilité habituelle: signe des valeurs propres, etc}, alors le système est stabilisable. + +Tout ce développement se fait de manière parfaitement similaire pour l'analyse d'observabilité / détectabilité. + +\end{document}