Here we go! | MARIUS, drone voilier
15920
single,single-portfolio_page,postid-15920,ajax_fade,page_not_loaded,,side_area_uncovered_from_content,qode-theme-ver-7.7,wpb-js-composer js-comp-ver-4.7.4,vc_responsive
 

MARIUS, drone voilier

Marius: Mediterranean Autonomous Robot ISEN Union Supméca

Il s’agit d’un projet de robot voilier qui a commencé le premier semestre de l’année 2012/2013 et qui mettait en branle durant cette période une vingtaine d’élèves de Supméca et de l’ISEN. Pour le second semestre, c’est un groupe de trois étudiants qui s’est chargé de reprendre le flambeau avec pour but la mise à l’eau et la tentative d’un record de traversée autonome. Je me suis proposé chef de ce projet pour cette session. Sur cette page je vais décrire le travail que j’ai personnellement apporté sur le bateau, ainsi que ma vision des enjeux de ce projet. S’il vous manque des informations complémentaires, je vous invite à consulter le site web mentionné plus bas ou à prendre contact avec moi. Vous pouvez naviguer en utilisant ce sommaire ainsi que les différentes ancres pour vous ramener à cet endroit de la page. Avant de rentrer dans le vif du sujet, je tiens tout particulièrement à remercier Cédric Anthierens ainsi que François Jeay, deux enseignants qui m’ont soutenu et poussé avec l’envie de me voir aller loin. J’apprécie également leurs compétences et leur bon sens qui donnent vie à l’impossible.

 

SOMMAIRE:

 

INTRODUCTION

Je n’ai pas choisi de m’investir dans ce projet par hasard. Ce bateau est la concrétisation de ma formation de mécatronicien. Le principal enjeu a été d’appréhender le plus clairement possible tous les aspects du bateau (mécanique, électronique et informatique) pour pouvoir produire une solution optimisée et fonctionnelle. Sans compter le fait qu’il faut animer un groupe de personnes dans cette même optique. La première étape a été de déterminer les éléments fiables et solides sur lesquels le reste allait prendre forme. Ce qui a nécessité beaucoup d’investissement pour véritablement s’approprier le système (bien au-delà des heures consacrées par mon école). Cet investissement important est toujours resté raisonné pour privilégier la qualité à la quantité.

 

CHEF DE PROJET

ORGANISATION DU PROJET

Un projet doit évidemment être bien organisé pour respecter les objectifs de temps. J’ai adopté un agencement hybride situé au croisement de ce que j’ai pu apprendre en cours, et qui me semblait le plus adapté à ce qu’il fallait faire.

Planning organisationnel:

J’ai mis en place une Timeline pour chaque personne avec des jalons en bout des tâches clefs. Les tâches ont été réparties suivant les affinités des personnes (une personne motivée est toujours plus efficace) et une estimation du temps nécessaire pour leur réalisation a été déterminée.

Réunion d’harmonisation:

Chaque jalon franchi était accompagné d’une réunion d’harmonisation. Le but était de mettre en exergue les retards, anomalies ou au contraire les avances de chaque personne. A la suite de ça était réalisée une fiche qui indiquait au membre de l’équipe ce qui était fait ou à faire, les retards, ce qui passait en temps masqué (nous n’avions que 8h par semaine), la nouvelle personne affectée. Il y avait également une liste de devoirs et un petit texte de mise au point. Une des fiches au format pdf.

Planification pré-soutenances:

Pour éviter l’effet « fin de projet » avant les soutenances, il fallait coordonner l’équipe pour fournir les documents nécessaires. Il fallait également préparer les rôles que chacun devait prendre en fonction de ses capacités oratoires.

Présentation:

Je me suis occupé de réaliser le design du slide de fond, de l’introduction (1 à 3 inclus) et de la troisième partie (14 à 19) Présentation au format pdf

 

MOTIVATION DES TROUPES

Donner confiance aux gens en leurs idées:

Nous sommes étudiants et nous n’avons pas tous acquis suffisamment d’expérience et de confiance en soi pour asseoir des idées qui peuvent sembler farfelues. Mon rôle a été de pousser les membres de mon équipe à avoir confiance en eux et en leurs solutions. Il a aussi fallu leur apprendre à être actif lorsqu’une aide est apportée. Même si une solution est extérieure, il faut la comprendre et l’intégrer correctement, ce qui est un travail non négligeable.

Faire comprendre l’importance du projet vis-à-vis du côté pédagogique (notes):

