logiciel de calcul de plongée -...

6

Click here to load reader

Upload: hoangdang

Post on 10-Feb-2018

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Logiciel de Calcul de Plongée - archivemiq.free.frarchivemiq.free.fr/archives/archives_S2/Informatique/2005-2006... · Rapport de Projet Informatique Logiciel de Calcul de Plongée

Rapport de Projet Informatique

Logiciel de Calcul de Plongée Pour utilisation sportive et professionnelle

Philippe BRUCHER Kut KARAHASAN

MIQ1 2005 INSA de STRASBOURG

Page 2: Logiciel de Calcul de Plongée - archivemiq.free.frarchivemiq.free.fr/archives/archives_S2/Informatique/2005-2006... · Rapport de Projet Informatique Logiciel de Calcul de Plongée

1) Intitulé : Logiciel de plongée pour le calcul des paliers et des différents paramètres.

1.1) Descriptif

Dans ce projet, nous avons opté pour la réalisation d’un logiciel destiné à l’utilisation des plongeurs, sportifs ou professionnels, en nous basant sur les algorithmes et les tableaux que procurent les théories scientifiques, la recherche médicale et les statistiques provenant de l’observation de divers accidents et incidents dans le domaine.

1.2) Objectifs

Développement d’un logiciel sous JAVA qui calcule, à partir de différents facteurs, les paramètres nécessaires pour le bon déroulement d’une plongée sans problème de décompression. Le logiciel en question aura pour fonction principale la planification d’une (ou plusieurs) plongée(s) avant l’entrée dans l’eau, c.à.d. il va donner le profil de plongée estimé. Les données initiales sont : -Les profondeurs maximales -Le temps à passer à ces profondeurs -la composition du mélange utilisé -Les informations personnelles du plongeur Les sorties finales sont : -Profondeur opérationnelle maximale -Consommation estimée de mélange en m3 -La durée des paliers de 3, 6, 9, et 12 mètres -Différents coefficients qui entrent dans las calculs mais ne sont pas visibles par l’utilisateur

1.3) La théorie de la décompression et les principes scientifiques à l’origine du logiciel 1.3.1) Les problèmes liés à la respiration sous pression de l’air comprimé Depuis le début de la plongée à l’air comprimé et les travaux en caisson dans le domaine du génie civil, on a constaté certains problèmes, plus ou moins graves, chez les individus qui y travaillent. L’origine de ces problèmes est un changement brusque de la pression ambiante pendant la phase de retour à la surface, ce qui, sous certaines conditions, peut générer des micro-bulles dans les tissus et causer la mort, la paralysie ou des malaises moins graves. Afin de visualiser ce phénomène, on peut penser à une cannette de boisson gazeuse qui contient du CO2 dissous sous pression. Avant d’ouvrir la cannette, si l’on la rapproche de l’oreille, on ne va pas entendre de mouvement de bulles de gaz, alors qu’après son ouverture (chute brusque de la pression) des micro-bulles vont se former et commencer à monter vers la surface. De la même façon, quand un individu commence à respirer de l’air sous pression, les différents gaz qui constituent l’air se dissolvent dans son sang en fonction de la pression ambiante et de la pression partielle du gaz dans le mélange. Dans l’air, par exemple, le gaz prépondérant est l’azote, à 79%, donc c’est la pression partielle de l’azote qui sera la plus importante. Au niveau de la mer, on a à peu près 1 bar de pression atmosphérique, ce qui fait que la pression partielle de l’azote est de 0.79 bar. Une colonne d’eau de dix mètres exerce 1 bar de pression, donc, par exemple à trente mètres, si l’on respire de l’air comprimé, il est à 4 bars (3 bars pour l’eau de mer et 1 bar

Page 3: Logiciel de Calcul de Plongée - archivemiq.free.frarchivemiq.free.fr/archives/archives_S2/Informatique/2005-2006... · Rapport de Projet Informatique Logiciel de Calcul de Plongée

pour l’atmosphère). Dans ces conditions, la pression partielle de l’azote sera de 0.79*4 = 3.16 bars. Ensuite intervient la notion de « remplissage » de tissus et de saturation. Les différents tissus du corps humain se remplissent de façon logarithmique sous l’effet du changement de pression ambiante. A la base, comme nous vivons sous 1 bar de pression, nos tissus ont 0.79 bars de pression partielle d’azote dissous. Quand la pression augmente, le système a tendance à s’équilibrer par effet de diffusion de gazes entre deux milieux de densités différentes, ce qui fait que la pression partielle des tissus augmente. Dans notre exemple de trente mètres, à temps infini, cette pression partielle tendrait à 3.16 bars. C’est à ce point que le calcul des paliers intervient. En fonction du temps passé et de la différence de pression entre deux milieux (fonction linéaire de la profondeur) les algorithmes de calcul fournissent les étapes intermédiaires d’arrêt (appelés les paliers) avant le retour à la pression minimale au niveau de la mer. Nous allons maintenant regarder de plus près ces algorithmes. 1.3.2) Les solutions proposées par les scientifiques, les algorithmes de Buhlmann Depuis le début du vingtième siècle, plusieurs modèles ont vu le jour pour calculer le temps à passer à des profondeurs prédéterminées afin de se débarrasser de l’azote résiduel dans les tissus. Les premiers tableaux élaborés étaient d’origine militaire, et jusque dans les années d’après guerre on n’avait à disposition que ces données expérimentaux. Le problème essentiel était d’une part le manque d’une rigueur scientifique pour modéliser le processus (en effet, ces tableaux étaient basés sur l’expérience de la Navy) et d’autre part l’inaptitude de ces tableaux pour l’utilisation sportive civile. Dans les années 50, le docteur suisse Albert Buhlmann a mis au point la modélisation des tissus en différents compartiments selon leur tenue en graisse (ce qui influe sur leur absorption d’azote) et il a évalué les temps de « charge et de décharge » en fonction de la profondeur et du temps. Suite à la validation du modèle par des essais en caissons hyperbares avec la détection des micro-bulles à l’ultrason doppler, il a élaboré les tableaux

