Tải bản đầy đủ (.docx) (77 trang)

Mise en oeuvre d’un système d’apprentissage par renforcement pour la gestion automatique des voiles sur un bateau à propulsion hybride voile moteur

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.01 MB, 77 trang )

Institut de la Francophonie pour l’Informatique Institut National des
Sciences Appliquées de Rennes Société Avel Vor Technologies

MÉMOIRE DE FIN D’ÉTUDES
MASTER D’INFORMATIQUE

Mise en œuvre d’un système d’apprentissage par renforcement
pour la gestion automatique des voiles sur un bateau à propulsion
hybride voile-moteur

NGUYEN Le-Vinh
Responsables de stage : Pierre-Yves GLORENNEC
Ce stage a été réalisé au sein du Département informatique de l’Institut National des Sciences
Appliquées de Rennes
INSA de Rennes

Hanoï, septembre 2007


Remerciements
Je tiens à remercier tout particulièrement Pierre-Yves GLORENNEC pour m’avoir encadré
pendant ces cinq mois. Je le remercie de son contact chaleureux, ses conseils et encouragements,
son soutien permanent et la liberté de recherche qu’il à bien voulu me laisser.
Mes plus sincères remerciements vont également à tous les professeurs et les personnels de
l’Institut de la Francophonie pour l’Informatique (IFI) pour m’avoir donne des cours de très bonne
qualité et pour leur soutien tout au long de mes études à l’IFI.
Un grand merci aux autres stagiaires au Département informatique de l’INSA de Rennes pour
une ambiance de travail particulièrement favorable.
Je remercie chaleureusement mes camarades de la promotion XI pour leur amitié sans faille et je
leur souhaite bonne chance pour la soutenance.
Merci enfin à mes parents, ma femme et mes amis pour leur soutien et leur encouragement à tout l’instant.



i


Résumé
Le travail du stage est réalisé dans le cadre du projet Grand Largue et sous la direction de la société
Avel-Vor Technologie. Grand Largue, c’est un vaste projet proposant par Pôle Mer Bretagne avec Avel-Vor
Technologie, le porteur du projet, travaille sur les problèmes d’optimisation dans le monde maritime qui
fournit des applications utilisant la logique floue et l’apprentissage automatique pour le projet.
Dans le cadre du projet, nous étudions et proposons des solutions utilisant des algorithmes d’apprentissage
par renforcement pour piloter automatiquement un voilier afin d’améliorer les performances. La première étape
du projet, nous faisons des études des connaissances maritimes, de la logique floue, de l’algorithme
d’apprentissage par renforcement et nous concevons un Système de Pilote Automatique Intelligent.

La partie principale de notre travail concerne un Système de Pilote Automatique Intelligent (SPAI).
C’est un système intelligent qui peut donner des décisions pour piloter automatiquement le bateau. Il peut
contrôler la gîte du bateau, utiliser systématiquement la polaire de vitesse pour profiter l’énergie du vent.
Pour construire ce système, nous utilisons une méthode d’optimisation utilisant les Système d’Inférence
Floue (SIF). Les SIF sont composés d’une collection de règles qui ont la forme générale : Si telle situation
alors telle conclusion. La table de règles est établie par des " experts ". Nous avons utilisé le QFUZZ [3]
pour construire un algorithme d’optimisation d’une SIF dans ce contexte du projet. La méthode utilise des
algorithmes d’apprentissage par renforcement qui sont présentés dans le chapitre 10 du livre [3].
Afin d’estimer l’e cacité de la solution, nous l’avons testé sur un système de simulation et les résultats
obtenus sont optimistes. Actuellement, dans la condition réelle, il y a beaucoup de variables de milieu.
Notre simulateur tient en compte seulement des variables principales comme : le vent réel, l’accélération
du bateau, la polaire de vitesse du bateau, l’oscillation du bateau, et le changement aléatoire du vent réel.
Il est nécessaire d’avoir plus de temps pour tester le système sur un bateau en conditions réelles.

A partir des résultats obtenus, nous trouvons que le SIF est une bonne direction. La méthode
QFUZZ a obtenu des résultats acceptables.

Mots-clés : logique floue, système d’inférence floue, pilote automatique, apprentissage automatique,
apprentis-sage par renforcement.