Depuis que nous sommes à l’école, nous sommes bercés par les notes. Ce qui a tendance à déformer la motivation que certains peuvent avoir. J’espère avoir réussi à faire partager l’idée que ce que nous avons appris est bien plus important que la note que nous avons eu. De plus, le projet est pérenne et reflète vraiment nos capacités.

Faire comprendre la force qu’apporte le groupe à l’individu, faire s’approprier le travail de groupe à l’individu:

Il a été très délicat pour moi d’amener l’équipe lors de la présentation finale à revendiquer l’ensemble du projet comme étant son fruit. La cohésion des individus est ce qui a rendu cette aventure possible. Et le travail d’un individu est ridicule à côté de la contribution globale de chacun.

 

COMMUNICATION

Intra-groupe:

Il est très important d’avoir une cohésion entre les étudiants puisque les tâches traitées par chacun sont étroitement liées. C’est pourquoi il a été crucial d’apprendre à se solliciter et à passer outre les considérations personnelles pour rester focaliser sur l’objectif.

Extra-groupe:

Un point sensible de ce travail a été de ménager les opinions parfois différentes des enseignants qui nous encadraient. Il a fallu récupérer les avis et les intégrer pour se les approprier. Le but n’était pas de confronter les avis mais plutôt de les assimiler et de ressortir notre propre vision des choses. J’ai également eu la chance de pouvoir décrire succinctement le projet en anglais à un représentant de National Instrument et à son collègue Texan.

 

MÉCANIQUE

CONCEPTION, FABRICATION ET MONTAGE DE LA TÊTIÈRE

La têtière est un élément primordial car elle permet de tenir les haubans et l’étai. De plus, l’anémomètre et les feux de mât y sont installés. La têtière précédente n’était pas satisfaisante car le feu de mât a été modifié (pour des raisons détaillées plus bas), le GPS n’est plus positionné sur celle-ci et les cadènes pour fixer les haubans étaient absentes. Je me suis donc attelé à concevoir une nouvelle têtière en prenant soin d’intégrer le fait que le haut du mât a été fragilisé par des perçages. Voici donc la nouvelle têtière dimensionnée grâce à des calculs de résistance des matériaux. Elle est collée en haut de mât ce qui palie aux défauts de forme du tube et ce qui permet une plus grande résistance que si c’était percé/vissé. En effet, les efforts sont mieux transmis car la surface de contact est maximale (la colle fait le lien là ù il y a les défauts). Les feux de mât ont été disposés pour ne pas gêner le flux d’air arrivant sur l’anémomètre ainsi que pour pouvoir éclairer à 360° autours du bateau.

 

marius_tetieremarius_tetiere_draw

 

 

MONTAGE DU PANNEAU SOLAIRE

A l’origine, le bateau était doté de deux panneaux solaires montés en tente canadienne avec des fixations rigides. Ce qui avait pour inconvénient d’empêcher l’accès à la trappe arrière. Il fallait tout démonter et le risque d’abîmer le système de fixation était très important. Dans cette partie (mécanique), je ne traiterais pas de l’étude énergétique qui m’a amené à ne poser qu’un panneau. Venons-en donc directement à la pose. Le panneau est fixé grâce à une charnière d’un part qui permet de le soulever pour accéder à la trappe arrière. Pour assurer son maintien lorsqu’il n’est pas manipulé, deux petites bandes de Velcro à coudre collées avec du MS Polymer assurent cette fonction. La longueur des bandes a été choisie pour permettre une résistance suffisante pour le maintien tout en permettant le décrochement du panneau. De plus, le système est installé de manière à ce qu’une lame d’air puisse venir refroidir le panneau par en dessous pour ne pas altérer le rendement. Les câbles passent par un passe-câbles à l’intérieur du bateau.

 

marius_panneau_solaire

 

DÉCOUPAGE D’UN EMPLACEMENT POUR LA BOÎTE DU MPPT ET FIXATION

Il a été nécessaire pour permettre le rechargement de la batterie à l’aide des panneaux solaire d’utiliser un MPPT qui permet de suivre le point de puissance maximale d’un générateur électrique non linéaire (nous avons donc en permanence le maximum de puissance à la charge quelle que soit la qualité de l’ensoleillement). Ce MPPT (entre autres éléments détaillés dans la partie électrique) est positionné dans un boitier étanche qui se baladait librement à l’arrière du bateau. J’ai donc découpé un emplacement dans les varangues dans lequel j’ai collé une planche en bois dotée de plots en silicone pour amortir les vibrations. Le tout tient grâce à des sangles en prenant en compte leur élasticité : même si elles venaient à se desserrer, le boitier resterait dans son logement.

 