basés sur un modèle du corps humain à six compartiments. Il a aussi déterminé avec précision les constantes de temps de différents tissus et ainsi établi les différentes constantes utilisées dans les algorithmes de calcul de notre logiciel de plongée. Le modèle buhlmannien, malgré les quelques évolutions qu’il a subies durant les années, notamment suite à l’introduction de

Page 4: Logiciel de Calcul de Plongée - archivemiq.free.frarchivemiq.free.fr/archives/archives_S2/Informatique/2005-2006... · Rapport de Projet Informatique Logiciel de Calcul de Plongée

différents mélanges de gaz utilisés, reste encore valable et est à la base de la plupart des calculateurs de paliers. La course aux profondeurs dans les années 80 sur des plates-formes de pétrole a emmené l’utilisation de différents mélanges tels que le nitrox ou le trimix. Pour réduire les risques de décompression ou le temps de paliers, le nitrox contient moins d'azote et plus d'oxygène que l'air, avec des pourcentages variables 32/68, 36/64, 40/60 (le pourcentage d'oxygène est toujours indiqué en premier; ainsi l'air est-il un 21/79 ; aux USA le terme EAN 32 ou EAN 36 signifie "Enriched Air Nitrox" avec 32 % ou 36 % d'oxygène). Dans le trimix, il y a un certain pourcentage d’hélium, et les vitesses de diffusion de tous ces gaz étant différentes, il faut en tenir compte dans le calcul. Avec les avancées technologiques dans le domaine de l’informatique, plusieurs modèles de calculateurs sous forme de montre ont vu le jour(Ci-dessous le Uwatec Aladin Pro Complet). Aujourd’hui, pour quelques centaines d’euros, il est possible de trouver sur le marché différents types de « décobrains » qui calculent en temps réel les paliers à effectuer en fonction de la profondeur et du temps. L’avantage de ces appareils est certain pour des plongées multi-niveaux car ils ont souvent une période d’échantillonnage de l’ordre de la seconde et par conséquent exécutent les opérations de calcul en fonction du profile réel de la plongée. Cependant, il ne faut pas perdre de vue que le plongeur porte ces calculateurs avec lui sous l’eau pendant la plongée et les défaillances techniques n’étant pas exclues, tous les manuels et normes professionnels stipulent qu’il faut impérativement planifier la plongée avant l’entrée à l’eau.

2) Structure de l’application L’organigramme principal de l’unité de calcul se présente comme suit :

