L'utilisation des calculatrices n'est pas autorisée pour cette épreuve
Si, au cours de l'épreuve, un candidat repère ce qui lui semble être une erreur d'énoncé, il le signale sur sa copie et poursuit sa composition en expliquant les raisons des initiatives qu'il est amené à prendre
Étude d'un véhicule sous-marin autonome : modélisation, identification et localisation
L'impact et le potentiel des océans dans le développement humain est indéniable : ils ont été tout au long de l'histoire un élément clé pour les domaines économique, militaire et scientifique. D'un point de vue économique, les mers sont les fondations de l'industrie de la pêche mais elles sont aussi utilisées pour établir les routes commerciales. Aujourd'hui, en temps de forte croissance démographique, les mers et océans, recouvrant environ 70% de la surface de la Terre, sont considérés comme un enjeu majeur d'un point de vue économique, écologique et géopolitique. La connaissance des océans, à travers les mesures physiques et chimiques des eaux, permet aux chercheurs d'anticiper l'évolution de notre environnement.
L'humanité a toujours exploité les ressources de l'océan à l'aide de la technologie, dans un premier temps avec des navires puis des sous-marins pour arriver désormais aux drones sous-marin. Aujourd'hui, ceux-ci remplissent de multiples fonctions et gagnent en performance.
La genèse des R.O.V. (Remotely Operated Vehicle), un drone sous-marin téléguidé, est marquée par les bâtiments «chasseurs de mines » de la Marine française. Le déminage est le domaine de prédilection des drones où la mise en danger de l'homme est inévitable dans certaines phases. Le champ d'action des drones sous-marins est cependant bien plus vaste : lutte anti-sous-marine, renseignement ou encore missions d'interdiction sont des cadres d'emploi militaire privilégiés (voir la figure 1).
Q1. Citer trois exemples d'utilisation possible des drones sous-marins dans le milieu civil.
Les véhicules sous-marins autonomes, appelés A.U.V. en anglais pour Autonomous Underwater Vehicle, ne nécessitent pas l'intervention d'un opérateur pour accomplir leur mission. Autonomes d'un point de vue énergétique et décisionnel, ils n'auront pas la même structure suivant qu'ils sont destinés à explorer les grands fonds ou à évoluer dans des zones proches de la côte. L'Alister 9 (voir la figure 2) est un A.U.V. qui mesure entre 170 et 250 centimètres et pèse jusqu'à 90 kg selon sa configuration. Cependant, la conception, le développement et la mise en œuvre de véhicules sous-marins posent certaines difficultés. Les développements technologiques et scientifiques concernant ces robots sont récents, mais l'intérêt qu'ils suscitent se heurte encore aujourd'hui à des verrous scientifiques importants. Concernant les drones sous-marins, quatre grandes problématiques existent :
une énergie embarquée faible au regard des distances à parcourir ;
la prise de décision dans un environnement inconnu;
sa localisation sans possibilité de recalage par satellite;
le contrôle du drone en position, vitesse et orientation.
1.2 Objectifs de l'étude
La présente étude traite des drones de type Alister 9 et permet une première appréhension des grandes problématiques citées plus haut. La démarche de modélisation suivie dans cette étude se compose symboliquement de deux domaines (voir la figure 3) :
le domaine physique où l'on fait des mesures sur un système réel;
le domaine virtuel où l'on réalise des simulations sur une maquette.
Figure 2 - Véhicule sous-marin autonome
L'enjeu de la modélisation est de minimiser les écarts entre les performances mesurées et les performances simulées. La validation du modèle comportemental assure la proximité entre la maquette et le système réel. Avant l'implantation des algorithmes sur le système réel, il est nécessaire d'envisager tous les scénarios possibles et de les simuler sur un environnement virtuel fiable. La démarche de validation est itérative et plusieurs allersretours entre les domaines expérimentaux et virtuels sont nécessaires. L'étude présentée ici reste partielle et s'intéresse principalement à l'élaboration de la maquette virtuelle.
Figure 3 - Présentation de la démarche de modélisation
Le sujet se décompose en quatre parties :
la modélisation du comportement dynamique du drone;
la modélisation des actions mécaniques s'exerçant sur le drone;
l'identification des coefficients hydrodynamiques;
l'estimation de l'orientation, la vitesse et la position du drone.
Même si certaines parties peuvent être traitées séparément, il est préférable de suivre l'ordre de questionnement proposé.
2 Modélisation du comportement dynamique du véhicule
Cette partie est consacrée à la modélisation mécanique d'un drone sous-marin autonome. Les équations du modèle décrivent le comportement du drone dans l'espace et relient donc les 6 degrés de liberté. Cette partie aborde plusieurs aspects distincts qui sont :
la cinématique du véhicule;
le comportement dynamique du véhicule;
les actions mécaniques extérieures au véhicule.
2.1 Définitions des référentiels fixe et mobile
Afin d'étudier les mouvements du drone, il est important de définir différents référentiels. Les notations et la description de la position et de l'orientation du drone sont issues de la norme établie par la S.N.A.M.E (Society of Naval Architects and Marine Engineers) en 1950.
On définit le repère R_0(O, x⃗_0, y⃗_0, z⃗_0) fixe par rapport à la terre. Comme illustré sur la figure 4 , ce repère R_0 est un repère galiléen tel que :
O soit le point de départ du mouvement;
x⃗_0 soit l'axe longitudinal orienté vers le Nord géographique;
y⃗_0 soit l'axe transversal orienté vers l'Est ;
z⃗_0 soit l'axe dirigé vers le centre de la terre.
Figure 4 - Définition des repères fixe et mobile
On appelle carène la partie immergée d'un vaisseau. Le point C désigne le centre de carène, c'est-à-dire le centre du volume d'eau déplacé par le drone. Pour notre étude de cas, le point C est à l'intersection des plans de symétries géométriques du système ; il est également l'origine du repère mobile.
Comme illustré sur la figure 4 , on définit le repère mobile R_1(C, x⃗_1, y⃗_1, z⃗_1) lié au véhicule en position de repos par :
C le centre de carène du véhicule;
x⃗_1 l'axe longitudinal orienté vers le sens d'avancement;
y⃗_1 l'axe transversal orienté vers le sens du glissement à droite;
z⃗_1 l'axe dirigé vers la descente en profondeur.
Afin de positionner dans l'espace le repère mobile par rapport au repère fixe, six paramètres sont définis de la façon suivante (et illustrés sur les figures 5, 6 et 7) :
3 paramètres linéaires x, y et z représentant les coordonnées du vecteur position OC^(→−) dans le repère fixe R_0
OC^(→−) = x ⋅ x⃗_0 + y ⋅ y⃗_0 + z ⋅ z⃗_0
3 paramètres angulaires φ, θ et ψ représentant l'orientation de la base mobile B_1 = (x⃗_1, y⃗_1, z⃗_1) par rapport à la base fixe B_0 = (x⃗_0, y⃗_0, z⃗_0). Ces angles φ, θ et ψ sont nommés respectivement roulis, tangage et lacet.
On appelle ℙ_(01) la matrice de passage de la base B_0 à la base B_1 :
B_0→−^(ℙ_(01))B_1
La matrice ℙ_(01) est définie par le produit matriciel des trois matrices de passage liées aux angles de roulis, de tangage et de lacet selon :
Q2. Déterminer l'expression des vecteurs x⃗_0 et y⃗_0 dans la base ( x⃗_2, y⃗_2, z⃗_0 ), puis donner la matrice de rotation ℙ_ψ exprimée dans la base (x⃗_2, y⃗_2, z⃗_0).
Q3. Déterminer les matrices de rotations ℙ_θ et ℙ_φ. La matrice ℙ_θ sera exprimée dans la base ( x⃗_1, y⃗_2, z⃗_3 ) et la matrice ℙ_φ sera exprimée dans la base B_1.
Le mouvement du véhicule par rapport au référentiel R_0 est défini par le torseur cinématique suivant :
Afin de faciliter le calcul numérique, on utilise une seconde notation faisant intervenir des vecteurs d'état. Ces vecteurs d'état décrivant le mouvement sont :
Le vecteur η = [x, y, z, φ, θ, ψ]^t = [η_1, η_2]^t qui représente la position et l'orientation du véhicule dans le repère terrestre fixe R_0, avec η_1 = [x, y, z]^t le vecteur position et η_2 = [φ, θ, ψ]^t le vecteur attitude;
Le vecteur ν = [u, v, w, p, q, r]^t = [ν_1, ν_2]^t qui représente la vitesse linéaire V_(10)(C)^– et la vitesse angulaire Ω_(10)^(→−) dans le repère mobile R_1.
Les vitesses u, v et w sont appelées respectivement la vitesse longitudinale (ou vitesse d'avance), la vitesse transversale (ou dérive) et la vitesse de pilonnement. On note ν_1 = [u, v, w]^t le vecteur vitesse linéaire local.
Les vitesses angulaires p, q et r sont appelées respectivement les vitesses de roulis, tangage et lacet. On note ν_2 = [p, q, r]^t le vecteur vitesse angulaire local.
Nota : l'opérateur ^t est l'opérateur transposé.
On montre qu'il est possible d'écrire deux relations entre les vecteurs d'état de position et de vitesse telles que:
Q4. Déterminer l'expression de la vitesse V_(10)(C)^(→−) en fonction des paramètres η_1. En déduire l'expression de la matrice ℙ_1(η_2) dans la base B_1.
L'expression de la matrice de passage ℙ_2 dans la base B_1 est donnée par :
Afin de simplifier la modélisation du comportement dynamique, nous considérons non plus un problème global dans l'espace des six degrés de liberté mais deux sous-problèmes différents:
le comportement en plongée;
le maintien de cap.
L'étude du maintien de cap impose une profondeur d'immersion constante h et une attitude du drone le gardant toujours dans un plan parallèle au plan (0, x⃗_0, y⃗_0). Sa vitesse dans la direction d'avance x⃗_1 est considérée comme constante et égale à V.
Q5. Déterminer alors la forme des deux vecteurs d'état η et ν caractérisant le mouvement en maintien de cap, ainsi que le système d'équation reliant les paramètres de position et de vitesse locale.
Pour le reste de la modélisation du comportement dynamique du véhicule, nous privilégierons le problème découplé dans le plan de la plongée. Nous avons besoin de considérer alors les variables suivantes :
x, la position horizontale du véhicule;
z, sa profondeur;
θ, son angle de tangage;
u, sa vitesse d'avancement;
w, sa vitesse de descente;
q, sa vitesse de tangage.
Tous les autres paramètres seront considérés constants et nuls. Les vecteurs d'état η et ν sont donc respectivement réduits à [x, z, θ] et [u, w, q].
2.2 Définition des caractéristiques inertielles
Avant tout choix architectural, un cahier des charges auquel le drone doit répondre est fixé :
il doit être transportable par deux personnes;
il doit avoir jusqu'à 20 heures d'autonomie;
sa maintenance et sa récupération doivent être facilitées;
il doit être maniable à haute et basse vitesse (vitesse nominale de 1, 5 m ⋅ s^(− 1) et vitesse maximale de 2, 5 m.s^(− 1) );
il doit naviguer jusqu'à 200 mètres de profondeur.
Ces critères débouchent sur quelques caractéristiques du drone comme la conception de poignée, la masse maximale de 70 kg , la forme cylindrique allongée ( 200 cm de long pour un diamètre de 22 cm ), et également sur le fait qu'une fois mis à l'eau et sans propulsion, le drone doit rester dans la position stable, qui s'obtient pour les angles θ et φ nuls. On rappelle que le centre de masse G du système correspond au barycentre des particules composant le système pondérées par leurs masses. On appelle m la masse du véhicule et G son centre de masse tel que:
CG^(→−) = X_G ⋅ x⃗_1 + Y_G ⋅ y⃗_1 + Z_G ⋅ z⃗_1
Q6. Afin de faciliter la récupération du drone, il est nécessaire que sans apport d'énergie le drone remonte à la surface. Cette exigence est-elle vérifiée? Vous justifierez bien votre démarche de raisonnement.
Q7. Afin d'assurer la stabilité de l'engin lorsqu'il est au repos, déterminer les conditions que doit vérifier la position du centre de gravité par rapport au centre de carène (vous pourrez vous appuyer sur un schéma).
On appelle I(G) la matrice d'inertie définie au centre de masse G du véhicule. Cette matrice s'exprime dans la base mobile (x⃗_1, y⃗_1, z⃗_1) par :
avec I_(xx), I_(yy) et I_(zz) les moments d'inertie et I_(xy), I_(yz) et I_(xz) les produits d'inertie.
Q8. L'opérateur d'inertie peut-il se simplifier au centre de gravité G ? Si oui, donner la forme de sa matrice.
Par la suite, pour simplifier l'étude nous posons :
CG^(→−) = Z_G ⋅ z⃗_1
Q9. Calculer V_(10)(G)^(→−), la vitesse au point G du drone dans son mouvement par rapport au repère fixe, en fonction des paramètres u, w, q et Z_G.
Q10. Montrer que Γ_(10)(G)^(→−), l'accélération au point G du drone dans son mouvement par rapport au repère fixe, peut s'écrire sous la forme :
A_γ, B_γ, C_γ et D_γ sont à exprimer en fonction des données du problème.
Q11. Montrer que δ_(10)(C)^(→−), le moment dynamique au point C du drone dans son mouvement par rapport au repère fixe, peut s'écrire sous la forme :
A_δ, B_δ et C_δ sont à exprimer en fonction des données du problème.
Le vecteur d'état ν, réduit au vecteur [u, w, q], exprime dans le repère local l'évolution du mouvement d'immersion. À partir du principe fondamental de la dynamique, il est possible d'écrire le système d'équations de mouvement sous la forme :
𝕄_v ⋅ ν˙ + ℂ_v(ν) ⋅ ν = f_(ext)
f_(ext) représente les actions mécaniques extérieures au système s'appliquant au centre de carène C ;
𝕄_v désigne une matrice représentant l'inertie du véhicule;
ℂ_v(ν) désigne une matrice représentant des forces inertielles du référentiel mobile.
Q12. Déterminer les expressions de 𝕄_v et de ℂ_v(ν) à partir des équations de la dynamique du véhicule en fonction de m, A_γ, B_γ, C_γ, D_γ, A_δ, B_δ et C_δ dans le cas du mouvement d'immersion. Quelles sont les propriétés vérifiées par les matrices 𝕄_v et ℂ_v(ν) ?
Afin de satisfaire la commande du comportement du drone, il est important de modéliser l'ensemble des actions mécaniques extérieures f_(ext), ce qui est l'objet de la partie 3 .
3 Modélisation des actions mécaniques s'exerçant sur le drone
Nous considérons le drone entièrement immergé. Les actions mécaniques s'exerçant sur le système sont le poids et les actions surfaciques de l'eau. Afin de simplifier cette étude, nous classifions les actions mécaniques de la façon suivante:
les actions mécaniques de la gravité et de la flottabilité notées {F_s};
les actions mécaniques hydrodynamiques notées {F_h} (voir la figure 8);
les actions mécaniques dues à la propulsion et à la gouverne notées respectivement {F_m} et {F_g}( voir la figure 8) ;
les actions mécaniques dues aux perturbations notées {F_p}.
Figure 8 - Inventaire partiel des actions mécaniques
3.1 Hypothèses et perturbations {F_p}
L'environnement sous-marin introduit des effets perturbateurs de nature :
non-additive, par la modification des coefficients hydrodynamiques liés au milieu marin comme la variation de la masse volumique;
additive, par l'action d'un mouvement ou d'une force supplémentaire sur la dynamique initiale du drone. C'est le cas des courants marins par exemple.
La masse volumique ρ de l'eau de mer dépend de la salinité, de la température et de la pression au point considéré. Pour simplifier notre étude, nous considérons la masse volumique de l'eau de mer comme homogène et identique à celle de l'eau à 20^∘C.
Les courants marins résultent d'un certain nombre de facteurs (gradient de température de l'eau, les marées, les vents, ...). Ils sont aussi influencés par les côtes et la topographie des fonds marins. Par la suite nous considérons que l'eau de mer s'écoule autour de l'engin par la seule action de son mouvement.
Toutes les conditions extérieures modifiant les hypothèses d'études seront donc prises en compte à travers une perturbation {F_p} non connue.
La résultante des actions mécaniques extérieures est donc le torseur {F_(ext)} modélisant les actions mécaniques extérieures au centre de carène C :
{F_(ext)} = {F_s} + {F_h} + {F_m} + {F_g} + {F_p}
3.2 Actions mécaniques de l'eau la coque
Nous considérons que l'engin est totalement immergé et qu'il se déplace en translation rectiligne suivant la direction x⃗_1 dans l'eau au repos. La vitesse du drone est sa vitesse d'avance nominale c'est-à-dire une vitesse de 1, 5m ⋅ s^(− 1) ( 3 nœuds environ). On rappelle que la longueur de l'engin est de 2m et qu'il a un diamètre de 22 cm . La viscosité μ de l'eau de mer dans les conditions de l'écoulement est de 1, 110^(− 3) Pa.s. La célérité du son dans l'eau est d'environ 1500 m.s^(− 1).
Q13. L'écoulement de l'eau autour du drone se déplaçant à vitesse nominale sera-t-il incompressible? Préciser alors la forme de l'équation de conservation de la masse.
Q14. Déterminer le nombre de Reynolds R_e relatif à cet écoulement. Quel est le régime d'écoulement du fluide?
La pression de l'eau exerce sur la coque de l'engin des actions mécaniques. On découpe cette interaction au niveau de la surface de contact fluide solide en trois phénomènes :
la flottabilité F⃗_(h0) (au repos, elle correspond à la poussée d'Archimède);
l'action mécanique inertielle d'une masse d'eau déplacée F⃗_(h1);
le frottement hydrodynamique F⃗_(h2).
Il est possible de modéliser ces actions mécaniques localement en la somme de trois glisseurs au point M appartenant à la surface de la coque comme suit :
Afin de proposer un modèle des différents phénomènes, nous étudions l'écoulement d'eau autour de la coque de l'engin. Pour cela, nous établissons le bilan de la quantité de mouvement d'un fluide newtonien sur un volume D dont le bord est noté ∂D :
Q15. Déterminer à partir du bilan de la quantité de mouvement l'expression des trois forces élémentaires dF⃗_(h0), dF⃗_(h1) et dF⃗_(h2). Ces forces peuvent avoir une contribution volumique dV et/ou surfacique dS.
Le terme hydrostatique de la pression entraîne une force de poussée verticale correspondant à l'opposé du poids du volume d'eau déplacé. Cette force de flottabilité s'exerce au centre de carène C tandis que le poids s'exerce au point G . On pourra considérer que la masse d'eau déplacée est égale à la masse de l'engin m.
Q16. Déterminer le torseur des actions mécaniques résultant du poids et de la flottabilité de l'engin au point C. En déduire alors le torseur {F_s} exprimé au point C.
Afin d'obtenir les effets d'inertie de l'eau déplacée par l'engin, nous intégrons l'équation locale suivante associée à la pression p_1 :
ρ ⋅ (∂Φ)/(∂t) + ρ/2grad^(→−)(Φ)^2 + p_1 = C(t)
Cette équation est valable sur une ligne de courant et le potentiel Φ est défini par u⃗_e = grad^(→−)(Φ).
Q17. Citer les différentes hypothèses permettant d'écrire cette équation locale à partir du bilan de la quantité de mouvement sur le volume d'eau D.
L'intégration de l'expression locale des actions mécaniques permet de modéliser globalement le premier torseur hydrodynamique {F⃗_(h1)} réduit au point C . À l'aide d'un logiciel de calcul et pour notre cas d'immersion, les coefficients calculés en fonction de la masse d'eau m_e sont :
Les effets de la viscosité sur la coque produisent une force de portance et une force de traînée. Le phénomène de viscosité est modélisé, dans le cas d'immersion, par le torseur {F⃗_(h2)} suivant :
Q18. Justifier la forme des frottements visqueux {F⃗_(h2)}.
Nota : La recherche des coefficients d'amortissement de portance et de traînée est réalisée par identification du comportement. La partie 4 traite de ce sujet.
3.3 Actions mécaniques de commande (propulsion et gouverne)
Des pales formant une hélice sont fixées sur un arbre en rotation et permettent de générer une force de poussée selon la direction x⃗_1. Une approximation de la force de poussée ainsi que du couple résistant généré est faite en supposant que l'on peut écrire:
où ω_m est la vitesse de rotation du moteur de l'hélice et u_n la vitesse d'avance du drone.
Comme illustré sur la figure 9, la gouverne est composée de quatre ailerons mobiles pouvant tourner d'un angle δ_i autour de l'axe ( H_i, b⃗_i ). Ces ailerons forment donc quatre surfaces présentant un angle d'incidence α_i avec l'écoulement de l'eau de mer autour de la coque du drone.
Figure 9 - Architecture des gouvernes
L'action mécanique de l'eau sur la gouverne est modélisée par un glisseur au point H_i et dont chaque composante dans la base (x⃗_1, b⃗_i, c⃗_i) est une fonction dépendant de l'angle d'incidence α_i :
Soit H un point de l'axe ( C, x⃗_1 ) tel que HC^(→−) = lx⃗_1. Les points H_i sont repérés à partir du point H par HH_i^(→−) = Rb⃗_i.
Q19. Déterminer les composantes de la force et du moment en C de l'action mécanique de l'eau sur la gouverne 0 et sur la gouverne 1 dans la base (x⃗_1, b⃗_0, b⃗_1) en fonction de F_D(α_0), F_L(α_0), F_D(α_1), F_L(α_1) et de R.
On suppose que le drone se déplace en translation rectiligne uniforme dans la même direction que le Nord et à une profondeur fixée. Il n'y a aucun élément pouvant perturber le comportement du drone.
Q20. Déterminer le torseur des actions mécaniques globales de l'eau sur les gouvernes au point C si l'angle d'incidence α est identique pour les quatre gouvernes. Quel est le rôle des forces de portance sur le comportement dynamique du drone?
Q21. Afin de garder un mouvement dans le plan (x⃗_1, z⃗_1), déterminer les 3 relations que doivent vérifier les actions mécaniques de portance et de traînée des gouvernes.
Q22. Est-il possible de piloter indépendamment tous les degrés de liberté du drone dans le plan ( x⃗_1, z⃗_1 ) ? Justifier votre réponse.
4 Identification des coefficients hydrodynamiques
4.1 Protocole expérimental
Afin de compléter le modèle, il est nécessaire de procéder à l'identification de certains coefficients. Pour cela, une campagne d'essais est réalisée dans un bassin de carène. Le drone est fixé sur un mât encastré sur un chariot de remorquage comme illustré sur la figure 10. Un capteur d'effort est installé au niveau de la fixation du mât afin de mesurer la résistance hydrodynamique du drone. Le chariot de remorquage entraîne le drone dans le bassin de carène (voir la figure 11). La vitesse du chariot de remorquage est régulée par l'intermédiaire de l'instrumentation et de la station de contrôle. Celle-ci permet également l'enregistrement en temps réel du capteur d'effort différentiel en bout de mât. Nous disposons alors des informations de vitesse du drone par rapport au fluide et de l'effort de la résistance hydrodynamique du drone.
Figure 10 - Drone suspendu
Figure 11 - Chariot de remorquage
4.2 Analyse des résultats expérimentaux
L'objectif de cette partie est l'exploitation des résultats expérimentaux afin d'obtenir par l'expérience un modèle de comportement des efforts hydrodynamiques de l'eau sur le drone.
Les mesures brutes obtenues dans le cas d'une expérience avec un véhicule fixé dans l'axe et une vitesse de remorquage de 1, 5 m/s sont représentées sur la figure 12. L'allure de la courbe des résultats expérimentaux montre la nécessité de conditionner le signal afin de rendre l'exploitation des résultats possible. Nous pouvons remarquer que le signal de la figure 12 est fortement bruité : il faut donc mettre en place un filtre pour améliorer la qualité de l'information.
Le conditionnement du signal se fera en post-traitement et l'on considèrera un nuage de points qui sera stocké sous forme de tableau. Un tableau est une structure de données dont l'allocation est statique et dont tous les éléments sont de même type. Le coût de création est linéaire en la taille du tableau. Le coût d'extraction d'un élément du tableau ainsi que l'accès à la taille du tableau sont constants. Pour la suite du sujet, le langage informatique Python ainsi que les bibliothèques numpy et matplotlib.pyplot sont utilisés. Il est possible d'utiliser également le type list ou le type numpy.array pour les tableaux. Ainsi pour créer un tableau tab de n valeurs nulles, il est possible d'écrire : tab = n∗[0] # en s'appuyant sur le type list tabumpy. zeros(n) # en s'appuyant sur le type numpy.array
Pour créer une matrice nulle mat de n lignes et de m colonnes, il est possible d'écrire :
mat = [] # en s'appuyant sur le type list
for i in range( n ) : mat.append( m∗[0] )
mat=numpy.zeros((n,m)) # en s'appuyant sur le type numpy.array
Figure 12 - Résultats bruts - véhicule en position axiale - vitesse de 1, 5 m/s
Figure 13 - Résultats filtrés par un passe-bas du deuxième ordre
Les résultats expérimentaux de la figure 12 sont stockés dans les variables tps et sBr représentant respectivement le temps et le signal brut. La durée de l'expérience est de 15 s et la période d'échantillonnage est de 1 ms . tps et sBr sont des tableaux de taille identique.
On souhaite programmer un filtre numérique permettant de diminuer l'impact du bruit. Pour cela, on utilise un filtre du premier ordre de gain unitaire et de pulsation de coupure ω_c.
Q23. Si on appelle e(t) le signal d'entrée et s(t) le signal de sortie du filtre, donner l'équation différentielle reliant les grandeurs e(t) et s(t). Évaluer à partir de la figure 12 la pulsation de coupure du filtre, sachant que celle-ci est au tiers de la pulsation apparente du signal brut.
On appelle s_k l'échantillon du signal s(t) au temps t_k : s_k = s(t_k).
Q24. À partir de cette équation différentielle, déterminer une relation entre les échantillons s_k et s_(k − 1) en écrivant un schéma d'Euler explicite avec un pas de temps h.
Q25. Écrire une fonction filtre1 prenant comme argument d'entrée le tableau non vide e et les flottants h et ω_c représentant respectivement le pas de temps et la pulsation de coupure du filtre. Cette fonction renvoie un tableau s de taille identique à e correspondant au signal en sortie du filtre du premier ordre de pulsation de coupure ω_c.
Q26. En utilisant la fonction filtre1, donner une suite d'instructions permettant l'obtention du signal s2. Ce signal est la sortie d'un filtre d'ordre 2 de même fréquence de coupure que filtre1 et dont l'entrée est le signal bruité sBr.
La figure 13 représente les résultats expérimentaux filtrés par un filtre passe-bas du deuxième ordre. L'utilisation de filtres passe-bas n'est donc pas suffisante pour réaliser un conditionnement efficace: pour ce faire, il est nécessaire de filtrer le mode propre de vibration de la structure.
On considère donc un filtre H_r(p) de la forme :
H_r(p) = (ω_n^2 + 2x_n ω_n p + p^2)/(ω_n^2 + 2x_d ω_n p + p^2)
On choisit de prendre les valeurs suivantes pour x_n et x_d :
x_n = 0, 01 x_d = 1/(√2)
On rappelle que :
une décade est un rapport de 10 et 20∗log_(10)(10) = 20dB;
une octave est un rapport de 2 et 20∗log_(10)(2) = 6dB.
Q27. Déterminer l'atténuation en dB au niveau de la pulsation propre ω_n.
La pulsation propre du filtre correspond au mode propre de vibration du mât en flexion. Pour la suite, on définit la dérivée numérique à gauche au temps t_k à l'aide du pas de temps h par:
(ds)/(dt)(t_k) = (s_k − s_(k − 1))/h
La fonction rejet (e,h,wn) permet la mise en place numérique du filtre de fonction de transfert H_r(p). L'argument d'entrée e est un tableau de taille n représentant le signal d'entrée non filtré, h représente le pas de temps et ω_n la pulsation propre associée à ce filtre. La fonction renvoie un tableau noté s correspondant au signal en sortie de filtre.
Nous considérons le programme incomplet de la fonction rejet suivant :
def rejet ( $e, h, w n$ ):
$\mathrm{xn}, \mathrm{xd}=0.01,1 / 2 * * 0.5$
$\mathrm{a} 2=(\mathrm{wn} * \mathrm{~h}) * * 2$
$\mathrm{n}=\operatorname{len}(\mathrm{e})$
$\mathrm{s}=\mathrm{n} *[0]$
\# partie de la fonction non présentée
\#
$\mathrm{s}[0]=\mathrm{a} 0 / \mathrm{b} 0 * \mathrm{e}[0]$
$\mathrm{s}[1]=(-\mathrm{b} 1 * \mathrm{~s}[0]+\mathrm{a} 0 * \mathrm{e}[1]+\mathrm{a} 1 * \mathrm{e}[0]) / \mathrm{b} 0$
for $\mathbf{i}$ in range $(2, \mathbf{n})$ :
$\mathrm{s}[\mathrm{i}]=(-\mathrm{b} 1 * \mathrm{~s}[\mathrm{i}-1]-\mathrm{b} 2 * \mathrm{~s}[\mathrm{i}-2]+\mathrm{a} 0 * \mathrm{e}[\mathrm{i}]+\mathrm{a} 1 * \mathrm{e}[\mathrm{i}-1]+\mathrm{a} 2 * \mathrm{e}[\mathrm{i}-2]) / \mathrm{b} 0$
return $s$
Q28. On souhaite compléter la fonction rejet en calculant les coefficients a0, a1, b0, b1 et b2 manquants. Á partir de la fonction de transfert donnée et en considérant la dérivation numérique à gauche, déterminer les valeurs des coefficients a0, a1, b0, b1 et b2 en fonction de wn, h, xd et xn.
Figure 14 - Résultats bien conditionnés - 1, 5 m/s
Figure 15 - Essais pour différentes vitesses
Les résultats expérimentaux filtrés avec ce conditionnement sont représentés sur la figure 14, ce qui illustre bien son efficacité. La figure 15 synthétise les résultats de la campagne d'essais, faite en considérant différentes vitesses. De la figure 15, il est alors possible d'exploiter les résultats expérimentaux afin d'identifier les différents coefficients. La première chose est de déterminer les valeurs statiques du modèle. On recherche une loi de comportement des forces de traînées de type polynômial en vitesse v :
F_(h2) = (ρS)/2Q_v et Q_v = C_0 + C_1 ⋅ v + C_2 ⋅ v^2
F_(h2) est la force résistante;
ρ la masse volumique de l'eau;
S la section du drone.
On cherche à optimiser les coefficients C_0, C_1 et C_2 par la méthode des moindres carrés. Ce modèle est linéaire au niveau des 3 coefficients ce qui permet de résoudre directement le problème à l'aide du système suivant :
avec C_– = (C_0; C_1; C_2) le vecteur des coefficients; Q_– = (Q_(v0); ⋮; Q_(vn − 1)) le vecteur des mesures associées à la vitesse v et de dimension n le nombre de mesures; W_–_– la matrice diagonale de poids; J_–_– une matrice.
Dans le cas présent, nous avons donc plusieurs groupes de mesures en fonction des vitesses de 0 à 1, 5 m/s avec un pas de 0, 3 m/s. Les valeurs de la force de résistance sont stockées dans le tableau fh2 et celles de la vitesse dans le tableau vh2 défini tel que : vh2 = 5∗[0, 0.3, 0.6, 0.9, 1.2, 1.5]
Q29. Écrire une fonction jacob(T) avec un tableau T en argument d'entrée. Ce tableau T est du même format que celui de vh2. La fonction renvoie la matrice J_–_– du problème définie plus haut.
Pour le calcul du poids w_i = 1/(V_i), on s'intéresse à la variance V_i de l'ensemble des points ayant la même vitesse. Par exemple, w_1 = 1/(V_1) est le poids du point d'indice 1 avec l'ensemble des points dont la vitesse est de 0, 3m/s.
On rappelle que la variance V d'un ensemble de données d_i est définie par:
V = 1/n∑_(i = 0)^(n − 1)(d_i − d¯)^2
avec d¯ la moyenne des d_i.
Q30. Écrire une fonction variance(T) prenant en argument d'entrée un tableau T. La fonction renvoie la variance des valeurs du tableau. La complexité de la fonction doit être linéaire en fonction de la taille du tableau T.
On rappelle qu'à chaque valeur de vh2 correspond une valeur de fh2.
Q31. En utilisant la fonction variance, écrire une fonction poids (T, i) prenant en argument d'entrée un tableau T et un entier i. Le tableau T est du même format que le tableau fh2. La fonction renvoie un flottant représentant le poids w_i de la mesure de l'indice i.
Q32. Le problème local est équivalent au système linéaire A_–_– ⋅ x_– = b_–. Expliciter la matrice A_–_–, le vecteur x_– et le vecteur b_– du problème en fonction de J_–_–, W_–_–, C_– et de Q_–.
Une fois les données A_–_– et b_– bien définies, il ne reste plus qu'à résoudre le système pour déterminer les coefficients qui nous intéressent.
5 Estimation de l'orientation, la vitesse et la position du véhicule
Pour pouvoir piloter le sous-marin, il est nécessaire de connaître sa position, sa vitesse et son orientation dans l'espace. Pour ce faire, 3 types de capteurs sont communément utilisés (voir la figure 16) :
un système de positionnement acoustique dit LBL (Long BaseLine);
une UMI (Unité de Mesures Inertielles), composée de 3 accéléromètres, 3 gyroscopes et 3 magnétomètres ;
un capteur de pression, qui donne la profondeur.
Nota : un capteur de vitesse par rapport au fond marin fait également partie des types de capteurs communément utilisés. Il n'est cependant pas considéré dans la présente étude. Il s'intégrerait naturellement dans les concepts introduits par la suite.
Dans toute cette étude, il est pris comme hypothèse que le drone se déplace quasi à l'horizontale à vitesse quasi-constante, ce qui permet de faire l'approximation des petits angles et de faible accélération.
Figure 16 - Capteurs utilisés communément à bord d'un A.U.V.
5.1 Mesure de l'orientation
5.1.1 Mesure du cap
Par hypothèse, le drone se déplace dans un plan horizontal. Le magnétomètre tri-axe embarqué à bord du drone comporte 3 magnétomètres élémentaires mono-axe placés de façon orthogonale et alignés suivant les axes du repère (C, x_1^(→−), y_1^(→−), z_1^(→−)) du drone. Chaque magnétomètre mono-axe mesure la projection du champ magnétique sur son axe. On suppose connu le champ magnétique extérieur dans le repère terrestre, H⃗_T, qui se décompose de la façon suivante selon les axes x⃗_0 et y⃗_0 de R_0, repère fixe par rapport au sol : H⃗_T = H_(Tx)x⃗_0 + H_(Ty)y⃗_0. Soit ψ^ l'estimation de l'angle de lacet fournie par les magnétomètres.
Q33. Justifier qu'il est possible de fournir une estimation de l'angle de lacet, ψ^, en utilisant seulement les 2 magnétomètres placés le long des axes horizontaux du drone ( x_1^(→−), y_1^(→−) ) qui mesurent H_(mx) et H_(my).
Q34. En pratique, la mesure de cap a une fiabilité limitée. Proposer une raison qui explique cet inconvénient.
5.1.2 Mesure du tangage
On considère tout d'abord un unique accéléromètre dont l'axe de mesure est aligné selon l'axe ( C, x_1^(→−) ) du drone et un unique gyromètre dont l'axe de mesure est aligné avec l'axe ( C, y_1^(→−) ) du drone. Ces capteurs fournissent les mesures suivantes:
pour l'accéléromètre: la projection de l'accélération spécifique du drone selon son axe de mesure, où l'accélération spécifique est la différence entre l'accélération du drone et le vecteur accélération de pesanteur (− gz⃗_0);
pour le gyromètre : la vitesse angulaire autour de son axe de mesure.
II est fait comme hypothèse que le drone avance à vitesse horizontale quasi-constante : l'accélération du drone peut donc être négligée devant celle de la pesanteur.
Q35. En supposant que la mesure accélérométrique n'a pas de défaut, montrer alors qu'elle permet de remonter à la valeur de l'angle de tangage θ. Justifier pourquoi placer l'accéléromètre selon l'axe ( C, z_1^(→−) ) n'aurait pas permis de déterminer cet angle θ.
Dans la réalité, les capteurs inertiels ne sont pas parfaits : les mesures fournies par les accéléromètres et les gyromètres comportent des erreurs. Ces erreurs inertielles typiques sont du bruit pour la mesure accélérométrique et un biais (également appelé «dérive») constant pour la mesure gyrométrique. En notant a_(mx) et q_m respectivement la mesure de l'accéléromètre et celle du gyromètre, le modèle considéré en introduisant ces défauts est le suivant :
a_(mx), = − gθ + ε_a; q_m, = θ˙ + q_b
où ε_a correspond à du bruit haute fréquence à forte intensité et q_b est une constante, appelée dérive gyroscopique (typiquement q_b = 0, 01^∘/s ).
Q36. Justifier simplement que l'exploitation de la mesure accélérométrique seule ne permet pas de déterminer le couple recherché {θ; q = θ˙}. Justifier que l'exploitation de la mesure gyroscopique seule ne le permettrait pas non plus.
Afin d'estimer correctement les grandeurs θ et q qui servent dans les lois de contrôle, on utilise un algorithme de fusion de données appelé « observateur ». Cet algorithme utilise à la fois les mesures accélérométriques et les mesures gyroscopiques, entachées de leurs erreurs, pour estimer θ et q de manière suffisamment précise pour que les lois de contrôle puissent les exploiter (ces lois de contrôle requièrent des mesures faiblement bruitées et sans dérive). L'observateur Obs_θ, utilisé ici pour le tangage, est illustré sur la figure 17. Les variables θ^ et q^ sont les estimations de θ et q fournies par l'observateur Obs_θ. Les équations de l'observateur Obs_θ sont les suivantes :
Figure 17 - Schéma entrées/sorties de l'observateur Obs _θ
Les erreurs de l'estimateur sont e_θ = θ^ − θ pour l'estimation du tangage et e_b = q^_b − q_b pour celle de la dérive.
Q37. En ne considérant pas le bruit accélérométrique ε_a, donner l'équation différentielle régies par e_θ en fonction de g, l_1, l_2. Donner également celle entre e_b et e_θ.
Q38. En déduire les conditions sur l_1 et l_2 pour que l'observateur estime asymptotiquement le tangage θ sans erreur.
Q39. Montrer que l'observateur estime asymptotiquement la dérive sans erreur pour ces mêmes conditions sur l_1 et l_2. En déduire qu'il permet d'estimer également la vitesse de rotation q sans erreur asymptotiquement.
Q40. En utilisant la notation de Laplace aux équations de l'observateur, donner la fonction de transfert entre la transformée de Laplace du bruit ε_a(p) et celle de l'erreur de tangage e_θ(p) en fonction de g, l_1, l_2.
Q41. Grâce à une comparaison de fonction de transfert, justifier que l'observateur permet également de filtrer le bruit sur l'estimation de θ par rapport à l'estimation qui aurait été effectuée à partir uniquement de la mesure accélérométrique : θ^ = − (a_m)/g.
5.2 Estimation de la vitesse verticale et de l'immersion
Dans cette partie, on cherche à estimer la vitesse verticale et l'immersion du drone, respectivement w et z. Le système de positionnement acoustique LBL et le capteur de vitesse ne sont pas utilisés car leur précision n'est pas suffisante pour les besoins de cette chaîne verticale du drone. Pour ce faire, deux autres capteurs sont donc utilisés. Tout d'abord un accéléromètre dont l'axe de mesure est aligné selon l'axe ( C, z_1^(→−) ). Cet accéléromètre fournit a_(mz) la projection de l'accélération spécifique du drone selon son axe de mesure, où l'accélération spécifique est la différence entre l'accélération du drone et le vecteur accélération de pesanteur g⃗. La mesure du capteur d'immersion est également utilisée : z_m. Compte tenu de l'approximation petits angles faite, le système global d'équations s'écrit :
où a_z est l'accélération verticale du drone et g(z) la composante verticale de la pesanteur d'équation g(z) = g0 + k.z où g0 et k sont des constantes. Compte tenu des imperfections des capteurs, une approche similaire à celle étudiée au paragraphe 5.1.2 est utilisée, avec un observateur Obs_z fournissant les variables w^ et z^ estimées de w et z.
Q42. Donner les entrées et sorties de l'observateur Obs _z de façon similaire à la figure 17.
Q43. Écrire les équations de l'observateur Obs _z en faisant intervenir 2 nouvelles constantes : l_3, l_4.
Q44. Montrer que cet observateur permet d'estimer asymptotiquement la vitesse et la position sans erreur, avec des conditions sur l_3 et l_4 à expliciter.
Q45. Lorsque le capteur d'immersion n'est plus disponible, montrer que l'estimation d'immersion diverge avec une constante de temps τ qui sera donnée en fonction de k.
5.3 Estimateur de la vitesse et de la position horizontales
Le drone se déplace à l'horizontale. Afin d'estimer la vitesse et la position horizontales du drone dans le repère R_0 fixe par rapport à la terre, les mesures des accéléromètres horizontaux combinés avec le système de positionnement acoustique LBL sont utilisés. Ce système de positionnement est constitué de transpondeurs posés sur le fond, autour de la zone d'opération (jusqu'à 10 km ), et dont on connaît précisément les positions absolues. Le drone sous-marin émet un signal acoustique (ping) et mesure le temps de propagation des signaux émis en réponse par les transpondeurs. Par triangulation, le véhicule peut ainsi déterminer sa position. Ce principe est illustré sur la figure 18, où le drone A communique avec les transpondeurs B, C et D .
Figure 18 - Principe du positionnement acoustique LBL
Q46. Donner 2 inconvénients ou limitations de ce principe de positionnement.
Q47. En supposant que les conditions de bonne utilisation sont remplies, combien de balises doivent au minimum être déployées pour que ce système fonctionne? Justifier.
En analogie avec la chaîne verticale étudiée dans le paragraphe 5.2, un observateur Obs_H est utilisé pour estimer les vitesses et positions horizontales dans le repère R_0 fixe par rapport à la terre. Comme illustré sur la figure 19, cet observateur combine les mesures des accéléromètres horizontaux ( a_(mx), a_(my) ) et les mesures des N transpondeurs (d_i, 1 ≤ i ≤ N).
Q48. Préciser la grandeur manquante en pointillés de la figure 19 et nécessaire au bon fonctionnement de Obs_H.
Figure 19 - Schéma entrées/sorties de l'observateur Obs_H
5.4 Stratégie globale d'estimation de la localisation du drone
Dans les paragraphes précédents, les estimateurs de vitesse, de position et d'orientation ont été étudiés en tirant partie d'une certaine indépendance des équations de mouvement du drone compte tenu des hypothèses prises. La figure du document réponse est une synthèse de ces études.
Q49. Compléter les traits pointillés de la figure du document réponse avec
les indices des différents blocs Obs définis dans l'étude menée, qui seront complétés par d'autres naturellement introduits;
les grandeurs scalaires (mesurées ou estimées) en entrées et en sorties du schéma;
les différents systèmes à bord du drone qui fournissent les mesures considérées.
Document-réponse à rendre avec votre copie
Figure A - Synthèse de l'architecture de l'estimateur global de localisation
Pas de description pour le moment
Commentaires• X ENS Modélisation PSI 2019
Connectez-vous pour participer aux discussions
Partagez vos avis, posez des questions et échangez avec la communauté