diff --git a/421-Controle_processus/Cours/Cours.tex b/421-Controle_processus/Cours/Cours.tex index 236af83..5b70a27 100644 --- a/421-Controle_processus/Cours/Cours.tex +++ b/421-Controle_processus/Cours/Cours.tex @@ -1,12 +1,38 @@ -% Relu jusqu'au 1.4.1. 12.10.14. AA -% Relu jusqu'au 2.3. 28.10.14. AA - -\documentclass{book} -\input{../../preambule/preambule} -\renewcommand{\nomentete}{UE 421 : Contrôle de processus} +\documentclass[12pt,a4paper,french]{book} +% Packages +\usepackage[utf8x]{inputenc} % encodage +\usepackage{mathtools} % math +\usepackage{cancel} % rayer des trucs en maths +\usepackage{amsfonts} % math +\usepackage{amssymb} % math +\usepackage{mathrsfs} +\usepackage{graphicx} % pour inserer des graphiques +\usepackage[french]{babel} % pour ecrire en francais +\usepackage[left=2.00cm, right=2.00cm, top=3.00cm, bottom=3.00cm]{geometry} % la mise en page +\usepackage{fancyhdr} % la mise en page +\usepackage[dvipsnames,x11names]{xcolor} % Un peu de couleur ! +\usepackage{float} +\usepackage{subcaption} +\usepackage{enumitem} +\usepackage{multicol} +\usepackage{subfiles} % Gere les sous-fichier +\usepackage{hyperref} % Creer des lien dans le pdf, en particulier sur la table des matières +\usepackage{tikz} +\usetikzlibrary{fit} +\usetikzlibrary{positioning} +\usepackage{schemabloc} +\usepackage{circuitikz} +\usepackage{pgfplots} +\input{../../Raccourcis.tex} +\input{../../Boites.tex} +\hypersetup{ + colorlinks = true, + linkcolor=., + } +% Mise en page +\title{421 - Controle de processus} +\setcounter{secnumdepth}{3} \renewcommand{\thesection}{\arabic{section}} -\title{\nomentete} - \begin{document} @@ -28,13 +54,13 @@ Les processus évoluent continûment dans le temps.\\ \centering \begin{tikzpicture} \sbEntree{E} -\sbComp{comp}{E} +\sbComp{comp}{E} \sbRelier[$c(t)$]{E}{comp} -\sbBloc{reg}{Structure de commande}{comp} +\sbBloc{reg}{Structure de commande}{comp} \sbRelier[$\epsilon$]{comp}{reg} -\sbBloc{sys}{Système}{reg} +\sbBloc{sys}{Système}{reg} \sbRelier[u(t)]{reg}{sys} -\sbSortie{S}{sys} +\sbSortie{S}{sys} \sbRelier[$y(t)$]{sys}{S} \sbRenvoi{sys-S}{comp}{} \end{tikzpicture} @@ -42,23 +68,23 @@ Les processus évoluent continûment dans le temps.\\ \end{figure} -La loi de commande est alors : +La loi de commande est alors : \begin{align*} U(p) & = C(p).[R(p) - Y(p)], \text{ transformée de Laplace de }\\ u(t) & = c(t)*[r(t) - y(t)] \end{align*} -\paragraph*{Problématique} +\paragraph*{Problématique} Il faut alors évaluer u(t) et le mettre en œuvre de manière analogique et/ou bon moment. Pour cela, il est nécessaire de calculer en temps réels et d'adapter u(t).\\ -La solution est d'exploiter un calculateur numérique couplé à de l'électronique numérique pour implémenter la loi de commande. +La solution est d'exploiter un calculateur numérique couplé à de l'électronique numérique pour implémenter la loi de commande. Par exemple : \begin{itemize} \item ordinateur à base de microprocesseurs cadencés par une horloge interne \item micro-contrôleurs \item DSP (Digital Signal Processing, puce à usage spécifique, non modifiable) \item Arduino -\end{itemize} +\end{itemize} L'information est transmise par des signaux binaires eux-mêmes étant des signaux numériques. Cette information ne transporte pas l'énergie nécessaire pour contrôler le processus, mais seulement la loi de commande. @@ -81,7 +107,7 @@ Ils servent à implémenter les lois de commande, c'est-à-dire les règles math \begin{tikzpicture} \sbEntree{E} -\sbBloc{calc}{Calculateur numérique}{E} +\sbBloc{calc}{Calculateur numérique}{E} \sbRelier[$e_k$]{E}{calc} \sbBloc{cna}{CNA}{calc} @@ -109,32 +135,28 @@ L'horloge permet le fonctionnement synchrone des différents composants de la st \section{Modélisation des signaux échantillonnés} \subsection*{Échantillonnage} -\begin{dfn} +\begin{defin} Un échantillonnage idéal à la période d'échantillonnage $T_e$ est représenté par : -\begin{figure}[h!] -\centering +{\centering \begin{circuitikz} \draw (0,0) node[above]{$u(t)$} to [cspst,l=$T_e$](2,0) node[above]{$u^*(t)$}; -\end{circuitikz} -\caption{Échantillonnage idéal} -\end{figure} - +\end{circuitikz}} \[ u^*(t) = \left\{ \begin{array}{ll} -u(k.T_e)=u_k & \si t =k.T_e \\ -0 & \si t\neq k.T_e -\end{array} +u(k.T_e)=u_k & \text{si} t =k.T_e \\ +0 & \text{si} t\neq k.T_e +\end{array} \right. \] -\end{dfn} +\end{defin} \subsection*{Peigne de Dirac} -\begin{dfn} +\begin{defin} On définit le peigne de Dirac par : \[p(t)=\sum_{k\in\mathbb{N}}\delta_0(t-k.T_e)\] -\end{dfn} +\end{defin} On peut donc réécrire l'expression de l'échantillonnage : @@ -182,16 +204,16 @@ F^*(p) & = L\{f^*(t)\} \\ F^*(p) & = \sum_{k\in\mathbb{N}}f_k(e^{-T_ep})^{-k} \\ \end{align*} -En notant $z = e^{T_ep}$, on obtient +En notant $z = e^{T_ep}$, on obtient \[ \boxed{ F(z) = F^*(p)|_{z=e^{T_ep}} } \] \subsection*{Transformée en $z$} -\begin{dfn} +\begin{defin} On définit la transformée en $z$ du signal numérique $f_k$ : \[ F(z) = \sum_{k = 0}^{\infty} f_kz^{-k} \quad, z = e^{T_ep}\] On note $F(z) = Z\{f_k\}$ -\end{dfn} +\end{defin} \begin{prop} La transformée en z est \textbf{linéaire} : \[ Z\{\alpha u_k + \beta f_k\} = \alpha U(z) + \beta F(z) \] @@ -200,25 +222,22 @@ Si $R_u$ et $R_f$ sont les rayons de convergence de $U(z)$ et de $F(z)$, alors \ \end{prop} \subsection*{Produit de convolution} -\begin{dfn} +\begin{defin} On définit le produit de convolution entre deux signaux $u_k$ et $f_k$ : \begin{align*} u_k * f_k & = \sum_{n=-\infty}^{\infty} u_n f_{k-n} \\ & = \sum_{n=0}^{\infty} u_n f_{k-n} \text{ pour u et f causaux } \\ Z\{u_k * f_k\} & = U(z).F(z) \end{align*} -\end{dfn} +\end{defin} \subsection*{Théorèmes importants} -\begin{multicols}{2} \begin{thm}[Théorème d'avance] \[ Z\{u_{k+d|d\in\mathbb{N}^*}\} = z^d U(z) - z^d \sum_{i=0}^{d-1}u_iz^{-i} \] \end{thm} - \begin{thm}[Théorème du retard] \[ Z\{u_{k-d|d\in\mathbb{N}^*}\} = z^{-d} U(z) \] \end{thm} -\end{multicols} \begin{thm}[Théorème de la sommation] \[ Z\{\sum_{k=0}^nu_k\} = \frac{z}{z-1}U(z) \] @@ -254,32 +273,11 @@ F^*(p) & = \frac{1}{T_e} \int_0^{\infty} ( \sum_{k=-\infty}^{\infty}f(t)e^{-j\fr F^*(p) &= \frac{1}{T_e} \sum_{k=- \infty}^{\infty}F(p-j\frac{2\pi k}{T_e}) \end{align*} Le spectre de $f^*(t)$ est périodique en fréquence, de période $\frac{2\pi}{T_e}$. - -\begin{figure}[h!] -\centering -\begin{tikzpicture} -\begin{axis}[ - xlabel=$\omega$, - xmin=-2, - xmax=2, - xtick={-2,-1,0,1,2}, - xticklabels={$-4\frac{\pi}{T_e}$,$-2\frac{\pi}{T_e}$,$0$,$2\frac{\pi}{T_e}$,$4\frac{\pi}{T_e}$}, - ylabel=$|F(j\omega)|$, - ytick={0}, - axis x line*=middle, - axis y line*=middle - ] - \addplot[red,mark=none,smooth,samples=50] {gauss(0,0.5)}; - \addplot[blue,mark=none,smooth,samples=50] {gauss(1,0.5)}; - \addplot[blue,mark=none,smooth,samples=50] {gauss(-1,0.5)}; -\end{axis} -\end{tikzpicture} -\caption{Exemple d'un spectre périodique} -\end{figure} +FAIRE UNE FIGURE PROPRE !! \subsection*{Reconstitution d'un signal} \begin{thm} -Un signal analogique $f(t)$ dont la transformée de Fourier est nulle à l'extérieur de l'intervalle $[-\omega_0,\omega_0]$, $\omega_0>0$, est parfaitement défini par ses échantillons $f_k=f(kT_e)$ si +Un signal analogique $f(t)$ dont la transformée de Fourier est nulle à l'extérieur de l'intervalle $[-\omega_0,\omega_0]$, $\omega_0>0$, est parfaitement défini par ses échantillons $f_k=f(kT_e)$ si \[F_e=\frac{1}{T_e} \text{ vérifie } \omega_e > 2 \omega_0 \text{ : Condition de Shannon } \] Dans ce cas, on peut reconstituer le signal : @@ -312,7 +310,7 @@ F(z) & = C_0 + \frac{C_1 z}{z-p_1} + ... \text{ où } C_0 = F(0) \text{ et } C_i De plus, on a \[ \boxed{Z^{-1}\{\frac{C_jz}{z-p_j}\}=C_jp_j^k \text{ pour } i \leq j \leq n } \] -Exemple : +Exemple : \[W(z) = \frac{z+3}{(z-1)(z+2)} \] \begin{align*} @@ -337,14 +335,14 @@ Exemple dans le poly.\\ \[ W(z) = ... + C_0 + \frac{C_1z}{z} + \frac{C_2z}{z^2} + ... \] On a alors, $\forall j = 0,1,...,l$ -\[ C_{l-j} = \lim_{z \rightarrow p} (\frac{1}{j!} \frac{\partial ^j \frac{z^l}{z}W(z)}{\partial z^j}) \] +\[ C_{l-j} = \lim_{z \rightarrow p} (\frac{1}{j!} \frac{\partial ^j \frac{z^l}{z}W(z)}{\partial z^j}) \] \[ Z^{-1} [z^{-d}] = \delta_{k-d} \] Remarque : \[ \frac{z}{z-D} = \frac{1}{1-Dz^{-1}} = \lim_{N\rightarrow\infty} \sum_{k=0}^N (z^{-1}D)^k = \sum_{k=0}^{\infty} D^k z^{-k} \] On en déduit facilement que $Z^{-1}\{\frac{z}{z-D}\} = D^k$ -\subsection{Méthode des résidus} +\subsection{Méthode des résidus} Méthode non exigée, voir polycopié \section{Modélisation des CAN et CNA} @@ -386,10 +384,10 @@ Challenge théorique : quel comportement entre $(k-1)T_e$ et $kT_e$. Idée : extrapolation des échantillons entre 2 instants d'échantillonnage. -\paragraph{Cas du Bloqueur d'Ordre Zéro} +\paragraph{Cas du Bloqueur d'Ordre Zéro} $B_0(p)$ fonction de transfert du filtre réalisant le BOZ. -\[b_0(t) = 1_0^+(t) - 1_0^+(t-T_e)\] +\[b_0(t) = 1_0^+(t) - 1_0^+(t-T_e)\] Donc par transformée de Laplace inverse, \[B_0(p) = \frac{1}{p}-\frac{1}{p}e^{-T_ep} \] \[ \boxed{B_0(p) = \frac{1-e^{-T_ep}}{p}} \] @@ -417,12 +415,12 @@ Si on applique un échantillonnage en entrée de e(t), \end{enumerate} \end{thm} -\begin{dem} +\begin{proof} \begin{enumerate} \item \[g^*(t) * e^*(t) = \int_0^{\infty} g^*(t-\tau)e^*(\tau)d\tau = ... \] -\item +\item \begin{align*} s^*(t) & = s(t)\sum_{k=0}^{\infty}\delta_0(t-kT_e) = \sum_{k=0}^{\infty}s_k\delta_0(t-kT_e) \intertext{Or, $ s(t) = \int_0^{\infty}g(t-\tau)e^*(\tau)d\tau $ avec $ e^*(t) = \sum_ {k=0}^{\infty}e_k\delta_0(t-kT_e)$} @@ -433,7 +431,7 @@ s_n = s(nT_e) & = \sum_ {k=0}^{\infty}e_kg((n-k)T_e) = \sum_ {k=0}^{\infty}e_kg_ \end{align*} \end{enumerate} -\end{dem} +\end{proof} Application : Discrétisation d'un système analogique avec CNA + BOZ @@ -474,7 +472,7 @@ On cherche à déterminer la fonction de transfert $H(z)=\frac{Y(z)}{U^*(z)}$ de \begin{tikzpicture} \sbEntree{E} -\sbBloc{calc}{CNA}{E} +\sbBloc{calc}{CNA}{E} \sbRelier[$u_k$]{E}{calc} \sbBloc[3]{boz}{$B_0(p)$}{calc} @@ -498,11 +496,11 @@ On cherche à déterminer la fonction de transfert $H(z)=\frac{Y(z)}{U^*(z)}$ de \[ \boxed{H(z) = (1-z^{-1}) Z[^*L^{-1}[\frac{G(p)}{p}]]} \] \end{thm} -\begin{dem} +\begin{preuve} \begin{align*} Y(p) & = B_0(p)G(p)U^*(p) \\ & = (1 - e^{-T_ep})\frac{G(p)}{p}U^*(p) \\ -& = \frac{G(p)}{p}U^*(p)-\frac{G(p)}{p}U^*(p)e^{-T_ep} +& = \frac{G(p)}{p}U^*(p)-\frac{G(p)}{p}U^*(p)e^{-T_ep} \intertext{On pose $ \tilde{G}(p) = \frac{G(p)}{p} $ } Y(p) & = \tilde{G}(p)U^*(p) - \tilde{G}(p)U^*(p)e^{-T_ep} \end{align*} @@ -517,7 +515,7 @@ Avec $\tilde{Y}(p) = \tilde{G}(p)U^*(p)$, par transformation inverse de Laplace, H(z) & = (1-z^{-1})\tilde{G}(z) \\ H(z) & = (1-z^{-1})Z[^*L^{-1}[\tilde{G}(p)]] \end{align*} -\end{dem} +\end{preuve} \medskip \noindent Remarque : comment choisir $T_e$ ? Tout système physique peut être représenté par un filtre passe-bas : @@ -534,7 +532,7 @@ H(z) & = (1-z^{-1})Z[^*L^{-1}[\tilde{G}(p)]] \section{Obtention d'une fonction de transfert en z à partir d'une équation récurrente} -\[a_ny_{k+n} + ... + a_1y_{k+1}+a_0y_k = b_mu_{k+m} + ... + b_1u_{k+1} + b_0u_k \] +\[a_ny_{k+n} + ... + a_1y_{k+1}+a_0y_k = b_mu_{k+m} + ... + b_1u_{k+1} + b_0u_k \] \[ \text{ avec } a_i,b_j \in \mathbb{R}, a_n \neq 0 \] Par causalité, on a $n \geq m$. \\ @@ -550,7 +548,7 @@ a_n y_{k+n} & & a_nz^nY(z) & - a_n [y_0...y_{n-1}][z^n...z]^T \\ ... & \quad \rightarrow \quad TZ \quad \rightarrow \quad & ... & ... \\ + a_1 y_{k+1} & & + a_1z^{n-1}Y(z) & - a_1 [0, ...,0,y_0][z^n...z]^T \\ + a_0 y_k & & +a_0zY(z) \\ -\hline +\hline TZ(EQ_n) & = & (\sum_{l=0}^na_lz^l)Y(z) & - CI_y(z) \end{array} \] @@ -561,7 +559,7 @@ Conditions initiales données : les $y_k, k = 0,...,n-1$ et $u_k,k=0,...,m-1$ \begin{align*} CIy(z) & = \sum_{j=0}^{n-1} ( \sum_{l=0}^j a_{n-l}y_{l-j}) z^{n-j} \\ -CIu(z) & = \sum_{j=0}^{m-1} ( \sum_{l=0}^j b_{m-l}u_{l-j}) z^{n-j} +CIu(z) & = \sum_{j=0}^{m-1} ( \sum_{l=0}^j b_{m-l}u_{l-j}) z^{n-j} \end{align*} Ainsi, en posant \[A(z) = \sum_{l=0}^n a_lz^l \text{ et } B(z) = \sum_{l=0}^m b_lz^l \] @@ -580,7 +578,7 @@ Y(z) & = G(z)U(z) + \frac{CI(z)}{A(z)} \\ \end{align*} \subsection*{Définitions} -Les pôles (zéros) du système sont les racines de $A(z)$ ($B(z)$). +Les pôles (zéros) du système sont les racines de $A(z)$ ($B(z)$). Le gain statique (si défini) est \( \lim_{z\rightarrow 0}G(z)\). @@ -608,7 +606,7 @@ y_k & = Z^{-1}[G(z)U(z)] \end{align*} En pratique, on effectue une décomposition en éléments simples de $\frac{Y(z)}{z}$ et on applique $Z^{-1}[.]$ à $Y(z)$ en utilisant le tableau des transformées en z usuelles.\\ -Exemple : +Exemple : \begin{align*} \intertext{On cherche la réponse impulsionnelle ($u_k=\delta_k$) de } G(z)& = \frac{1}{(z-1)(z-2)} @@ -658,7 +656,7 @@ $g_{i_k}$ correspond à l'évolution de la sortie $y_k$ due au pôle $p_i$ : mod La sortie $y_k$ est construite à partir de la contribution de chaque mode (et du type d'entrée) \[ y_k = Y(0)\delta_k + \sum_{i=1}^q g_{i_k} + Z^{-1}[\sum_{i=1}^{r_u}U_i(z)] \] -où +où $\sum_{i=1}^q g_{i_k}$ est l'excitation des modes par l'entrée $y_k$ @@ -686,9 +684,9 @@ Remarque : un pôle discret nul $p_i = 0$ possède un équivalent en temps conti \[P_{a_i}(k)p_i^k + P_{b_i}(k)\overline{p_i}^k = ... = P(k)\rho_i^k\sin(k\theta_i+\phi\] où $p_i = \rho_ie^{j\theta_i}$ et $\phi$ dépend du contexte. \begin{itemize} -\item $|p_i| = \rho_i > 1$ : divergence -\item $|p_i| = \rho_i < 1$ : convergence en $\rho_i^k$ -\item $|p_i| = \rho_i = 1$ +\item $|p_i| = \rho_i > 1$ : divergence +\item $|p_i| = \rho_i < 1$ : convergence en $\rho_i^k$ +\item $|p_i| = \rho_i = 1$ \begin{itemize} \item si multiplicité de $p_i = 1$ : mode entretenu \item si multiplicité de $p_i > 1$ : divergence @@ -698,9 +696,9 @@ où $p_i = \rho_ie^{j\theta_i}$ et $\phi$ dépend du contexte. \section{Stabilité} -\begin{dfn}[Stabilité EBSB] +\begin{defin}[Stabilité EBSB] Un système discret est stable au sens EBSB si pour toute entrée $u_k$ bornée, $y_k$ reste bornée. -\end{dfn} +\end{defin} \begin{thm}[Stabilité et réponse impulsionnelle] Un système est stable au sens EBSB si et seulement si sa réponse impulsionnelle est absolument sommable, c'est-à-dire $\sum_ {k=0}^{\infty}|g_k|<\infty$ @@ -712,7 +710,7 @@ Un système est stable au sens EBSB si et seulement si sa réponse impulsionnell Un système discret est stable au sens EBSB si et seulement si tous les pôles de sa fonction de transfert en $z$ sont à l'intérieur du cercle unité (strictement, pas sur le cercle). \end{thm} -Remarque : cela suppose le calcul des pôles de $G(z) = \frac{B(z)}{A(z)}$ +Remarque : cela suppose le calcul des pôles de $G(z) = \frac{B(z)}{A(z)}$ \begin{figure}[h!] \centering @@ -734,7 +732,7 @@ z & = \frac{1+w}{1-w} ,\quad w \neq 1 \\ w & = \frac{z-1}{z+1} ,\quad z \neq -1 \end{align*} -Cette transformation transforme le disque unité du plan en $z$, en le demi-plan ouvert gauche du plan en $w$. +Cette transformation transforme le disque unité du plan en $z$, en le preuvei-plan ouvert gauche du plan en $w$. Cette transformation étant bijective, on l'utilise pour appliquer le critère de Routh au polynôme en la variable $w$. @@ -743,69 +741,6 @@ Cette transformation étant bijective, on l'utilise pour appliquer le critère d \subsection*{Critère de stabilité de Nyquist} \emph{À connaître par coeur, voir polycopié.} - -\chapter{Calcul de correcteurs en temps discret} - -\section{Le correcteur PID Proportionnel - Intégral - Dérivée} - -\begin{figure}[h!] -\centering -\includegraphics[scale=0.5]{pid.png} -\caption{Correcteur PID} -\end{figure} - -Le PID se traduit donc théoriquement par : -\[ C(p) = K_p ( 1 + \frac{1}{T_ip} + T_dp ) \] - -En pratique, on considère plutôt : -\[ C(p) = K_p ( 1 + \frac{1}{T_ip} + \frac{T_dp}{1+\epsilon _p})\] -où $\epsilon < \frac{T_d}{10^N}$, avec $N>>10$ - -\begin{align*} -U(p) & = C(p) \epsilon(p) \\ -& = K_p \epsilon(p) + \frac{1}{T_ip} \epsilon(p) + T_dp\epsilon(p) \\ -u(t) & = K_p ( \epsilon (t) + \frac{1}{T_i} \int_0^t\epsilon(\tau)d\tau + T_d \frac{d\epsilon(t)}{dt} -\end{align*} - -Avec $t = kT_e, u_k = u(kT_e), \epsilon_k = \epsilon(kT_e)$ -\begin{align*} -u_k & = K_p \epsilon_k + \frac{K_p}{T_i} \int_0^{kT_e} \epsilon (\tau) d\tau + K_pT_d \frac{\epsilon_k - \epsilon_{k-1}}{T_e} \\ -& \text{ Or, } \int_0^{kT_e} \epsilon(\tau)d\tau \approx \sum_{j=0}^k \epsilon_jT_e \\ -u_k &= K_p \epsilon_k + \frac{K_pT_e}{T_i} \sum_{j=0}^k \epsilon_j + \frac{K_pT_e}{T_i}(\epsilon_k-\epsilon_{k-1}) \quad (1) -\end{align*} -où $K_p, T_i, T_d$ sont trois paramètres à ajuster pour garantir stabilité en performances en boucle fermée. - -Soit $U(z) = Z[u_k], \epsilon(z) = Z[\epsilon_k]$ -\begin{align*} -U(z) & = K_p ( \epsilon(z) + \frac{T_e}{T_i}\frac{z}{z-1}\epsilon(z) + \frac{T_d}{T_e}(1-z^{-1})\epsilon(z) ) \\ -\text{ d'où } C(z) & = \frac{U(z)}{\epsilon(z)} = K_p ( 1 + \frac{T_e}{T_i}\frac{z}{z-1} + \frac{T_d}{T_e}(1-z^{-1})) -\end{align*} - -Remarque : la loi de commande (1) n'est pas appropriée pour une implémentation en temps réel, car le terme $\sum_{j=0}^k \epsilon_j$ est difficile à manipuler. - -On s'intéresse donc plutôt à : - -\[ -u_k - u_{k-1} = K_p ( \epsilon_k - \epsilon_{k-1} ) + \frac{K_pT_e}{T_i} \epsilon_k + \frac{K_pT_d}{T_e}(\epsilon_k - 2\epsilon_{k-1} + \epsilon_{k-2}) -\] - -Méthodes de réglage du PID : -\begin{itemize} -\item méthodes graphiques, réglage des marges de gain et de phase, bande passante, ..., sur le diagramme de Bode -\item méthodes empiriques, mais la méthode de Takahashi\footnote{À savoir appliquer, voir polycopié} ne s'applique ni aux systèmes instables, ni aux systèmes oscillants. -\end{itemize} -\medskip - -Les effets des composantes P, I et D sont similaires à ceux dans le cas analogique. -\begin{itemize} -\item l'action P augmente la bande passante, donc la rapidité du système, mais dégrade la stabilité. Une amplitude de commande élevée conduit alors à une saturation. -\item l'action I augmente la précision, dégrade la rapidité et la stabilité. Elle est peu robuste aux perturbations basses fréquences (une perturbation constante sera intégrée). -\item l'action D augmente la rapidité et la bande passante. Elle permet d'améliorer les marges de stabilité mais amplifie les bruits hautes fréquences (notamment les bruits de capteurs) -\end{itemize} -\medskip - -Conclusion : il faudra combiner judicieusement ces actions en fonction du système, des capteurs et des performances requises. - \section{Transposition des méthodes analogiques} \subsection{Approximation du BOZ par un retard équivalent} @@ -848,11 +783,11 @@ x_k & = \sum_{j=0}^k e_jT_e \subsubsection*{Approximation d'Euler arrière} \begin{align*} \frac{de(t)}{dt} & = \frac{e_k - e_{k-1}}{T_e} \\ -pE(p) & = \frac{1-z^{-1}}{t_e}E(z) +pE(p) & = \frac{1-z^{-1}}{t_e}E(z) \end{align*} \[ \boxed{p = \frac{z-1}{zT_e}} \] -\subsubsection*{Approximation d'Euler avant} +\subsubsection*{Approximation d'Euler avant} \begin{align*} \frac{de(t)}{dt}& = \frac{e_{k+1}-e_k}{T_e} \\ pE(p) & = \frac{z-1}{T_e}E(z) @@ -880,12 +815,12 @@ $R_d(z) = R_c(p) |_{p=\frac{2}{T_e} \frac{z-1}{z+1}}$ Réponse fréquentielle : $ z=e^{T_ep}, p=j\omega$ \begin{align*} -R_d(e^{jT_e\omega}) & = R_c(\frac{2}{T_e} \frac{jT_e\omega-1}{jT_e\omega+1} +R_d(e^{jT_e\omega}) & = R_c(\frac{2}{T_e} \frac{jT_e\omega-1}{jT_e\omega+1} \\ \frac{jT_e\omega-1}{jT_e\omega+1} & = j\tan(\frac{T_e}{2}\omega) \\ R_d(e^{jT_e\omega}) & = R_c(j\frac{2}{T_e} \tan(\frac{T_e}{2})\omega) \\ -& = R_c(j\tilde{\omega}) \text{ où } \tilde{\omega} = \frac{2}{T_e}\tan(\frac{T_e}{2}\omega) +& = R_c(j\tilde{\omega}) \text{ où } \tilde{\omega} = \frac{2}{T_e}\tan(\frac{T_e}{2}\omega) \end{align*} $\tilde{\omega}$ est une "pseudo-pulsation" qui varie de 0 à $+\infty$ lorsque $\omega$ varie de 0 à $\frac{\pi}{2}$. Cela correspond à une distorsion de l'échelle fréquentielle. @@ -905,12 +840,12 @@ z & = e^{T_ep} \\ R_d(z) & = \frac{z-e^{-T_ea}}{z-e^{-T_eb}} \alpha \\ \text{Gain statique : } & \lim_{z\rightarrow1}R_d(z) = \alpha \frac{1-e^{-T_ea}}{1-e^{-T_eb}} = \lim_ {p\rightarrow 0} R_c(p) = \frac{a}{b} \\ \alpha & = \frac{a}{b} \frac{1-e^{-T_ea}}{1-e^{-T_eb}} -\end{align*} +\end{align*} En résumé, on construit $R_d(z)$ avec la même structure que $R_c(p)$ en temres de zéros, pôles et gain statique. Précaution à prendre lorsque le degré du numérateur de $R_c(p)$ est inférieur au degré du dénominateur de $R_c(p)$ (i.e. $R_c(p)$ strictement propre) -Exemple : +Exemple : \begin{align*} R_c(p) & = \frac{p+a}{(p+b)(p+c)} \\ R_d(p) & = \frac{(z+1)(z - e^{-T_ea})}{(z-e^{-T_eb)(z-e^{-T_ec})}}\alpha \\ @@ -918,7 +853,7 @@ R_d(1) = R_c(0) \rightarrow \alpha = ... \end{align*} Le terme $(z+1)$ est ajouté pour permettre d'avoir le même gain de $R_d(z)|_{z=e^{jT_e\frac{\pi}{T_e}}} = R_c(j\omega)|_{\omega \rightarrow \infty}$ (correspondance du gain haute fréquence). -En conclusion, le choix d'une approximation dépend beaucoup des caractéristiques (zéros, ordre,...) du système. +En conclusion, le choix d'une approximation dépend beaucoup des caractéristiques (zéros, ordre,...) du système. \newpage \textbf{À savoir pour le partiel} @@ -932,7 +867,7 @@ En conclusion, le choix d'une approximation dépend beaucoup des caractéristiqu \item Correcteur RST \item Règle des retards relatifs \item Règles de rejet de la perturbation, conséquence sur le polynôme $R$ -\item Être en mesure de déterminer les degrés de polynômes R et S pour résoudre un problème : technique de simplification de pôles / zéros, introduction de polynôme auxiliaire +\item Être en mesure de déterminer les degrés de polynômes R et S pour résoudre un problème : technique de simplification de pôles / zéros, introduction de polynôme auxiliaire \end{itemize} \chapter{Commande dans l'espace d'état} @@ -948,8 +883,8 @@ $u(t) \in \R^m$ commande $y(t)\in \R^p $ sortie mesurée $x(t) \in \R^n$ vecteur d'état, et ses composantes $x_i(t)\in \mathbb{R}$ variables d'état\\ - -On appelle équation d'état du système $(\Sigma)$ : +\begin{defin} +On appelle \textbf{équation d'état} du système $(\Sigma)$ : \[ \dot{x}(t) = f(x(t),u(t),t) \] $f : \R^n \times \R^m \times R_+ \rightarrow \R^n$ : champs de vecteurs, relation non linéaire en $x,u,t$. @@ -958,12 +893,12 @@ $x_0=x(0) \in \R^n$ : vecteur des conditions initiales. $x(t)$ contient des grandeurs physiques ou non.\\ -On appelle équation d'observation du système $(\Sigma)$ : +On appelle \textbf{équation d'observation }du système $(\Sigma)$ : \[ y(t) = h(x(t),u(t),t) \quad \text{(équation algébrique)} \] -Un modèle d'état est composé d'une équation d'état et d'une équation d'observation : +Un \textbf{modèle d'état} est composé d'une équation d'état et d'une équation d'observation : -\[ +\[ (\Sigma) \left\{ \begin{array}{ll} @@ -975,7 +910,7 @@ y(t) & = h(x(t),u(t),t) Dans le cas discret : -\[ +\[ (\Sigma) \left\{ \begin{array}{ll} @@ -988,12 +923,12 @@ y_k & = h_d(x_k,u_k,k) \[ u_k\in \R^m \rightarrow \boxed{\Sigma_d} \rightarrow y_k\in\R^p \] $x_k \in \R^n$ vecteur de suites numériques - +\end{defin} \paragraph{Systèmes stationnaires :} on peut simplifier comme suit : \begin{multicols}{2} Continu : -\[ +\[ \left\{ \begin{array}{ll} \dot{x}(t) & = f(x(t),u(t)), \quad x_0=x(0) \\ @@ -1003,7 +938,7 @@ y(t) & = h(x(t),u(t)) \] Discret : -\[ +\[ \left\{ \begin{array}{ll} x_{k+1} & = f_d(x_k,u_k), \quad x_0=x(0) \\ @@ -1017,7 +952,7 @@ y_k & = h_d(x_k,u_k) \paragraph{Systèmes linéaires stationnaires :} on a alors : \begin{multicols}{2} Continu : -\[ +\[ \left\{ \begin{array}{ll} \dot{x}(t) & = Ax(t)+Bu(t), \quad x_0=x(0) \\ @@ -1027,7 +962,7 @@ y(t) & = Cx(t)+Du(t)) \] Discret : -\[ +\[ \left\{ \begin{array}{ll} x_{k+1} & = A_d x_k + B_d u_k, \quad x_0=x(0) \\ @@ -1049,7 +984,7 @@ $D,D_d \in \R^{p\times n}$ matrices de transmission directe \begin{multicols}{2} Continu : -\[ +\[ \left\{ \begin{array}{ll} \dot{x}(t) & = A(t)x(t)+B(t)u(t), \quad x_0=x(0) \\ @@ -1059,7 +994,7 @@ y(t) & = C(t)x(t)+D(t)u(t)) \] Discret : -\[ +\[ \left\{ \begin{array}{ll} x_{k+1} & = A_d(k) x_k + B_d(k) u_k, \quad x_0=x(0) \\ @@ -1069,12 +1004,7 @@ y_k & = C_d(k) x_k + D_d(k) u_k \] \end{multicols} -\paragraph{Schéma-bloc :} cas linéaire stationnaire - -Insérer schéma bloc - - -\paragraph{Cadre du cours :} systèmes linéaires, stationnaires, SISO (mono-entrée, mono-sortie). +\paragraph{Cadre du cours :} systèmes linéaires, stationnaires, SISO (mono-entrée, mono-sortie). De plus, $u\in\R \quad (m=1)$, $y\in\R \quad (p=1)$. @@ -1090,11 +1020,11 @@ J\ddot{\theta}(t) & = C_m(t) + C_g(t)\\ J\ddot{\theta} & = C_m(t) - \frac{L}{2}mg\cos\theta \\ \intertext{On pose $C_m(t) = u(t)$} \ddot{\theta}(t) & = \frac{1}{J}u(t) - \frac{mgL}{2J}\cos(\theta(t)) -\end{align*} -On a donc : +\end{align*} +On a donc : \[ \dot{x}(t) = -\left[ +\left[ \begin{array}{cc} \dot{\theta}(t) \\ \ddot{\theta}(t) @@ -1107,24 +1037,24 @@ On a donc : -\frac{mgL}{2J}\cos(\theta(t)) \end{array} \right] -+ ++ \left[ \begin{array}{cc} 0 \\ \frac{1}{J} -\end{array} +\end{array} \right] u(t) \] \subsubsection{Cas d'un robot à n liaisons en série, n-actionné} \[M(q) \ddot{q} + C(q,\dot{q}) \dot{q} + D\dot{q} + g(q) = \tau \] -\[q(t) = \vect{ +\[q(t) = \vect{ \theta_1(t) \\ \vdots \\ \theta_n(t) } \in \R^n, \quad -\tau = +\tau = \vect{ \tau_1(t) \\ \vdots \\ @@ -1139,11 +1069,11 @@ $D\dot{q}$ & & frottements visqueux dans les liaisons \end{tabular} -\[x(t) = +\[x(t) = \vect{q(t) \\ \dot{q}(t)} \in \R^{2n}\] -\[\dot{x}(t) = +\[\dot{x}(t) = \vect{ \dot{q}(t) \\ \ddot{q}(t)} -= += \vect{\dot{q}(t) \\ -M^{-1}(q)C(q,\dot{q})\dot{q}-M^{-1}D\dot{q}-M^{-1}(q)g(q)} + \vect{ 0_{n\times n} \\ M^{-1}} @@ -1151,23 +1081,24 @@ $D\dot{q}$ & & frottements visqueux dans les liaisons \subsubsection{Circuit avec diode à effet tunnel} -\begin{figure} +\begin{figure}[H] \centering \begin{tikzpicture}[scale=0.8] \draw (0,0) to [sV=$u(t)$] (0,2) to [R,l=$R$] (0,4) to [L,l=$L$,i=$i_L$] (4,4) to [C,l=$C$,v=$v_c$] (4,0) to (0,0) -(4,4) to (8,4) to [tunnel diode,i=$i_D$] (8,0) to (4,0) +(4,4) to (8,4) to[tunnel diode,i=$i_D$] (8,0) to (4,0) ; \end{tikzpicture} +\caption{Montage étudié} \end{figure} Lois de Kirchoff : \begin{align*} -\text{Noeud A : } & i_L = i_C + i_D = h(v_D) + v_C \\ +\text{Noeud A : } & i_L = i_C + i_D = h(v_D) + v_C \\ & \Rightarrow C\frac{dv_D}{dt} = i_L - h(v_D)\\ \text{Maille 1 : } & u(t) - Ri_L(t) - L\frac{di_L}{dt} -v_C(t) = 0 \\ & \Rightarrow Ri_L + L\frac{di_L}{dt} + v_D = u(t)\\ \text{Maille 2 : } & v_C(t) = v_D(t) -\end{align*} +\end{align*} \[x(t) = \vect{ i_L \\ v_D @@ -1176,19 +1107,19 @@ x_1 \\ x_2 } \in \R^2,\text{ 2 variables d'état} \] -\[\dot{x}(t) = +\[\dot{x}(t) = \vect{ \dot{x}_1 \\ \dot{x}_2 } - = + = \left[ \begin{array}{cc} --\frac{R}{L}i_L & -\frac{1}{L}v_D \\ +-\frac{R}{L}i_L & -\frac{1}{L}v_D \\ \frac{1}{C}i_L & -\frac{1}{C}h(v_D) \end{array} \right] - + + + \vect{ \frac{1}{L} \\ 0 @@ -1197,9 +1128,9 @@ x_2 \] -\subsection{Quelques propriétés de base, valables à temps continu ou discret} +\section{Quelques propriétés de base, valables à temps continu ou discret} -\subsubsection{Non-unicité d'un modèle d'état} +\subsection{Non-unicité d'un modèle d'état} Cas continu : \[ @@ -1211,70 +1142,39 @@ y(t) & = Cx(t)+Du(t)) \right. \] -Soit $T\in\R^{n\times n}$ inversible. - -Soit $z(t) \in \R^n$ tel que - +Soit $T\in\R^{n\times n}$ inversible. Soit $z(t) \in \R^n$ tel que $x(t) = T z(t)$. et $T$ invariante dans le temps. \begin{align*} -x(t) & = Tz(t) \\ -\dot{x}(t) & = T\dot{z}(t) -\end{align*} -\begin{align*} -& \left\{ -\begin{array}{ll} -T\dot{z}(t) & = AT(t)+Bu(t) \\ -y(t) & = CTz(t)+Du(t)) -\end{array} -\right. \\ -& \left\{ -\begin{array}{ll} + & \begin{cases} + T\dot{z}(t) & = AT(t)+Bu(t) \\ + y(t) & = CTz(t)+Du(t)) +\end{cases} + \\ +& \begin{cases} \dot{z}(t) & = T^{-1}ATz(t) + T^{-1}Bu(t) \\ y & = CT z(t) + Du(t) -\end{array} -\right., z(0) = T^{-1}x_0 \\ -& \left\{ -\begin{array}{ll} +\end{cases} \text{ avec } z(0) = T^{-1}x_0 \\ +& \begin{cases} \dot{z}(t) & = \tilde{A}z(t) + \tilde{B}z(t) \\ y & = \tilde{C}z(t) + Du(t) -\end{array} -\right. +\end{cases} \end{align*} D est invariant par changement de coordonnées régulier ($x(t) = Tz(t)$) +\begin{prop} Il existe une infinité de modèles d'état pour un même système (linéaire et stationnaire). +\end{prop} \paragraph{Remarque} voir plus bas quelques changement de coordonnées vers des formes d'état canoniques. +\subsection{Solution de l'équation d'état} -\subsection{Modèle d'état pour quelques associations de systèmes (TD1)} +\subsubsection{Exponentiel d'une matrice} -Soient -\begin{align*} -(S_1) & \left\{ -\begin{array}{ll} -\dot{x}_1 & = A_1x_1 + B_1u_1 \\ -y_1 & = C_1 x_1 + D_1 u_1 -\end{array} -\right. \\ -(S_2) & \left\{ -\begin{array}{ll} -\dot{x}_2 & = A_2x_2 + B_2u_2 \\ -y_2 & = C_2 x_2 + D_2 u_2 -\end{array} -\right. -\end{align*} - -Association en série (schéma) - -\section{Solution de l'équation d'état} - -\subsection{Exponentiel d'une matrice} - -\begin{dfn} -Soit $\K = \R \ou \C$. -\[ \forall A \in \K^{n\times n}, e^A \in \K^{n\times n} \et e^A = \sum_{k=0}^{\infty} \frac{A^k}{k!} \] +\begin{defin} +Soit $\K = \R \text{ ou } \C$. +\[ \forall A \in \K^{n\times n}, e^A \in \K^{n\times n} \text{ et } e^A = \sum_{k=0}^{\infty} \frac{A^k}{k!} \] On admet la convergence de la série. -\end{dfn} +\end{defin} \paragraph{Remarque} $e^{0_{n\times n}} = 1_{n}$ @@ -1309,21 +1209,26 @@ e^{tA} & = \sum_{k=0}^{\infty} \frac{t^k}{k!}A^k \\ Soient $A,B \in \K^{n \times n}$ \begin{enumerate} \item \[\forall t \in \R_+, \quad AB = BA \Leftrightarrow e^{tA}e^{tB} = e^{t(A+B)} \] -\item \[ \si AB = BA, \alors e^{A+B} = e^A e^B = e^Be^A \] +\item \[ \text{ si } AB = BA, \text{ alors } e^{A+B} = e^A e^B = e^Be^A \] \end{enumerate} \end{prop} -\paragraph{Théorème} Soit $A\in \K^{n\times n}$ +\begin{thm} +Soit $A\in \K^{n\times n}$ \begin{align*} e^{tA} & = \sum_{k=0}^{n-1} \Psi_k(t)A^k, \quad \forall t \in \R \\ e^{tA} & = \frac{1}{2\pi j} \int_C (z1_n-A)^{-1} e^{tz} dz -\intertext{où $C$ est un contour fermé du plan complexe contenant $Spec(A)$ (valeurs propres de A)} -\intertext{Soit $P_A$ le polynôme caractéristique de $A$} +\end{align*}\\[2em] + +où $C$ est un contour fermé du plan complexe contenant $Spec(A)$ (valeurs propres de A) +\end{thm} +Soit $P_A$ le polynôme caractéristique de $A$ +\begin{align*} P_A(s) & = det(s1_n-A) = s^n + a_{n-1}s^{n-1} + ... + a_1s + a_0, \quad a_j \in \R, j=0...n-1 \\ \intertext{On montre que} -sP_A^{(k+1)}(s) & = P_A^{(k)}(s) - a_k, \quad k=0,...n-1 \avec P_A^{(0)}(s) = P_A(s) \et P_A^{(n)}(s) = 1 \\ +sP_A^{(k+1)}(s) & = P_A^{(k)}(s) - a_k, \quad k=0,...n-1 \text{ avec } P_A^{(0)}(s) = P_A(s) \text{ et } P_A^{(n)}(s) = 1 \\ \Psi_k(t) & = \frac{1}{2\pi j} \int_C \frac{P_A^{(k+1)}(z)}{P_A^{(k)}(z)} e^{tz} dz \end{align*} @@ -1331,14 +1236,16 @@ On montre que $\forall k = 0,1...n-1$ et $t\geq 0$ \[ \Psi_k^{(n)}(t) + a_{n-1} \Psi_k^{(n-1)}(t) + ... + a_1\Psi_k^{(0)}(t) + a_0\Psi_k(t) = 0 \] avec $\forall k,l= 0...n-1, k\neq l$, on a $\Psi_k^{(l)}(0) = \delta_{kl}$ -\paragraph{Théorème} Soit $A\in \K^{n\times n}$ et $\Psi_0(t)...\Psi_{n-1}(t)$ définis précédemment. +\begin{thm} +Soit $A\in \K^{n\times n}$ et $\Psi_0(t)...\Psi_{n-1}(t)$ définis précédement. -Alors $\forall s \in \C \setminus Spec(A)$, +Alors $\forall s \in \C \setminus Spec(A)$, \[ L[e^{tA}] = \int_0^{\infty} e^{-st}e^{At} dt = (s1_n-A)^{-1} \] On appelle $(s1_n-A)^{-1}$ résolvante de A. -De plus, +\end{thm} +De plus, \begin{align*} \hat{\Psi_k}(s) & = L[\Psi_k(t)]_{k=0..n-1} \\ & = \frac{P_A^{(k+1)}(s)}{P_A^{(k)}(s)} \\ @@ -1346,55 +1253,6 @@ De plus, & = \sum_{k=0}^{n-1}\hat{\Psi_k}(s)A^k \end{align*} -\subsection{Cas analogique} - -\[ (S) : -\left\{ -\begin{array}{ll} -\dot{x} &= Ax + Bu, \quad x(0)=x_0 \in \R^n \\ -y & = Cx+Du -\end{array} -\right. -\] - -\[ x(t) = e^{At}x_0 + \int_0^t e^{A(t-\tau)}Bu(\tau)d\tau \] - -\begin{proof} -\begin{align*} -\dot{x} & = Ax + Bu \\ -e^{-tA}(\dot{x} - Ax) & = e^{-tA}Bu\\ -\int \frac{d}{dt}(e^{-tA}x(t)) & = \int e^{-tA}Bu(t) \\ -e^{-tA}x(t)-e^{-t_0A}x_0 & = \int_{t_0}^t e^{-\tau A}Bu(\tau)d\tau \avec t_0=0 -\end{align*} - -Réciproquement -\begin{align*} -\dot{x}(t) & = Ae^{tA}x_0 + \frac{d}{dt} \int_0^t e^{A(t-\tau)}Bu(\tau)d\tau \\ -& = Ae^{tA}x_0 + \int_0^t Ae^{(t-\tau)A} Bu(\tau)d\tau + Bu(t) \\ -& = A(e^{tA}x_0 + \int_0^t e^{(t-\tau)A} Bu(\tau)d\tau) + Bu(t) \\ -& = Ax(t) + Bu(t) -\end{align*} -\end{proof} - -\subsection{Cas discret} -\[ (S) : -\left\{ -\begin{array}{ll} -x_{k+1} &= A_dx_k + B_du_k, \quad x_0 \in \R^n \\ -y_k & = C_dx_k+D_du_k -\end{array} -\right. -\] - -\[ -\begin{array}{lll} -k=0 & x_1 = & A_dx_0 + B_du_0 \\ -k=1 & x_2 = & A_dx_1 + B_du_1 \\ -& & A_d^2x_0 + A_dB_du_0 + B_du_1 \\ -& \vdots \\ -& x_k & = A_d^k x_0 + \sum_{j=0}^{k-1}A_j^{k-1-j}B_du_j -\end{array} -\] En pratique, soit $V\in \mathbb{K}^{n\times }$ inversible, tel que $V^{-1}AV = J$, $J\in \mathbb{K}^{n \times n}$ matrice de Jordan ou bien $J = \Lambda = \text{diag}(\lambda_1...\lambda_n), \lambda_i$ valeurs propres de A @@ -1410,122 +1268,146 @@ $\Lambda^k = \text{diag}(\lambda_i^k)$ $e^{t\Lambda} = \text{diag}(e^{t\lambda_i})$ \end{prop} -Remarque : si $x(t)$ ou $x_k$ connu, -\[y(t) = Cx(t) + Du(t) \] -\[y-k = C_dx_k + d_du_k \] +\subsubsection{Cas analogique} +\begin{thm} + La solutions de l'équation d'état est: +\[ (S) : +\left\{ +\begin{array}{ll} +\dot{x} &= Ax + Bu, \quad x(0)=x_0 \in \R^n \\ +y & = Cx+Du +\end{array} +\right. +\] +\end{thm} + +\[ x(t) = e^{At}x_0 + \int_0^t e^{A(t-\tau)}Bu(\tau)d\tau \] + +\begin{proof} +\begin{align*} +\dot{x} & = Ax + Bu \\ +e^{-tA}(\dot{x} - Ax) & = e^{-tA}Bu\\ +\int \frac{d}{dt}(e^{-tA}x(t)) & = \int e^{-tA}Bu(t) \\ +e^{-tA}x(t)-e^{-t_0A}x_0 & = \int_{t_0}^t e^{-\tau A}Bu(\tau)d\tau \text{ avec } t_0=0 +\end{align*} + +Réciproquement +\begin{align*} +\dot{x}(t) & = Ae^{tA}x_0 + \frac{d}{dt} \int_0^t e^{A(t-\tau)}Bu(\tau)d\tau \\ +& = Ae^{tA}x_0 + \int_0^t Ae^{(t-\tau)A} Bu(\tau)d\tau + Bu(t) \\ +& = A(e^{tA}x_0 + \int_0^t e^{(t-\tau)A} Bu(\tau)d\tau) + Bu(t) \\ +& = Ax(t) + Bu(t) +\end{align*} +\end{proof} + +\subsubsection{Cas discret} +\begin{thm} +Dans le cas discret , les solutions de l'équation d'état sont: + \[ (S) : +\left\{ +\begin{array}{ll} +x_{k+1} &= A_dx_k + B_du_k, \quad x_0 \in \R^n \\ +y_k & = C_dx_k+D_du_k +\end{array} +\right. +\] +\end{thm} +\[ +\begin{array}{c|ll} +k=0 & x_1 = & A_dx_0 + B_du_0 \\ +k=1 & x_2 = & A_dx_1 + B_du_1 \\ +& & A_d^2x_0 + A_dB_du_0 + B_du_1 \\ +& \vdots \\ +\forall k & x_k & = A_d^k x_0 + \sum_{j=0}^{k-1}A_j^{k-1-j}B_du_j +\end{array} +\] + + +\subsection{Modèle d'état pour quelques associations de systèmes (TD1)} \section{Commandabilité et observabilité} Problème : existe-t-il une commande $u(t)$ permettant de passer d'un point de fonctionnement à $t=t_1$ à un autre à $t=t_2$ ? \subsection{Commandabilité} -\begin{dfn}[Cas analogique] -Le système $(S)$ est dit commandable si \[\forall x(t=t_0)=x_0 \in \K^N \et \forall x_f=x(t=t_f)\in \K^n\] il existe une commande $u(t)$ continue (par morceaux) qui amène l'état $x(t)$ de l'état $x_0$ à $t=t_0$ vers $x_f$ à $t=t_f$. -\end{dfn} +\begin{defin} + \begin{description} + \item[Cas analogique] +Le système $(\Sigma)$ est dit commandable si \[\forall x(t=t_0)=x_0 \in \K^N \text{ et } \forall x_f=x(t=t_f)\in \K^n\] il existe une commande $u(t)$ continue (par morceaux) qui amène l'état $x(t)$ de l'état $x_0$ à $t=t_0$ vers $x_f$ à $t=t_f$. +\item[Cas discret] + Le système $(\Sigma_d)$ est commandable si \[\forall x_d \in \K^n \text{ et } \forall x_f \in \K^n\] il existe une séquence d'échantillons de commande $[u_0,u_1,\dots u_k]$ qui amène le système $\Sigma_d$ de l'état de $x_d$ pour $k=0$ à $x_f$ pour $k=n$. + \end{description} +\end{defin} -\begin{dfn}[Cas discret] -Le système $(S_d)$ est commandable si \[\forall x_d \in \K^n \et \forall x_f \in \K^n\] il existe une séquence d'échantillons de commande $[u_0,u_1,\dots u_k]$ qui amène le système $S_d$ de l'état de $x_d$ pour $k=0$ à $x_f$ pour $k=n$. -\end{dfn} - -\begin{dfn}[analogique ou discret] -On appelle matrice de commandabilité (dite de Kalman), la matrice notée (obtenue par concaténation) -\[ C(A,B) = [B \quad AB \quad A^2B \dots A^{n-1}B] \in \K^{n \times n} \] -\end{dfn} +\begin{defin} +On appelle \textbf{matrice de commandabilité} (dite de Kalman), la matrice notée (obtenue par concaténation) +\[ \mathcal{C}(A,B) = [B \quad AB \quad A^2B \dots A^{n-1}B] \in \K^{n \times n} \] +\end{defin} \begin{thm} Cas analogique ou discret : \\ -Le système $(S)$ est commandable si et seulement si (matrice de rang plein) -\[ rang( C(A,B) = n )\] +\textbf{Le système $(\Sigma)$ est commandable} si et seulement si (matrice de rang plein) +\[ rang( \mathcal{C}(A,B)) = n \] -Le système $(S_d)$ est commandable si et seulement si -\[ rang( C(A_d,B_d) = n )\] +\textbf{Le système $(\Sigma_d)$ est commandable} si et seulement si +\[ rang( C(A_d,B_d)) = n \] \end{thm} +On dit alors que la paire $A,B$ est commandable. + \begin{prop}[Corollaire spécifique aux systèmes monovariables] -Le systèmes $(S)$ ou $(S_d)$ est commandable si et seulement si -\[ det (C(A,B)) \neq 0 \quad (\ou det (C(A_d,B_d)) \neq 0) \] +Le systèmes $(S)$ ou $(S_d)$ est commandable si et seulement si +\[ det (\mathcal{C}(A,B)) \neq 0 \quad (\text{ ou } det (C(A_d,B_d)) \neq 0) \] \end{prop} \begin{proof} \[x_k= A_d^k x_0 + \sum_{j=0}^{k-1}A_j^{k-1-j}B_du_j\] Pour atteindre n'impotre quel état de $\K^N$, il faut que -\[ Im\{A_d^{k-1-j}B_d\}_{j=0...k-1} = \R^n \] +\[ Im\{A_d^{k-1-j}B_d\}_{j=0...k-1} = \K^n \] De plus, $\forall k \geq n$, \[ Im\{A_d^{k-1-j}B_d\}_{j=0...k-1} = Im\{A_d^{n-1-j}B_d\}_{j=0...n-1} \] En effet, d'après le théorème d'Hamilton-Cayley, la matrice $A$ est racine de son polynôme caractéristique : $P_A(A) = 0$ donc $A^n = -\sum_{k=0}^{n-1}a_k A^k$. -Dire que $Im\{A_d^{k-1-j}B_d\}_{j=0...n-1} = \K^n \Leftrightarrow rang(C(A_d,B_d)) = n$ +Donc : +\[Im\{A_d^{k-1-j}B_d\}_{j=0...n-1} = \K^n \Leftrightarrow rang(C(A_d,B_d)) = n\] \end{proof} +\subsubsection{Cas discret} +\begin{prop} +Soit $x_0\in\K^n, x_f\in\K^n$, +\[x_f-A_d^nx_0 = \underbrace{[B \quad AB \dots \quad A^{n-1}b]}_{\mathcal{C}(A,B)}\vect {u_{n-1}\\ \vdots\\ u_0}\] + +Si $\mathcal{C}(A,B)$ inversible i.e. système commandable, alors on en déduit la séquence de commande permettant de passe de $x_d$ pour $k=0$ à $x_f$ pour $k=n$: + +\[ +\vect{u_{n-1}\\ \vdots\\ u_0} = \mathcal{C}(A,B)^{-1}(x_n-A_d^nx_0) +\] +\end{prop} + +\subsubsection{Cas continu} + +\begin{defin} +On définit le Gramien de commandabilité, noté $W_c\in\R^{n\times n}$ +\[W_c(t_0,t_1) = \int_{t_0}^{t_1} e^{(t_1-\tau)A} BB^T e^{(t_1-\tau)A^T} d\tau = \int_0^{t_1-t_0}e^{\sigma A}BB^Te^{\sigma A^T}d\sigma \in \K^{n\times n}\] +\end{defin} \begin{prop} -Soit $x_d\in\K^n, x_f\in\K^n$, -\[x_f-A_d^nx_d = [B \quad AB \dots \quad A^{n-1}b][u_{n-1} \dots u_0]^T\] - -Si $C(A,B)$ inversible i.e. système commandable, alors on en déduit la séquence de commande permettant de passe de $x_d$ pour $k=0$ à $x_f$ pour $k=n$. + \begin{itemize} + \item $W_c$ est symétrique + \item $W_c \ge 0$ ie $W_c \in S_n^+$ + \end{itemize} \end{prop} -\subsection{Observabilité} - -\begin{dfn} -Le système $(S)$ est observable si $\forall x_0 \in \R^n$ pour $t=t_0$, il est possible de déterminer cet état uniquement en se servant de l'entrée $u(t)$ ou $u_k$ et de la sortie $y(t)$ ou $y_k$. -\end{dfn} - -\begin{dfn} -On appelle matrice d'observabilité (dite de Kalman), la matrice -\[ O(A,C) = \left[ \begin{array}{c} -C \\ -CA \\ -\vdots \\ -CA^{n-1} -\end{array} \right] -\in \K^{n\times n} -\] -\end{dfn} - \begin{thm} -Le systèmes $(S)$ ou $(S_d)$ est observalble si et seulement si -\[ rang(O(A,C)) = n \quad (ou rang(O(A_d,C_d)) = n \] +Le système $(\Sigma)$ d'équation d'état $\dot{x}=Ax+Bu$ est commandable si et seulement si $W_c$ inversible, c'est-à-dire $W_c > 0$. \end{thm} -\begin{prop}[Corollaire] -\[rang(O(A,C)) = n \Leftrightarrow det(O(A,C)) \neq 0 \] -\end{prop} - -\begin{proof} -Dans le cas discret, \[y_k = C_dA_d^kx_0 + \sum_{j=0}^{k-1}C_dA_d^{k-1-j}B_du_j+D_du_k\] -\[ \left[ \begin{array}{c} C \\ CA \\ \vdots \\CA^{k-1} \\ \end{array} \right] x_d = \left[ \begin{array}{c} y_0 \\ y_1 \\ \vdots \\ y_k \end{array} \right] - M \left[ \begin{array}{c} u_0 \\ u_1 \\ \vdots \\ u_{k-1} \end{array} \right] \] -avec \[ M = \left[ -\begin{array}{ccccc} -0 \\ -CB & \ddots\\ -CAB & \ddots & \ddots \\ -\vdots & \ddots & \ddots & \ddots \\ -CA^{k-2} & \hdots & CAB & CB & 0 -\end{array} -\right] -\] - -$k\geq n-1$ - -$x_d$ s'obtient si et seulement si $rang(O(C,A))=n$ -\end{proof} - - -\begin{dfn} -On définit le Gramien de commandabilité, noté $W_c\in\R^{n\times n}$ -\[W_c(t_0,t_1) = \int_{t_0}^t e^{\tau A} BB^T e^{\tau A^T} d\tau = W_c(t_0,t_1)^T \geq 0 \] -\end{dfn} - -\begin{thm} -Le système $(S)$ d'équation d'état $\dot{x}=Ax+Bu$ est commandable si et seulement si $W_c$ inversible, c'est-à-dire $W_c > 0$. -\end{thm} - -\begin{proof} -a) Si $W_c$ inversible, alors $\dot{x}=Ax+Bu$ (commandable) +\begin{proof}~\\ + \begin{enumerate}[label=\alph*)] + \item $W_c$ inversible $\implies (\Sigma)$ commandable. Soient $x_0,X_1\in\R^n$. Soit $v(t)$ bornée sur $[t_0,t_1]$ défini par $v(t) = B^Te^{A(t_1-\tau)}W_c(t_0,t_1)^{-1}(x_1-e^{A(t_1-t_0)}x_0)$, @@ -1538,13 +1420,13 @@ On a \begin{align*} & = x_1 \end{align*} -b) Si $\dot{x}=Ax+Bu$ commandable, alors $W_c$ inversible. Montrons que si $W_c$ non inversible, alors $\dot{x}=Ax+Bu$ non commandable. +\item $(\Sigma)$ commandable $\implies$ $W_c$ inversible. Montrons que si $W_c$ non inversible, alors $(\Sigma)$ non commandable. $\exists y \in \R^n \setminus \{0\}$ tel que $W_cy=0$ \begin{align*} \Leftrightarrow & y^TW_c y = 0 \\ \Leftrightarrow & \int_{t_0}^{t_1}y^T e^{A\tau}BB^Te^{A^T\tau}yd\tau = 0 \\ -\Leftrightarrow & = 0 +\Leftrightarrow & \int_{t_0}^{t_1}\left|B^Te^{(t_1-\tau)A^T}y\right|^2d\tau =0 \Rightarrow & B^Te^{A^T\tau}y=0 \forall\tau\in [t_0,t_1] \\ \Leftrightarrow & y^Te^{A\tau}B=0 \end{align*} @@ -1553,20 +1435,117 @@ Soit $u$ tel que $\dot{x}=Ax+Bu$, $x(t_0)=0$ \[x(t_1) = \int_{t_0}^{t_1}e^{A(t_1-\tau)}Bu(\tau)d\tau \] \[ \Rightarrow y^Tx(t_1)=0 \] -Or si $y\in\R^n \setminus \{0\}$ il existe $x_1\in\R^n$ tel que $y^Tx_1\neq 0$ par exemple $x_1=y$ donc $\forall u, x(t_1) \neq x_1$ non commandable. +Or si $y\in\R^n \setminus \{0\}$ il existe $x_1\in\R^n$ tel que $y^Tx_1\neq 0$ par exemple $x_1=y$ donc $\forall u, x(t_1) \neq x_1$ $(\Sigma)$ non commandable. +\end{enumerate} \end{proof} -\begin{prop}[asymptotique du Gramien] +\begin{prop}[Gramien asymptotique] $W_c(0,\infty)$ solution de l'équation de Lyapumov $AP + PA^T+BB^T=0$ +\end{prop} +\paragraph{Remarque} +Soit $A \in \K^{n\times n}$ et $t\in \R$ on montre avec le théorème de Cayley-Hamilton que : -Gramien d'observabilité : -\[W_o(t_0,t_1) = \int_{t_0}^{t_1}e^{A^Tt}C^TCe^{At}dt \] -$W_o(0,\infty)$ solution de $A^TP + PA + C^TC = 0$ +\[ + e^{tA} = \sum_{j=0}^{n-1} \phi_j(t)A^j \text{ avec } \phi_j(t) \text{ fonction analytique de $\R$, ie DSE.} +\] + + +On a alors: + +\begin{align*} + x(t) &= e^{tA}x_0+ \int_0^t e^{(t-\tau)A}Bu(t)d\tau\\ + &=e^{tA}x_0 + \int_0^t \sum_{j=0}^{n-1} \phi_j(t-\tau)A^j B u(t)d\tau \\ + &=e^{tA}x_0 + \sum_{j=0}^{n-1} \int_0^t \phi_j(t-\tau)A^j B u(t)d\tau \\ + &=e^{tA}x_0 + \sum_{j=0}^{n-1} A^jB \underbrace{\int_0^t \phi_j(t-\tau)u(t)d\tau}_{\mu_j}\\ + &= e^{tA}x_0 + \mathcal{C}(A,B) \vect{\mu_0 \\ \vdots\\ \mu_{n-1}} +\end{align*} + +\paragraph{Exercice} +\begin{it} + Soit $A\in\K^{3\times3}$ diagonalisable. Calculer $e^{tA}$ et en déduire $\phi_0,\phi_1,\phi_2$ tel que \[e^{tA}=\sum_{j=0}^{2}\phi_jA^j\] +\end{it} + + +\subsection{Observabilité} + +\begin{defin} + Le système $(\Sigma_d)$ est observable si $\forall x_0 \in \R^n$ à + $t=t_0$, il est possible de déterminer le vecteur d'état ($x(t)$ ou $x_d$, uniquement en se servant de l'entrée $u(t)$ ou $u_k$ et de la sortie $y(t)$ ou $y_k$. +\end{defin} + +\begin{defin} +On appelle matrice d'observabilité (dite de Kalman), la matrice +\[ \mathcal{O}(A,C) = \left[ \begin{array}{c} +C \\ +CA \\ +\vdots \\ +CA^{n-1} +\end{array} \right] +\in \K^{n\times n} +\] +\end{defin} + +\begin{thm}[Critère d'Observabilité de Kallman] +Le systèmes $(\Sigma)$ ou $(\Sigma_d)$ est observalble si et seulement si +\[ rang(\mathcal{O}(A,C)) = n \quad \text{ ou }rang(\mathcal{O}(A_d,C_d)) = n \] +\end{thm} + +\begin{prop}[Corollaire dans le cas SISO] +\[rang(\mathcal{O}(A,C)) = n \Leftrightarrow det(\mathcal{O}(A,C)) \neq 0 \] \end{prop} -\section{Stabilité} +\begin{proof} +Dans le cas discret, \[y_k = C_dA_d^kx_0 + \sum_{j=0}^{k-1}C_dA_d^{k-1-j}B_du_j+D_du_k\] +\[ \left[ \begin{array}{c} C \\ CA \\ \vdots \\CA^{k-1} \\ \end{array} \right] x_d = \left[ \begin{array}{c} y_0 \\ y_1 \\ \vdots \\ y_k \end{array} \right] - M \left[ \begin{array}{c} u_0 \\ u_1 \\ \vdots \\ u_{k-1} \end{array} \right] \] +avec \[ M = \left[ +\begin{array}{ccccc} +0 \\ +CB & \ddots\\ +CAB & \ddots & \ddots \\ +\vdots & \ddots & \ddots & \ddots \\ +CA^{k-2} & \hdots & CAB & CB & 0 +\end{array} +\right] +\] + +$k\geq n-1$ + +$x_d$ s'obtient si et seulement si $rang(\mathcal{O}(C,A))=n$ +\end{proof} + + + +\begin{prop} + Les propriétés de commandabilité et d'observabilité sont invariantes par changement de variable. +\end{prop} + +\begin{proof} + Soit $(\Sigma) = + \begin{cases} + \dot{x} =Ax+Bu \\ + y = Cx+Du + \end{cases}$ + et $T\in \K^{n\times n}$ inversible et $z$ tel que $x(t)= Tz(t)$. Alors: + +\[ + \begin{cases} + \dot{z} = \underbrace{T^{-1}AT}_{\tilde{A}} + \underbrace{T^{-1}B}_{\tilde{B}}u\\ + y = \underbrace{CT}_{\tilde{C}}z + Du + \end{cases} +\] + +Alors on a la matrice de commandabilité : +\[ +\mathcal{C}(\tilde{A},\tilde{B}) = [ T^{-1}B T^{-1}ATT^{-1}B \dots ] = T^{-1} \mathcal{C}(A,B) +\implies rg(\mathcal{C}(\tilde{A},\tilde{B})) = rg(\mathcal{C}(A,B)) +\] +De même : +\[ +\mathcal{O}(\tilde{C},\tilde{A}) = \mathcal{O}(C,A)T \implies rg(\mathcal{O}(\tilde{C},\tilde{A}))=rg(\mathcal{O}(C,A)) +\] + +\end{proof} -\emph{Voir polycopié} \section{Relation modèle d'état / fonction de transfert} @@ -1605,9 +1584,12 @@ Les valeurs propres de A (les modes de (S)) sont les pôles de la fonction de tr \begin{proof} \[(p1_n-A)^{-1}=\frac{1}{det(p1_n-A)}Adj(p1_n-A)\] Or, $P_A(p) = det(p1_n-A)$. $Adj(p1_n-A)\in\K^{n\times n}[X]$ Les éléments de $Adj(p1_n-A)$ sont des polynômes d'ordre $n-1$ -\[G(p) = \frac{CAdj(p1_n-A)B+DP_A(p)}{P_A(p)}\] +\[G(p) = \frac{CAdj(p1_n-A)B+DP_A(p)}{P_A(p)}\] \end{proof} +\paragraph{Remarque} Les fonctions de transferts entrées/sorties sont indépendantes du choix du vecteur d'état. + + \subsection{Fonction de transfert / équation différentielle vers modèle d'état} \emph{Voir polycopié} @@ -1621,32 +1603,32 @@ On se ramène à une forme conforme au cours (coefficient de plus haut degré é \begin{multicols}{2} Forme compagnon horizontal de type I : \[ A_c = \left[\begin{array}{ccc} -0 & 1 & 0 \\ -0 & 0 & 1 \\ +0 & 1 & 0 \\ +0 & 0 & 1 \\ -2 & 1/2 & 0 -\end{array} \right] +\end{array} \right] \quad B_c = \left[\begin{array}{c} 0 \\ 0 \\1 \end{array} \right] \] \[ C_c = [-1/4 \quad 1/2 \quad 0], \quad D=0\] Forme compagnon horizontal de type II : \[ A_c = \left[\begin{array}{ccc} -0 & 1/2 & -2 \\ -1 & 0 & 0 \\ +0 & 1/2 & -2 \\ +1 & 0 & 0 \\ 0 & 1 & 0 -\end{array} \right] -\quad +\end{array} \right] +\quad B_c = \left[\begin{array}{c}1 \\ 0 \\0 \end{array} \right] \] \[ C_c = [0 \quad 1/2 \quad -1/4] , \quad D=0\] \end{multicols} Forme compagnon vertical de type I : \[ A_o = \left[\begin{array}{ccc} -0 & 1 & 0 \\ -1/2 & 0 & 1 \\ +0 & 1 & 0 \\ +1/2 & 0 & 1 \\ -2 & 0 & 0 -\end{array}\right] -\quad +\end{array}\right] +\quad B_o = \left[\begin{array}{c}-1/4 \\ 1/2 \\ 0 \end{array} \right] \] \[ C_c = [ 1\quad 0 \quad 0] , \quad D=0\] @@ -1661,8 +1643,8 @@ G(p) & = \frac{p^2-1}{(p+1)(p+2)(p+3)}\\ & & -3 \end{array} \right] x_m + \left[\begin{array}{ccc} -\alpha_1 \gamma_1 \\ -\alpha_2 \gamma_2 \\ +\alpha_1 \gamma_1 \\ +\alpha_2 \gamma_2 \\ \alpha_3 \gamma_3 \end{array} \right] u \\ y & = [1/\gamma_1 \quad 1/\gamma_2 \quad 1/\gamma_3]x_m+0, \quad \forall \gamma_i \neq 0 @@ -1688,7 +1670,7 @@ y & = Cx+Du $G(s)$ est scalaire, donc en transposant ($G(s)=G(s)^T, D=D^T$) : \[G(s) = B^T(s1_n-A)^{-1}C^T+D \in \R[X]\] -Ainsi, $\exists \tilde{x}\in \R^n$ tel que +Ainsi, $\exists \tilde{x}\in \R^n$ tel que \[ (S) : \left\{ \begin{array}{ll} @@ -1718,7 +1700,7 @@ Cas des formes modales : \begin{array}{c} \dot{\xi_1} \\ \vdots \\ -\dot{\xi_n} +\dot{\xi_n} \end{array} \right] & = \left[ @@ -1756,14 +1738,19 @@ $(S)$ est commandable (resp. observable) si et seulement si tous les modes sont Si dans la matrice d'application exprimée dans la base modale, un des coefficients est nul, alors le mode correspondant, donc le système, n'est pas commandable. Il en est de même pour la matrice d'observation et l'observabilité.\\ Cas des formes de Jordan : (exemple) -\[ \dot{x}= \mat{\lambda_1 & 1}{& \lambda_1}{& &\lambda_1} +\[ \dot{x}= \begin{bmatrix} + + \lambda_1 & 1& \\ + & \lambda_1 & \\ + & &\lambda_1 \\ + \end{bmatrix} x + \vect{.\\.\\.\\} u, \quad u \in \R \] Ce n'est pas un système commandable. Dans un système monovariable ($y\in\R, u\in\R$), si un mode multiple est associé à au moins 2 blocs de Jordan, alors ce mode n'est pas commandable / observable. -\section{Stabilisation par retour d'état} +\section{Commande par retour d'état} \[ (S) : \left\{ @@ -1776,11 +1763,11 @@ y & = Cx+Du Étant donné un système en boucle ouverte où $A$ peut posséder des modes / pôles instables, faiblements amortis, lents,... le but est de se donner un ensemble $\{ \lambda_1^{des}, \dots, \lambda_n^{des}\}\in\C^n$ auto-conjugué, et de chercher une loi de commande $u(t)$ permettant d'obtenir en boucle fermée un système dont les pôles / modes sont $\{ \lambda_1^{des}, \dots, \lambda_n^{des}\}$. -\paragraph{Hypothèses : } $x(t) = \vect{x_1(t) \\ \vdots \\ x_n(t)} \in \K^n$. +\paragraph{Hypothèses : } $x(t) = \vect{x_1(t) \\ \vdots \\ x_n(t)} \in \K^n$. On suppose que les $x_k(t)$ sont mesurables, i.e. $x(t)$ est mesurable.\\ -\begin{dfn} +\begin{defin} Une loi de commande par retour d'état est une expression du type \[u(t) = \kappa (x(t)) \text{ où } \kappa : \begin{array}{ll} \R^n & \rightarrow \R \\ @@ -1794,12 +1781,10 @@ $K$ est alors appelé gain du rectour d'état. Une ldc linéaire par retour d'état et consigne est une expression du type : \[ u(t) = Kx(t) + \eta e(t) \] où $K\in \R^{1\times n}$ gain du retour d'état, $\eta \in \R$ terme de précommande et $e(t)$ signal de consigne (ou de référence). -\end{dfn} +\end{defin} -\subsection*{Schéma bloc :} - -\subsection*{Mise en équation :} -\[ (S) : +\subsection{Mise en équation (cas continu) :} +\[ (\Sigma) : \left\{ \begin{array}{ll} \dot{x} &= Ax + Bu, \quad x(0)=x_0 \in \R^n \\ @@ -1816,35 +1801,43 @@ y & = Cx+Du \dot{x} & = A_{bf}x + B_{bf} e \end{align*} -\subsection*{Calcul du gain $K$ du retour d'état} +Donc : + \[ +x(t) e^{tA_{bf}}x_0 + \int_0^t e^{(t-\tau)A_{bf}}B\eta e(\tau)d\tau +\] + +\paragraph{Remarque} le Dynamisme de $x(t)$ est caractérisé par les valeurs propres de $A_{bf}$. $K$ permet de les régler sous certaines conditions. + + +\subsection{Calcul du gain $K$ du retour d'état} On souhaite trouver $K \in \K^{1 \times n}$ tel que $\{ \lambda_1^{d}, \dots, \lambda_n^{d}\}$ correspondent aux valeurs propres de $A_{bf} = A+BK$.\\ -\textbf{Hypothèse : } $(S)$ est commandable, i.e. $C(A,B)$ est inversible.\\ +\textbf{Hypothèse : } $(\Sigma)$ est commandable, i.e. $\mathcal{C}(A,B)$ est inversible.\\ Soit $P_A(\lambda) = det(\lambda 1_n-A) = \lambda^n + a_{n-1} \lambda^{n-1} + ... + a_1 \lambda + a_0$. Soit $\Pi_d(p)$ le polynôme caractéristique désiré en boucle fermée. \begin{align*} -\Pi_d(\ld) & = \prod_{i=1}^n(\ld-\ld_i^d) \\ -& = \ld^n + \alpha_{n-1}\ld^{n-1} + ... + \alpha_1\ld + \alpha_0 , \alpha_k\in\R +\Pi_d(\lambda) & = \prod_{i=1}^n(\lambda-\lambda_i^d) \\ +& = \lambda^n + \alpha_{n-1}\lambda^{n-1} + ... + \alpha_1\lambda + \alpha_0 , \alpha_k\in\R \end{align*} -Ainsi, on cherche $K=[k_0, k_1,\dots,k_n]$ tel que +Ainsi, on cherche $K=[k_0, k_1,\dots,k_n]$ tel que \begin{align*} -P_{A_{bf}}(\ld) & = det(\ld1_n-A_{bf}) \\ -& = det(\ld 1_n - A - BK) \\ -& = \Pi_d(\ld) +P_{A_{bf}}(\lambda) & = det(\lambda 1_n-A_{bf}) \\ +& = det(\lambda 1_n - A - BK) \\ +& = \Pi_d(\lambda) \end{align*} Cette équation polynomiale équivaut à un système linéaire de $n$ équations à $n$ inconnues $k_0, k_1,\dots,k_n$. -On identifie terme à terme les monômes de $\Pi_d(\ld)$ et $P_{a_{bf}}(\ld)$ pour obtenir les $n$ équations. +On identifie terme à terme les monômes de $\Pi_d(\lambda)$ et $P_{a_{bf}}(\lambda)$ pour obtenir les $n$ équations. -\subsubsection*{Obtention de $K$ à partir de la forme canonique de commandabilité} +\subsubsection{Obtention de $K$ à partir de la forme canonique de commandabilité} -$\exists M \in \K^{n\times n} $ inversible tel que : +Soit $M \in \K^{n\times n} $ la matrice de changement de coordonnées vers la forme canonique de commandabilité tel que : \[ (S) : \left\{ \begin{array}{ll} @@ -1857,7 +1850,7 @@ où \[ A_c = \left[ \begin{array}{cccc} 0 & 1 \\ & & \ddots \\ & & & 1 \\ --a_0 & \dots & & -a_{n-1} +-a_0 & \dots & & -a_{n-1} \end{array}\right], B_c = \vect{0 \\ \vdots \\ 0 \\ 1}, x = Mx_c \] \begin{align*} @@ -1869,12 +1862,12 @@ Posons $\tilde{K} = KM = [\tilde{k_1}\dots\tilde{k_{n-1}}]$. Ainsi, \begin{align*} \dot{x_c} & = A_c x_c + B_c \tilde{K}x + \eta B_c e \\ & = \tilde{A_{bf}}x_ + \eta B e \\ -\tilde{A_{bf}} & = +\tilde{A_{bf}} & = \left[ \begin{array}{cccc} 0 & 1 \\ & & \ddots \\ & & & 1 \\ --a_0 & \dots & & -a_{n-1} +-a_0 & \dots & & -a_{n-1} \end{array}\right] + \vect{0 \\ \vdots \\ 0 \\ 1}.[\tilde{k_0}...\tilde{k_{n-1}}] \\ & = \left[ \begin{array}{cccc} @@ -1883,13 +1876,13 @@ Posons $\tilde{K} = KM = [\tilde{k_1}\dots\tilde{k_{n-1}}]$. Ainsi, & & & 1 \\ -a_0 + \tilde{k}_0 & \dots & & -a_{n-1} +\tilde{k}_{n-1} \end{array}\right]\\ -P_{\tilde{A_{bf}}}(\ld) & = det(\ld1_n - \tilde{A_{bf}}) \\ -& = \ld^n + (a_{n-1}-\tilde{k}_{n-1})\ld^{n-1} + \dots + (a_0-\tilde{k}_0) +P_{\tilde{A_{bf}}}(\lambda) & = det(\lambda1_n - \tilde{A_{bf}}) \\ +& = \lambda^n + (a_{n-1}-\tilde{k}_{n-1})\lambda^{n-1} + \dots + (a_0-\tilde{k}_0) \end{align*} -Rappel : si $P_A(\ld) = det (\ld1_n -A)$, $ P_{T^{-1}AT} = det(T^{-1}) P_A(\ld) det(T)$. +Rappel : si $P_A(\lambda) = det (\lambda1_n -A)$, $ P_{T^{-1}AT} = det(T^{-1}) P_A(\lambda) det(T)$. -En identifiant terme à terme $ P_{\tilde{A_{bf}}}(\ld)$ avec $\Pi_d(\ld)$, on obtient +En identifiant terme à terme $ P_{\tilde{A_{bf}}}(\lambda)$ avec $\Pi_d(\lambda)$, on obtient \begin{align*} a_{n-1} - \tilde{k}_{n-1} & = \alpha_{n-1} \\ \vdots \\ @@ -1897,13 +1890,19 @@ a_{1} - \tilde{k}_{1} & = \alpha_{1} \\ a_{0} - \tilde{k}_{0} & = \alpha_{0} \intertext{ d'où $\tilde{k}_j = a_j - \alpha_j, j=0...n-1$ et enfin, $K=\tilde{K}M^{-1}$} \end{align*} -\subsubsection*{Autre algorithme : formule d'Ackerman} -\[ K = [0\dots0,1].C(A,B)^{-1} \quad \avec \quad C(A,B) = [B \quad AB \quad ... \quad A^{n-1}B] \] -Remarque : il n'y a pas besoin de calculer l'inverse de $C(A,B)$ dans son intégralité, mais seulement la dernière ligne, c'est-à-dire seulement la dernière colonne de la matrice des cofacteurs. +\subsubsection{formule d'Ackerman} +\begin{thm}[Formule d'Ackerman] +\[ K = [0 \dots 0,1].\mathcal{C}(A,B)^{-1}\Pi_d(A) \] +\end{thm} +\begin{proof} + Preuve par récurrence, la preuve en dimension 3 est \og laissé en exercice au lecteur\fg{}. +\end{proof} -\[C(A,B)^{-1} = \mat{}{}{* & \dots & *} = \frac{1}{det(C(A,B))} \mat{&&*}{&&\vdots}{&&*}^T\] +\paragraph{Remarque} : il n'y a pas besoin de calculer l'inverse de $\mathcal{C}(A,B)$ dans son intégralité, mais seulement la dernière ligne, c'est-à-dire seulement la dernière colonne de la matrice des cofacteurs. -\subsection*{Calcul du terme de précommande $\eta$} + + +\subsection{Calcul du terme de précommande $\eta$} \[ (S) : \left\{ \begin{array}{ll} @@ -1920,7 +1919,7 @@ Erreur statique nulle $\Leftrightarrow G_{bf}(0)=1$ (gain statique unitaire en b Remarque : en cas de boucle mal posée (quand le dénominateur est nul), on peut mettre en série du système de départ un filtre passe-bas. -\subsection*{Poursuite de trajectoire} +\subsection{Poursuite de trajectoire} \[ (S) : \left\{ \begin{array}{ll} @@ -1929,28 +1928,28 @@ y & = C_cx+D_cu \end{array} \right. \] -$\exists M \in \K^{n\times n}$ inversible tel que +$\exists M \in \K^{n\times n}$ inversible tel que \[M^{-1}AM = A_c = A_c = \left[ \begin{array}{cccc} 0 & 1 \\ & & \ddots \\ & & & 1 \\ --a_0 & \dots & & a_{n-1} +-a_0 & \dots & & a_{n-1} \end{array}\right] \qquad M^{-1}B = B_c = \vect{0 \\ \vdots \\ 0 \\ 1}\] \[ x_c = \vect{z_1\\ \vdots \\ z_n}, \quad x = Mx_c\] -\subsubsection*{Forme canonique de commandabilité} +\subsubsection{Forme canonique de commandabilité} \[\vect{ \dot{z_1} \\ \vdots \\ \dot{z_n}} = \left[ \begin{array}{cccc} 0 & 1 \\ & & \ddots \\ & & & 1 \\ --a_0 & \dots & & a_{n-1} -\end{array}\right] . \vect{z_1\\ \vdots \\ z_n} + \vect{0 \\ \vdots \\ 0 \\ 1}u\] +-a_0 & \dots & & a_{n-1} +\end{array}\right] . \vect{z_1\\ \vdots \\ z_n} + \vect{0 \\ \vdots \\ 0 \\ 1}u\] Posons $a = [-a_0 \dots a_{n-1}]$, puis $v(t) = -a^Tx_c(t)+u(t)$, on obtient la forme de Brunowsky : \[ \vect{ \dot{z_1} \\ \vdots \\ \dot{z_n}} = \vect{z_2\\ \vdots \\ z_n \\ v} \] On parle aussi d'une chaîne d'intégrateurs en cascade. -\subsubsection*{Application au suivi de trajectoire} +\subsubsection{Application au suivi de trajectoire} Soit $y_d(t)$ une trajetoire désirée en boucle fermée. Si $y(t) = z_1(t)$ (par exemple), $\dots y^{(n)}(t) = z_1^{(n)}(t) = v$, @@ -1958,14 +1957,14 @@ Si $y(t) = z_1(t)$ (par exemple), $\dots y^{(n)}(t) = z_1^{(n)}(t) = v$, soit $\epsilon(t) = y(t) - y_d(t) = z_1(t) - y_d(t),\dots,\epsilon^{(n)}(t) = v(t) - y_d^{(n)}(t)$ On pose \[v(t) = y_d^{(n)}(t) + k_{n-1}(y^{(n-1)}(t)-y_d^{(n-1)}(t)) + ... + k_1 (y^{(1)}(t)-y_d^{(1)}(t)) + k_0(y-y_d)\] -où les racines du polynôme caractéristique $p^n + k_{n-1}p^{n-1} + k_1p+k_0$ sont à partie réelle strictement négative, alors +où les racines du polynôme caractéristique $p^n + k_{n-1}p^{n-1} + k_1p+k_0$ sont à partie réelle strictement négative, alors \[\lim_{t\rightarrow \infty} y(t) = y_d(t) \] Enfin, \[u(t) = v(t) + a^Tx_c\] \newpage \section{Observateur} - +\emph{CF polycopié} \subsection{Concept} \[ (S) : \left\{ @@ -1978,7 +1977,7 @@ y & = Cx+Du Seul $y$ est mesuré à chaque instant par un capteur.\\ -L'observateur donne une estimation du vecteur d'état du système telle que : +L'observateur donne une estimation du vecteur d'état du système telle que : $\forall \epsilon > 0,$ arbitrairement petit, $\exists T > 0$ tel que \[ \forall t > T, ||x(t) - \hat{x}(t) || < \epsilon \] @@ -1989,37 +1988,37 @@ But: faire la synthèse du système $(O)$ sous forme d'état, appelé observateu Hypothèse : système $(S)$ observable -\begin{dfn} +\begin{defin} Un observateur asymptotique d'ordre $n$ est donné par le modèle d'état \[\dot{\hat{x}}=A\hat{x}+Bu+L(y- \hat{y}), \quad \hat{x}(0)=\hat{x}_0\in\R^n\] où $\hat{x}\in \R^n$ est le vecteur d'état quelconque de l'observateur et $L\in\R^{n\times 1}$ est le gain de l'observateur asymptotique. $L(y- \hat{y})$ correspond à un terme de correction, et $\epsilon_y=y-\hat{y}$ est appelé innovation. -\end{dfn} +\end{defin} \textbf{\textbf{But :}} calculer $L\in\R^{n\times 1}$ tel que $\lim_{t\rightarrow\infty} ||x(t) - \hat{x}(t) || = 0$ \\ -Soit $\epsilon_x(t) = x(t)-\hat{x}(t)\in\R^n$, on a +Soit $\epsilon_x(t) = x(t)-\hat{x}(t)\in\R^n$, on a \[\dot{\epsilon_x}(t) = \dot{x}(t)-\dot{\hat{x}}(t) = Ax(t)+Bu(t)-(A\hat{x}(t)+Bu(t)+L(y(t)-\hat{y}(t))\] -Or, $y(t) = Cx(t) + Du(t)$ et $\hy=C\hx(t) +Du(t)$, donc $y-\hy = C\epsilon_x$ +Or, $y(t) = Cx(t) + Du(t)$ et $\hat{y}=C\hat{x}(t) +Du(t)$, donc $y-\hat{y} = C\epsilon_x$ \[\dot{\epsilon_x}(t) = (A-LC)\epsilon_x(t)\] -$\epsilon_x(0) = x(0) - \hx(0) = x_0 - \hx_0$ avec $x_0$ inconnu et $\hx_0$ choisi arbitrairement par l'utilisateur. +$\epsilon_x(0) = x(0) - \hat{x}(0) = x_0 - \hat{x_0}$ avec $x_0$ inconnu et $\hat{x_0}$ choisi arbitrairement par l'utilisateur. -\[\epsilon_x(t) = e^{(A-LC)t}(x_0-\hx_0)\] +\[\epsilon_x(t) = e^{(A-LC)t}(x_0-\hat{x}_0)\] $A-LC$ : dynamique d'observation. -Si les valeurs propres de $A-LC$ sont à partie réelle strictement négative, alors \[\limti \epsilon_x(t) = 0 \quad \text{i.e.} \quad \limti \hx(t) = x(t)\] +Si les valeurs propres de $A-LC$ sont à partie réelle strictement négative, alors \[\lim_{t\to\infty} \epsilon_x(t) = 0 \quad \text{i.e.} \quad \lim_{t\to\infty} \hat{x}(t) = x(t)\] -Ainsi, on se donne un polynôme caractéristique désiré pour la dynamique d'observation -\[ \Pi_o(\ld) = \Pi_{i=1}^n (\ld-\ld_i^o) \] +Ainsi, on se donne un polynôme caractéristique désiré pour la dynamique d'observation +\[ \Pi_o(\lambda) = \Pi_{i=1}^n (\lambda-\lambda_i^o) \] -avec $\{\ld_j\}_{j=1..n}$ auto-conjugué (stable par conjugaison) et $\forall j, Re(\ld_j)<0$ +avec $\{\lambda_j\}_{j=1..n}$ auto-conjugué (stable par conjugaison) et $\forall j, Re(\lambda_j)<0$ -\[ \Pi_o(\ld) = \ld^n + \sum_{i=0}^{n-1} \gamma_i \ld^i, \quad \gamma_k\in\R \] +\[ \Pi_o(\lambda) = \lambda^n + \sum_{i=0}^{n-1} \gamma_i \lambda^i, \quad \gamma_k\in\R \] -Soit $L=[l_1 \quad ... \quad l_{n-1}]^T$, le calcul de $L$ s'appuie sur la résolution du système linéaire (de type $ML=b$) issu de l'identification terme à terme des monômes de $P_{A-LC}(\ld) = det (\ld 1_n - (A-LC))$ avec ceux de $\Pi_o(\ld)$. +Soit $L=[l_1 \quad ... \quad l_{n-1}]^T$, le calcul de $L$ s'appuie sur la résolution du système linéaire (de type $ML=b$) issu de l'identification terme à terme des monômes de $P_{A-LC}(\lambda) = det (\lambda 1_n - (A-LC))$ avec ceux de $\Pi_o(\lambda)$. Soit $T\in\R^{n\times n}$ inversible tel que $x(t) = Tx_0(t)$ conduit à la forme canonique d'observabilité, c'est-à-dire avec -\[ +\[ \left\{ \begin{array}{ll} \dot{x}_0 & = \left[ \begin{array}{cccc} @@ -2028,34 +2027,34 @@ Soit $T\in\R^{n\times n}$ inversible tel que $x(t) = Tx_0(t)$ conduit à la form & & & 1 \\ -a_0 & \dots & & 0 \end{array}\right] x_0 + \vect{b_{n-1} \\ \vdots \\ b_0}u \\ -y(t) &= [1 \quad 0 ... 0]x+Du +y(t) &= [1 \quad 0 ... 0]x+Du \end{array} \right. \] -Or, $\dot{\hx} = A\hx + Bu + L(y-\hy)$ et $\hy = C\hx$. +Or, $\dot{\hat{x}} = A\hat{x} + Bu + L(y-\hat{y})$ et $\hat{y} = C\hat{x}$. -Posons $\hx_0$ tel quel $\hx = T\hx_0$ +Posons $\hat{x}_0$ tel quel $\hat{x} = T\hat{x}_0$ \begin{align*} & \left\{ \begin{array}{ll} -T\dot{\hx}_0 & = AT\hx_0 + Bu + L(y-\hy) \\ -\hy & = CT\hx + Du +T\dot{\hat{x}}_0 & = AT\hat{x}_0 + Bu + L(y-\hat{y}) \\ +\hat{y} & = CT\hat{x} + Du \end{array} \right. \\ \Leftrightarrow & \left\{ \begin{array}{ll} -\dot{\hx}_0 & = A_0\hx_0 + B_0u + T^{-1}L(y-\hy) \\ -\hy & = C_0\hx + D_u +\dot{\hat{x}}_0 & = A_0\hat{x}_0 + B_0u + T^{-1}L(y-\hat{y}) \\ +\hat{y} & = C_0\hat{x} + D_u \end{array} -\right. +\right. \end{align*} où $ A_0 = T^{-1}AT, B_0 = T^{-1}B, C_0 = CT$ Posons $\tilde{L} = T^{-1}L = [\tilde{l}_{n-1} ... \tilde{l}_0]^T$ \[ \dot{\tilde{\epsilon}}_x = (A-\tilde{L}C_0)\epsilon_x\] -Calculons $A_0-\tilde{L}C_0 = +Calculons $A_0-\tilde{L}C_0 = \left[ \begin{array}{cccc} -a_{n-1}-\tilde{l}_{n-1} & 1 \\ \vdots & 0 & \ddots \\ @@ -2063,9 +2062,9 @@ Calculons $A_0-\tilde{L}C_0 = -a_0-\tilde{l}_0 & & & 0 \end{array}\right]$ -Son polynôme caractéristique est $P_{A_0-\tilde{L}C_0}(\ld) = \ld^n + (a_{n-1}\tilde{l}_{n-1})\ld^{n-1} + ... + (a_0 + \tilde{l}_0)$ (déduit de la forme de la matrice compagnon).\\ +Son polynôme caractéristique est $P_{A_0-\tilde{L}C_0}(\lambda) = \lambda^n + (a_{n-1}\tilde{l}_{n-1})\lambda^{n-1} + ... + (a_0 + \tilde{l}_0)$ (déduit de la forme de la matrice compagnon).\\ -En identifiant terme à terme les monômes de $\Pi_d(\ld)$ avec $P_{A-LC}(\ld)$ : $\tilde{l}_j = \gamma_j - a_j$ d'où on en déduit $L = T\tilde{L}$. +En identifiant terme à terme les monômes de $\Pi_d(\lambda)$ avec $P_{A-LC}(\lambda)$ : $\tilde{l}_j = \gamma_j - a_j$ d'où on en déduit $L = T\tilde{L}$. \subsection{Correcteur par retour de sortie - Correcteur par retour d'état sur l'état reconstruit} @@ -2081,25 +2080,25 @@ y & = Cx+Du Loi de commande par retour d'état et consigne : \[ u(t) = Kx(t) + \eta e(t) \] où $x$ était supposé entièrement mesurable.\\ -En pratique on utilisera +En pratique on utilisera \[ (C) \left\{ \begin{array}{ll} -\dot{\hx} &= Ax + Bu + L(y-\hy)\\ -\hy & = C\hx+Du +\dot{\hat{x}} &= Ax + Bu + L(y-\hat{y})\\ +\hat{y} & = C\hat{x}+Du \end{array} \right. \] -\[u(t) = K\hx(t) + \eta e(t)\] +\[u(t) = K\hat{x}(t) + \eta e(t)\] Correcteur dynamique par retour de sortie avec la structure observateur - retour d'état sur l'état reconstruit. \begin{align*} -\dot{\hx} & = A\hx + BK\hx + \eta Be + LC(x-\hx) \\ -& = (A+BK-LC)\hx + LCx + \eta BE \\ -& = (A+BK-LC)\hx + L(y-DK\hx-\eta De) + \eta Be \\ -& = (A+BK-LC-LDK)\hx + (B-LD)\eta e + Ly \\ -& = K_A\hx + K_{Be} e + Ly \\ -u & = K\hx + \eta e + 0y +\dot{\hat{x}} & = A\hat{x} + BK\hat{x} + \eta Be + LC(x-\hat{x}) \\ +& = (A+BK-LC)\hat{x} + LCx + \eta BE \\ +& = (A+BK-LC)\hat{x} + L(y-DK\hat{x}-\eta De) + \eta Be \\ +& = (A+BK-LC-LDK)\hat{x} + (B-LD)\eta e + Ly \\ +& = K_A\hat{x} + K_{Be} e + Ly \\ +u & = K\hat{x} + \eta e + 0y \end{align*} \begin{prop}[Principe de séparation] @@ -2110,10 +2109,44 @@ La dynamique du système $(\Sigma)$ bouclé au correcteur est donné par l'union \end{itemize} \end{prop} -\begin{proof} -\end{proof} +\section{Modèle d'état d'un système analogique discrétisé par un CNA-BOZ} +\begin{center} + \begin{tikzpicture} -\section{Discrétisation} + \sbEntree{E} + \sbBloc[5]{CNA}{CNA+BOZ}{E} + \sbRelier[$u_k$]{E}{CNA} + \sbBloc{sys}{{\Huge$(\Sigma)$}}{CNA} + \sbRelier[$u(t)$]{CNA}{sys} + \sbBloc{CAN}{CAN}{sys} + \sbRelier[$y(t)$]{sys}{CAN} + \sbSortie[5]{S}{CAN} + \sbRelier[$y_k$]{CAN}{S} -\end{document} + \node[draw,dotted,fit= (CNA) (sys) (CAN),inner sep=1em ] (box){}; + \node[below = 0em of box] {$\Sigma_q$}; + \end{tikzpicture} +\end{center} + +\paragraph{Hypothèses}: Pas d'erreur de quantification. Conversions synchrones periodique de période $T_e$ + +Pour $(\Sigma)$ on a : +\ +\begin{align*} + x(t) &= e^{tA}x_0 + \int_0^t e^{(t-\tau)A}Bu(\tau)d\tau + \intertext{Pour $t=kT_e$} + x_k &= e^{kT_eA}x_0 + \int_0^{kT_e} e^{(kT_e-\tau)A}Bu(\tau)d\tau\\ + \intertext{Alors} + x_{k+1} &= e^{T_eA}\left(e^{kT_eA}x_0+ \int_0^{kT_e} e^{(kT_e-\tau)A}Bu(\tau)d\tau+ \int_{kT_e}^{(k+1)T_e} e^{(kT_e-\tau)A}Bu(\tau)d\tau \right) \\ + x_{k+1} &= e^{T_eA}\left(x_k - \int_0^{-T_e} e^{\sigma A}Bu_kd\sigma \right) \\ + x_{k+1} &= \underbracket{e^{T_eA}}_{A_d}x_k + \underbracket{\int_0^{T_e} e^{\sigma A}Bd\sigma}_{B_d} u_k +\end{align*} + +De plus +\[ +y_k = y(kT_e) = C x(kT_e) + Du(kT_e) = C x_k + D u_k +\] + + +\end{document}