Rapport Master Roche PDF
Rapport Master Roche PDF
Rapport Master Roche PDF
sous-marin autonome
Emilie Roche
INRIA Rhne Alpes
Dpartement dAutomatique de Gipsa-lab
Co-tuteurs:
Daniel SIMON et Olivier SENAME
25 juin 2008
Rsum :
Ce rapport dveloppe une loi de commande robuste pour un vhicule
sous-marin autonome.
Un modle non linaire du sous-marin a t implment avec Matlab,
puis il a t linaris par une mthode tangentielle. Une modlisation LPV
polytopique a galement t ralis, en considrant la masse comme seul
paramtre variant.
Deux correcteurs robustes ont ensuite t synthtiss : lun par la mthode
H , lautre par la mthode LPV polytopique.
Des rsultats de simulation montrent les performances obtenues avec chacun des correcteurs, et notamment lamlioration apporte par la mthode
LPV.
Abstract :
This report present a robust control law for autonomous underwater vehicles (AUV).
A non linear model of the AUV was implemented on Matlab, then it has
been linearized by a tangential method. An LPV polytopique model was also
developed, considering the mass as the unique varying parameter.
Simulation results are provided to show performances obtained with both
controller, and specifically the improvement brought with the LPV method.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
. 4
. 7
. 7
. 8
. 8
. 10
. 11
25
Remerciements
Je tiens remercier Messieurs Daniel Simon et Olivier Sename, responsables de mon stage, pour mavoir fait confiance sur ce projet et pour mavoir
conseill et guid tout au long de ce travail. Sans oublier leur participation
au cheminement de ce rapport
Je voudrais aussi remercier les laboratoires qui mont accueillis pendant
mes 5 mois de stage : lINRIA Rhne Alpes et le GIPSA-lab, ainsi que toute
lquipe NeCS laquelle jai t intgre.
Merci galement mes camarades stagiaires, qui ont contribus faire de
stage un moment agrable, donc merci pour leur bonne humeur.
Introduction
Ce stage sinscrit dans le cadre du projet CONNECT (CONtrol NEtworked Cooperative sysTems). Ce projet a pour but de contrler un systme
multi-agents (compos de vhicules de surface (ASV) et de vhicules sousmarins (AUV)), interconnects par un rseau de communication sans fils.
Parmi les missions envisageables pour ce type de systme, on peut noter :
- la cartographie de fonds sous marins par une flottille dAUV.
- la localisation dune bote noire aprs un crash arien.
- la dtection dune source par suivi de gradient (eau douce, gaz,
produit chimique...).
Le but de ce stage est de concevoir une commande robuste afin dasservir
la vitesse longitudinale et laltitude dun sous-marin de type Aster , tout en
minimisant les vitesses de roulis et de tangage.
ROCHE Emilie
Actuellement, la commande des vhicules sous-marins se fait principalement par la mthode par modes glissants : cette mthode permet de calculer
une loi de commande stabilisant un systme non linaire, dont la loi dvolution est trs mal connue (incertitude sur la modlisation du systme). Elle
permet galement de spcifier lors de la conception du contrleur, une trajectoire suivre par le systme boucl.
Lide est ici dutiliser un autre type de commande, qui nest pas faite
lorigine pour des systmes non linaires : la commande H qui permet,
grce des gabarits frquentiels, de fixer le comportement souhait en boucle
ferme. La robustesse apporte par ce type de correcteur peut ensuite suffire
garantir de bonnes performances sur le systme non linaire.
Depuis une dizaine dannes, la synthse H a t tendue au systmes
paramtres variants, notamment dans les domaines de laronautique et de
lautomobile.
Ce stage a t effectu au sein de deux laboratoires de recherche : lINRIA
Rhne Alpes et le laboratoire GIPSA-lab.
LINRIA (Institut National de Recherche en Informatique et Automatique) a pour vocation dentreprendre des recherches fondamentales et appliques dans les domaines des sciences et technologies de linformation et de la
communication (STIC). Linstitut assure galement un fort transfert de technologie en accordant une grande attention la formation par la recherche,
la diffusion de linformation scientifique et technique, au dveloppement,
lexpertise et la participation des programmes internationaux. LINRIA
dveloppe de nombreux partenariats avec le monde industriel et favorise le
transfert technologique et la cration dentreprises dans le domaine des STIC.
LINRIA Rhne Alpes est rparti sur 4 sites : Inovalle Meylan-Montbonnot
et campus Grenoble, domaine scientifique de la Doua et technopole Gerland
Lyon, comptant un total de 600 personnes : 200 chercheurs et enseignantschercheurs, 200 ingnieurs, techniciens, administratifs, 200 doctorants et postdoctorants (dont 45% trangers) et 136 stagiaires.
LINRIA Rhne Alpes est divis en 28 quipes de recherche : jai t
intgre lquipe NeCS (NEtworked Controlled Systems), dont le but est
de dvelopper une nouvelle approche de commande pour prendre en compte
lapparition de nouveaux composants sans fils de faible cot, laccroissement
de la complexit des systmes et la rpartition dans un rseau reconfiguration dynamique de capteurs et dactionneurs (rseaux de capteurs).
Cette quipe est commune au dpartement automatique du GIPSA-lab.
Le GIPSA-lab regroupe trois dpartements :
- Automatique
- Images et signal
2
ROCHE Emilie
- Parole et cognition
GIPSA-lab est une unit mixte de recherche entre le CNRS (UMR 5216),
lINPG et lUJF.
Gipsa-lab sinvestit dans des recherches fondamentales sur la parole, la
perception, la cognition, le cerveau, le diagnostic et la commande des systmes. Il dveloppe des applications dans les secteurs de linteraction multimodale, des tlcommunications, de lnergie, de lenvironnement, des systmes embarqus, de la mcatronique-robotique, de la sant, des transports,
etc.
Leffectif total du GIPSA-lab est denviron 300 personnes, dont 137 permanents, une vingtaine de chercheurs invits, posts-doctorants et ATER, 140
doctorants et une soixante de stagiaires de master.
Le dpartement automatique est son tour divis en plusieurs quipes de
recherche : Systmes vnements discrets ; Systmes linaires et robustesse ;
Systmes non linaires et complexit ; Systmes biomcaniques ; Signal, automatique pour le diagnostic et la surveillance et Systmes commands en
rseaux (NeCS).
Dans une premire partie, on va raliser un modle non linaire du sousmarin, qui tient compte des aspects cinmatiques, dynamiques et hydrodynamiques du mouvement. Puis on va linariser ce modle de faon pouvoir
utiliser des outils de la commande robuste des systmes linaires.
Dans une deuxime partie, on va calculer un correcteur H et valuer ses
performances sur les systmes linaire et non linaire.
Puis dans une troisime partie, on va construire un autre type de correcteur, bas sur un modle LPV polytopique (Linaire Paramtres Variants),
qui permet de prendre en compte la conception des variations de paramtres
mal connus.
Chapitre 1
Modlisation du vhicule
sous-marin
1.1
Modle hydromcanique
<0 : = 1 avec
2
4
ROCHE Emilie
T
- 1 la position du vhicule : 1 = x y z .
T
- 2 lorientation du vhicule : 2 = .
Les angles , et reprsentent respectivement le roulis, le tangage et
le lacet du vhicule (utilisation de la paramtrisation par les angles dEuler),
comme le montre la figure suivante :
X0
Y0
Y0
X0
Z0
Z0
(1.1)
= Jc (2 )
o les paramtres de lquation 1.1 correspondent :
- M est la matrice dinertie. Elle est compose de 2 termes : Md , la
matrice dinertie due la dynamique du systme et Ma , matrice dinertie
deau ajoute, dont les paramtres sont issus de modles semi-empiriques
(erreur pouvant aller jusqu 50 70%).
ROCHE Emilie
- G() reprsente laction des forces de Coriolis et des forces centrifuges. Il est galement compos de deux termes : Gd d aux forces dynamiques, et Ga d aux forces hydrodynamiques (calcules partir des coefficients de la matrice dinertie deau ajoute).
- D() est la matrice des coefficients damortissement hydrodynamique (galement issue destimation donc la connaissance est trs approximative).
- g est le vecteur des force de gravit et de la pousse dArchimde.
- u reprsente les forces et moments gnrs par les actionneurs du
vhicule, et dpend bien videment du type dactionneur que possde lengin.
Dans notre cas, le sous-marin possde une hlice pour commander la vitesse
longitudinale (dont la commande est fournie sous forme de pousse Qc ) ainsi
que des ailerons :
- deux ailerons horizontaux lavant du vhicule (plans canards les ailerons droits et gauches sont commands avec le mme angle 1 ).
- deux ailerons horizontaux larrire (angle 2 ).
- deux ailerons verticaux larrire (angle 1 ).
Fig. 1.2 Dfinition des angles de commande pour les plans canards ( lavant) et les
ailerons horizontaux arrires
Remarque : La modlisation des gouvernes ainsi que des efforts hydrodynamiques (dtaille en annexe) nest valable que pour un angle dincidence
infrieur 20 degrs (langle dincidence reprsente linclinaison du sousmarin relativement au fluide en mouvement). Au del la force de portance
nagit plus et il y a "dcrochage".
- p reprsente les forces et moments dus aux perturbations (diffrentes densits de leau de mer, courants marins...) considrs nuls dans notre
modle.
- Jc (2 ) est la matrice de passage du rfrentiel local <(C, xyz) au
J ( ) 03x3
repre inertiel (li la terre) <0 (O, X0 Y0 Z0 ) : Jc (2 ) = c1 2
03x3 Jc2 (2 )
6
ROCHE Emilie
1.2
1.2.1
S-function
ROCHE Emilie
1.2.2
On utilise une S-function pour dcrire chacun des comportements prsents dans la partie "modle hydromcanique" (ainsi quen annexe). Voici la
correspondance entre les diffrentes fonctions code en C et les paramtres
de lquation 1.1 :
- changement de repre pour la matrice Jc (2 ).
- dynamique pour Gd () (le terme Ga est nglig.
- hydrodynamique pour D()
- Gamma_G pour g
- le bloc Gamma_u qui regroupe la propulsion de lhlice et les trois
ailerons : terme u .
- Minertinv reprsente linverse de la matrice dinertie M .
Il suffit ensuite de relier les blocs Simulinks de faon obtenir le comportement global du sous-marin : voir figure 1.3
1.2.3
On ne dispose pas de donnes permettant une comparaison avec un modle dj existant. De plus, les coefficients utiliss pour la modlisation tant
fournis par lIfremer (fabriquant du sous-marin) on les supposera exacts.
ROCHE Emilie
La vrification consistera donc contrler que le comportement du systme ne soit pas aberrant. Pour cela, on ralise quelques tests simples :
? Essai vitesse nulle : On part dun tat initial nul, on applique une vitesse nulle. Le sous marin reste immobile, donc il est parfaitement quilibr.
? Essai vitesse constante : on part dun tat initial nul et on applique
en t = 0 un chelon de pousse correspondant une vitesse longitudinale
u de 1m/sec. Le rsultat obtenu est correct : u passe de 0 1m/sec en 40
secondes, la position x varie linairement avec une pente de 1m/sec (aprs le
transitoire). Evolution inattendue : petite variation de laltitude z (de lordre
de 5.3cm en 100 secondes), surement due un lger dcalage du point dapplication de la pousse de lhlice par rapport au centre dinertie.
? Essai vitesse constante et plan canard : On part dun tat initial nul
sauf pour la vitesse longitudinale gale u0 (1m/sec) et on applique un chelon langle dincidence des plans canards 1 de 0.1 radians. On observe une
variation de laltitude z de lordre de 30m en 100sec (cette valeur est obtenue
pour des gouvernes exagrment grande ; un angle de braquage positif fait
monter le sous-marin donc z diminue) ainsi quune petite variation de langle
de tangage (environ 0.04 radian). Du fait de la force de traine due aux
gouvernes, on observe galement une diminution de u de 0.025m/sec.
? Essai vitesse constante et gouverne arrire horizontale : on applique
la mme variation que prcdemment mais sur 2 : on observe la mme volution que prcdemment (variation daltitude z, modification de la vitesse
u), mais dans le sens inverse (le sous-marin descend donc z augmente). En
effet, comme cette gouverne est situe de lautre ct du centre de gravit,
pour un angle de braquage positif, le sous-marin descend. Les dimensions
des deux gouvernes tant peu prs identiques, les volutions sont du mme
ordre de grandeur.
? Essai avec braquage des 2 ailes horizontales (avant et arrire) : on peut
distinguer deux cas intressant : les ailes ont le mme braquage ou des braquages opposs.
Dans le cas ou les ailes ont le mme angle de braquage, si langle est
positif (respectivement ngatif), le sous-marin remonte vers la surface (respect. descend), mais avec un angle de tangage presque nul. Par exemple si
on braque les deux gouvernes avec des angles 1 = 2 = 0.1rad on obtient
une variation daltitude de 3.3m en 100 secondes avec un angle de tangage
= 0.013rad.
9
ROCHE Emilie
3.5
0.01
0.005
2.5
0.005
1.5
0.01
0.015
0.5
0.02
0
0
10
20
30
40
50
60
70
80
90
0.025
0
100
10
20
30
40
50
60
70
80
90
100
Fig. 1.4 Position z et angle de tangage pour des angles de braquage gaux (0.1 radian)
Dans le cas ou les angles de braquage sont opposs, (cest--dire que les
deux ailes tendent faire voluer le sous marin dans la mme direction), le
dplacement se fait dans le sens attendu, avec deux fois plus dintensit que
si une seule aile est braque. Le mouvement se fait alors avec un angle de
tangage non nul ( ' 0.8rad)
0.9
10
0.8
0.7
10
0.6
20
0.5
30
0.4
0.3
40
0.2
50
0.1
60
70
0
0
10
20
30
40
50
60
70
80
90
100
0.1
0
10
20
30
40
50
60
70
80
90
100
Fig. 1.5 Position z et angle de tangage pour des angles de braquage opposs (0.1 et
-0.1 radian)
? Essai avec un angle de roulis puis un angle de tangage non nul : dans les
deux cas, aprs un temps trs court, le systme revient un angle de roulis
ou de tangage nul.
1.3
Linarisation du modle
10
ROCHE Emilie
Dans notre cas, la fonction f dpend des 12 variables dtat ainsi que des
quatres commandes (1 (braquage des plans canards), 2 (braquage des ailerons arrires horizontaux), 1 (braquage des ailerons arrires verticaux), Qc
(rfrence de pousse pour lhlice)) .
Cela mne une reprsentation dtat de la forme :
x(t)
= Ax(t) + Bu(t) + E
(1.3)
y(t) = Cx(t) + Du(t)
avec
- x ltat du systme : x = [x u y v z w p q r]T .
- u les commandes : u = [1 2 1 Qc ]T .
- y les sorties mesures. dans un premier temps on peut supposer que
lensemble des sorties est mesures donc y = x.
Le code Matlab correspondant aux matrices A, B, C, D et E est donn
en annexe (voir Annexe 2).
Pour vrifier la linarisation obtenue, on effectue quelques simulations. Il
savre que la plus grande diffrence entre le modle non-linaire et le modle
linaris se situe au niveau des gouvernes. Le comportement des deux systmes est quasiment identique pour une mme commande de pousse Qc ; en
revanche, un mme angle de braquage des gouvernes (que ce soit 1 ou 2 )
produit des variations daltitude diffrentes. En effet lors de la linarisation,
la force de traine a totalement disparu, et la force de portance nest plus
relie langle dincidence de lAUV, ce qui entraine un mouvement plus
important que prvu suivant les axes Ox (pas de diminution de la vitesse
longitudinale u) et Oz (si laile braque est horizontale).
1.4
= A(())x(t) + B(())u(t)
(1.4)
y(t) = C(())x(t) + D(())u(t)
Dans le cas o on peut borner a priori les variations de ces paramtres
entre min et max , on peut construire un modle valable dans toute la
11
ROCHE Emilie
AM = 1 AMmin + 2 AMmax
avec
(1.6)
M Mmin
Mmax M
1 = Mmax Mmin et 2 = Mmax Mmin
12
Chapitre 2
Synthse dun correcteur H
2.1
Prsentation de la mthode
We
Wu
du
r
+
dy
u
Wy
Le problme pos de cette faon doit ensuite tre reformul sous la forme
13
ROCHE Emilie
du problme standard :
z
y
K
Fig. 2.2 Problme standard
Cette formalisation sert tudier le transfert entre w (les entres exognes) et z (les sorties contrler) (y tant les sorties mesures et u les
entres contrles). P est le modle augment : il contient le modle, ainsi
que les poids Wi et les incertitudes (si il y en a).
On cherche alors dterminer le controleur K tel que :
kT (s)k
(2.1)
avec T (s) la fonction de transfert en boucle ferme du systme mis sous forme
standard.
2.2
Pour calculer un correcteur H , il faut tout dabord dterminer une structure ainsi que des gabarits qui permettent de dfinir des spcifications (temps
de rponse en boucle ferme, erreur statique...). Dans notre cas, les spcifications respecter sont les suivantes :
? pour la vitesse longitudinale u, un suivi de consigne avec un temps
de rponse de lordre de 5 secondes, une erreur statique faible (102 ) et une
marge de module suffisante.
? pour la position z, un suivi de consigne avec la mme dynamique
que u (le sous-marin tant manuvr par des ailerons, on considrera que la
pente du terrain nest pas trop abrupte : une pente trop importante ne peut
pas tre franchie avec ce type dactionneurs).
? vitesse de tangage et de roulis aussi faible que possible (par exemple
102 ), ceci pour faciliter, par exemple, la reconstruction des cartes partir
des donnes collectes.
? respect des contraintes sur les actionneurs (angle de braquage des
gouvernes infrieur 0.5 radian ; pousse du propulseur infrieure Pmax =
14
ROCHE Emilie
750).
Ceci nous permet de dduire la structure ncessaire :
- un poids We sur lerreur de poursuite pour les spcifications sur u
et z, les deux variables asservir.
- un poids Wu sur laction pour la contrainte sur les actionneurs.
- un poids Ws sur certaines des sorties (vitesse de roulis p et de
tangage q).
Tous les gabarits auront une forme diagonale, ce qui permet de spcifier des performances pour chaque variable du systme MIMO (Multi Inputs
Multi Outputs).
Weu 0
. Les coefficients sont
? We est une matrice de la forme :
0 Wez
des transferts du premier ordre :
1
s + wb
1
=
= s
Weu
Wez
+ wb
Ms
avec
- Ms = 2 pour avoir une marge de module suffisante
- wb = 0.46 pour avoir un temps de rponse de 5 secondes.
- = 0.01 pour voir une erreur de poursuite infrieure 1%
? Wu est fix 1 pour chaque actionneur car toutes les actions sont normalises.
? Ws est fix 102 pour les tats p (vitesse de roulis) et q (vitesse de
tangage)
Il suffit ensuite dutiliser la commande Matlab sysic (qui calcule le systme augment sous forme standard) et la fonction lmiHinf qui calcule le
correcteur H minimisant lcart entre le gabarit spcifi et les performances
garanties avec le correcteur (niveau dattnuation optimal opt ).
2.3
Rsultats obtenus
ROCHE Emilie
1/Weu
Sz
1/Wez
Su
Fig. 2.3 Fonction de sensibilit S sur u (vitesse longitudinale) et sur z, ainsi que les
gabarits correspondants
On saperoit que les gabarits ne sont pas respects (bien que les rsultats
obtenus ne soient pas si mauvais que la valeur de opt ne le laissait prsager) :
- pour u, le comportement dans les hautes frquences est conforme
au gabarit fix, en revanche, dans les basse frquence, il y a une augmentation
de la fonction S (20dB, soit une erreur statique de 10%). Pour amliorer
ce comportement, on diminue la valeur de u 104 .
- pour z, la bande passante et lerreur statique ne sont pas respectes.
La bande passante est trs proche de celle fixe ; de plus, le sous-marin naura
jamais de pente 90 degrs franchir, donc on conserve ce rsultat. Pour
lerreur statique, on diminue z 104 .
Afin damliorer les performances et respecter les gabarits spcifis, on va
modifier le problme rsoudre.
Le principe de la modification des gabarits est le suivant : puisque les gabarits ne peuvent pas tre respects, on augmente les contraintes. Le gabarits
modifi ne sera toujours pas respect (vu que le problme est plus complexe
rsoudre), mais les gabarits initiaux seront mieux respect.
16
ROCHE Emilie
1/Weu
1/Wez
Su
Sz
Fig. 2.4 Fonction de sensibilit S sur u (vitesse longitudinale) et sur z, ainsi que les
gabarits retenus
Dans ce cas l, on a une valeur opt encore plus importante : opt = 10640,
mais cette valeur correspond lloignement des fonctions de pondrations
par rapport aux gabarits fixs, qui sont plus contraignants que ncessaire.
On teste ce correcteur sur le systme linaris ainsi que sur le systme
non linaire. On obtient les rsultats suivants : figure : 2.5
Pour la vitesse longitudinale u : la consigne est constante et gale
1m/sec. La rponse du modle linaire est conforme nos attente, avec un
temps de rponse de 2 secondes (infrieur celui spcifi) et une erreur statique nulle. Sur le modle non linaire, on observe des variations de la vitesse,
mais qui restent dans un intervalle de + ou 5% autour de la valeur finale.
Le temps de rponse est de 6 secondes et lerreur statique maximale est de
1% de la valeur finale.
Pour la position z : la consigne est une rampe de pente 0.4m /sec (pente
maximum pouvant tre gravie par le sous-marin) sur les intervalles de temps :
[0; 100] et [200; 300] secondes et constante entre les deux. L encore la
rponse du systme linaire est celle attendue ; celle du systme non linaire
prsente un petit dpassement, mais reste trs proche de la consigne.
Pour la vitesse de roulis p : lobjectif de la commande est de minimiser
cette vitesse. Il est atteint puisque les variations sont de lordre de 105 , que
ce soit sur le modle linaire ou non linaire.
Pour la vitesse de tangage q : lobjectif est le mme que prcdemment.
Sur le modle linaire, on note une variation assez importante de cette vitesse ( allant jusqu 0.13 m/sec, soit 10 fois plus que ce qui tait demand.
En revanche, sur le systme non linaire, la rponse est meilleure, puisque
le maximum de variation est de 0.045 m/sec et que cette vitesse tend se
17
ROCHE Emilie
Fig. 2.5 Rponses temporelles obtenues avec le correcteur H pour u (vitesse longitudinale), z (altitude), p (vitesse de roulis) et q (vitesse de tangage). Simulation sur le
modle linaire (en bleu) et sur le modle non linaire (en vert) ainsi que les consignes
(en rouge)
18
ROCHE Emilie
19
Chapitre 3
Synthse dun correcteur LPV
Polytopique
Aprs avoir calcul un correcteur H qui fonctionne correctement sur
le modle non linaire, on cherche amliorer les performances obtenues,
surtout en terme derreur statique sur la vitesse longitudinale u et de dpassement sur laltitude z. Pour cela, on va calculer un correcteur sur le modle
LPV polytopique prsent dans le premier chapitre (voir 1.4).
3.1
Explication de la mthode
20
ROCHE Emilie
mais :
3.2
AT1 P + P A1 < 0
AT2 P + P A2 < 0
(3.3)
Mise en uvre
3.3
Rsultats obtenus
Mnominal Mmin
Mmax Mnominal
1 = Mmax Mmin = 0.5 et 2 = Mmax Mmin = 0.5
On teste ce correcteur sur les modles linaires et non linaire, en appliquant les mmes consignes que prcdement : figure 3.1
Les rponses obtenues sont meilleures quavec le correcterur H :
Pour la vitesse longitudinale u : le modle linaire donne les mmes rsultats quavec le correcteur H . Sur le modle non linaire, on obtient de
meilleures performances : les changements de rfrence sur z sont mieux absorbs : les pics ont une amplitude plus faible (2.5%) et lerreur statique ne
dpasse pas 0.1%.
Pour laltitude z : le suivi de rfrence est meilleur quauparavant, le
dpassement qui tait visible au changement de rfrence a disparu.
Pour la vitesse de roulis p : elle reste trs faible, de lordre de 106 m/sec.
21
ROCHE Emilie
22
ROCHE Emilie
23
ROCHE Emilie
24
Conclusion
Dans ce rapport, aprs avoir construit les modles ncessaires au calcul
dune commande, nous avons ralis deux types de correcteurs robustes. Tout
dabord un correcteur H a t synthtis qui donne des rsultats trs satisfaisants sur le modle linaire, mais qui, sur le modle non linaire, laisse
apparaitre une erreur statique assez importante sur u (la vitesse longitudinale) et un dpassement sur z (laltitude).
Pour remdier ces imperfections, un deuxime type de correcteur a t
conu : un correcteur LPV polytopique. Avec ce correcteur, les rsultats obtenus sont meilleurs que prcdemment, puisque, en considrant une variation
de masse de + ou 20% par rapport la masse nominale, on obtient une
erreur statique quasiment nulle pour u et plus aucun dpassement pour z. De
plus, bien que cette mthode ncessite en thorie une mesure ou estimation
du paramtre variant, on sest aperu que le correcteur calcul sur le systme
nominal permettait de stabiliser le systme et de garantir les performances
spcifies lors de la synthse.
Dans lavenir lobjectif est dutiliser la mthode LPV polytopique pour
faire une synthse de correcteur priode variable. Ainsi, en fonction de
lutilisation des ressources, ou de la qualit de la commande, le correcteur
pourrait adapter la priode dchantillonnage, ainsi que les performances dsires, pour continuer avoir un systme stable en boucle ferme.
25
Etude cinmatique
La trajectoire du vhicule est donne par la relation suivante :
1 = Jc1 (2 )1
(3.5)
cos cos sin sin cos sin cos sin cos cos + sin sin
Jc1 (2 ) = cos sin sin sin sin + cos cos sin cos sin cos sin
sin
cos sin
cos cos
(3.6)
De la mme faon, pour les vitesses angulaires :
avec
2 = Jc2 (2 )2
(3.7)
(3.8)
Etude dynamique
Dynamique dun corps rigide
On applique le premier principe de la dynamique au centre de gravit G
du sous-marin :
1 = mV G/<0
(3.9)
1 tant la somme des forces appliques au sous-marin.
On applique galement les lois de la mcanique des solides :
2 = H(C)
/<0 + VC (mVG )
(3.10)
(3.11)
m
0
0
0
mzG myG
0
m
0
mz
0
mxG
G
0
0
m
myG mxG
0
Md =
0
mzG myG
Ixx
Ixy
Ixz
mzG
0
mxG Ixy
Iyy
Iyz
myG mxG
0
Ixz
Iyz
Izz
mS1 + 2 CG
S(IC 2 )
0
0
Gd () =
0
m(w + py qx )
G
G
m(v pzG + rxG )
0
0
0
m(w + pyG qxG )
0
m(u + qzG ryG )
0
0
0
m(v pzG + rxG )
m(u + qzG ryG )
0
0
m(w + pyG qxG )
m(v pzG + rxG
0
Ixz p Iyz q + Izz r
Ixy p Iyy q + Iyz r
(m ) sin
(m ) sin cos
(m
)
cos
cos
g () = g
(yg m yf ) cos cos (zg m zf ) cos sin
Efforts hydrodynamiques
Ces forces et moments agissent sur tout corps en mouvement dans un
fluide suppos visqueux. Ils sont dus laction de la masse deau ajoute
ainsi quaux frottements visqueux du fluide sur le corps en mouvement. Ils
ne peuvent pas tre obtenus thoriquement et lestimation des coefficients est
trs mauvaise (marge de connaissance de 50 70%). Dune faon gnrale,
on peut formuler les efforts hydrodynamiques de la manire suivante :
Force axiale :
Force latrale :
Ywp wp + Yur ur + Yuv uv + Yup up + Yr|r| r|r| + Yr|v| r|v| + Yv|r| v|r| + Yv|v| v[v|
Force verticale :
Zuw uw + Zuq uq + Zvp vp + Zw|w| w|w| + Zw|q| w|q| + Zq|w| q|w| + Zq|q| q|q|
Moment de roulis :
Moment de tangage : Muw uw+Muq uq+Mpr pr+Mq|q| q|q|+Mw|q| w|q|+Mq|w| q|w|+Mw|w| w|w|
Moment de lacet :
avec :
? Xvr Xwq Ywp Yuv Zuw Zuq des termes de nature inertielle : ils correspondent la prise en compte de la masse deau ajoute lors de la drivation
de la vitesse.
? Xu|u| Yv|v| Zw|w| Yr|v| Yv|r| Zw|q| Zq|w| Nv|v| Mw|w| Yr|r| Zq|q| Nv|r| Nr|v|
Mw|q| Mq|w| Nr|r| Mq|q| des termes de traine.
? Yur Yuv Yup Zuw Zuq Luv Lur Lup Muw Muq Nuv Nur Nup des termes de
portance.
? Lp|p| est un terme damortissement en roulis.
Propulsion par lhlice
La propulsion principale de lengin est assure par une hlice place dans
laxe du vhicule. Une consigne sous forme de pousse est fournie par le correcteur,
p ce qui permet de calculer la vitesse de rotation des pales de lhlice :
N = consigne/P x 2.24.
Cette vitesse permet de calculer le coefficient davance : J = NVDaH avec
Va la vitesse davance ( Va = u + q zg ). On peut alors calculer le coefficient
de pousse : Kt = f (J, J 2 , J 3 ).
Reste maintenant calculer langle , dont dpend lexpression des efforts
Va
.
de propulsion : gamma = arctan 0.7N
DH
Lexpression des efforts de porpulsion tant assez complexe , elle ne sera
pas dtaille ici.
Forces dues aux gouvernes
Les gouvernes exercent deux forces : la force de portance fn normale
la surface de laileron et la force de traine ft , tangente la surfac dont les
expressions sont les suivantes :
fn = ( ) vr2 zb2
(3.12)
et
ft = (0.01 + 1.1 ( )2 vr2 (zb2 /2.5)
(3.13)
avec :
? : langle dinclinaison de la gouverne.
? : langle dincidence du sous-marin dans la direction considre.
? vr : la vitesse de leau sur laileron.
? zb2 : coefficient dpendant de la surface des gouvernes.
Il suffit ensuite de projeter ces forces sur les axes Ox et Oz pour les
gouvernes horizontales, et Ox et Oy pour les gouvernes verticales.
Systeme linearise
Etat X=[x; u; y; v; z; w; phi; p; theta; q; psi; r]
comande:U= [beta1, beta2, delta1, Qc]
[gouv_arriere_hor, gouv_avant, gouv_arriere_vert, propulsion]
beta10=0;
beta20=0;
delta10=0;
Qc0lin=0;
reflin=[beta10, beta20, delta10, Qc0lin];
%parametres:
Kt0=0.369516;
Kt1=0.490246;
Kt2=0.182464;
Kt3=0.391137;
Kt1u=Kt1/(2.24*Dh*sqrt(Qc0*Px));
Kt2u=Kt2*2*u0/(2.24^2*Dh^2*Qc0*Px);
Kt3u=Kt3*3*u0^2/(2.24^3*Dh^3*(Qc0*Px)^(3/2));
Kt1Qc=Kt1*u0/(2.24*Dh*sqrt(Qc0*Px));
Kt2Qc=Kt2*u0^2/(2.24^2*Dh^2*Qc0*Px);
Kt3Qc=Kt3*u0^3/(2.24^3*Dh^3*(Qc0*Px)^(3/2));
zb1prim = (paght2+paghb2)*zb1;
yd1prim = pagvh3 * yd1;
yd3prim = pagvb3 * yd3;
yd1pp = pagvh1 * yd1;
yd2pp = pagj1 * yd2;
yd3pp = pagvb1 * yd3;
%% model nominal
%vecteur correspondant au derivee de chacune des vitesses lineaires
et angulaires
Au=[ 0;%x
(2*Xuu*u0*A11+k0*Qc0*(-Kt1u+Kt2u-Kt3u)*A11);%u
0;%y
(Yuv*u0*A12+Luv*u0*A14+Nuv*u0*A16-u0*(yd3-yd1)*A12);%v
0;%z
(Zuw*u0*A13+Muw*u0*A15-u0*(zb2+zb1)*A13+PATS1*u0*zb2*A15+paght1*u0*zb1*A15);%w
((m_nominal-rho*delta)*g*A12-(Zg*m_nominal-Zf*rho*delta)*g*A14);%phi
(Yup*u0*A12+Lup*u0*A14+Nup*u0*A16);%p
(-(m_nominal-rho*delta)*g*A11-(Zg*m_nominal-Zf*rho*delta)*g*A15);%theta
(m_nominal*u0*A13+Zuq*u0*A13+Muq*u0*A15+k0*Qc0*Zg*(-Kt1u+Kt2u-Kt3u)*A11);%q
0;%psi
(-m_nominal*u0*A12+m_nominal*Zg*u0*A14+Yur*u0*A12+Lur*u0*A14+Nur*u0*A16)];
Bu=[(u0^2*zb1*A13+u0^2*zb1prim*A14-paght1*u0^2*zb1*A15);%beta1
(u0^2*zb2*A13-PATS1*u0^2*zb2*A15);%beta2
(u0^2*(yd3-yd1)*A12-u0^2*(yd1prim+yd3prim)*A14+(yd1pp+yd3pp)*u0^2*A16+A16*yd2pp/(rho+PI+Dh^2)...
...*(k0*Qc0*(Kt0-Kt1Qc+Kt2Qc-Kt3Qc)));%delta1
(k0*(Kt0-Kt1Qc+Kt2Qc-Kt3Qc+Qc0*(Kt1Qc/(2*Qc0)-Kt2Qc/Qc0+Kt3Qc*3/(2*Qc0)))*A11);%Qc
];
Av=[ 0;%x
(2*Xuu*u0*A21+k0*Qc0*(-Kt1u+Kt2u-Kt3u)*A21);%u
0;%y
(Yuv*u0*A22+Luv*u0*A24+Nuv*u0*A26-u0*(yd3-yd1)*A22);%v
0;%z
(Zuw*u0*A23+Muw*u0*A25-u0*(zb2+zb1)*A23+PATS1*u0*zb2*A25+paght1*u0*zb1*A25);%w
((m_nominal-rho*delta)*g*A22-(Zg*m_nominal-Zf*rho*delta)*g*A24);%phi
(Yup*u0*A22+Lup*u0*A24+Nup*u0*A26);%p
(-(m_nominal-rho*delta)*g*A21-(Zg*m_nominal-Zf*rho*delta)*g*A25);%theta
(m_nominal*u0*A23+Zuq*u0*A23+Muq*u0*A25+k0*Qc0*Zg*(-Kt1u+Kt2u-Kt3u)*A21);%q
0;%psi
(-m_nominal*u0*A22+m_nominal*Zg*u0*A24+Yur*u0*A22+Lur*u0*A24+Nur*u0*A26)];
Bv=[(u0^2*zb1*A23+u0^2*zb1prim*A24-paght1*u0^2*zb1*A25);%beta1
(u0^2*zb2*A23-PATS1*u0^2*zb2*A25);%beta2
(u0^2*(yd3-yd1)*A22-u0^2*(yd1prim+yd3prim)*A24+(yd1pp+yd3pp)*u0^2*A26+A26*yd2pp/(rho+PI+Dh^2)...
...*(k0*Qc0*(Kt0-Kt1Qc+Kt2Qc-Kt3Qc)));%deltA2
(k0*(Kt0-Kt1Qc+Kt2Qc-Kt3Qc+Qc0*(Kt1Qc/(2*Qc0)-Kt2Qc/Qc0+Kt3Qc*3/(2*Qc0)))*A21);%Qc
];
Aw=[ 0;%x
(2*Xuu*u0*A31+k0*Qc0*(-Kt1u+Kt2u-Kt3u)*A31);%u
0;%y
(Yuv*u0*A32+Luv*u0*A34+Nuv*u0*A36-u0*(yd3-yd1)*A32);%v
0;%z
(Zuw*u0*A33+Muw*u0*A35-u0*(zb2+zb1)*A33+PATS1*u0*zb2*A35+paght1*u0*zb1*A35);%w
((m_nominal-rho*delta)*g*A32-(Zg*m_nominal-Zf*rho*delta)*g*A34);%phi
(Yup*u0*A32+Lup*u0*A34+Nup*u0*A36);%p
(-(m_nominal-rho*delta)*g*A31-(Zg*m_nominal-Zf*rho*delta)*g*A35);%theta
(m_nominal*u0*A33+Zuq*u0*A33+Muq*u0*A35+k0*Qc0*Zg*(-Kt1u+Kt2u-Kt3u)*A31);%q
0;%psi
(-m_nominal*u0*A32+m_nominal*Zg*u0*A34+Yur*u0*A32+Lur*u0*A34+Nur*u0*A36)];
Bw=[(u0^2*zb1*A33+u0^2*zb1prim*A34-paght1*u0^2*zb1*A35);%beta1
(u0^2*zb2*A33-PATS1*u0^2*zb2*A35);%beta2
(u0^2*(yd3-yd1)*A32-u0^2*(yd1prim+yd3prim)*A34+(yd1pp+yd3pp)*u0^2*A36+A36*yd2pp/(rho+PI+Dh^2)...
...*(k0*Qc0*(Kt0-Kt1Qc+Kt2Qc-Kt3Qc)));%deltA3
(k0*(Kt0-Kt1Qc+Kt2Qc-Kt3Qc+Qc0*(Kt1Qc/(2*Qc0)-Kt2Qc/Qc0+Kt3Qc*3/(2*Qc0)))*A31);%Qc
];
Ap=[ 0;%x
(2*Xuu*u0*A41+k0*Qc0*(-Kt1u+Kt2u-Kt3u)*A41);%u
0;%y
(Yuv*u0*A42+Luv*u0*A44+Nuv*u0*A46-u0*(yd3-yd1)*A42);%v
0;%z
(Zuw*u0*A43+Muw*u0*A45-u0*(zb2+zb1)*A43+PATS1*u0*zb2*A45+paght1*u0*zb1*A45);%w
((m_nominal-rho*delta)*g*A42-(Zg*m_nominal-Zf*rho*delta)*g*A44);%phi
(Yup*u0*A42+Lup*u0*A44+Nup*u0*A46);%p
(-(m_nominal-rho*delta)*g*A41-(Zg*m_nominal-Zf*rho*delta)*g*A45);%theta
(m_nominal*u0*A43+Zuq*u0*A43+Muq*u0*A45+k0*Qc0*Zg*(-Kt1u+Kt2u-Kt3u)*A41);%q
0;%psi
(-m_nominal*u0*A42+m_nominal*Zg*u0*A44+Yur*u0*A42+Lur*u0*A44+Nur*u0*A46)];
Bp=[(u0^2*zb1*A43+u0^2*zb1prim*A44-paght1*u0^2*zb1*A45);%beta1
(u0^2*zb2*A43-PATS1*u0^2*zb2*A45);%beta2
(u0^2*(yd3-yd1)*A42-u0^2*(yd1prim+yd3prim)*A44+(yd1pp+yd3pp)*u0^2*A46+A46*yd2pp/(rho+PI+Dh^2)...
...*(k0*Qc0*(Kt0-Kt1Qc+Kt2Qc-Kt3Qc)));%deltA4
(k0*(Kt0-Kt1Qc+Kt2Qc-Kt3Qc+Qc0*(Kt1Qc/(2*Qc0)-Kt2Qc/Qc0+Kt3Qc*3/(2*Qc0)))*A41);%Qc
];
Aq=[ 0;%x
(2*Xuu*u0*A51+k0*Qc0*(-Kt1u+Kt2u-Kt3u)*A51);%u
0;%y
(Yuv*u0*A52+Luv*u0*A54+Nuv*u0*A56-u0*(yd3-yd1)*A52);%v
0;%z
(Zuw*u0*A53+Muw*u0*A55-u0*(zb2+zb1)*A53+PATS1*u0*zb2*A55+paght1*u0*zb1*A55);%w
((m_nominal-rho*delta)*g*A52-(Zg*m_nominal-Zf*rho*delta)*g*A54);%phi
(Yup*u0*A52+Lup*u0*A54+Nup*u0*A56);%p
(-(m_nominal-rho*delta)*g*A51-(Zg*m_nominal-Zf*rho*delta)*g*A55);%theta
(m_nominal*u0*A53+Zuq*u0*A53+Muq*u0*A55+k0*Qc0*Zg*(-Kt1u+Kt2u-Kt3u)*A51);%q
0;%psi
(-m_nominal*u0*A52+m_nominal*Zg*u0*A54+Yur*u0*A52+Lur*u0*A54+Nur*u0*A56)];
Bq=[(u0^2*zb1*A53+u0^2*zb1prim*A54-paght1*u0^2*zb1*A55);%beta1
(u0^2*zb2*A53-PATS1*u0^2*zb2*A55);%beta2
(u0^2*(yd3-yd1)*A52-u0^2*(yd1prim+yd3prim)*A54+(yd1pp+yd3pp)*u0^2*A56+A56*yd2pp/(rho+PI+Dh^2)...
...*(k0*Qc0*(Kt0-Kt1Qc+Kt2Qc-Kt3Qc)));%delta1
(k0*(Kt0-Kt1Qc+Kt2Qc-Kt3Qc+Qc0*(Kt1Qc/(2*Qc0)-Kt2Qc/Qc0+Kt3Qc*3/(2*Qc0)))*A51);%Qc
];
Ar=[ 0;%x
(2*Xuu*u0*A61+k0*Qc0*(-Kt1u+Kt2u-Kt3u)*A61);%u
0;%y
(Yuv*u0*A62+Luv*u0*A64+Nuv*u0*A66-u0*(yd3-yd1)*A62);%v
0;%z
(Zuw*u0*A63+Muw*u0*A65-u0*(zb2+zb1)*A63+PATS1*u0*zb2*A65+paght1*u0*zb1*A65);%w
((m_nominal-rho*delta)*g*A62-(Zg*m_nominal-Zf*rho*delta)*g*A64);%phi
(Yup*u0*A62+Lup*u0*A64+Nup*u0*A66);%p
(-(m_nominal-rho*delta)*g*A61-(Zg*m_nominal-Zf*rho*delta)*g*A65);%theta
(m_nominal*u0*A63+Zuq*u0*A63+Muq*u0*A65+k0*Qc0*Zg*(-Kt1u+Kt2u-Kt3u)*A61);%q
0;%psi
(-m_nominal*u0*A62+m_nominal*Zg*u0*A64+Yur*u0*A62+Lur*u0*A64+Nur*u0*A66)];
Br=[(u0^2*zb1*A63+u0^2*zb1prim*A64-paght1*u0^2*zb1*A65);%beta1
(u0^2*zb2*A63-PATS1*u0^2*zb2*A65);%beta2
(u0^2*(yd3-yd1)*A62-u0^2*(yd1prim+yd3prim)*A64+(yd1pp+yd3pp)*u0^2*A66+A66*yd2pp/(rho+PI+Dh^2)...
...*(k0*Qc0*(Kt0-Kt1Qc+Kt2Qc-Kt3Qc)));%delta1
(k0*(Kt0-Kt1Qc+Kt2Qc-Kt3Qc+Qc0*(Kt1Qc/(2*Qc0)-Kt2Qc/Qc0+Kt3Qc*3/(2*Qc0)))*A61);%Qc
];
Ax
Ay
Az
Aphi
Atheta
Apsi
=
=
=
=
=
=
[0
[0
[0
[0
[0
[0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0 0
0 0
-u0
0 0
0 1
0 0
0 0];
u0 0];
0 0 0];
0 0];
0 0];
0 1];
0.8
0.6
0.4
0.2
10
15
20
25
30
35
40
45
50
42
41
40
39
38
37
36
35
34
90
95
100
105
110
115
120
125
130
135
140
1.2
0.8
0.6
0.4
0.2
10
15
20
25
30
35
40
45
50
45
40
35
30
25
20
15
10
5
0
5
20
40
60
80
100
120
Bibliographie
A. Pedro Aguiar, A. M. P. (2002). Dynamic Positioning and Way-Point
Tracking of Underactuated AUVs in the Presence of Ocean Currents. In
Conference on decision and control.
A. Pedro Aguiar, Joo P. Hespanha, A. M. P. (2007). Switched seesaw control
for the stabilization of underactuated vehicles. Automatica, 43 :19972008.
Apkarian, P. (1997). On the discretization of LMI-synthesized Linear
Parameter-varying Controllers. automatica, 33 :655661.
Apkarian, P. (1998). Advanced Gain-Scheduling Techniques for Uncertain
Systems. IEEE Transactions on control systems technologiy, 6 :2132.
BIANNIC, J.-M. (1996). Commande robuste des systmes paramtres variables. PhD thesis, ENSAE.
C. S. Chin, M.W.S. Lau, E. L. G. S. (2006). A robust controller design method
and stability analysis of an underactuated underwater vehicle. International Journal of Applied Mathematics and Computer Sciences, 16 :345356.
C. Silvestre, A. P. (2004). Control of the INFANTE AUV using gain scheduled static output feedback. Control Engineering Practice, 12 :15011509.
Cervin, A. (2003). Integrated Control and Real-Time Scheduling. PhD thesis,
Lund Institute of Technology.
Daniel Simon, David Robert, O. S. (2005). Robust control/scheduling codesign : application to robot control. In IEEE Real Time and Embdded
Technology and applications Symposium.
Fossen, T. I. (1994). Guidance and control of Ocean Vehicles. John Wiley &
Sons Ltd.
36
Henriksson, D. (2006). Resource-Constrained Embedded Control and Computing Systems. PhD thesis, Department of Automatic Control Lund University.
N.E.Leonard, D.A. Paley, F. L. R. S. F. D. F. R. D. (2007). Collective motion,
sensor networks, and ocean sampling. Proceedings of the IEEE, 95 :4874.
Pierre Apkarian, Pascal Gahinet, G. B. (1995). Self-scheduled H Control
of Linear Parameter-varying Systems : a design Example. Automatica,
31 :12511261.
Robert, D. (2007). Contribution linteraction commande / ordonnancement. PhD thesis, INPG.
Sala, A. (2005). Computer control under time-varying samplin period : An
LMI gridding approach. automatica, 41 :20772082.
Santos, A. S. (1995). Contribution la conception des sous-marins autonomes : architecture des capteurs daltitude, et commande rfrences capteurs. PhD thesis, Ecole nationale suprieure des Mines de Paris.
Z. Feng, R. A. (2004). Reduced order H control of an autonomous underwater vehicle. Control Engineering Practice, 12 :15111520.
Zin, A. (2005). Sur la commande robuste de suspension automobiles en vue
du control global de chassis. PhD thesis, INPG.