marius_mppt

 

DÉCOUPAGE D’UN EMPLACEMENT POUR LA BATTERIE, FIXATION ET AMORTISSEMENT

La batterie était posée à même les varangues, calée grâce à un morceau de polystyrène et grossièrement fixée à l’aide d’une sangle. Les problèmes étaient la détérioration de l’enceinte de la batterie par les varangues à cause des vibrations (les varangues étant faites de bois revêtu d’une matrice fibre/résine) ainsi que la mauvaise fixation de la cale en polystyrène qui aurait entraîné un desserrage complet de la sangle et la batterie aurait été libre de se balader dans le bateau (compte tenu de la masse, cela aurait été extrêmement destructeur). C’est pourquoi j’ai taillé un emplacement dans les varangues ainsi que dans le panneau latéral séparant l’arrière du centre. Les surfaces vouées à être en contact avec le corps de la batterie ont été revêtues d’un centimètre de silicone (suffisamment pour pouvoir rentrer la batterie légèrement en force). Le tout est plaqué par une sangle de manière à garantir le maintien en position malgré un léger desserrage dû à la variation d’hygrométrie.

 

marius_batterie

 

DÉCOUPAGE D’UN EMPLACEMENT POUR LA BOÎTE INTELLIGENCE, CRÉATION D’UNE PLAQUE SUPPORT AVEC COUSSINS EN SILICONE ET FIXATIONS

La boîte intelligence ne bénéficiait pas de système de fixation. J’ai donc réalisé la même procédure qu’avec la boîte pour le MPPT.

 

marius_intelligence

 

COLLAGE DU MÂT ET GUIDE POUR LES CÂBLES

Le mât était en deux parties et le montage ne permettait pas de garantir le maintien de l’alignement pour l’anémomètre qui nous donne la direction du vent. J’ai donc collé les deux parties du mât en prenant soin de mettre le 0 de l’instrument dans l’axe du bateau avec la bonne orientation. Pour le passage des câbles reliant la têtière à l’intérieur du bateau, j’ai utilisé un tube en PVC fixé le long du mât, le tout étant passé dans le fourreau de voile. Les câbles sont connectés au pont grâce à deux passe-câbles démontables.

 

marius_passe_cables_mat

 

CRÉATION ET MONTAGE D’UNE PIÈCE CALANT LE MÂT AU FOURREAU

Le mât était glissé dans le fourreau et le guidage était assuré par une rondelle en bois d’un centimètre d’épaisseur. J’ai conçu un cylindre de guidage recouvrant complètement les perçages du mât pour augmenter la surface de contact pour diminuer la pression par une meilleure répartition. Il est en effet important de contrôler les efforts appliqués dans la zone des perçages qui constituent des amorces de rupture. La pièce a été réalisée en plastique dans un Lycée partenaire.

 

marius_cale_fourreau

 

CRÉATION DE RONDELLES POUR LE VÎT DE MULET

Il s’agissait de concevoir des rondelles pour le mécanisme du vît de mulet puisque rien n’avait été prévu à ce niveau-là et qu’il y avait un jeu conséquent. Elles ont été réalisées dans le même matériau que le cylindre précédent.

LE COMPACTRIO A ÉTÉ REHAUSSÉ POUR PERMETTRE L’ACCÈS AUX MODULES

Le CompactRio est fixé contre une des parois du boitier et il n’y avait pas d’espace en dessous du châssis ce qui ne permettait pas de détacher les modules sans tout démonter. J’ai donc réalisé des perçages plus hauts pour permettre le passage des doigts.

LE COUVERCLE DES BOÎTES INTELLIGENCE ET MPPT ONT ÉTÉ PERCÉS ET UNE PLAQUE D’ALU A ÉTÉ FIXÉE POUR DISSIPER LA CHALEUR

Toute la partie électronique est confinée dans des boîtiers IP65 en plastique. Ce qui signifie que les échanges calorifiques vers l’extérieur sont très faibles. C’est pourquoi j’ai percé sur celles-ci des fenêtres au niveau des couvercles sur lesquelles j’ai placé des plaques en aluminium. L’étape suivante est de placer une lamelle métallique fixée au châssis du CompactRIO ainsi qu’à celui du MPPT. Cette lamelle doit être suffisamment souple pour permettre le contact en fermant la boîte (ce qui aurait pour effet de plier la plaque comme décrit sur le schéma suivant).

 