ii


Abstract
This work of the internship is carried out within the scope of the Grand Largue project and under the
direction of the company Avel-VOR Technology. Grand Largue is a vast project proposing by Pôle Mer
Bretagne with Avel-VOR Technology, the carrier of the project, works on the problems of optimization in
the maritime world which provides applications using fuzzy logic and machine learning for the project.
Within the scope of the project, we study and propose solutions using the reinforcement learning algorithms
to sail automatically a ship and to improve its performances. The first stage of the project, we study the maritime
knowledge, fuzzy logic, reinforcement learning algorithms and we design a Intelligent Autopilot System.

The main part of our work relates to an Intelligent Autopilot System. It is an intelligent system which
can give decisions to control the boat automatically. It can control systematically the list of boat to use the
polar speed for benefit energy of the wind. To build this system, we use an optimization method using the
fuzzy inference system (SIF). The SIF are composed of a collection of rules which have the general form :
If such situation then such conclusion. The rules table is drawn up by "experts". We used the QFUZZ [3] to
build an optimization algorithm of a SIF in this context of the project. The method uses reinforcement
learning algorithms which are presented in the chapter 10 of the book [3].
To estimate the e ect of the solution, we tested it on a simulation system and the results obtained are opti-mistic.
Under the real condition, there are many variables of environment. Our simulator considers only basic variables like :
real wind, the acceleration of the boat, the speed polar of the boat, the oscillation of the boat, and random change of
the real wind. It is necessary to have more time to test the system on a boat in real conditions.

From the results obtained, we found that the SIF is a good direction. Method QFUZZ obtained
acceptable results.
Keywords : fuzzy logic, fuzzy inference system, autopilot, machine learning, reinforcement learning.


iii


Table des matières
Résumé
Abstract
1

2

Introduction
1.1

Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2

Motivation et objectifs du stage . . . . . . . . . . . . . . . . .

1.3

Environnement de travail . . . . . . . . . . . . . . . . . . . . . .

1.4

Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.5


Plan du document . . . . . . . . . . . . . . . . . . . . . . . . . . .

Etat de l’art
2.1

Travaux Relatifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1
2.1.2
2.1.3

2.2

Produits existants . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1

2.3

Introduction de navigation . . . . . . . . . . . . . . . . . . . .
2.3.1
2.3.2
2.3.3
2.3.4
2.3.5

2.4

Pilote automatique et pilote automatique intelligent .
2.4.1
2.4.2
2.4.3

2.4.4

2.5

Systèmes d’inférence floue . . . . . . . . . . . . . . . . . . . .
2.5.1

iv


2.5.2

Sous-en

2.5.3

Partition

2.5.4

Valeur d

2.5.5

Calcul d

2.5.6

Un exem


2.6 Apprentissage par renforcement . . . . . . . . . . . . . . . . . . . . .
2.6.1

Q-Learn

2.6.2

Q-FUZ .

2.6.3

Q-Learn

2.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Solution proposée
3.1 Schéma global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1

Présent

3.1.2

Compos

3.2 Le pilote automatique intelligent . . . . . . . . . . . . . . . . . . . . . .
3.3 Modes du pilote automatique . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1

Mode V


3.3.2

Mode C

3.3.3

Mode V

4 Programme de Pilote Automatique Intelligent
4.1 Conception du SPAI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.2 Conception architecturale . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1

Diagram

4.2.2

Diagram

4.2.3

Diagram

4.2.4

Diagram

4.2.5


Architec

4.3 Conception détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1

Module

4.3.2

Diagram

4.3.3

Diagram

4.4 Module de PAI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.1

Diagram

4.4.2

Diagram

4.4.3

Algorithm

4.5 Module de décodage et d’encodage . . . . . . . . . . . . . . . . . . .


v

4.5.1

Diagram

4.5.2

Diagram


4.5.3 Diagramme d’activité d’envoi d’une consigne . . . . . . . . . . . . . . . . . . . . . . .
4.6 Module de stockage des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

51
51

5 Résultat

53

6 Conclusions et perspectives

55

Bibliographie

56

vi



Table des figures
1.1 Hiérarchie de commande et architecture de l’agence de pilote . . . . . . . . . . . . . . . . . . .

