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.
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 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
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 :