marius_echangeur_thermique

 

ACHAT DU CORDAGE POUR LE BATEAU LE CORDAGE N’AVAIT PAS ÉTÉ PRÉVU

Globalement, le cordage n’avait pas encore été prévu pour le bateau. Le choix s’est porté vers du Dyneema 3mm qui permet un allongement inférieur à 1% et une résistance à la traction de 900kg ce qui convient pour notre bateau (de plus, les cadènes de la têtière ont été dimensionnée pour ce type de bout). Le gréement a été fait par François Jeay qui m’a expliqué quelques nœuds marins.

 

marius_cordage

 

ELECTRONIQUE/ELECTRIQUE

MODIFICATION DE LA BOÎTE DU MPPT POUR N’ACCUEILLIR QUE CE QUI CONCERNE LA RECHARGE DE LA BATTERIE

A l’arrière du bateau se trouvait un boitier contenant le MPPT, une carte électronique pour gérer la connexion des deux panneaux solaires ainsi qu’une carte de distribution pour alimenter les différents organes (pompe de cale, feu de mât, carte d’adaptation ainsi que des emplacements libres) à partir de la batterie. J’ai choisi de ne laisser dans ce boitier que ce qui concerne la recharge de la batterie pour permettre des améliorations au bateau sans devoir modifier toute la partie électrique (par exemple le groupe éolienne peut intégrer son travail simplement en intervertissant le boitier sans modifier le câblage global).

FIXATION PROPRE DES CÂBLES LE LONG DE LA COQUE

Pour que l’intérieur du bateau soit clair et que l’accès aux organes soit pratique, j’ai fixé les câbles proprement le long de la coque avec des riselons. On évite ainsi les nœuds et de trop se questionner sur l’utilité de tel ou tel câble.

INSTALLATION DU BOUTON ON/OFF AU PIED DU FOURREAU

Marius nécessite un bouton d’alimentation à l’extérieur de la coque qui doit être facilement accessible. Le choix précédent était porté sur un bouton standard dans un boitier étanche qu’il fallait dévisser pour arrêter le bateau (ce qui n’est pas pratique en pleine mer) et le tout n’était pas positionné. J’ai choisi de remplacer tout cela par un bouton étanche posé directement sur le pont au pied du mât.

RÉINSTALLATION DE LA TRESSE DE MÂT INCLUANT LE PONÇAGE DES TUBES MÉTALLIQUES PERMETTANT LE CONTACT

La masse électrique du bateau est reliée à la mer. Pour ce faire il faut utiliser le saumon qui est en bout de quille en contact avec l’eau. Le montage actuel se faisait sur les écrous d’attache de la quille (haute résistance électrique) ainsi que sur le mât et la tige de quille (malheureusement la peinture mise en place sur ces éléments est un bon isolant). J’ai donc repris le montage en ponçant les éléments métalliques et je me suis affranchi du contact sur les écrous. Et on obtient une résistance très faible entre la masse en tout point du bateau et le bas du saumon.

 

marius_tresse

 

CHOIX ET INSTALLATION DES PASSES-CÂBLES POUR LES INSTRUMENTS DU MÂT

Les câbles des instruments positionnés en tête de mât devaient venir se connecter dans la boîte qui accueillait le bouton d’alimentation général. Le gros souci de cette solution venait du fait qu’il n’y avait pas moyen de démonter/remonter facilement les câbles et ce sans nuire à l’étanchéité du montage (cf. photo précédente).

FEU DE MÂT

Le feu de mât précédent consommait 250mA (pour la plus basse luminosité qui ne convient pas à la distance d’environ 4kms à respecter pour la visibilité du bateau) avec un système de bandeau de LED alimenté en clignotement avec une fréquence réglable. J’ai utilisé un système de flashlight, c’est-à-dire qu’on charge un condensateur qui se décharge ensuite instantanément dans une « lampe ». On obtient ainsi une très grande intensité lumineuse sur un temps bref ce qui attire énormément l’Å“il et ce qui ne consomme que 80mA malgré les deux lampes. Le système modifié était à l’origine alimenté par deux piles 1,5V, et lorsque celles-ci sont trop déchargées, la fréquence de clignotement diminue. Je me suis basé sur ceci pour régler le clignotement au minimum en alimentant le montage des lampes en série à 4V. Et il se trouve que le système va naturellement tendre à faire clignoter les lampes en opposition de phase, ce qui donne une période de 1,5s.

 