1

2.1 Hiérarchie de commande et architecture de l’agence de pilote de X-Pilot . . . . . . . . . . . . .

5

2.2 Architecture de réseau basé le CAN de X-Pilot
..........................
6
2.3 Architecture d’implementation de X-Pilot . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

2.4 Fonction d’appartenance pour l’accélération . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

2.5 Fonction d’appartenance pour la vitesse
..............................8
2.6 Fonction d’appartenance pour le TWA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7 Les majeures parties d’un voilier : A - le cap, B - la voile, C - gouvernail . . . . . . . . . . . . .

9
10


2.8 Les trois comportements de navigation di érents
.........................
11
2.9 Relation des trois types de vent réel, de vent de vitesse et de vent apparent . . . . . . . . . . . .
12

2.10 Calcul deu vent réel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

2.11 Polaire de vitesse du bateau génois, et du bateau spi de 13 kilo nœuds
..............

14

2.12 Un exemple de VMG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

2.13 Exploitation de la polaire de vitesse pour le prés . . . . . . . . . . . . . . . . . . . . . . . . . .

18

2.14 Exploitation de la polaire de vitesse pour le portant . . . . . . . . . . . . . . . . . . . . . . . .

20

2.15 Les di érentes actions en fonction du TWA de la route à suivre . . . . . . . . . . . . . . . . . .

22


2.16 Fonctions d’appartenance pour le poids et la quantité d’eau . . . . . . . . . . . . . . . . . . . .

24

2.17 Modèle standard représentant l’apprentissage par renforcement . . . . . . . . . . . . . . . . . .

26

2.18 Architecture de Q-FUZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

3.1 Schéma global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

3.2 Composition interne du PAI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

3.3 Module de décodage et d’encodage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

3.4 Module de dialogue humain-machine
...............................

31


3.5 Utilisation du SIF pour donner la décision . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

3.6 Diagramme de fonctionnement du mode vent réel . . . . . . . . . . . . . . . . . . . . . . . . .

33

3.7 Diagramme de fonctionnement du mode cap fixe
.........................
35
3.8 Diagramme de fonctionnement du mode VMG
..........................
36


4.1 Diagramme de collaboration entre les modules . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

4.2 Diagramme de cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

vii


4.3 Diagramme de déploiement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

41


4.4 Diagramme de pacquages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

41

4.5 Architecture des interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43

4.6 Diagramme de classes d’interface graphique . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

4.7 Diagramme d’état-transitions du module d’interface . . . . . . . . . . . . . . . . . . . . . . . .

45

4.8 Diagramme de classes du module de PAI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

46

4.9 Diagramme d’activité général du système
.............................
47
4.10 Algorithme de choix de la consigne
................................

48

4.11 Diagramme de classes de des modules de décodage et d’encodage

................

49

4.12 Diagramme d’activité du module de décodage et d’encodage . . . . . . . . . . . . . . . . . . .

50

4.13 Activité d’envoi d’une consigne. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

51

4.14 Diagramme de classes du module de stockages des données . . . . . . . . . . . . . . . . . . . .

51

5.1 Comparaison entre les trois algorithmes de pilote : (a) position/temps des pilotes, (b) vitesses
moyennes des pilotes. La vitesse moyenne du pilote 2 = 105% celle du pilote 1. La vitesse
moyenne du pilote 3 = 105 % celle du pilote 2 . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

5.2 Les 3 étapes d’amélioration du pilot automatique intelligent . . . . . . . . . . . . . . . . . . . .

54


viii



Liste des tableaux
2.1 Tableau de règles du système d’inférence floue
..........................
9
2.2 Tableau de règles du lave-ligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

2.3 Calcul la quantité d’eau avec Poids = 3,4 et Propreté = 0,22 . . . . . . . . . . . . . . . . . . . .

25

3.1 Tableau de règles du SIF pour la stratégie au près . . . . . . . . . . . . . . . . . . . . . . . . .

32

5.1 Tableau de règles initiales du SIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

54

5.2 Tableau de règles améliorées du SIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

54

ix


Chapitre 1

Introduction

