Automatique Avancée & Estimation

Commande par Retour d'État & Observateur (Sous-Marin)

Modélisation dynamique, stabilisation par placement de pôles, reconstruction des états non mesurés par observateur de Luenberger et rejet de courants marins par action intégrale.

Logiciels : MATLAB & Simulink
Modèle d'État : 5 Variables (5D)
Observateur : Luenberger (15x rapide)
Action : Intégrale (\(K_i=4{,}40\))

1. Présentation & Objectifs du Projet

L'asservissement en profondeur d'un sous-marin d'exploration est un problème classique d'automatique complexe. En boucle ouverte, le modèle dynamique est naturellement instable et sujet aux dérives dues aux courants sous-marins.

L'objectif est de concevoir sous MATLAB/Simulink une régulation complète par retour d'état, de synthétiser un observateur de Luenberger pour estimer les variables internes non mesurables (vitesses et angles), et d'ajouter une action intégrale pour annuler l'erreur statique en présence de perturbations extérieures.

2. Schéma-Bloc Vectoriel & Résultats Expérimentaux

Schéma-Bloc de l'Observateur de Luenberger

Schéma Simulink original du système commandé par retour d'état et de son observateur de Luenberger

Schéma Simulink source : le retour d'état utilise l'état estimé par l'observateur à partir de la mesure de profondeur, avec une action intégrale sur l'erreur de suivi.

Consulter le compte rendu source (PDF)

Analyse des réponses temporelles

  • Modèle du sous-marin : \(G(s)=\dfrac{(s+1)^2}{s\left(s^2+0{,}12164s+0{,}1\right)}\). Le pôle à l'origine et les pôles faiblement amortis expliquent la dérive observée en boucle ouverte.
  • Stabilisation par retour d'état : le placement de pôles donne le gain :
    \[K=\begin{bmatrix}120&249{,}4098&194{,}2787&-161{,}9672&6{,}6803\end{bmatrix},\qquad p=\{-1,-2,-3,-4,-5\}\]
  • Dynamique de l'observateur : ses pôles sont choisis 15 fois plus rapides, \(p_{\mathrm{obs}}=\{-15,-30,-45,-60,-75\}\), afin de réduire rapidement l'erreur \(\tilde{x}=x-\hat{x}\).
  • Rejet de perturbation : le gain intégral \(K_i=4{,}40\) compense l'échelon de courant marin introduit à \(t=15\,\mathrm{s}\).

3. Outils & Frameworks

Environnement : MATLAB / Simulink
Modélisation : Représentation d'État 5D
Synthèse : Placement de Pôles (place)
Estimation : Observateur de Luenberger
Robustesse : Action intégrale \(K_i=4{,}40\)
Analyse : Forme Canonique Commandable

4. Équations de la Commande Avancée

Le modèle d'état, l'observateur et la commande augmentée sont repris du compte rendu source :

\[\dot{x}=Ax+Bu,\qquad y=Cx,\qquad D=0\]
\[A=\begin{bmatrix}0&1&0&0&0\\0&0&1&0&0\\0&0&0&1&0\\0&0&0&0&1\\0&-24{,}5902&-30{,}7213&-246{,}9672&-8{,}3197\end{bmatrix},\quad B=\begin{bmatrix}0\\0\\0\\0\\1\end{bmatrix},\quad C=\begin{bmatrix}30&60&30&0&0\end{bmatrix}\]
\[\dot{\hat{x}}=A\hat{x}+Bu+L(y-C\hat{x}),\qquad \dot{\eta}=y_c-y,\qquad u=-K\hat{x}+K_i\eta,\quad K_i=4{,}40\]
Consulter le compte rendu source (PDF)