marius_feu_mat

 

LES CÂBLES DE LA BOÎTE INTELLIGENCE ONT ÉTÉ RÉ-AGENCÉS POUR PERMETTRE UNE MANIPULATION AISÉE

Le boitier électronique principal du bateau qui contient le calculateur et la carte d’adaptation à le défaut d’être trop petit par rapport à l’agencement qui a été fait en son sein. Il y a également beaucoup de câbles emmêlés, ce qui ne facilite pas la manipulation sans compter que cela créer de la tension au niveau des connecteurs. J’ai donc ré-agencé le câblage de ce boitier pour que cela soit facile d’accès et pour soulager la carte des contraintes.

DES SOUDURES SUR LA CARTE D’ADAPTATION ONT ÉTÉ FAITES POUR PERMETTRE SON FONCTIONNEMENT

Lorsque j’ai commencé à faire les tests réels sur les instruments en passant par la carte d’adaptation, je me suis rendu compte qu’il y avait pas mal de problèmes. Je passerais sous silence tous les protocoles de debug que j’ai mis en place pour mettre le doigt sur les erreurs pour n’expliquer que la résolution de celles-ci. Tout d’abord, la connectique des instruments se fait en utilisant des DB9 avec une norme particulière au bateau. Le 2 et le 3 sont les fils NMEA, le 5 est la masse et le 9 sert à alimenter le capteur. Seulement le CompactRIO prend la norme RS232, il faut donc relier l’instrument au module série en rétablissant l’ordre. Voici ce qui a été fait : les fils 1 à 8 de la DB9 de l’instrument ont été relié aux fils 1 à 8 de la DB9 du port série du module, le fil 0 de la DB9 de l’instrument a été relié à l’alimentation et le fil 9 du port série du module à la masse. Le problème est que l’instrument n’a que 3 fils utiles au protocole de communication : NMEA+, NMEA- et la masse. Il y a donc les potentiels de la DB9 du CompactRIO des fils 1, 4, 5, 6, 7 et 8 qui sont « en l’air » et qui prennent des valeurs aléatoires. Le problème a été réglé après que j’ai eu soudé ces fils à la masse. J’ai donc pu tester l’anémomètre sans soucis. Mais impossible de faire fonctionner deux instruments en même temps. En fait l’alimentation des instruments se fait en passant par un commutateur contrôlé par le CompactRIO. Après avoir fait l’étude de ce composant, je me suis rendu compte qu’il faisait chuter la tension de 12V à 6V si trop de courant le traversait. Ce qui est le cas lorsque l’on branche les deux instruments en même temps. Et le composant n’est donc pas utilisable pour cette fonction (il aurait été préférable d’utiliser un télérupteur qui aurait consommé un peu plus lors de la commutation mais qui une fois commuté ne consomme plus rien et permet l’économie de l’alimentation des capteurs). C’est pourquoi je l’ai shunté sur la carte électronique à l’aide d’un petit strap.

LES BRANCHEMENTS DES INSTRUMENTS ONT ÉTÉ MODIFIÉS POUR PRENDRE EN COMPTE LE ENABLE INSTRUMENTS/MOTEURS

Pour économiser de l’énergie, il a été décidé d’utiliser une commande « enable moteur ». Pour commander un moteur, il faut activer sa carte, ce qui signifie qu’elle ne consomme de l’énergie que lorsqu’on a besoin de s’en servir. Mais dans la pratique, une des cartes était constamment alimentée et la commande « enable instruments » qui servait à faire commuter le circuit d’alimentations des instruments servait également au moteur de la grand voile. J’ai donc rétablit l’ordre pour obtenir le fonctionnement souhaité au départ.

RÉPARATION D’UNE CONNECTIQUE D’UNE CARTE MOTEUR

Lorsque je vous parlais de tension au sein du câblage de la boite « intelligence », il se trouve que ça a réussi (en ajoutant les manipulations) à décoller la connectique d’alimentation d’une des cartes moteurs. Il a donc fallu la recoller à l’aide d’une colle Epoxy, faire la soudure sur la borne +, là où l’étain n’était pas parti et mettre un strap pour repiquer la masse sur une autre masse de même valeur (il y avait différentes masses).

 

INTELLIGENCE

