(LUẬN văn THẠC sĩ) mise en oeuvre d’un système d’apprentissage par renforcement pour la gestion automatique des voiles sur un bateau à propulsion hybride voile moteur

66 7 0
(LUẬN văn THẠC sĩ) mise en oeuvre d’un système d’apprentissage par renforcement pour la gestion automatique des voiles sur un bateau à propulsion hybride voile moteur

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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 TIEU LUAN MOI download : skknchat@gmail.com 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 TIEU LUAN MOI download : skknchat@gmail.com 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’efficacité 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, apprentissage par renforcement ii TIEU LUAN MOI download : skknchat@gmail.com 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 effect of the solution, we tested it on a simulation system and the results obtained are optimistic 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 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur Table des matières Résumé ii Abstract iii 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 2.2 2.3 2.4 2.5 Travaux Relatifs 2.1.1 Introduction 2.1.2 X-Pilot 2.1.3 Le pilote intelligent et le simulateur Produits existants 2.2.1 Gyropilot Introduction de navigation 10 2.3.1 Parties d’un voilier 10 2.3.2 Théorie d’un voilier 11 2.3.3 Vent réel, vent de vitesse et vent apparent 11 2.3.4 Polaire de vitesse 13 2.3.5 VMG (Velocity Made Good) 13 Pilote automatique et pilote automatique intelligent 14 2.4.1 Modes du pilote classique 14 2.4.2 Limites d’un pilote classique 15 2.4.3 Améliorations du pilote intelligent 16 2.4.4 Stratégies de barre 16 Systèmes d’inférence floue 23 2.5.1 23 Variable linguistique iv (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur 2.6 2.7 2.5.2 Sous-ensemble flou 23 2.5.3 Partition floue 23 2.5.4 Valeur de vérité d’une règle 24 2.5.5 Calcul de la sortie d’un SIF 24 2.5.6 Un exemple - Le lave-ligne 24 Apprentissage par renforcement 25 2.6.1 Q-Learning 26 2.6.2 Q-FUZ 27 2.6.3 Q-Learning flou 27 Conclusion 28 Solution proposée 3.1 29 Schéma global 29 3.1.1 Présentation 30 3.1.2 Composants 30 3.2 Le pilote automatique intelligent 32 3.3 Modes du pilote automatique 32 3.3.1 Mode VENT REEL 33 3.3.2 Mode CAP FIXE 34 3.3.3 Mode VMG 35 Programme de Pilote Automatique Intelligent 37 4.1 Conception du SPAI 37 4.2 Conception architecturale 37 4.2.1 Diagramme de collaboration 37 4.2.2 Diagramme de cas d’utilisation 39 4.2.3 Diagramme de déploiement 40 4.2.4 Diagramme de pacquages 40 4.2.5 4.3 4.4 4.5 Architecture des interfaces 43 Conception détaillée 43 4.3.1 Module d’interface graphique 43 4.3.2 Diagramme de classes 43 4.3.3 Diagramme d’état-transitions 45 Module de PAI 45 4.4.1 Diagramme de classes 45 4.4.2 Diagramme d’activité général 47 4.4.3 Algorithme de choix de la consigne 48 Module de décodage et d’encodage 48 4.5.1 Diagramme de classes 48 4.5.2 Diagramme d’activité du module de décodage et d’encodage 50 v (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur 4.5.3 4.6 Diagramme d’activité d’envoi d’une consigne 51 Module de stockage des données 51 Résultat 53 Conclusions et perspectives 55 Bibliographie 56 vi (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur Table des figures 1.1 Hiérarchie de commande et architecture de l’agence de pilote 2.1 Hiérarchie de commande et architecture de l’agence de pilote de X-Pilot 2.2 Architecture de réseau basé le CAN de X-Pilot 2.3 Architecture d’implementation de X-Pilot 2.4 Fonction d’appartenance pour l’accélération 2.5 Fonction d’appartenance pour la vitesse 2.6 Fonction d’appartenance pour le TWA 2.7 Les majeures parties d’un voilier : A - le cap, B - la voile, C - gouvernail 10 2.8 Les trois comportements de navigation diffé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 diffé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 (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur 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 = 105% celle du pilote La vitesse 5.2 moyenne du pilote = 105 % celle du pilote 53 Les étapes d’amélioration du pilot automatique intelligent 54 viii (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur Liste des tableaux 2.1 Tableau de règles du système d’inférence floue 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 (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur 3.3 Modes du pilote automatique 35 Acquisition des infos courantes partir de la Centrale de Navigation Calcul de la vitesse cible (VitC),  de la gỵte cible (GiteC),  de la variation de gỵte (VarGỵte) partir de la polaire ¨Angle = Cap –Cap fixe Acc = Vitesse(t) – Vitesse(t-1) ¨Vit = Vitesse(t) – VitC ¨Gỵte = Gỵte(t) – GỵteC ¨cons1 = SIF(¨Angle, Acc, ¨Vit) ¨cons2 = SIF(¨Gỵte, VarGỵte) Si la gỵte est bonne ? Faux Proposition de la consigne partir de ăcons2 Vrai Proposition de la consigne partir de ăcons1 F 3.7 Diagramme de fonctionnement du mode cap fixe 3.3.3 Mode VMG En mode VMG, le pilote intelligent calcule le VMG basé sur la polaire de vitesse, et le vent réel temporaire La VMG peut répondre la question : «Quelle est la meilleure route pour me rapprocher de mon objectif ? » La VMG nous permet de trouver le bon compromis cap/vitesse en fonction des conditions du milieu afin d’avoir le meilleur gain au vent Diagramme de fonctionnement Données nécessaires – La vitesse du bateau (Boat Speed) : il est important de savoir où la vitesse du bateau se situe par rapport la vitesse cible On peut trouver le capteur et le format du trame NMEA dans la session 3.3.1 – L’angle du vent réel (TWA) : c’est l’angle du vent réel par rapport au cap du bateau Il est important afin d’éviter des écarts de la route – La force du vent réel : il est nécessaire de savoir la force du vent réel afin d’ajuster les vitesses cibles lors de variations du vent (voir plus la session 3.3.1) – La gỵte du bateau : voir le capteur et le format du trame NMEA dans la session 3.3.1 (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur 3.3 Modes du pilote automatique 36 Acquisition des infos courantes partir de la Centrale de Navigation Calcul de la vitesse cible (VitCVMG), de l’angle cible (AngCVMG),  de la gỵte cible (GiteC),  de la variation de gợte (VarGợte) partir de la polaire ăAngle = TWA AngCVMG Acc = Vitesse(t) Vitesse(t-1) ăVit = Vitesse(t) VitCVMG ăGợte = Gợte(t) GợteC ăcons1 = SIF(ăAngle, Acc, ăVit) ăcons2 = SIF(ăGợte, VarGợte) Si la gợte est bonne ? Faux Proposition de la consigne partir de ¨cons2 Vrai Proposition de la consigne partir de ¨cons1 F 3.8 – Diagramme de fonctionnement du mode VMG (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur Chapitre Programme de Pilote Automatique Intelligent 4.1 Conception du SPAI Le chapitre nous a présenté les composants, leurs fonctions principales et les liens entre eux Cependant, il est seulement une vue générale envers notre système Pour réaliser le système, on doit avoir des conceptions plus détaillées qui précise des classes détaillées dans le système et comment elles sont intégrées ensemble Ce chapitre a deux parties principales : conception architecturale et conception détaillée La conception architecturale nous permet de décrire le système au niveau général Elle inclut le diagramme de collaboration, le diagramme de cas d’utilisation, le diagramme de déploiement, le diagramme de packages et l’architecture des interfaces La conception détaillée décrit des contenus concrets des classes et des liens entre eux 4.2 Conception architecturale 4.2.1 Diagramme de collaboration Comme avoir présenté dans le chapitre 3, le système contient trois blocs : le bloc BATEAU, le bloc PC Optima, et le bloc PC Pilote Les communications qui sont établies entre eux sont détaillées dans le diagramme de collaboration (figure 4.1, page 38) Ces liaisons de communication sont réalisées via des méthodes propres chacune de ces modules Leur fonctionnement et leur signature sont détaillées dans la suite de ce rapport Dans ce diagramme (figure 4.1), Optima Pro, Centrale de navigation et BUS Série sont les composants existants dans les PC Optima et BATEAU Nous devons construire les autres composants et relier eux dans un système unifié Les composants du logiciel : 37 (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur sendAlerte () PAI sendInfos () Encodage Binaire sendConsigne() Dialogue Humain-Machine sendConsigneProposée () getEtat() BUS Série Binaire Binaire Optima Pro Centrale de navigation getDonnees() sendPolaire () Acquisition de données sendTraces() getPolaire() getPolaire() Polaire 38 Fichiers 4.2 Conception architecturale F 4.1 – Diagramme de collaboration entre les modules (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur 4.2 Conception architecturale 39 – Acquisition des données : c’est le module de communication entre le composant de Centrale de navigation et le système En effet, nous ne connaissons pas le moment d’envoi des trames NMEAs de la Centrale de navigation C’est un composant externe qui peut envoyer un trame NMEA n’importe quel moment Donc on doit construire un module qui synchronise avec la Centrale de navigation et stocke toutes les informations importantes dans la mémoire Le module PAI peut les utiliser n’importe quand Une autre fonction de ce module est de décoder des trames NMEAs Normalement, le Centrale de navigation envoie des informations sous forme de NMEA qui sont des chnes textuelle Dans ce module, on doit construire une classe qui extrait des données nécessaires dans ces chnes – Fichiers : c’est l’ensemble de fichiers de configuration, de traces, de polaire de vitesse, de polaire de gỵte Dans ce système, on utilise des fichiers comme une base de données simple – Polaire : le module gère la polaire de vitesse et la polaire de gỵte Les polaires qui sont crées manuellement ou par le logiciel OptimaPro sont stockées dans les fichiers PolaireV.dat et PolaireG.dat La fonction du module est de les charger dans la mémoire et de répondre des interrogations concernant la polaire – PAI : le C’est le cœur du système qui contient deux modules importants : Apprentissage et Pilote Intelligent – Dialogue Humain-Machine : l’interface de communication entre l’utilisateur et le logiciel – Encodage : il encode des consignes du barreur en trames NMEAs 4.2.2 Diagramme de cas d’utilisation Le diagramme de cas d’utilisation nous donne la vue d’un utilisateur envers le système Dans notre système, il y a deux types d’utilisateur : barreur et expert (voir la figure 4.2, page 39) Voir l'état du bateau voir la proposition de consigne Donner les cibles Donner la consigne Barreur Choisir le mode de pilote intelligent Choisir le mode de barre automatique Voir des traces Donner des paramètres d'apprentissage Expert F 4.2 – Diagramme de cas d’utilisation – Barreur : qui observe l’état du bateau et barre manuellement le bateau partir des informations qui sont affichées sur l’écran et de la proposition de consigne du Pilote Intelligent Pour cet utilisateur on a six cas (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur 4.2 Conception architecturale 40 d’utilisation : – Voir l’état du bateau : le barreur peut voir les données concernant l’état du bateau sur la fenêtre d’information Les informations incluent la direction du cap, la vitesse du bateau, la gỵte du bateau, la direction du vent réel et la force du vent réel – Choisir le mode de pilote intelligent : le barreur peut choisir un des trois stratégies de pilote automatique intelligent : CAP FIXE, VENT REEL et VMG – Donner les cibles : il peut aussi entrer l’angle cible de cap en mode de CAP FIXE ou le TWA cible en mode VENT REEL – Choisir le mode de barre automatique : dans ce mode, le système barre automatiquement en utilisant les propositions de consignes du pilote intelligent – Voir la proposition de consigne : partir des informations courantes, le Pilote Intelligent donne la consigne proposée En mode de barre automatique, le système utilise cette consigne pour barrer directement le bateau – Donner la consigne : utilisant la fenêtre de pilote, le barreur peut conduit manuellement la bateau – Expert : qui suit les résultats fonctionnels du pilote intelligent afin de donner les paramètres appropriées dans la phase de test Avec cet utilisateur on a deux cas d’utilisation : – Voir des traces : l’expert peut voir des traces du bateau partir du fichier de trace Toutes les données du bateau sont enregistrées sous un fichier textuel – Donner des paramètres d’apprentissage : Avec chaque bateau, il faut changer des paramètres pour obtenir l’efficace optimale Dans la phase de test, on doit essayer plusieurs fois afin de trouver les valeurs optimales 4.2.3 Diagramme de déploiement Le diagramme de déploiement (figure 4.3, page 41) nous décrit des pacquages principaux, leurs dispositions et leurs associations du système Dans le PC Pilote on a quatre pacquages : – Interface : contient les classes d’interface d’utilisateur Nous construisons un dialogue d’Utilisateur-Machine qui contient toutes les fonctions qui sont présentées dans le diagramme de cas d’utilisation (figure 4.2, page 39) – Contrôle : c’est le cœur du système Il inclut des classes importantes de contrôle comme Pilote, Agent d’apprentissage et SIFloue – Gestion de données : contient les classes de traite de données Nous utilisons ce pacquage comme un système de gestion de base de données simple 4.2.4 Diagramme de pacquages Le diagramme de pacquages (figure 4.4, page 41) nous donne des contenus détaillés des pacquages qui sont décrits dans la session 4.2.3 (page 40) – Pacquage d’interface : il inclut les classes suivantes : – SPAI : c’est l’interface principale du logiciel Elle contient trois sous-fenêtres : Information, Pilote et (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur 4.2 Conception architecturale 41 PC Pilote BATEAU «equipment» centrale de navigation «package» interface NMEA trames «package» gestion de données «package» conrơle PC optima «application» optima Polaire «file» fichiers F 4.3 – Diagramme de déploiement «package» interface Classes : - Pilote - Agent - SIF «package» contrơle «package» gestion de données «file» fichiers Classes : - SPAI - Information - Calcul - Apprentissage Classes : - Config - PolaireVitesse - PolaireGite - Traces - StockageDonnees - Encodage - Decodage Fichiers : - config.txt - polaireV.dat - polaireG.dat - sif.dat - traces.dat - connaissance.dat F 4.4 – Diagramme de pacquages (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur 4.2 Conception architecturale 42 Apprentissage – Information : affiche toutes les informations courantes du bateau, le mode de pilote automatique et les valeurs de cible On ajoute cette fenêtre la fonction d’alerte qui affiche des alertes ou sonne l’alarme dans le cas dangereux – Calcul : contient les valeurs de calcul, la consigne proposée par le pilote intelligent et nous peuvent donner la consigne finale pour barrer directement le bateau – Apprentissage : cette fenêtre contient les paramètres qui servent la phase d’apprentissage Nous pouvons arrêter le processus d’apprentissage si nous trouvons que les règles sont assez bonnes – Pacquage de contrôle : il contient les classes suivantes : – Pilote : il utilise les fonctions de la classe SIF et les règles de la classe Agent pour donner la nouvelle consigne C’est la classe plus importante dans notre logiciel – Agent : il suit les données passées du bateau pour donner l’ensemble de règles optimales qui serviront au pilote intelligent – SIF : qui donne des décisions basé sur les inférences floues – Pacquage de Gestion de données : – Config : gestion des paramètres de configuration du logiciel – PolaireVitesse : charge la polaire de vitesse partir du fichier PolaireV.dat – PolaireGite : charge la polaire de gỵte partir du fichier PolaireG.dat – Traces : stockage des traces sous le fichier traces.dat – StockageDonnees : stockage des informations courantes dans la mémoire – Décodage : décodage des données qui sont envoyées partir de la Centrale de navigation – Encodage : encodage de la consigne de barre – Fichiers de données : config.txt, polaireV.dat, polaireG.dat, sif.dat et traces.dat (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur 4.3 Conception détaillée 43 4.2.5 Architecture des interfaces SPAI inclut inclut Pilote I nformations inclut Apprentissage F 4.5 – Architecture des interfaces 4.3 Conception détaillée 4.3.1 Module d’interface graphique L’interface graphique nous permet de contrôler le bateau en voyant les informations courantes du bateau, la consigne proposée par le pilote intelligent et en conduisant manuellement le bateau A partir de cette interface graphique, on peut aussi installer le mode de pilote automatiquement qui barre automatique le bateau basé sur des consignes du pilote intelligent Il contient trois sous-fenêtres : Information, Pilote et Apprentissage 4.3.2 Diagramme de classes SPAI SPAI est la classe principale du logiciel Quand cette classe est crée, en même temps, toutes les trois classes information, pilote et apprentissage sont crées creat crée la fenêtre principale du logiciel Elle charge chacun des autres modules et ouvre la fenêtre d’information help ouvre la fenêtre d’aide main la fonction principale de l’application Information creat crée la fenêtre d’information et tout de suite, les fonctions update et showData sont appelées pour afficher toutes les informations importantes changeMode change le mode (stratégie) du pilote automatique (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur 4.3 Conception détaillée 44 F 4.6 – Diagramme de classes d’interface graphique showData quand les valeurs de données sont changées, cette fonction est appelée pour re-afficher des informations update met jour des données Les données que l’on voit sur cette fenêtre sont des valeurs temps réel donc cette fonction est appelée périodiquement Pilote La classe Pilote est le cœur du logiciel On l’utilise pour calculer les consignes partir de l’état du bateau et des paramètres du milieu creat crée la fenêtre de pilote En même temps, les fonctions calculateData, calculateConsigne et showData sont appelées calculateData partir des données d’entrée que l’on voit dans la fenêtre d’information, elle calcule des variables intermédiaires comme Mcap, Mvitesse, Acc, calculateConsigne partir des variables intermédiaires, cette fonction pour calcule la Consigne de vitesse et la consigne de gỵte showData après calculer des variables intermédiaires et la consigne, on utilise la fonction showData pour les afficher sur la fenêtre Ces variables (intermédiaires et de la consigne) sont valeurs temps réel donc cette fonction est appelée aussi périodiquement update met jour des données d’entrée (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur 4.4 Module de PAI 45 enterConsigne on utilise cette fonction pour entrer la consigne du barreur et tout de suite, la fonction sendConsigne est appelée pour envoyer la consigne la Centrale de navigation sendConsigne envoie le consigne la Centrale de navigation La Centrale utilise cette consigne pour contrôler le bateau setIsSteerAutomatic utilise le mode de pilote automatique Le logiciel utilise la consigne du pilote intelligent pour barrer directement le bateau isSteerAutomatic vérifie si le mode de pilote automatique est vrai Apprentissage Un expert utilise cette fenêtre pour changer les valeurs de paramètres d’apprentissage creat crée la fenêtre d’apprentissage update met jour des valeurs de paramètres d’apprentissage getValuesDefault utilise les valeurs défauts saveRules stocke les règles obtenus sous le fichier sif.dat 4.3.3 Diagramme d’état-transitions Initialisation et connexion Charger/Sauvegarder univers Calcul de la consigne Etat Auto Etat Init Etat manuel chargement de configuration Etat d'apprentissage Enregistrement de règles F 4.7 – Diagramme d’état-transitions du module d’interface Le diagramme d’état-transition du module d’interface (figure 4.7, page 45) décrit des états de l’interface sous l’action de l’utilisateur 4.4 Module de PAI 4.4.1 Diagramme de classes Agent readRules charge des règles dans le fichier sif.dat la mémoire interne Cette fonction est appelée dans la fonction constructeur de la classe Au début, ce ne sont pas les règles optimales On utilise la fonction learning pour les améliorer de temps en temps getRules retourne l’ensemble de règles courantes (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur 4.4 Module de PAI 46 F 4.8 – Diagramme de classes du module de PAI writeReles écrit l’ensemble de règles courantes sous le fichier rules.dat learning fait le processus d’apprentissage partir des nouvelles données obtenues On peut utiliser deux modes : apprentissage automatique et apprentissage demandé En mode d’apprentissage automatique, cette classe fonctionne comme un agent En mode d’apprentissage demandé, elle fonctionne quand l’utilisateur le demande Afin d’améliorer les règles, on doit utiliser des connaissances intermédiaires On utilise la fonction readConnaissance pour les charger les connaissances et la fonction /textitwriteConnaissance pour les écrire sous le fichier connaissance.dat SIFFloue SIF obtient la valeur qui est estimée par les inférences floues Pilote changeConsigne calcule la nouvelle consigne partir des informations courantes getAccmoyenne calcule les valeurs moyennes partir des données d’entrée getAngleCible retourne l’angle cible getVitesseCible retourne la vitesse cible getVitesseMoyenne retourne la vitesse moyenne (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur 4.4 Module de PAI 47 4.4.2 Diagramme d’activité général Copie règles (tampon dur -> tampon courant) Mode manuel Nouvel ordre = pilote auto ? PoiteurRegles = tempon dur oui Mode auto non non Nouvel ordre = mode manuel ? Nouvel ordre = apprentissage ? oui Apprentissage F 4.9 – Diagramme d’activité général du système (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur 4.5 Module de décodage et d’encodage 48 4.4.3 Algorithme de choix de la consigne Calcul des varibles intermédiaires Calcul de la consigne de gỵte Calcul de la consigne de vitesse Gỵte = bonne ? non oui Proposer la consigne de vitesse Proposer la consigne de gỵte F 4.10 – Algorithme de choix de la consigne 4.5 Module de décodage et d’encodage Le module de décodage et d’encodage est le port de communication entre le PC Pilote et le BATEAU Il a deux classes principales : Decoder et Encoder 4.5.1 Diagramme de classes Decoder getData chaque fois que la Centrale de navigation envoie un trame NMEA, on utilise cette fonction pour le décoder en forme de données structurées En général, après recevoir un trame NMEA, son format est une chne textuelle comme la chne suivante : $IIVWT,xxx,a,xx.x,N,xx.x,M,,*ss(CR)(LF) True wind speed in knots From port [L] or from starboard [R] True wind angle 0Ỉ180 (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur 4.5 Module de décodage et d’encodage 49 F 4.11 – Diagramme de classes de des modules de décodage et d’encodage Cette fonction utilise la classe Parser pour en extraire des informations nécessaires comme la vitesse du vent, la force du vent, la direction du cap, la gỵte, Encoder sendConsigne on utilise cette fonction pour encoder une consigne numérique du barreur en forme de trame NMEA et elle utilise la classe NMEAClient pour envoyer cette donnée sur le BUS Série La Centrale de navigation le va recevoir et contrôler le bateau suivant la consigne (LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur(LUAN.van.THAC.si).mise.en.oeuvre.d’un.systeme.d’apprentissage.par.renforcement.pour.la.gestion.automatique.des.voiles.sur.un.bateau.a.propulsion.hybride.voile.moteur TIEU LUAN MOI download : skknchat@gmail.com

Ngày đăng: 18/12/2023, 02:18

Tài liệu cùng người dùng

Tài liệu liên quan