Page 5: Logiciel de Calcul de Plongée - archivemiq.free.frarchivemiq.free.fr/archives/archives_S2/Informatique/2005-2006... · Rapport de Projet Informatique Logiciel de Calcul de Plongée

Les principales données en fonction des variables d’entrée sont :

• Cmel=Math.sqrt((N2/79)*(N2/79)+(He/53)*(He/53));

• Cdp=1 + 0.693*Math.exp((intervalle1*317.4)/((-1)*Pavant*Pavant*tavant));

• POD=(4000/N2)*Math.pow(Cap,-0.66);

• Cpr=1+0.693*Math.exp((intervalle2*317.4)/((-1)*p1*p1*t1));

• pal3=(t1*p1+t2*p2)*Math.pow(((2*POD-Math.pow((p1*p1+p2*p2),0.4))/POD),0.4) *0.010325*(1/Math.exp(0.21-(t1/(p1*p1))))*Cap*Cdp*Cmel*Cphy*Cpr;

• pal6=(pal3/2)*Math.pow((p1/POD),1.5);

• pal9=(pal6/2)*Math.pow((p1/POD),1.5);

• pal12=(pal9/2)*Math.pow((p1/POD),1.5);

Cmel est le coefficient de mélange, Cdp est le coefficient de dernière plongée, POD est la Profondeur Opérationnelle Maximle en function de la composition du mélange, Cp rest le coefficient de plongée repetitive, pal3, pal6, pal9, pal12 représentent la longueur des paliers de 3, 6, 9, et 12 mètres.

3) Implémentation Concernant le code écrit pour ce projet, on peut faire la distinction entre l’unité algorithmique et les classes d’interface graphique. Les classes utilisées dans le projet sont : (les noms des classes à recopier)

4) Démonstration Calcul de deux plongées successives identiques à 50 mètres avec 30 minutes de temps de fond puis à 40 mètres avec 20 minutes de temps de fond. L’intervalle de temps qui sépare les deux plongées est de 120 minutes. (impression d’écran des fenêtres successives) 5) Conclusions et perspectives

D’un point de vue algorithmique, au seul regard du calcul des temps de paliers, le logiciel de plongée ne pourrait pas être beaucoup plus amélioré, pour les raisons simples évoquées plus haut en comparant les logiciels et les décobrains que le plongeur prend avec lui dans

Page 6: Logiciel de Calcul de Plongée - archivemiq.free.frarchivemiq.free.fr/archives/archives_S2/Informatique/2005-2006... · Rapport de Projet Informatique Logiciel de Calcul de Plongée

l’eau : notre logiciel fourni le profil estimé de plongée et tant qu’il n’est pas implémenté sur une montre avec un capteur temps réel de la profondeur, ce profil restera toujours une estimation de pré-planification, que le plongeur devra respecter s’il veut effectuer les paliers calculés avec le logiciel. Dans ce sens, l’ajout d’une troisième profondeur de plongée ne semble pas nécessaire non plus. En ce qui concerne les algorithmes et la structure du logiciel d’un point de vue strictement informatique, on pourrait bien sûr, avec un certain regard autocritique, proposer des améliorations, qui viseraient surtout à rendre le logiciel un peu pus « user-friendly ». Dans ce sens, on pourrait penser à implémenter le choix du langage d’utilisation ainsi que du système d’unités, ou encore à sauvegarder des comptes d’utilisateur et leurs plongées dans une base de données. Dans ce cas, le plongeur aurait d’une part un suivi régulier de ses plongées, donc pour ainsi dire une srte de « logbook » électronique, et d’autre part il n’aurait pas à entrer ses données personnelles à chaque calcul. Pour finir, il serait aussi intéressant de visualiser le profil de plongée sur u graphe temps / profondeur, comme une fonction plot dans Matlab. En guise de conclusion, notre travail sur ce projet nous a apporté beaucoup de connaissances sur les classes d’interfaces graphiques. Nous avons de même eu l’occasion de travailler avec JBuilder et ainsi découvert un outil de programmation rapide. Le résultat de notre travail nous satisfait, ce qui est aussi un point important à nos yeux, et nous attendons avec impatience l’été pour que Kut effectue ses prochaines plongées sain et sauf avec notre logiciel afin de valider définitivement le modèle utilisé !