Tout d’abord je tiens à m’excuser pour le manque de screenshots concernant la programmation mais je n’avais pas le logiciel sous la main lors de la rédaction de l’article. Tout le projet est disponible ici si vous souhaiter le télécharger. Comme j’ai repris l’ensemble du code je me permets de mettre la licence Creative Commons en vous laissant la possibilité d’en faire ce que vous voulez hormis faire de l’argent et sous réserve de citer vos sources (je vous informe également que la toute dernière version du code est sur le bateau et que je suis en train de la demander). Faisons un petit point sur le matériel embarqué par le bateau (je comptais mettre les liens et les noms précis mais le site officiel refuse de me permettre l’accès à la version française comme mon IP est Finlandaise…). Il s’agit du CompactRIO dans un châssis durci pour les condition marine complété par trois modules : entrées et sorties analogiques ainsi qu’un module RS232. Le calculateur fonctionne avec un OS propre que l’on programme via Labview. La programmation est dite graphique car tout se fait par une interface graphique contenant des modules que vous faites glisser et que vous assemblez (grossièrement). L’avantage est que l’on peut facilement et efficacement faire du temps réel étant donné que le support est conçu pour ça. La compatibilité entre les produits NI est aussi très grande mais le coût du matériel est un frein pour un particulier (comme un étudiant en quête de matos pour ses projets!). Voilà pour les présentations, les parties suivantes vont grandement parler des différents programmes et codes mis en place sous Labview et je n’entrerais pas dans les détails ce qui pourrait être très long et fastidieux. En plus les codes sont à disposition.

RÉALISATION DU VI DE L’ANÉMOMÈTRE

En règle générale, les vi d’acquisition de données par les capteurs tournent en permanence. C’est à dire que le CompactRIO va regarder avec une certaine fréquence les sorties des capteurs et en tirer les informations nécessaires. Le contrôle de cette fréquence et la gestion d’erreur est une partie importante qui permet de faire un traitement du signal efficace pour obtenir une information fiable et réelle (ah oui, mais pas trop quand même parce que sinon la latence détruit le caractère « temps réel » ou alors il faut passer en programmation FPGA). C’est pour cela que tous les vi sont inclus dans une boucle while cadencée. Ensuite, comme ils sont branchés sur les ports séries du CompactRIO, on utilise toujours le protocole de communication VISA avec les paramètres propres aux capteurs et à la norme NMEA.

 

marius_labview_cadence


 Pour les capteurs qui donnent plusieurs types de trames comme l’anémomètre, je regarde dans une boucle for (dont le nombre de tours est égal au nombre de trames différentes) si la trame reçue et la trame recherchée. Si c’est le cas, je l’écris dans une ligne d’un tableau, sinon, j’y écris -1. En sortie de boucle je prends le maximum du tableau. Si le tableau n’est rempli que de -1, je reprends la dernière bonne valeur de trame. Ensuite je découpe la trame pour en isoler les valeurs intéressantes grâce aux indicateurs. Par exemple pour la trame de l’anémomètre j’ai ceci : $IIMWV,226.0,R,000.0,N,A*0B avec 226.0 la direction du vent et 000.0 sa vitesse. Je transforme ensuite ces chaînes de caractères extraites en flottant en vérifiant au préalable qu’elles sont valides (sinon je donne 0 pour éviter les erreurs). Ensuite, je fais tout simplement une moyenne glissante sur 20 mesures pour lisser la valeur. On introduit un déphasage mais ce n’est pas gênant compte tenu du phénomène physique observé (la fréquence est bien plus basse que celle de notre vi). Et pour finir on remet la mesure dans le bon cadran après avoir étalonné le capteur pour que le zéro soit au bon endroit.

RÉALISATION DU VI DU GPS

J’ai réalisé le vi du GPS dans le même esprit, à ceci près que j’utilise des informations provenant de deux trames différentes. Il y a cependant quelques particularités concernant ce vi. La trame principale est de la forme $GPGGA,064036.389,4836.5375,N,00740.9373,E,1,04,3.2,200.2,M,,,0000*0E avec 4836.5375 signifiant 48° et 36.5375′ Nord (d’où le premier ,N,) et de même pour 00740.9373,E, qui signifie 7° et 40.9373′. Comme il y a deux fois le caractère « N » dans ma trame, je ne peux pas faire une recherche de caractère pour isoler le morceau qui m’intéresse mais je suis obligé de travailler par décalage. Je compte le nombre de caractères qui me séparent du morceau que je souhaite avoir. Ensuite, comme notre bateau ne va naviguer que dans le cadran Nord-Est pour l’instant, je ne m’occupe pas des données dans le cas où nous sommes dans les autres cadrans (mais pour la traversée de l’Atlantique il faudra s’en soucier). C’est surtout pour un soucis de visibilité et pour facilité le débug que j’ai opté pour cette facilité. Si cela fonctionne sans, et comme il ne s’agit que d’une duplication, cela fonctionnera avec.

