Académique Documents
Professionnel Documents
Culture Documents
17/01/2013
Thibaud Berthomier
Florian Nicolas
Pierre-Emmanuel Dalidec
Kai Zhang
Projet RASV
3) L’organisation .......................................................................................................................................................... 12
2) Réalisation de l’électronique..................................................................................................................................... 41
Page 1
Projet RASV
Remerciements
Le Club Robotique de l'ENSTA Bretagne pour nous avoir fourni l'ensemble du matériel
nécessaire à l'aboutissement du projet.
Enfin, l'ensemble des personnes que nous avons eu l'occasion de cotoyer tout au
long de ce projet pour leur sympathie et leur coopération professionnelle.
Page 2
Projet RASV
Introduction
Actuellement étudiants en 2ème année option SPID à l’ENSTA Bretagne, nous avons, dans le
cadre de l’UV 4.4, la responsabilité de mener à bien un projet. Celui-ci, dénommé projet R.A.S.V
(Robot Autonomous Surface Vehicle), consiste en la création d’un voilier et d’un hydroglisseur
autonomes dans l’optique d’une participation à la WRSC 2013 (World Robotic Sailing
Championships), qui aura lieu en Septembre 2013. Cette compétition regroupe de nombreuses
équipes étudiantes à travers le monde, faisant concourir leurs systèmes autonomes dans diverses
épreuves permettant d’évaluer les capacités des bateaux en termes d’analyse, de réactivité et
d’autonomie.
D’un point de vue pédagogique, le but de ce projet est de nous faire découvrir la création
d’un système, de la simple conception jusqu’à sa réalisation finale. Suite à la définition des exigences
et à l’identification précise de nos besoins lors de la phase d’avant-projet, nous avons poursuivi avec
la réalisation concrète de celui-ci. Nous avons pu de cette façon implanter nous-mêmes les solutions
que nous avions retenues et nous confronter aux différents problèmes et imprévus que celles-ci
impliquaient.
Page 3
Projet RASV
Les innovations dans le domaine des véhicules autonomes tels que les AUV (Autonomous
Underwater Vehicle) ou autres UAV (Unmanned Aerial Vehicle) ont été croissantes ces dernières
années et leurs champs d’application se sont multipliés.
Les voiliers autonomes, bien qu’actuellement moins répandus, jouent également un rôle clé,
en particulier dans l’observation de l’environnement marin puisqu’ils permettent de mesurer la
température, la salinité ou encore le taux de chlorophylle.
Afin de stimuler et motiver les avancées dans ce domaine, de nombreux voiliers autonomes
participent chaque année à la course WRSC, où ils s’affrontent lors de différentes épreuves, du
simple parcours à suivre, au suivi d’un autre véhicule via du traitement d’images en passant par le
remorquage.
Au-delà de l’objectif principal du projet qui consiste à participer à cette régate, les nombreux
équipements dont disposeront nos véhicules pourront se voir offrir de nouvelles applications. En
effet, le traitement d’images pourrait permettre de cartographier la surface marine à la recherche
d’objets émergés, avec la collaboration de drones aériens, comme par exemple lors de crashs aériens
en milieu maritime.
Page 4
Projet RASV
Abstract
Over the past few years, innovations in the field of autonomous vehicles such as AUVs
(Autonomous Underwater Vehicles) and UAV (Unmanned Aerial Vehicles) have been steadily
increasing and their application scopes are becoming more and more numerous.
Autonomous sailboats and motorboats, although they are not widespread yet, play a leading
role in the domain of marine observation and monitoring as they are able to measure sea
temperature, salinity or chlorophyll rates. In the case of motor boats, they are already used for
military security and safety close to shore.
Beyond such applications, several sailboats and motorboats take part every year in the WRSC
(World Robotic Sailing Championship), where they compete in multifarious trials, ranging from
autonomous navigation based on beforehand set waypoints to target tracking using real-time image
processing, through boat towing.
Furthermore, besides the main objective which consists in taking part in this regatta, the
numerous devices which equip our vehicles give us a glimpse of their potential future application.
Indeed, the real-time image processing could allow us to map the marine area to look for emerged
objects, in collaboration with UAVs, to search for plane fragments after crashes for example.
Page 5
Projet RASV
2) Les règles
Sauf mentions particulières (épreuve d’endurance…) ou conditions particulières (évitement
d’une collision avec un autre robot …), aucun point pour une épreuve ne sera attribué si une
intervention manuelle ou à distance sur un robot est effectuée pendant une épreuve où le robot doit
être autonome. De plus, les épreuves impliquant la participation de tous les concurrents en même
temps ne pourront être tentées qu’une seule fois (pour des raisons d’organisation). Pour le reste, les
points gagnés lors de la meilleure tentative seront utilisés. (Lebars [2012])
Page 6
Projet RASV
Catégories de robots
Petits voiliers autonomes jusqu'à 1 m de long, 2 m de hauteur, 100 kg, nommée catégorie
Microvoiliers (code MV).
Voiliers autonomes jusqu'à 4 m de long, 10 m de hauteur, 500 kg, nommée catégorie Voiliers
(code V).
Tout type de bateau autonome jusqu'à 4 m de long, 10 m de hauteur, 500 kg, nommée
catégorie Bateaux à moteur (code M). L'organisation se réserve le droit de refuser un robot jugé
dangereux, inapproprié... Consulter les organisateurs à l'avance si nécessaire. Tous les robots devront
avoir le nécessaire pour faciliter leur mise à l’eau, arrêt, récupération et fonctionner en toute
sécurité. Les robots pouvant aller à une vitesse supérieure à 5 km/h devront pouvoir être contrôlés à
distance (pour des raisons de sécurité). Cependant, il est fortement recommandé que tous les robots
puissent être contrôlés à distance.
Robots classés
Il y aura des classements distincts pour chaque catégorie. Chaque robot devra avoir un nom
unique et gagner au moins 1 point pendant les épreuves pour pouvoir être classé. Un robot classé
pourra être repesé, remesuré (et les valeurs max constatées seront retenues) s’il subit des
changements significatifs pendant la compétition (changement de pièces importantes, utilisation
d’un robot de secours…). Un rapport (dizaine de pages) et une vidéo (décrivant le robot, sa
construction, ses algorithmes, sa philosophie…) devront être fournis 15 jours avant la compétition.
De plus, une courte présentation devra être faite pendant la compétition. Ces documents seront
publiés sur le site web de la WRSC et sur YouTube après la compétition. Leur qualité sera notée (100
points max).
1) Epreuve de station
Aller de manière autonome dans le carré MNOP (de 50 m de côté), rester au milieu pendant 5
min et le quitter. Les concurrents pourront choisir le point de départ, qui sera en dehors du carré. Le
robot sera considéré régulé au milieu du carré 5 min après le début de la tentative. Le robot devra
être en dehors du carré max 15 min après le début de la tentative. Aucun point ne sera attribué si le
robot n’entre jamais dans le carré ou n’est pas en dehors à la fin de la tentative. Le fichier log du GPS
tracker sera utilisé pour calculer de manière automatique le temps passé dans le carré ainsi que
l'écart maximum et l'écart moyen au centre entre la 5ème et 10ème minute après le début de la
tentative, et vérifier les conditions de validation. Les points seront attribués selon cette formule :
max(30,6*nb_min_inside_square)+max(20,500/max_dist)+max(50,250/avg_dist). Des bouées seront
installées pour indiquer visuellement la position du carré, mais elles ne seront pas utilisées pour
l'attribution des points.
Page 7
Projet RASV
2) Epreuve de précision
Effectuer de manière autonome un triangle JKL (de 50 m de côté pour catégorie MV, 200 pour
les autres). Les concurrents pourront choisir le point de départ mais le triangle devra être fait dans
l'ordre JKLJ. Le triangle sera considéré comme commencé lorsque le robot aura franchi la
perpendiculaire à JK en J et fini lorsque la perpendiculaire à LJ en J aura été franchie. Aucun point ne
sera attribué si la première perpendiculaire n’est jamais franchie ou la dernière perpendiculaire n’est
pas franchie 50 min (25 min pour catégorie MV) après la première perpendiculaire. Le fichier log du
GPS tracker sera utilisé pour calculer de manière automatique l'écart maximum et l'écart moyen au
triangle, et vérifier les conditions de validation. Les points seront attribués selon cette formule :
max(50,50/ecartmax)+max(50,50/ecartmoy). Des bouées seront installées pour indiquer
visuellement la position du triangle, mais elles ne seront pas utilisées pour l'attribution des points.
Durée max d’une tentative : 50 min (25 min pour catégorie MV)
Points max : 100
MV+V+M
Parcourir de manière autonome le plus vite possible une distance de 400 m (100 m pour
catégorie MV). Tous les robots partiront en même temps depuis une ligne de départ AB et devront
dépasser une ligne d'arrivée CD (lignes de 400 m (100 m pour catégorie MV) de large, le tout formant
un carré ABCD de 400 m (100 m pour catégorie MV) de large). Aucun point ne sera attribué si la ligne
d'arrivée CD n'est pas franchie 30 min après le départ. Le fichier log du GPS tracker sera utilisé pour
calculer de manière automatique la vitesse max et moy, et vérifier les conditions de validation. Les
points seront attribués selon cette formule : max(50,vmax)+max(50,vmoy), v en m/s. Ces points
seront ajustés pour prendre en compte les différences de taille des voiliers avec la formule :
multiplication par sqrt(overall hull length) (pour les microvoiliers et voiliers). Des bouées seront
installées pour indiquer visuellement la position des lignes, mais elles ne seront pas utilisées pour
l'attribution des points.
Page 8
Projet RASV
Naviguer de manière autonome dans un carré DEFG de 200 m de côté et en sortir lorsqu'un
bateau perturbateur rentre dans le carré. Les concurrents pourront choisir le point de départ, qui
devra être dans le carré. Le bateau perturbateur gardera un cap et une vitesse constants pendant son
passage dans le carré, qui se fera dans les 45 min après le début de la tentative. Le bateau
perturbateur (probablement un zodiac) sera visible au radar et diffusera par Wifi, XBee ses position,
cap, vitesse (les concurrents pourront utiliser leur propre boitier émetteur). Aucun point ne sera
attribué si le robot s'approche à moins de 5 m du bateau perturbateur, si le robot sort avant que le
bateau perturbateur ne rentre dans le carré ou si le robot n'est pas sorti 15 min après l'entrée du
bateau perturbateur dans le carré. Les fichiers logs du GPS tracker du bateau perturbateur et du
robot seront utilisés pour vérifier de manière automatique ces conditions. Des bouées seront
installées pour indiquer visuellement la position du carré, mais elles ne seront pas utilisées pour
l'attribution des points.
Faire des aller-retour autonomes sur 400 m (100 m pour catégorie MV) depuis une ligne de
départ HC et jusqu'à une ligne d'arrivée IB (lignes de 50 m (20 m pour catégorie MV) de large, le tout
formant un rectangle HIBC de 400 m * 50 m (100 m * 20 m pour catégorie MV)) en évitant un grand
obstacle immobile (probablement 5 zodiacs à l'arrêt mis bout à bout, de couleur distincte
(probablement orange, rouge ou jaune) des autres bateaux (mais les 5 auront la même couleur),
visible au radar mais n'émettant aucune information particulière). Le grand obstacle sera placé après
le départ du robot et en travers de sa route, à au moins 50 m (20 m pour catégorie MV) en face du
robot et 50 m (20 m pour catégorie MV) avant la ligne d'arrivée. Aucun point ne sera attribué si le
robot s'approche à moins de 5 m du grand obstacle, si la ligne d'arrivée IB n'est pas franchie au moins
1 fois 45 min après le départ ou si le robot sort du rectangle HIBC avant que le grand obstacle ait
commencé à y rentrer. Les fichiers logs du GPS tracker du grand obstacle et du robot seront utilisés
pour vérifier de manière automatique ces conditions. Des bouées seront installées pour indiquer
visuellement la position des lignes, mais elles ne seront pas utilisées pour l'attribution des points.
Page 9
Projet RASV
9) Epreuve de suivi
Un 1er robot tracte de manière autonome un 2ème robot sur au moins 100 m puis lâche le
2ème robot et s’arrête. Le 2ème robot démarre et parcourt ensuite au moins 100 m
supplémentaires, le tout en moins de 45 min. 30 points si le 1er robot réussit à tracter le 2ème robot
sur 100 m, 30 points si les robots parviennent à se séparer sans entrer en collision par la suite, 40
points si le 2ème robot parcourt les 100 m supplémentaires. Les points seront multipliés par 2 si l’un
des robots est un voilier. Les points seront multipliés par 3 si l’un des robots est un microvoilier. Le
2ème robot sera considéré comme correctement tracté s’il reste à moins de 10 m du 1er robot. Ils
seront considérés comme séparés dès que cette distance sera dépassée. Les fichiers logs des GPS
trackers des 2 robots seront utilisés pour vérifier de manière automatique ces conditions. Comme
cette épreuve met en jeu 2 robots, tous les points gagnés seront donnés à chaque robot.
Faire de manière autonome un quadrillage d'une zone (mesures) de 500 m de côté ou un autre
type de parcours pendant au moins 8 h, (2 h pour catégorie M). Tous les concurrents seront lancés en
même temps. Mesures possibles : divers paramètres de l'eau (température, salinité, oxygène,
chlorophylle, profondeur, qualité, vagues...), de l'air (vitesse, angle du vent, température...), sons,
images vidéo, sonar, radar, lidar…, estimation de l'énergie consommée, des forces et couples sur les
actionneurs… Les concurrents devront annoncer à l’avance le trajet et les mesures effectuées pour
pouvoir obtenir des points. 300 points seront attribués par les juges. Les critères permettant de
classer les concurrents seront les suivants : qualité de couverture de zone (ex : surface max couverte
(en supposant 10 m autour du bateau couvert pour 1 point GPS chaque s)), qualité des mesures,
nombre et nature des éventuelles interventions physiques ou à distance en cours de route…
Page 10
Projet RASV
Les participants devront utiliser le voilier autonome VAIMOS pour effectuer un trajet passant
par des points GPS prédéfinis (et avec une précision prédéfinie) dont l’ordre de passage peut être
choisi (http://en.wikipedia.org/wiki/Travelling_salesman_problem). Les points GPS seront les mêmes
pour tous les participants et seront communiqués au début de la compétition (trajet de moins de 2h
en conditions normales). Un manuel expliquant le fonctionnement de VAIMOS sera fourni (comment
rentrer une route dans VAIMOS, paramètres réglables…). L’idée de cette épreuve est de faire
réfléchir les participants sur une route optimale compte tenu des conditions de vent et des
caractéristiques aussi bien physiques qu’algorithmiques d’un voilier autonome. Les logs de VAIMOS
seront utilisés pour valider le passage des points et calculer le temps de parcours. Un classement des
équipes ayant réalisé le meilleur temps sera établi et un prix spécial sera remis pour les gagnants de
cette épreuve.
Page 11
Projet RASV
3) L’organisation
02.09.2013 : Premières conférences et installation des équipes, remontage des robots, visite
de l'ENSTA Bretagne le soir+buffet/repas/barbecue de bienvenue.
03.09.2013 : Suite éventuelle des conférences, début des épreuves au Moulin-Blanc.
o 14h00 – 15h30 : Epreuve de vitesse en vent arrière
04.09.2013 : Epreuves au Moulin-Blanc.
o 17h00 – 18h00 : Epreuve de vitesse face au vent
05.09.2013 : Epreuves au Moulin-Blanc.
o 16h00 – 17h00 : Epreuve de vitesse en vent de travers
o 17h00 – 18h00 : Epreuve de formation en meute
06.09.2013 : Epreuve d’endurance et présentations, démos de robots invités (voilier
autonome VAIMOS de l'Ifremer, ASV MOBESENS de l'Ifremer, ASV GESMA, ASV OCARINA LATMOS…)
et soirée de remise des prix avec buffet (Oceanopolis ?).
Prix
Des prix seront remis sur la base des points gagnés par chaque robot pour les 3 catégories
(catégorie Microvoiliers, catégorie Voiliers et catégorie Bateaux à moteurs), chaque catégorie divisée
en un classement pour les équipes étudiantes et un classement pour les équipes libres :
Microvoilier étudiant
Voilier étudiant
Bateau à moteur étudiant
Microvoilier libre
Voilier libre
Bateau à moteur libre
Des prix spéciaux seront aussi attribués (e.g. Meilleur MicroMagic, Meilleur SailBot, Meilleur Bateau
à Essence, Meilleur Bateau Electrique, Robot le plus Innovant, MeilleurePremière Participation…).
(Lebars [2012])
Page 12
Projet RASV
Remporter la WRSC organisée par les écoles en réalisant deux engins de surface autonomes :
un voilier et un bateau à moteur capables de faire du traitement d’image en temps réel.
Contexte
Page 13
Projet RASV
Services et contraintes
Voilier Hydroglisseur
• Se déplacer seul selon des consignes • Se déplacer seul selon des consignes
données (cap à suivre et/ou but à atteindre données (cap à suivre et/ou but à atteindre
et/ou zone à éviter) au moyen d'une propulsion et/ou zone à éviter) au moyen de deux
vélique. propulseurs.
• Se déplacer selon les ordres d’un pilote déporté à terre, ou sur un navire suiveur à portée
d’une liaison sans fil (Wi-Fi, Xbee, radio,…).
• Supporter des états de mer élevés : les caractéristiques essentielles sont d’être
insubmersible et que le gréement sorte indemne de ces coups de vents.
• Transmettre des informations concernant son état (position, cap, vitesse, alimentation
électrique,…) et ce, indépendamment de sa position : de par l’informatique embarquée, le bateau
sera capable de prendre les décisions nécessaires pour suivre une route et atteindre un objectif.
Toutefois un retour d’information régulier sur son comportement doit pouvoir être reçu sur un
équipement à terre.
• Recevoir des commandes de contrôle et gestion des équipements de bord : selon les
informations reçues en provenance du bateau ou selon le contexte de la course, certaines actions
peuvent être nécessaires (changement de route, arrêt/démarrage de capteurs, changement de
configuration, demande de réémission de données,…). Cependant, la sécurité du navire ne doit pas
être mise en cause : pas de redémarrage des organes qui entrainerait une perte définitive de
communication ainsi qu’un comportement imprévisible.
• Etre capable d’interagir avec le milieu extérieur, c’est-à-dire pouvoir gérer un obstacle
inconnu (qui n’envoie pas de données sur sa position, sa vitesse, sa taille …), gérer une cible connue
(qui envoie des informations sur sa position, sa vitesse, sa taille, …). Enfin, il faut pouvoir gérer le
remorquage : l’un des deux bateaux doit être en mesure de remorquer l’autre.
• Capable de détecter les obstacles à l’aide de sa caméra embarquée et de suivre une cible
mouvante
• Participer à la WRSC qui a lieu en septembre 2013 à Brest : les bateaux devront en effet être
prêts pour débuter la compétition et porter haut les couleurs de l’école.
Page 14
Projet RASV
Bête à cornes
Page 15
Projet RASV
Page 16
Projet RASV
Page 17
Projet RASV
Page 18
Projet RASV
Diagramme FAST
Fonction Solutions
principale technologiques
Connaître sa position et sa
vitesse GPS
FP_1:
Naviguer en autonomie sur Obtenir les coordonnées de
un plan d'eau Calculer le cap théorique géolocalisation du point Liaison Wi-F, Xbee...
d'arrivée
Page 19
Projet RASV
Page 20
Projet RASV
Page 21
Projet RASV
Analyse Fonctionnelle
Page 22
Projet RASV
Page 23
Projet RASV
2) Validation fonctionnelle
Les différents scénarii correspondant aux épreuves imposées par la WRSC, la validation
fonctionnelle revient à vérifier le bon fonctionnement des trois fonctions principales qui sont
ressorties de notre analyse fonctionnelle. Celles-ci garantiront ainsi le bon déroulement des scénarii
auxquels nous aurons à faire face lors de la compétition.
Les résultats permettant de considérer les tests comme concluants figurent en gras.
Le voilier/hydroglisseur devra être capable d’atteindre un point B(xb, yb), dont les coordonnées
seront fournies par l’utilisateur, à partir d’un point de départ A(xa, ya).
Hydroglisseur :
En ce qui concerne l’hydroglisseur, un tel trajet devra bien évidemment être effectué en ligne
droite, le recueil des données GPS devant permettre de s’en assurer.
Le résultat sera considéré comme concluant si l’erreur par rapport au point d’arrivée
théorique est inférieure à 7-8 mètres et également que la trajectoire est proche de la ligne droite.
Voilier :
Page 24
Projet RASV
Après avoir correctement positionné le voilier vis-à-vis de la direction du vent, il faudra ici
s’assurer que la trajectoire du voilier est proche d’une ligne droite en étant tout de même plus
tolérant qu’avec l’hydroglisseur.
Louvoyage :
Le sens du vent étant ici opposé à la direction que l’on souhaite suivre, il faudra dans ce cas
optimiser le nombre de virements de bord pour atteindre l’objectif souhaité, la trajectoire ne
pouvant être rectiligne (cf. schéma), dans le but de rejoindre le point B le plus rapidement possible.
Ces procédures de tests devraient à priori s’avérer concluantes puisque le voilier utilisé ici sera le
VAIMOS, déjà opérationnel et disposant de l’ensemble des algorithmes nécessaires à une navigation
efficace.
Via l’acquisition temps réel des données GPS et stockage dans un fichier texte, nous serons
capables de visualiser la trajectoire du voilier et ainsi de vérifier son comportement.
Concernant la précision, nous tolèrerons une erreur de 10 mètres par rapport au point
d’arrivée demandé.
Via la caméra embarquée, l’hydroglisseur devra être capable de suivre une cible en
mouvement (bouée rouge tractée d’un diamètre d’environ 1m) en conservant une distance vis-à-vis
de celle-ci inférieure à 10 mètres tout en évitant la collision. Des sorties ont été réalisées au lac de
Bourg-Blanc afin de tester la bonne exécution de l’algorithme de suivi de cible.
Nous disposerons d’un zodiac en mouvement et équipé d’une balise AIS qui transmettra
continuellement ses coordonnées via WiFi et Xbee. Notre robot sera également en mouvement.
Premièrement, le voilier/hydroglisseur devra être capable de récupérer de telles données pour
localiser l’obstacle. Ensuite, le véhicule devra régulièrement calculer sa distance par rapport à cet
obstacle.
Le système émettant ces informations n’a cependant pas encore été créé, nous ne pourrons
donc effectuer les tests de validation concernant cet aspect avant la fin du projet.
L’objectif que nous nous étions initialement fixés était que le bateau soit continuellement à
plus de 5 mètres de l’obstacle.
Page 25
Projet RASV
Gestion du remorquage :
Cependant, par manque important de temps, nous avons préféré nous concentrer sur la
réalisation des fonctions essentielles (déplacement, suivi/évitement) de l’hydroglisseur afin de
répondre aux exigences fixées, notamment en termes de navigation. La réalisation et l’implantation
de la pince dans le système ne seront donc pas effectuées et par conséquent non sujettes à une
phase de validation.
De plus, le fait d’opter pour le VAIMOS et un nouveau type d’hydroglisseur rendent notre
stratégie caduque au vu des dimensions et de la constitution des deux véhicules. En effet, il paraît
assez utopique d’obtenir un remorquage efficace et optimisé étant données leurs caractéristiques
respectives.
Commande manuelle du véhicule : Pour le voilier VAIMOS, ici aussi la commande est déjà
effective, comme expliqué dans le rapport de PFE de notre encadrant Olivier Ménage. Il est donc
possible de piloter manuellement le VAIMOS en utilisant un clavier d’ordinateur à terre ou une
télécommande de modélisme (après calibrage).
En ce qui concerne l’hydroglisseur, après avoir opté dans un premier temps pour une
interface graphique minimaliste permettant un contrôle en temps réel de celui-ci en cliquant sur des
boutons, nous avons finalement estimé qu’il serait plus simple de le commander directement au
clavier. Ainsi, une commande réactive et précise en temps réel est attendue. Nous pourrons donc
valider le bon fonctionnement de cette commande à l’œil mais également grâce au flux vidéo
renvoyé en temps réel par la caméra présente sur l’hydroglisseur. Les sorties au lac de Bourg-Blanc
ont également été réalisées dans le but de vérifier le bon comportement de l’hydroglisseur.
De façon générale, nous étant vus confié le VAIMOS, nous ne ferons que supposer que
l’ensemble des tests se rapportant à des fonctions déjà opérationnelles chez celui-ci est supposé
valide, puisque nous n’effectuerons finalement pas de sortie en mer afin de les tester. Le rapport de
PFE de Mr Ménage et le succès des missions effectuées par le VAIMOS nous confortent cependant
dans cette hypothèse. Cependant, il nous sera impossible d’évaluer, pour les mêmes raisons, les
parties de code adaptées au VAIMOS et relatives à la réalisation des épreuves.
Page 26
Projet RASV
En termes de coûts, nous devons tout d’abord considérer les commandes passées en fin de
projet et destinées à rendre notre hydroglisseur fonctionnel. Celles-ci comprenaient notamment
l’achat d’un hydrojet, un inverseur de flux, 8 soufflets pour la partie purement mécanique de
l’hydroglisseur et 4 batteries pour assurer une autonomie correcte. Nous avons également dû
recourir à l’achat de deux nouveaux moteurs suite à la dégradation important qu’avaient subis les
moteurs initiaux après la première demi-journée de tests.
Du matériel électronique a également été commandé par Mr Le Bars au cours du projet, afin de
pouvoir établir le système complet, et rentrant dans le cadre d’un réapprovisionnement du
laboratoire robotique. Etant donnés les délais de livraison du matériel et l’assemblage sur le nouvel
hydroglisseur, nous n’aurons le temps d’effectuer qu’un nombre réduit de tests. Ceux-ci seront
réalisés dans la cuve du bâtiment M pour une première approche (hydroglisseur de test en mousse),
puis au lac de Bourg-Blanc pour les tests du vrai hydroglisseur en conditions réelles. Ils occuperont en
moyenne une demi-journée, le temps de sortir le matériel, de le préparer, de le mettre à l’eau,
d’effectuer les tests et d’appliquer les corrections nécessaires.
Page 27
Projet RASV
3) Etat de l’art
a. Premiers exemples
RelationShip
Atlantis
Le projet Atlantis de l'Université de Stanford a commencé en 1997 avec le concept d'un voilier
muni d’une aile rigide, sans pilote, autonome, guidé par GPS. Le bateau est basé sur un catamaran
Prindle-19, avec un ajustement automatique de l’aile-voile (Figure 3). Le voyage inaugural a eu lieu à
Redwood City Harbour en Janvier 2001. (Elkaim [2002, 2006])
Page 28
Projet RASV
Microtransat
La recherche sur la voile autonome a été récemment stimulée par l'idée d'Yves Brière (ISAE,
France) et Mark Neal (Université d'Aberystwyth, Pays de Galles, Royaume-Uni) (Brière [2008]; Brière
et al [2005].) d’une Microtransat. Les organisateurs décrivent la Microtransat sur leur site Web
comme suit : « Le défi Microtransat est une course transatlantique de voiliers entièrement
autonomes. La course a pour but de stimuler le développement de voiliers autonomes à travers une
compétition amicale. » (Microtransat [2011]). Les voiliers participants doivent être de petite taille
(max. 4 m de longueur), sans pilote, et utiliser le vent comme seule force de propulsion. La
compétition Microtransat a parfois eu lieu avant la vraie course transatlantique. Les participants ont
alors pu échanger des idées et tester leurs bateaux dans des environnements moins sévères. La
première course Microtransat a eu lieu sur un lac à Saint Nicolas de la Grave, près de Toulouse, en
France, en Juin 2006. Au total, trois équipes ont participé avec leurs robots à voile et ont parcouru
environ 2 km, sans intervention humaine. Le prototype Roboat I était le seul bateau qui a terminé la
course avec succès.
Page 29
Projet RASV
SailBot
1. Course
2. Maintien de cap
3. Concours d'endurance
4. Navigation autonome
5. Présentation et design
Page 30
Projet RASV
Cette section donne un aperçu des équipes qui ont participé au cours des dernières compétitions
de voile robotique et couvertes par la littérature scientifique. Beaucoup d'entre eux ont été
encouragés par ces événements pour lancer la recherche dans le domaine de la navigation
autonome. La figure 4 montre le nombre croissant de bateaux participant aux compétitions de voile
autonomes depuis leur invention en 2006. Les équipes sont présentées ici par ordre alphabétique.
Des illustrations des robots voiliers sont consultables dans l’annexe.
Le concepteur a formé son équipe de recherche en voile robotique dans le cadre de l’INNOC.
Cette équipe se concentre sur des algorithmes de contrôle plutôt que sur la conception des bateaux.
Jusqu'à présent, les deux coques disponibles dans le commerce ont été adaptées à des fins de
navigation autonome.
Roboat I (figure 9) est basé sur un modèle de yacht ready-made de type Robbe Atlantis
destiné à être contrôlé à distance. Il possède une longueur totale de 1,38 m et pèse 17,5 kg. Roboat I
a gagné le concours Microtransat en 2006.
La coque utilisée pour l’ASV Roboat (figure 20) est un type de bateau disponible dans le
commerce Laerling3. Il possède une longueur de 3,72 m et 60 kg, comprend une quille lestée et une
surface de voilure totale de 4,05 m2. ASV Roboat a remporté en 2007 la Microtransat ainsi qu’au
WRSC en 2008, 2009, et en 2010.
Page 31
Projet RASV
Une équipe de l'ENSTA Bretagne a participé avec son bateau Breizh Spirit (Figure 8) en 2009 à
la WRSC. Leur conception utilise une coque construite sur mesure basée sur la classe IMOCA d’une
longueur de 1,3 m et équipée deux voiles traditionnelles. Le système de contrôle est mis en œuvre
sur un microcontrôleur PIC18F2550. (Sliwka et al. [2009])
A l’initiative d’un de ses étudiants alors en projet de fin d’étude, VAIMOS (Voilier Autonome
Instrumenté de Mesures Océanographiques de Surface) (figure 22) voit le jour en 2011 en
partenariat avec l’IFREMER (Institut Français de Recherche pour l'Exploitation de la Mer). Il utilise
une coque de la classe miniJ de 3.65 m (données constructeur) et un gréement sloop fait sur mesure.
VAIMOS est un outil scientifique conçu pour des expéditions de longue haleine en pleine mer et n’a
participé à aucune compétition. (Menage O., [2011])
L’iBoat de l'ISAE, France (figure 16) est fait de fibre de verre et de carbone et est donc
relativement léger. IBoat a une longueur de 2,04 m et une hauteur de 3 m. Il dispose d'1,05 m2 de
surface de voile avec une combinaison de deux voiles (grand-voile et foc) montées sur une plate-
forme équilibrée. Les capteurs utilisés sont une boussole électronique, un capteur de vent (vitesse et
direction) et un récepteur GPS. Les capteurs sont reliés à un microcontrôleur via CAN bus (Briere
[2006]). IBoat a participé à la Microtransat 2006 et 2007 ainsi qu’à la WRSC de 2009.
Queen's University
Mostly Autonomous Sailboat Team (MAST) a été fondée en 2004 à la Queen’s University.
Leur premier navire entrant en compétition à la SailBot de 2007 a été Black Adder (figure 12),
mesurant 2 m et équipé d’une longue coque en fibre de carbone avec des voiles traditionnelles.
Depuis 2007, l'équipe d'étudiants de premier cycle a apporté des modifications importantes à leur
première conception et participé au Défi Microtransat en 2007, à la WRSC en 2008 et 2010 ainsi que
SailBot en 2008, 2009 et 2010. (Burnie [2010])
Avalon (figure 21) a été développé par une équipe d'étudiants de l'Institut fédéral de
technologie de Zurich pour relever le défi de la Microtransat et a participé à l'édition 2009 de la
WRSC. Avalon dispose d'un design monocoque d'une longueur de 3,95 m, une plate-forme et d'un
système de double gouvernail, et est alimenté par quatre panneaux solaires de 90 W chacun, quatre
batteries lithium-manganèse de 600 W chacune et d'une cellule methanol/fuel pour l’alimentation
de secours. Le système de contrôle est mis en œuvre sur un ordinateur industriel MPC213
fonctionnant sous Linux. (Giger et al. [2009])
Intuition a été développé par la United States Coast Guard Academy et a participé à SailBot et
à la WRSC en 2010. Le bateau de l’USCGA de conception monocoque de 2 m dispose d'un gréement
sloop classique avec une surface de voile de 1,7 m2. Le système de contrôle est mis en œuvre sur un
ordinateur ISIS PC104 fonctionnant sous Windows XP et MATLAB. (Burnie [2010])
Page 32
Projet RASV
L’USNA a commencé ses activités en 2007. Ils ont participé avec leur bateau First Time (figure
13) à SailBot en 2008.
En 2009, ils font entrer Luce Canon (figure 15) dans les compétitions SailBot et WRSC.
En 2010, ils ont participé avec le bateau Gil the Boat (figure 14) à SailBot et à la WRSC.
L'équipe d’étudiants de premier cycle comprenant des architectes navals et des ingénieurs systèmes
conçoit et fabrique de nouveaux voiliers chaque année tout en améliorant continuellement les
bateaux des années précédentes. Leur conception utilise une coque unique construite sur mesure
d'une longueur de 2 m et un gréement sloop classique avec une surface de voilure d'environ 3 m2.
(Miller et al. [2009, 2010])
Université d'Aberystwyth
L'équipe qui travaille avec Mark Neal et Colin Sauzé construit de multiples robots voiliers
dont la longueur varie entre 50 cm et 3,05m dans le but d'effectuer des missions autonomes à long
terme pour la surveillance océanographique.
Aroo (figure 10) a été construit à la fin 2004 comme une preuve d’un concept pour un petit
robot voilier durable. La coque est d'environ 1,5 m de long et est gréé avec une voile de 1 m à aile
haute (Neal [2006]).
L’ARC (figure 11) est d'environ 1,5 m de longueur et dispose de deux voiles ailées
commandées indépendamment et deux safrans commandés par un seul actionneur. Il est équipé
d'un compas à cardan, un récepteur GPS et une combinaison d'un microcontrôleur Au-Mega128 et
d’un ordinateur Gumstix5 fonctionnant sous Linux. La seule source d'énergie est une banque de 20
piles de type AA rechargeables de 1,2V avec une capacité de 2500 mA chacune. (Sauzé & Neal
[2008])
Beagle-B (figure 19) est leur plus grand bateau et a été construit fin 2006 par Robosoft (une
entreprise française de robotique). Il mesure 3,5 m de long et utilise une voile de type aile rigide de 3
m. Beagle-B est destiné à fournir une plate-forme sérieuse pour les missions océanographiques de
longue durée. Son alimentation est assurée par deux panneaux solaires de 15 W et quatre batteries
60 A de 12 V. Il comprend une sonde YSI 660 pour recueillir des données océanographiques ainsi
qu'un émetteur-récepteur et un modem GSM Iridium SBD pour la transmission de données. Beagle-B
a participé au Défi Microtransat de 2007, dans lequel il a navigué un total de 25 km sur 19 heures.
(Sauzé & Neal [2008])
Pinta (figure 18) a été construit pour la WRSC de 2008 et la course Microtransatlantic.
Contrairement aux autres bateaux de l'équipe il utilise une seule voile traditionnelle contrôlée par un
système de treuil électrique. Pinta est basé sur un dériveur Toper Taz avec une voile d'une longueur
de 2,95 m. Pinta était le seul bateau à entrer en compétition dans le Challenge 2010 de la
Microtransat.
Le Moop (Mini Plate-forme d’observation de l'océan; la figure 6) est un robot à voile légère
avec une longueur totale de 0,72 m. De multiples Moop ont été construits à ce jour avec la
Page 33
Projet RASV
configuration de voile simple ou aile double, à la fois avec les safrans et sans gouvernail. Ils sont
commandés soit par un microcontrôleur PIC seulement, soit par une combinaison d'un PIC et d’un
ordinateur à carte unique Gumstix. Plusieurs Moop prennent part aux compétitions SailBot et WRSC
en 2009 et 2010. (Burnie [2010])
Université de Lübeck
L'Université de Lübeck a commencé ses activités de voile autonome en 2009. Elle a participé
à la Sailbot et à la WRSC en 2010 avec deux bateaux.
Däumling (figure 5) conçu par un Club de l'Université (Graupner, Allemagne) est un bateau
d'une longueur de 0,53 m possédant deux voiles d'une superficie totale de 0,145 m2. Il est destiné à
être utilisé comme banc d'essai pour les différentes méthodes de l'intelligence artificielle. (Bruder et
al. [2009])
Pi-mal-Daumen (figure 7) est basé sur une norme OIM (classe internationale d'un mètre)
assis sur une coque d'une longueur de 1 m et monté de deux voiles avec une surface de voilure totale
de 0,4 m2. Le tableau de commande est assuré par un circuit construit sur mesure avec un
microprocesseur ATMEGA2560. (Ammann et al. [2010])
Université de Porto
L’équipe FASt (figure 17) a mis au point une longue coque de 2,05 m construite sur mesure
coiffée d’une surface de voilure totale de 3,7 m2. Le design a été inspiré par les bateaux modernes de
course au large. Le système de contrôle est mis en œuvre sur une petite base munie d’un FPGA,
ordinateur de bord unique, comprenant un microprocesseur RISC 32 bits cadencé à 50 MHz. Une
communication avec le bateau est possible en utilisant le Wi-Fi, GSM ou un Iridium SBD et un
récepteur classique RC utilisé pour les radiocommandes de modèles réduits. FASt a participé en 2008
à la WRSC et en 2009. (Stelzer [2010])
Page 34
Projet RASV
Page 35
Projet RASV
Figure 22 Figure 23
Page 36
Projet RASV
Nous avons réalisé un programme prévisionnel à l’aide d’un diagramme de Gantt, afin d’être
en mesure de modéliser la planification des tâches nécessaires à la réalisation, en temps et en heure,
du projet.
Page 37
Projet RASV
● Fonctions du système
● Livrables :
■ Comptes-rendus de l’équipe projet
Page 38
Projet RASV
Page 39
Projet RASV
Cependant, suite à la rencontre avec notre consultant de l’Ifremer Olivier Ménage et notre
encadrant Fabrice Le Bars, notre projet a pris une nouvelle tournure, puisque nous avons appris que
nous aurions également à charge la création d’un bateau à moteur. En effet, la compétition étant
organisée par l’école, la décision fût prise de rajouter une nouvelle catégorie de bateau lors de la
WRSC, à savoir les bateaux à moteur (hydroglisseur). Ces bateaux n’ayant pas de problèmes de
navigation liés au vent, ils doivent, en contrepartie, être capables d’éviter tous les autres bateaux et
obstacles et d’en suivre un autre, à l’aide, entre autres, d’une caméra. La conception des parties
mécaniques de ces deux bateaux devait être assurée par Mr.Ménage.
La coque du voilier est une coque de 2,60m de long pour 30 cm de large et pèse environ 25
kilos. Elle a été réalisée par Mr.Ménage à l’Ifremer. Cependant, il ne lui a pas été possible de
terminer la partie mécanique du voilier par manque de temps. Par conséquent, il a été décidé par
nos encadrants que nous nous servirions du VAIMOS, en adaptant nos codes, pour concourir dans la
catégorie voilier, ce qui a évidemment solutionné le problème de la conception mécanique du voilier.
Quant à l’hydroglisseur, après avoir attendu un long moment son arrivée, et implanté en
attendant notre système sur un drone en mousse afin d’effectuer divers tests, il a finalement été
décidé que nous utiliserions un modèle réduit de l’Azimut CHALLENGER du groupe Graupner.
Mr.Ménage puis Mr.Rousseaux nous ont permis de remettre l’hydroglisseur à neuf, en réparant puis
effectuant le montage mécanique complet, suite à l’achat de nouvelles pièces. Il mesure environ
1,20m de long pour 30 cm de large.
Page 40
Projet RASV
2) Réalisation de l’électronique
Au cours de la phase d’avant-projet, nous nous sommes consacrés à toute la partie ingénierie
système, à la gestion de projet mais aussi au choix des composants électroniques de nos deux
bateaux afin de pouvoir élaborer l’architecture logique des deux bateaux. Nous avions commencé la
mise en relation et l’implémentation de ces éléments en fin de première phase, et les avons
approfondies lors de la phase de réalisation.
Il y avait en revanche un choix à faire en ce qui concerne la connexion du GPS, des cartes de
commande et de la centrale inertielle : utiliser une carte LabJack ou une carte SSC-32. Dans un
premier temps, nous étions tentés par les cartes LabJack car nous en avions à notre disposition et
nous avions trouvé de nombreux tutoriels en lien avec cette carte. Mais, après des tentatives de tests
et sur les conseils de Mr. Ménage, nous avons décidé de modifier légèrement l’architecture de notre
système, afin de s’affranchir de l’utilisation des cartes LabJack (notices et tutoriels basiques
compliqués à trouver). Dans l’idée, nous permuterons simplement les emplacements du groupe «
moteurs » et du GPS, et nous n’utiliserons que le convertisseur USB-série ainsi qu’une carte SSC-32
pour recueillir les données du GPS, de la centrale, et actionner les moteurs.
Page 41
Projet RASV
Page 42
Projet RASV
Page 43
Projet RASV
Page 44
Projet RASV
Page 45
Projet RASV
Page 46
Projet RASV
Page 47
Projet RASV
Même si nos architectures physique et logique étaient correctes et validées par notre
consultant en ingénierie système, l’absence de la partie mécanique du voilier et la date butoir se
rapprochant a décidé nos encadrants à nous faire utiliser le VAIMOS en tant que voilier pour notre
projet. L’ensemble des nouvelles architectures existe donc déjà, et est disponible dans le rapport de
PFE de Mr.Ménage. Il reste cependant à implémenter certains scripts dans le code de VAIMOS et le
tester afin qu’il soit opérationnel lors de la WRSC.
a. La technologie Wifi
Cette technologie est utilisée aussi bien sur
l’hydroglisseur que sur le bateau. Pour le premier, elle doit
permettre de contrôler le Eee PC à distance. Pour le second,
elle lui est utile afin de communiquer toutes ses données de
navigation comme sa position GPS, sa vitesse, son cap, la
force du vent…
1. Aller dans Panneau de Configuration > Centre de Réseau et Partage > Connexions locales
2. Dans Statut de la connexion > Onglet Général, cliquer sur Propriétés
3. Dans l’onglet général, sélectionner Internet Protocol (TCP/IP) et cliquer sur Propriétés
4. Entrer votre adresse IP (par défaut, l’Ubiquiti a pour adresse 192.168.1.20 donc il faut entrer
une adresse différente comme 21) : ici doit être différent de 67 et 68
5. Entrer le masque réseau : 255.255.255.0
6. Entrer l’adresse IP de la passerelle : (par défaut : 192.168.1.20) : ici : 192.168.1.68
Page 48
Projet RASV
ii. Configuration des Ubiquiti pour faire un pont Wifi entre deux PC
Accès à la page de
PC1 PC2
configuration
Adresse http 192.168.1.67 192.168.1.68
Username ubnt
Password ubnt
b. La technologie Xbee
i. Objectif :
Le but de l’utilisation de modules Xbee dans le voilier autonome est de pouvoir programmer
la carte Arduino à distance. En effet, une fois le matériel embarqué dans le voilier et ce-dernier mis à
l’eau, il s’avère peu pratique d’ouvrir la boîte étanche contenant l’Arduino et de la brancher au PC
pour programmer la carte. L’intérêt du Xbee serait donc de s’affranchir des problèmes d’étanchéité
qui pourraient se produire en ouvrant les boîtes étanches mais aussi et surtout de pouvoir
programmer la carte à distance sans avoir à se brancher à la carte.
Page 49
Projet RASV
Pour établir une communication avec l’ordinateur, nous avons utilisé les différents éléments
ci-dessus. La communication en direct sans passer par une Arduino permet de configurer rapidement
le module Xbee. La communication entre l’ordianteur et le Xbee se fait via une liaison série
asynchrone. Le Xbee n’a donc besoin que de quatre fils : deux pour l'alimentation (la masse et le +),
un pour la réception et un pour l'émission. En effet le XBee permet de recevoir et d'émettre des
données en même temps, on dit qu'il est full duplex.
Afin de configurer les modules Xbee, il est conseillé d’utiliser le logiciel XTCU qui a été créé
par les développeurs de cette technologie et qui permet de régler les différents paramètres
(Identifiant du réseau, Channel de communication, mode de fonctionnement,…). Dans notre cas,
nous voulons réaliser une simple liaison RS232 sans fil donc nous allons configurer nos modules dans
le mode « peer to peer ». Les réglages sont alors les suivants :
PanID et Channel sont identiques pour les 2 Xbee
CE = 0 (Choix du mode « peer to peer »)
A1=1
A2=0
Pour mettre en place ces réglages, nous raccordons les Xbee au PC et dans un terminal (par
exemple celui de XTCU) et nous suivons les étapes suivantes :
Mise en mode configuration (+++ et AT)
ATND permet de récupérer les informations sur le module
ATCN permet de quitter le mode de configuration
Page 50
Projet RASV
Exemple de programme :
*/
#include <SoftwareSerial.h>
void setup() {
Serial.begin(57600);
Serial.println( "Arduino started sending bytes via XBee" );
void loop() {
// send character via XBee to other XBee connected to Mac
// via USB cable
xbee.print( c );
//--- get the next letter in the alphabet, and reset to ---
//--- 'A' once we have reached 'Z'.
c = c + 1;
if ( c>'Z' )
c = 'A';
Page 51
Projet RASV
c. La station météo
En s’inspirant des programmes existants du voilier autonome VAIMOS, nous devions créer un
code Arduino permettant de récupérer les données de navigation dont le voilier a besoin. Nous
utilisons la station météo WS-200 qui est fabriquée par FURUNO. Elle nous fournit toutes les
informations sur le temps et l’environnement où nous travaillons. Parmi ce flux de données, toutes
ne nous intéresse pas, il faut donc que notre programme fasse certains choix afin qu’il récupère
seulement le temps, la vitesse du vent, la direction du vent, la position (la longitude et l’attitude)
ainsi que le cap.
Afin d’organiser et clarifier la tâche à effectuer, nous avons divisé notre travail en trois étapes :
La configuration de la station météo
La communication entre la station et la carte Arduino UNO
La programmation de la carte Arduino UNO pour enregistrer les données de
navigation dans le bon format.
Premièrement, pour configurer la station météo, nous avons essayé de la configurer en utilisant
un logiciel qui lui est spécialement dédié. Mais, au vu du peu de succès que nous avions avec ce
logiciel, nous avons décidé d’utiliser l’HyperTerminal. Nous avons alors réussi à paramétrer la station
afin qu’elle nous envoie seulement les données utiles.
Ensuite, nous avons effectué de nombreux tests pour trouver un convertisseur simple qui nous
permettrait de récupérer le signal transmis en RS484 en un signal RS232, compatible avec l’Arduino
UNO. Mais au final, nous nous sommes procurés un shield Arduino qui s’appelle RS485 et qui a rendu
possible cette conversion ainsi que la transmission des données. Nous avons donc opté pour cette
solution et sommes passés à l’étape suivante.
Ainsi, nous avons créé un petit programme qui permet d’enregistrer dynamiquement les
données de navigation. Les données sont ensuite extraites dans le but de les afficher au bon format.
Page 52
Projet RASV
4) Avancement de l’hydroglisseur
a. Paramétrage et test des cartes de puissances et
propulseurs
Schéma du montage :
Page 53
Projet RASV
Comme nous avons pu le voir lors de la phase dédiée à l’architecture fonctionnelle, nous
procédons comme suit pour être en mesure de suivre une cible grâce à sa couleur :
Cependant, bien que le résultat se soit avéré concluant avec cette méthode, nous nous
sommes rendu compte que la librairie OpenCV, via la fonction GetMoments(), calculait le centre de
Page 54
Projet RASV
gravité des pixels colorés grâce à la moyenne, alors qu’une médiane serait bien plus robuste en
présence de valeurs extrèmes (pixels isolés apparaissant dans le champ de vision et n’appartenant
pas à la cible).
Ainsi, nous avons décidé de laisser de côté cette moyenne en programmant notre propre
algorithme de calcul du barycentre via cette médiane, comme en témoigne la portion de code ci-
dessous :
def imageProcess(im,hmin,hmax,smin,smax,vmin,vmax,width,height):
imghsv=cv.CreateImage(cv.GetSize(im),8,3)
# Conversion RGBHSV
cv.CvtColor(im,imghsv,cv.CV_BGR2HSV)
nbSelectedPixel=0
obji=0
objj=0
# Deux boucles pour parcourir les lignes et les colonnes de pixels de l’image
for i in range(height):
for j in range(width):
# Récupération du pixel
pixel=cv.Get2D(imghsv,i,j)
# Si le pixel répond aux critères de couleurs
if pixel[0]>=hmin and pixel[0]<=hmax and pixel[1]>=smin and pixel[1]<=smax and pixel[2]>=vmin and
pixel[2]<=vmax:
nbSelectedPixel=nbSelectedPixel+1
# On ajoute son abscisse et ordonné à notre variable
objj=objj+j
obji=obji+i
# On assigne la couleur rouge au pixel
cv.Set2D(imghsv,i,j,cv.Scalar(255,0,0))
else:
cv.Set2D(imghsv,i,j,cv.Scalar(0,0,0))
Ainsi nous sommes capable d’en déduire les coordonnées (x,y) du barycentre :
x= et y=
Page 55
Projet RASV
En revanche, le filtre gaussien, l’érosion et la dilatation ont dû être supprimés car la vitesse
de traitement d’images s’effondrait, ce qui altérait considérablement le comportement de notre
hydroglisseur.
Toutefois, cela n’est pas si dramatique puisque, comme nous l’avons dit précédemment, la
médiane est plus robuste que la moyenne.
Enfin, en raison de ces possibles pixels isolés, il est désormais nécessaire de fixer un seuil,
ratio entre le nombre de pixels de même couleur que l’objet et le nombre total de pixels (résolution).
Ainsi, si l’on se trouve au-dessus de ce seuil, on considérera que la cible est en vue et le suivi de cible
sera effectuer, et, le cas échéant, qu’elle ne l’est pas et le robot pivotera sur lui-même pour la
retrouver.
Quant à la distance, on est capable de calculer le rayon apparent de l’objet ainsi (méthode
empirique) :
Ensuite, pour en déduire la distance, la formule empirique suivante permet d’y parvenir :
Page 56
Projet RASV
ii. Régulation
Pour tester nos algorithmes de régulation, nous avons équipé un modèle char d’une caméra
et de notre servo-controleur SSC-32 pour être en mesure de traquer une cible.
Nous avons ainsi mis en place une simple commande proportionnelle, agissant
simultanément sur le cap et la distance, de la forme :
Une fois les coefficients réglés grâce à nos nombreux tests, le résultat c’est avéré très
concluant, ce qui nous a immédiatement amené à appliquer une telle régulation sur notre
hydroglisseur en mousse qui était disponible à l’école, à tort…
Page 57
Projet RASV
En effet, une fois notre robot à l’eau… le robot semblait faire tout et n’importe quoi, ce qui
nous a amené à remettre en question notre régulation. Sur les conseils de Fabrice LEBARS, nous
avons simplifié notre commande comme suit :
Avec et U=
Cependant, cela n’ayant pas réglé le problème, nous avons consulté Mr JAULIN, qui nous a
conseillé d’ajouter un terme dérivé à notre régulateur pour contrer le phénomène d’inertie de l’eau.
Ainsi, en tenant compte de l’inertie, nous aboutissons à la commande suivante, dont les tests
ont donné une entière satisfaction.
Avec et U=
Page 58
Projet RASV
Cependant, une fois n’est pas coutume, des modifications ont été apportées au projet,
entrainant ainsi un changement de bateau, dont la commande est légèrement différente puisque
qu’il ne s’agit plus d’un différentiel.
Ainsi, il n’est plus possible d’inverser le sens de rotation des hélices, le sens de
marche étant géré par des inverseurs de flux. De plus, pour la gestion du cap, un
servomoteur permet l’orientation du robot.
Page 59
Projet RASV
Ce programme est une application Python et utilise les fichiers de configuration suivante :
Waypoints.csv : fichier dans lequel sont entrés tous les Waypoints
Navpoints.csv : fichier dans lequel sont stockés la position et le cap du bateau à
chaque instant
Cette boucle s’exécute tant que l’utilisateur n’appuie sur aucune touche du clavier. Dès
l’appui sur une des touches de clavier, le programme termine la boucle, ferme le fichier dans lequel
sont enregistrées les données de navigation puis s’achève.
Page 60
Projet RASV
Pour tester le programme, nous avons créé une fonction getPosGPS2() qui renvoie une
position GPS calculée en fonction des commandes données au moteur. Toutefois, les coefficients
utilisés ne permettent pas de vérifier que l’algorithmie du programme fonctionne et des tests
grandeurs nature sont nécessaires.
Page 61
Projet RASV
Et après ?
Les tests en milieu naturel ont révélé que notre traitement d’images, bien que répondant à
nos attentes, montrait quelques limites en présence de conditions défavorables (contre-jour,…).
Ainsi, il pourrait s’avérer intéressant d’implémenter de nouveaux algorithmes plus robustes, basés
sur une estimation d’état, tels que le filtrage de Kalman Discret, Hidden Markov ou l’algorithme
CamShift, plus répandu, qui se base sur la couleur et la forme de l’objet pour en faire la détection.
Pour le calcul de notre erreur qui apparait dans le régulateur dérivé, nous utilisons le flux
optique. Ainsi, si une cible se meut trop rapidement et n’apparait plus à l’écran, cela devient
compliqué, d’où l’intérêt d’utiliser la boussole pour le calcul de cette erreur.
Pour que l’hydroglisseur soit fonctionnel en toutes circonstances, il pourrait être intéressant
de lui ajouter un terme intégral dans sa régulation pour compenser l’erreur statique (utile en cas de
mer agitée).
N’ayant procédé qu’à des simulations pour la navigation autonome, il serait souhaitable de
tester une telle fonctionnalité en condition réelle.
En ce qui concerne le voilier, seule la coque étant à disposition, une majeure partie du travail
reste à faire pour espérer le voir participer à une future compétition, bien que certaines
fonctionnalités électroniques et logicielles, telles que le traitement des données de la station météo,
soient opérationnelles.
Page 62
Projet RASV
Conclusion
La création d’un projet est constituée de deux phases, celle de conception et celle de
réalisation. Le premier semestre aura été pour nous l’opportunité d’effectuer la phase de conception
du projet RASV. Après nous être dans un premier temps largement documentés sur le sujet, par
l’intermédiaire de recherches externes et de discussions avec nos encadrants, nous avons entamé le
travail de réflexion autour du système que nous aurions à créer. Pour cela, nous avons consulté à de
nombreuses reprises MM. Ménage, Le Bars et Aizier, afin d’organiser au mieux les solutions
techniques que nous allions déployer, et d’en avoir une vue d’ensemble claire et exhaustive. De
nombreux documents ont été créés lors de cette étude, à savoir tous les documents traitant de
l’architecture logique et de l’analyse fonctionnelle de notre système. En termes de gestion, nous
avons également établi de façon hebdomadaire les parts de travail de chaque membre de l’équipe,
afin d’augmenter au maximum notre rendement.
Après cette phase de conception et d’organisation est venue la phase de réalisation. Les
premiers tests unitaires ont été un moyen efficace d’appréhender et de vérifier le bon
fonctionnement des systèmes que nous avions élaborés. Suite au bon déroulement de ces tests, nous
avons pu associer les parties logicielle et mécanique afin d’effectuer nos premiers tests de suivi de
cible à échelle réduite, avant de les effectuer à taille réelle sur le nouvel hydroglisseur. Après
quelques désagréments et ajustements, nous avons fini par aboutir à un résultat plutôt satisfaisant.
Nos tâches concernant le voilier consistaient essentiellement à mettre au point les divers
moyens de communication dont il serait équipé, l’essentiel du code régissant la navigation étant à
reprendre du VAIMOS, bien que nous ne soyons pas parvenus à obtenir les résultats souhaités pour
l’ensemble de nos tentatives.
L’UV 4.4 aura été pour nous l’occasion de découvrir l’élaboration complète d’un projet, nous
faisant notamment découvrir l’importance et la nécessité de la phase de conception et les difficultés
inhérentes à la phase de réalisation. En effet, nous avons du faire face à plusieurs problèmes, que
nous avons pu solutionner pour certains, après des phases de questionnement et de concertation au
sein de l’équipe. D’autres n’ont pas pu être résolus, à cause de divers problèmes, notamment de
manque de temps. De façon globale, ce projet nous aura permis d’adopter une démarche
professionnelle, de la simple conception de projet à sa réalisation finale. Il nous aura été de ce point
de vue très instructif dans l’optique de notre future vie professionnelle. Même si le projet n’a pu
complètement aboutir, nous espérons avoir facilité de façon significative la tâche de nos successeurs
et contribué à la future réussite des deux bateaux lors de la WRSC en septembre prochain.
Page 63
Projet RASV
Bibliographie
BRIÈRE (2006). The first microtransat challenge, http://web.ensica.fr/microtransat, ENSICA
Page 64
Projet RASV
Annexes
Page 65
Projet RASV
Projet RASV
Over the past few years, innovations in the field of autonomous vehicles such as AUVs
(Autonomous Underwater Vehicles) and UAV (Unmanned Aerial Vehicles) have been steadily
increasing and their application scopes are becoming more and more numerous.
Autonomous sailboats and motorboats, although they are not widespread yet, play a leading
role in the domain of marine observation and monitoring as they are able to measure sea
temperature, salinity or chlorophyll rates. In the case of motor boats, they are already used for
military security and safety close to shore.
Beyond such applications, several sailboats and motorboats take part every year in the WRSC
(World Robotic Sailing Championship), where they compete in multifarious trials, ranging from
autonomous navigation based on beforehand set waypoints to target tracking using real-time image
processing, through boat towing.
Furthermore, besides the main objective which consists in taking part in this regatta, the
numerous devices which equip our vehicles give us a glimpse of their potential future application.
Indeed, the real-time image processing could allow us to map the marine area to look for emerged
objects, in collaboration with UAVs, to search for plane fragments after crashes for example.
Page 66