1.1 Problématique
Réduction de la consommation du carburant est un impératif de suivre pour nombre d’entreprises
de pêche afin d’économiser l’énergie, de lutter contre la pollution et la l’e et de serre. Dans ce
contexte, le projet Grand Largue propose la solution utilisant la voile en complément du moteur.

Sensors

Navigateur
Agence
de Pilote
Gardien

Barreur

Actionneur

Fig. 1.1 – Hiérarchie de commande et architecture de l’agence de pilote
Le problème posé est alors de concevoir des systèmes de propulsion hybride bi-énergie performances. Il fait la
gestion des voiles et du couplage voile-moteur totalement automatique et optimisée. En fonction des vents et du
courant, un routage optimal sera proposé au capitaine du bateau. Des systèmes d’intelligence artificielle permettront
aux logiciels d’apprentissage automatiquement des variables et des paramètres du bateau.

Dans [1], [2], les auteurs ont proposé l’hiérarchie de commande et architecture de l’agence de pilote dans
1


1.2 Motivation et objectifs du stage
leurs recherches (Figure 1.1). L’idée générale est de réaliser un pilote automatique qui est capable d’agir
en fonction des accélérations de décélérations du bateau, dues aux variations du milieu (mer, vent,...).
Dans le cadre du projet, Avel-Vor Technologie, le porteur du projet, travaille sur les problèmes d’optimisation

dans le monde maritime qui fournit des applications utilisant la logique floue et l’apprentissage automatique pour
le projet. Le travail du stage est mise en ouvre d’un système d’apprentissage par renforcement pour la gestion
automatique des voiles un bateau à propulsion hybride voile-moteur.

Mon travail, avec le rôle d’un informaticien, est de réaliser la partie informatique du système. Le
travail à réaliser consiste à :
– définir un protocole d’apprentissage par renforcement pour adapter les règles de conduite à
tout type de bateau,
– mettre en ouvre une Interface Home-Machine simple et ergonomique,
– intégrer toutes ces fonctionnalités sur un bateau de 16 mètres, en conditions réelles.
En fait, le travail du projet était en retard. Selon le sujet du stage, la partie informatique que je réalise
est intégrée sur un bateau réel. Cependant, je n’ai pas eu l’occasion de travailler dessus une
condition réelle. Les algorithmes d’apprentissage sont testés seulement sur un simulateur.

1.2 Motivation et objectifs du stage
Aujourd’hui, la logique floue est bien appliquée dans les applications industrielles. Dans ce domaine, Systèmes d’Inférence Floue (SIF) sont utilisés comme une méthode d’optimisation. Les règles d’inférence floue
représentent une connaissance humaine, exprimée en langage naturel, à l’aide de mots vagues, mal définis,

« floue »[3]. Le programme produit peut piloter automatiquement un voilier selon un routage optimal.
Le point intéressant du sujet est l’environnement de travail industriel et l’application pratique du
projet. L’application d’un algorithme d’intelligence artificielle dans un projet industriel m’intéresse
beaucoup. C’est la raison pour laquelle ce sujet est choisi pour mon stage de fin d’étude. L’objectif
du travail est de construire une solution informatique intégrant dans un voilier pour le piloter
automatiquement afin d’améliorer les performances qui peut adapter pour tout type de bateau.

1.3 Environnement de travail
Ce stage est réalisé au sein du département informatique de l’INSA de Rennes, dans le cadre du
projet Grand Largue et sous la direction du professeur Pierre-Yves GLORENNEC, le directeur de la
société Avel-Vor Technologie. Le projet a été labellisé par le Pôle Mer Bretagne en février 2007.


1.4 Contribution
La principale contribution de ce travail consiste d’ :
– une solution d’un Système de Pilote Automatique Intelligent.

– une application de Pilote Automatique Intelligent


1.5 Plan du document

1.5 Plan du document
Dans la suite de ce rapport, après l’étude bibliographique sur le pilote automatique, les systèmes
d’inférence floue et l’apprentissage par renforcement dans le chapitre 2. Le chapitre 3 présente notre
solution du système de pilote automatique intelligent (SPAI). Le chapitre suivant s’agit de montrer
notre programme de SPAI, nous comparons aussi les résultats de ce stage et ceux de Cédric [4]. En
fin, le chapitre 5 donne la conclusion et les perspectives du travail.


Chapitre 2