RÉALISATION DU VI DU CALCUL DE TRAJECTOIRE

Le sous-programme de calcul de trajectoire est basé sur les travaux de Luc Jaulin de l’ENSTA Brest. Il reprend son algorithme A simple controller for line following of sailboats adapté aux caractéristiques de Marius. J’ai suivi les étapes conseillées en prenant bien soin de distinguer les différents thetas et leurs utilités respectives ce qui n’avait pas forcément été bien vu auparavant. J’ai aussi préféré placer les différentes étapes au sein d’une séquence plutôt que de passer par autant de sous-vi. Cela permet d’une part une meilleure visualisation et d’autre part un meilleur contrôle de ce qui se passe au sein des variables. Pour ce qui est du référentiel, je transpose les positions angulaires en positions cartésiennes sans oublier la sphéricité de la terre. C’est ce qui est proposé à la fin du document de Luc Jaulin sauf que je travaille avec des scalaires et non en vectoriel étant donné que je sais ce que je veux trouver (encore une fois, la fiabilité est préférée pour la version alpha du programme). L’implémentation de l’algorithme n’a pas été difficile compte tenue de fonctions Labview permettant d’insérer des formules mathématiques (ce qui allège considérablement le visuel du programme).

RÉALISATION DU VI POUR FAIRE L’ACQUISITION DES POLAIRES DE VITESSE DU BATEAU

Pour optimiser le programme global du bateau, il est essentiel de connaitre ses caractéristiques dont notamment la réaction du système pour différentes directions et vitesses de vent. J’ai donc créé un programme chargé de mettre le bateau dans plusieurs configurations par rapport au vent et d’enregistrer sa vitesse dans ladite configuration. Il s’agit également d’un séquence dans laquelle je travaille en relatif par rapport à la position de départ du bateau qui nous est inconnue. Cette séquence est incluse dans une boucle for qui renvoit l’indice d’un certain tableau. Ce tableau contient tout simplement la consigne angulaire et enregistre le résultat de vitesse. La consigne angulaire est traitée ainsi que la direction actuelle du vent pour générer une consigne moteur. Il est ainsi possible d’obtenir des polaires de vent.

RÉALISATION DU PROGRAMME PRINCIPAL

Tout d’abord, faisons un petit point sur les entrées/sorties du système puisque c’est la première chose que je fais lorsque je cherche à réaliser un programme. Il est important de savoir ce que va faire le programme et avec quoi. Pour le bateau, nous prenons les variables décrivant son état et nous pilotons ses actionneurs. Provenant de l’anémomètre nous avons la vitesse et la direction du vent relatif ; le compas nous donne le cap ; le GPS nous donne la latitude, la longitude et la vitesse par rapport au sol du bateau ; les potentiomètres nous permettent d’atteindre la position de la grand voile et du safran ; nous pouvons également atteindre le niveau de charge de la batterie. Et nous pouvons agir sur la position du safran, de la grand voile et la mise en route des cartes moteurs. Ensuite, il faut entre autre réfléchir à la philosophie globale du programme ainsi que ses objectifs. Pour les objectifs, aller jusqu’en Corse reflète bien ce que nous devons faire avec le robot. Et comme il s’agit d’autonomie dans un milieu hostile (oui, une coquille de noix en plein milieu de la Méditerranée, on fait mieux comme environnement hospitalier), le but de ce programme est d’être le plus stable et le plus fiable possible. Il doit également avoir le souci de l’économie d’énergie qui est juste indispensable pour les grandes traversées, c’est pourquoi j’ai retiré les modes « normal » ainsi que « économie d’énergie » pour ne laisser qu’une seul mode de fonctionnement qui sera le plus économique possible. Il est évidemment possible de laisser les seuils, le bateau irait plus rapidement à sa destination, mais la vitesse n’est pas un critère important et les conséquences d’un manque de batterie sont dramatiques (si nous perdons les capteurs, le bateau se perd et dérive). La mise en place de l’économie est surtout faite sur la fréquence avec laquelle seront actionnés les moteurs qui consomment le plus à bord du bateau. De plus, nous ne pouvons pas nous offrir le luxe de perdre ne serait qu’une petite information sur l’état du bateau qui sont des données vitales pour la gestion de la traversée. Evidemment, il a fallu décider d’une valeur à partir de laquelle nous considérons que la commande moteur peut réellement être transmise au moteur. Pour le moment j’ai usé de bon sens, mais les tests permettront d’ajuster ces valeurs en fonction de la réactivité globale du système et de la connaissance de la consommation réelle du drone. Encore une fois je me suis efforcé d’offrir un visuel épuré pour le programme principal.

