\documentclass[main.tex]{subfiles} \begin{document} Dans la suite du chapitre on étudiera le modèle suivant : Affine en la commande \[(\Sigma) \begin{cases} \dot{x} & = f(x) + g(x) u\\ y & = h(x) \end{cases} \]\nopagebreak \section{Commande par bouclage linéarisant} \begin{figure}[H] \centering \begin{tikzpicture} \node[draw, minimum height=1cm] (C) at (0,0) { \begin{tabular}{c} Commande\\ Linéarisée \end{tabular}}; \node[draw, minimum height=1cm] (S) at (5,0) { \begin{tabular}{c} Système\\ NL \end{tabular}}; \draw[-latex] (-2,0) -- (C.west) node[near start,above]{$v$}; \draw[-latex] (C.east) -- (S.west) node[near start, above]{$u$}; \draw[-latex] (S.east) -- ++(2,0) node[above left]{$y$}; \draw[-latex] (S.south) |- ++(-2,-1) node[near start,right]{$x$} -| (C.south); \end{tikzpicture} \caption{Principe du bouclage linéarisant} \end{figure} \subsection{Linéarisation entrées-sorties} On se place dans le cas SISO: $u\in \R$ et $y\in\R$ \begin{defin} Le\emph{ degré relatif} $r$ du système $(\Sigma)$ est défini par $r \in \N$ tel que \[ \begin{cases} L_gL_f^{r-1}h(x) &\neq 0\\ L_gL_f^{k}h(x) &= 0 \quad \forall k < r-1 \end{cases} \] \end{defin} \subsubsection{Procédure de linéarisation} On cherche $r$ par le calcul des dérivées successives de $y=h(x)$ : \begin{align*} \dot{y} & = \derivp[h(x)]{x} \dot{x}\\ & = \derivp[h(x)]{x}(f(x)+g(x)u) \\ & = L_fh(x) + L_gh(x)u \intertext{Si $L_gh(x)\neq0$, alors $r=1$. Sinon on continue la procédure :} y^{(2)} & = \derivp[L_fh(x)]{x}\dot{x} \\ & = \derivp[L_fh(x)]{x}f(x) + \derivp[L_fh(x)]{x}g(x)u \\ & = L^2_fh(x) + L_gL_fh(x)u \intertext{Si $L_gL_fh(x) \neq 0$, alors $r=2$. Sinon on continue...} y^{(r)} & = L_f^rh(x) + L_gL_f^{r-1}h(x)u \end{align*} \begin{rem} On a $1 \leq r \leq n$ car la procédure utilise la base canonique ($x_1=y,x_2=\dot{y}$) : la commande doit apparaître au maximum à la $n$-ième dérivée. \end{rem} On pose $v=y^{(r)} = L_f^rh(x) + L_gL_f^{r-1}h(x)u \ne 0$ Alors: \[ u = (L_gL_f^{r-1}h(x))^{-1}(v-L_f^rh(x)) \] \[ u = \alpha(x) + \beta(x)v , \text{ avec } \begin{cases} \alpha(x) & = -(L_gL_f^{r-1}h(x))^{-1}L_f^rh(x) \\ \beta(x) & = (L_gL_f^{r-1}h(x))^{-1} \end{cases} \] La nouvelle entrée de commande est $v$ telle que \[ \begin{cases} \dot{x} & = f(x) + g(x)\alpha(x) + g(x)\beta(x)v \\ y & = h(x) \end{cases} \] $u = \alpha(x) + \beta(x)v$ est le bouclage linéarisant statique car à un instant fixé, la linéarisation ne dépend que de $x$ à cet instant.\\ \subsubsection{Cas $r=n$} \begin{minipage}[t]{0.5\linewidth} Choix de la base : \begin{align*} z_1 & = y = h(x) \\ z_2 & = \dot{y} = L_fh(x) \Rightarrow \dot{z_1} = z_2 \\ z_3 & = \ddot{y} = L_g^2h(x) \Rightarrow \dot{z_2} = z_3 \\ \vdots \\ y^{(n)} & = \dot{z_n} = L_f^nh(x) + L_gL_f^{n-1}h(x)u = v \end{align*} \end{minipage} \begin{minipage}[t]{0.5\linewidth} Nouveau modèle : \begin{align*} \dot{z_1} & = z_2 \\ &\vdots \\ &\vdots\\ \dot{z_{n-1}} & = z_n \\ \dot{z_n} & = a(z) + b(z)u = v \end{align*} \end{minipage} On a donc la commande suivante :\[ u = \frac{v-a(z)}{b(z)} \text{ avec } b(z) \neq 0 \] Qui nécessite le changement de base des variables d'états : \[ z = \phi(x) = \vect{\phi_1(x) \\ \vdots \\ \phi_n(x)} = \vect{ h(x) \\ L_fh(x) \\ \vdots \\ L_f^{n-1}h(x)} \] \[ u = \alpha(x)+\beta(x)v \text{ avec } \alpha(x) = -\frac{a(z)}{b(z)}|_{z=\phi(x)} \text{ et } \beta(x) = \frac{1}{b(z)}|_{z=\phi(x)} \] \begin{figure}[H] \centering \begin{tikzpicture} \begin{scope}[at={(0,0)}] \node[draw, minimum height=1cm] (C) at (0,0) {$\frac{v-a(z)}{b(z)}$}; \node[draw, minimum height=1cm] (S) at (3.5,0) {$\dot{x}=f(x)+g(x)u$}; \node[draw, minimum height=1cm] (N) at (7,0) {$z=\Phi(x)$}; \draw[-latex] (-2,0) -- (C.west) node[near start,above]{$v$}; \draw[-latex] (C.east) -- (S.west) node[near start, above]{$u$}; \draw[-latex] (S.east) -- (N.west); \draw[-latex] (N.east) -- ++(1,0) node[above left]{$y$}; \draw[-latex] (N.south) |- ++(-2,-1) node[near start,right]{$x$} -| (C.south); \end{scope} \node at (3,-2.5){\Large$\Updownarrow$}; \begin{scope}[shift={(0,-4)}] \node[draw, minimum height=1cm] (I1) at (0,0) {$\int$}; \node[draw, minimum height=1cm] (I2) at (2,0) {$\int$}; \node[draw, minimum height=1cm] (I3) at (5,0) {$\int$}; \draw[-latex] (-2,0) -- (I1.west) node[near start, above]{$v$}; \draw[-latex] (I1.east) -- (I2.west) node[near start, above]{$z_n$}; \draw[-latex] (I2.east) -- ++(1,0) node[midway,above]{$z_{n-1}$}; \draw[-latex,dashed] (I2.east)++(1,0) -- (I3.west) node[near end, above]{$z_{2}$}; \draw[-latex] (I3.east) -- ++(2,0) node[near end, above]{$z_1=y$}; \end{scope} \end{tikzpicture} \caption{Forme normale} \end{figure} \subsubsection{Cas $r>1, \quad H_0(p) = \frac{H_1(p)}{1+KH_1(p)} \approx \frac{1}{K} \] \end{exemple} \section{Commandes hiérarchisées} \subsection{Échelles de temps} Soit le système (1) $\begin{cases}\dot{x_1} & = \epsilon f_1(x_1,x_2,u) \\ \dot{x_2} & = f_2(x_1,x_2,u)\end{cases}$ avec $f_1$ et $f_2$ lisses (de classe $C^{\infty}$), avec $x_1\in\R^{n_1}$ et $x_2\in\R^{n_2}$. On suppose que $0 < \epsilon << 1$. On suppose $\tau = \epsilon t$ nouveau temps: $\tau$ est plus lent que $t$. Ainsi, le système (1) dans la nouvelle échelle temporelle est donnée par \begin{align*} \dd{x_1}{\tau} & = f_1(x_1,x_2,u) \text{ Dynamique lente est d'ordre 0 en } 1/\epsilon \\ \dd{x_2}{\tau} & = \frac{1}{\epsilon} f_2(x_1,x_2,u) \text{ Dynamique rapide est d'ordre 1 en }1/\epsilon \end{align*} Ainsi, dans le cas d'un point d'équilibre stable, $x_2$ converge rapidement vers le voisinage dépendant de $\epsilon$, d'un point d'équilibre de $f_2=0$. \subsection{Détermination du voisinage} Pour $\epsilon = 0$, les points d'équilibre du système (1) forment la variété : \[ \Sigma_0 = \{ (x_1,x_2,u)/ f_2(x_1,x_2,u) = 0 \} \] alors que pour $\epsilon \neq 0$, les points d'équilibre forment la variété \[ \Sigma_{\epsilon} = \{ (x_1,x_2,y) / f_1(x_1,x_2,u) = 0 \text{ et } f_2(x_1,x_2,y) \neq 0 \} \] On a $\Sigma_{\epsilon} \subset \Sigma_0$ donc $\Sigma_{\epsilon}$ dégénère en $\Sigma_0$ pour $\epsilon=0$. %\img{0.5}{7/2} L'objectif est d'avoir seulement à faire converger $x_1 \to x_1^*$.\\ À partir du théorème des fonctions implicites, nous avons l'existence de $X_2 \text{ tq } x_2 = X_2(x_1,u)$. \begin{defin} On définit la variété \[ \Sigma_{0,\epsilon} = \{ (x_1,x_2) / f_2(x_1,x_2,u,\epsilon) = 0 \} \] avec $\dot{u} = \epsilon v$ où $v$ est une fonction bornée. \end{defin} La variété $\Sigma_{0,\epsilon}$ est obtenue à partir de $\Sigma_0$ avec une faible variation de la commande. \begin{prop} Soit le système (1) avec $rang(\derivp[f_2]{x_2}) = n_2$, alors $\exists X_2(x_1,u,\epsilon)$ tel que $\forall u$ vérifiant $\dot{u} = \epsilon v$, $v$ bornée, $(x_1,x_2 \in \Sigma_{0,\epsilon}$ avec $x_2 = X_2(x_1,u,\epsilon)$. \end{prop} Interprétation : La variété $\Sigma_0 \Leftrightarrow x_2=X_2(x_1,u)$, obtenue pour $\epsilon=0$, continue d'exister pour $\epsilon \neq 0$ et suffisamment petit si $\dot{u}=\epsilon v$, $v$ bornée. \begin{exemple} [MMC] \[ \begin{cases} L\dd{i}{t} & = u-Ri - k\omega \text{ Dynamique électrique}\\ J\dd{\omega}{t} & = Ki - \alpha\omega -C_r \text{ Dynamique mécanique temps lent} \end{cases} \] On pose $\epsilon = L << 1$, donc le temps rapide $\tau = \frac{t}{\epsilon}$\\ Identification avec le système (1) : $x_1=\omega$ et $x_2 =i$. Pour $\epsilon=0$, $\Sigma_0$ est donnée \[ i = \frac{u-k\omega}{R} = X_2(x_1,u) \] Ainsi, la dynamique lente est donnée par \[ J \dd{\omega}{\tau} = \epsilon(k(\frac{u-k\omega}{R}) - \alpha \omega - C_r) \] En temps lent, la nouvelle expression est \[ J \dd{\omega}{t} = -(\frac{k^2}{R}+\alpha) \omega - C_r + \frac{k}{R}u \] On peut améliorer l'approximation de la variété $\Sigma_{0,\epsilon}$ via un DL du 1er ordre. \[ i = \frac{u-k\omega}{R} + \frac{L}{R}(\dot{u}-\frac{k}{J}(k(\frac{u-k\omega}{R})-\alpha\omega-C_r)) + \mathcal{O}(L^2) \] Par exemple, si on veut avoir $i_0=0$, alors $\Sigma_0 = k\omega$. Pour garder $i_0=0$ pour $\Sigma_{0,\epsilon}$, on doit imposer une variation lente de $u$ (lente par rapport à $L\dd{}{t}$ \[ \dot{u} = -\frac{k}{J}(\alpha\omega+C_r) - \mathcal{O}(L^2) \] \end{exemple} \begin{rem} $C_r = -\frac{\dot{u}J}{k}$ est utilisée pour estimer $C_r$ en modulant $\dot{u}$ afin que $i_0$ reste aussi plat que possible et $\omega=0$. \end{rem} \subsection{Hiérarchisation par commande à grand gain} Soit le système (1), où la commande n'intervient que sur $x_2$ linéairement : \[ \begin{cases} \dot{x_1} & = f_3(x_1,x_2) \\ \dot{x_2} & = f_2(x_1,x_2) + u \end{cases} , \quad x_1 \in \R^{n_1}, x_2 \in \R^{n_2}, u \in\R^{n_2} \] Soit $x_2^*$ la trajectoire consigne à imposer à $x_2$. Avec comme hypothèse $f_2(x_1,x_2)$ bornée, nous appliquons la commande à grand gain \[ u = -\frac{k}{\epsilon}(x_2-x_2^*)\] où $\epsilon<< 1$ et $k$ matrice diagonale définie positive. Ainsi, suivant la nouvelle échelle de temps $\tau = \frac{t}{\epsilon}$ \[ \begin{cases} \dd{x_1}{\tau} & = \epsilon f_1(x_1,x_2) \quad \text{dynaique lente}\\ \dd{x_2}{\tau} & = \epsilon f_2(x_1,x_2) - k(x_2-x_2^*) \quad \text{perturbation et dynamique de convergence rapide} \end{cases} \] $\Sigma_0$ est la variété $x_2 = x_2^*$. Pour $\epsilon\neq 0$, $\Sigma_{0,\epsilon}$ est la variété $x_2=x_2^*+k\epsilon f_2(x_2,x_2^*)$ La dynamique lente est $\dd{x_1}{\tau} = \epsilon f_1(x_1,x_2^*)$. Par conséquent la consigne $x_2^*$ (commande fictive) peut servir à commander la dynamique lente. \newpage \section{Commande par backstepping} Soit un système sous forme triangulaire (apparition successive des différentes commandes) : \begin{align*} \dot{x_1} & = f_1(x_1) + x_2 \\ \dot{x_2} & = f_2(x_1,x_2) + x_3 \\ & \vdots \\ \dot{x_n} & = f_n(x_1,\dots x_n) + u \end{align*} \subsection{Procédure de synthèse} \paragraph{Étape 1} Afin d'imposer la consigne $x_1^*$, on utilise la fonction de Lyapunov \[ V_1(x_1) = \frac{1}{2}(x_1 - x_1^*)^2 \] Pour assurer la stabilité, il faut que $\dot{V_1}(x_1)$ soit définie négative. \begin{align*} \dot{V_1}(x_1) & = (x_1-x_1^*)(\dot{x_1} - \dot{x_1^*}) \\ & = (x_1 - x_1^*)(f_1(x_1) + x_2 - \dot{x_1^*}) \intertext{On cherche donc $x_2$ pour que} \dot{V_1}(x_1) & = \alpha_1(x_1-x_1^*)^2 \quad \text{ avec } \alpha_1 < 0 \\ x_2^* & = \alpha_1(x_1-x_2^*) - f_1(x_1) + \dot{x_1^*} \end{align*} Cela assure la convergence asymptotique de $x_1$ vers $x_1^*$. \paragraph{Étape 2} Faire converger $x_2$ vers $x_2^*$. On utilise la nouvelle fonction de Lyapunov \[ V_2(x_1,x_2) = \frac{1}{2}(x_1-x_1^*)^2 + \frac{1}{2}(x_2-x_2^*)^2 \] On veut $\dot{V_2}(x_1,x_2)$ définie négative : \begin{align*} \dot{V_2}(x_1,x_2) & = (x_1-x_1^*)(\dot{x_1} - \dot{x_1^*}) + (x_2-x_2^*)(\dot{x_2} - \dot{x_2^*}) \\ & = \alpha_1(x_1-x_1^*)^2 + \alpha_2(x_2-x_2^*)^2 \intertext{Pour avoir une hiérarchisation dynamique, on pose $\alpha_2 < \alpha_1 < 0$ (la dynamique 2 est plus rapide que la 1)} (x_2-x_2^*)(\dot{x_2} - \dot{x_2^*}) & = \alpha_2(x_2-x_2^*)^2 \\ (x_2-x_2^*)(f_2(x_1,x_2) + x_3 - \dot{x_2^*}) & = \alpha_2(x_2-x_2^*)^2 \\ x_3^* & = \alpha_2(x_2-x_2^*) - f_2(x_1,x_2) + \dot{x_2^*} \end{align*} La démarche est la même à l'étape $n$ : \[ u = \dot{x_n^*} - f_n(x_1,\dots,x_n) + \alpha_n(x_n-x_n^*) \] avec $\alpha_n < \alpha_{n-1} < \dots < \alpha_2 < \alpha_1$ \begin{rem} Cette méthode est généralisable à des systèmes sans forme : \begin{align*} \dot{x_1} & = f_1(x_1) + g_1(x_1)x_2 \\ \dot{x_2} & = f_2(x_1,x_2) + g_2(x_1,x_2)x_3 \\ & \vdots \\ \dot{x_n} & = f_n(x_1,\dots,x_n) + g_n(x_1,\dots,x_n)u \end{align*} sur $\mathcal{D} = \{x_1,\dots,x_n \text{ tq } g_1 \neq 0,\dots,g_n\neq 0 \}$ \end{rem} \newpage \section{Rejet de perturbation} \subsection{Cas SISO} \[ (1) \begin{cases} \dot{x} & = f(x) + g(x)u + p(x) w \\ y & = h(x) \end{cases} \] Même principe que pour la linéarisation par bouclage, on dérive la sortie par rapport au temps : \[ \dot{y} = \derivp[h(x)]{x} \dot{x} = L_fh(x) + L_gh(x) u + L_ph(x) w \] \paragraph{Cas 1} $L_ph(x) \neq 0$\\ Si $L_gh(x) \neq 0$ et la perturbation $w$ est mesurable (rarement), alors le rejet de la perturbation est obtenu par \[ u = (L_gh(x))^{-1}(v-L_fh(x) - L_ph(x)w) \quad \text{avec trivialement } v = \dot{y}\] Si la perturbation n'est pas mesurable, on réalise une linéarisation dynamique avec $x_{n+1} = u$ et $x_{n+2} = w$ mais dans ce cas la perturbation $w$ doit être canonique, i.e. $\exists \alpha \in \N \text{ tq } w^{(\alpha)} = 0$. Ainsi, on dérive la sortie jusqu'à disparition de la perturbation puis on linéarise.\\ \noindent Si $L_gh(x) = 0$, on calcule les dérivées d'ordres supérieurs de la sortie jusqu'à apparition de la commande (linéarisation dynamique). \paragraph{Cas 2} $L_ph(x) = 0$.\\ Si $L_gh(x)\neq0$, la perturbation est rejetée pour \[ u = (L_gh(x))^{-1}(v-L_fh(x)) \] Su $L_gh(x) = 0$, on dérive une deuxième fois la sortie. \begin{prop} Soient $r$ le degré relatif correspondant à $L_gL_f^{r-1}h(x) \neq 0$ et $\sigma$ le plus petit entier pour lequel $L_pL_f^{\sigma-1}h(x) \neq0$, alors : \begin{itemize} \item si $r<\sigma$ la perturbation $w$ est rejetée par la commande linéarisante \item si $r=\sigma$ la perturbation $w$ est rejetée si elle est mesurable \item si $r>\sigma$ le rejet de $w$ ne peut se faire que par une linéarisation dynamique : observateur NL si $w$ n'est pas canonique \end{itemize} \end{prop} \subsection{Cas MIMO} \[ \begin{cases} \dot{x} & = f(x) + \sum_{i=1}^m g_i(x)u_i + p(x) w \\ y & = h(x) \end{cases}, \quad x \in \R^n, u \in \R^m, y \in \R^d \] Même principe que le cas SISO mais une linérisation MIMO où chaque nouvelle entrée $v_i$, permet de rejeter les perturbations sur $y_i$. \begin{rem} L'incertitude sur le modèle peut être interprétée comme une perturbation. En effet, le modèle (1) s'écrit \[ \begin{cases} f(x) & = f(x) + \Delta f(x) + g(x) u + \Delta g(x) u \\ y & = h(x) \end{cases} \] Suivant l'analyse sur le bouclage linéarisant, le rejet d'incertitude est obtenu si \begin{align*} L_{\Delta f} L_f^i h = 0 & 0 \leq i \leq r-2 \\ L_{\Delta g} L_f^i h = 0 & 0 \leq i \leq r-1 \end{align*} Ce résultat ne peut être vérifié qu'a posteriori car $\Delta f$ et $\Delta g$ sont inconnues. \end{rem} \newpage \section{Robustesse en NL - Commande par mode glissant} %%\imgt{8/1} Un terme $u_r$ est ajouté à la commande de départ $u_{eq}$ ... \begin{exemple}[Onduleur de tension commandé en courant] Sans avoir à modéliser la charge, on veut imposer la forme de courant : %%\imgt{8/2} \end{exemple} \subsection{Éléments de synthèse de la commande} \begin{enumerate} \item Synthétiser une commande sans prise en compte de l'incertitude ni de la perturbation : surface de glissement (poursuite asymptotique) \item Commande gardant les états sur la surface de glissement ayant pour hypothèse l'incertitude ou la perturbation bornées : variation de la structure du système par commutation \end{enumerate} \begin{defin}[Surface de glissement ou commutation] $S(x,t)$ est la surface autour (dans un voisinage) de laquelle le système évolue avec une dynamique imposée par $S$. \end{defin} \begin{defin}[Système à structure variable] Un système est à structure variable si son entrée commute entre deux valeurs suivant une logique bien spécifique $\sigma(x)$ %%\img{0.5}{8/3} \end{defin} \begin{defin}[Commande par mode glissant] Commande discontinue ayant pour objectif de faire converger le système en $S$. On utilise la fonction de Lyapunov \[ V(x,t) = \frac{1}{2}S^2(x,t) \] Pour avoir convergence vers la surface de glissement, il faut avoir \[ \dot{V}(x,t) = S(x,t) \dot{X}(x,t) \leq 0 \] $\sigma(x)$ est la logique qui impose $S\dot{S} \leq 0$ \end{defin} \begin{rem} $S\dot{S}$ est la condition d'existence d'un régime glissant sur la surface $S$. \end{rem} \subsection{Application de la commande par mode glissant} La poursuite asymptotique est une méthode de détermination de $S$. Soit $\epsilon(t) = y_c(t) - y(t)$ où $y_c$ est la consigne et $y$ la sortie. On pose $S = \epsilon^{(m)}(t) + \beta_{m-1}\epsilon^{(m-1)} + \dots + \beta_1 \dot{\epsilon} + \beta_0 \epsilon$ où $\beta_i, i =0,\dots,m-1$ sont choisis pour imposer la dynamique de convergence. \begin{rem} Par exemple, on peut choisir $S = (\frac{d}{dt} + \lambda)^m \epsilon, \lambda >0$ Choix de la commande (bouclage linéarisant) \end{rem} On pose $m=r-1$ où $r$ est le degré relatif et on a \begin{align*} u & = \frac{1}{L_gL_f^{r-1}h(x)} (-L_f^rh(x) + y_c^{(r)} + \sum_{i=1}^r \beta_{i-2} \epsilon^{(i-1)} + \alpha K sgn(S) ) \\ u & = \frac{1}{L_gL_f^{r-1}h(x)} (-L_f^rh(x) + y_c^{(r)} + \dot{S} + \alpha K sgn(S) ) \end{align*} Ainsi en utilisant le changement de variable $z_i = L_f^{i-1}h(x) = \phi_i(x), i = 1,\dots,r$, la commande linéarisante avec poursuite asymptotique et robuste s'écrit : \[ u = \frac{1}{b(z,\eta)} (-a(z,\eta) + y_c^{(r)} + \dot{S} + \alpha K sgn(S)) \] avec pour modèle normal : \begin{align*} \dot{z_1} & = z_2 \\ & \vdots \\ \dot{z_{r-1}} & = z_r \\ \dot{z_r} & = y_c^{(r)} + \dot{S} + \alpha K sgn(S) + \Delta a (z,\eta) \\ \dot{\eta} & = q(z,\eta) + \Delta q(z,\eta) + \Delta p(z,\eta)u \\ \text{ avec } & \Delta a (z,\eta) = L_{\Delta f} L_f^{r-1} h(x), \Delta q(z,\eta) = L_{\Delta f} \eta, \Delta p(z,\eta) = L_{\Delta f} \eta \end{align*} On suppose que $|\Delta a (z,\eta)| < K < \infty$ donc pour avoir $\dot{z_r} = y_c^{(r)}$, on doit poser $\dot{S} = - \alpha K sgn(S) - \Delta a(z,\eta)$. Cas $S>0 \Rightarrow \dot{S} < -K(\alpha-1) < 0 \si \alpha > 1$ Cas $S<0 \Rightarrow \dot{S} > K(\alpha-1) > 0 \si \alpha < 1$ Ainsi on vérifie la condition d'existence du régime glissant, alors quand la trajectoire atteint $S$, alors $y \to y_c$ suivant la dynamique imposée par $S$. \end{document} %%% Local Variables: %%% mode: latex %%% TeX-master: "main" %%% End: % A refaire complètement avant entree-état % \subsubsection{Modèle linéaire :} % \[ % \begin{cases} % \dot{z} & = Az + Bv \\ % y & = Cz % \end{cases} % \text{ avec } % A = \left[ % \begin{array}{ccccc} % 0 & 1 & 0 & \dots & 0 \\ % \vdots & \ddots & \ddots & \ddots & \vdots \\ % \vdots & & \ddots & \ddots & 0 \\ % 0 & \dots & \dots & 0 & 1 \\ % -a_0 & \dots & \dots & \dots & -a_{n-1} % \end{array} \right], % \quad B = \vect{ 0 \\ \vdots \\ 0 \\ 1 } % \text{ et } C = [1 \quad 0 \dots 0 ] % \] % Synthèse du correcteur linéaire : % % \img{0.5}{5/3} % \begin{figure}[H] % \centering % \includegraphics[width=0.7\textwidth]{5/3.png} % \caption{} % \end{figure} % Planification de trajectoire : % \[ y^{(n)} = v = y_c^{(n)} + a_1 (y_v^{n-1)} - y^{(n-1)})+ \dots + a_{n-1}(\dot{y_c} - \dot{y}) + a_n(y_c-y) \] % Les $a_i$ sont choisis en imposant la dynamique de $\epsilon=y-y_c$ : % \[ \epsilon^{(n)} + a_1 \epsilon^{(n-1)} + \dots + a_{n-1}\dot{\epsilon} + a_n\epsilon = 0 \] % Matrice d'évolution de la boucle fermée : % \[ A_{BF} = \left[ \begin{array}{ccccc} % 0 & 1 & 0 & \dots & 0 \\ % \vdots & \ddots & \ddots & \ddots & \vdots \\ % \vdots & & \ddots & \ddots & 0 \\ % 0 & \dots & \dots & 0 & 1 \\ % -a_n & -a_{n-1} & \dots & \dots & -a_1 % \end{array} \right] \quad \text{Forme canonique} % \] % \begin{rem} % Cette méthode est assez simple. Cependant, il faut accéder aux dérivées successives de la sortie. Si on a des capteurs, alors OK, mais calculer une dérivée numérique n'est pas génial. % \end{rem}