Etat de l’art
2.1 Travaux Relatifs
2.1.1 Introduction
L’idée de la conception d’un système de pilote automatique a été proposée au début du siècle et a été incitée par l’introduction du compas gyroscopique [5]. Jusqu’au 70s plus tôt presque tous les pilotes automatiques
pour un bateau ont été basés sur le contrôleur PID (proportinal-derivative-integral) et la majorité des applications a impliqué les bateaux commerciaux tels que Ro-Ro, les bateaux de container et les bateaux-citernes. Les
raisons pour lesquelles la majorité d’applications des systèmes de pilote automatique impliquant les bateaux
commerciaux sont principalement le coût élevé de la technologie et du besoin de trouver assez d’espace pour
l’équipement de matériel comme le compas gyroscopique, la vitesse de direction, etc.
Avec le développement de la technologie et du équipement des pilotes automatiques a changé des équipements mécaniques aux les systèmes électroniques. Le développement rapide des micro-ordinateurs a rendu
l’implémentation des pilotes automatiques classiques réalisable pour une région plus large. Le nombre croissant
récent des voiliers de loisirs en même temps que des avances en informatique et conception de bateau a eu

comme conséquence un nouvel intérêt de recherches pour la conception des systèmes pilotes automatiques.

Cette session nous présente les deux systèmes de pilote automatique : un système utilise la
technologie de datamining (X-Pilot[2],[1],[6]) et l’un autre est un pilote automatique neural[5].

2.1.2 X-Pilot
X-Pilot[2],[1] est un pilot automatique du projet Robosail[6] qui est une nouvelle initiative pour
prendre les derniers développements dans les régions de l’intelligence artificielle aux hautes de mer.
Le but final du projet de RoboSail est de créer un système semi-autonome intelligent qui peut
apprendre à barrer bateau à voiles en collaboration avec le barreur à bord.
Ce système utilise des modèles mathématiques partiels pour prédire le changement de
l’environnement et capturer la pleine dynamique du monde pour apprendre des expériences. C’est
actuellement la combinaison de la mécanique et l’intelligence artificielle appliquée. L’indépendance
des aspects mécaniques nous permet de barrer un bateau sur n’importe quel océan et l’aspect de
l’intelligence artificielle nous permet de l’appliquer dans l’importe quel paradigme de voilier.
4


2.1 Travaux Relatifs
D’ailleurs, X-Pilot n’est pas juste un système automatique complet mais aussi une semiautonome qui co-opère activement avec le barreur pour combiner finalement le meilleur de tous les
deux : les qualités physiques de l’humain, combinées avec la prise de décision et les possibilités
précises de commande d’un système infor-matique intelligent.
Architecture
Dans ce projet, les auteurs utilisent une approche combinant des techniques avec le
raisonnement basé sur les règles et une architecture basée sur la technologie d’agent. Une
architecture basée sur ces idées a été conçue dans la figure 2.1.

ph\]irs__oa