REFONTE DU PROJET LABVIEW

Le projet Labview constitue la racine de votre projet global. C’est en son sein que vous s’ancrer toutes les bibliothèques, entrées sorties et programmes. Il est donc important pour moi qu’il soit le plus clair et parlant possible. J’ai donc identifié chaque entrée sortie et chaque module pour pouvoir correctement les nommer au sein du projet ce qui facilite leur manipulation. J’ai aussi spécifié les paramètres propres au CompactRIO. Un point important durant la conception du programme a été de minimiser les variables globales et le nombre de programme y accédant par rapport à la version précédente. En effet, une variable globale est puissante et il faut minimiser les conflits qu’il pourrait y avoir entre différents programmes essayant d’y accéder (lecture ou écriture) en même temps.

RÉALISATION DU VI DE LOG DU BATEAU

J’ai au préalable permis l’horodatage de toutes les variables sensibles du bateau et je peux ainsi écrire dans un fichier texte situé sur le CompactRIO l’état des variables au cours du temps et des modifications qui y sont effectuées. Dans la pratique, il est en fait plus simple compte tenu mes connaissances de créer un fichier texte contenant ce type de trame pour chaque mesure : temps_gps,indicateur_type_données,valeur_donnée_,etc. ll suffit ensuite de faire un petit vi pour récupérer les valeurs des données et les visualiser au mieux (graphe, tableau, etc…).

 

SITE WEB

Deux sites webs ont été réalisés pour être certains de répondre aux attentes des professeurs. Le premier site a été codé à l’aide de Django et le second a été fait de manière plus traditionnelle : Marius 1 Marius 2 Lequel préférez-vous? Dites le moi dans les commentaires!

 

MISE À L’EAU ET ESSAIS

MISE À L’EAU

 

marius_mise_eau_1marius_mise_eau_2marius_mise_eau_3marius_mise_eau_4marius_mise_eau_5



TENU DE CAP

J’ai tout d’abord réalisé un programme pour tester la tenue de cap du bateau. Je lui ai demandé de tout faire pour rester orienté vers un cap et nous avons ensuite réalisé l’essai. Hormis le fait qu’il se dirigeait vers une zone militaire tout s’est bien déroulé, il prenait correctement le vent et lorsque nous le changions de cap, il revenait vers sa commande.

SUIVI DE ROUTE

Ce test devait mettre en avant le comportement du bateau en situation réelle. Nous sommes parti loin du port de Toulon, nous avons rentré 4 points GPS et nous avons lâché Marius. Nous avons pu nous rendre compte de plusieurs soucis, comme notamment la fréquence de commande des moteurs qui est trop importante, ce qui suggère de diminuer le seuil de déclenchement de celle-ci. Nous avons également été en mesure de réfléchir, par le comportement du bateau en situation réelle, sur les réglages à effectuer pour obtenir une plus grande stabilité. Décortiquer la vidéo et ce test ne fait malheureusement plus partie de mon travail puisque mon déménagement était très proche. Mais je pense que l’équipe qui va suivre va avoir tout en main pour faire une tentative de record. J’ai apporté mon maximum pour permettre d’avoir un bateau le plus fonctionnel possible

 

 

CONCLUSION

C’est difficile d’apporter une conclusion à un projet qui continue d’évoluer et de prendre de l’ampleur. Cependant je suis extrêmement fier d’avoir pu contribuer à la mise à l’eau de Marius et pourquoi pas à la tentative de record du monde. Je souhaite pouvoir voir ce bateau impliqué dans des missions scientifiques au large de l’Atlantique dans un futur proche. Pour ma part, je resterais marqué par les connaissances et l’expérience que ce projet m’a apporté et je mettrais tout en œuvre pour toujours travailler dans cette optique dynamique.

 

marius