efgchfi_`a


j fiklmf]a

uvwxy'z S

n\om^mf]a

24X13

pkiqf

8

Fig. 2.1 – Hiérarchie de commande et architecture de l’agence de pilote de X-Pilot
Dans cette approche, la connaissance de base de la navigation a été utilisée en forme des ensembles de règles.

Les règles sont de la forme suivent :
« Si l’angle du vent apparent est entre x et y puis la voile devrait être placée à z. »
où x, y et z sont définis par des règles floues. Les estimations initiales pour x, y et z ont été
fournies par la connaissance des experts et puis retournées par l’expérience qui a pris la forme d’une
grande base de données contenant des épisodes de navigation réels.

[1] coupez la tâche en quatre agents principaux, chacun qui fonctionne sur un d’échelle de temps
di érent. Ils sont comme suit :
– Skipper - cet agent est responsable des décisions tactiques, il examine le météo et l’information
de marée pour établir un point de but. Le Skipper fait des décisions toutes les 3-6 heures.
– Navigator - cet agent prend le point de but qui est pris par le Skipper et la position actuelle du bateau, il
décide alors une direction de compas qui doit pour être suivie pour obtenir mieux ce point. Des décisions

à ce niveau sont prises toutes les 15-30 minutes.



2.1 Travaux Relatifs
– Watchman - le Watchman utilise la direction de compas qu’elle est donnée aussi bien que le direction
courante pour déterminer une direction cible. Cette décision tient compte également d’autres facteurs tels
que la vitesse du vent courante. À ce niveau une décision est prise chaque seconde.
– Helmsman - le Helmsman accepte la direction cible et la vitesse courante du bateau. Il produit la force à
exercer par les moteurs. Pour réaliser la commande sans heurt ceci est couru dix fois par seconde.

Implémentation
Matériel

LfgZhP\

TUV
TRWRSXY

iLV

ZUSM[R\\]W^Zi]

iLV

\OYXjZLMWQSMYZi]

\OYXjZLMWSMYQ

]bLV VW]Q iLV VW] ]deV VW]

klmnbPccRSZLM0YZVW]QSM8 i],\OYVW]9XjZLMWQSMYDdMQ]$Z.MWZeRW\MSZVW]/",$Q '


Fig. 2.2 – Architecture de réseau basé le CAN de X-Pilot
Une implémentation pratique du système de X-Pilot commence par la conception et
l’implémentation du matériel. Le matériel impliqué est construit sur le CAN (Controller Area Network),
et le CAN bus. le CAN bus fournit un milieu de média pour le transport de données. Comme
représenté dans le 2.2, les quatre composants principaux du RoboSail sont :
– iRCU est l’unité avancée d’entraînement de pilote de 75 ampères de RoboSail. Il a été développé en
collaboration avec NIKHEF (Dutch National Institute for Nuclear and Hight-Energy Physics).

– iMSU contains des senseurs pour mesurer les mouvements du bateau dans chacun des 6
degrés de liberté (Degrees Of Freedom - DOF).
– GPU connecte à un ordinateur externe et/ou à l’interner par le protocole HTTP, et aussi reçoit et
interprète des données des sources extérieures.
– DCU ont été développés pour permettre au barreur de se connecter par interface facilement
au système. Logiciel
Le schéma 2.3 nous présente la structure de l’architecture d’implémentation du X-Pilote de RoboSail.

– Sailing Development Kit, ou SDK est un API qui inclut le divers logiciel d’interface, la correction
d’erreurs et les algorithmes de filtrage de données. Il contient également une bibliothèque
étendue des algorithmes d’apprentissage de machine. Le SDK fournit aussi l’infrastructure
événement-basée de données pour le système entier.
– Sensors et Virtual Sensors ont été définis sur le SDK. Les Sensors sont la représentation de logiciel des sensors
de matériel montées sur le bateau, corrigé pour des erreurs de transmission. Les Sensors Virtuels


2.1 Travaux Relatifs

$ "

%


6(-

ig

calculent des nouvelles données de l’information des sensors multiples. Un sensor virtuel peut
être mise en application par n’importe quelle approche de fusion de sensor.
– Human Domain Knowledge se compose d’un certain nombre d’agents. Il a des agents séparés
qui tiennent la force du vent et la direction du vent, etc.

2.1.3 Le pilote intelligent et le simulateur
Dans [4], Cédric FLEURY nous présente un pilote intelligent qui utilise des systèmes d’inférence floue
(SIF) pour déterminer les actions de barre à partir des variables du milieu. L’auteur a également construit
un simulateur pour le tester. Les règles de SIF du pilote automatique est donnés par des experts et on les
fixer dépendant de chaque bateau. L’auteur a fini une version imitative pour le pilote intelligent et l’a testé
dans le système de simulation. Le résultat qu’il a obtenu est de 5% de plus que le pilote en mode VMG.

Les variables prises en compte
L’auteur a choisi les trois variables les plus pertinentes pour la conduite d’un bateau au près : l’accélération
du bateau, la vitesse du bateau et l’angle du bateau par rapport au vent réel. Ceux sont ces trois variables qui
sont les paramètres d’entre du système d’inférence floue. Afin de pouvoir comparer, cette vitesse et cet angle,
on utilise directement l’écart entre la vitesse du bateau et la vitesse cible, ainsi que l’écart entre l’angle du vent
réel du bateau et l’angle cible. La vitesse cible et l’angle cible sont détermines par polaire de vitesse


caractéristique du bateau en fonction de la force de vent et correspondent eu compromis angle (par rapport au
vent)/vitesse qui permet d’avoir le meilleur gain de remontée eu vent. On peu donc savoir où le bateau se trouve
par rapport à la vitesse et à l’angle du vent réel que l’on aimerait qu’il atteigne.

L’accélération

L’accélération (Acc) est évaluée par rapport aux trois sous-ensembles :
– N(négative) : le bateau décélère.


2.1 Travaux Relatifs
– Z(nulle) : le bateau a une vitesse constante.
– P(positive) : le bateau accélère.
Cette variable est mesurée par l’accéléromètre et les valeurs +acc max et acc max représentent
les valeurs des accélérations et des décélérations maximales que l’on peut mesurer.

789
89
Fig. 2.4 – Fonction d’appartenance pour l’accélération
L’écart de vitesse par rapport à la vitesse cible du prés
Au lieu d’évaluer la vitesse du bateau, on évalue directement la di érence entre la vitesse du
bateau et la vitesse cible du près pour le vent actuel, tel que : VitC = VitesseBateau VitesseCible. La
vitesse cible du près est la valeur du couple (vitesse, angle) qui permet d’avoir le meilleur gain au
vent. Elle est déterminée à partir des polaires de vitesse pour chacune des di érentes forces de vent
et par conséquence, elle est susceptible de changer au cours du temps en fonction des variations
d’intensité du vent. VitC est évalué par rapport aux trois sous-ensembles :
– N(négatif) : le bateau se trouve en dessous de la vitesse cible.
– Z(nul) : le bateau a une bonne vitesse (proche de la vitesse cible).
– P(positif) : le bateau se trouve en dessus de la vitesse cible.
Cette variable est mesurée par le speedomètre du bateau. Les valeurs Vmin et Vmax
représentent les écarts de vitesse qui nous semble acceptable de part et d’autre de la vitesse cible.


096 4

9


73 7 96 4
Fig. 2.5 – Fonction d’appartenance pour la vitesse
L’écart d’angle par rapport à l’angle cible du près
On évalue directement la di érence entre l’angle du bateau par rapport au vent réel (TWA) et l’angle cible du
près pour le vent actuel, tel que : AngC = T W ABateau AngleCible. L’angle cible du près est la valeur du couple
(vitesse, angle) qui permet d’avoir le meilleur gain au vent. Il est déterminé à partir des polaires de vitesse pour
chacune des di érentes forces de vent et par conséquence, il est susceptible de changer au cours du temps


2.2 Produits existants
en fonction des variations d’intensité du vent.
AngC est évalué par rapport aux trois sous-ensembles :
– N(négatif) : le bateau se trouve trop lofé par rapport à l’angle cible.
– Z(nul) : le bateau a un bon cap (proche de l’angle cible).
– P(positif) : le bateau se trouve trop abattu par rapport à l’angle cible.
Cette variable est mesurée par l’aérien en tête de mât et les valeurs AngMin et AngMax sont les «
butées » minimales et maximales que l’on accepte comme écarts par rapport à l’angle cible.

Fig. 2.6 – Fonction d’appartenance pour le TWA
Les règles du système d’inférence floue
Pour chacun des cas de « base », on détermine une action à réaliser. On obtient alors le système
de règles suivant :
AngC
VitC n Acc
N
Z
P
Tab. 2.1 – Tableau de règles du système d’inférence floue
Les valeurs obtenues pour la variation d’angle Cap sont AG (abattre en grand), AM (abattre

moyennement), AL (abattre légèrement), ZR (zéro), LL (lofer légèrement), LM (lofer moyennement)
et LG (lofer en grand) et elles représentent des valeurs en degrés.
Pour obtenir la nouvelle consigne (Cons) du pilote, on réalise simplement l’opération suivante :
Cons = Cons + cap

2.2 Produits existants
2.2.1 Gyropilot 2
Le GYROPILOT, un produit de NKE[7], est un automate conçu pour piloter les bateaux. A la barre, les
per-formances du GYROPILOT sont excellentes à toutes les allures de navigation. Il permet de seconder
e cacement le barreur, mais ne doit pas être utilise comme moyen principal de pilotage.


2.3 Introduction de navigation
Des que le barreur active le pilote, le calculateur Gyropilot 2 mémorise la valeur courante du canal concerne :

le cap magnétique, l’angle de vent ou la route GPS. Cette valeur devient la consigne.
Ensuite, le calculateur intègre les données transmises par les capteurs et e ectue des corrections
de barre selon deux critères :
– l’écart de route par rapport à la consigne, qui est délivré par le compas fluxgate (mode compas)
ou par l’anémo-girouette (mode vent).
– la vitesse de rotation du bateau, qui est délivrée par le gyromètre. Cette rotation est provoquée par l’action

de la barre, du vent ou des vagues.
La valeur de la correction est alors proportionnelle :
– à l’écart de route mesure,
– à la valeur du gain,
– et inversement proportionnelle à la vitesse du bateau.
Le Gyropilot Graphic possède cinq modes de fonctionnement : le mode compas, le mode vent
apparent, le mode vent réel, le mode GPS et le mode barre. Le choix de l’un de ces cinq modes, vous
permet, en fonction des conditions de navigation, d’exploiter au maximum les performances du pilote nke.


2.3 Introduction de navigation
2.3.1 Parties d’un voilier
Pour facile à suivre ce mémoire, dans cette session, on présente les majeures parties d’un voilier. La
figure 2.7 est un voilier simple qui contient trois parties principales : le cap, la voile et le gouvernail. Ces
sont les trois parties qui nous intéressent dans ce projet de recherche. Le cap nous précise la direction
temporaire du voilier. La voile est la partie plus importante pour profiter la force du vent naturel. Pour
chaque voilier, on a des di érentes polaires de vitesse (voir la session 2.3.4) et des di érentes stratégies
de pilote pour utiliser e cacement ses voiles. On utilise le gouvernail pour barrer le voilier.
A

B
B

C

A

C

Fig. 2.7 – Les majeures parties d’un voilier : A - le cap, B - la voile, C - gouvernail


2.3 Introduction de navigation

2.3.2 Théorie d’un voilier
Selon la direction dans laquelle on veut naviguer stratégies d’une commande des besoins di
érentes. Ici on énumère les trois stratégies principales :
– Au travers : ceci se produit quand la direction désirée est rudement 90°au vent. Il est assez
facile de commander le bateau, et le bateau peut naviguer là directement d’une façon rapide.

– Vent arrière : le vent provient du secteur arrière du voilier. L’écoulement de l’air sur les voiles est très
perturbé et la vitesse du voilier est nettement diminuée par rapport à l’allure du grand largue.

– Vent debout : Lorsque le voilier est face au vent, il ne peut pas avancer. Il doit s’écarter
d’environ 45° de l’axe du vent pour pouvoir progresser à l’aide de ses voiles. Si la destination
visée par le voilier nécessite de prendre une direction face au vent, le voilier devra louvoyer (ou
tirer des bords), c’est-à-dire progresser en traçant des zigzags pour maintenir toujours l’angle
minimum cité plus haut qui lui permet d’être propulsé par ses voiles.

Vent

Vent
Vent

Direction cible

Direction cible

Direction cible

(a)Au travers

(b)Vent arrière

(c)Vent debout

Fig. 2.8 – Les trois comportements de navigation di érents

2.3.3 Vent réel, vent de vitesse et vent apparent
Vent réel est le vent que l’on voit à terre et ainsi que le système de météo donne tous les jours.

Vent de vitesse est le vent entrainé par le mouvement du bateau (voir 2.9).
Vent apparent est la résultante en force et en direction du vent réel et du vent de la vitesse.
La figure 2.9 nous présente le lien entre le vent apparent, le vent réel, et le vent de vitesse.
Prenons un après midi d’été, sans vent, faites un tour sur un bateau à moteur. Vous sentirez sur
vos joues un « vent », c’est le vent de la vitesse.
Sur un bateau à voile, ce vent de la vitesse va s’ajouter au vent réel. Donc plus un voilier va vite, plus
son vent apparent augmente et plus l’axe du vent va se rapprocher de l’axe du bateau. En conséquence,
plus on va vite, plus on devra border les voiles. Cela est vrai par exemple sur des catamarans où les
voiles seront bordés, par vent soutenu, comme au près jusqu’à des allures de largue.


×