THÈSE - Site Sécurisé du LIRMM
THÈSE - Site Sécurisé du LIRMM
THÈSE - Site Sécurisé du LIRMM
- No tags were found...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
ACADÉMIE DE MONTPELLIERU N I V E R S I T É M O N T P E L L I E R IISciences et Techniques <strong>du</strong> LanguedocTHÈSEprésentée au Laboratoire d’Informatique de Robotiqueet de Microélectronique de Montpellier pourobtenir le diplôme de doctoratSpécialité : Génie Informatique, Automatique et Traitement <strong>du</strong> SignalFormation Doctorale : Systèmes Automatiques et MicroélectroniquesÉcole Doctorale : Information, Structures, SystèmesCoopération entre Véhicules Sous-Marins Autonomes :Une Approche Organisationnelle Réactive Multi-AgentparNicolas CARLÉSIVersion <strong>du</strong> 29 septembre 2013Directeur de thèseM. Bruno JOUVENCEL, professeur . . . . . . . . . . . . . . . . . . . .<strong>LIRMM</strong>, Université Montpellier II, MontpellierCo-Directeurs de thèseM. Fabien MICHEL, maitre de conférences . . . . . . . . . . <strong>LIRMM</strong>, Université Montpellier II, MontpellierM. Jacques FERBER, professeur . . . . . . . . . . . . . . . . . . . . . . <strong>LIRMM</strong>, Université Montpellier II, MontpellierRapporteursM. Olivier SIMONIN, professeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . , CITI-Inria Lab., INSA de Lyon, LyonM. Rachid ALAMI, directeur de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LAAS, CNRS, Toulouse
iA la mémoire...
Table des matièresTable des matièresiii1 Intro<strong>du</strong>ction 11.1 Cadre général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Problématiques abordées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Plan de la thèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Nature et enjeux <strong>du</strong> milieu sous-marin 52.1 L’environnement sous-marin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.1 Immensité et profondeur . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.2 Un milieu dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.3 Un univers méconnu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 Exploitation scientifique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2.1 Cartographie et géologie marine . . . . . . . . . . . . . . . . . . . . . . 82.2.2 L’océanographie chimique . . . . . . . . . . . . . . . . . . . . . . . . . 92.2.3 L’océanographie physique . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2.4 La biologie marine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2.5 Protection de l’environnement . . . . . . . . . . . . . . . . . . . . . . . 112.2.6 Archéologie sous-marine et subaquatique . . . . . . . . . . . . . . . . 112.3 Exploitation in<strong>du</strong>strielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.3.1 L’offshore pétrolier et gazier . . . . . . . . . . . . . . . . . . . . . . . . . 122.3.2 Minerai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.3.3 Télécommunication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.3.4 Recherche de boîte noire . . . . . . . . . . . . . . . . . . . . . . . . . . 15iii
ivTABLE DES MATIÈRES2.4 Exploitation militaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.4.1 Surveillance, dissuasion et attaque . . . . . . . . . . . . . . . . . . . . . 172.4.2 Déminage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.5 Discussions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.5.1 Un immense espace à exploiter . . . . . . . . . . . . . . . . . . . . . . . 182.5.2 Le besoin de multiples compétences . . . . . . . . . . . . . . . . . . . 182.6 Résumé <strong>du</strong> chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Exploration <strong>du</strong> milieu sous-marin par des véhicules autonomes 213.1 Premier pas de l’exploration sous-marine . . . . . . . . . . . . . . . . . . . . . 213.2 Vers toujours plus d’autonomie . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.2.1 Les véhicules habités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.2.2 Les poissons remorqués . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.2.3 Les ROV (Remotly Operated Vehicles) . . . . . . . . . . . . . . . . . . . 253.2.4 Les UUV (Unmanned Underwater Vehicles) . . . . . . . . . . . . . . . 253.3 Atouts des véhicules sous-marins autonomes . . . . . . . . . . . . . . . . . . . 263.4 Les véhicules sous-marins autonomes . . . . . . . . . . . . . . . . . . . . . . . 273.4.1 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.4.2 Domaines d’études et spécificités . . . . . . . . . . . . . . . . . . . . . 273.5 Vers l’utilisation de flottille . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.6 Résumé <strong>du</strong> chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 Les flottilles de véhicules sous-marins 334.1 La coordination de véhicules sous-marins . . . . . . . . . . . . . . . . . . . . . 334.1.1 Les approches leader-follower . . . . . . . . . . . . . . . . . . . . . . . 344.1.2 Les cibles virtuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.1.3 Le suivi de chemin coordonné . . . . . . . . . . . . . . . . . . . . . . . 364.1.4 Les corps virtuels et les champs de potentiels artificiels . . . . . . . . 374.1.5 Les systèmes de contrôle coopératif . . . . . . . . . . . . . . . . . . . . 384.2 Intérêt des systèmes multi-agents pour les flottilles d’AUV . . . . . . . . . . . 394.2.1 L’agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.2.2 Les systèmes multi-agents . . . . . . . . . . . . . . . . . . . . . . . . . . 414.2.3 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.3 Travaux utilisant les SMA pour les flottilles d’AUV . . . . . . . . . . . . . . . . 464.3.1 Adaptation d’architecure mono-AUV . . . . . . . . . . . . . . . . . . . 464.3.2 Les réseaux contractuels . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.3.3 Les réseaux de tâches hiérarchiques . . . . . . . . . . . . . . . . . . . . 484.3.4 Les systèmes de tableau noir . . . . . . . . . . . . . . . . . . . . . . . . 49
TABLE DES MATIÈRESv4.4 Limitations des approches existantes . . . . . . . . . . . . . . . . . . . . . . . . 504.4.1 Constat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504.4.2 Spécificités <strong>du</strong> domaine applicatif . . . . . . . . . . . . . . . . . . . . . 514.4.3 Conséquences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524.5 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.5.1 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.5.2 Problématiques soulevées . . . . . . . . . . . . . . . . . . . . . . . . . . 544.6 Principes de notre approche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555 Une vision organisationnelle des flottilles de véhicules sous-marins 575.1 Les systèmes multi-agents centrés sur l’agent . . . . . . . . . . . . . . . . . . . 575.1.1 Caractéristiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575.1.2 Conséquences de l’utilisation des ACMAS . . . . . . . . . . . . . . . . 585.2 Les systèmes multi-agents centrés sur l’organisation . . . . . . . . . . . . . . 595.2.1 Intérêt et définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605.2.2 Propriétés et avantages de l’utilisation d’OCMAS . . . . . . . . . . . . 625.3 Vers des approches organisationnelles pour les flottilles d’AUV . . . . . . . . 635.3.1 L’exemple <strong>du</strong> projet MAUV . . . . . . . . . . . . . . . . . . . . . . . . . 645.3.2 L’exemple <strong>du</strong> projet CoDA . . . . . . . . . . . . . . . . . . . . . . . . . . 655.3.3 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675.4 Le modèle organisationnel Agent/Groupe/Rôle . . . . . . . . . . . . . . . . . 695.4.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695.4.2 Spécificités <strong>du</strong> modèle AGR . . . . . . . . . . . . . . . . . . . . . . . . . 715.5 Atouts <strong>du</strong> modèle AGR pour la description de flottilles d’AUV . . . . . . . . . 735.5.1 Généricité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735.5.2 Simplification <strong>du</strong> comportement des véhicules . . . . . . . . . . . . . 745.5.3 Minimisation des communications . . . . . . . . . . . . . . . . . . . . 745.5.4 Réutilisabilité / extensibilité des flottilles . . . . . . . . . . . . . . . . . 755.6 Résumé <strong>du</strong> chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 766 Une approche de coopération réactive 776.1 Interactions entre AUV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786.2 La coopération et la collaboration dans les flottilles d’AUV . . . . . . . . . . . 796.2.1 La coopération . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796.2.2 La collaboration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806.2.3 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836.3 La coordination d’actions d’AUV . . . . . . . . . . . . . . . . . . . . . . . . . . 846.3.1 Formes de coordination d’actions . . . . . . . . . . . . . . . . . . . . . 85
viTABLE DES MATIÈRES6.3.2 La coordination réactive pour les flottilles d’AUV . . . . . . . . . . . . 876.3.3 Vers une approche de coopération réactive d’AUV . . . . . . . . . . . 886.4 Satisfaction et altruisme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896.4.1 Notion d’action coopérative . . . . . . . . . . . . . . . . . . . . . . . . 896.4.2 Principe <strong>du</strong> modèle satisfaction-altruisme . . . . . . . . . . . . . . . . 896.4.3 Satisfaction personnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . 906.4.4 Signaux d’influence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916.4.5 Actions coopératives - Réactions altruistes . . . . . . . . . . . . . . . . 926.4.6 Modèle général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936.5 Extension <strong>du</strong> modèle satisfaction-altruisme . . . . . . . . . . . . . . . . . . . . 946.5.1 Activités (ou comportements) . . . . . . . . . . . . . . . . . . . . . . . 946.5.2 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 966.5.3 Tendance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976.5.4 Processus de sélection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976.5.5 Désactivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986.5.6 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996.5.7 Vers la spécification <strong>du</strong> contexte des interactions . . . . . . . . . . . . 1006.6 Approche réactive organisationnelle . . . . . . . . . . . . . . . . . . . . . . . . 1016.6.1 Interactions réactives . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1026.6.2 Hétérogénéité des interactions . . . . . . . . . . . . . . . . . . . . . . . 1036.6.3 Mo<strong>du</strong>larité des interactions . . . . . . . . . . . . . . . . . . . . . . . . . 1066.6.4 Possibilités offertes par l’approche réactive organisationnelle . . . . . 1096.7 Résumé <strong>du</strong> chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1137 L’architecture REMORAS 1157.1 Analyse fonctionnelle pour la conception d’une architecture multi-AUV . . . 1167.1.1 Analyse fonctionnelle d’une organisation multi-agent . . . . . . . . . 1167.1.2 Principe d’intégration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1187.2 Modèle de conception d’architecture d’AUV en trois couches . . . . . . . . . 1187.2.1 Intégration des fonctions dans la couche sociale . . . . . . . . . . . . 1197.2.2 Intégration des fonctions dans la couche conative . . . . . . . . . . . 1207.2.3 Intégration des fonctions dans la couche fonctionnelle . . . . . . . . 1217.2.4 Vue globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1257.2.5 Vers une implémentation <strong>du</strong> modèle : l’architecture REMORAS . . . 1287.3 La couche sociale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1307.3.1 L’organisation de la flottille . . . . . . . . . . . . . . . . . . . . . . . . . 1307.3.2 Formalisme HTN pour la représentation et planification de tâches . . 1337.3.3 Répartition des tâches dans l’organisation . . . . . . . . . . . . . . . . 138
TABLE DES MATIÈRESvii7.3.4 Fonctionnement et implémentation . . . . . . . . . . . . . . . . . . . . 1407.3.5 Propriétés de la couche sociale . . . . . . . . . . . . . . . . . . . . . . . 1437.3.6 Conséquences pour son implémentation et son utilisation . . . . . . 1457.3.7 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1467.4 La couche conative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1467.4.1 Auto-représentation et planification d’activités . . . . . . . . . . . . . 1477.4.2 Système motivationnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1507.4.3 Système décisionnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1537.4.4 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1567.5 La couche fonctionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1567.5.1 Equipements et fonctionnement courant . . . . . . . . . . . . . . . . . 1577.5.2 Mo<strong>du</strong>les d’exécution d’activité . . . . . . . . . . . . . . . . . . . . . . . 1617.6 Résumé <strong>du</strong> chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1738 Application à une mission sous-marine 1758.1 Stratégie collective de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . 1758.1.1 Organisation générique . . . . . . . . . . . . . . . . . . . . . . . . . . . 1768.1.2 Différentes phases de fonctionnement . . . . . . . . . . . . . . . . . . 1788.1.3 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1808.2 La plate-forme de simulation TurtleKit . . . . . . . . . . . . . . . . . . . . . . . 1818.2.1 Présentation générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1818.2.2 Environnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1818.2.3 Véhicules sous-marins autonomes . . . . . . . . . . . . . . . . . . . . . 1828.3 Scénario 1 : stratégie collective de fonctionnement nominale . . . . . . . . . 1838.3.1 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1838.3.2 Description <strong>du</strong> scénario nominal . . . . . . . . . . . . . . . . . . . . . 1848.3.3 Spécification des interactions . . . . . . . . . . . . . . . . . . . . . . . . 1858.3.4 Implémentation initiale . . . . . . . . . . . . . . . . . . . . . . . . . . . 1878.3.5 Mise en œuvre de la première phase de rassemblement . . . . . . . . 1908.3.6 Mise en œuvre de la SKF complète . . . . . . . . . . . . . . . . . . . . . 1958.3.7 Configuration de la simulation . . . . . . . . . . . . . . . . . . . . . . . 1968.3.8 Résultats de simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 1988.3.9 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2028.4 Scénario 2 : stratégie collective de fonctionnement avec aléas . . . . . . . . . 2048.4.1 Intro<strong>du</strong>ction de nouvelles interactions . . . . . . . . . . . . . . . . . . 2048.4.2 Implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2078.4.3 Résultats de simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 2098.4.4 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
viiiTABLE DES MATIÈRES8.5 Scénario 3 : recherche de boite-noire . . . . . . . . . . . . . . . . . . . . . . . . 2158.5.1 Description de la mission . . . . . . . . . . . . . . . . . . . . . . . . . . 2158.5.2 Coopération entre AUV pour la recherche de la boîte-noire . . . . . . 2178.5.3 Implémentation et mise en en œuvre de la mission . . . . . . . . . . . 2198.5.4 Résultats de simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 2248.5.5 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2308.6 Résumé <strong>du</strong> chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2319 Conclusion 2339.1 Conclusion générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2339.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234A Modélisation des véhicules 237A.1 Référentiels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237A.1.1 Référentiel absolu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237A.1.2 Référentiel absolu <strong>du</strong> véhicule . . . . . . . . . . . . . . . . . . . . . . . 237A.1.3 Référentiel véhicule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238A.2 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239A.2.1 Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239A.2.2 Vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240A.3 Modélisation cinématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241A.3.1 Transformation des vitesses linéaires . . . . . . . . . . . . . . . . . . . 241A.3.2 Transformation des vitesses angulaires . . . . . . . . . . . . . . . . . . 241A.3.3 Relation générale de la cinématique . . . . . . . . . . . . . . . . . . . . 242B Algorithme distribué pour la coordination d’agents mobiles 243B.1 Intro<strong>du</strong>ction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243B.1.1 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243B.1.2 Description générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244B.2 Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245B.2.1 Modèle d’observation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245B.2.2 Position <strong>du</strong> problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246B.3 Contraintes de déplacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247B.3.1 Contraintes <strong>du</strong>res . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247B.3.2 Contrainte douce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250B.4 Algorithme distribué . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250B.4.1 Préliminaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250B.4.2 Scénario au taux de communication élevé . . . . . . . . . . . . . . . . 251
TABLE DES MATIÈRESixB.4.3 Exemples de "gossip" aléatoires . . . . . . . . . . . . . . . . . . . . . . 254B.4.4 Scénario au taux de communication bas . . . . . . . . . . . . . . . . . 255Table des figures 271Liste des tableaux 274
CHAPITRE1Intro<strong>du</strong>ction1.1 Cadre généralLa capacité de l’homme à explorer le milieu sous-marin constitue aujourd’hui un enjeumajeur. Que ce soit dans le domaine in<strong>du</strong>striel ou scientifique, nombre de projets nécessited’être capable d’effectuer des tâches complexes sous l’eau, parfois à des niveaux de profondeursextrêmes. De par la nature <strong>du</strong> milieu sous-marin, les conditions liées à son explorationsont extrêmement difficiles. En particulier, les profondeurs marines représentent pourl’homme un environnement très hostile. Outre l’absence d’air, les températures et les pressionsqui peuvent être rencontrées font qu’il est à la fois très difficile et risqué d’envoyerdes indivi<strong>du</strong>s sur les lieux qui doivent être explorés. De fait, la conquête <strong>du</strong> milieu sousmarinpasse aujourd’hui par une utilisation croissante de véhicules robotisés. En fonction<strong>du</strong> contexte d’utilisation, ces robots peuvent nécessiter un degré d’autonomie important.Dans cette thèse, nous nous intéressons plus particulièrement aux robots sous-marins quine nécessitent pas d’intervention humaine pour fonctionner et qui possèdent donc unetrès grande autonomie. De tels robots sont communément appelés véhicules sous-marinsautonomes, Autonoumous Underwater Vehicle (AUV) en anglais.Grâce à leur autonomie les AUV constituent un moyen sans pareil d’explorer le milieusous-marin et il ne fait aucun doute qu’ils représentent le futur de l’exploration sousmarine.De nos jours, l’utilisation des AUV pose cependant encore de difficiles problèmeset les défis à relever sont nombreux. En particulier, <strong>du</strong> fait de la très forte dynamique <strong>du</strong> milieusous-marin, le risque de perdre les appareils envoyés en mission est non négligeableet les AUV qui sont aujourd’hui construits sont généralement de petite taille. Cet état defait a une conséquence immédiate : un AUV ne peut pas embarquer plus qu’une certaine1
2 CHAPITRE 1. INTRODUCTIONquantité d’énergie. Ces contraintes imposent par conséquent de concevoir des AUV quiembarquent le moins de charges possibles. C’est pourquoi les AUV sont généralement trèsspécialisés et conçus pour accomplir des tâches bien précises.Dans le même temps, les missions sous-marines aujourd’hui considérées peuvent requérirde multiples compétences et nécessiter la couverture de relativement grandes surfaces.Dans un tel contexte, plutôt que d’envisager la construction d’un AUV très coûteuxcapable de répondre à lui seul à l’ensemble des problèmes posés, la recherche s’oriente aujourd’huivers la conception et l’utilisation de flottilles d’AUV. Les bénéfices atten<strong>du</strong>s d’unetelle approche sont multiples. Premièrement, cela doit permettre de minimiser les coûtsgrâce à une répartition de ceux-ci sur l’ensemble de la flottille : la perte d’un AUV ou sonmauvais fonctionnement ne remettront pas en cause l’intégralité de la mission. Deuxièmement,l’utilisation d’une flottille doit de fait permettre de ré<strong>du</strong>ire le temps d’exécutiond’une mission grâce à la parallélisation de certaines tâches. Enfin, la réalisation d’une missionpar une flottille permet de conserver le caractère spécialisé des AUV et donc d’envisagerplus facilement leur réutilisation dans d’autres contextes. Dans cette thèse, nous abordonsquelques-unes des problématiques de recherche spécifiquement liées à la conceptionet l’utilisation de flottilles d’AUV.1.2 Problématiques abordéesL’utilisation de flottilles d’AUV est un véritable challenge pour la réalisation de missionsen environnement sous-marin. Dans ce contexte nous nous intéresserons spécifiquementà deux problématiques.La première est liée aux difficultés de gérer l’hétérogénéité des AUV présents dans uneflottille. En effet, les solutions de coordination d’AUV existantes sont souvent étroitementliées (1) à un type spécifique de mission et (2) aux caractéristiques des AUV considérés.Ainsi, il est difficile de réutiliser ces approches pour des flottilles composées d’AUV différentsou pour d’autres contextes de mission.La deuxième concerne la prise en compte des contraintes liées à la communication enmilieu sous-marin. Ce medium impose notamment un débit restreint, des délais importantset une fiabilité variable. Les approches existantes s’appuient généralement sur descommunications de haut niveau diffusées à l’ensemble des AUV. Ceci engendre beaucoupd’échanges et limite la taille des flottilles qui peuvent être envisagées.Pour aborder ces problématiques, cette thèse se situe à l’intersection entre deux disciplines: la robotique sous-marine et les systèmes multi-agents. Notre objectif est de propo-
1.3. PLAN DE LA THÈSE 3ser des solutions théoriques et algorithmiques aux problèmes de la coordination de flottillesd’AUV.En particulier nous définirons :– un modèle organisationnel pour la conception et la spécification de flottilles d’AUVindépendamment des compétences des AUV et des missions à réaliser.– une approche de coopération réactive visant à limiter les communications entreAUV.– une architecture logicielle générique d’AUV permettant de combiner le modèle organisationnelet l’approche réactive.– une stratégie collective de fonctionnement indépendante des missions demandéeset tenant compte des faibles débits de communication.1.3 Plan de la thèseDans le chapitre suivant, nous décrivons tout d’abord de manière générale les caractéristiques<strong>du</strong> milieu sous-marin et donnons quelques exemples des enjeux liés à son exploitation.Dans le chapitre 3, nous discutons l’intérêt d’utiliser des véhicules toujours plus autonomespour l’exploration sous-marine. Ce qui nous amènera à considérer l’utilisation deflottille d’AUV comme une solution pertinente pour l’exploration <strong>du</strong> milieu sous-marin.Dans le chapitre 4, nous abordons le cœur de cette thèse en réalisant un état de l’art surla conception et l’utilisation de flottilles. Nous montrons notamment en quoi l’utilisation<strong>du</strong> paradigme multi-agent représente dans ce contexte une piste de recherche prometteuse.Ce chapitre propose ensuite une analyse des avantages et des limites des travauxutilisant ce paradigme. En particulier, nous verrons que ces approches sont limitées pardeux principaux verrous : (1) la gestion de l’hétérogénéité potentielle d’une flottille et (2)le nombre de communications in<strong>du</strong>it. A partir de là, nous présentons les grandes lignes denotre approche avant de la détailler dans les chapitres suivants.Le chapitre 5 est dédié au premier pilier de notre approche : l’utilisation d’une visionorganisationnelle pour la conception de flottille d’AUV. Dans ce chapitre, nous motivonstout d’abord cette orientation avant de donner quelques exemples de travaux existants quipeuvent lui être apparentés. Nous présentons ensuite le modèle organisationnel Agent/-Groupe/Rôle sur lequel se base plus spécifiquement notre approche. Nous montrons enquoi celui-ci permet d’apporter une réponse à la question de l’hétérogénéité des robotsd’une flottille.
4 CHAPITRE 1. INTRODUCTIONDans le chapitre 6, nous argumentons sur l’utilisation d’une approche de coopérationréactive comme deuxième pilier de notre contribution. Nous montrons notamment pourquoiune telle approche doit permettre de fortement ré<strong>du</strong>ire le nombre de communicationsnécessaires entre les appareils d’une flottille. Plus spécifiquement, dans ce chapitrenous proposons d’utiliser le modèle satisfaction/altruisme comme base pour la spécificationdes communications et des interactions entre les AUV de la flottille. Pour finir, nousdiscutons dans ce chapitre de l’intérêt d’associer ces deux piliers afin d’adresser simultanémentles deux principaux verrous que nous aurons identifiés précédemment.Dans le chapitre 7, nous présentons l’architecture REMORAS qui permet de combinerune vision organisationnelle de la flottille avec une approche de coopération réactiveentre AUV. Le design de cette architecture repose sur une analyse fonctionnelle d’une flottilled’AUV à partir de laquelle nous extrayons un modèle de conception en trois couches :(1) sociale, (2) conative et (3) fonctionnelle. Dans ce chapitre, chacune de ces couches estdécrite en détail puis une synthèse globale de l’architecture est proposée.Dans le chapitre 8, nous proposons une validation de la faisabilité de notre approcheà l’aide d’une simulation d’un scénario de recherche de boîte noire. Nous présentons toutd’abord les caractéristiques de ce scénario avant de décrire l’implémentation réalisée àpartir de celui-ci. Ensuite, nous présentons et discutons les résultats de simulation.Le chapitre 9 propose quant à lui une conclusion générale sur notre travail en résumantles différentes contributions de cette thèse ainsi que quelques-unes des perspectives quilui sont associées à court et moyen terme.
CHAPITRE2Nature et enjeux <strong>du</strong> milieusous-marinCe chapitre est consacré à la présentation <strong>du</strong> domaine applicatif de la thèse. Nous décrironsd’abord le milieu sous-marin. Nous détaillerons ensuite, les différents enjeux quereprésentent ce milieu pour l’Homme et nous caractériserons les besoins que nécessiteson exploitation.2.1 L’environnement sous-marin2.1.1 Immensité et profondeurLa terre est bleue comme uneorangeL’Amour la poésieP. ELUARDCe vers, <strong>du</strong> poète <strong>du</strong> XXème siècle Paul Eluard, est une métaphore évoquant la formeronde et la couleur dominante bleue de notre planète. La Terre doit son bleu à l’immensitéacqueuse qui recouvre environ 71 % de sa surface. L’eau est présente sous forme solidedans les glaciers et les calottes glaciaires et en phase liquide et vapeur dans l’atmosphère.5
6 CHAPITRE 2. NATURE ET ENJEUX DU MILIEU SOUS-MARINL’eau liquide est trouvée dans toutes sortes d’éten<strong>du</strong>es, telles que les océans, les mers, leslacs, les eaux souterraines et de cours d’eau tel que les fleuves, les rivières, les torrents, lescanaux ou les étangs (cf. figure 2.1). La majorité de l’eau sur Terre est de l’eau de mer. Lesocéans recouvrent environ 361 millions de km 2 , soit 70,8% de la surface <strong>du</strong> globe. Leurvolume total atteint 1,37 milliard de km 3 et leur profondeur moyenne est de l’ordre de3 700−3 800 mètres (cf. figure 2.2). Près de la moitié des eaux océaniques dépasse 3 000 mde profondeur. Le point le plus profond est la fosse des Mariannes, avec 11 020 m de profondeur(cf. figure 2.3).Totalité de l'eauEau douce2,5 %Eau salé97,5 %Eau en surface etdans l'atmosphère0,4 % Eau en surface etdans l'atmosphèreLacs67,4 %Biota0,8 %Rivières1,6 %Zones humides8,5 %Humidité <strong>du</strong> sol12.2 %Atmosphère9,5 %FIGURE 2.1 : Répartition de l’eau sur Terre2.1.2 Un milieu dynamiqueLes eaux océaniques sont loin d’être immobiles, elles sont au contraire soumises enpermanence à de nombreuses influences extérieures et sont constamment en mouvement.L’attraction des corps célestes, notamment la lune et le soleil, provoque des mouvementsmontant puis descendant, appelées marées, des eaux des mers et des océans. Les océansreçoivent aussi de façon très inégale l’énergie solaire, les différences de température sontla cause principale des courants marins de profondeur. Le soleil génère aussi des vents quisont les principaux facteurs des courants de surface et des vagues. Des évènements tels queles séismes ou les éruptions sous-marines peuvent engendrer des phénomènes exceptionnelscomme des tsunamis. Berceau de la vie, les océans ont accueilli les premières formesde vie il y a 3,8 milliards d’années. Depuis, la vie n’a cessé de coloniser ces eaux que ce soit
2.1. L’ENVIRONNEMENT SOUS-MARIN 7FIGURE 2.2 : Statistiques sur les océanspar des animaux microscopiques (les bactéries par exemple) jusqu’aux animaux les plusgros de la planète (baleines bleues). Les courants, les vagues, les inévitables objets ou animauxen déplacement font des océans et des mers, un environnement particulièrementdynamique.2.1.3 Un univers méconnuCet environnement est resté pendant longtemps inaccessible à l’Homme. De nos jours,il reste toujours extrêmement méconnu en raison des difficultés à percevoir le milieu.Les ondes électromagnétiques, en particulier lumineuses, se propagent mal dans l’eau,au maximum sur quelques dizaines de mètres. En conséquence, la matière vivante se développeabondamment dans les eaux peu profondes où la lumière <strong>du</strong> soleil peut pénétrer.Les ondes électromagnétiques peuvent être aussi utilisées par certaines espèces animales,comme les requins, pour détecter leurs proies à proximité lors des attaques. Les ondes radioélectriquessont absorbées très rapidement par l’eau, à tel point que les ondes ne sepropagent que sur quelques mètres.Au contraire, les ondes acoustiques se propagent particulièrement bien sous l’eau, l’atténuation<strong>du</strong>e à l’absorption et à la diffusion est beaucoup plus faible que pour les ondesélectromagnétiques. Les mammifères marins utilisent les ultrasons pour communiquer
8 CHAPITRE 2. NATURE ET ENJEUX DU MILIEU SOUS-MARINFIGURE 2.3 : Profondeurs des océansentre eux et percevoir l’environnement et les proies potentielles via des techniques d’écholocalisation.Ces techniques consistent à envoyer des sons et à écouter leurs échos pourlocaliser et dans une moindre mesure identifier les éléments désirés. Ainsi, le cachalot utiliseun organe dans son énorme tête appelé spermaceti comme sonar biologique. Il émetdes sons pulsés, appelés clicks dont l’énergie se distribue dans une fenêtre acoustique quis’étend de quelques Hertz à 30 kHz avec une intensité supérieure à 230 dB. Ce système luipermet de repérer ses proies lors de plongées à plus de 2 000 m de profondeur. Des donnéesrécentes estiment qu’un seul de ces clicks permet au cachalot de localiser un calmarde 25 cm à environ deux kilomètres de distance.2.2 Exploitation scientifique2.2.1 Cartographie et géologie marineSur les 71% de la Terre d’eau, environ 10% <strong>du</strong> fond marin ont fait l’objet de levés hydrographiquesavec une résolution de 1 minute ou plus. La figure 2.4 présente les différentsrelevés bathymétriques multifaisceau réalisés au cours des 30 dernières années. Les donnéesbathymétriques sont importantes pour la pro<strong>du</strong>ction de pro<strong>du</strong>its relatifs à la naviga-
2.2. EXPLOITATION SCIENTIFIQUE 9tion (tels que les cartes marines) et pour l’avancée d’un grand nombre de sciences de laTerre. Une connaissance détaillée de la bathymétrie mondiale est indispensable pour cartographierles océans et pour comprendre la manière dont les systèmes terrestres globauxinteragissent. La forme des bassins, des crêtes et des monts océaniques influence la circulationde l’eau et avec elle la chaleur, la salinité, les substances nutritives et les polluants.Ces formes ont également une influence sur la propagation de l’énergie des évènementssismiques sous-marins qui peuvent éventuellement con<strong>du</strong>ire à des catastrophes, tels queles tsunamis.FIGURE 2.4 : Carte des relevés bathymétriques multifaisceau [Noa, 2012]2.2.2 L’océanographie chimiqueL’eau de mer contient, en plus ou moins grande quantité, l’ensemble de la table périodiquedes éléments. L’océanographie chimique concerne divers secteurs d’études dontl’étude des sels minéraux, des gaz, l’étude des molécules organiques et des polluants (organiquesou non), ainsi que leur distribution dans toutes les dimensions de la tranche d’eau.L’essentiel des travaux d’océanographie chimique décrivent les cycles bio-géochimiquesdes nombreux éléments, comme le carbone, le chlore ou le soufre, mais aussi le rôle deséléments chimiques dans l’écologie marine. Les mesures de salinité [Spiewak et al., 2006]peuvent permettre de détecter et d’analyser des sources d’eau douce en mer avec l’ambitionde contribuer à combler les carences en eau potable de certains pays.
10 CHAPITRE 2. NATURE ET ENJEUX DU MILIEU SOUS-MARIN2.2.3 L’océanographie physiqueLes vagues, les marées, les courants océaniques jouent un rôle majeur sur le climat dela planète. L’étude de ces processus physiques requiert des mesures de densité, de températurede l’eau et des vitesses des écoulements sous-marins. L’état des régions polairesest aussi un élément indicateur de l’évolution <strong>du</strong> climat de la planète. Les études menéesdans ces régions nécessitent l’inspection de zones sous-marines situées sous la banquise.L’hostilité de ces zones froides et peu accessibles encourage les recherches à s’appuyer surdes dispositifs ne faisant pas intervenir l’homme.2.2.4 La biologie marineLa vie marine est une vaste ressource fournissant de la nourriture, des médicaments etdes matières premières. Elle aide aussi à soutenir les loisirs et le tourisme dans le mondeentier. A un niveau fondamental, la vie marine permet de déterminer la nature même denotre planète. Les organismes marins contribuent de manière significative dans le cycle del’oxygène et sont impliqués dans la régulation <strong>du</strong> climat de la Terre. Les rivages et les côtessont en partie façonnés et protégés par la vie marine et certains organismes marins aidentmême à créer de nouvelles terres. La biologie marine couvre une grande surface : <strong>du</strong> microscopiqueincluant le zooplancton et le phytoplancton aux plus grands cétacés (baleines)qui atteignent jusqu’à un 30 mètres de longueur (cf. figue 2.5). On estime qu’il existe entre10 et 30 millions d’espèces inconnues dans les fonds marins. La biologie marine étudietous les types d’habitats, depuis les minuscules couches d’eau de surface dans lesquellesles organismes et les éléments abiotiques peuvent être pris au piège par la tension superficielleentre l’océan et l’atmosphère, jusqu’aux profondeurs des fosses océaniques, parfoismême 10 000 mètres ou plus sous la surface de l’océan. Cette discipline étudie aussi les habitatstels que les récifs coralliens, les forêts de kelp, les mares rési<strong>du</strong>elles, les fonds boueux,sablonneux et rocailleux et les zones pélagiques 1 . Une grande proportion de toute vie surTerre existe dans les océans. La taille exacte de la proportion est inconnue puisqu’un grandnombre d’espèces océaniques reste à être découvert. Les habitats s’étendent sur environ300 fois le volume habitable des habitats terrestres sur Terre.De nombreuses espèces marines sont économiquement importantes pour les humains,on inclue notamment les poissons de consommation. Il va donc de soi que le bienêtredes organismes marins et d’autres organismes sont liés de manière tout à fait fondamentaleà la vie humaine. La connaissance humaine en ce qui concerne la relation entre la1. Partie des lacs, des mers ou des océans qui comprend toute la colonne d’eau, c’est-à-dire les partiesautres que les côtes ou le fond marin.
2.2. EXPLOITATION SCIENTIFIQUE 11FIGURE 2.5 : Biodiversité marinevie dans la mer et les cycles importants se développe rapidement avec de nouvelles découvertespresque quotidienne. De vastes zones sous la surface de l’océan restent néanmoinsinexplorées.2.2.5 Protection de l’environnementL’application des lois relatives aux restrictions de pêche ainsi que la protection de l’environnementmaritime requiert la détection, l’identification, la poursuite et l’interdictiondes bateaux suspects. Ces procé<strong>du</strong>res requièrent des informations précises et fiables pourpouvoir être prises en compte par les autorités judiciaires.2.2.6 Archéologie sous-marine et subaquatiqueCes dernières années, le développement des technologies sous-marines a permis à denombreuses équipes de recherche (historiens, archéologues, etc.) de rechercher un patrimoinequi était jusqu’à présent inaccessible. Au fil des siècles, les hommes n’ont cesséd’emprunter des voies fluviales, maritimes ou plus récemment aériennes au dessus desmers que ce soit pour coloniser de nouveaux territoires ou pour faire <strong>du</strong> commerce. A lasuite d’une avarie ou d’une attaque, certains navires ou avions se sont abîmés en mer avecleurs cargaisons. L’archéologie sous-marine permet de mettre au jour et d’étudier des vestigesfossilisés dans des conditions souvent idéales de préservation. Sauf en cas de pillage,un navire qui a sombré livre une cargaison intacte. Peu de sources documentaires ne permettentde reconstituer aussi précisément les courants d’échanges de l’Antiquité ou despériodes plus récentes. D’une manière générale, les historiens évaluent les zones de re-
12 CHAPITRE 2. NATURE ET ENJEUX DU MILIEU SOUS-MARINcherche à partir d’archives écrites, de témoignages et d’opérations de sondage. Des campagnessont ensuite menées dans le but de retrouver ces vestiges, de reconstituer l’environnement(cartographie, photos, vidéos) et d’en certains cas d’extraire des objets (amphores,documents, etc.) voire même l’épave entière.2.3 Exploitation in<strong>du</strong>strielle2.3.1 L’offshore pétrolier et gazierL’offshore pétrolier représente environ le tiers des exploitations. Il est principalementsitué dans une partie peu profonde (100 à200m) des zones côtières, appelée plateau continental.Pour trouver de nouveaux gisements, les compagnies pétrolières doivent s’éloignerdavantage des côtes au-delà <strong>du</strong> plateau continental. Dans ces zones éloignées, l’exploitationdes fonds marins devient très difficile.En effet, comme le montre la figure 2.6, le plateau continental se poursuit après unebrusque rupture de pente sur une zone très abrupte appelée talus continental. A la base <strong>du</strong>talus, on atteint des profondeurs comprises entre 2 000 et 6 000 mètres formant le bassinocéanique.FIGURE 2.6 : Coupe de la zone côtièreOn estime que 44% des ressources de pétrole et de gaz exploitables par les installationspétrolières offshore (cf. figure 2.7) se trouvent à des profondeurs supérieures à 400 mètres[Fournet, 2002]. Cependant, la mise en place de ces installations dans de telles profondeursnécessite au préalable des études d’exploitabilité. Ces études basées sur des analyses topographiqueset des reconnaissances sismiques nécessitent de pouvoir faire descendre les
2.3. EXPLOITATION INDUSTRIELLE 13appareils de mesures à proximité <strong>du</strong> fond pour obtenir des images d’assez bonne résolution.Des opérations de maintenance doivent être effectuées sur les con<strong>du</strong>ites et les puitssous-marins. Des interventions d’urgence, en particulier de colmatage, peuvent être envisagéesen cas d’avarie. Ce fut notamment le cas lors de l’explosion de la plate-forme pétrolièreDeepwater Horizon dans le golfe <strong>du</strong> Mexique en 2010. Durant 5 mois, de nombreusesopérations de colmatage <strong>du</strong> puit ont été effectuées à environ 1 500 m de profondeur.FIGURE 2.7 : Offshore profond2.3.2 MineraiL’extraction de minerai dans les fonds océaniques est un défi majeur pour la prochainedécade. Par exemple à proximité des îles Hawaï, sur le plancher de l’océan Pacifique, onestime qu’il y a une éten<strong>du</strong>e de 2000 milliards de tonnes de no<strong>du</strong>les 2 de manganèse. Legéologue Jean-Claude Michel qualifie les ressources minières sous-marine de "gisementinépuisable" [Michel, 2006]. En effet au sein des dorsales et des fossés océaniques où lefonctionnement des systèmes hydrothermaux entraîne la précipitation de métaux qui, ens’accumulant, forment de véritables gisements polymétalliques en constante génération.Il classe ces ressources en trois principales catégories :– les no<strong>du</strong>les polymétalliques (Co, Fe, Mn, Ni et Cu) présents sur la plupart des fondsmarins, reposant sur le plancher sédimentaire.2. petites concrétions constituées de métaux qu’on trouve au fond des océans.
14 CHAPITRE 2. NATURE ET ENJEUX DU MILIEU SOUS-MARIN– les encroûtements à cobalt et oxydes de manganèse et de fer qui se rencontrent danstous les océans, entre 400 et 4000 mètres de profondeur, sur les flancs et les sommetsdes volcans sous-marins ainsi que sur les dorsales et les plateaux.– les sulfures massifs sur lesquels se focalise actuellement l’in<strong>du</strong>strie minière se présententcomme économiquement prometteurs.Les besoins dans ce domaine sont similaires à ceux de l’in<strong>du</strong>strie pétrolière, exceptéque la dispersion <strong>du</strong> minerai sur de vastes surfaces nécessite aux dispositifs d’exploitationde pouvoir être en mouvement [Lapierre et al., 2006].Récemment, des entreprises se sont développées autour de la recherche de trésors. Enfévrier 2012, la société Sub Sea Research a annoncée avoir retrouvé l’épave <strong>du</strong> navire britanniqueS.S. Port Nicholson qui avait sombré en 1942. Il avait été envoyé par l’URSS enguise de paiement pour le matériel militaire américain, avant d’être torpillé par un sousmarinallemand. Le cargo contenait 71 tonnes de platine, peut-être 10 tonnes d’or et desdiamants in<strong>du</strong>striels. La cargaison est estimée aujourd’hui à 3 milliards de dollars. Les recherches,les méthodes de reconstitution de l’environnement et les techniques d’extractiondans ce domaine sont similaires à ceux de l’archéologie sous-marine.2.3.3 TélécommunicationFIGURE 2.8 : Etude bathymétrique avant la pose d’un cable
2.3. EXPLOITATION INDUSTRIELLE 15Les télécommunications sont un autre secteur de l’in<strong>du</strong>strie offshore qui évolue rapidement.Ses 16% de parts d’activité [Lapierre et al., 2006] sont en progression. C’est en1851 que le tout premier câble sous-marin a été posé entre Douvres et le cap Gris-Nez.Chaque année, près de 200 000 kilomètres de câbles sous-marins sont posés à traverstoutes les mers <strong>du</strong> globe. Ils ont pour tâche d’acheminer le trafic téléphonique, la vidéoet les données. On assiste à une demande grandissante relative à la sécurité, la robustesseet la haute capacité des réseaux de télécommunication internationaux. Pour répondre àcette demande, les in<strong>du</strong>stries de télécommunication impliquées dans le déploiement offshoredoivent réaliser une étude topographique (cf. figure 2.8) de la zone concernée. Ellepermet de déterminer le trajet idéal, le plus court, sans risque pour le câble, en évitantles reliefs et recherchant les terrains relativement meubles. Lorsque cela est possible, unesouille est creusée (cf. figure 2.9), pour y enfouir les câbles dans le sol marin. Au cours dela phase d’exploitation, les liens de communication sous-marins peuvent être inspectés etéventuellement réparés.FIGURE 2.9 : Ensouillage d’un câble par le robot Spider développé par Nexans2.3.4 Recherche de boîte noireL’équipementIntro<strong>du</strong>ites dans l’aviation à partir des années 1960, les boîtes noires (cf. figure 2.10)sont des dispositifs conçus pour enregistrer les données de vol et les conversations <strong>du</strong>
16 CHAPITRE 2. NATURE ET ENJEUX DU MILIEU SOUS-MARINcockpit d’un avion. Résistantes au choc, à l’incendie et à l’immersion profonde, elles sontconçues pour ne pas être détruites dans une catastrophe aérienne. Elles sont équipéesd’une balise ULB (Underwater Locator Beacon) qui se déclenche en cas d’immersion pourémettre un signal à ultrason afin d’aider à la localisation de l’appareil. Le signal omnidirectionnelest émis à une fréquence de 37,5 kHz à 160 dB toutes les secondes pendant une<strong>du</strong>rée d’au moins trente jours consécutifs sur une portée de 2 km environ.FIGURE 2.10 : Boîte noire immergéeLa rechercheLes incertitudes sur le lieu de l’abîmage d’un avion en mer nécessitent généralement lamise en œuvre de moyens aériens, maritimes et sous-marins importants. Plusieurs équipesin<strong>du</strong>strielles, militaires et gouvernementales sont obligées de se coordonner pour couvrirune vaste zone et rechercher les débris de l’avion par divers moyens. Les premiers jours,les moyens aériens et maritimes sont déployés pour localiser des débris flottants et ainsirestreindre la zone de recherche. Parallèlement, des efforts sont fournis pour détecter lessignaux ultrasonores potentiellement émis par les boîtes noires. Les navires remorquentdes hydrophones passifs immergés, appelés "towed pinger locators" (TPL), qui peuventcapter des signaux jusqu’à 6 000 m de profondeur. En même temps, des sous-marins in<strong>du</strong>strielset militaires sont déployés dans le même objectif. A mesure que les probabilitésde détecter les signaux émis par les boîtes noires diminuent, les moyens, en particuliersous-marins, sont de plus en plus orientés vers la cartographie afin de déceler des débrisd’avions tapis sur le fond sous-marin. L’épave repérée, des opérations sont effectuées pourrécupérer les boîtes noires et extraire les corps de l’appareil.
2.4. EXPLOITATION MILITAIRE 17L’analyseLes boîtes sont analysées par les autorités chargées de la sécurité aérienne (en France,le Bureau d’enquêtes et d’analyses, BEA). Les données enregistrées permettent de reconstituerla phase finale <strong>du</strong> vol voire, dans les cas les plus récents, d’être intro<strong>du</strong>ite dans unsimulateur de vol pour une répétition complète <strong>du</strong> vol. L’analyse de ces données est d’uneimportance capitale pour les in<strong>du</strong>striels <strong>du</strong> secteur aéronautique, elles permettent de déterminerles causes technologiques ou humaines de l’incident pour pouvoir y remédier etde déterminer les différentes responsabilités de l’accident.2.4 Exploitation militaire2.4.1 Surveillance, dissuasion et attaqueJusqu’à la seconde guerre mondiale, les missions militaires sous-marines consistaientà couler des navires ennemis (en particulier des navires de commerces), à mouiller desmines sous-marines et éventuellement à interdire l’accès ou la sortie d’un port. Désormaisles missions sous-marines incluent la lutte anti-navires de surface, la lutte anti-sousmarine,l’infiltration de forces spéciales, l’attaque de cibles à terre, l’escorte des groupesde combat et notamment des groupes aéronavals, la collecte de renseignements, la dissuasionnucléaire et les opérations de recherche et de sauvetage.Différents sous-marins militaires sont généralement utilisés pour effectuer ses opérations,ils sont généralement classés en plusieurs types. Les sous-marins d’attaque, extrêmementpolyvalents, assurent la plupart des missions énoncées ci-dessus. Leur missionprincipale est la destruction des forces de surface ou sous-marines ennemies par torpillesou missiles anti-navires. Ils peuvent également être dotés de missiles de croisièrepour la frappe d’objectifs terrestres, certaines marines les distinguent comme sous-marinslanceurs de missiles de croisière. Les sous-marins lanceurs d’engins balistiques ont pourmission la dissuasion nucléaire. Particulièrement silencieux, ils peuvent lancer, en plongée,des missiles balistiques à charge nucléaire. Enfin, les sous-marins de sauvetage sontconçus pour recueillir l’équipage d’un sous-marin en perdition qui serait posé sur le fond.Des navires de surface spécialisés, des ravitailleurs de sous-marins, servent à leur maintenanceet à leur ravitaillement hors de leur port d’attache.
18 CHAPITRE 2. NATURE ET ENJEUX DU MILIEU SOUS-MARIN2.4.2 DéminageDepuis la première guerre mondiale, les opérations militaires sous-marines sont devenuesd’une importance capitale dans la gestion de nombreux conflits à travers le monde.Les applications militaires les plus étudiées concernent la détection et la destruction demines sous-marines. Certains de ces engins explosifs, vestiges de la seconde guerre mondiale,peuplent les routes de navigation maritime ainsi que les côtes atlantiques. Ces opérationssont très dangereuses car elles nécessitent un dispositif opératoire pour approcherles zones incriminées pour détecter et détruire les objets suspects.2.5 Discussions2.5.1 Un immense espace à exploiterDans la section 2.1, l’environnement sous-marin est décrit comme un immense espace.Les exploitations scientifiques, in<strong>du</strong>strielles ou militaires de cet environnement onten commun d’avoir de larges zones à couvrir. En effet, les campagnes de cartographie bathymétrique,de mesures environnementales et d’archéologie sous-marine n’en sont qu’àleurs balbutiements. D’immenses espaces restent à découvrir compte tenu des besoinsde l’Homme en collecte de données. A mesure que la démographie et le développementdes peuples croissent, le besoin en matière première et en communication de l’Hommeaugmente. Un des enjeux <strong>du</strong> XXIème siècle sera de découvrir de nouveaux gisements depétrole, de gaz et de minerai pour faire face à cette demande. Il faudra aller de plus enplus loin, de plus en plus profond... Enfin, la puissance militaire marine et sous-marinepeut être déployée sur tous les océans et les mers <strong>du</strong> globe. D’une manière générale, lesdifférentes applications sous-marines nécessitent la couverture de vastes zones et d’allerde plus en plus profond.2.5.2 Le besoin de multiples compétencesL’accomplissement des différentes missions citées dans les sections 2.2, 2.3 et 2.4 estgénéralement complexe et requiert la réalisation de tâches de différentes natures. En raisonde la diversité des données scientifiques à collecter, les acquisitions à réaliser supposentd’utiliser différents moyens pour réaliser des levées bathymétriques, des prises dephotos et de vidéos, des mesures de température, de salinité, la réalisation de prélèvement,etc. Les applications in<strong>du</strong>strielles exigent généralement la coordination d’engins de sur-
2.6. RÉSUMÉ DU CHAPITRE 19face et sous-marins. Les opérations réalisées telles que la topographie, la mesure et l’étude<strong>du</strong> sol et <strong>du</strong> sous-sol, le terrassement, la manipulation d’objets pour la construction, lamaintenance, etc. requièrent de multiples compétences. Dans le domaine militaire, lesmissions de déminage requièrent trois types d’opération : la détection, l’identification et la"Neutralisation Enlèvement Destruction des explosifs". Enfin, les différents types de sousmarinsmentionnés à la sous-section 2.4 prouvent la nécessité de disposer de véhiculesaux capacités diverses pour faire face à un conflit.2.6 Résumé <strong>du</strong> chapitreCe chapitre était consacré à la description <strong>du</strong> contexte applicatif de la thèse. La nature<strong>du</strong> milieu sous-marin a été détaillée à la section 2.1. C’est un immense espace, particulièrementdynamique et qui reste dans sa grande majorité inconnu. Les enjeux pour l’Hommeliés à l’exploitation de ce milieu sont nombreux. Nous avons détaillés ces différents enjeux,qu’ils soient scientifique, in<strong>du</strong>striel ou militaire, dans les sections 2.2, 2.3 et 2.4. En général,l’exploitation <strong>du</strong> milieu sous-marin exige la couverture de vastes zones, à de grandesprofondeurs. Les travaux à effectuer sont souvent complexes. Ils requièrent la réalisationde tâches de différentes natures. Ces tâches nécessitent, par conséquent, des compétencestrès diverses (cf. section 2.5). Nous verrons dans le chapitre suivant, les technologies misesau point pour explorer et exploiter cet environnement. Compte tenu des besoins humainset des contraintes environnementales décrites dans ce chapitre, nous analyserons les limitesde ces technologies. Nous étudierons ensuite les solutions pour y faire face.
CHAPITRE3Exploration <strong>du</strong> milieu sous-marinpar des véhicules autonomesNous avons caractérisé le milieu sous-marin et les besoins humains pour l’exploiter.L’objectif de ce chapitre est de présenter les différentes technologies développées parl’Homme pour effectuer les différentes opérations sous-marines, de discerner celles quiprésentent les plus grands intérêts compte-tenu de notre domaine applicatif et d’en identifierles limites.3.1 Premier pas de l’exploration sous-marineL’environnement sous-marin a toujours suscité la curiosité, et a été au fil des sièclesle berceau de maintes légendes et exploits humains et technologiques. Ainsi, des hommescomme Y.P.G. le Prieur, J.Y Cousteau, J. Piccard et D. Walsh, ont écrit l’histoire contemporainede l’exploration sous-marine en relevant des défis jusqu’alors considérés commeimpossibles. Suivant les traces de G. de Lorena qui, en 1535, plongea sur deux épaves degalères romaines, après avoir réalisé la première cloche de plongée, d’après un design de L.Da Vinci. En 1776, D. Brushnell réalisa la "Tortue", le premier sous-marin d’attaque inaugurantainsi ce qui deviendra la longue histoire de l’exploitation militaire des profondeursocéaniques. En 1960, J. Piccard et D. Walsh posèrent le bathyscaphe Trieste au fond de lafosse des Mariannes, le point le plus profond connu <strong>du</strong> plancher océanique (1 0916 m),confirmant ainsi que la vie est partout. Et plus récemment, J. Cousteau a consacré sa vie àl’étude de la diversité océanique, laissant à l’humanité un héritage qui a suscité de nombreusesvocations pour reprendre le flambeau de l’exploration sous-marine.Ces hommes ont démontré la faisabilité des interventions sous-marines, et ont circon-21
22CHAPITRE 3. EXPLORATION DU MILIEU SOUS-MARIN PAR DES VÉHICULESAUTONOMESvenu de nombreux verrous scientifiques et technologiques que revêtent de telles missions.Le principal objectif de ces missions était bien sûr d’assurer la survie de l’opérateur embarquéà bord des engins. Le milieu sous-marin est particulièrement hostile à l’Homme.Les températures basses, la pression extrême, l’absence d’air poussent les humains à développersans cesse de nouvelles technologies pour limiter les risques pour l’opérateur.Les applications sous-marines nécessitent des interventions sur des zones de plus en plusvastes, de plus en plus profondes et sur des <strong>du</strong>rées de plus en plus longues. Le développementde la technologie vise à améliorer l’efficacité en offrant de plus en plus d’autonomieà ces véhicules.Retirer l’humain <strong>du</strong> système immergé lève de nombreuses contraintes critiques, maispose le problème de l’autonomie des engins et de leurs capacités réelles. Les marinesnationales ont été les premières à démontrer leur intérêt pour le développement de systèmesmarins autonomes. Ainsi, en 1866, R. Whitehead, pour le compte de la marine Autrichienne,a développé une nouvelle arme pour les batailles navales. Il démontra l’efficacitéd’un engin flottant autopropulsé transportant une charge offensive. La classe des torpillesétait née. Les missions de cet engin ne requéraient pas de contrôle ou de système de navigationsophistiqué.Ce type d’engin fut une première avancée en matière d’autonomie, ilallait donner naissance à toute une série d’engins aux degrés d’autonomie toujours plusimportants.3.2 Vers toujours plus d’autonomieL’environnement sous-marin est particulièrement hostile à l’homme. L’absence d’air,la température et la pression extrême font que les acteurs <strong>du</strong> domaine souhaitent limiterles interventions humaines. Les progrès technologiques de ces cinquante dernières années,permettent d’effectuer de plus en plus d’interventions robotisées pour réaliser desmissions de plus en plus complexes.Les véhicules sous-marins sont généralement classifiés en fonction de leur degré d’autonomie(cf. figure 3.1). Le terme d’autonomie désigne l’aptitude à être le plus indépendantpossible vis-à-vis de l’opérateur humain dans sa capacité à agir. On parle ainsi d’autonomiedécisionnelle, énergétique, d’action, etc.Les véhicules habités exigent un ou plusieurs humains à bord pour être commandés.Les poissons remorqués n’embarquent pas d’humain à bord. Ils sont tractés depuis la surfaceet ne sont pas motorisés. Par conséquent, leur capacité d’action et leur autonomierestent limitées. Les ROV (Remotly Operated Vehicle) sont motorisés ce qui leur confère un
3.2. VERS TOUJOURS PLUS D’AUTONOMIE 23peu plus de capacités d’action. Ils restent néanmoins reliés à la surface par un ombilicalpour être contrôlé par un opérateur et pour être alimentés en énergie. Les UUV (UnmannedUnderwater Vehicle) embarquent leur propre énergie, ils ont une grande autonomiedécisionnelle. Certains engins comme les UUV (Untethered Underwater Vehicle) maintiennentun lien acoustique avec la surface tandis que d’autres comme les AUV (AutonomousUnderwater Vehicule) sont entièrement autonomes, ce qui leur donne une grandeliberté d’action. Ces types de véhicules sont détaillés dans les sous-sections suivantes.Véhicule habitéPoisson remorquéROVRemotely Operated VehicleUUVUntethered Underwater VehicleAUVAutonomous Underwater VehicleFIGURE 3.1 : Les différentes classes de véhicules sous-marins3.2.1 Les véhicules habitésLes véhicules habités sont contrôlés par un humain à bord. Ils sont autonomes entermes d’énergie et n’ont pas besoin d’être relié à la surface. Ils peuvent être d’utilisationcivile et militaire. Deux utilisations civiles peuvent être trouvées : le transport maritime, larecherche océanographique, le sauvetage et l’utilisation comme "navire de service". Seulsdeux cargos sous-marins ont été conçus à ce jour, le Deutschland et le Bremen, par l’Allemagnependant la Première Guerre mondiale. Ce type d’engin présente l’avantage depouvoir passer sous la calotte glacière mais faute d’être suffisamment compétitif avec lesnavires cargo de surface, aucun autre projet n’a vu le jour.
24CHAPITRE 3. EXPLORATION DU MILIEU SOUS-MARIN PAR DES VÉHICULESAUTONOMESPour la scienceLes sous-marins de recherche océanographique sont les successeurs des bathyscaphesutilisés pour explorer les grandes profondeurs. Leurs missions typiques incluent l’observation,la collecte d’échantillons et les mesures, mais ils peuvent aussi être affrétés pour desmissions différentes comme l’intervention sur les épaves (identification de vieilles épavescomme pour le Titanic, inspection pour la lutte anti-pollution ou en cas de litiges commeavec le pétrolier Prestige) ou l’assistance à d’autres sous-marins en difficulté. Depuis lesannées 1950, environ une soixantaine de sous-marins de recherche a été construite, principalementaux États-Unis pour la recherche et le sauvetage. En France, l’Ifremer utilise leNautile et le Cyana, l’Académie des sciences de Russie utilise le Mir.Pour l’in<strong>du</strong>strieL’in<strong>du</strong>strie pétrolière et gazière utilise maintenant de petits sous-marins habités en tantque navires de services sur les champs d’exploitation. Leurs tâches incluent l’observationet la collecte de mesures, le sauvetage sur place, l’aide à la pose de câbles et de tuyaux,le déploiement de plongeurs, et l’inspection des infrastructures sous-marines. S’il n’existepour l’instant qu’une petite flotte de ces sous-marins, en opération surtout dans la mer <strong>du</strong>Nord, de nouvelles unités davantage spécialisées sont en construction.Depuis le début des années 2000, on recense l’utilisation par le crime organisé de semisubmersiblespour le trafic de stupéfiant. Ces appareils sont appelés "narco sous-marin",de l’anglais "narco submarine".Pour l’arméeLes sous-marins habitables militaires actuels embarquent plusieurs centaines de personnesentre 300 et 400 mètres de profondeur. Ils sont utilisés pour la lutte anti-naviresde surface, la lutte anti-sous-marine, l’infiltration de forces spéciales, l’attaque de cibles àterre, l’escorte des groupes de combat et notamment des groupes aéronavals, la collecte derenseignements, la dissuasion nucléaire et les opérations de recherche et de sauvetage. Ilspeuvent être classés en trois types décrits à la sous-section 2.4 : les sous-marins d’attaque,les sous-marins lanceurs d’engins balistiques et les sous-marins de sauvetage.
3.2. VERS TOUJOURS PLUS D’AUTONOMIE 253.2.2 Les poissons remorquésLes poissons remorqués ou "Towed Fishes" sont des engins non motorisés pouvanttransporter un certain nombre de capteurs. Ces engins sont remorqués depuis la surfacegrâce à un câble qui permet par la même occasion de remonter les données acquises. Ilssont principalement utilisés dans les opérations de cartographie, de reconnaissance <strong>du</strong>fond et pour des relevés physico-chimiques en profondeur. La simplicité relative de leursmécaniques (pas d’organe articulé) leur permet de descendre facilement à de très grandesprofondeurs.3.2.3 Les ROV (Remotly Operated Vehicles)Les ROV sont aussi reliés à la surface mais possèdent leurs propres moyens d’actionnement.Ils embarquent un ensemble de capteurs et les données acquises sont transmisesvia le câble de liaison (ou ombilical) à l’opérateur en surface. L’énergie nécessaire aux opérations<strong>du</strong> véhicule est convoyée depuis la surface par ce même câble. L’opérateur a égalementla possibilité d’envoyer à l’engin des commandes d’actionnement des moteurs pourpouvoir le déplacer et l’orienter selon les besoins de la mission. On parle alors de téléopération.Un ROV est généralement conçu pour procéder à des interventions sur des structuresimmergées. Ils transportent un ou plusieurs bras manipulateurs, téléopérés en temps réelvia un câble ombilical qui les relie à la surface. La présence de l’ombilical et <strong>du</strong> manipulateurgénère des effets perturbateurs qui doivent être explicitement considérés.3.2.4 Les UUV (Unmanned Underwater Vehicles)Les UUV sont des engins sous-marins non habités qui embarquent leur propre énergie,leurs moyens d’actionnement et de perception. Une caractéristique importante de ces véhiculesest leur degré d’autonomie. Ceux qui conservent un lien acoustique avec la surfacequi leur permet de recevoir de l’opérateur les ordres relatifs aux opérations qu’ils vont menersont appelés les UUV (Untethered Underwater Vehicle). Ils sont en partie autonomesmais l’opérateur peut prendre la main pour diriger le véhicule dans certaines situationsd’urgence.Ceux qui n’ont aucun lien avec la surface, les AUV (Autonomous Underwater Vehicle)reçoivent une mission avant d’être mis à l’eau et les prises de décision sur la manière dontils doivent intervenir à chaque instant pour réaliser la mission sont à leur charge. L’absencede lien avec la surface leur permet d’avoir un grand rayon d’action. Ils sont totale-
26CHAPITRE 3. EXPLORATION DU MILIEU SOUS-MARIN PAR DES VÉHICULESAUTONOMESment autonomes ce qui implique une gestion fine de l’énergie embarquée et des capacitésà prendre localement des décisions. Ce type d’engin est conçu pour réaliser des missionsde long-cours, pour limiter les forces hydrodynamiques et ainsi économiser l’énergie, ilsadoptent généralement une forme fuselée et ressemble à des torpilles. Cette forme leurconfère une direction préférentielle de mouvement et des gouvernes permettent d’effectuerdes changements de direction.Deux types de véhicules sous-marins autonomes se distinguent. Les gliders sont desengins non motorisés qui se déplacent en planant. Ils utilisent un système de ballaste quipermet de contrôler leur flottabilité et gérer leur profondeur. Ils sont également munis depetites ailettes latérales qui leur permettent de convertir une partie de la poussée verticaleen poussée horizontale et ainsi d’avancer. Très peu gourmand en énergie, ils peuvent effectuerdes missions de très longue <strong>du</strong>rée sur de longues distances. La plupart des gliderssont utilisés pour certaines opérations militaires ou pour la recherche en océanographiephysique.Les engins motorisés utilisent des actionneurs pour se propulser. Ils sont généralementsous-actionnés, c’est à dire qu’ils disposent de moins d’actionneurs que de degrés de liberté.Leurs moyens de propulsion leurs procurent une plus grande aisance pour se déplaceret une plus grande mobilité pour éviter les obstacles. Ils sont cependant plus énergivoresque les gliders.3.3 Atouts des véhicules sous-marins autonomesDe nos jours, les ROV sont les engins les plus utilisés pour remplacer les interventionshumaines. Les AUV présentent cependant des atouts indéniables pour faire face aux enjeuxactuels (cf. sections 2.2, 2.3, 2.4). Les recherches de ces dernières années se sont focaliséesdans le développement de ce type de véhicule.Sous l’eau, le degré d’autonomie est primordial. Le principal intérêt de l’utilisationd’AUV par rapport à celle de poissons remorqués ou de ROV est l’absence de lien avec lasurface. Ceci permet d’avoir une plus grande liberté d’action pour le véhicule. La plupartdes missions sous-marines actuelles (cf. chapitre 2) impliquent des interventions de plusen plus profondes, sur des zones de plus en plus vastes. L’absence de câble ou d’ombilicalfacilite aussi le déplacement <strong>du</strong> véhicule dans les milieux encombrés.L’absence d’humain dans la boucle de contrôle permet de ré<strong>du</strong>ire les besoins humainspendant les phases opérationnelles, l’exécution de missions devient aussi plus indépendantevis-à-vis des conditions météorologiques. Les AUV ont également des vitesses de
3.4. LES VÉHICULES SOUS-MARINS AUTONOMES 27déplacement plus importantes que les autres types de véhicule. Pour certaines missionsqui impliquent des déplacements importants, le gain en pro<strong>du</strong>ctivité des AUV permet dediminuer considérablement la <strong>du</strong>rée des missions.3.4 Les véhicules sous-marins autonomes3.4.1 HistoriqueLes premiers véhicules sous-marins autonomes (Autonomous Underwater Vehicle -AUV) ont été développés <strong>du</strong>rant les années soixante et soixante-dix avec le SPURV (Self-Propelled Underwater Research Vehicle, USA) et l’Epaulard (Ifremer - France). SPURV déplaçait480 kg et pouvait opérer à 2,2 m/s sur une <strong>du</strong>rée de 5,5 heures à une profondeurde 3 000 m. Ce véhicule, acoustiquement relié à la surface, permettait d’effectuer des mesuresphysico-chimiques (salinité et température) le long de sa trajectoire, dans le cadre dela modélisation des phénomènes océaniques. Epaulard pesait3tonnes et pouvait naviguerà 6000 m de profondeur <strong>du</strong>rant 7 heures à environ 1 nœud (0,51 m/s). Ces systèmes ontété les précurseurs des quelques 2 400 engins sous-marins autonomes qui sont actuellementopérés quotidiennement de par le monde [Danson, 2002].3.4.2 Domaines d’études et spécificitésSi l’on considère le domaine applicatif, les caractéristiques environnementales exigentl’examen de plusieurs problématiques majeures pour la conception d’AUV : l’architecturenavale, l’architecture de contrôle, le positionnement, le guidage/contrôle, les communications,l’énergie et la perception.L’architecture navaleL’architecture navale et la modélisation hydrodynamique représentent un passageobligé pour qui désire concevoir un engin marin performant. En effet la considération desphénomènes significatifs auxquels le système est confronté <strong>du</strong>rant sa mission requiert unemodélisation dynamique, dont la finesse influera fortement sur les performances globales<strong>du</strong> système contrôlé.
28CHAPITRE 3. EXPLORATION DU MILIEU SOUS-MARIN PAR DES VÉHICULESAUTONOMESL’architecture de contrôleLes AUV ont une grande autonomie décisionnelle puisqu’ils n’ont aucun contact avecl’opérateur pendant la mission. L’architecture de contrôle a la capacité d’analyser l’environnement,de décider des actions à entreprendre et de contrôler leurs exécutions afinde réaliser les objectifs qui ont été assignés à l’AUV. L’architecture de contrôle structureles éléments qui permettent de mettre en œuvre l’ensemble des instruments de bord (centraleinertielle, caméras, sonars, modem acoustique, batteries, etc.) et les traitements informatiques(filtrage des données, algorithmes de navigation, calculs des lois de commande,prise de décision). L’architecture de contrôle définit le cadre dans lequel vont intervenirles acteurs compétents dans diverses disciplines (informatique, mécanique, automatique,traitement <strong>du</strong> signal, etc.) nécessaire au fonctionnement de l’AUV.Le positionnementLe positionnement, autrement appelé "la navigation", est un problème fondamentalpour les véhicules sous-marins. Pour la robotique, le rôle <strong>du</strong> système de navigation estd’établir une estimation de l’état <strong>du</strong> système (positions, orientations et vitesses). Ceci impliquede géo-référencer la situation <strong>du</strong> système et de le situer par rapport à l’objectif courantde la mission.Les ondes électromagnétiques ne se propageant pas sous l’eau, aucun système de positionnementglobal, notamment le GPS, ne peut être utilisé. L’utilisation de capteurs : centraleinertielle (accélérations, vitesses angulaires, champ magnétique), capteur de pression(mesure de la profondeur), Lock Doppler (mesure de la vitesse par rapport au fond ou auflux d’eau), etc. traités par des techniques de fusion de données permet d’estimer la positionet l’orientation <strong>du</strong> véhicule à partir d’une position de référence. Cette estimationdérive au cours <strong>du</strong> temps, des mises à jour de la position de référence sont donc nécessaires.En pratique, le véhicule doit remonter régulièrement à la surface pour se relocaliser parGPS. La mise en place de bouées de positionnement [Vaganay et al., 1996] qui envoient leurposition au véhicule sous-marin via des signaux acoustiques est une solution. Elle ne peutcependant être appliquée que pour des missions exercées en périmètre restreint. Dans lecas contraire, cette technique de navigation nécessite une logistique importante pour déplacerles bouées. La navigation référencée terrain [Jalving et al., 2004] permet au véhiculede se positionner en faisant correspondre l’observation des fonds marins avec unecarte préalablement acquise. Afin de permettre l’exploration d’environnement inconnu,
3.4. LES VÉHICULES SOUS-MARINS AUTONOMES 29de nombreuses recherches sont actuellement menées sur la localisation et la cartographiesimultanées (SLAM) [Leonard et al., 2002; Brown et al., 2008].Le guidage et le contrôleLe guidage constitue la stratégie d’approche de l’objectif. Il détermine les consignes dedirection et de vitesse à suivre pour le véhicule afin d’atteindre l’objectif global (se dirigervers un point, suivi de chemin, de trajectoire, etc.) en prenant en compte les contrainteslocales (évitement d’obstacles). Le guidage a été largement étudié. Différentes approchesont été proposées : la régulation autour d’un point, le guidage par points de passage, lesuivi de trajectoire [Kaminer et al., 1998], le suivi de chemin [Sgorbissa et Zaccaria, 2010]et l’évitement d’obstacle [Bui et Kim, 2006].Le contrôle a pour objectif de calculer les consignes à envoyer aux actionneurs de façonà garantir le suivi de la référence <strong>du</strong> guidage. Comme décrit à la section 2.1, l’environnementsous-marin est particulièrement dynamique en raison des perturbations liées auxvagues, aux courants océaniques ou aux inévitables objets et animaux en déplacement.Des recherches sont toujours actuellement menées pour améliorer la stabilité, le suivi deréférence et le rejet des perturbations pour ces véhicules généralement sous-actionnés 1 .Les communicationsComme cela a été souligné dans la section 2.1, les ondes électromagnétiques, supportprivilégié de l’information dans l’air et dans l’espace, sont fortement atténuées par l’eau.L’onde sonore se propage plus facilement dans les milieux de forte densité. Cette ondeconstituée d’énergie <strong>du</strong>e aux vibrations <strong>du</strong> milieu parcouru constitue le meilleur moyende transmission sous l’eau. Elle présente cependant des limitations notables :– faible célérité, environ 1500 m.s −1 (onde électromagnétique : 300 000 000 m.s −1 ) cequi intro<strong>du</strong>it une certaine latence dans les communications.– célérité variable, fonction des caractéristiques des couches d’eau traversée. Elle varienotamment en fonction de la profondeur ce qui doit être pris en compte lors del’utilisation de l’instrumentation.– les pertes par divergences géométriques et par amortissement.– les phénomènes de rebonds et de multi-trajet. Les ondes sonores rasantes peuventrebondir à la surface, sur le fond ou aux limites d’une couche d’eau. Suite à ces réflexions,l’onde émise arrive par des trajets différents au point de réception.1. Un système est sous-actionné lorsqu’il possède moins d’actionneurs que de degrés de liberté
30CHAPITRE 3. EXPLORATION DU MILIEU SOUS-MARIN PAR DES VÉHICULESAUTONOMESBande passante [kHz] Portée [Km]< 1 10002−5 10−100≈ 10 1−1020−50 0.1−1> 100 < 0.1TABLE 3.1 : Les canaux de communication acoustique– les bruits <strong>du</strong> milieu marin (trafic maritime, perturbation sismique, organismes vivants,etc.).– interférences : les engins sous-marins emploient souvent plusieurs capteurs acoustiquesqui in<strong>du</strong>isent des interférences s’ils fonctionnent à des fréquences proches ouharmoniques.– faible débit : les bandes passantes disponibles (cf. tableau 3.1) en communicationacoustique sous-marine ne permettent de transmettre que de faibles quantités dedonnées de quelques dizaines de bits/s jusqu’à quelques kbits/s. Les débits importantsne peuvent être obtenus qu’à la condition <strong>du</strong> respect de certaines contraintesgéométriques, notamment des communications dans le sens vertical. La relationentre la bande passante et la portée de signaux acoustiques sous-marins a été étudiéedans [Akyildiz et al., 2004] et résumée à la table 3.1.L’énergieLes véhicules autonomes doivent embarquer l’énergie pour toute la <strong>du</strong>rée de la mission.Les solutions à base de moteur thermique sont écartées dans le milieu sous-marin<strong>du</strong> fait de l’absence d’oxygène sous forme gazeuse. L’utilisation de batterie ré<strong>du</strong>it l’autonomieet exige une gestion de l’énergie au sein <strong>du</strong> véhicule. Certains AUV embarquent despanneaux solaires pour pouvoir se recharger à la surface comme les véhicules SAUV [Crimminset al., 2006] développés par l’institut AUSI (Autonomous Undersea Systems Institute).La perceptionLes véhicules sous-marins autonomes doivent restreindre leur consommation énergétique.Ils sont aussi généralement de taille mais surtout de volume ré<strong>du</strong>it, notamment dûà leur forme fuselée. En conséquence, ils n’ont pas la capacité d’embarquer de charges importanteset a fortiori beaucoup de capteurs pour percevoir l’environnement. Les ondesélectromagnétiques, et notamment lumineuses, étant rapidement absorbées dans l’eau,les capacités de perception des AUV sont d’autant plus limitées.
3.5. VERS L’UTILISATION DE FLOTTILLE 313.5 Vers l’utilisation de flottilleDans le chapitre 2, nous avons vu que les applications sous-marines exigent des interventionssur des zones de plus en plus grandes et de plus en plus profondes. Dans cecontexte, la grande autonomie des AUV leur confère un avantage indéniable par rapportaux autres types d’engins sous-marins. Elle leur permet d’intervenir sur de grandes distancesavec des besoins humains très ré<strong>du</strong>its, en particulier pendant les phases opérationnelles.Les capacités de perception et de stockage d’énergie des AUV restent néanmoins trèslimitées compte tenu de l’immensité <strong>du</strong> domaine applicatif. Sous cet angle, l’utilisation deplusieurs AUV permettrait d’améliorer encore sensiblement l’efficacité des interventions.Elle permet d’augmenter la quantité de distance parcourue ou de travail réalisé par unitéde temps. Ainsi, il est possible d’intervenir sur des zones plus grandes dans une <strong>du</strong>rée donnéeou de ré<strong>du</strong>ire la <strong>du</strong>rée des interventions. L’optimisation des phases opérationnellespermet aussi de ré<strong>du</strong>ire également les besoins humains.L’exploitation <strong>du</strong> milieu sous-marin exige souvent la réalisation de tâches de différentesnatures (cf. chapitre 2). Les missions sous-marines peuvent nécessiter des véhiculesaux compétences très diverses. D’une manière générale, les AUV ne peuvent pas embarquerde charges importantes à cause <strong>du</strong> manque d’espace et des restrictions énergétiques.Ils sont souvent spécialisés dans l’exécution d’une tâche et embarquent uniquement lescapteurs et les effecteurs nécessaires. En outre, les gros AUV aux compétences multiplessont extrêmement onéreux et par conséquent assez rares. L’utilisation de plusieurs AUVpeut être une solution intéressante voire la seule solution pour accomplir ce type de mission.De plus, la redondance de compétences au sein d’une flottille d’AUV permet d’êtrerobuste aux pannes.Enfin, l’utilisation d’AUV pose certaines difficultés qui sont liées au caractère autonomede ce type de véhicule. La localisation sous-marine, par exemple, reste une problématiquemajeure pour un AUV. L’emploi de plusieurs AUV permet d’envisager différentesstratégies dans lesquelles les AUV s’entraideraient pour améliorer le positionnement dechacun.3.6 Résumé <strong>du</strong> chapitreCe chapitre a permis de passer en revue les différentes technologies employées pourmener des interventions sous-marines. Compte-tenu des besoins de l’Homme dans l’ex-
32CHAPITRE 3. EXPLORATION DU MILIEU SOUS-MARIN PAR DES VÉHICULESAUTONOMESploitation et l’exploration <strong>du</strong> milieu sous-marin, l’autonomie des engins utilisés est apparuecomme un critère crucial. Plus d’autonomie signifie une plus grande liberté d’actionet des zones d’interventions de plus en plus vastes et profondes. Sur ce critère, les véhiculessous-marins autonomes présentent les plus grands atouts. L’utilisation de ce type devéhicule soulève néanmoins certaines problématiques. Les restrictions énergétiques, lesproblèmes de localisation sous-marine, les faibles capacités de perceptions et d’actionslimitent les domaines d’interventions de ces véhicules. Le déploiement de flottille d’AUVparait être une solution pour dépasser ces limitations. Cela ouvre la voie à un nouveaudomaine d’étude qui sera abordé dans le chapitre suivant : la coordination multi-AUV.
CHAPITRE4Les flottilles de véhiculessous-marinsLes missions sous-marines ont généralement de grandes surfaces à couvrir et nécessitentdiverses compétences. Cependant, les AUV n’ont pas la capacité d’embarquer descharges importantes à cause <strong>du</strong> manque d’espace et des restrictions énergétiques. Parconséquent, les efforts de recherche se portent désormais sur les approches multi-AUVqui consistent à utiliser plusieurs AUV en flottille.Dans ce chapitre, nous présenterons tout d’abord les différentes approches de contrôlecoordonné d’AUV qui ont été développées ces dernières années. Nous verrons ensuite queles systèmes multi-agents peuvent être une piste d’étude intéressante pour la coopérationmulti-AUV et ouvrent la voie à la réalisation de missions collectives complexes. Nousessayerons enfin de comprendre pourquoi les solutions actuelles sont si limitées comptetenu des enjeux et des besoins humains en matière d’exploitation sous-marine et commentil est envisageable de dépasser ces limites.4.1 La coordination de véhicules sous-marinsLa nécessité d’intervenir sur des zones très éten<strong>du</strong>es a con<strong>du</strong>it au développement d’approchesde contrôle coordonnée, ayant pour objectif le maintien d’une forme géométriqueparticulière pour la flottille. Différentes méthodes ont été formalisées et appliquées. Cinqtypes d’approches sont présentés par la suite : l’approche leader-follower, les cibles virtuelles,le suivi de chemin coordonné, les corps virtuels et les champs de potentiels artificiels.33
34 CHAPITRE 4. LES FLOTTILLES DE VÉHICULES SOUS-MARINS4.1.1 Les approches leader-followerInspirées par la robotique terrestre [Desai et al., 2001] ou aérienne, les approches detype Leader-Follower consistent à maintenir une formation d’AUV "follower" par rapportà un AUV considéré comme "leader" de la flottille.Trajectoires connuesDans [Edwards et al., 2004], le véhicule "leader" envoie périodiquement sa position auxautres véhicules de la flottille. Les véhicules "follower" utilisent cette information pour semaintenir à une distance fixe <strong>du</strong> leader tandis qu’ils suivent une trajectoire prédéfinie. LesAUV utilisent un système de positionnement acoustique LBL (long baseline) pour déterminerleur position et suivre un ensemble de trajectoires dérivées de celle <strong>du</strong> leader. ChaqueAUV doit ainsi connaitre la trajectoire <strong>du</strong> "leader", si les communications sont coupées,les véhicules "follower" continuent de suivre leurs trajectoires jusqu’à la reprise des communications.L’AUV "leader" est le seul véhicule à envoyer sa position, cette méthode n’estdonc pas sensible au nombre d’AUV dans la flottille. Le "leader" ne tient cependant pascompte <strong>du</strong> positionnement des AUV "follower". Ceci implique des véhicules extrêmementhomogènes, en particulier au niveau de leurs capacités de déplacement, pour qu’il n’y aitpas de dislocation de la flottille.[Pentzer et al., 2010] utilise le même type d’approche avec des trajectoires des véhicules"follower" définies préalablement pour réaliser des mesures de champs magnétiques.L’approche nécessite cependant plus de communication puisque tous les AUV communiquentce qui permet au leader d’adapter sa vitesse en fonction de celles des "follower".Cette solution est donc dépendante <strong>du</strong> nombre d’AUV de la flottille.Trajectoires inconnuesDans [Spiewak, 2007], chaque véhicule "follower" reçoit des consignes de suivi relatifen provenance <strong>du</strong> véhicule "leader". Les véhicules "follower" reçoivent, par l’intermédiaire<strong>du</strong> modem acoustique, le cap <strong>du</strong> véhicule "leader" et la distance qui les sépare. Ilsdéterminent leur position désirée par rapport à la position relative <strong>du</strong> véhicule "leader".Chaque véhicule génère de façon autonome une trajectoire par l’intermédiaire de B-Spline(courbes polynomiales paramétriques) pour atteindre la position désirée en minimisant letemps de déplacement.Les contraintes dynamiques/cinématiques <strong>du</strong> véhicule et environnementales sontprises en compte afin de minimiser le temps de déplacement et d’éviter les obstacles, le
4.1. LA COORDINATION DE VÉHICULES SOUS-MARINS 35véhicule suit ensuite la trajectoire calculée. Cette technique présente l’avantage que lesvéhicules "follower" n’ont pas besoin de connaitre la trajectoire <strong>du</strong> leader au préalable. Ilsn’ont pas non plus la nécessité de connaitre leur position globale puisqu’une localisationrelative par rapport à l’AUV "leader" suffit à se coordonner. Cette technique n’est cependantpas très robuste aux coupures de communication.FIGURE 4.1 : Approche leader-follower [Spiewak, 2007]4.1.2 Les cibles virtuellesDans [Xiang et al., 2010], tous les véhicules suivent des cibles virtuelles qui se déplacentle long de chemins prédéfinis. Les véhicules "follower" suivent un ensemble de cheminsparallèles à celui <strong>du</strong> "leader". Ils maintiennent une formation géométrique afin d’inspecterun pipeline en suivant des cibles virtuelles. Le véhicule "leader" communique sa ciblevirtuelle aux véhicules "follower". Chaque véhicule "follower" calcule ensuite sa cible virtuelleà partir de celle <strong>du</strong> "leader". Des cibles virtuelles sont aussi utilisées dans [Cui et al.,2009] pour permettre aux véhicules "follower" de maintenir une formation par rapport au"leader".Dans [Porfiri et al., 2007], le contrôle de la formation de la flottille est réalisé par la poursuited’un "leader" virtuel mobile par l’ensemble des véhicules. La trajectoire <strong>du</strong> "leader"virtuel ne peut pas être connue a priori [Olfati-Saber, 2006]. La position <strong>du</strong> leader est estiméeen temps réel de façon décentralisée par chaque véhicule. Les véhicules partagentdes informations dans le but de trouver un consensus [Olfati-Saber et Murray, 2004] surcette position malgré les coupures de communication. Le contrôle de la formation [Porfiri
36 CHAPITRE 4. LES FLOTTILLES DE VÉHICULES SOUS-MARINSet al., 2007] autour <strong>du</strong> "leader" virtuel est aussi résolu dans le cadre d’une recherche deconsensus entre les véhicules.4.1.3 Le suivi de chemin coordonnéLe suivi de chemin coordonné est une méthode qui permet à plusieurs véhicules desuivre des chemins prédéfinis en conservant un modèle de formation souhaité au cours<strong>du</strong> temps (cf. figure 4.2).FIGURE 4.2 : Suivi de chemin coordonné avec trois AUV [Aguiar et al., 2009b]De manière générale, les solutions utilisées doivent répondre à trois problématiques.La première consiste à générer des trajectoires pour un groupe de véhicules en évitant lesconflits [Ghabcheloo et al., 2009b]. La deuxième problématique est d’établir des lois decommande permettant à chaque véhicule de suivre le chemin qui lui a été assigné quel quesoit le profil de vitesse adopté. Différentes techniques peuvent être adoptées, chaque véhiculepeut converger directement vers le chemin [Almeida et al., 2010] ou peut suivre unecible virtuelle qui se déplace le long de celui-ci. Enfin, la troisième problématique consisteà ajuster les vitesses des véhicules de façon coordonnée afin d’obtenir la formation souhaitée.Selon la technique utilisée, les véhicules peuvent synchroniser la position de leurscibles virtuelles ou leurs temps virtuels [Ghabcheloo et al., 2009b] dans le cadre des TC-PF (time-coordinated path following). Cette synchronisation est souvent réalisée à l’aided’algorithmes distribués issus des domaines de calculs distribués tel que les approches à
4.1. LA COORDINATION DE VÉHICULES SOUS-MARINS 37base de consensus [Olfati-Saber et Murray, 2004]. Ces informations sont calculées à partirde données transmises entre les véhicules pour leur permettre d’ajuster leurs vitesses dedéplacement.4.1.4 Les corps virtuels et les champs de potentiels artificielsUne méthodologie de contrôle coopératif basé sur des corps virtuels et des champs depotentiels artificiels (VBAP : Virtual Bodies and Artificial Potentials) est étudiée dans [Fiorelliet al., 2004; Bhatta et al., 2005; Fiorelli et al., 2006]. Cette méthode permet par exemplede faire <strong>du</strong> suivi de gradient ou <strong>du</strong> tracking dans un environnement inconnu. Elle reposesur l’utilisation de champs de potentiels artificiels et de corps virtuels pour coordonner ungroupe de véhicules. Les corps virtuels sont en fait des leaders virtuels qui permettent deguider l’ensemble de la flottille. Ils sont représentés par des cercles bleus à la figure 4.3.FIGURE 4.3 : Approche des corps virtuels et les champs de potentiels artificielsLes potentiels artificiels permettent de coupler la dynamique des leaders virtuels etdes engins réels. Les potentiels sont choisis suivant l’orientation, la position relative entreles leaders virtuels et les engins, ou en suivant la forme de la flottille désirée. Le lien virtuelentre les engins est créé en moyennant le contrôle de chaque véhicule : la loi de commandepour chaque véhicule est dérivée à partir <strong>du</strong> gradient des potentiels artificiels. Cette méthodepermet au leader virtuel (et donc au groupe de véhicule) d’effectuer des manœuvresde translation, de rotation et de contraction/expansion, le tout avec une erreur bornée.Cette implémentation a été testée en 2003 sur une flottille de gliders dans la baie de Monterey(USA) [Fiorelli et al., 2006].
38 CHAPITRE 4. LES FLOTTILLES DE VÉHICULES SOUS-MARINS4.1.5 Les systèmes de contrôle coopératifLe projet GREXGREX [Kalwa, 2009] est un projet qui a débuté en 2006 et s’est terminé en 2009. Il avaitpour objectif de proposer et de tester expérimentalement diverses approches de coordinationde flottille d’AUV. Dans le cadre de ce projet, un système de contrôle de missiona été développé [Glotzbach et al., 2008; Schneider et al., 2009]. La mission d’un AUV estcomposée d’un ensemble de tâches, le système de contrôle de mission permet de gérerl’exécution de plans de tâches.Les tâches considérées sont souvent des tâches de coordination. Ainsi, plusieurs typesd’approches de contrôle coordonné tel que le suivi de chemin coordonné [Ghabchelooet al., 2006; Aguiar et Pascoal, 2007; Ghabcheloo et al., 2009a], le suivi et la poursuite decibles coordonnée [Bayat et al., 2009] (cf. figure 4.4) ont pu être proposées et validées ensimulation [Aguiar et al., 2009a]. Le système de contrôle de mission peut être adapté àdifférents véhicules, ce qui a permis d’effectuer différents scénarios avec des véhicules hétérogènes.FIGURE 4.4 : Suivi de cible coordonné : la quête d’une source hydrothermaleAinsi, le projet GREX s’est terminé par une série d’essais en mer avec deux véhiculesde surface autonomes (ASV) et deux AUV. Trois scénarios ont été exécutés avec succès.Le premier était une mission de "suivi de chemin coordonné". Les véhicules réussirent àsuivre le chemin désiré et à ajuster leurs vitesses pour maintenir la formation désirée. Ledeuxième scénario consistait à réaliser une manœuvre pour se "mettre en formation". La
4.2. INTÉRÊT DES SYSTÈMES MULTI-AGENTS POUR LES FLOTTILLES D’AUV 39procé<strong>du</strong>re est la même que pour le "suivi de chemin coordonné" avec un modèle de formationvariant dans le temps. Les véhicules ont été dispersés après le déploiement et ontcalculé leur chemin vers un point de départ sans aucun conflit. Dans le dernier scénario,les véhicules sous-marins suivent une cible dont l’emplacement leur est communiqué àtravers un canal acoustique tout en assurant le maintien de la formation souhaitée.Le projet MORPHLes approches classiques de coordination multi-AUV permettent de faire évoluer l’ensemblede la flottille tout en maintenant une forme géométrique particulière, souvent dansle plan horizontal. Ce type de formation, assez rigide, permet d’avoir de bons résultats lorsqu’ils’agit de couvrir et d’acquérir des informations sur des zones benthiques planes, cequi n’est pas généralement le cas. Le projet MORPH, successeur <strong>du</strong> projet GREX, a débutéen février 2012. Il a pour objectif de développer de nouvelles solutions de contrôle deformation déformable pour des AUV hétérogènes afin de suivre efficacement les déformationset les inclinaisons <strong>du</strong> terrain.4.2 Intérêt des systèmes multi-agents pour les flottillesd’AUVLes approches de contrôle coordonné utilisées pour la coordination de flottille visent àmaintenir une forme géométrique particulière pendant que l’ensemble de la flottille se déplacedans une direction souhaitée. Cela peut être pour suivre une trajectoire, un pipeline[Xiang et al., 2010], une ligne de niveau [Kalantar et Zimmer, 2008], un gradient, etc. Lesmissions concernées par ces différentes stratégies de contrôle concernent essentiellementdes missions de couverture de zone. Cela permet de couvrir un certain nombre d’applicationssous-marines décrites au chapitre 2, en particulier pour des missions de cartographieou de mesure environnementale.Ces approches ne sont pas conçues pour faire face à une hétérogénéité potentielle desAUV dans la flottille. Les véhicules à faible rendement pénalisent l’ensemble <strong>du</strong> groupe.La flottille devra par exemple s’aligner sur l’AUV aux capacités motrices diminuées. Lesdifférentes compétences et capacités de chaque AUV ne peuvent pas être exploitées, cequi limite les types de missions qui pourraient être considérés.Enfin, la coordination d’AUV nécessite le partage d’information entre les véhicules. Inspiréespar la robotique terrestre ou aérienne, les solutions proposées ne prennent pas suf-
40 CHAPITRE 4. LES FLOTTILLES DE VÉHICULES SOUS-MARINSfisamment en compte la nature <strong>du</strong> médium de communication [Sotzing et Lane, 2010].Bien qu’elles aient pour objectif de rendre les approches robustes aux délais, aux pannes decommunication et aux changement de topologies de réseaux [Ghabcheloo et al., 2009a], laplupart reste cependant dépendante de la fiabilité des communications, notamment dansle cas de coupure prolongée. Si ce n’est pas le cas, elles nécessitent de pouvoir se localiserde façon globale [Edwards et al., 2004], ce qui reste problématique sous l’eau.Compte tenu de ces problématiques, le degré d’autonomie de chaque AUV est un paramètrecrucial. En effet, une plus grande autonomie des AUV signifie (1) une diminution descommunications et (2) une plus grande indépendance par rapport aux caractéristiques desautres AUV. Ainsi, les approches récentes (par exemple [Sariel et al., 2006; Sotzing et Lane,2010]) ont utilisé avec succès le paradigme des systèmes multi-agents (SMA) car ce derniertraite explicitement de ces concepts.4.2.1 L’agentLes systèmes multi-agents recouvrent un grand nombre de domaines d’applications :résolution de problèmes distribués, systèmes d’interactions-communications, simulationsde systèmes artificiels-vivants, agent pour le Web, robotique mobile, etc. Paradoxalement,cette explosion <strong>du</strong> domaine n’a pas été accompagnée d’un fort développement dedéfinitions générales et formelles l’unifiant clairement [Simonin, 2001]. L’hétérogénéité etla complexité naturelle de ces systèmes en sont sans doute la cause [Ferber, 1995].Ce sont des systèmes distribués et complexes où des entités artificielles et/ou naturellesévoluent dans un environnement et interagissent pour pro<strong>du</strong>ire des comportementscollectifs. Ces systèmes sont distribués dans le sens où ils sont composés de plusieursentités autonomes appelés agents. Il n’y a pas de consensus absolu sur la définition <strong>du</strong>terme "agent", il existe plutôt différentes définitions acceptées, chacune étant plus adaptéeà un contexte particulier. Dans [Ferber, 1995], Ferber propose la définition minimalistesuivante :Agent : Une entité réelle ou virtuelle, évoluant dans un environnement, capable de percevoiret d’agir dessus, qui peut communiquer avec d’autres agents, qui exhibe un comportementautonome, lequel peut être vu comme la conséquence de ses connaissances, de sesinteractions avec d’autres agents et les buts qu’il poursuit.Cette définition nécessite d’être détaillée. Un agent peut ainsi être une entité réelle (ro-
4.2. INTÉRÊT DES SYSTÈMES MULTI-AGENTS POUR LES FLOTTILLES D’AUV 41bot, véhicule, être vivant, etc.) ou virtuelle (processus informatique, etc.). Les agents sontimmergés dans un environnement réel ou simulé. Ils sont munis de capacité d’action etde perception qui leur permettent d’interagir avec l’environnement. Les modifications del’environnement ont non seulement des conséquences sur l’agent lui-même et donc surses décisions futures mais aussi sur les autres agents qui composent le système. Les agentspeuvent aussi interagir sous la forme de signaux de communication avec les autres agentspar l’intermédiaire de l’environnement.Les agents sont considérés comme autonomes en termes de capacité de perception, dereprésentation de l’environnement, de raisonnement et d’action. L’agent n’utilisant quedes capacités de perception qui lui sont propres, sa représentation de l’environnementreste limitée. Cette notion est essentielle pour garantir que la distribution <strong>du</strong> système soitbien réelle. Si le système pouvait être observé globalement par un unique agent, il ne seraitplus distribué [Jonquet, 2006]. L’autonomie de raisonnement et d’action implique quel’agent prend seul ses décisions en fonction de ses perceptions et de sa représentation <strong>du</strong>système (lui-même, l’environnement et les autres agents). Son comportement tend à satisfaireses propres besoins/objectifs ou de répondre librement aux requêtes des autresagents en tenant compte des compétences et des ressources dont il dispose. Il ne peut doncpas être directement contrôlé par une autre entité que ce soit l’utilisateur ou les autresagents.4.2.2 Les systèmes multi-agentsLes systèmes multi-agents sont considérés comme complexes à étudier <strong>du</strong> fait qu’ilsfont intervenir un nombre important d’agents, souvent hétérogènes et beaucoup d’interactions.Le nombre excessif de paramètres fait qu’il est extrêmement difficile de prédire lecomportement de ces systèmes. Les problématiques soulevées par ce type de système, tropcomplexes pour être analysées globalement, imposent généralement une vision locale etles méthodes de résolution sont fondées sur des approches locales [Ferber, 1995].Les travaux consacrés aux systèmes multi-agents se divisent en deux grandes problématiques: la compréhension/modélisation et la conception.Compréhension et modélisationLa compréhension/modélisation des systèmes complexes est un domaine de rechercheà part entière plus ancien que celui des systèmes multi-agents. Les premiers travauxpeuvent être attribués aux physiciens qui cherchent à modéliser depuis les années 60 les
42 CHAPITRE 4. LES FLOTTILLES DE VÉHICULES SOUS-MARINSFIGURE 4.5 : Représentation imagée d’un système multi-agent [Ferber, 1995]systèmes dynamiques et complexes (systèmes chaotiques). En 1963, le météorologue Lorenzmit en évidence le caractère vraisemblablement chaotique de la météorologie. Il observaalors, par pur hasard, qu’une modification minime des données initiales (de l’ordrede un pour mille) entraînait des résultats très différents. Lorenz venait de mettre en exerguela sensibilité aux conditions initiales de ce genre de système. La science classique considéraitles phénomènes comme déterminés et réversibles, ce qui est en contradiction avecl’expérience courante. Prigogine [Prigogine, 1968, 1993] mit en évidence l’irréversibilitédes phénomènes temporels, notamment en thermodynamique (non linéaire). Il réconciliela physique avec le sens commun et dégage le caractère rigoureusement déterministe dessystèmes chaotiques. Ces propriétés font que ces systèmes sont non prédictibles à longterme, ce que Lorenz ne manquera pas de souligner en 1972 par sa célèbre métaphore :Predictability : Does the Flap of a Butterfly’s Wings in Brazil Set off a Tornadoin Texas ?E. LorenzLes modèles multi-agents ont été utilisés dans de nombreux domaines, notamment enphysique des particules, en chimie, en biologie cellulaire, en éthologie, en sociologie et enethnologie. Les interactions (locales) entre les entités et l’environnement sont simulées etpermettent de comparer le comportement global résultant avec celui réellement observé.Cette méthode permet de valider de nombreuses théories dans ces domaines. Les modèlesd’interactions peuvent ensuite être utilisés pour réaliser des prédictions généralesde systèmes complexes (le développement de pandémies par exemple) et permettent dedéterminer les effets de chaque paramètre sur le comportement global <strong>du</strong> système.
4.2. INTÉRÊT DES SYSTÈMES MULTI-AGENTS POUR LES FLOTTILLES D’AUV 43ConceptionL’approche constructiviste vise à concevoir des systèmes multi-agents dans le but derésoudre des problèmes complexes et distribués. Ce type d’approche nous intéresse doncparticulièrement dans le cadre de cette thèse. On distingue classiquement les systèmescognitifs des systèmes réactifs.Approches cognitivesIssus des travaux sur la construction d’agent autonome réalisés en informatique (intelligenceartificielle ou IA), les systèmes cognitifs sont composés d’agents dotés d’une représentationsymbolique de l’univers et dans laquelle ils sont capables de formuler desraisonnements et d’interagir entre eux par l’intermédiaire de communications de haut niveau.Inspirés par les sciences cognitives, notamment la psychologie et la sociologie, laplupart des agents cognitifs sont intentionnels. Ils ont conscience des problèmes à traiteret décident des actions à accomplir dans le but d’atteindre leurs objectifs ou de répondreaux requêtes des autres agents. Les objectifs sont généralement explicites et les méthodesde résolution sont préalablement connues et maitrisées. Il est par conséquent possible deconcevoir des systèmes capables de résoudre une grande variété de tâches. Les approchescognitives permettent de trouver des solutions théoriques "optimales" pour résoudre certainescatégories de problèmes.Ce type d’approche pose cependant des inconvénients majeurs lorsque l’on souhaitel’appliquer à des agents situés (agissants dans un univers physique). La complexité desprotocoles de communication, la <strong>du</strong>rée excessive des communications, le temps importantpour l’exécution des tâches, la faible performance pour des actions/réactions entemps réel rendent ces agents inadaptés aux environnements dynamiques et/ou inconnus[Simonin, 2001]. D’autre part, la complexité de ces systèmes, en particulier au niveaude la gestion des interactions, augmente de façon très importante à mesure que lenombre d’agents augmente. Cette complexité augmente d’autant plus que le système esthétérogène, c’est à dire composé d’agents aux caractéristiques différentes (capacités, compétences).Pour limiter cette complexité, les solutions existantes n’utilisent généralementqu’un faible nombre d’agents.Approches réactivesL’approche réactive débute en intelligence artificielle dans les années 80 avec les travauxde M. Minsky [Minsky, 1986]. Il propose alors un modèle <strong>du</strong> cerveau humain basé surl’activité simultanée et voisine d’un nombre important de processus élémentaires, qu’il
44 CHAPITRE 4. LES FLOTTILLES DE VÉHICULES SOUS-MARINSnomme agents. Cette approche se développe réellement vers la fin des années 80, sousl’influence d’informaticiens et d’éthologues qui se penchent sur le fonctionnement dessociétés d’insectes (termites, fourmis, abeilles) [Deneubourg et al., 1986; Deneubourg etGoss, 1989; Steels, 1989; Drogoul, 1993].A la différence des approches cognitives, les agents sont très simples. Ils n’ont pas dereprésentation de l’environnement et ne sont pas munis de capacités de raisonnement.Leurs comportements sont basés sur des réactions à des stimuli/percepts. En dépit de lasimplicité de chaque agent, les nombreuses interactions entre agents permettent de résoudredes problèmes relativement complexes sans aucun traitement centralisé. On parlealors d’intelligence collective, l’ensemble de la société d’agent fait plus que la somme desindivi<strong>du</strong>alités. En conséquence, il est souvent difficile de prédire le comportement de l’ensemblepar la seule analyse des comportements indivi<strong>du</strong>els et la société d’agents résoutles problèmes sans maîtriser le déroulement exact de la résolution. Seules l’observation etl’analyse peuvent expliquer en détail l’évolution <strong>du</strong> système vers la solution.Constituées d’agents plus simples qui interagissent de manière strictement locale, lesapproches réactives sont plus adaptées aux systèmes composés de nombreux agents. Cessystèmes sont souvent composés d’agents homogènes, la redondance des compétencespermet d’être robuste aux aléas, ce qui les rend adaptés aux environnements réels, inconnuset dynamiques. Même si les efforts de recherche ont permis à ces systèmes de résoudredes tâches de plus en plus complexes, l’écart reste immense par rapport à la plupart des besoinsque nécessitent les applications in<strong>du</strong>strielles et robotiques. De plus, les solutions développéesconcernent généralement la réalisation d’une tâche ou d’un ensemble de tâchesspécifiques et il est difficile d’utiliser ces solutions pour d’autres contextes applicatifs. Bienque plutôt robustes aux variations d’environnement, l’absence de maitrise <strong>du</strong> processus derésolution et de possibilité de prévision <strong>du</strong> comportement global rend la phase de conception<strong>du</strong> système souvent complexe, d’où l’importance d’une approche expérimentale (simulation,terrain, etc.). L’ajustement initial des paramètres est difficile à déterminer et estnéanmoins crucial pour obtenir le comportement atten<strong>du</strong>.Vers des approches hybridesDepuis les années 90 de nombreux travaux visent à fusionner les deux approches pourproposer des systèmes hybrides dans lesquels les agents présentent des capacités réactivessubordonnées à des couches cognitives. D’autre part, des techniques d’apprentissage(par renforcement, réseau de neurones) permettent d’augmenter les capacités limitées desagents réactifs purs. Le but étant d’améliorer la caractérisation des paramètres lors de la
4.2. INTÉRÊT DES SYSTÈMES MULTI-AGENTS POUR LES FLOTTILLES D’AUV 45phase de conception et de faciliter leurs déploiements pour de nouveaux contextes applicatifs.4.2.3 SynthèseUn aspect fondamental des systèmes multi-agents concerne l’autonomie des agents.Dans le domaine multi-AUV, l’autonomie d’un AUV est liée à sa capacité à communiquerle moins possible avec les autres. Ceci est crucial en ce qui concerne la coordinationsous-marine car la fiabilité des communications n’est pas une hypothèse valide [Sotzinget Lane, 2010]. Certaines études sur les systèmes multi-agents ont permis de montrer quedes tâches pouvaient être accomplies collectivement avec un minimum de communication[Simonin, 2001] voire pas de communication <strong>du</strong> tout [Arkin, 1992]. Dans les systèmesréactifs les agents parviennent à se coordonner en échangeant des signaux très simples etl’environnement est souvent utilisé comme médium de communication (exemple : phéromonesdéposées par les insectes [Drogoul, 1993]).L’environnement sous-marin est généralement inconnu et particulièrement dynamiqueen raison des perturbations liées aux vagues, aux courants océaniques ou aux inexorablesobjets et animaux en déplacement. Les recherches menées sur les agents situésconsidèrent depuis longtemps ces aspects et ont montré que certaines approches, notammentréactives, sont parfaitement adaptées pour les faire évoluer dans ce type de contexte.Les applications sous-marines (cf. chapitre 2) nécessitent la couverture de zones éten<strong>du</strong>eset l’augmentation <strong>du</strong> nombre d’AUV permettrait de ré<strong>du</strong>ire considérablement la <strong>du</strong>réedes opérations. De plus, l’accomplissement des missions est généralement complexeet requiert la réalisation de tâches de différentes natures. Hors, la coordination entre denombreuses entités dans le but de résoudre des problèmes complexes a été intensémentétudiée dans le domaine de recherche des systèmes multi-agents.Enfin, l’utilisation d’une perspective SMA a pour autre objectif de faire face à l’hétérogénéitédes AUV. En effet, une mission expérimentale implique souvent plusieurs équipesde recherche ou in<strong>du</strong>strielles. Généralement, chaque équipe développe des robots spécifiquesen termes de fonctionnalités, de capacités motrices, de capacités de perception(capteurs) et de capacités de communication. Bien que bénéfique en théorie, cette hétérogénéitésoulève des problèmes d’incompatibilité et de complexité en pratique.
46 CHAPITRE 4. LES FLOTTILLES DE VÉHICULES SOUS-MARINS4.3 Travaux utilisant les SMA pour les flottilles d’AUVComme mentionné dans le chapitre précédent, la coordination d’une flottille d’AUVpeut être abordée avec une perspective multi-agent. Les travaux de recherche qui utilisentune telle approche visent à donner plus d’autonomie aux AUV et à faire face à des missionsplus complexes, qui nécessitent des véhicules hétérogènes aux capacités complémentaires.Dans ces systèmes, les AUV doivent effectuer une mission de façon collective.Ils se partagent et effectuent ainsi des tâches de différentes natures.Des architectures logicielles orientées SMA ont été développées pour mener la gestionet l’exécution de missions multi-AUV. En général, ce sont des adaptations d’architecturesmono-AUV [Belbachir et al., 2010; Glotzbach et al., 2008] ou de la robotique coopérativeactuelle [Sariel et al., 2006]. Des planificateurs de missions distribués en ligne et des mécanismesd’allocation de tâches sont employés. Généralement, des approches multi-agentsclassiques sont utilisées.4.3.1 Adaptation d’architecure mono-AUVCertaines approches sont des adaptations d’architectures mono-AUV existantes. L’architecturelogicielle T-Rex [McGann et al., 2008], développée au MBARI (Monteray BayAquarium Research Institute), fournit au véhicule la capacité de planifier et d’exécuter sonplan de tâches. Elle est actuellement utilisée dans de nombreuses missions expérimentalespour réaliser des mesures environnementales.Dans le but de permettre aux véhicules de se représenter et de s’échanger des donnéessensorielles, deux mo<strong>du</strong>les ont été ajoutés à l’architecture initiale [Belbachir, 2011].Le "CooperativeReactor" gère l’envoi et la réception de messages d’autres véhicules. Cemo<strong>du</strong>le est associé au "MapReactor" chargé de la représentation des mesures sur une grille2D (ou carte) et qui fusionne les données sensorielles acquises par le véhicule et celles enprovenance d’autres véhicules. Le "MapReactor" peut générer des buts à atteindre appelés"waypoint" (ou point de passage) dans le cadre d’une stratégie d’exploration adaptativequi permet d’adapter le déplacement de l’AUV par rapport aux données sensorielles collectéeset d’optimiser ainsi la précision des mesures.Cette nouvelle architecture, baptisée Cot-Rex [Belbachir et al., 2012], est utilisée dans lecadre de missions d’exploration multi-AUV dans lesquelles les AUV doivent localiser unesource d’eau chaude. Une simulation est réalisée avec deux AUV et un ASV. L’ASV est utilisécomme nœud de communication entre les véhicules. Il collecte les données acquises parles deux véhicules et les transmet d’un véhicule à l’autre lors des rendez-vous. Au début de
4.3. TRAVAUX UTILISANT LES SMA POUR LES FLOTTILLES D’AUV 47la mission, des points de passage sont alloués à chaque AUV et les points de communicationsavec l’ASV sont fixés. Au cours de la mission, chaque AUV explore la zone qui lui a étéallouée en passant par chaque point de passage. Ils mettent à jour leur grille de mesure enfonction des acquisitions de température réalisées et des informations échangées lors desrendez-vous avec l’ASV. Au cours de ces échanges d’informations, seules les données misesà jour depuis leur dernier rendez-vous sont échangées. Cela permet de limiter la quantitéde données communiquées. De cette façon, les AUV se partagent la grille de mesure detempérature et chaque AUV peut adapter sa stratégie d’exploration en générant de nouveauxpoints de passage en fonction de ses propres mesures mais aussi de celles effectuéespar les autres AUV.Dans ce type d’approche, la coopération entre AUV reste très limitée puisque elle n’estutilisée que pour partager une carte de mesure. Le plan des tâches de chaque AUV est préalablementdéfini en début de mission. L’AUV réalise ensuite indépendamment son plan demission comme s’il était seul et ne peut s’adapter aux aléas qui peuvent se pro<strong>du</strong>ire dans laréalisation des missions des autres véhicules. En outre, l’architecture Cot-Rex est spécialementdédiée à des missions d’exploration et d’acquisition de mesures environnementale.Aucun autre type d’application n’est d’ailleurs envisagé pour l’instant.4.3.2 Les réseaux contractuelsSouvent utilisé comme mécanisme de coordination dans les systèmes multi-agents,le protocole Contract Net [Smith, 1980] permet l’élaboration et l’exécution d’un contratentre un agent manager et un agent contractant. Dans [You et al., 2005] et dans DEMIR-FC [Sariel et al., 2006], un système d’enchères permet de répartir l’exécution des tâches.Chaque tâche à réaliser est mise aux enchères, les agents formulent une offre en fonctionde leurs capacités et de leurs compétences, celui qui propose la meilleure offre remportel’enchère et doit exécuter la tâche.En pratique, dans le système DEMIR-FC, les robots sélectionnent la tâche la mieuxadaptée parmi toutes les tâches de la mission. Un mécanisme de sélection dynamique destâches est utilisé par les robots pour sélectionner les tâches quand leur connaissance <strong>du</strong>monde est mise à jour et qu’il y a des tâches en attente. Les tâches sont triées et classéesdans une file en fonction de leurs priorités. Les robots déclarent leur intention d’exécuterune tâche en la mettant aux enchères et en devenant commissaire-priseur. La tâche estmise aux enchères, si plusieurs robots ont l’intention de l’exécuter, elle est attribuée à celuiqui présente le coût le plus faible pour exécuter la tâche (solution presque optimale).Dans le cas où la tâche requiert plusieurs robots pour être exécutée, une coalition peut
48 CHAPITRE 4. LES FLOTTILLES DE VÉHICULES SOUS-MARINSêtre formée. Si le nombre de robot de la coalition est insuffisant, l’enchère est annulée. Ausein d’une coalition, un robot ne peut pas changer de tâche à moins qu’il ne soit libéré etremplacé par un autre robot. Les robots doivent aussi effectuer plusieurs fonctions supplémentairespour que le système global reste cohérent, ils doivent notamment diffuserrégulièrement en mode broadcast les informations sur les tâches (terminée, en cours avecquel coût, échouée, nouvelles tâches, etc.) pour éviter les redondances et pour diffuser lesinformations au plus grand nombre. Les défaillances et les conflits entre robots sont généralementdétectés lors des communications.Dans DEMIR-FC [Sariel et al., 2006], cette approche permet, par exemple, à des véhiculessous-marins hétérogènes de coopérer dans le cadre d’une mission de détection etd’identification de mines. Des UUV, dotés de capteurs de vision large (sonar latéral, etc.), serépartissent des zones dans le but de détecter et de classer les objets susceptibles d’être desmines (MLOs). Ces points d’intérêt sont ensuite alloués à des véhicules appelés "crawler",qui ont la capacité de maintenir leur position stable. Ils sont chargés d’identifier les MLOsavec des capteurs de courtes portées (caméra avec traitement, capteurs électro-optiques,etc.) et de confirmer avec certitude si ce sont des mines. Comme le montrent les différentsrésultats de simulation, cette approche est robuste aux variations <strong>du</strong> nombre de véhiculesdans la flottille (pannes ou nouveau véhicule) et les performances sont bonnes lorsque lesliens de communications entre véhicules sont maintenus.Ce type d’approche s’appuie sur une quantité d’information importante échangéeentre les AUV et requiert une certaine fiabilité des liens de communication. Ces pointsvont à l’encontre des capacités réelles des AUV en terme de communication liées aux spécificités<strong>du</strong> milieu sous-marin. Les approches qui utilisent le protocole Contract Net n’ontd’ailleurs jamais fait l’objet d’expérimentations en condition sous-marine.4.3.3 Les réseaux de tâches hiérarchiquesLe projet MAUV [Herman et Albus, 1988] est un des premiers systèmes de coopérationde véhicules sous-marins autonomes. L’architecture de contrôle des AUV est structurée endifférentes couches qui correspondent à des niveaux hiérarchiques de tâches. A chaquecouche, un planificateur décompose la tâche provenant de la couche de niveau supérieuren tâches plus élémentaires et les transmet à la couche de niveau inférieur. Ce mécanismede planification est exécuté périodiquement à des intervalles d’autant plus courts que lacouche est située à un niveau hiérarchique bas.Deux couches sont utilisées par les véhicules pour coordonner leurs tâches de plus hautniveau. La plus haute couche décompose les tâches de niveau "mission" en un ensemble
4.3. TRAVAUX UTILISANT LES SMA POUR LES FLOTTILLES D’AUV 49de sous-tâches pour des groupes de véhicules. Ces sous-tâches associées à des groupes devéhicules sont ensuite décomposées en sous-tâches qui sont allouées à chaque véhicule.Tous les véhicules sont dotés de la même architecture et se communiquent toutes les informationsconcernant la mission de telle façon qu’ils ont la même vision <strong>du</strong> monde et queles décompositions de tâches de haut niveau s’effectuent de la même manière pour chaquevéhicule. Par conséquent, les tâches sont réparties entre chaque véhicule de la même manière.L’architecture de contrôle est ensuite constituée de quatre couches chargées d’accomplirles tâches de chaque véhicule en exécutant les actions et en gérant les capteurs etles communications. Les expérimentations dans le cadre <strong>du</strong> projet MAUV se sont limitéesà des missions faisant intervenir un seul AUV.4.3.4 Les systèmes de tableau noirPlus récemment à l’Ocean Systems Laboratory [Sotzing et Lane, 2010], un système detableau noir (ou blackboard) est utilisé pour permettre à plusieurs véhicules sous-marinsautonomes de coopérer. Les systèmes de tableau noir étaient initialement utilisés en intelligenceartificielle comme un moyen de traiter des dossiers complexes, des problèmesmal définis, où la solution est la somme de ses parties. Il est basé sur une base de connaissancecommune qui est itérativement mise à jour par un groupe diversifié de sources deconnaissances spécialisées. Chaque mise à jour des connaissances <strong>du</strong> tableau noir peutcorrespondre à un nouveau problème à traiter ou à l’apport d’une solution partielle. Decette façon, les spécialistes travaillent ensemble pour résoudre le problème global. Cetteapproche a permis de résoudre de nombreux problèmes de façon distribuée et a été largementemployée dans les systèmes multi-agents.Dans l’approche proposée par Chris C. Sotzing et David M. Lane [Sotzing et Lane, 2010],le système BIIMAPS [Sotzing et al., 2008] permet à la flottille d’avoir un plan de missioncommun que les AUV peuvent mettre à jour à mesure de la réalisation des objectifs et parajout de nouveaux objectifs. Le plan de mission utilise un réseau de tâches hiérarchiques(Hierarchical Task Networks ou HTN) [Erol et al., 1994] permettant une exécution dynamiquede la mission. Un HTN est un ensemble hiérarchique de tâches abstraites et élémentaires.Une ou plusieurs méthodes sont attribuées à une tâche abstraite et décrivent lamanière de la réaliser en utilisant d’autres tâches abstraites ou élémentaires.Cette représentation de haut niveau permet de spécifier les différents objectifs, les liensde dépendances qui les lient entre eux, leurs niveaux de priorités d’exécution, les opérations(comportement/action), les contraintes d’exécution des tâches, etc. Un système decommunication acoustique en mode broadcast, appelé OceanSHELL, permet à chaque
50 CHAPITRE 4. LES FLOTTILLES DE VÉHICULES SOUS-MARINSAUV, possédant un identifiant unique, de communiquer aux autres ses données propres(type de véhicule, position, vitesse, autonomie) et les informations concernant la mission(objectif actuel, objectifs atteints, découverte d’un nouvel objectif). L’intégralité de l’historiquede la mission est envoyée dans chaque message pour permettre à chaque agent depouvoir reconstituer l’intégralité de la mission en cas de perte de communication et pourpermettre à un nouvel AUV d’intégrer la flottille et participer à la mission.Chaque agent sélectionne les objectifs qu’il souhaite réaliser parmi ceux proposés parle plan de mission en fonction de sa connaissance de l’état de la mission. Chaque AUVsélectionne le meilleur objectif à atteindre pour lui-même en tenant compte des informationssur les autres AUV. En cas de perte de communication, une estimation <strong>du</strong> comportementdes autres AUV est réalisée pour mettre à jour les informations <strong>du</strong> plan de mission.L’AUV poursuit son objectif et en sélectionne de nouveaux à partir de ces aprioris jusqu’àce que la communication soit rétablie et le plan de mission mis à jour. Dans ce cas, il estpossible que plusieurs AUV ait choisi le même objectif, la mise à jour des informationsde mission et des données AUV lors des communications permettra aux AUV concernésd’avoir les mêmes informations. Chaque AUV choisira alors son objectif à atteindre et peutstopper sa tâche en cours en cohérence avec les autres. Une expérimentation a été réaliséeavec succès au Loch Earn, en Écosse dans laquelle deux AUV hétérogènes, le REMUS et leNessie III, coopèrent dans le cadre d’une mission de contre-mesure.4.4 Limitations des approches existantesLes approches multi-agents utilisées pour la coopération d’AUV citées dans la sectionprécédente montrent certaines limites. Celles-ci vont être détaillées dans cette section,leurs conséquences sur la composition et l’utilisation des flottilles actuelles sont ensuiteanalysées.4.4.1 ConstatComplexitéLa gestion de la planification, l’affectation et l’exécution des tâches coordonnées par lesarchitectures existantes exigent la mise en œuvre de mécanismes assez complexes. Dans[Sotzing et Lane, 2010] et [Herman et Albus, 1988], chaque AUV doit connaître l’ensembledes informations des AUV, la répartition des tâches au sein de la flottille et l’intégralité del’état de la mission pour prendre des décisions. Le maintien de la mise à jour de ces va-
4.4. LIMITATIONS DES APPROCHES EXISTANTES 51riables peut nécessiter le partage de nombreuses informations, en particulier si la flottilleest composée de beaucoup d’AUV. Lorsque la communication est impossible, un mécanismede prédiction est utilisé dans [Sotzing et Lane, 2010] pour simuler le comportementet la prise de décision des autres AUV. Ces mécanismes peuvent devenir très complexeslorsque la flottille est peuplée et/ou composée d’AUV hétérogènes. Dans [You et al., 2005]et [Sariel et al., 2006], les systèmes d’allocation de tâches par mise aux enchères et le protocoleContract Net en particulier, mettent en œuvre des protocoles de communicationcomplexes et qui engendrent beaucoup d’échanges de données.Réutilisation des approches limitéeLes approches présentées à la section 4.3 sont extrêmement dépendantes des processusde planification, d’allocation de tâches et des protocoles d’interaction. Ceux-ci sontgénéralement imposés à toute la flottille. Par exemple dans le projet MAUV [Herman etAlbus, 1988], tous les véhicules doivent être munis de la même architecture pour que la répartitiondes tâches se fasse correctement. Les systèmes de tableau noir [Sotzing et Lane,2010] imposent à l’ensemble de la flottille de partager le même plan de mission et tousles AUV doivent utiliser le même processus pour se partager les tâches. La mise aux enchèresdes tâches, la proposition des offres et l’allocation des tâches dans les approches[Sariel et al., 2006] et [You et al., 2005] exigent que l’ensemble des AUV de la flottille utilisele même protocole de négociation. Enfin, les architectures issues d’architectures mono-AUV comme l’architecture Cot-Rex ont été conçues pour un type de mission spécifique etles protocoles d’interaction sont également figés.Cette dépendance par rapport aux techniques d’allocation de tâches et aux protocolesde négociation ne facilite pas la réutilisation de ces systèmes dans le cadre de nouvellesapproches. La flottille ne peut être composée que d’AUV conçus selon des exigences spécifiqueset ne peut pas intégrer d’autres approches de coopération muli-AUV. Enfin, lesapproches présentées à la section 4.3 nécessitent des capacités cognitives importantes, cequi les empêchent d’être utilisées par des AUV aux capacités de calcul limités.4.4.2 Spécificités <strong>du</strong> domaine applicatifLes approches de coopération multi-AUV adoptent des méthodes multi-agent classiques,qui sont souvent utilisées dans le domaine de la robotique coopérative actuelle.Elles ne tiennent pas suffisamment compte de la nature <strong>du</strong> domaine applicatif. Ainsi,comme nous l’avions remarqué dans le chapitre précédent, les véhicules sous-marins ontdes capacités de communication extrêmement restreintes. Les ondes acoustiques sont
52 CHAPITRE 4. LES FLOTTILLES DE VÉHICULES SOUS-MARINSle moyen le plus généralement employé sous l’eau car elles permettent la transmissionde données sur de longues distances. Leur utilisation soulève néanmoins de nombreusescontraintes. Les phénomènes de rebond, de multi-trajet, de retards de propagation, d’interférences,de pertes de messages mais surtout de limitation de débit ont pour effets delimiter les quantités de données transmises entre les AUV.Comme nous allons le voir par la suite, cette contrainte n’est pas compatible avec lacomplexité des systèmes actuels. Ceci a des conséquences sur la façon dont les flottillesd’AUV sont utilisées. De surcroit, les approches existantes n’étant pas facilement réutilisables,cela restreint d’autant plus la façon dont les flottilles peuvent être conçues.4.4.3 ConséquencesHomogénéitéLes approches multi-AUV actuelles mettent en œuvre des processus complexes pour separtager les tâches dans le cadre d’une mission commune et effectuer ces tâches de façoncollective. Dans ces systèmes, la coopération entre les AUV est obtenue au moyen de protocolesde communication complexes. Ces protocoles engendrent d’autant plus d’échangesde données que la flottille est composée d’AUV hétérogènes. Les capacités de communicationdes AUV étant extrêmement restreintes dans l’eau, la complexité des systèmes utilisésdoit être ré<strong>du</strong>ite. La ré<strong>du</strong>ction de cette complexité est généralement obtenue en utilisantdes AUV homogènes.Le comportement d’un AUV est obtenu en faisant généralement intervenir des mécanismescomplexes pour que sa prise de décision soit cohérente avec celles prises par l’ensembledes AUV de la flottille. Par exemple, le processus de prédiction utilisé dans [Sotzinget Lane, 2010], simule le comportement et la prise de décision des autres AUV pendant lesphases où les communications sont interrompues. Il est utilisé par les AUV pour sélectionnerleurs tâches à exécuter. Ce type de mécanisme peut devenir particulièrement complexelorsqu’il s’agit de prédire le comportement d’AUV différents. De ce fait, le comportementd’un AUV est déterminé plus facilement si la flottille est composée d’AUV homogènes.Les solutions existantes sont difficilement réutilisables dans le cadre de nouvelles approches.Elles ne peuvent pas non plus intégrer d’autres techniques de coopération. Laflottille ne peut être composée que d’AUV conçus selon des exigences spécifiques pourpouvoir se répartir les tâches et utiliser les mêmes protocoles de communication. De plus,les solutions de coopération proposées nécessitent des capacités cognitives importantes.Des caractéristiques en matière de capacités de calcul sont donc imposées aux AUV. Ceci
4.5. ANALYSE 53limite d’autant plus les types d’AUV qui peuvent intégrer la flottille. Encore une fois, lesflottilles sont en conséquence composées d’AUV très homogènes.Limitation <strong>du</strong> nombre d’AUVComme cela vient d’être remarqué, la complexité des protocoles de communication et<strong>du</strong> comportement des AUV augmente de façon importante lorsque la flottille est composéed’AUV hétérogènes. De la même manière, cette complexité augmente à mesure quele nombre d’AUV croît. Les systèmes de partage de mission par l’intermédiaire de tableaunoir ou de réseaux contractuels nécessitent de plus en plus d’échanges d’information entreles AUV lorsque la taille de la flottille augmente. Compte-tenu des limites environnementalesen matière de communication, les approches actuelles ne permettent la coopérationque d’un faible nombre d’AUV, d’autant plus s’ils sont hétérogènes. De même, la complexité<strong>du</strong> mécanisme de prédiction des comportements d’AUV développé dans [Sotzinget Lane, 2010], qui permet à chaque AUV de prendre ses décisions, est sensible à un accroissementde la flottille.Enfin, la réutilisabilité insuffisante empêche les approches actuelles d’intégrer des flottillesd’AUV existantes ou des véhicules non conçus selon leurs exigences. Une missionexpérimentale implique souvent plusieurs équipes de recherche ou in<strong>du</strong>strielles. Généralement,chaque équipe développe des robots spécifiques en termes de fonctionnalités, decapacités motrices, de capacités de perception (capteurs) et de capacités de communication.L’incapacité d’utiliser différentes approches limite le développement de flottilles dansle cadre d’applications sous-marines ainsi que leur extensibilité. Ceci est d’autant plus vraique certains AUV peuvent avoir des capacités de calculs limités et que cette hypothèsen’est pas prise en compte dans les approches de coopération actuelles.4.5 Analyse4.5.1 SynthèseLes approches de coopération multi-AUV actuelles adoptent des méthodes multiagentsclassiques. Ces méthodes mettent en œuvre des mécanismes de coopération complexes.Le comportement de chaque AUV est obtenu au moyen de protocoles de communicationqui engendrent beaucoup d’échanges de données entre les AUV. Les informationspartagées sont d’autant plus importantes que la flottille est grande et constituée d’AUVhétérogènes. Les approches existantes sont extrêmement dépendantes des méthodes de
54 CHAPITRE 4. LES FLOTTILLES DE VÉHICULES SOUS-MARINScoopération utilisées. Elles imposent des techniques de partage/d’allocation de tâches etdes protocoles de communications à toute la flottille. De ce fait, elles peuvent difficilementintégrer d’autres approches existantes et sont difficilement réutilisables dans de nouvellesapproches.Ces approches multi-agents, souvent utilisées dans le domaine de la robotique coopérativeactuelle, ne prennent pas suffisamment en compte la nature <strong>du</strong> domaine applicatif.Sous l’eau, les AUV ont des capacités de communication très limitées. De plus, les missionsexpérimentales peuvent impliquer des AUV conçus selon des spécificités très différentes.Pour ré<strong>du</strong>ire la complexité des protocoles d’interaction et ainsi la quantité de donnéeséchangées par les AUV, les solutions actuelles jouent sur deux facteurs complémentaires :l’homogénéisation et la diminution <strong>du</strong> nombre d’AUV au sein de la flottille. Ainsi, les solutionsactuelles qui mettent en œuvre des AUV hétérogènes se limitent à des flottillescomposées d’un faible nombre d’AUV. Inversement, l’utilisation d’AUV homogènes permetd’augmenter la taille de la flottille. D’une manière générale, les solutions existantes nepeuvent intégrer facilement d’autres techniques de coopération et ne sont pas suffisammentréutilisables dans le cadre de nouvelles approches. Ceci limite d’autant plus les typeset le nombre d’AUV qui peuvent constituer les flottilles actuelles.4.5.2 Problématiques soulevéesDe nos jours, les applications sous-marines nécessitent l’utilisation de nombreux AUVhétérogènes. Hors, les approches multi-AUV actuelles permettent la coopération d’unnombre d’AUV d’autant plus faible que la flottille est composée d’AUV hétérogènes en raisondes contraintes de communication. L’insuffisante réutilisabilité des approches limitepar ailleurs la possibilité d’utiliser des AUV différents. Ces difficultés freinent le développementdes flottilles d’AUV et leur déploiement dans le cadre de missions toujours pluscomplexes, couvrant des zones toujours plus grandes.Au regard des difficultés des solutions existantes par rapport aux besoins actuels, lesprincipaux enjeux dans le domaine multi-AUV concernent la recherche de solutions pourfaire face à l’hétérogénéité des flottilles et pour simplifier les protocoles de communicationafin de ré<strong>du</strong>ire les échanges entre AUV. En effet, la résolution de ces deux problématiquespermettrait d’augmenter considérablement la taille des flottilles d’AUV hétérogènes,ce qui leur permettraient d’être utilisées dans le cadre de nombreuses applicationssous-marines. C’est sur ces deux problématiques cruciales que nous souhaitons apporterdes solutions dans le cadre de cette thèse.
4.6. PRINCIPES DE NOTRE APPROCHE 554.6 Principes de notre approcheL’exploitation <strong>du</strong> milieu sous-marin exige la couverture de vastes zones, à de grandesprofondeurs. Les missions à effectuer sont souvent complexes. Elles requièrent la réalisationde tâches de différentes natures qui nécessitent, par conséquent, des compétencestrès diverses. Dans ce contexte, l’utilisation de véhicules sous-marins autonomes sembleêtre la solution la plus efficace. Leur autonomie leur permet d’avoir une grande libertéd’action pour effectuer des interventions sur de longues distances et nécessite moins deressources humaines pendant les phases opérationnelles. Les restrictions énergétiques, lesproblèmes de localisation sous-marine, les faibles capacités de perceptions et d’actions limitenttoutefois les domaines d’interventions de ces véhicules. Le déploiement de flottilled’AUV est apparu comme une solution pour dépasser ces limitations.Dans ce chapitre, nous avons vu que les approches de contrôle coordonnée multi-AUV,utilisées an automatique, visent généralement à maintenir une forme géométrique particulière.Elles peuvent être efficaces pour un certain nombre de missions sous-marines,notamment celles qui ont pour objectif de couvrir une zone. Elles ne sont cependant pasadaptées pour faire face à la diversité des applications sous-marines actuelles d’autantqu’elles ne sont pas conçues pour exploiter les capacités hétérogènes des AUV. De plus,la plupart de ces approches sont dépendantes de la fiabilité des communications, horscelle-ci ne peut cependant être garantie sous l’eau.Compte tenu de ces problématiques, le degré d’autonomie de chaque AUV est un paramètrecrucial. En effet, une plus grande autonomie des AUV signifie (1) une diminutiondes communications et (2) une plus grande indépendance par rapport aux caractéristiquesdes autres AUV.L’autonomie est un concept fondamental dans les systèmes multi-agents. Ce concepta largement été étudié dans les différentes approches multi-agents. Nous avons par conséquentdécidé d’aborder la problématique de la coopération multi-AUV selon une perspectivemulti-agent. Les travaux existants adoptent des méthodes multi-agents classiques,souvent utilisées en robotique collective terrestre ou aérienne. Ces méthodes permettentaux AUV de se partager et d’effectuer des tâches de différentes natures dans le cadre de missionscollectives. La complexité et la non réutilisabilité des approches existantes entrainentdes communications importantes et limitent la possibilité d’utiliser différents AUV. A causedes contraintes de communication sous-marines, les solutions existantes ne permettentde coordonner que des flottilles de petites tailles et composées d’AUV assez homogènes.Ainsi, les problématiques liées à l’hétérogénéité et à la complexité des protocoles de
56 CHAPITRE 4. LES FLOTTILLES DE VÉHICULES SOUS-MARINScommunication sont apparues comme cruciales pour le développement et le déploiementde flottilles d’AUV dans le cadre des diverses applications sous-marines actuelles.L’approche décrite dans ce manuscrit vise à répondre à ces problématiques. L’idéeprincipale est de combiner une approche organisationnelle avec un mécanisme décisionnelet interactionnel réactif. Comme nous le verrons dans le chapitre suivant, l’approcheorganisationnelle s’appuie sur une représentation explicite de l’organisation de la flottillepour faire face à une potentielle hétérogénéité des AUV. L’objectif est de simplifier la planificationde missions, l’allocation de tâches et les interactions entre les AUV indépendammentde leurs fonctionnements internes. L’approche réactive décrite dans le chapitre 6 apour but de simplifier les protocoles de communication et le mécanisme de prise de décisionde l’AUV pour ré<strong>du</strong>ire les communications entre AUV. Nous proposons ensuite d’associerces deux approches au moyen d’une architecture logicielle, appelée REMORAS, développéeau chapitre 7.6. Elle est conçue pour la coopération multi-robot dans les domainesoù la communication est restreinte. Elle permet de coordonner des AUV hétérogènes pourréaliser diverses missions sous-marines.
CHAPITRE5Une vision organisationnelle desflottilles de véhicules sous-marinsL’hétérogénéité et la complexité des protocoles de communication sont apparuescomme des problématiques cruciales dans les approches de coopération mutli-AUV. Dansce chapitre, nous montrons que les approches multi-véhicule classiques sont conçues suivantune perspective centrée sur le véhicule. Nous proposons de dépasser cette perspectivepar une approche organisationnelle. Nous étudierons les différentes propositions qui ontété faites pour structurer les systèmes multi-robot et multi-AUV à l’aide de concepts organisationnels.Nous présentons enfin une approche organisationnelle plus générique. Nousproposons de l’utiliser pour la conception de flottilles d’AUV.5.1 Les systèmes multi-agents centrés sur l’agent5.1.1 CaractéristiquesDans la conception des SMA, le système peut être conçu et étudié à partir de deux niveaux.Le micro-niveau se concentre sur l’architecture interne des agents tandis que lemacro-niveau traite le SMA dans son ensemble, à partir d’un point de vue global.Les approches multi-véhicule classiques, notamment les travaux cités dans le chapitreprécédent, sont conçues suivant une perspective de micro-niveau. A ce niveau, les étudessont menées sur les états <strong>du</strong> robot, les relations entre ces états et le comportement globalde l’agent. Les actions et les interactions sont entièrement déterminées à partir de l’étatinterne <strong>du</strong> robot. Ces approches peuvent être appelées ACMAS pour "agent centered multiagentsystems".57
58CHAPITRE 5. UNE VISION ORGANISATIONNELLE DES FLOTTILLES DE VÉHICULESSOUS-MARINSLes ACMAS reposent sur certaines hypothèses [Ferber et al., 2003] :1. Un agent peut communiquer avec n’importe quel autre agent.2. Un agent fournit un ensemble de services, qui sont à la disposition de tous les autresagents dans le système.3. Il est de la responsabilité de chaque agent de limiter son accessibilité par rapport auxautres agents.4. Il est de la responsabilité de chaque agent de définir sa relation, ses contrats, etc.avec les autres agents. Ainsi, un agent "sait" directement (par le biais de ses connaissances)l’ensemble des agents avec lesquels il peut interagir.5. Chaque agent a par l’intermédiaire de son nom, un moyen de s’adresser et d’êtreaccessible depuis le monde extérieur.5.1.2 Conséquences de l’utilisation des ACMASAprès avoir décrit brièvement les ACMAS et présenté les différentes hypothèses sur lesquellessont bâtis ces systèmes, nous allons voir leurs conséquences sur la conception desystèmes multi-agents.Complexité <strong>du</strong> comportement de l’agentAinsi, selon le point de vue ACMAS, les agents sont supposés être autonomes et aucunecontrainte n’est mise sur leurs façons d’interagir. Toutefois, cette liberté a pour effet d’augmenterla complexité <strong>du</strong> comportement de l’agent car il doit déterminer les moyens et lesagents avec lesquels il doit coopérer. Selon Jennings [Jennings, 2000], cette complexité apour conséquence de rendre les modèles et les résultats des interactions entre agents imprévisibles.La prédiction <strong>du</strong> comportement de l’ensemble <strong>du</strong> système en fonction de seséléments constitutifs est extrêmement difficile, voire impossible, <strong>du</strong> fait de la forte probabilitéd’émergence de comportements (non désirés).Les comportements émergents suscitent l’intérêt de nombreuses recherches en intelligenceartificielle et dans le domaine des SMA en particulier. Ils peuvent être un outil derésolution de problème particulièrement puissant et tout à fait désirable dans le système[Muller, 1998]. Cependant, ces comportements non prévisibles sont généralement évitésdans la plupart des applications, en particulier en robotique.
5.2. LES SYSTÈMES MULTI-AGENTS CENTRÉS SUR L’ORGANISATION 59Homogénéité des agentsDe plus en pratique, l’autonomie et la liberté d’interaction des agents a ces limites. Iln’est pas possible de supposer que des agents conçus par des designers différents peuventinteragir parfaitement sans aucun problème. Certaines hypothèses doivent être faites ausujet des primitives de communication et sur l’architecture des agents, ce qui impose uneforte homogénéité entre les agents [Ferber et al., 2003]. La limitation de la complexité estalors obtenue en utilisant des robots aux architectures très similaires et utilisant les mêmeslangages de communication. Ainsi, la coopération multi-véhicule devient très dépendante<strong>du</strong> matériel utilisé par les robots.Absence de mo<strong>du</strong>laritéLorsque le système est composé de nombreuses entités, il peut être utile de rassemblercelles qui travaillent en étroite collaboration en mo<strong>du</strong>les (ou groupes). Dans un systèmemo<strong>du</strong>laire, chaque groupe d’entités doit être capable d’effectuer ses tâches, ses activitésen relative indépendance par rapport aux autres groupes et à la problématique globale. Decette façon, ces groupes d’entités peuvent être réutilisés pour résoudre d’autres problématiques,avec d’autres groupes d’entités.Cette indépendance entre mo<strong>du</strong>les est obtenue si des règles de visibilité ou d’accessibilitépeuvent être définies entre les entités. Certaines entités sont vues par d’autres entitésou d’autres groupes d’entités tandis que d’autres sont cachées et ne sont donc pas accessiblesdepuis l’extérieur <strong>du</strong> groupe. Hors, il n’est pas possible de définir ces règles de visibilitédans les ACMAS puisque tous les agents sont accessibles par tous les autres. De cefait, dans le domaine de la robotique collective, il est difficile de réutiliser des groupes derobots conçus pour effectuer une tâche collective particulière, dans le cadre de nouvellesmissions, faisant intervenir d’autres robots.5.2 Les systèmes multi-agents centrés sur l’organisationLes limites des ACMAS peuvent être dépassées selon Jennings et Wooldridge [Jenningset Wooldridge, 2000] en apportant une structure au système :Another common misconception is that agent-based systems require no realstructure. While this may be true in certain cases, most agent systems requireconsiderably more system-level engineering than this. Some way of structuring
60CHAPITRE 5. UNE VISION ORGANISATIONNELLE DES FLOTTILLES DE VÉHICULESSOUS-MARINSthe society is typically needed to re<strong>du</strong>ce the system’s complexity, to increase thesystem’s efficiency, and to more accurately model the problem being tackled.N. R. Jennings et M. J. WooldridgeJennings [Jennings, 2000] évoque alors la nécessité de décrire les systèmes multi-agentsà un macro niveau. Il propose de caractériser le comportement <strong>du</strong> système dans son ensembleen spécifiant les relations entre les groupes d’agents et de fournir ainsi une structureorganisationnelle au système.5.2.1 Intérêt et définitionsDans leur analyse des sociétés, Crozier et Freidberg [Crozier et Friedberg, 1981], développentleur théorie selon laquelle l’efficacité de l’action collective est liée à l’adoption decertaines règles entre les acteurs :L’organisation est un construit politique et culturel, un moyen dont les acteurssociaux se dotent pour "régler" leurs interactions afin d’obtenir le minimumde coopération nécessaire pour atteindre des objectifs collectifs.M. Crozier et E. FreidbergDans le domaine des SMA, l’utilisation d’organisations offre une nouvelle manière pourdécrire les structures et les interactions. Cette approche, appelée OCMAS pour "organisationcentered multi-agent systems" [Ferber et al., 2003], consiste à caractériser le systèmeà un niveau organisationnel (ou à un "niveau social" [Jennings, 2000]) dans le but de simplifierla vision d’ensemble <strong>du</strong> système et de faciliter l’étude et la conception de ce type desystème complexe à l’origine.Dans une telle perspective, Ferber et al. [Ferber et al., 2003] décrit les principales caractéristiquesd’une organisation SMA :1. Une organisation est constituée d’agents (indivi<strong>du</strong>s) qui manifestent un comportement.2. L’organisation globale peut être partitionnée en plusieurs partitions (appeléesgroupes) qui peuvent se chevaucher.3. Les comportements des agents sont liés fonctionnellement à l’activité de l’organisationglobale (notion de rôle).4. Les agents sont engagés dans des relations dynamiques qui peuvent être "typées" enutilisant une taxonomie des rôles, des tâches ou des protocoles, décrivant ainsi unesorte de supra-indivi<strong>du</strong>alité.
5.2. LES SYSTÈMES MULTI-AGENTS CENTRÉS SUR L’ORGANISATION 615. Les types de comportements sont liés par les relations entre rôles, tâches et protocoles.L’organisation telle qu’elle est décrite ci-dessus, fournie un cadre pour les SMA. Ellene décrit pas la façon dont les agents mènent leurs activités ou leurs interactions commec’est le cas pour les ACMAS lorsque la vision <strong>du</strong> système est limitée aux comportements dechaque agent. Elle décrit plutôt la fonction (ou le rôle) des agents dans la société et spécifieles normes qui régissent les relations entre les agents. Elle décrit aussi la façon dont lesystème est partitionné, chaque partition (ou groupe) constitue un contexte d’interactionpour les agents. Du point de vue organisationnel, le fait qu’aucune description ne soit faitesur les mécanismes internes des agents mais seulement sur les comportements atten<strong>du</strong>s(par la société) permet de modéliser simplement les systèmes par rapport au comportementglobal visé et de s’abstraire de la mise en œuvre.L’organisation peut être vue à deux niveaux différents, au niveau organisationnel (ousocial) et au niveau concret (de l’agent) :L’organisation artificielle (ou structure organisationnelle) caractérise les fonctions(ou les rôles) nécessaires pour le fonctionnement <strong>du</strong> système et spécifie les relations entreces différentes fonctions. Elle décrit aussi la façon dont les fonctions sont rassemblées pourréaliser une fonction commune. Les fonctions, ainsi regroupées, entretiennent alors desrelations spécifiques. Les fonctions, les relations et les partitions <strong>du</strong> système sont définiessans se préoccuper des agents concernés ni de leur nombre. De cette façon, la structureorganisationnelle persiste lorsque les composants ou les indivi<strong>du</strong>s entrent ou sortent del’organisation, à savoir les relations qui font que l’assemblage des éléments forme un ensemblecohérent.L’organisation concrète, qui réside au niveau de l’agent, est une instanciation possibled’une structure organisationnelle. Il s’agit d’une réalisation composée d’entités quiprennent effectivement part au système, avec tous les liens qui mettent ces agents en associationà un moment donné. L’organisation concrète spécifie les agents qui incarnent lesfonctions (ou les rôles) et qui appartiennent aux différentes partitions définies par l’organisationartificielle. Les agents se retrouvent ainsi reliés entre eux par les relations définiesentre les fonctions (ou les rôles) de la structure organisationnelle. Il est possible de relierune structure organisationnelle à une organisation concrète, mais la structure même del’organisation peut servir de base pour la définition de plusieurs organisations concrètes.
62CHAPITRE 5. UNE VISION ORGANISATIONNELLE DES FLOTTILLES DE VÉHICULESSOUS-MARINS5.2.2 Propriétés et avantages de l’utilisation d’OCMASNous avons montré l’intérêt que suscite l’utilisation d’une organisation pour structurerles systèmes multi-agents. Nous avons décrit les principales caractéristiques et les différentsniveaux d’une organisation SMA. A présent, nous allons décrire les propriétés et lesavantages que procurent l’utilisation d’une organisation pour la conception de systèmesmulti-agents.Simplification <strong>du</strong> comportement des agentsUn système structuré par une organisation permet de simplifier la vision de l’ensemble<strong>du</strong> système par l’agent ce qui, par voie de conséquence, simplifie aussi son comportement.L’organisation permet de spécifier les relations entre agents via l’incarnation de leurs fonctions.De cette façon, l’agent n’est lié qu’aux agents qui lui sont utiles dans le cadre del’exécution de ses fonctions, il ignore les autres agents qui composent le système.Les liens entre les agents sont définis entre les fonctions (les rôles) incarnées par lesagents. Ils permettent aux agents de déterminer très facilement les agents auxquels ilsdoivent s’adresser dans le cadre de l’exécution de leur fonction ou lorsqu’ils ont besoinqu’une fonction soit réalisée. En outre, ils n’ont pas besoins de savoir comment les fonctionsdes autres agents vont être réalisées mais simplement le résultat atten<strong>du</strong> par l’exécutionde telle ou telle fonction. Tout ceci simplifie la prise de décision de chaque agentet par la même leur comportement. Il devient plus facile de prédire le comportement d’unagent et <strong>du</strong> système global lorsqu’il est organisé.La spécification des relations entre les fonctions incarnées par les agents et le faitqu’elle simplifie le comportement des agents permet de minimiser la coordination entreles agents. Dans le cadre de notre contexte applicatif, la coopération multi-AUV nécessiteraitainsi moins de communication. Cet aspect présente un grand avantage compte tenudes contraintes de communication en milieu sous-marin.HétérogénéitéUne organisation, qu’elle soit artificielle ou concrète, ne fait aucune description desagents qui composent le système. Aucune hypothèse n’est formulée sur la façon dont lesagents doivent être conçus. Des agents de natures très différentes peuvent ainsi composerle système. Par exemple, des agents réactifs peuvent agir dans la même organisation quedes agents cognitifs.
5.3. VERS DES APPROCHES ORGANISATIONNELLES POUR LES FLOTTILLES D’AUV 63L’organisation fait également abstraction de la façon dont sont réalisés les rôles et lescomportements de l’agent. Elle se préoccupe seulement de ce qui est réalisé à travers cesrôles ou ces comportements et spécifie plutôt le comportement atten<strong>du</strong> par l’agent. Decette façon, des agents qui réalisent leurs fonctions de façon différente mais dont le comportementrésultant est identique peuvent être décrit de la même manière au niveau organisationnel.Enfin, la spécification des relations entre comportements d’agents et la possibilité departitionner le système facilitent le fonctionnement collectif d’agents hétérogènes. Celapermet aux agents de coopérer uniquement avec les agents avec lesquels ils sont compatibleset d’ignorer les autres.Cette propriété d’hétérogénéité des systèmes multi-agents centrés sur l’organisationpeut être très intéressante <strong>du</strong> point de vue de la conception de flottilles d’AUV. Elle pourraitfaciliter l’utilisation d’AUV de natures très différentes, conçus par différentes équipes,selon des spécificités qui leur sont propres.Mo<strong>du</strong>larité <strong>du</strong> systèmeL’organisation fournie une façon de partitionner le système en différentes unités (ougroupes). Ces groupes permettent de constituer un contexte d’interaction pour les agents.Ils permettent d’établir des limites relationnelles entre les agents de façon à ce que lesagents au sein d’un groupe puissent fonctionner de manière indépendante vis à vis desagents qui appartiennent à d’autres groupes.Le fait de pouvoir spécifier des groupes d’AUV indépendants les uns des autres est essentielpour la conception et le déploiement de flottilles de grandes tailles. Cela permetd’utiliser différentes flottilles (groupes) fonctionnelles existantes et de les assembler pourformer un ensemble capable de réaliser la mission globale.5.3 Vers des approches organisationnelles pour lesflottilles d’AUVL’adoption d’une vision organisationnelle présente de nombreux atouts pour la coopérationd’AUV. Elle a pour objectif de faciliter la coordination de flottilles composées denombreux véhicules hétérogènes, permettre de faire face à divers contextes de missionet minimiser les communications nécessaires. Certains projets de coopération multi-AUV
64CHAPITRE 5. UNE VISION ORGANISATIONNELLE DES FLOTTILLES DE VÉHICULESSOUS-MARINSont d’ailleurs proposé d’utiliser certaines formes d’organisation pour structurer leurs flottilles.5.3.1 L’exemple <strong>du</strong> projet MAUVEn robotique sous-marine, cette idée a commencé à émerger dans le cadre <strong>du</strong> projetMAUV [Herman et Albus, 1988], qui utilise une approche à base de réseaux de tâches hiérarchiques(cf. sous-section 4.3.3). Les auteurs analysent les limites de leur approche. Unecommunication régulière entre chaque véhicule est nécessaire pour maintenir la mêmevision <strong>du</strong> monde pour tous les AUV de façon à ce qu’ils décomposent et se répartissent lestâches de la même manière entre chaque véhicule. A mesure que les missions deviennentcomplexes et que les véhicules deviennent nombreux, les véhicules ont besoin de communiquerde plus en plus d’informations pour réaliser le comportement coopératif atten<strong>du</strong>.FIGURE 5.1 : Spécification de groupes de véhicules dans l’architecture MAUVPour minimiser les communications entre véhicules, ils suggèrent de structurer la flottillede façon "hiérarchique". Leur système est déjà conçu pour gérer plusieurs groupesde véhicules (cf. figure 5.1). Ils proposent alors de spécifier un véhicule leader pour chaquegroupe et un véhicule leader pour gérer la mission globale de la flottille. Le leader de la flot-
5.3. VERS DES APPROCHES ORGANISATIONNELLES POUR LES FLOTTILLES D’AUV 65tille planifie et communique les plans de tâches aux véhicules leaders de chaque groupetandis que ces derniers réalisent les mêmes opérations pour les véhicules de leur groupe.De cette façon, même si les différents véhicules ont des visions <strong>du</strong> monde différentes, ilspeuvent exécuter leurs actions coopératives déterminées à partir <strong>du</strong> modèle <strong>du</strong> monde desleaders <strong>du</strong> groupe et de la mission. En cas de coupure de communication, chaque véhiculepeut générer son propre plan de tâches à l’aide de ses couches de haut niveau (la couchemission et la couche groupe), les leaders reprennent le relais lorsque la communication estrétablie.Cette forme d’organisation de la flottille est proposée sous la forme d’une simple idéedans [Herman et Albus, 1988] pour faire face à la quantité de communication excessive deleur approche. Cette idée était néanmoins particulièrement novatrice dans le domaine dela coordination multi-AUV.5.3.2 L’exemple <strong>du</strong> projet CoDADans les années 2000, le projet CoDA [Turner et Turner, 2001] aborde spécifiquementla problématique de l’organisation de réseaux autonomes pour le prélèvement océanographique(autonomous oceanographic sampling networks ou AOSNs). Ces réseaux sontconstitués d’agents hétérogènes tels que des véhicules sous-marins ou d’autres platesformesd’instruments de mesure.FIGURE 5.2 : Approche générale <strong>du</strong> projet CoDALe principe général de l’approche CoDA est présenté à la figure 5.2. Cette approcheutilise deux niveaux d’organisation. Un protocole d’interaction spécifique permet à desagents de former le premier niveau d’organisation appelé "meta-level organization" (ou
66CHAPITRE 5. UNE VISION ORGANISATIONNELLE DES FLOTTILLES DE VÉHICULESSOUS-MARINSMLO). Les agents <strong>du</strong> MLO s’auto-organisent pour collecter les capacités des agents quiconstituent l’AOSN et déterminer l’organisation concrète, appelée "task level organization"(ou TLO), en fonction de la mission à réaliser et des capacités disponibles. La spécification<strong>du</strong> TLO passe par la sélection d’une structure organisationnelle, les tâches spécifiéesdans l’organisation sont alors allouées aux agents de façon à ce qu’ils effectuentla mission. Lorsque des changements surviennent, les agents <strong>du</strong> MLO peuvent intervenirpour réorganiser l’AOSN en ajustant le TLO. Dans le cas où les ajustements sont impossiblesà effectuer, un nouveau MLO est formé pour déterminer un nouveau TLO.FIGURE 5.3 : Exemple d’AOSN <strong>du</strong> projet CoDACette approche est utilisée pour organiser l’AOSN présenté à la figure 5.3. Le systèmeest constitué de six AUV et de six plates-formes amarrées (ou "mooring"). Il est considérécomme très hétérogène puisque les engins disposent de capacités et de niveaux d’intelligencedifférents. Seul deux AUV, appelés Ariel et Arista, peuvent intégrer l’organisation deméta-niveau (MLO). Ils disposent des capacités cognitives et des protocoles d’interactionsuffisant pour organiser et réorganiser l’AOSN. Les autres engins ne peuvent pas participerà ce niveau d’organisation. Les AUV ont la capacité de gérer d’autres engins ce qui n’est pasle cas des plates-formes amarrées.La mission consiste à collecter des données (CTD, sonar, etc.) dans une zone de façonrégulière. Lorsque des changements de température sont détectés dans une sous-zone, lesacquisitions de données doivent se focaliser sur cette zone. Ariel et Arista forment le MLO,ils coopèrent pour sélectionner une structure organisationnelle en fonction de la missionà effectuer et des capacités des engins à disposition. La structure organisationnelle fournieun ensemble de tâches et spécifie les relations entre ces tâches. Ariel et Arista assignent ensuiteles engins aux tâches qu’ils vont devoir accomplir dans la structure organisationnelle.Un exemple de TLO formée est donnée à la figure 5.4.Les rectangles représentent les tâcheset sont notés "nom tâche
5.3. VERS DES APPROCHES ORGANISATIONNELLES POUR LES FLOTTILLES D’AUV 67taires qui nécessitent une capacité particulière. Elles sont notées "capacité nécessaire
68CHAPITRE 5. UNE VISION ORGANISATIONNELLE DES FLOTTILLES DE VÉHICULESSOUS-MARINSen totale indépendance des engins qui ne font pas partie <strong>du</strong> MLO. Le MLO est utilisé pourlimiter l’accès de ceux qui n’ont pas la capacité de participer aux tâches organisationnelles.Cette approche ne distingue cependant que ce groupe d’engins. La spécification d’autresgroupes pour d’autres contextes d’interaction n’est pas envisagée. Cela limite la mo<strong>du</strong>laritéde l’approche et, par là même, la réutilisation de flottilles existantes.Un premier pas vers l’hétérogénéitéD’autre part, les formes d’organisation proposées dans les deux approches permettentde spécifier certaines interactions entre les agents en fonction des types de tâches qu’ilsaccomplissent.Dans le projet MAUV, l’idée d’utiliser des véhicules "leader", notamment au sein dechaque groupe, constitue un premier pas vers la différentiation des rôles des véhicules ausein de la flottille. Elle permet surtout de spécifier les interactions de ces véhicules "leader".Le "leader" de la mission est uniquement en relation avec les "leaders" de chaquegroupe. Le "leader" de chaque groupe est, quant à lui, en relation avec les véhicules de songroupe. Cette forme d’organisation <strong>du</strong> système est proposée pour limiter les communicationsentres véhicules et pour permettre au système d’être plus robuste aux coupures decommunication.Les principales limites de l’approche MAUV sont l’absence de définition d’organisationsartificielles qui pourraient fournir un ensemble de rôles et spécifier les relations entreceux-ci en fonction <strong>du</strong> contexte de la mission à effectuer. Il en ressort une "organisation"assez rigide dans laquelle seuls les rôles de leaders de mission et de groupe sont spécifiés.Elle ne permet pas d’envisager différentes missions complexes dans lesquelles les AUV decapacités très différentes coopèreraient. De surcroit, cette approche impose un type d’architectureà tous les véhicules de la flottille. Cela limite considérablement les types d’AUVqui peuvent intégrer la flottille.Dans le projet CoDA, la spécification des interactions par l’organisation est beaucoupplus approfondie. La structure organisationnelle définie les relations entre les tâches à accomplirpar les engins. Ceci permet de faire abstraction, à ce niveau, des engins qui lesexécutent et de leur nombre. La structure organisationnelle peut être déclinée en diversesorganisations concrètes (ou TLO), en fonction des capacités des engins à disposition.Au niveau <strong>du</strong> TLO, les relations restent cependant définies entre les engins. Chaque engin"sait", via ces connaissances <strong>du</strong> TLO, avec quel agent il doit interagir pour une tâchedonnée. Ce type de spécification des relations entre les engins rend cette approche particulièrementdépendante des engins qui composent la flottille. L’organisation concrète
5.4. LE MODÈLE ORGANISATIONNEL AGENT/GROUPE/RÔLE 69est par conséquent extrêmement rigide. Elle nécessite une réorganisation complète de laflottille en cas de perte ou d’arrivée de nouveaux engins.BilanLes approches élaborées dans les projets MAUV et CoDA furent réellement novatricesdans leur façon d’appréhender les flottilles de robots sous-marins, et même des flottillesde robots en général. Elles ont émis l’idée qu’apporter une structure au système, par l’intermédiairede rôles, de groupes, etc., pouvaient apporter des solutions pour faciliter lacoopération multi-véhicule.Dans le projet MAUV, une certaine forme d’organisation est proposée dans le but delimiter les communications entre les véhicules et permet d’augmenter la robustesse de laflottille vis à vis des coupures de communication. Dans le projet CoDA, l’utilisation d’uneorganisation artificielle permet de concevoir diverses organisations concrètes de véhiculeshétérogènes pour effectuer diverses missions.Nous avons vu que ces approches fournissent des solutions en termes de mo<strong>du</strong>larité etde capacité à prendre en compte l’hétérogénéité des véhicules au sein de flottilles. Néanmoins,elles restent limitées dans leur manière de spécifier les interactions entre véhiculeset d’intégrer facilement des approches (des véhicules, des flottilles) existantes. Lorsque cesapproches ont été conçues, les connaissances sur les systèmes multi-agents centrés surl’organisation étaient insuffisantes pour prendre en compte ces aspects. A présent, pourfaire face à ces enjeux, nous proposons d’utiliser un modèle d’organisation très utilisé enSMA, le modèle Agent/Groupe/Rôle, pour structurer les flottilles de véhicules sous-marinsautonomes.5.4 Le modèle organisationnel Agent/Groupe/Rôle5.4.1 DéfinitionsLe modèle AGR (agent/groupe/rôle) donne un cadre général pour la conception d’OC-MAS. Il a été proposé par J. Ferber et O. Gutknecht [Ferber et al., 2003]. C’est un modèletrès concis basé sur trois concepts clés : l’agent, le groupe et le rôle. La figure 5.6 présenteles relations entre les concepts.
70CHAPITRE 5. UNE VISION ORGANISATIONNELLE DES FLOTTILLES DE VÉHICULESSOUS-MARINSappartient àjouestructuré parFIGURE 5.5 : Concepts de base <strong>du</strong> modèle AGR [Gutknecht, 2001]L’agent :Un agent est une entité active, autonome et communicante qui joue des rôlesdans groupes. Un agent peut jouer plusieurs rôles et peut être membre de plusieursgroupes.FIGURE 5.6 : Modèle d’agent générique [Gutknecht, 2001]Le groupe :Un groupe est un ensemble d’agents partageant certaines caractéristiquescommunes. Un groupe est utilisé comme cadre pour l’exercice d’un ensembled’activités et est utilisé pour partitionner l’organisation. Deux agents peuventcommuniquer si et seulement si ils appartiennent au même groupe, un agentpeut cependant appartenir à plusieurs groupes.
5.4. LE MODÈLE ORGANISATIONNEL AGENT/GROUPE/RÔLE 71Le rôle :Le rôle est la représentation abstraite d’une fonction d’un agent dans ungroupe. Un agent peut jouer plusieurs rôles dans un groupe. Les rôles sont locauxaux groupes et peuvent être joués par plusieurs agents.5.4.2 Spécificités <strong>du</strong> modèle AGRLe modèle AGR présente des spécificités intéressantes pour la description d’organisationde flottilles d’AUV :Plusieurs niveaux d’organisationIl permet de modéliser différentes organisations artificielles selon les missions. Appeléeaussi structure organisationnelle, l’organisation artificielle caractérise les groupes, lesrôles et le graphe d’interaction. Les groupes et les rôles sont définis sans se préoccuper desagents qui vont leurs être affectés ni de leur nombre. Le graphe d’interaction spécifie lesrelations entre les rôles. Les arêtes <strong>du</strong> graphe sont établies entre deux rôles au sein d’ungroupe.Ainsi, il est possible de définir des organisations artificielles adaptées à différentes missionscollaboratives sous-marines. L’organisation artificielle peut ensuite être instanciéeen une variété d’organisations concrètes en fonction des ressources disponibles pour réaliserla mission. A ce niveau, les agents composent les groupes au sein desquels leurs sontaffectés les rôles qu’ils vont devoir jouer. Un exemple d’organisation artificielle et d’une deses déclinaisons en une organisation concrète est donnée aux figures 5.7 et 5.8.R1G1I1R2R3I 4R5I 2I 3R4G2G3 R6 I 5GroupeRôleRelationFIGURE 5.7 : Une organisation artificielleFIGURE 5.8 : Une organisation concrète
72CHAPITRE 5. UNE VISION ORGANISATIONNELLE DES FLOTTILLES DE VÉHICULESSOUS-MARINSHétérogénéitéLes applications sous-marines peuvent nécessiter l’emploi de robots de natures différentesen terme de fonctionnalités, de capacités cognitives, de capacités motrices, de capacitésde perception (capteurs) et de capacités de communication. Les robots peuvent aussiavoir été conçus par différentes équipes de recherche ou in<strong>du</strong>strielles. Le modèle AGR estparticulièrement adapté pour organiser des agents hétérogènes puisque le modèle ne faitaucune hypothèse sur les caractéristiques cognitives ou matérielles des agents.Les compétences, les services offerts ou les fonctions de l’agent sont simplement caractériséspar le terme générique de "rôle", indépendamment de détails techniques. L’hétérogénéitédes communications peut être gérée par l’utilisation de différents groupes puisqueles agents ne peuvent communiquer qu’au sein de leur groupe uniquement. L’interventiond’un agent dans plusieurs groupes permet d’établir une "passerelle" entre deux portionsd’un système potentiellement incompatibles. L’agent doit alors être capable d’interagirdans les deux modèles d’interaction relatifs à l’un et l’autre groupe. Différents langagesou protocoles de communication peuvent ainsi être utilisés au sein <strong>du</strong> système même ausein de chaque groupe puisque les protocoles d’interactions sont définis entre rôles.Réglage des interactionsLes concepts de rôle et de groupe permettent de régler les interactions facilement.Les protocoles d’interactions sont définis entre deux rôles au sein d’un groupe. L’agentn’a donc pas besoin d’utiliser de mécanismes internes ou de coopération complexes pourdéterminer les moyens et les agents avec lesquels il doit interagir. La vision de la société <strong>du</strong>point de vu de l’agent est ainsi simplifiée et l’est d’autant plus que le nombre d’agents quicomposent le système est important. Par conséquent, le modèle organisationnel AGR estun moyen efficace pour minimiser la coopération nécessaire au sein d’une flottille d’AUVet donc pour limiter les communications.Mo<strong>du</strong>laritéLe modèle permet de concevoir le système avec une grande mo<strong>du</strong>larité. Le conceptde groupe permet de fixer des limites entre les différentes communautés d’agents. Lesgroupes sont opaques les uns par rapport aux autres, l’agent ne voit que les portions dela structure sociale dans lesquelles il agit. Les autres parties de l’organisation lui sont invisibles,la complexité <strong>du</strong> système se limite à celle des groupes auxquels il appartient. Il estalors possible d’ajouter des groupes d’agents, sans que les agents appartenant à d’autres
5.5. ATOUTS DU MODÈLE AGR POUR LA DESCRIPTION DE FLOTTILLES D’AUV 73groupes <strong>du</strong> système ne soient affectés. Du point de vue de la conception de flottille d’AUVcela facilite l’intégration de flottilles existantes qui peuvent notamment utiliser des systèmesde coordination spécifiques.5.5 Atouts <strong>du</strong> modèle AGR pour la description de flottillesd’AUVLe modèle Agent/Groupe/Rôle permet de modéliser différentes organisations artificiellesselon les missions et de régler les interactions d’agents hétérogènes avec une grandemo<strong>du</strong>larité. Dans le domaine de la coopération multi-AUV, les spécificités de ce modèleprésentent de nombreux atouts.5.5.1 GénéricitéLa spécification des rôles et des interactions entre les rôles permet de définir une multituded’organisations concrètes d’agents hétérogènes. De plus, le modèle offre la possibilitéde caractériser des groupes d’agents indépendants qui peuvent se chevaucher. Le modèleAGR possède tous les ingrédients pour modéliser une grande variété de configurations devéhicules sous-marins de capacités cognitives ou matérielles différentes. Il est ainsi possibled’envisager la réalisation de toutes sortes de missions.La généricité <strong>du</strong> modèle AGR offre d’ailleurs la possibilité de modéliser facilement laconfiguration d’AUV qui est proposée dans le projet MAUV et l’organisation d’AUV proposéedans le projet CoDA. Nous présentons la structure d’organisation "hiérarchique"présentée dans [Herman et Albus, 1988] sous la forme d’une organisation concrète AGR àla figure 5.9. A noter que nous avons ajouté le groupe "mission" pour bien caractériser laspécificité des interactions entre le leader de la mission et les leaders de chaque groupe etmarquer le fait que le leader de la mission ne peut pas communiquer avec les véhiculesnon leader de chaque groupe.L’exemple d’AOSN utilisé dans l’approche CoDA peut aussi être aisément structuréeavec notre approche. La figure 5.10 représente l’organisation concrète de l’AOSN obtenueavec le modèle AGR. Les groupes sont utilisés pour modéliser les différents niveaux d’organisationde l’approche CoDA.
74CHAPITRE 5. UNE VISION ORGANISATIONNELLE DES FLOTTILLES DE VÉHICULESSOUS-MARINSFIGURE 5.9 : Organisation concrète AGR de la structure hiérarchique <strong>du</strong> projet MAUV5.5.2 Simplification <strong>du</strong> comportement des véhiculesLe modèle AGR, à travers les organisations artificielles, permet de spécifier les relationsentre les rôles. Le contexte des relations entre rôles est fourni par le groupe dans lequelles rôles sont exercés. Ces rôles sont ensuite incarnés par les agents. Un AUV qui incarneun rôle voit ainsi ses relations fixées par rapport aux rôles joués par les autres AUV de laflottille.L’AUV n’a donc pas besoin d’utiliser de mécanismes internes ou de coopération complexespour déterminer les moyens et les agents avec lesquels il doit interagir. De plus, savision de la flottille se limite aux seuls rôles avec lesquels il peut interagir ce qui ré<strong>du</strong>itle nombre de véhicules concernés. Pour l’AUV, la vision <strong>du</strong> système est d’autant plus restreintequ’elle est ré<strong>du</strong>ite aux véhicules qui appartiennent aux mêmes groupes que lui.5.5.3 Minimisation des communicationsLa spécification des interactions entre rôles au sein des groupes a pour conséquence desimplifier la vision <strong>du</strong> système global pour les véhicules sous-marins. Cette simplificationse tra<strong>du</strong>it par une diminution de la coopération nécessaire pour obtenir le même comportementcollectif. Les interactions sont fixées entre les rôles et le contexte des interactionsest fourni par les groupes. Les véhicules sous-marins savent directement comment et avecquels agents interagir, via les rôles et les groupes auxquels ils appartiennent. Les protocolesd’interaction sont par conséquent simplifiés.
5.5. ATOUTS DU MODÈLE AGR POUR LA DESCRIPTION DE FLOTTILLES D’AUV 75FIGURE 5.10 : Structure organisationnelle de l’exemple d’AOSN <strong>du</strong> projet CoDA avec le modèleAGRDe plus, les interactions étant définies entre les rôles et non entre les agents, l’arrivée, ledépart ou le remplacement d’un AUV est facilité et peut s’effectuer de façon "transparente"<strong>du</strong> point de vue des autres AUV qui composent la flottille. Ces évènements ne nécessitentdonc pas forcément une réorganisation complète <strong>du</strong> système comme c’est le cas dans l’approcheCoDA. Cela permet de ré<strong>du</strong>ire d’autant plus les communications nécessaires.5.5.4 Réutilisabilité / extensibilité des flottillesLe modèle AGR permet de modéliser des organisations de flottilles d’AUV de façon trèsmo<strong>du</strong>laire via le concept de groupe. Cette spécificité <strong>du</strong> modèle AGR permet d’ajouter desgroupes d’AUV, sans que les AUV appartenant à d’autres groupes <strong>du</strong> système ne soient affectés.Pour la conception de flottille d’AUV, cela facilite l’intégration de flottilles existantesqui peuvent notamment utiliser des systèmes de coordination spécifiques. Dans le cadrede notre contexte applicatif, les équipes de recherche ou in<strong>du</strong>strielles développent des flottillesde petite taille, souvent avec 2 ou 3 AUV. Ces flottilles utilisent des approches de coordinationspécifiques qui ne sont pas directement compatibles avec d’autres approches.Avec le modèle AGR, il est possible d’assembler ces différentes approches en utilisant plusieursgroupes pour former des flottilles de taille plus importante. L’extensibilité des flot-
76CHAPITRE 5. UNE VISION ORGANISATIONNELLE DES FLOTTILLES DE VÉHICULESSOUS-MARINStilles est d’autant plus facilitée que l’approche organisationnelle AGR permet égalementde simplifier les protocoles de communication et de ré<strong>du</strong>ire les communications.5.6 Résumé <strong>du</strong> chapitreCe chapitre a permis de montrer que les approches multi-véhicules classiques étaientconçues selon une perspective centrée sur l’agent. Cette perspective offre une grande autonomieet une grande liberté d’interaction aux véhicules. L’adoption d’une telle vision anéanmoins pour conséquence d’engendrer une grande complexité <strong>du</strong> comportement del’agent et des protocoles de communication utilisés. En raison des contraintes environnementales,notamment en ce qui concerne les communications, cette complexité a poureffet de limiter l’hétérogénéité et l’extensibilité des flottilles.L’adoption d’une nouvelle perspective, centrée sur l’organisation, permet de structurerle système. Cette structure vise à simplifier la vision de la flottille par les AUV et faciliter laconception de flottilles composées de véhicules hétérogènes. Différentes approches en robotiquecollective, et sous-marine en particulier, ont eu l’idée d’utiliser des concepts organisationnelspour apporter une structure à leur système. Elles ont permis de concevoir dessystèmes composés de véhicules aux capacités cognitives et matérielles assez différentes.Ces approches restent néanmoins limitées en termes d’hétérogénéité et de mo<strong>du</strong>larité.Nous avons proposé d’utiliser une approche organisationnelle très utilisée pour modéliserles systèmes multi-agents : le modèle Agent/Groupe/Rôle. Ce modèle présente denombreuses spécificités compte tenu de notre problématique de modélisation de flottillesd’AUV. Il permet de modéliser différentes organisations artificielles selon les missions etde régler les interactions entre agents hétérogènes avec une grande mo<strong>du</strong>larité. Dans ledomaine de la coopération multi-AUV, les spécificités de ce modèle présentent de réelsatouts. Il est très générique et permet de modéliser des organisations d’AUV pour diversesmissions. Il permet en outre de modéliser les formes d’organisations élaborées dans lesapproches multi-AUV existantes. Ce modèle peut aussi être une solution pour simplifier lecomportement et les protocoles de communication des AUV. Le modèle permet aussi deré<strong>du</strong>ire les communications nécessaires et de réutiliser des approches existantes. Ces deuxderniers points facilitent l’augmentation de la taille des flottilles d’AUV.Les communications étant une problématique cruciale dans le milieu sous-marin,nous souhaitons simplifier au maximum les protocoles de communication. Dans cet objectif,nous proposons dans le chapitre suivant une approche réactive capable d’utiliser lastructure organisationnelle décrite dans ce chapitre.
CHAPITRE6Une approche de coopérationréactiveLa ré<strong>du</strong>ction des communications entre AUV est un enjeu capital pour envisager ledéploiement de flottilles. L’objectif de ce chapitre est de fournir des moyens d’interactionsaux AUV de façon à ce qu’ils puissent agir collectivement en minimisant la quantité decommunication nécessaire.Dans la section 6.2, nous étudierons deux manières de traiter un problème collectivement: la coopération et la collaboration. Nous choisirons celle qui correspond le mieuxaux contraintes <strong>du</strong> milieu sous-marin. Ensuite, dans la section 6.3, nous verrons plus endétail la manière dont les AUV peuvent coordonner leurs actions de façon à pouvoir agiravec réactivité en limitant les communications nécessaires.Dans la section 6.4, nous verrons que le modèle satisfaction-altruisme est une solutionefficace pour simplifier les protocoles de communication. Les formes de coopérationpouvant être considérées sont néanmoins restreintes et les AUV ont besoin d’interagirde manières différentes selon les missions. Ainsi nous proposons d’étendre l’approchesatisfaction-altruisme à la section 6.5 de façon à pouvoir considérer différentes formesd’interaction. Enfin, à la section 6.6, nous associerons la nouvelle approche de coopérationréactive avec l’approche organisationnelle que nous avons proposé dans le chapitreprécédent. Nous verrons comment la spécification <strong>du</strong> contexte des interactions réactivesavec le modèle AGR permet d’offrir de nouvelles perspectives pour la coopération de flottillesd’AUV.A présent, nous allons caractériser les enjeux que représentent les interactions entreAUV ainsi que les problématiques qui sont soulevées.77
78 CHAPITRE 6. UNE APPROCHE DE COOPÉRATION RÉACTIVE6.1 Interactions entre AUVDans le cadre de cette thèse, nous souhaitons utiliser plusieurs AUV pour effectuer diversesmissions sous-marines. Nous considérons uniquement les missions collectives danslesquelles les AUV ont des buts compatibles et où ils doivent travailler ensemble pour réaliserla mission.Du point de vue applicatif, effectuer une mission collectivement procure au systèmemulti-AUV divers avantages :– Accomplir des tâches impossibles à réaliser seul,– Améliorer la pro<strong>du</strong>ctivité de chacun des AUV,– Diminuer le temps de réalisation d’une tâche ou augmenter le nombre de tâchesréalisées dans le délai imparti,– Améliorer l’utilisation des ressources (notamment les moyens humains, cf. section3.5).Le travail collectif implique inévitablement des interactions entre les AUV. La notiond’interaction est au centre de la problématique des systèmes multi-agents. J. Ferber [Ferber,1995] définit l’interaction comme "une mise en relation dynamique de deux ou plusieursagents par le biais d’un ensemble d’actions réciproques". Généralement, les interactionsimpliquent des échanges d’information entre les agents.Sous l’eau, les échanges d’information se font généralement par l’intermédiaire decommunications acoustiques. Hors, les capacités de communication des AUV sont extrêmementlimitées (cf. chapitre 3). La ré<strong>du</strong>ction des communications est par conséquentune problématique majeure des systèmes multi-AUV.De plus, il ne faut pas oublier que l’environnement sous-marin est aussi dans sa grandemajorité inconnu et très dynamique. Il est donc très difficile d’anticiper les situations danslesquelles peuvent se retrouver les AUV en cours de mission. Ce sont aussi des points àprendre en considération dans les méthodes d’accomplissement d’une mission faisant intervenirplusieurs AUV.Il existe plusieurs façons d’effectuer une mission par une flottille d’AUV. Dans ce quisuit, nous proposons d’étudier les différentes manières de travailler collectivement dans lebut d’identifier celles qui correspondent le plus aux critères décrits précédemment.
6.2. LA COOPÉRATION ET LA COLLABORATION DANS LES FLOTTILLES D’AUV 796.2 La coopération et la collaboration dans les flottillesd’AUVDans la littérature, les termes de coopération et de collaboration sont souvent confon<strong>du</strong>s.Ils représentent pourtant deux façons différentes de traiter et de résoudre un problèmecollectivement.6.2.1 La coopérationLa coopération correspond à une répartition des tâches, des informations et des ressourcesentre les AUV, où chacun peut accomplir de manière autonome et responsable sapart de travail. Jean Heutte définit le mode coopératif dans [Heutte, 2003] :"Le mode coopératif résulte d’une division négociée (rationalisée) a priorid’une tâche en actions qui seront attribuées (réparties) entre des indivi<strong>du</strong>s quivont agir de façon autonome. La responsabilité de chacun est limitée à garantirla réalisation des actions qui lui incombent : c’est la concaténation progressiveet coordonnée <strong>du</strong> fruit de l’action de chacun qui permet d’atteindre l’objectif."Les tâches réparties entre plusieurs AUV sont souvent issues de la décomposition d’unobjectif global. Cet objectif global n’est pas nécessairement connu par les AUV. Un AUVcoopère avec un ou plusieurs AUV dans le but de réaliser les tâches qui lui ont été assignées.La réalisation des tâches par chaque AUV va permettre d’atteindre l’objectif global.Avantages et inconvénientsLa coopération est un moyen efficace pour effectuer des tâches collectives complexes.Elle est d’ailleurs souvent utilisée par les humains, par exemple pour la construction d’édifices(ponts, bâtiments, etc.). Une fois les tâches réparties entre les AUV, la réalisation del’objectif global nécessite un minimum de coordination entre les AUV. Chaque AUV effectuesa tâche indivi<strong>du</strong>elle de façon autonome et n’interagit avec les autres AUV que lorsquecela est vraiment nécessaire.La coopération est aussi particulièrement adaptée pour les systèmes très hétérogènes.Chaque AUV se voit allouer directement les tâches pour lesquelles il a été conçu. Une répartitionpréalable des tâches et des ressources entre les AUV peut même permettre à desAUV utilisant des protocoles de communication différents de participer à la réalisation de
80 CHAPITRE 6. UNE APPROCHE DE COOPÉRATION RÉACTIVEl’objectif global. Certaines tâches doivent pouvoir s’exécuter de façon autonome ou par ungroupe d’AUV au sein de la flottille partageant un protocole d’interaction commun.Par contre, la décomposition en tâches nécessite la vision d’un objectif collectif sur uneassez longue <strong>du</strong>rée et nécessite de connaitre au préalable la manière d’atteindre cet objectif.La coopération n’est pas la meilleure solution pour faire face aux situations imprévueset aux variations de l’environnement, ce qui peut être souvent le cas dans les applicationssous-marines. De nouvelles décompositions et répartitions de tâches peuvent alors êtrenécessaires en cours de mission. Ce qui engendre inévitablement des communicationssupplémentaires.Approches existantesIl existe plusieurs méthodes de répartition de tâches et de ressources. Cette répartitionpeut se faire au sein de systèmes délibératifs par des mécanismes d’offre et de demandecomme les réseaux contractuels [Smith, 1980] ou par réseaux d’accointances (cf. détailsdans [Ferber, 1995]). Les réseaux contractuels sont employés dans [Sariel et al., 2006] pourl’allocation de tâches au sein d’un système multi-AUV coopératif. Nous avons remarqué auchapitre 4 que ce type d’approche implique beaucoup de communications entre les AUVpour allouer chaque tâche.Dans les systèmes réactifs, cette répartition se fait directement en fonction de la naturemême des agents s’ils sont hétérogènes. Chaque agent effectue la tâche pour laquelleil a été conçu. Par exemple dans [Chapelle et al., 2002] et [Simonin, 2001], un problèmede coopération d’agents hétérogènes pour la découpe et le transport collectif de déchetstoxiques est traité avec deux types d’agents réactifs pré-codés : les robots pousseurs/tireurset les robots découpeurs.6.2.2 La collaborationLa collaboration implique une conception partagée d’un problème commun. Elle demandeune implication mutuelle des AUV dans un effort de coordination permanent pourréaliser le problème ou l’objectif commun. Jean Heutte définit le travail collaboratif dans[Heutte, 2003] :"Dans le cas d’un travail collaboratif, il n’y a pas de répartition a priori desrôles : les indivi<strong>du</strong>s se subsument progressivement en un groupe qui devient uneentité à part entière. La responsabilité est globale et collective. Tous les membres<strong>du</strong> groupe restent en contact régulier, chacun apporte au groupe dans l’action,
6.2. LA COOPÉRATION ET LA COLLABORATION DANS LES FLOTTILLES D’AUV 81chacun peut concourir à l’action tout autre membre <strong>du</strong> groupe pour en augmenterla performance, les interactions sont permanentes : c’est la cohérence <strong>du</strong>collectif qui permet d’atteindre l’objectif."Des AUV peuvent participer à un effort collectif de différentes manières. Ils peuventavoir besoin de se regrouper pour effectuer une tâche commune ou avoir besoin de sespécialiser dans des activités différentes. Dans les systèmes multi-agents, on distingue cesdeux processus :Regroupement et multiplication : la simple agrégation d’agents est une forme de collaboration.Le regroupement peut permettre à des agents d’effectuer des tâches impossiblesà effectuer indivi<strong>du</strong>ellement (transport d’une charge lourde par exemple).L’agrégation d’agents peut notamment aussi permettre de simplifier l’accomplissementd’une tâche collective comme la navigation en groupe. Par exemple dans lecas des vols d’oiseaux ou des bancs de poisons, il suffit qu’un seul agent (ou un petitgroupe) décide de la direction à prendre pour que tous les autres suivent en adoptantuniquement un comportement local [Reynolds, 1987]. Pour des applications sousmarines,cela peut permettre à des AUV qui n’ont pas la capacité de se positionnerde façon globale, qui se sont égarés ou qui ne savent pas dans quelle direction sediriger de suivre simplement d’autres AUV pour effectuer leur mission ou se repositionner.La multiplication des AUV, autrement dit la redondance des compétences,permet aussi d’assurer une meilleure fiabilité (ou robustesse) au système.Spécialisation : c’est un processus qui con<strong>du</strong>it un agent à se spécialiser progressivementdans certaines de ses tâches. Il s’agit d’une adaptation dynamique de l’agent auxconditions et aux besoins de son environnement. Par exemple dans [Drogoul, 1993],les fourmis se spécialisent dans une activité (nourricière, nounous des larves, etc.).Avantages et inconvénientsLa collaboration implique une auto-organisation des AUV. Les AUV choisissent d’effectuerleurs activités de façon "spontanée" et "volontaire" en fonction de leurs perceptionsde l’environnement et des autres AUV. Ils peuvent ainsi s’adapter facilement aux situationsimprévues. Les systèmes collaboratifs s’accommodent généralement de variations de l’environnementet des pannes indivi<strong>du</strong>elles.La collaboration nécessite une coordination permanente entre les AUV, tout le long <strong>du</strong>processus de résolution <strong>du</strong> problème, ce qui nécessite de nombreuses interactions entreles AUV. En cas d’absence ou de pertes de communication, les AUV peuvent mal s’organiseret effectuer les activités de façon redondante.
82 CHAPITRE 6. UNE APPROCHE DE COOPÉRATION RÉACTIVEApproches existantesIl existe de nombreuses méthodes de collaboration. Une des plus connues dans lessystèmes cognitifs est l’approche à base de tableau noir (cf. chapitre 4). Cette approcheest employée dans le système BIIMAPS [Sotzing et Lane, 2010; Sotzing et al., 2008]. Ellepermet à une flottille d’AUV d’avoir un plan de mission commun. Chaque AUV utilise letableau noir pour ajouter des objectifs à réaliser, sélectionner ses tâches à accomplir etmettre à jour la réalisation des objectifs. Dans le chapitre 4, nous observions que ce typede méthode implique l’utilisation d’un protocole de communication commun afin que lesAUV puissent se partager le plan de mission. Des communications régulières sont aussi nécessairesentre tous les AUV de la flottille sous peine d’avoir des tâches réalisées plusieursfois.De nombreuses approches collaboratives réactives ont permis l’émergence de comportementscollectifs pour la navigation de nombreux agents à partir de perceptions etd’interactions locales au niveau de chaque agent. Mataric [Mataric, 1994] et Arkin [Balch etArkin, 1995; Arkin, 1998] se sont inspirés des travaux de Reynolds [Reynolds, 1987] sur l’animationde vols d’oiseaux pour réaliser les premières expériences collectives mettant en jeuplusieurs robots mobiles réactifs. Les principes d’auto-organisation à partir de perceptionset d’interactions locales ont été ainsi appliqués et validés par la réalisation de comportementscollectifs tel que le regroupement, l’évitement collectif d’obstacle, la poursuite, lemaintien en formation, le fourragement, etc.ALLIANCE, proposée par Parker, est une approche de collaboration pour systèmesmulti-robot réactifs parmi les plus connus. Il permet à chaque robot de sélectionner lesactions à exécuter de manière réactive : un critère de "motivation" est évalué pour chaqueaction <strong>du</strong> robot en fonction des besoins de la mission, des activités des autres robots, del’état de l’environnement et de l’état interne de l’agent. Le robot sélectionne alors l’actionpour laquelle il exerce la plus grande motivation. Comme pour les approches à base de tableaunoir, elle nécessite que chaque robot communique à l’ensemble <strong>du</strong> groupe les tâchesen cours d’accomplissement ou accomplies sous peine d’avoir plusieurs robots qui effectuentla même tâche. D’autres approches, dites "motivationnelles", ont été proposées avecpar exemple les travaux de Drogoul sur l’auto-organisation des fourmis [Drogoul, 1993] oul’approche de satisfaction-altruisme [Simonin, 2001] de Simonin.
6.2. LA COOPÉRATION ET LA COLLABORATION DANS LES FLOTTILLES D’AUV 836.2.3 AnalyseDeux façons pour permettre aux AUV de réaliser une mission collective viennent d’êtredécrites. La coopération consiste à répartir des tâches entre les AUV tandis que la collaborationimplique une auto-organisation des AUV tout au long de l’accomplissement de lamission.La réalisation d’une mission sous-marine par plusieurs AUV nécessite que les AUVcommuniquent le moins possible en faisant face aux incertitudes et à la dynamique del’environnement. Pour cela, nous proposons d’utiliser conjointement ces deux manièresde travailler collectivement.Coopération globaleLa coopération est essentielle au niveau global. La répartition des tâches en fonctiondes capacités et des compétences des AUV (notion de rôle) peut être efficace pour ré<strong>du</strong>ireles communications. Les AUV n’ont besoin de coordonner leurs actions que dans le cadrede l’exécution des tâches qui leur ont été allouées et qu’ils ont la capacité d’accomplir.Cela évite de laisser les AUV s’auto-organiser ou se spécialiser pendant la mission pourdes tâches dont il est possible de savoir à l’avance les AUV les mieux disposés pour lesaccomplir. Les communications nécessaires sont ainsi diminuées.Une répartition des tâches entre AUV peut aussi être utile lorsque la mission s’étend surun volume important. Sous l’eau, compte tenu des caractéristiques <strong>du</strong> milieu de propagation(absence de fiabilité, retard, etc.), il vaut mieux éviter que des AUV se coordonnent etcommuniquent régulièrement avec des AUV éloignés géographiquement.Enfin, il est possible de tirer parti de la décomposition des tâches pour permettre à desAUV qui utilisent des protocoles différents de participer à l’accomplissement de la mission.Des ensembles de tâches seraient alors alloués à des groupes d’AUV pour éviter laréalisation redondante de tâches.Collaboration localeCompte tenu <strong>du</strong> caractère dynamique et des incertitudes de l’environnement dans lequelévoluent les AUV, il est inutile de tout planifier à l’avance et de décomposer la missionen tâches de très bas-niveaux pour les allouer aux AUV. L’environnement évoluera de toutefaçon et il faudra de nouveau répartir de nouvelles tâches aux AUV, ce qui aura pour effet
84 CHAPITRE 6. UNE APPROCHE DE COOPÉRATION RÉACTIVEd’augmenter de manière notable les communications. La répartition des tâches doit doncse limiter à celle que nous avons décrite précédemment.Il est alors essentiel de permettre aux AUV de s’auto-organiser localement. La collaborationentre AUV spatialement proches implique des interactions locales dont la miseen œuvre est moins problématique (moins d’interférences entre les signaux acoustiques,moins de saturation de la bande passante, moins de retards de propagation). Une autoorganisationdes AUV, même locale, peut permettre d’assurer une meilleure robustesse <strong>du</strong>système vis à vis des incertitudes environnementales et des pannes d’AUV. Elle peut permettred’éviter des replanifications et des réallocations de tâches successives à chaque foisqu’un évènement imprévu survient, ce qui permet aussi de ré<strong>du</strong>ire les communications.Vers la simplification des protocoles d’interactionQuelle que soit la façon de travailler collectivement (coopération ou collaboration), lesAUV doivent coordonner leurs actions pour accomplir leurs missions ou leurs tâches collectives.La plupart des approches de coopération ou de collaboration multi-AUV ont utiliséesdes méthodes multi-agents cognitives (par exemple les réseaux contractuels [Sarielet al., 2006] ou les systèmes de tableau noir [Sotzing et Lane, 2010]). Ces approches impliquentdes protocoles d’interaction complexes pour permettre aux AUV de coordonnerleurs actions.Dans le cadre de cette thèse, nous souhaitons proposer une approche qui utilise desprotocoles d’interaction les plus simples possibles pour limiter les communications entreAUV. Dans cet optique, les différentes formes de coordination d’actions sont étudiées à lasous-section suivante.6.3 La coordination d’actions d’AUVLorsque plusieurs AUV travaillent ensemble, il faut gérer un certain nombre de tâchessupplémentaires qui ne sont pas directement pro<strong>du</strong>ctives mais servent à améliorer l’accomplissementdes activités qui le sont [Ferber, 1995]. Ces tâches supplémentaires sontappelées des tâches de coordination. La coordination d’actions est définie par J. Ferber[Ferber, 1995] comme ".. l’articulation des actions indivi<strong>du</strong>elles accomplies par chacun desagents de manière à ce que l’ensemble aboutisse à un tout cohérent et performant".
6.3. LA COORDINATION D’ACTIONS D’AUV 856.3.1 Formes de coordination d’actionsSix formes de coordination d’actions sont distinguées dans [Ferber, 1995] : la coordinationpar synchronisation, la coordination par planification, la coordination par réglementation,la coordination par arbitrage, la coordination par négociation et la coordinationréactive.La synchronisationElle permet de gérer la simultanéité de l’exécution de plusieurs actions afin que le résultatdes opérations soit cohérent. La coordination par synchronisation peut être indispensabledans la réalisation de certaines activités qui demandent un accès simultané ourestreint à une ressource ou pour gérer l’enchainement des activités entre les agents. Parexemple, pour effectuer son activité de soudage, un robot sous-marin "soudeur" devra atteindrela fin de l’installation des canalisations et agir de façon synchrone avec un robotqui maintient les canalisations jointes.La planificationElle consiste à élaborer un plan d’actions qui est ensuite exécuté. Dans le projet Martha[Alami et al., 1998], l’approche Plan Merging Paradigm fournit à chaque robot un moyende construire un plan coordonné compatible avec les plans exécutés par les autres robots<strong>du</strong> système. L’environnement pouvant évoluer, l’exécution des plans peut amener à desimpasses. Un ensemble de mécanismes est ainsi proposé dans [?] pour détecter et résoudreces situations de blocage.Dans le projet ACTION [Gateau et al., 2012, 2010], les plans peuvent être amenés à êtrerévisés au cours de leur exécution en cas d’échec. Des équipes de robots hétérogènes (aériens,terrestres et sous-marins) se coordonnent par l’intermédiaire de plans de tâches hiérarchiques.En cas d’échec de l’exécution d’une tâche, une replanification locale (à l’échelle<strong>du</strong> robot) est effectuée. Si celle-ci est impossible, une replanification plus globale est réalisée.La planification assure une bonne qualité de coordination mais rend difficile la priseen compte de situations imprévues ou trop complexes (impliquant beaucoup d’agents).De plus, elles peuvent nécessiter un nombre important d’échanges entre les agents au momentde la construction <strong>du</strong> plan. La planification ne peut donc pas constituer l’uniquestratégie de coordination de flottilles d’AUV. Elle peut être envisagée hors ligne, en surfaceou dans le cadre de certaines configurations d’AUV. Nous utiliserons d’ailleurs raisonna-
86 CHAPITRE 6. UNE APPROCHE DE COOPÉRATION RÉACTIVEblement cette méthode de coordination lorsque nous proposerons notre architecture auchapitre 7.1.La réglementationElle consiste à donner des règles de comportements visant à éviter les conflits. La coordinationpar règlementation est simple à mettre en œuvre pour prévenir certaines situationscritiques. Elle ne nécessite pas forcément de communication, elle peut très bien êtreutilisée pour régler certains comportements d’AUV. Un exemple de règlementation peutêtre : si un AUV est en face, le contourner par la droite.La négociation et l’arbitrageLa négociation engage les agents dans une "discussion" afin de parvenir à une solutionou à un compromis. L’arbitrage consiste à faire appel à un agent tiers pour résoudreles conflits entre agents. Les méthodes de coordination par arbitrage ou négociation requièrentdes capacités cognitives importantes et nécessitent des communications de hautniveau. Elles sont à éviter compte tenu des contraintes de notre contexte applicatif (communicationlimitée) et de notre volonté de faire participer un maximum d’AUV au sein dela flottille, les capacités cognitives ne doivent pas être un critère discriminant.La coordination réactiveElle ne nécessite aucune planification d’actions préalable. Elle fait appel à la liaisonperception-action des agents et s’exécute in situ, et non a priori comme les précédentes.La coordination réactive est adaptée aux contextes évolutifs et permet de faire face d’unemanière générale aux situations où il est difficile d’anticiper ce qui peut se passer. Elleconvient donc bien aux agents situés. Elle ne requiert pas de capacités cognitives importantesde la part des agents et utilise des signaux de communication très simples.Intérêt de la coordination réactive pour les AUVDans le cadre de notre contexte applicatif, la planification d’actions (ou de tâches)peut être efficace. Elle a fait ses preuves pour la coopération multi-robot mais ne peutêtre l’unique technique de coordination utilisée par une flottille d’AUV. La coordinationpar synchronisation et par règlementation peut être utilisée pour éviter quelques conflits
6.3. LA COORDINATION D’ACTIONS D’AUV 87spécifiques. Les coordinations par négociation et arbitrage impliquent beaucoup de communicationset sont par conséquent à éviter.La coordination réactive peut être réalisée in situ dans un environnement dynamiqueet met en œuvre des interactions très simples. Elle présente par conséquent de nombreuxatouts pour la coordination de véhicules sous-marins. Nous proposons d’étudier les principalestechniques de coordination réactive dans le paragraphe suivant.6.3.2 La coordination réactive pour les flottilles d’AUVLes méthodes de coordination réactives peuvent se résumer à l’utilisation des techniquesde champs de potentiels/vecteurs, de dépôt de marques dans l’environnement etde l’éco-résolution (et de ses extensions) [Simonin, 2001].Champs de potentiels/vecteursL’emploi des champs de potentiels (ou de vecteurs) permet de traiter en temps réel leproblème de la navigation d’un robot ou d’un groupe de robots, sans forcément utiliser decommunications mais seulement des perceptions locales. Cette technique a souvent étéutilisée pour la coordination multi-véhicule, par exemple pour la gestion <strong>du</strong> trafic aérien[Zeghal, 1994] ou la coopération multi-robot [Simonin, 2001]. Elle est aussi très employéepour la navigation et le guidage d’AUV car elle leur permet d’éviter les obstacles [Warren,1990] tout en suivant un objectif (waypoint, chemin, trajectoire, etc.).Dépôt de marquesL’utilisation de marques pour coordonner l’action de plusieurs agents permet d’exploiterl’environnement comme système de communication (exemple : dépôt de phéromonespar les fourmis [Drogoul, 1993]). Il est difficilement envisageable de pouvoir déposer desmarques (ou des objets) sous l’eau car celle-ci est très mobile, les substances utilisées y seraientrapidement diluées. De plus, cette technique nécessite que les AUV aient la capacitéde transporter et de déposer des substances ou des objets.Eco-résolutionL’éco-résolution [Ferber, 1989] est une méthode de coordination dans laquelle chaqueagent tente de satisfaire indivi<strong>du</strong>ellement son propre but et s’il perçoit un gêneur il
88 CHAPITRE 6. UNE APPROCHE DE COOPÉRATION RÉACTIVEl’agresse (ou lui communique son insatisfaction [Simonin, 2001]). Un agent agressé agit,généralement par la fuite, pour ré<strong>du</strong>ire l’insatisfaction de son agresseur. Ce schéma se repro<strong>du</strong>itet fait évoluer le système jusqu’à ce que tous les agents soient satisfaits.La coordination par éco-résolution a fait ses preuves pour les problèmes de coordinationspatiales en utilisant des signaux très simples (attraction/répulsion) [Simonin, 2001].Elle présente donc un intérêt certain pour la coordination de flottilles d’AUV. Cependant,la faible sémantique des signaux utilisés limite les problèmes de coordination qui peuventêtre considérés pour une application donnée. Reste à voir si cette technique peut être éten<strong>du</strong>epour traiter divers problèmes de coordination. Nous verrons que cela fait partie denotre proposition.6.3.3 Vers une approche de coopération réactive d’AUVLa ré<strong>du</strong>ction des communications est une problématique majeure pour la réalisationde missions sous-marines par des flottilles d’AUV. Cette ré<strong>du</strong>ction est d’autant plus difficileà obtenir que les AUV travaillent dans un environnement dynamique et incertain qui peutnécessiter une coordination régulière entre les AUV.Les systèmes multi-AUV coopératifs ou collaboratifs actuels utilisent des techniquesde coordination cognitives telles que la planification d’actions (de tâches) [Gateau et al.,2012; Sotzing et Lane, 2010] ou la négociation et l’arbitrage [Sariel et al., 2006]. Ces techniquesne sont pas pertinentes compte tenu <strong>du</strong> caractère dynamique et imprévisible del’environnement et des contraintes de communications auxquelles sont soumis les AUV.Dans ce contexte, la coordination réactive, notamment l’éco-résolution, présente denombreux atouts pour les systèmes multi-AUV car elle peut être réalisée in situ, dans unenvironnement dynamique. Le modèle satisfaction-altruisme [Simonin, 2001], en particulier,met en œuvre des interactions très simples pour coordonner les agents.Nous proposons d’utiliser ce modèle dans notre approche de coopération réactivede flottilles d’AUV. Nous montrons dans la section suivante que le modèle satisfactionaltruismepeut permettre aux AUV de coopérer et de s’auto-organiser localement. Commenous le verrons, dans ce modèle les interactions se limitent à des attractions et des répulsions,ce qui restreint les formes de coopération qui peuvent être envisagées. C’estpourquoi, dans les sections 6.5 et 6.6, nous proposons d’étendre le modèle satisfactionaltruismeet de l’associer avec le modèle organisationnel AGR de façon à pouvoir considérerde nouveaux types d’interaction.
6.4. SATISFACTION ET ALTRUISME 896.4 Satisfaction et altruisme6.4.1 Notion d’action coopérativeDans la section 6.2, nous avons évoqué la nécessité de décomposer une mission ensous-tâches devant être accomplies par un ou plusieurs AUV. Nous considérons ainsi êtredans le cadre d’un problème général de coopération d’AUV. Nous souhaitons néanmoinsque les AUV puissent collaborer (s’auto-organiser) localement.Par la suite, nous faisons l’hypothèse que la mission est préalablement décomposéeen tâches et que celles-ci sont réparties entre les AUV de la flottille en fonction de leurscompétences. Cette répartition peut être la conséquence d’un processus d’allocation detâches, comme cela sera d’ailleurs fait dans le chapitre 7.6. Les AUV peuvent aussi être préprogramméspour effectuer directement des tâches comme c’est le cas dans la suite de cechapitre.Les AUV peuvent accomplir des tâches indivi<strong>du</strong>elles ou communes avec d’autres AUV.Dès-lors que les AUV sont capables d’interagir, un AUV peut améliorer la réalisation destâches d’autres AUV de la flottille ou les autres AUV peuvent améliorer la réalisation de satâche. Ces interactions particulières sont appelées actions coopératives. O. Simonin [Simonin,2001] propose la définition suivante :"On appellera action coopérative d’un agent A envers un autre B toute interactionqui améliore qualitativement ou quantitativement la tâche de B ouleur tâche commune."Dès lors, la problématique de la coopération consiste à coordonner ces actions coopératives.Pour un AUV, cela signifie d’être capable (1) de percevoir les situations qui nécessitentune action coopérative, (2) de communiquer et d’influencer les autres et (3) d’agircoopérativement, c’est-à-dire de sélectionner et de régler l’action coopérative à engager.En environnement sous-marin, ces capacités représentent trois problématiques majeuresau regard des contraintes de communication et au caractère dynamique et inconnu del’environnement. Nous verrons par la suite la façon dont le modèle satisfaction-altruismepeut répondre à ces problématiques.6.4.2 Principe <strong>du</strong> modèle satisfaction-altruismeLe modèle satisfaction-altruisme propose un modèle d’agent dans lequel des activitéssimples sont déclenchées par des perceptions de l’environnement et des signaux émis par
90 CHAPITRE 6. UNE APPROCHE DE COOPÉRATION RÉACTIVEles agents. Il permet d’obtenir des comportements coopératifs intentionnels tout en assurantdes propriétés d’auto-organisation au système.Le modèle satisfaction-altruisme a été appliqué pour traiter divers problèmes physiquementdistribués (robots fourrageurs, conflits spatiaux, etc.). Les diverses implémentations<strong>du</strong> modèle ont donné lieu à différentes variantes (mécanismes d’émission de signaux,intégration d’un mécanisme d’apprentissage, etc.). Nous proposons d’utiliser ce modèlecomme base pour la spécification des communications et des interactions entre les AUVde la flottille. Nous en présentons les grands principes pour les utiliser dans le cadre denotre approche réactive pour la coopération d’AUV.L’idée principale <strong>du</strong> modèle est de considérer, dans le processus de prise de décisiondes agents, des motivations indivi<strong>du</strong>elles et des motivations externes provenant d’autresagents sous la forme de signaux très simples. Le modèle intro<strong>du</strong>it les notions de satisfactionpersonnelle et de signaux d’influence.6.4.3 Satisfaction personnelleLa satisfaction personnelle est liée à l’exécution de la tâche courante de l’agent. Elle estdéfinie par O. Simonin [Simonin, 2001] :Définition (Satisfaction personnelle) : "La satisfaction personnelle d’unagent, à un instant donné, est un état fonction de la progression de sa tâche courante."L’évaluation de la satisfaction personnelle se base sur une mesure incrémentale de laprogression de la tâche courante de l’agent. Elle consiste à augmenter ou à diminuer lavaleur de la satisfaction en fonction d’une mesure régulière de l’avancement de cette tâche.Pour un agent qui exécute une tâche, la valeur de sa satisfaction personnelle, notéeP(t)∈R, à un instant t, est calculée de la façon suivante :– P(t)=P(t−∆t)+υ,υ∈R est une mesure de la progression de la tâche sur ∆t et |υ|≤δs– ∀t≥0, |P(t)|≤P max , P max et δs sont des constantes de R + (généralementP max = 1).De cette façon, la notion de satisfaction personnelle permet d’exprimer la progressionglobale de la tâche depuis son commencement. Les valeurs de P(t) sont intégrées <strong>du</strong>rantla période d’exécution de la tâche et tra<strong>du</strong>isent ainsi sa qualité de réalisation. Un exemplede l’évolution de la satisfaction personnelle d’un agent est illustrée à la figure 6.1. La satis-
6.4. SATISFACTION ET ALTRUISME 91FIGURE 6.1 : Exemple de courbe de satisfaction personnelle [Simonin, 2001]faction personnelle prend en considération la progression instantanée de la tâche en courspar :⎧⎪⎨ m si progression vers butυ = n si éloignement <strong>du</strong> but⎪⎩f si immobilisé(6.1)avec −P max ≪−δs
92 CHAPITRE 6. UNE APPROCHE DE COOPÉRATION RÉACTIVELes signaux sont un moyen utilisé par l’agent pour provoquer des réactions de la part desautres agents qui puissent améliorer sa situation ou celle des autres.Agent 1- analyse de la situation- émettre un signalAgent 2- réagir au signalFIGURE 6.2 : Schéma de communication/réaction par signauxDans le modèle satisfaction-altruisme, les signaux émis ont une portée limitée de tellesorte que les interactions obtenues au sein <strong>du</strong> système restent locales. Sous l’eau, cette particularité<strong>du</strong> modèle est intéressante. La gestion des communications sur de courtes distancesest plus simple à obtenir : les interférences entre signaux et les erreurs de transmissionsont moins nombreuses, les délais de propagation plus courts et la bande-passantesature moins rapidement.La sémantique des signaux utilisés est très simple. Dans le modèle satisfactionaltruismede base, un signal I est une demande qu’un agent exprime sous la forme d’uneattraction (signal positif) ou d’une répulsion (signal négatif). La valeur absolue <strong>du</strong> signal Ireprésente la force de cette demande (d’attraction ou de répulsion). Afin de permettre auxagents d’interpréter ces signaux, la valeur des signaux échangés est homogène à la valeurde la satisfaction personnelle P des agents tel que I∈[−P max ,P max ].En pratique, ces signaux sont généralement codés par une valeur signée [−127,+127]sur 8 bits. Cela représente peu de quantité de donnée à transmettre ce qui se révèle être unatout certain pour les applications sous-marines compte tenu des contraintes de communications,notamment en terme de limite de bande passante.6.4.5 Actions coopératives - Réactions altruistesLe modèle satisfaction-altruisme donne la possibilité aux agents de réagir en tempsréel aux signaux d’influence. Dans le modèle de base, les actions coopératives, appeléesaussi réactions altruistes, consistent à se diriger vers ou dans la direction opposée au signalreçu. Le sens est déterminé par le signe <strong>du</strong> signal I qui pousse l’agent à se rapprocher ou às’éloigner <strong>du</strong> signal.Pour un agent, le choix de l’action coopérative consiste à comparer l’intensité (la valeurabsolue) des signaux reçus et de sélectionner le plus intense. Ainsi, l’intensité <strong>du</strong> signal
6.4. SATISFACTION ET ALTRUISME 93reçu correspond à la motivation "relationnelle" de l’agent qui le pousse à agir coopérativement,de façon altruiste.La valeur des signaux reçus I étant homogène à la satisfaction personnelleP, il est facilede comparer motivations relationnelles et indivi<strong>du</strong>elles. Pour un agent, il s’agit de déterminers’il poursuit son activité indivi<strong>du</strong>elle (accomplir une tâche indivi<strong>du</strong>elle) ou engageune action coopérative. La satisfaction personnelle et les signaux d’influence sont définispar une valeur appartenant à l’intervalle[−P max ,P max ]. Le choix de déclencher une actioncoopérative est déterminé par le test dit - d’altruisme - suivant :Si α|I ext (t)|>(1−α)P(t) alors (6.2)arrêter tâche en cours et répondre au signal I extα∈[0,1] est le coefficient d’altruisme de l’agentLe coefficient α caractérise l’aspect altruiste de l’agent. Il peut être d’un caractère trèsaltruiste, en prenant α>0.5, et être plus enclin à répondre aux demandes extérieures oupeu altruiste, avec α
94 CHAPITRE 6. UNE APPROCHE DE COOPÉRATION RÉACTIVEtion/combinaison d’actions compare le niveau de satisfaction personnelle avec les signauxperçus pour décider d’un comportement altruiste ou au contraire de poursuivre sa tâchecourante.Il est à noter que le modèle de base réalise une combinaison vectorielle entre le vecteurbut (action indivi<strong>du</strong>elle ou coopérative) de l’agent et des vecteurs de répulsions permettantd’éviter les obstacles et les signaux répulsifs des autres agents. Nous considérons que cettecombinaison ne concerne que certaines actions de navigation des agents. Elle n’est pasdétaillée ici (cf. détails [Simonin, 2001]) mais est néanmoins appliquée au chapitre 8.6.5 Extension <strong>du</strong> modèle satisfaction-altruismeLe modèle satisfaction-altruisme offre un bon moyen pour les agents de coopérer, notammentpour résoudre des problèmes de coordination spatiale. Néanmoins, ilCette approche de coopération est malgré tout limitée puisqu’elle ne permet de considérerqu’un seul type d’action coopérative, généralement le rapprochement ou l’éloignementd’autres agents. Nous proposons dans cette section d’étendre le modèle satisfactionaltruismede façon à pouvoir considérer des actions coopératives de différentes natures,comme cela peut être nécessaire dans les applications sous-marines multi-AUV.Pour cela, imaginons que les AUV puissent s’échanger des signaux d’influence dansdivers contextes. Les signaux peuvent ainsi avoir d’autres significations que des attractionsou des répulsions. Par exemple, si un AUV est capable de percevoir ou de connaitrele contexte dans lequel évolue un autre AUV (tâche en cours d’accomplissement parexemple), il peut utiliser les signaux d’influence reçus pour engager l’action coopérativeadéquate.Pour prendre en compte cette spécificité, nous proposons un processus décisionnelréactif, inspiré de celui employé dans le modèle satisfaction-altruisme, qui considère desactions coopératives de natures différentes de manière générique.6.5.1 Activités (ou comportements)Lorsque nous avons posé la problématique de la coopération d’AUV à la sous-section6.4.1, nous avons montré la nécessité de décomposer une mission multi-AUV en tâchesafin qu’elles soient allouées aux AUV en fonction de leurs compétences.Pour un AUV, la notion de tâche correspond à un travail à réaliser, à un but à atteindre.
6.5. EXTENSION DU MODÈLE SATISFACTION-ALTRUISME 95Chaque tâche peut, à son tour, être décomposée en sous-tâches et représenter des butsintermédiaires à atteindre pour l’AUV.Lors de leur conception, nous considérons que les AUV sont capables d’effectuer un ensemblede fonctions, de comportements pré-définis. Ces fonctions (ou comportements),déclenchées suivant des perceptions de stimuli, sont appelées activités par la suite. L’exécutiond’une activité mène l’AUV à réaliser des opérations (ou des actions) pour accomplirune (sous) tâche, un (sous) but.Les AUV ont à leur disposition deux types d’activités : les activités indivi<strong>du</strong>elles et les activitéscoopératives. Les activités indivi<strong>du</strong>elles concernent les tâches propres à l’AUV, cellesqu’il est capable d’accomplir tout seul. Les activités coopératives concernent l’accomplissementdes tâches qui nécessitent une coordination avec d’autres AUV.Chaque activité a i est définie par :– des conditions d’activation (perception de stimuli s) : cond ai (s) → booléen– un désir d’accomplissement : D ai →[0,1]– une tendance : T i (t)→[0,1]– des opérations– une mesure de satisfaction personnelle P i (t)∈[−1,1]La décomposition d’une activité est illustrée à la figure 6.4. Notons que, contrairementaux activités indivi<strong>du</strong>elles, les activités coopératives prennent en comptent les signauxd’influence reçus I ∈ [−1,1]. Ces signaux sont représentés en rouge sur la figure 6.4. Parla suite, nous suivons cette décomposition d’activité pour expliquer le processus de sélection.motivationsélaborationdes tendancessélection exécution désactivationaltruismesperceptstendancesignaux D aid’influence I T i tendancescond aiautresactivitéssat. Pmaxopérationss IperceptionarrêtFIGURE 6.4 : Décomposition d’une activité a i et processus de sélection
96 CHAPITRE 6. UNE APPROCHE DE COOPÉRATION RÉACTIVE6.5.2 MotivationsLes motivations rassemblent les différentes raisons qui poussent l’AUV à engagerune activité. Comme dans le modèle satisfaction-altruisme [Simonin, 2001], le modèlesatisfaction-altruisme éten<strong>du</strong> considère trois types de motivations :1. la motivation à exécuter une tâche en fonction de la perception de stimuli déclencheurs,2. la motivation à répondre aux demandes extérieures,3. la motivation à poursuivre la tâche en cours.Les formes de motivations (1) et (3) concernent les activités indivi<strong>du</strong>elles et coopérativestandis que la deuxième concerne uniquement les activités coopératives. Après avoirdécrit la façon dont ces différentes motivations sont implémentées dans notre modèle,nous verrons dont elles poussent l’AUV à agir dans la sous-section suivante.Conditions d’activationPour être déclenchable, une activité doit tout d’abord vérifier la présence de stimulidéclencheurs (externes et/ou internes). Si ces tests sont vérifiés l’activité est dite activable :Si cond ai (s) = vrai alors a i activable (6.3)Désir d’accomplissementOutre les conditions d’activation, le désir d’accomplir un but, d’assouvir ses propresbesoins ou ceux d’autrui motive l’AUV à engager une activité. Le désir d’accomplissementpousse alors l’AUV à mettre en œuvre les moyens pour ré<strong>du</strong>ire une insatisfaction liée à sasituation courante ou à celle d’autrui. Son effet sur le système décisionnel est, de ce fait,complémentaire à celui de la satisfaction personnelle.L’intensité <strong>du</strong> désir d’accomplissement, pour chaque activité i, est notée D ai . Elle estfonction des stimuli internes et/ou externes, notés s, et considère l’altruisme de l’AUV.Dans le cas d’activités indivi<strong>du</strong>elles, le désir d’accomplissement est évalué de la manièresuivante :D ai = (1−α)fct(s) (6.4)
6.5. EXTENSION DU MODÈLE SATISFACTION-ALTRUISME 97, où α∈[0,1] est le coefficient d’altruisme (cf. test d’altruisme à la sous-section 6.4.2).De façon à prendre en considération la motivation à répondre aux demandes extérieures,les signaux d’influence I reçus sont pris en compte dans l’évaluation <strong>du</strong> désir d’accomplissementdes activités coopératives :D ai = αfct(s,I) (6.5)Satisfaction personnelleLa motivation à poursuivre l’activité en cours est exprimée par la satisfaction personnelleP(t)∈[−1,1]. Son calcul est donné à la sous-section 6.4.2. La satisfaction personnellene peut pas être mesurée si l’activité n’est pas en cours d’exécution et sa valeur est alorsnulle P(t) = 0 A noter que la satisfaction personnelle d’une activité coopérative est évaluéeà partir des signaux d’influence perçus (cf. pointillé rouge figure 6.4).6.5.3 TendancePour chaque activité, les différentes motivations décrites précédemment sont combinées.Elles forment ce que l’on appelle la tendance de l’activité, notée T(i)∈[0,1], et reflètel’intensité avec laquelle l’AUV souhaite engager l’activité.Dans le cas où l’activité est activable, la tendance est la somme entre le désir d’activationet la satisfaction personnelle. Elle est bornée supérieurement par Tmax i ∈ [0,1] ets’écrit :Si a i activable alors T i (t)=min(D ai (t)+P(t),Tmax i )SinonT i (t)=0(6.6)La borne Tmax i représente l’importance de l’activité et permet une comparaison cohérenteentre les activités. Une activité de mise en sécurité <strong>du</strong> véhicule n’aura par exemplepas la même importance qu’une activité de cartographie d’une zone.6.5.4 Processus de sélectionLe processus de sélection d’activité (ou de décision) fournit à l’AUV un moyen de sélectionnerl’activité la mieux adaptée à sa situation courante. Celui que nous proposonsest inspiré de celui présenté dans [Simonin, 2001]. Ce dernier a pu être simplifié puisque
98 CHAPITRE 6. UNE APPROCHE DE COOPÉRATION RÉACTIVEles signaux d’influence ont déjà été pris en compte dans l’élaboration des tendances desactivités coopératives. Ces activités peuvent être considérées de la même manière que lesactivités indivi<strong>du</strong>elles dans le processus de sélection.Le processus de sélection, calculé à chaque cycle de délibération de l’AUV, est trèssimple. Il met les activités activables continuellement en compétition par rapport à leurtendance de façon à déterminer en temps réel la plus pertinente à exécuter.Soit A l’ensemble des activités activables : A = {a i /∀ i cond ai (s) = vrai}.Le processus de compétition consiste à conserver l’activité de tendance maximale. SoitA m l’ensemble d’activités de plus grandes tendances de A :a k ∈ A m :∀a i ∈E Ai T k (t)≥T i (t) (6.7)Si A m contient plusieurs activités, l’activité à exécuter a c (dite courante) est sélectionnéepar un tirage aléatoire de distribution uniforme :a c = alea(A m ) (6.8)Pour permettre à l’AUV de persister dans l’exécution de l’activité courante (rechercherune solution en cas de difficulté), la satisfaction personnelle de l’activité nouvellement sélectionnéeest initialisée à une valeur λ∈[0,1], dite de persistance. Notons aussi que pendantl’exécution d’une activité, la valeur de sa satisfaction personnelle d’une activité évolueentre −1 à 1. Tant que l’activité progresse, elle contribuera ainsi a augmenter la tendancede l’activité jusqu’à la limite Tmax i . L’AUV persistera d’autant plus dans l’activité dont ilévaluera les actions mises en œuvre positivement.6.5.5 DésactivationLorsqu’une activité est arrêtée au profit d’une autre de tendance plus importante, ilfaut éviter que le processus de décision ne la resélectionne immédiatement ou trop rapidementpour laisser la nouvelle s’exécuter. En effet, la satisfaction personnelle de l’activitédevient nulle lorsque celle-ci est arrêté. La valeur de sa tendance correspond à celle <strong>du</strong> désird’accomplissement : T i (t)=min(D ai (t),Tmax i ). L’activité peut ainsi être de nouveausélectionnée si sa satisfaction personnelle était était négative avant son arrêt.Pour éviter ce comportement d’oscillation <strong>du</strong> processus décisionnel , le désir d’accom-
6.5. EXTENSION DU MODÈLE SATISFACTION-ALTRUISME 99plissement de l’activité venant d’être arrêtée est initialisé à 0 si sa satisfaction personnelleétait négative :Si P(t)
100 CHAPITRE 6. UNE APPROCHE DE COOPÉRATION RÉACTIVE3. le concept de tendance a été intro<strong>du</strong>it. Il permet de prendre en compte simplementles différentes formes de motivation. Son évaluation considèrent à la fois le désird’accomplissement et la satisfaction personnelle, notamment lorsque l’activité estexécutée. Nous avons vu que ces deux formes de motivations étaient complémentaires.Nous verrons dans le chapitre 8 que leur utilisation conjointe permet unegrande souplesse d’utilisation <strong>du</strong> modèle et simplifie la conception des activités dansle cadre de la réalisation de missions. La tendance étant l’unique critère de mise encompétition les activités dans le processus de sélection, le processus est d’autantplus simplifié.6.5.7 Vers la spécification <strong>du</strong> contexte des interactionsUne des principales limites des approches de coopération réactive tient à la faible diversitéet complexité des problèmes de coopération qui peuvent être considérés. Le modèlesatisfaction-altruisme permet de traiter divers problèmes de coordination d’agentssitués avec efficacité (robots fourrageurs, conflits spatiaux, etc.). Néanmoins, le contextedes interactions qui sont mises en œuvre est implicite. Il est uniquement spécifié par lecontexte applicatif à travers la nature des agents considérés. Ceci a pour conséquence (1)de limiter les formes d’interactions possibles entre les agents, (2) de ne permettre qu’àdes agents homogènes d’interagir, (3) de nécessiter une redéfinition des interactions entreagents pour chaque application et (4) de complexifier la coopération entre agents :1. Nous avons proposé un processus décisionnel qui permet de considérer diverses activitéscoopératives. Néanmoins, les signaux d’influence échangés ont une sémantiquetrès simple qui fait qu’il est très difficile de différencier des conditions d’activationet d’élaboration de tendances pour chaque activité coopérative. Il en résulte queles agents n’ont pas la capacité d’entreprendre beaucoup d’activités coopératives.Les types d’interactions qui peuvent être considérés dans une application sont alorstrès restreints. Si l’on s’en tient à la sémantique originelle des signaux d’influence <strong>du</strong>modèle satisfaction-altruisme, les interactions concernent généralement la navigationdes agents et prennent la forme d’attraction ou de répulsion.2. Les formes d’interactions possibles au sein d’un système étant très limitées, il est difficilede faire coopérer des agents de compétences diverses. Ceci explique pourquoices systèmes ne considèrent généralement que des agents homogènes.3. De plus, il est nécessaire de redéfinir, pour chaque application, la façon dont lesagents interagissent, en particulier, la sémantique des signaux d’influence et actionscoopératives à engager. Les interactions proposées dans le cadre d’une application
6.6. APPROCHE RÉACTIVE ORGANISATIONNELLE 101sont ainsi difficilement réutilisables dans le cadre de nouvelles applications qui fontintervenir d’autres formes d’interaction.4. Enfin, la difficulté de considérer différents types d’interactions et des agents de compétencesdifférentes engendre une complexification de la gestion des interactionsdès lors que l’on s’adresse à des problèmes de coopération au sein de systèmes unpeu hétérogènes ou avec plusieurs formes d’interactions. La sémantique des signauxdevient alors assez complexe lorsqu’on souhaite considérer différentes actions coopératives.Dans [Chapelle et al., 2002] par exemple, une version <strong>du</strong> modèle satisfactionaltruismeest proposée. Celle-ci met en œuvre des mécanismes d’apprentissage pourgérer différents types d’interactions. Pour se faire, les informations nécessaires à l’apprentissagedes agents sont codées dans l’intervalle [−126,+126] et les attractions/-répulsions ne sont plus que codées sur deux valeurs : −127 et 127. Ainsi, l’ajout desinteractions nécessaires à l’apprentissage s’est fait au dépend de l’interaction d’attractionet de répulsion dont l’intensité ne plus être représentée.En robotique sous-marine, la considération de flottilles d’AUV hétérogènes capablesd’exécuter des activités coopératives de natures différentes de la navigation est essentielle.Au sein d’une même mission, un AUV peut interagir avec d’autres AUV dans différentscontextes. Par exemple, parce qu’il a besoin de mettre à jour son horloge, sa position outout simplement pour accomplir sa tâche (sou<strong>du</strong>re, pose de câble, etc.).Pour permettre à des AUV d’interagir de différentes manières et, par la même, à desAUV hétérogènes de coopérer, le contexte des interactions doit être spécifié. C’est ce quenous proposons de faire par la suite en associant notre approche de coopération réactiveéten<strong>du</strong>e <strong>du</strong> modèle satisfaction-altruisme avec l’approche organisationnelle Agent/Groupe/Rôleque nous avons proposée au chapitre précédent.6.6 Approche réactive organisationnelleDans le modèle satisfaction-altruisme, le contexte des interactions est implicite et dépendde l’application. Pour chaque application, les formes d’interactions sont alors extrêmementrestreintes, ce qui implique une forte homogénéité des agents et une augmentationde la complexité de la coopération dès lors que plusieurs formes d’interaction sontnécessaires. De plus, il est indispensable de redéfinir la coopération entre les agents pourchaque application, ce qui ne facilite pas l’usage de cette approche de coopération.
102 CHAPITRE 6. UNE APPROCHE DE COOPÉRATION RÉACTIVEDans le chapitre 5, nous avons vu un moyen d’adresser l’hétérogénéité des agents etdes interactions : c’est le modèle AGR. Nous allons voir, dans cette section, la façon dontles concepts de groupe, mais surtout de rôle, peuvent être utilisés pour spécifier le contextedes interactions dans notre approche de coopération réactive.6.6.1 Interactions réactivesDans le modèle AGR, une interaction notée I, est définie entre deux rôles joués dans ungroupe tel qu’illustré à la figure 6.5.Rôle R1AUV0AUV1Rôle R2interactionI1FIGURE 6.5 : Interaction dans le modèle AGRA noter, que le modèle AGR donne la possibilité de caractériser différents protocolesd’interactions au sein de la flottille. Néanmoins, nous nous focaliserons par la suite sur laspécification des interactions réactives mises en œuvre dans notre approche de coopération.L’interaction entre deux AUV est alors initiée et entretenue par l’émission de signauxd’influence qui poussent un autre AUV à (ré)agir de façon coopérative. Si on représentecette interaction comme une relation entre deux rôles au sein d’un groupe comme dansl’approche AGR, l’interaction réactive peut être représentée comme à la figure 6.6.Rôle R1AUV0signauxd'influencesI1(ré)actionscoopérativesAUV1Rôle R2FIGURE 6.6 : Interaction réactiveRemarque : l’interaction I R1→R2 de la figure 6.5 modélise l’interaction réactive présentéeà la figure 6.5 dans les descriptions de la structure organisationnelle ou de l’organisa-
6.6. APPROCHE RÉACTIVE ORGANISATIONNELLE 103tion concrète de la flottille. Le sens de la flèche de l’interaction I R1→R2 sert à caractériserles actions coopératives menées par le rôle R1 qui sont censées affecter le rôle R2.Il est ainsi possible d’avoir différents types d’interaction au sein de la flottille alors queles AUV utilisent une approche de coopération réactive. Il suffit pour cela de préciser lecontexte des interactions en spécifiant les rôles qui sont mis en relation lors de l’émissiondes signaux d’influence par les AUV. Les AUV peuvent ainsi s’adresser directement aux AUVqui possèdent les fonctions et les compétences dont ils ont besoin. Les AUV qui reçoiventles signaux sont directement informés <strong>du</strong> contexte dans lequel ils doivent mettre en œuvreleurs actions coopératives. Ainsi, les actions coopératives engagées par un AUV seront différentesselon son rôle adressé par le signal et le rôle source <strong>du</strong> signal.La possibilité de spécifier le contexte des interactions dans notre approche de coopérationréactive apporte plusieurs avantages qui vont être illustrés à travers trois exemplessimples.6.6.2 Hétérogénéité des interactionsPremier exemple de mission : cartographie multimodale avec quatre AUV hétérogènesPrenons l’exemple d’une mission de cartographie multimodale mettant en jeu quatreAUV hétérogènes. Trois AUV sont munis de sonars leur permettant de faire des relevés bathymétriquesdes fonds marins. Nous leur attribuons le rôle de "cartographieur". Le dernierAUV est muni d’un système d’éclairage et d’une caméra lui permettant de faire desacquisitions vidéos. Il jouera le rôle de "vidéaste". L’organisation artificielle de la flottilleest présentée à la figure 6.7.Dans cette mission, l’objectif est d’effectuer des relevés de fonds les plus précis possibles.Pour certaines zones à faible "granularité" (sable, vase, galets, etc.) présentant peud’intérêt, les acquisitions sonars suffisent tandis que d’autres, à plus forte "granularité"(épaves, rochers, falaises, volcans sous-marins, etc.), nécessitent des acquisitions vidéosde façon à réaliser une reconstruction plus détaillée de l’environnement.Les cartographieurs se voient attribuer une zone identique dont ils doivent faire le relevé(cf. figure 6.8). Chaque cartographieur doit parcourir la zone en suivant ses proprespoints de passage de telle manière que chaqu’un suit une trajectoire différente. Les cartographieurspeuvent se partager leurs cartes acoustiques de façon à augmenter la précisionde leur carte ou à compléter les parties manquantes à partir des relevés des autres.Ils doivent faire appel au vidéaste lorsqu’ils détectent une zone à haut intérêt présentantune forte granularité afin que celui-ci réalise l’acquisition vidéo. Par la suite, nous ferons
104 CHAPITRE 6. UNE APPROCHE DE COOPÉRATION RÉACTIVEVidéasteCartographieurcartographieurvidéasteFIGUREflottille6.7 : Organisation artificielle de laFIGURE 6.8 : Mission de cartographiemultimodalel’hypothèse que les AUV ont la capacité de détecter l’orientation des signaux d’influencereçus et de connaitre la distance parcourue par le signal.Spécification des interactionsPour réaliser cette mission, nous spécifions plusieurs formes d’interaction entre lesrôles de cartographieur et de vidéaste dans les tableaux 6.1, 6.2 et 6.3. Nous y décrivons lessituations d’interaction pour lesquelles les signaux sont émis, la sémantique des signauxet les buts correspondants pour celui qui les reçoit.Le tableau 6.1 caractérise l’interaction I vidéaste→cartographieur entre le vidéaste et uncartographieur. Un cartographieur, lorsqu’il découvre une zone de forte "granularité",émet un signal d’influence positif adressé au vidéaste de façon à l’appeler. L’intensité <strong>du</strong>signal augmente jusqu’à l’arrivée <strong>du</strong> vidéaste. Il reste sur la zone découverte jusqu’à l’arrivéede ce dernier. L’intensité <strong>du</strong> signal reçu par le vidéaste est utilisée pour calculer latendance d’une activité coopérative dont le but est de s’approcher de la source <strong>du</strong> signalémis par le cartographieur. Si l’intensité est suffisante par rapport à la satisfaction personnellede l’activité courante <strong>du</strong> vidéaste, l’activité coopérative est déclenchée.Le tableau 6.2 caractérise l’interactionI cartographieur→vidéaste entre un cartographieuret le vidéaste. Lorsque le vidéaste arrive à proximité <strong>du</strong> cartographieur, il réalise une acquisitionvidéo de la zone et émet un signal de répulsion aux cartographieurs. De cette façon,
6.6. APPROCHE RÉACTIVE ORGANISATIONNELLE 105Interaction I vidéaste→cartographieurSituation d’interaction Signal I C→V But vidéasteDécouverte zoned’intérêtI>0 Rapprochement et acquisition vidéoTABLE 6.1 : Interaction vidéaste-cartographieuril éloigne les cartographieurs pour éviter d’être à nouveau appelé pour une acquisition vidéode la zone en cours. Le cartographieur qui avait détecté la zone d’intérêt s’éloigne <strong>du</strong>vidéaste et peut alors reprendre son activité de cartographie.Interaction I cartographieur→vidéasteSituation d’interaction Signal I V→C But cartographieurAcquisition vidéo ||Zone déjà acquiseI0 Rapprochement et partage de cartePerturbation sonar I
106 CHAPITRE 6. UNE APPROCHE DE COOPÉRATION RÉACTIVEAnalyseNous avons vu à travers cet exemple comment le modèle AGR permettait de décrire différentesformes d’interactions réactives dans notre approche de coopération. La définitionde rôles dans la flottille permet à un AUV d’adresser directement les signaux d’influenceaux rôles qui l’intéressent. L’AUV qui reçoit le signal peut réagir directement en fonctionde son rôle qui est adressé et <strong>du</strong> rôle de l’émetteur. Ainsi, il devient facile de faire coopérerdes AUV très hétérogènes quel que soit leur nombre.La spécification des interactions entre rôles permet aussi de préserver une sémantiquedes signaux très simple, quel que soit le nombre de rôles et d’interactions mis en œuvredans la flottille. Il est beaucoup plus difficile de faire coopérer des AUV hétérogènes pourréaliser la mission si l’on s’abstient d’utiliser des rôles car la sémantique des signaux devientnécessairement plus complexe et l’on perd l’intérêt d’avoir un processus décisionnelsimple et réactif. La conception de tels systèmes coopératifs peut même devenir impossiblepour un nombre d’interactions important.6.6.3 Mo<strong>du</strong>larité des interactionsDeuxième exemple de mission : cartographie multimodale et détection de mines avecquatre AUV hétérogènesA présent, imaginons une mission un peu plus complexe que la précédente dans laquellenous souhaitons détecter et identifier des mines en même temps que la zone estcartographiée. Pour cela, un AUV qui jouait le rôle de cartographieur dans le scénario précédent,utilisera désormais son sonar pour détecter de potentielles mines et jouera ainsi lerôle de "détecteur". Lorsqu’une mine potentielle est détectée, une analyse vidéo est requisede façon à confirmer la présence de mine et pour l’identifier. L’organisation artificielle dela flottille pour cette nouvelle mission est présentée à la figure 6.9.Pour réaliser cela, nous ajoutons les interactions décrites aux tableaux 6.4 et 6.5 entreles rôles de détecteur et de vidéaste. Au tableau 6.4, l’interaction I vidéaste→détecteur permetau détecteur qui a détecté une mine potentielle d’émettre un signal d’attraction auvidéaste. L’intensité <strong>du</strong> signal augmente jusqu’à ce qu’un vidéaste s’approche et répondeà l’appel.Cette fois l’interaction I détecteur→vidéaste (cf. tableau 6.5) ne concerne pas la navigationdes AUV. Le vidéaste, une fois à proximité <strong>du</strong> détecteur de mine, émet des signauxpositifs au détecteur pour qu’il lui envoie les coordonnées de la mine potentielle. Une fois
6.6. APPROCHE RÉACTIVE ORGANISATIONNELLE 107DétecteurVidéasteCartographieurFIGURE 6.9 : Organisation artificielle de la flottilleInteraction I vidéaste→détecteurSituation d’interaction Signal I D→V But vidéasteDétection mine I>0 RapprochementTABLE 6.4 : Interaction vidéaste-détecteurles coordonnées reçues, le vidéaste informe le détecteur, via des signaux négatifs, qu’il peutarrêter l’émission des coordonnées de la mine et des signaux d’influence visant à appelerd’autres vidéastes.Interaction I détecteur→vidéasteSituation d’interaction Signal I V→D But détecteurSource signal proche &Coordonnées potentielles I>0 Emission coordonnées minemine non reçuesCoordonnées potentiellesmine reçues & signaldétecteur I D→V > 0 reçuI
108 CHAPITRE 6. UNE APPROCHE DE COOPÉRATION RÉACTIVELe modèle AGR rend notre approche de coopération réactive très mo<strong>du</strong>laire. Les AUVsont uniquement concernés par les interactions mises en jeu à travers les rôles qu’ilsjouent. Ils sont complètement indépendants des AUV avec lesquels ils ne sont pas en interaction.Ceci est un gage de sécurité. L’arrivée d’un AUV avec de nouvelles fonctions nepeut pas avoir de relations avec les autres AUV sauf si les interactions sont clairement spécifiéesà travers les rôles qu’il joue. Il devient alors facile d’ajouter à la flottille des AUV avecde nouvelles fonctionnalités.Troisième exemple de mission : cartographie multimodale et détection de mines avecquatre AUV hétérogènesCe dernier exemple a pour but de mettre en avant la mo<strong>du</strong>larité apportée par le modèleAGR. Nous équipons d’une caméra un AUV déjà doté d’un sonar, en l’occurrence, nouschoisissons un cartographieur. Cet AUV peut désormais jouer les rôles de cartographieuret de vidéaste. La figure 6.10 illustre la nouvelle organisation concrète de la flottille. FIGURE 6.10 : Organisation concrète de la flottilleDe cette façon, il est parfaitement possible d’effectuer la mission précédente de cartographiemultimodale avec détection de mines. L’ajout <strong>du</strong> rôle de vidéaste pour l’AUV,préalablement cartographieur, est totalement transparent pour les autres AUV de la flottille.L’AUV interagit avec eux par l’intermédiaire de ses deux rôles. En fonction de l’intensitédes signaux reçus, les activités coopératives effectuées dans le cadre d’un rôle prennentle dessus sur les autres.Imaginons par exemple que l’AUV fasse des acquisitions sonars <strong>du</strong> fond en exerçantson rôle de cartographieur. Il peut émettre des signaux d’influence aux autres cartographieursde façon à partager sa carte avec eux ou leur envoyer des signaux de répulsion si
6.6. APPROCHE RÉACTIVE ORGANISATIONNELLE 109son sonar est brouillé (cf. interaction tableau 6.3). Inversement, il peut réagir aux signauxémis par les autres cartographieurs.A présent, l’AUV est en train d’effectuer sa cartographie lorsqu’il reçoit des signaux d’attractionadressés à son rôle de vidéaste de la part d’un cartographieur ou d’un détecteurde mines. Dans les deux cas, l’intensité des signaux augmentent au cours <strong>du</strong> temps tantqu’aucun vidéaste ne réagit à l’appel. Dans notre système de coopération, les activités coopératives<strong>du</strong> rôle de vidéaste sont en compétition avec celles <strong>du</strong> rôle de cartographieur.S’il n’est pas très satisfait de l’exécution de l’activité de cartographie en cours, il réagirarapidement à ces signaux. A contrario, s’il est satisfait, beaucoup plus de temps sera nécessaireavant qu’il ne réagisse. Cela peut laisser le temps à un autre vidéaste mieux disposéà réagir aux signaux. Si ce dernier est occupé à effectuer une autre acquisition vidéo, qu’ilne reçoit pas le signal ou qu’il est en panne, l’intensité des signaux augmentant, l’AUV(cartographieur et vidéaste) finira nécessairement par réagir aux signaux émis par le cartographieur.Il est toujours possible qu’il y ait des incohérences pour un AUV qui joue plusieurs rôles.Généralement, ces incohérences peuvent être facilement résolues en définissant correctementles conditions d’activation ou en ajustant l’importance (cf. section 6.5) des activitésconcernées. Cela permet de mettre en place des priorités entre les activités. Dans notreexemple, il faut éviter que l’AUV ne réagisse à ses propres signaux de répulsion émis dans lecadre de son rôle de vidéaste et adressés à tous les cartographieurs (dont lui-même). Pourcela, il est possible d’inhiber l’activation de l’activité coopérative qui a pour but l’éloignement<strong>du</strong> cartographieur ou de lui imposer une importance plus basse que l’activité d’acquisitionvidéo de son rôle de vidéaste.Cet exemple illustre la flexibilité avec laquelle il est possible d’ajouter de nouvellesfonctionnalités à un AUV. Les nouvelles interactions réactives sont facilement intégréesen adoptant les rôles opportuns. Un AUV peut jouer plusieurs rôles sans que cela n’impactele reste de la flottille. Les incohérences liées à l’adoption des différents rôles pourl’AUV peuvent être facilement résolues en utilisant certaines propriétés de notre approchede coopération réactive.6.6.4 Possibilités offertes par l’approche réactive organisationnelleNature des messagesLe modèle AGR offre la possibilité aux AUV d’échanger différents types de messages.Les messages sont définis selon la syntaxe
110 CHAPITRE 6. UNE APPROCHE DE COOPÉRATION RÉACTIVEmessage>. Les trois premiers éléments sont utilisés à des fins d’identification. Un AUV quireçoit un message peut ainsi savoir immédiatement si le message lui est adressé, connaitrel’interaction concernée dans la structure organisationnelle et, par voie de conséquence, lafaçon dont il va pouvoir interpréter le corps <strong>du</strong> message.Le corps <strong>du</strong> message peut alors contenir diverses informations. Dans le cas de notre approchede coopération réactive, éten<strong>du</strong>e <strong>du</strong> modèle satisfaction-altruisme, l’informationcontient nécessairement un signal d’influence. L’échange de signaux d’influence est suffisantpour un nombre important d’interactions. Néanmoins, certaines peuvent nécessiterque ces signaux soient accompagnés d’autres informations. Par exemple la date d’émission<strong>du</strong> signal pour pouvoir estimer la distance parcourue par le signal (cf. exemples soussections6.6.2 et 6.6.3).Sémantique des signaux d’influencePour notre approche de coopération réactive, cette possibilité de transmettre différentesformes d’information selon les interactions offre de nouvelles perspectives d’utilisationdes signaux d’influence.Par exemple, les signaux d’influence peuvent être accompagnés de l’identifiant del’AUV émetteur. Il devient alors possible pour un AUV d’engager ses actions coopérativespar rapport à un AUV en particulier. Dès-lors, il ne tient compte que des signaux d’influenceémis par l’AUV en question et s’abstient des autres. La transmission des signauxd’influence est ainsi plus "sécurisée". Cela évite que les signaux émis par d’autres AUV neviennent perturber l’analyse de l’AUV qui a engagé ses actions par rapport à un AUV spécifique.L’identification de l’émetteur ou <strong>du</strong> destinataire <strong>du</strong> signal donne la possibilité de spécifierune sémantique beaucoup plus complexe pour les signaux d’influence. Cette sémantiqueoffre alors des possibilités d’interprétation plus importantes. A noter qu’en contrepartie,les messages à transmettre contiennent plus de données.Prenons l’exemple, de l’interaction entre les AUV "cartographieurs" de la sous-section6.6.2. Un AUV émet des signaux de répulsion lorsque son acquisition sonar de l’AUV estperturbée par les sonars de ses voisins. Imaginons que les AUV ne soient plus en mesurede connaitre la direction et la distance parcourues par le signal. Ils doivent utiliser un autremoyen pour déterminer la direction pour s’écarter. Si l’intensité <strong>du</strong> signal est proportionnelleà l’ampleur de la perturbation <strong>du</strong> sonar, les AUV peuvent utiliser la dérivée <strong>du</strong> signalreçu pour savoir s’ils amplifient ou pas les perturbations. Selon le cas, ils doivent changer
6.6. APPROCHE RÉACTIVE ORGANISATIONNELLE 111la direction vers laquelle ils s’orientent ou continuer dans la même direction. Cette interactionest spécifiée au tableau 6.6.Interaction I cartographieur→cartographieurSituation d’interaction Signal I C→C But destinatairePerturbation sonaramplifiéeI
112 CHAPITRE 6. UNE APPROCHE DE COOPÉRATION RÉACTIVER1I R3_ >R1G1R3I R1_ >R2R2I R2_ >R3I R3_ >R2RôleCode émetteur& destinataireR1 00R2 01R3 10R4 11FIGURE 6.11 : Exemple d’organisation artificielleTABLE 6.7 : Mode d’adressage normalDans le mode d’adressage normal, l’émetteur et le destinataire d’un message sont spécifiéspar leur rôle respectif. La quantité de données requise pour l’adressage au sein d’ungroupe est donc de nb_bits = 2⌈log 2 (nb_rôle)⌉. Dans notre exemple, il y a trois rôles,l’adressage requiert alors 4 bits (2 bits pour l’émetteur et 2 bits pour le destinataire, cf. tableau6.6.4).Dans la plupart des systèmes multi-agents et multi-AUV en particulier, les rôles nesont pas tous en interaction bidirectionnelle les uns par rapport aux autres. Il est alorspossible d’optimiser la quantité de données requise en codant chaque interaction parrapport au rôle <strong>du</strong> destinataire <strong>du</strong> message (origine de la flèche d’interaction dans l’organisationartificielle figure 6.6.4). L’adressage contient alors le code <strong>du</strong> rôle <strong>du</strong> destinataire<strong>du</strong> message et le code de l’interaction qui lui est associée comme au tableau 6.6.4.De la même manière, il est évidemment possible de coder les interactions par rapport àl’émetteur <strong>du</strong> message. Avec ce mode d’adressage, la quantité de données requise est denb_bits=⌈log 2 (nb_rôle)⌉+nb_I max , où nb_I max est le nombre maximal d’interactionspour un rôle dans le système. Dans notre exemple d’organisation artificielle, l’adressage nerequiert plus que 3 bits (2 bits pour le destinataire et 1 bit pour le numéro de l’interaction,cf. tableau 6.8).DestinataireRôle → codeInteraction → codeR1 → 00 I R1→R2 → 0R2 → 01 I R2→R3 → 0R3 → 10I R3→R1 → 0I R3→R2 → 1TABLE 6.8 : Adressage "rôle et numérod’interaction <strong>du</strong> destinataire"Interaction codeI R1→R2 00I R2→R3 01I R3→R1 10I R3→R2 11TABLE 6.9 : Adressage numéro d’interactionLe dernier mode d’adressage consiste à coder directement les interactions <strong>du</strong> sys-
6.7. RÉSUMÉ DU CHAPITRE 113tème comme dans le tableau 6.9. Les AUV engagent directement les actions coopérativescorrespondant à l’interaction communiquée dans le message ou font la correspondanceavec les rôles qui sont mis en interaction s’ils ont connaissance de l’organisationartificielle. Ce mode d’adressage nécessite une quantité de donnée minimale nb_bits =⌈log 2 (nb_interaction)⌉. La quantité de données requise pour l’adressage est d’autantplus ré<strong>du</strong>ite par rapport aux adressages décrits précédemment que le nombre d’interactionsest faible par rapport aux nombres de rôles <strong>du</strong> système. Ainsi, pour notre exempled’organisation artificielle, l’adressage ne requiert plus que 2 bits (cf. tableau 6.8).6.7 Résumé <strong>du</strong> chapitreLa ré<strong>du</strong>ction des communications est une problématique majeure pour la réalisationde missions sous-marines par des flottilles d’AUV. Cette ré<strong>du</strong>ction est d’autant plus difficileà obtenir que les AUV travaillent dans un environnement dynamique et incertain qui peutnécessiter une coordination régulière entre les AUV.L’accomplissement d’une mission collective sous-marine peut se faire de deux manièresdifférentes. La coopération consiste à répartir des tâches entre les AUV tandis quela collaboration laisse les AUV s’auto-organiser tout au long de l’accomplissement de lamission. Pour limiter les communications, nous avons conclu qu’une coopération étaitnécessaire au niveau global mais qu’il fallait laisser les AUV collaborer localement.Les systèmes multi-AUV coopératifs ou collaboratifs actuels utilisent des techniquesde coordination cognitives. Ces techniques ne sont pas pertinentes compte tenu <strong>du</strong> caractèredynamique et imprévisible de l’environnement et des contraintes de communicationsauxquelles sont soumis les AUV. Dans ce contexte, la coordination réactive s’est avérée lasolution la plus pertinente car elle peut être réalisée in situ et met en œuvre des interactionstrès simples.Ensuite, nous avons montré que le modèle satisfaction-altruisme offrait un bon moyenpour les AUV de coopérer et de s’auto-organiser localement. Les AUV peuvent s’échangerdes signaux de communication très simples (attraction/répulsion) pour s’influencer.Ils comparent leur niveau de satisfaction personnelle avec l’intensité des signaux perçuspour décider de poursuivre leur tâche personnelle en cours, ou au contraire de réagir defaçon altruiste. Comme pour la plupart des approches réactives, la nature des problèmesde coopération pouvant être considérés est cependant limitée.Pour faire face à cette problématique, dans un premier temps nous avons proposéd’étendre le modèle satisfaction-altruisme de façon à augmenter le nombre et la nature des
114 CHAPITRE 6. UNE APPROCHE DE COOPÉRATION RÉACTIVEactions coopératives qui peuvent être sélectionnées par les AUV. Néanmoins, le contextedes interactions restait implicite et dépendait uniquement de la nature des AUV et de l’applicationconsidérée. Ceci avait pour conséquence (1) de limiter les formes d’interactionspossibles entre les AUV, (2) de ne permettre qu’à des AUV homogènes d’interagir, (3) denécessiter une redéfinition des interactions entre AUV pour chaque application et (4) decomplexifier la coopération entre AUV. Ainsi, les nouveaux moyens mis à disposition dansnotre approche de coopération réactive ne pouvaient pas être exploités.Nous avons alors proposé dans un second temps d’utiliser l’approche organisationnelledécrite au chapitre 5 pour spécifier le contexte des interactions réactives de notre approchede coopération. Nous avons montré comment les concepts de groupe, mais surtoutde rôle, pouvaient être utilisés dans l’adressage des signaux d’influence et permettaient ànotre approche de coopération réactive la mise en œuvre d’interactions hétérogènes avecune grande mo<strong>du</strong>larité. Enfin, nous avons montré que l’association des deux approchesoffrait de nouvelles possibilités d’utilisation des signaux d’influence. Elle fournit la possibilitéde caractériser des formes d’interactions plus complexes et offre la possibilité deré<strong>du</strong>ire la quantité de données nécessaire pour l’adressage des messages dans une organisationd’AUV modélisée par AGR.Dans le chapitre suivant, nous allons présenter une architecture d’AUV, appelée REMO-RAS. Elle implémente l’approche réactive organisationnelle pour la coopération d’AUV quenous venons de proposer. Dans le chapitre 8, cette architecture est employée par des AUVhétérogènes dans le cadre d’une simulation d’un scénario de recherche de boîte noire.
CHAPITRE7L’architecture REMORASDans le chapitre 5, nous avons vu l’importance de l’utilisation d’une vision organisationnellepour décrire les flottilles de véhicules sous-marins autonomes. Nous avons proposéd’utiliser le modèle Agent/Groupe/Rôle pour simplifier la conception et la spécificationde flottilles d’AUV hétérogènes. Ce modèle permet notamment de caractériser lesprotocoles d’interaction entre AUV.Par la suite, dans le chapitre 6, nous avons proposé de combiner l’utilisation <strong>du</strong> modèleAGR avec une approche de coopération réactive basée sur le modèle satisfactionaltruisme.L’association des deux modèles donne un moyen pour les AUV de coordonnerl’exécution d’actions coopératives hétérogènes en utilisant des protocoles d’interactiontrès simples.Ce chapitre est consacré à la conception d’une architecture d’AUV, à savoir REMORAS.Elle est conçue pour équiper des véhicules sous-marins autonomes qui évoluent au seind’une organisation d’AUV. Elle a pour objectif la mise en œuvre de l’approche organisationnellede coopération réactive que nous avons proposée dans le chapitre précédent.Dans la section 7.1, nous commençons par identifier les fonctions à remplir par lesAUV au sein d’une organisation. Nous verrons que ces fonctions peuvent être déclinées enplusieurs dimensions d’analyse. Dans la section 7.2, ces dimensions sont utilisées pour élaborerun modèle de conception d’architecture d’AUV en trois couches : la couche sociale,la couche conative et la couche fonctionnelle. Nous détaillons la façon dont les différentesfonctions sont intégrées au sein de chaque couche. Le modèle d’architecture est ensuiteimplémenté : l’architecture REMORAS est détaillée selon ses trois couches de conceptiondans les sections 7.3, 7.4 et 7.5. Enfin, la section 7.6 résume le chapitre.115
116 CHAPITRE 7. L’ARCHITECTURE REMORAS7.1 Analyse fonctionnelle pour la conception d’unearchitecture multi-AUVSi l’on souhaite concevoir une architecture multi-AUV la plus générique possible, il estnécessaire de répertorier les fonctions que doivent assurer les AUV au sein d’une flottille.En l’occurrence, il s’agit d’identifier les fonctions à assurer dans une organisation multi-AUV. Pour cela, nous décidons de suivre la manière dont J. Ferber [Ferber, 1995] a analyséles fonctions d’une organisation multi-agent. Cette analyse va nous permettre de déterminerles fonctions qui devront être assurées par l’architecture REMORAS.7.1.1 Analyse fonctionnelle d’une organisation multi-agentL’analyse fonctionnelle d’une organisation con<strong>du</strong>it à l’identification des principalesfonctions que les composants de cette organisation doivent remplir [Ferber, 1995]. Pourune organisation multi-agent, J. Ferber [Ferber, 1995] propose six fonctions principales :1. La fonction représentationnelle comprend l’ensemble des fonctions de modélisationde l’environnement et des autres organisations. Elle s’occupe aussi de mémoriserles évènements qui ont pu affecter l’organisation.2. La fonction organisationnelle se rapporte à tout ce qui a trait à la gestion de l’activitéd’une organisation et, en particulier, la constitution des groupes, l’allocation desrôles ainsi que la planification, l’allocation et le suivi des tâches.3. La fonction conative (<strong>du</strong> latin conari, se préparer à, entreprendre) se rapporte auxsources, aux limites et à la sélection des activités des organisations. Cette fonctionse divise elle-même en trois sous-fonctions : celle des motivations ou fonctionmotivationnelle, qui décrit comment les buts ou tendances sont formés, qu’ils’agisse de demandes internes (besoins, désirs, pulsions) ou externes (demandes desautres agents, pressions sociales) ; celle de l’élaboration des contraintes, qui décritles normes et inhibitions qui viennent limiter l’éventail des actions possibles de l’organisation; enfin, celle de la prise de décision grâce à la fonction décisionnelle quis’occupe, en liaison avec le système organisationnel, de l’évaluation et <strong>du</strong> choix desbuts à satisfaire et des tâches à entreprendre.4. La fonction interactionnelle sert à faire le lien entre une organisation et ce quil’entoure. C’est elle qui gère les activités d’interactions avec l’environnement ainsique l’ensemble des communications avec les autres organisations. Elle assure ainsitoutes les fonctions d’entrée-sortie et d’interface. Elle se compose de deux sous-
7.1. ANALYSE FONCTIONNELLE POUR LA CONCEPTION D’UNE ARCHITECTUREMULTI-AUV 117fonctions, la fonction perceptive, qui se charge de l’acquisition d’informations provenantde l’extérieur, et la fonction exécutrice qui s’occupe de l’accomplissement desactions choisies par le système conatif et mises en œuvre par le système organisationnel.5. La fonction pro<strong>du</strong>ctive concerne l’ensemble des activités primitives qui doivent êtremises en œuvre pour résoudre un problème ou effectuer un travail. Cette fonctiondépend de l’application. Un AUV dédié à la cartographie qui doit explorer, se localiseret modéliser son environnement n’aura pas la même fonction pro<strong>du</strong>ctive qu’un AUVdédié à la maintenance, qui manipule des objets et des outils.6. La fonction végétative traite de la conservation de la structure et des agents, de l’acquisitionet de l’entretien des ressources et des tâches employées pour maintenir etrepro<strong>du</strong>ire l’organisation.Les relations principales qui lient les fonctions entre-elles sont illustrées à la figure 7.1.FIGURE 7.1 : Représentation schématique des différentes fonctions de l’organisation d’unsystème multi-agent [Ferber, 1995]Dans un système multi-agent, ces fonctions peuvent être distribuées dans un ensembled’agents ou être incarnées dans un seul. Dans notre cas, l’intérêt est de concevoir un modèled’architecture le plus générique possible, qui contient l’ensemble des fonctions citées.Cela n’empêchera pas d’implémenter uniquement les fonctions que l’AUV est capabled’accomplir au moment de l’intégration finale.
118 CHAPITRE 7. L’ARCHITECTURE REMORAS7.1.2 Principe d’intégrationL’étude des fonctions précédentes peut être déclinée selon plusieurs dimensions. J. Ferberpropose cinq dimensions d’analyse : physique, sociale, relationnelle, environnementaleet personnelle (cf. détails dans [Ferber, 1995]). Nous souhaitons intégrer les fonctionsidentifiées dans un modèle d’architecture simple et cohérent. Pour cette raison, nous neconsidérons seulement que trois dimensions d’analyse :1. La dimension sociale concerne ce qui a trait à l’organisation de la flottille, notammentce qui concerne l’établissement de l’organisation et la description de la placeet des fonctions occupées par les AUV en son sein.2. La dimension personnelle représente tout ce qui à trait aux aspects "méta" de l’AUV.Elle rassemble ses fonctions réflexives : la représentation de soi, de ses connaissances,la gestion et le choix de ses propres activités en cohérence avec l’organisationglobale établie.3. La dimension physique traite des ressources et des fonctions nécessaires à l’exécutiondes activités de l’AUV. Elle décrit la façon dont sont réalisées les activités quisont en lien avec les équipements matériels et l’environnement.Ces dimensions d’analyse vont constituer trois axes d’intégration des différentes fonctionset nous permettre de définir un modèle de conception d’architecture d’AUV. Decette façon, le modèle que nous proposons dans la section suivante est constitué de troiscouches : (1) la couche sociale, (2) la couche conative et (3) la couche fonctionnelle. Cescouches correspondent respectivement à la déclinaison des fonctions selon les dimensionssociale, personnelle et physique.7.2 Modèle de conception d’architecture d’AUV en troiscouchesNous proposons de définir un modèle d’architecture d’AUV en trois couches. Pour cefaire, nous allons décrire à quoi correspondent précisément les fonctions déterminées aucours de l’analyse fonctionnelle pour une organisation d’AUV et comment ces fonctions sedéclinent par rapport aux différentes couches <strong>du</strong> modèle d’architecture.
7.2. MODÈLE DE CONCEPTION D’ARCHITECTURE D’AUV EN TROIS COUCHES 1197.2.1 Intégration des fonctions dans la couche socialeLa couche sociale rassemble les fonctions qui permettent à l’AUV de se représenter, demodifier et de maintenir l’organisation de la flottille. Deux fonctions sont exercées au seinde cette couche (cf. figure 7.2) : les fonctions représentationnelle et organisationnelle.Couche SocialeSystèmereprésentationnelSystèmeorganisationnelFIGURE 7.2 : Fonctions de la couche socialeCouche sociale - Système représentationnelLe système représentationnel décrit l’organisation de la flottille. Il rassemble les informationsqui concernent les AUV, les modèles d’organisation artificielle disponibles etdécrit l’organisation concrète de la flottille établie. Le système décrit ainsi la manière dontsont répartis les AUV au sein des groupes et la façon dont les rôles sont attribués aux AUV.Ce système décrit également les tâches effectuées par les AUV en fonction de leur positionau sein de l’organisation et mémorise leur niveau d’accomplissement.Couche sociale - Système organisationnelLe système organisationnel se rapporte à tout ce qui a trait à la gestion de l’organisation.Il est en lien avec le système représentationnel (AUV, organisations artificielles, tâchesà effectuer). Il constitue les groupes, alloue les rôles aux AUV et s’occupe de la planificationet de l’allocation des tâches au sein de l’organisation concrète formée. Le système est aussichargé de la supervision et <strong>du</strong> suivi des tâches effectuées par la flottille.
120 CHAPITRE 7. L’ARCHITECTURE REMORAS7.2.2 Intégration des fonctions dans la couche conativeComme son nom l’indique, la couche conative est principalement composée <strong>du</strong> systèmeconatif. Celui-ci s’intéresse à la façon dont l’AUV interprète ses perceptions (statutsvitaux, requêtes d’autres AUV), les combine avec son état interne (capacités, activités courantes,objectifs à atteindre) et décide des tâches/activités à accomplir. Les systèmes organisationnelet représentationnel se chargent d’alimenter le système conatif en buts àaccomplir et en informations sur l’AUV. L’ensemble des sous-systèmes qui constituent lacouche sont présentés à la figure 7.3 et sont détaillés par la suite.Couche ConativeSystèmeorganisationnelSystèmereprésentationnelButsSystème conatifMotivationsSystèmemotivationnelTendancesSystèmedécisionnelDécisionsFIGURE 7.3 : Fonctions de la couche conativeCouche conative - Système représentationnelLe système représentationnel rassemble l’ensemble des connaissances que l’AUV possèdesur lui-même. Elles comprennent ses caractéristiques, sa position au sein de l’organisation(adhésion aux groupes, rôles joués) et la description de ses tâches.Couche conative - Système organisationnelLe système organisationnel s’occupe de la planification des tâches de l’AUV. Il suit laprogression et la performance des tâches en cours d’exécution et gère les transitions entretâches lorsque de nouvelles tâches sont exécutées.
7.2. MODÈLE DE CONCEPTION D’ARCHITECTURE D’AUV EN TROIS COUCHES 121Couche conative - Système conatifLe système motivationnel interprète les motivations (pulsions internes, satisfactionpersonnelle, requêtes d’autres AUV, buts indivi<strong>du</strong>els et collectifs, perceptions de l’environnement,etc.) et élabore les tendances qui pousse l’AUV à l’action.Le système décisionnel évalue les tendances, prend les décisions et engage les activitésà accomplir.7.2.3 Intégration des fonctions dans la couche fonctionnelleLa couche fonctionnelle décrit la façon dont l’AUV effectue ses activités en lien avec seséquipements matériels et l’environnement. Cette couche rassemble l’ensemble des fonctionsidentifiées à la sous-section 7.1.1 (cf. figure 7.4).Systèmepro<strong>du</strong>ctifCouche FonctionnelleSystèmevégétatifSystèmereprésentationnelSystèmeorganisationnelSystèmeperceptifSystèmedecommunicationSystèmeexécutifSystème interactionnelFIGURE 7.4 : Fonctions de la couche fonctionnelleCouche fonctionnelle - Système organisationnelAu sein de la couche fonctionnelle, le système organisationnel est chargé de l’ordonnancementdes tâches/activités. L’ordonnancement des tâches définit l’enchainement destraitements informatiques liés à l’exécution des tâches de façon à répondre aux contraintestemporelles <strong>du</strong> domaine applicatif. Les contrôleurs embarqués des AUV doivent intégrerdes contraintes temporelles liées à leur commande (respect des dates d’échantillonnage)
122 CHAPITRE 7. L’ARCHITECTURE REMORASainsi qu’à l’utilisation de leur instrumentation (gestion des interférences capteurs 1 ). Pourplus d’information sur la gestion des tâches pour le contrôle de véhicule sous-marin autonome,le lecteur peut se référer à [El Jalaoui, 2007].Ce système est en relation avec les systèmes qui doivent respecter des contraintes temporelles,en particulier avec les systèmes de communication, perceptif, exécutif et pro<strong>du</strong>ctifqui mettent en œuvre les équipements matériels de l’AUV.Couche fonctionnelle - Système représentationnelLe système représentationnel regroupe les données acquises par le système perceptif(données capteurs), la modélisation de l’environnement et les données traitées par le systèmepro<strong>du</strong>ctif (navigation, consigne de guidage, etc.).Couche fonctionnelle - Système interactionnelAu sein <strong>du</strong> système interactionnel, nous distinguons le sous-système de (1) communication,des sous-systèmes (2) perceptif et (3) exécutif :1. Le sous-système de communication se charge de l’envoi et de la réception des messages.Des modems accoustiques sont généralement employés pour la transmissionde données sous l’eau. Lorsque les flux de données sont trop importants pour êtretransmis sous l’eau (données de cartographie, vidéos, etc.), la transmission peut sefaire en surface via des ondes radio.2. Le sous-système perceptif se charge de l’acquisition des mesures. On peut distinguerdeux sortes de mesures : les mesures fonctionnelles et les mesures de mission.Les premières concernent les mesures nécessaires au fonctionnement nominal <strong>du</strong>véhicule et à son déplacement. Elles rassemblent les mesures de navigation, cellesen provenance des actionneurs (position des gouvernes, vitesse/couple des moteurs,etc.) ou toutes autres employées par le véhicule dans le cadre de son fonctionnementcourant (tension des batteries, etc.). Les mesures de mission concernent quant à ellel’accomplissement de la mission <strong>du</strong> véhicule. Elles portent généralement sur l’environnement.Ce sont par exemple des acquisitions sonars ou vidéos, des mesures desalinité, de température, etc.1. En environnement sous-marin, les signaux acoustiques sont largement utilisés pour l’acquisition desmesures environnementales et les communications. La bande passante pour la transmission de ces signauxest étroite et les équipements se retrouve à utiliser la même gamme de fréquence. Cela provoque des interférencesentre les équipements et fausse les données acquises ou transmises. Pour éviter cela, il est nécessairede superviser l’utilisation de ces équipements.
7.2. MODÈLE DE CONCEPTION D’ARCHITECTURE D’AUV EN TROIS COUCHES 1233. Le sous-système exécutif se charge de l’actionnement interne (électrovannes, etc.)au véhicule ou externe (moteurs de propulsion, gouvernes, bras manipulateur, etc.).Le sous-système se charge aussi de l’émission des signaux nécessaires. La perceptionde l’environnement sous-marin peut nécessiter la mise en œuvre de capteurs dits actifs(les sonars par exemple). L’emploi de ces capteurs implique l’émission de signauxpour acquérir les mesures. En outre, certains capteurs passifs ont besoins d’être associésà d’autres équipements actifs pour pouvoir fonctionner. Par exemple, une acquisitionvidéo par une caméra, en eau profonde ou de nuit, nécessite un éclairagede la scène.Couche fonctionnelle - Système pro<strong>du</strong>ctifLe système pro<strong>du</strong>ctif effectue l’ensemble des traitements informatiques (calcul de trajectoire,de lois de commande, modélisation de l’environnement, etc.) et la commande deséquipements nécessaires à l’accomplissement de la mission. Sans être exhaustif, quatresous-fonctions se retrouvent dans la plupart des applications sous-marines : (1) la commandedes équipements, (2) la navigation, (3) le guidage, (4) la commande.1. La commande d’équipements électriques (spot d’éclairage, sonar, etc.) et électromécaniques(électrovannes, etc.) peut être nécessaire pour accomplir certaines missions.2. La navigation fournit une estimation de l’état <strong>du</strong> véhicule (position, orientation,vitesses, accélérations, etc.) à partir des données capteurs. Ceci implique de géoréférencerle véhicule et de le situer par rapport à l’objectif courant de la mission.L’estimation de l’état <strong>du</strong> véhicule est souvent obtenue par des techniques de filtrageet/ou de fusion de données qui ont été acquises par les différents capteurs de navigation.3. Le guidage constitue la stratégie d’approche de l’objectif. Il détermine les consignesde direction et de vitesse à suivre pour le véhicule afin d’atteindre l’objectif global (sediriger vers un point, suivi de chemin, de trajectoire, etc.) en prenant en compte lescontraintes locales (évitement d’obstacles).4. La commande génère les signaux à envoyer aux actionneurs (moteurs, gouvernes,etc.) de façon à garantir le suivi des consignes de guidage.
124 CHAPITRE 7. L’ARCHITECTURE REMORASCouche fonctionnelle - Système végétatifLe système végétatif traite des fonctions vitales et de la conservation des AUV. Il assure(1) l’approvisionnement énergétique, (2) la surveillance fonctionnelle et (3) la sauvegarde<strong>du</strong> véhicule.1. L’approvisionnement énergétique concerne, tout d’abord, la génération et le stockagede l’énergie à bord. Généralement, des piles ou des batteries stockent et fournissentl’énergie au véhicule. Des générateurs (panneaux solaire en surface [Crimminset al., 2006], turbines pour convertir l’énergie cinétique des courants marins,etc.) peuvent aussi être utilisés pour pro<strong>du</strong>ire de l’électricité directement à bord. Lesystème végétatif se charge de commuter les sources d’énergie lors de la transitionsurface/bord ou lorsque plusieurs sources sont présentes à bord. Enfin, l’approvisionnementénergétique s’occupe de la distribution de l’énergie à bord, généralementpar l’intermédiaire d’équipements électriques.2. La surveillance fonctionnelle consiste à contrôler les paramètres (niveau des batteries,températures, état des capteurs, etc.) qui permettent de s’assurer <strong>du</strong> bon fonctionnement<strong>du</strong> véhicule.3. La sauvegarde <strong>du</strong> véhicule permet de maintenir son intégrité dans les situations critiques.Cela nécessite d’être capable de détecter ces situations et de mettre en œuvreles activités permettant de les gérer. Généralement, ce sous-système est indépendant,ce qui permet de garantir un maximum de fiabilité. Idéalement, il est aussiautonome en énergie. Il possède sa propre source d’énergie qu’il fournit et distribueà l’ensemble des équipements <strong>du</strong> sous-système. Le sous-système de sauvegardes’occupe de l’acquisition des mesures de sécurité qui permettent de surveiller leséléments critiques <strong>du</strong> véhicule (niveau des batteries, pression, température, capteurd’humidité, etc.) et les équipements dédiés à la remise en sécurité <strong>du</strong> véhicule. Cesous-système assure la mise en sécurité de l’AUV en cas de détection d’une avarie etse charge de faciliter la récupération <strong>du</strong> véhicule.
7.2. MODÈLE DE CONCEPTION D’ARCHITECTURE D’AUV EN TROIS COUCHES 1257.2.4 Vue globaleLe tableau 7.1 récapitule la manière dont sont intégrées les fonctions à remplir par unAUV au sein d’une organisation dans les trois couches de notre modèle d’architecture.InteractionnelConatifOrganisationnel ReprésentationnelCouche sociale Couche conative Couche fonctionnelleReprésentation desAuto-représentation de Représentation deorganisations artificielles, l’AUV, de ses capacités, de l’environnement,des AUV, des rôles et des ses caractéristiques,représentation des mesuresgroupes, représentation des représentation des rôles et internes et externestâches de la flottilledes groupes l’AUV,(données capteurs)représentation des tâchesde l’AUVConstitution des groupes,allocation des rôles,planification et allocationdes tâches de la flottillePlanification et supervisiondes tâches de l’AUV, gestiondes transitions entre lestâchesInterprétation desmotivations (pulsionsinternes, satisfactionpersonnelle, requêtesexternes, buts indivi<strong>du</strong>els etcollectifs, perceptions del’environnement, etc.),élaboration des tendances,décision destâches/activités à accomplirOrdonnancement destâches/activités, gestion desinterférences capteursEmission & réception desmessages, acquisition desmesures, actionnement,émission de signauxPro<strong>du</strong>ctifVégétatifNavigation, guidage,commande, traitementsinformatiques, commandedes équipementsApprovisionnementénergétique, surveillancefonctionnelle, sauvegardeTABLE 7.1 : Modèle d’architecture d’AUV : déclinaison des fonctions selon les couches
126 CHAPITRE 7. L’ARCHITECTURE REMORASModèle d’architecture d’AUVUne vision d’ensemble des trois couches de notre modèle d’architecture d’AUV est représentéeà la figure 7.5. Cette figure illustre la manière dont les systèmes fonctionnels sontrépartis au sein des couches et les différents liens entre les couches.CoucheSocialeDonnéesorganisationnellesSystèmereprésentationnelSystèmeorganisationnelCommunicationsEnvironnementSystèmedecommunicationDonnéesd’influenceOrganisationObjectifsCoucheConativeSystèmeorganisationnelSystèmemotivationnelSystèmeconatifTendancesProgressions DécisionsSystèmereprésentationnelSystèmedécisionnelSourcesmotivationnellesInformations d’autoreprésentationCoucheFonctionnelleDécisionsDonnéesfonctionnellesSystèmevégétatifSystèmereprésentationnelSystèmeorganisationnelSystèmeperceptifSystèmepro<strong>du</strong>ctifSystèmeexécutifPerceptionsEnvironnementActionsFIGURE 7.5 : Vue globale <strong>du</strong> modèle d’architecture
7.2. MODÈLE DE CONCEPTION D’ARCHITECTURE D’AUV EN TROIS COUCHES 127Liens entre couchesLes relations entre les couches <strong>du</strong> modèle, entre elles et avec l’environnement, sontdécrites par la suite :– Couche fonctionnelle - environnement : la couche fonctionnelle fait le lien entrel’architecture et l’environnement. C’est donc la seule à interagir avec l’environnement.Le système perceptif effectue les perceptions tandis que les systèmes pro<strong>du</strong>ctifet exécutif exécutent les actions sur l’environnement. Le système de communications’occupe de la transmission des messages de communication via l’environnement.– Couche conative - couche sociale : par nature, la couche conative a les informationsde l’AUV qui l’implémente. En fonction de l’identifiant de l’AUV, elle sélectionne dansla couche sociale les groupes et les rôles occupés par l’AUV et choisie les tâches (objectifs)à accomplir par l’AUV.La progression (niveau d’avancement) des tâches effectuées par l’AUV au sein de l’organisationest notifiée à la couche sociale. Les décisions prises par le système conatifsont aussi transmis à la couche sociale de façon à ce que le système organisationnelde cette dernière puisse réorganiser la flottille, planifier et allouer les tâches aux AUV.– Couche conative - couche fonctionnelle : la couche conative transmet les décisionsprises par le système décisionnel à la couche fonctionnelle. La couche fonctionnellepeut ainsi exécuter les activités choisies.Cette dernière transmet à la couche conative les informations nécessaires à l’autoreprésentationde l’AUV et les sources motivationnelles qui permettent d’alimenterle système conatif.– Système de communication - couches sociale, conative et fonctionnelle : le systèmede communication est en relation avec toutes les couches de notre modèle.Il se charge de recueillir et de transmettre les données organisationnelles à la couchesociale. Ces données concernent l’organisation de la flottille (information sur lesAUV, groupes, rôles, etc.) et les tâches effectuées par les AUV dans l’organisation.Le système de communication transmet à la couche conative les données d’influence,c’est à dire, les signaux et les requêtes en provenance d’autres AUV qui vontinfluencer le système motivationnel de l’AUV.Enfin, le système de communication transmet aux autres systèmes de la couchefonctionnelle les données qui concernent l’exécution des activités de l’AUV. Celapeut être des données de navigation, de guidage, de commande (par exemple dansle cadre d’approches de contrôle coordonnée d’AUV), etc.
128 CHAPITRE 7. L’ARCHITECTURE REMORAS7.2.5 Vers une implémentation <strong>du</strong> modèle : l’architecture REMORASNous avons défini un modèle d’architecture en trois couches dans lesquelles ont été intégréesles différentes fonctions que doit remplir un AUV au sein d’une organisation d’AUV.A présent, nous allons implémenter ce modèle et définir une architecture concrèted’AUV. Les détails de cette implémentation sont décris à travers les différentes couches deconception de l’architecture dans les sections 7.3, 7.4 et 7.5. L’architecture proposée s’appelleREMORAS. Elle est présentée dans son ensemble à la figure 7.6. La couche sociale decette architecture est décrite dans la section suivante.
7.2. MODÈLE DE CONCEPTION D’ARCHITECTURE D’AUV EN TROIS COUCHES 129CouchesocialeOrganisationsartificiellesDescriptionflottilleMissionsDonnéesorganisationnellesOrganisateurPlanificateurGroupesRôlesObjectifsindivi<strong>du</strong>elsObjectifscollectifsOrganisationSignauxd’influenceObjectifsCoucheconativeActivitéscoopérativesProgressionsDécisionsActivité 1CommunicationsEnvironnementCommunicationPlanificateurd’activitésActivitésActivité 2 Activité 3Activitésindivi<strong>du</strong>ellesActivité 1Activité 2 Activité 3TendancesMo<strong>du</strong>ledécisionnelIdentifiant,groupes, rôlesAutoreprésentationActivitésvitalesActivité 1Activité 2Activité 3Données d’autoreprésentationSurveillancefonctionnellePulsionsPerceptsCouchefonctionnelle(superviseurbasniveau)DécisionsDonnéesfonctionnellesPro<strong>du</strong>ction Navigation Guidage CommandeSauvegarde Mesures Energie ActionneursPerceptionsActionsPerceptionsEnvironnementActionsFIGURE 7.6 : Architecture REMORAS
130 CHAPITRE 7. L’ARCHITECTURE REMORAS7.3 La couche socialeLa couche sociale est une couche logicielle générique qui va donner à l’AUV la capacitéde se représenter, de modifier l’organisation de la flottille d’AUV et de répartir les tâchesaux AUV en fonction de leur place dans l’organisation. Cette couche est présentée à la figure7.7, elle est composée de neuf mo<strong>du</strong>les.CouchesocialeOrganisationsartificiellesDescriptionflottilleMissionsCouchefonctionnelleCommunicationDonnéesorganisationnellesOrganisateurPlanificateurGroupesRôlesObjectifsindivi<strong>du</strong>elsObjectifscollectifsOrganisationObjectifsCoucheconativeProgressionsDécisionsFIGURE 7.7 : Couche sociale de l’architecture REMORASNous verrons, tout au long des sous-sections 7.3.1, 7.3.2 et 7.3.3, comment la couchesociale fait le lien entre la position occupée par les AUV au sein de l’organisation d’AUV(groupes, rôles) et les tâches qui doivent être accomplies par la flottille. Nous commençonspar décrire, dans la sous-section suivante, la façon dont la couche gère l’organisation de laflottille.7.3.1 L’organisation de la flottilleLe modèle organisationnel AGR (Agent/Groupe/Rôle) a été choisi pour décrire et formerl’organisation de la flottille d’AUV (cf. chapitre 5). Cinq mo<strong>du</strong>les permettent d’implé-
7.3. LA COUCHE SOCIALE 131menter ce modèle : les mo<strong>du</strong>les Organisations artificielles, Description flottille, Organisateur,Groupes et Rôles. Ils sont encadrés en pointillés bleus à la figure 7.8.CouchesocialeOrganisationsartificiellesBasededonnéesAUVMissionsOrganisation flottilleCouchefonctionnelleSystèmedecommunicationDonnéesorganisationnellesGroupesOrganisateurRôlesExécutantCartographieurAilier gaucheObjectifsindivi<strong>du</strong>elsTacticienCoordinateurCartographieurMilieu de terrainPlanificateurdemissionset d’objectifsObjectifscollectifsGroupe de coordinationGroupe opérationnelAdministrateurde missionExécutantCartographieurAilier droitOrganisationObjectifsCoucheconativeProgressionsDécisionsFIGURE 7.8 : Mo<strong>du</strong>les pour l’organisation de la flottilleOrganisations artificiellesCe mo<strong>du</strong>le contient l’ensemble des organisations artificielles à disposition. Chaqueorganisation est caractérisée par des groupes, un ensemble de rôles qu’il est nécessaired’exercer au sein de chaque groupe et le graphe d’interaction entre rôles. Ces données sontutilisées par le mo<strong>du</strong>le "Organisateur" pour former une organisation concrète adaptée auxmissions que doit effectuer la flottille d’AUV. Les organisations artificielles peuvent être initialiséespar l’opérateur humain ou fournies dans les données organisationnelles reçues.Description flottilleCe mo<strong>du</strong>le contient les informations sur les AUV qui composent de la flottille. Un AUVest caractérisé au minimum par le doublé. id AUV est un identifiantunique, propre à chaque AUV de la flottille. Les rôles jouables rassemblent l’ensemble desrôles qui peuvent être exercés par l’AUV.
132 CHAPITRE 7. L’ARCHITECTURE REMORASD’autres types de données peuvent venir compléter les informations d’un AUV. Parexemple, les performances liées à l’exécution d’un rôle ou l’accomplissement d’une tâchepeuvent être décrites par l’intermédiaire de variables ou de fonctions. Ce type de donnéesest souvent utilisé par les méthodes récentes d’attribution de rôles [Liemhetcharat et Veloso,2011]. Les informations d’un AUV peuvent aussi contenir d’autres types de donnéestelles que le type de véhicule, ses caractéristiques physiques (dimensions, limites de vitesse,profondeur maximale, etc.), les capteurs et les actionneurs embarquées, etc. Si nécessaire,elles peuvent également inclure des données dynamiques telles que l’autonomie,le statut des capteurs, etc.Le mo<strong>du</strong>le peut être initialisé par l’opérateur humain ou être alimenté par les informationsfournies dans les données organisationnelles reçues.OrganisateurCe mo<strong>du</strong>le constitue l’organisation concrète de la flottille. Le mo<strong>du</strong>le interagit avec lemo<strong>du</strong>le "Planificateur" pour connaitre les tâches à effectuer par la flottille. Il sélectionneune organisation <strong>du</strong> mo<strong>du</strong>le "Organisation artificielle". Les groupes d’AUV sont finalementformés et les rôles réparties entre les AUV en fonction des ressources disponibles dans lemo<strong>du</strong>le "Description flottille" (nombre d’AUV, rôles pouvant être joués, performances apriori, caractéristiques, etc.).La constitution de l’organisation concrète de la flottille se fait par l’intermédiaire d’uneactivité (ou tâche élémentaire), dites d’organisation, sélectionnée par la couche conative.Au niveau <strong>du</strong> mo<strong>du</strong>le, aucune technique n’est privilégiée pour former les groupes et répartirles rôles aux AUV. La technique utilisée dépendra de l’activité exécutée par le mo<strong>du</strong>le.De cette façon, le mo<strong>du</strong>le "Organisateur" fournit essentiellement une interface à l’activitépour lui permettre d’être exécutée.Groupes et rôlesLe mo<strong>du</strong>le "Groupes" associe chaque groupe, noté Gr, à un ensemble d’identifiantd’AUV id AUV . Le mo<strong>du</strong>le "Rôle" associe chaque identifiant id AUV à un ensemble de rôle.Un rôle est défini par le couple pour spécifier le groupe dans lequel est exercé lerôle. Les groupes et les rôles peuvent être initialisés par l’opérateur humain, fournis dansles données organisationnelles reçues ou générés par le mo<strong>du</strong>le "Organisateur".
7.3. LA COUCHE SOCIALE 1337.3.2 Formalisme HTN pour la représentation et planification de tâchesMaintenant que les mo<strong>du</strong>les qui permettent à l’AUV de se représenter et de gérer l’organisationde la flottille ont été présentés, nous allons décrire la façon dont sont répartiesles tâches en fonction de la position occupée par les AUV au sein de l’organisation.Dans le chapitre 6, nous soulignions l’importance de bien répartir les tâches en fonctiondes capacités et des compétences des AUV. Cela permet de ré<strong>du</strong>ire considérablementles communications pendant les phases opérationnelles. Jusqu’à présent, nous faisionsl’hypothèse que les tâches étaient préalablement réparties entre les AUV. Désormais, lacouche sociale fournira un moyen de planifier et d’allouer les tâches aux AUV de la flottille.Pour cela, il faut d’abord définir un formalisme qui permet de décrire et de planifierles tâches. Nous choisissons d’utiliser le formalisme des réseaux de tâches hiérarchiques,appelés aussi HTN (Hierarchical Task Network).Description des conceptsUn HTN est un ensemble hiérarchique de tâches dans lequel des tâches de haut-niveausont décomposées en sous-tâches. Les HTN ont commencé à être développés il y a plus de35 ans avec les systèmes NOAH [Sacerdoti, 1975] et NONLIN [Tate, 1977]. Ils n’ont cependantété réellement formalisés qu’en 1994 avec les travaux de K. Erol, J. Hendler et D.S. Nau[Erol et al., 1994]. Le formalisme s’appuie sur trois concepts : (1) les tâches, (2) les méthodeset (3) les opérateurs.1. Les tâches constituent la résolution de parties <strong>du</strong> problème global. Deux types detâches se distinguent : les tâches abstraites et les tâches élémentaires. Les tâches abstraitesreprésentent les changements désirés <strong>du</strong> système (par exemple : rechercherune boîte noire). Elles peuvent composée d’autres tâches abstraites et impliquentdes tâches élémentaires. Les tâches élémentaires sont des tâches qui peuvent êtredirectement exécutées par l’AUV. Nous verrons que dans le cadre de notre architectureREMORAS, une tâche élémentaire correspond à une activité telle que l’avonsdéfinis dans la section 6.5.2. Les méthodes correspondent à la manière de réaliser une tâche abstraite. Une méthodeest attribuée à une tâche abstraite et décrit une suite ordonnée de sous-tâchesabstraites ou élémentaires à réaliser pour accomplir la tâche en question (cf. figure7.9). Il est possible de décrire plusieurs méthodes permettant de réaliser la mêmetâche. Ces méthodes permettent de décrire la base de connaissance disponible pourla planification. Une méthode possède des pré-conditions qui décrivent l’état <strong>du</strong>
134 CHAPITRE 7. L’ARCHITECTURE REMORASmonde nécessaire à sa réalisation. Ces pré-conditions permettent d’ajouter des restrictionsà l’utilisation de la méthode. La liste ordonnée de sous-tâches décrit par laméthode prend la forme d’un plan de tâches plus ou moins abstrait qui permet deguider la recherche de solution, en ré<strong>du</strong>isant l’espace de recherche.3. Les opérateurs décrivent les actions exécutées et leurs effets sur le système. Un opérateurconstitue la réalisation d’une tâche élémentaire. Ce concept sera défini plusprécisément dans les sections 7.4 et 7.5, lorsque nous décrirons les couches de l’architecturequi manipulent les tâches élémentaires.TâcheabstraiteTâcheabstraiteTâcheabstraiteMéthode Méthode Méthode1 Méthode2PréconditionPréconditionPréconditionPréconditionTâche1 Tâche2 Tâche3Tâche1Tâche2Tâche1Tâche2Tâchesséquentielles Tâchesparallèles Tâchesmulti-méthodeFIGURE 7.9 : Formalisme HTN : exemples de décomposition de tâchesFormalisme - tâchesDans notre architecture, une tâche T est définie de façon minimale par le quintuplé< E,Id,Dep,Ea,Cd> :– E est l’étiquette employée pour nommer la tâche– Id est l’identifiant unique de la tâche– Dep est l’ensemble des dépendances de la tâche par rapport aux autres tâches. Ondistingue trois formes de dépendance (notées type−dep) selon que la tâche doits’exécuter "avec" ou "après" une autre tâche, ou se termine à la "fin" d’une autretâche .– Ea est l’état d’activation de la tâche. Une tâche peut être caractérisée par cinq états(cf. figure 7.10) :– programmée. L’accomplissement de la tâche est alors prévue/planifiée.– activable. La tâche peut désormais être accomplie.– en cours. La tâche est en cours d’accomplissement.– abandonnée. La tâche ne pourra jamais être accomplie.– terminée. La tâche a été accomplie.
7.3. LA COUCHE SOCIALE 135– Cd correspond à un ensemble de conditions (expression booléenne) qui permet defaire passer la tâche d’un état à un autre. On distingue quatre types de condition (cf.figure 7.10) :– les conditions d’activation cond a– les conditions de déclenchement cond d– les conditions d’abandon cond ab– les conditions de fin cond fFIGURE 7.10 : Tâches : états d’activationFormalisme - méthodesUne méthode M est définie par le quintuplé où :– E est l’étiquette de la tâche abstraite à décomposer,– Ag est une liste d’arguments,– Pr est une liste de préconditions,– St est un ensemble de sous-tâches (élémentaires ou abstraites),– R est une relation d’ordre partiel entre les sous-tâches générées. Cette relation définiesi les tâches doivent être exécutées de façon séquentielle, parallèle, ou sans ordreparticulier.Un exemple de méthode pour la planification d’une tâche abstraite de cartographieest illustré par l’algorithme 1. Il s’agit en l’occurrence de cartographier une zone marquéepar des points de passage. Les arguments de la méthode sont caractérisés par des pointsd’interrogation. L’argument id AUV correspond à l’identifiant de l’AUV choisi pour effectuerla tâche de cartographie et pour lequel on va générer un plan de tâches. L’argument r est la
136 CHAPITRE 7. L’ARCHITECTURE REMORAS123456789101112131415161718(méthodeétiquette(cartographier-waypoint id AUV r c 1 c 2 c 3 c 4 )préconditions(and(eval (> énergie (∗ (distance (position id AUV ) c 1 c 2 c 3 c 4 ) consom. ))(rôle-jouable id AUV "cartographieur")(eval (>= (résolution-capteur "sonar") r )))sous-tâches(séquentielle(aller id AUV c 1 )(parallèle(acquisition-sonar id AUV )(séquentielle(aller id AUV c 2 )(aller id AUV c 3 )(aller id AUV c 4 )))(aller-surface)))Algorithme 1 : Exemple de méthode pour la planification d’une tâche de cartographierésolution minimale désirée pour l’acquisition des mesures de cartographie tandis que c 1 ,c 2 , c 3 et c 4 sont les coordonnées des points de passage.Une tâche de cartographie peut être planifiée et décomposée pour un AUV id AUV si troispréconditions sont respectées : (1) l’AUV doit avoir suffisamment d’énergie pour pouvoirpasser par tous les points de passage, (2) l’AUV doit être capable de jouer le rôle de cartographieuret (3) la résolution <strong>du</strong> sonar de l’AUV doit être supérieure ou égale à la résolutiond’acquisition désirée.La tâche est décomposée en plusieurs sous-tâches séquentielles et parallèles. La premièresous-tâche consiste à se diriger vers le premier point de passage c 1 . L’AUV doit ensuiteeffectuer plusieurs sous-tâches en parallèle : il doit réaliser des acquisitions sonar enpassant par les points de passage de c 1 à c 4 . Enfin, l’AUV doit remonter à la surface.PlanificationUne demande de planification HTN se fait par une demande de réalisation d’une tâcheabstraite. Utilisés de façon classique pour résoudre des problèmes de planification, lesHTN emploient les concepts de tâches et de méthodes pour générer un plan de tâches
7.3. LA COUCHE SOCIALE 137correspondant à la manière de réaliser la tâche à accomplir. Le processus de planificationconsiste à décomposer la tâche par l’intermédiaire des différentes méthodes proposées.Une ou plusieurs méthodes sont associées à chacune des tâches abstraites et décrivent lafaçon d’en atteindre les buts, en utilisant d’autres tâches (abstraites ou élémentaires).En reprenant la définition donnée par K. Erol, J. Hendler et D.S. Nau [Erol et al., 1994][Erol et al., 1994], un domaine de planification est un couple D = (Op,Me) où Op est unensemble d’opérateurs et Me un ensemble de méthodes. Un problème de planification estun triplet P = (d,I,D), où D est un domaine de planification, I l’état initial, et d le réseaude tâches pour lequel on souhaite obtenir un plan. Le processus de décomposition génèreun arbre "et/ou" dont l’élagage est guidé par les préconditions associées aux méthodes.Les nœuds de type "ou" représentent le choix entre les différentes méthodes permettantde réaliser une même tâche alors que les nœuds de type "et" représentent une successionde tâches associées à une méthode. La planification consiste à explorer ce graphe en recherchantune suite de tâches de telle manière que l’arbre de tâches généré ait pour racinela tâche abstraite à planifier et pour feuilles des tâches élémentaires.Intérêts de la planification HTNLa planification HTN intro<strong>du</strong>it une connaissance experte dans le système tout en laissantune certaine latitude dans les choix, par l’intermédiaire de la description de plusieursméthodes permettant de réaliser une même tâche. La réalisation d’une tâche peut ainsiêtre décrite et contrôlée finement par l’opérateur humain. La structure hiérarchique destâches <strong>du</strong> formalisme HTN est aussi une représentation intuitive pour l’opérateur.L’utilisation de méthodes comme mécanisme de décomposition/génération de tâchespermet, en outre, des planifications aussi bien numériques que symboliques. Ceci offreune grande liberté quant aux techniques de planification qui peuvent être envisagées.Planificateurs existantsDe nombreux planificateurs ont été développés cette dernière décennie en utilisant ceformalisme. Par exemple, SHOP (Simple Hierarchical Ordered Planner) [Nau et al., 1999]et son successeur SHOP2 [Nau et al., 2003] sont des algorithmes de planification HTN indépendants<strong>du</strong> domaine d’application. Ces algorithmes ont pour particularité de planifierles tâches dans l’ordre où elles seront exécutées plus tard. A chaque étape <strong>du</strong> processus deplanification, le planificateur a connaissance de l’intégralité de l’état <strong>du</strong> système.Le planificateur A-SHOP [Dix et al., 2003] a été conçu pour faire face aux contextes
138 CHAPITRE 7. L’ARCHITECTURE REMORASmulti-agents. Au sein d’une communauté d’agents hétérogènes, un agent "planificateur"génère un plan de tâches sans connaître la totalité de l’état <strong>du</strong> système. Pour la vérificationdes préconditions associées aux méthodes, l’algorithme de planification envoie desrequêtes aux autres agents selon leurs spécialisations, pour déterminer si les préconditionssont valides.7.3.3 Répartition des tâches dans l’organisationMaintenant que nous disposons d’un formalisme pour décrire et planifier les tâches,nous allons voir comment la couche sociale peut utiliser ce formalisme pour répartir lestâches au sein de l’organisation d’AUV.Le formalisme HTN permet de caractériser différents niveaux de tâches. Cette spécificitéest utilisée pour définir deux niveaux de tâches : les missions et les objectifs. Afin depermettre de répartir ces tâches par rapport à la position occupée par les AUV dans l’organisation,ces deux types de tâches sont associés à des concepts organisationnels <strong>du</strong> modèleAGR. Les missions sont attribuées à des groupes d’AUV tandis que les objectifs sont allouésaux AUV, soit directement via leur identifiant, soit à travers les rôles qu’ils jouent dans l’organisation.Dans la couche sociale, quatre mo<strong>du</strong>les permettent à l’AUV de se représenter, de planifieret de répartir les tâches. Il s’agit des mo<strong>du</strong>les Missions, Planificateur, Objectifs indivi<strong>du</strong>elset Objectifs collectifs. Ils sont encadrés en pointillés orange à la figure 7.11.MissionsCe mo<strong>du</strong>le associe chaque groupe de l’organisation concrète à un ensemble de missions.Une mission est une tâche abstraite dans le formalisme HTN. Elle correspond auplus haut niveau d’abstraction des tâches manipulées par l’architecture. Une mission Miest une tâche T définie par le sextuplé où Gr est le groupe d’AUV quidoit accomplir la mission. Les missions peuvent être initialisées par l’opérateur humain,fournies dans les données organisationnelles reçues ou générées par le mo<strong>du</strong>le "Planificateur".
7.3. LA COUCHE SOCIALE 139CouchesocialeOrganisationsartificiellesRépartition des tâches dans l'organisationBasededonnéesAUVMissionsObjectifAUV-00Missiongroupe1PréconditionMissiongroupe2CouchefonctionnelleCommunicationMissiongroupe2 DonnéesorganisationnellesPréconditionPréconditionMissiongroupe3Méthode Méthode Méthode1 Méthode2Missiongroupe3ObjectifrôleR1ObjectifrôleR2ObjectifAUV-01OrganisateurTâchesséquentielles Tâchesparallèles Tâchesmulti-méthodePréconditionObjectifrôleR3PlanificateurGroupesRôlesObjectifsindivi<strong>du</strong>elsObjectifscollectifsOrganisationObjectifsCoucheconativeProgressionsDécisionsFIGURE 7.11 : Mo<strong>du</strong>les pour la répartition des tâches dans l’organisation d’AUVPlanificateurA partir des missions fournies par le mo<strong>du</strong>le "Missions", le mo<strong>du</strong>le génère et répartit lesobjectifs aux AUV et de nouvelles missions pour les groupes. Un objectif décrit une tâcheabstraite dans le formalisme HTN. Il correspond à une tâche à accomplir par un AUV.La génération et l’allocation des missions et d’objectifs sont effectuées par l’intermédiaired’une activité (tâche élémentaire), dites de planification. Celle-ci provient de lacouche conative et est déclenchée par le mo<strong>du</strong>le. L’activité a accès à l’interface <strong>du</strong> mo<strong>du</strong>lece qui lui permet d’accéder aux données des mo<strong>du</strong>les "Description flottille", "Missions","Objectifs indivi<strong>du</strong>els" et "Objectifs collectifs" et d’interagir avec le mo<strong>du</strong>le "Organisateur".L’activité de planification dispose de ses propres méthodes pour décomposer les missions.Elle génère des objectifs et de nouvelles missions en fonction des ressources disponiblesdans le mo<strong>du</strong>le "Description flottille" et de l’organisation concrète établie parle mo<strong>du</strong>le "Organisateur". Les nouvelles missions sont associées à des groupes d’AUV etsont ajoutées au mo<strong>du</strong>le "Missions". Le mo<strong>du</strong>le "Planificateur" peut générer deux typesd’objectifs : les objectifs indivi<strong>du</strong>els et les objectifs collectifs. Les objectifs indivi<strong>du</strong>els sontalloués directement aux AUV par l’intermédiaire de leur identifiant dans le mo<strong>du</strong>le "Objectifsindivi<strong>du</strong>els". Les objectifs collectifs sont attribués à des rôles exercés par les AUV ausein de l’organisation dans le mo<strong>du</strong>le "Objectifs collectifs".
140 CHAPITRE 7. L’ARCHITECTURE REMORASObjectifs indivi<strong>du</strong>elsCe mo<strong>du</strong>le associe chaque identifiant d’AUV à un ensemble d’objectifs indivi<strong>du</strong>els. Celacorrespond au mode classique d’allocation de tâches. Les AUV se voient directement attribuésdes tâches qu’ils doivent interpréter et accomplir. Ces tâches sont spécifiques à unAUV et ne sont liées à aucun rôle de l’organisation. Un objectif indivi<strong>du</strong>el Oi est définipar le sextuplé où id AUV est l’identifiant de l’AUV qui doit accomplirl’objectif. Les objectifs indivi<strong>du</strong>els correspondent généralement à des tâches qui nenécessitent pas d’interaction avec d’autres AUV. Dans le mo<strong>du</strong>le, les objectifs indivi<strong>du</strong>elspeuvent être initialisés par l’opérateur humain, fournis dans les données organisationnellesreçus ou générés par le mo<strong>du</strong>le "Planificateur".Objectifs collectifsCe mo<strong>du</strong>le associe chaque rôle de l’organisation concrète à un ensemble d’objectifscollectifs. De cette façon, les AUV qui jouent un rôle au sein de l’organisation se voient attribuerdes tâches qu’ils doivent interpréter et accomplir. Un objectif collectif Oc est définipar le sextuplé. Ro caractérise le rôle exercé au sein <strong>du</strong> groupe Gr.Contrairement aux objectifs indivi<strong>du</strong>els, les objectifs collectifs sont réservés à des tâchesqui nécessitent des interactions avec les autres AUV de la flottille. Dans le mo<strong>du</strong>le, les objectifscollectifs peuvent être initialisés par l’opérateur humain, fournis dans les donnéesorganisationnelles reçus ou générés par le mo<strong>du</strong>le "Planificateur".7.3.4 Fonctionnement et implémentationA présent que les neufs mo<strong>du</strong>les de la couche sociale ont été décrits, nous allons présenterle fonctionnement général de cette couche et détailler certains aspects de son implémentation.TâchesDans la sous-section 7.3.2, nous avons vu que l’état d’activation Ea des tâches étaitmis à jour par la validation ou non des conditions cond a , cond d , cond f et cond ab . Pourchaque tâche, ces conditions vont dépendre non-seulement des tâches dont elle dépendDep mais également d’autres conditions spécifiques à la tâche. Ces conditions spécifiques,notés c a , c d , c f et c ab , sont respectivement pris en compte dans les conditions cond a ,cond d , cond f et cond ab .
7.3. LA COUCHE SOCIALE 141Chaque tâche mémorise l’état d’activation des tâches dont elle dépend . Lors de leur génération, les liens de dépendances sont établis entreles tâches de façon à ce que chaque tâche puisse notifier les changements de son étatd’activation à celles qui dépendent d’elle (cf. figure 7.12).notification :tâche 1 - terminéeDeptype-dep Id Eaaprès tâche 1 en coursterminéeaprèstâche 1 tâche 2FIGURE 7.12 : Notification d’un changement d’état d’activation entre tâches dépendantesA la mise à jour de l’état d’activation d’une tâche de dépendance ou à celle d’une conditionspécifique, la tâche vérifie ses conditions Cd et fait évoluer son propre état d’activation(cf. figure 7.10). Les conditions de passage d’un état à l’autre sont vérifiées de la façonsuivante :– Condition d’activation :Si (c a == vrai)∧(∀i∈A dep−après ,Ea i == "terminée")∧(∀k∈A dep−avec ,(Ea k !="terminée")∧(Ea k !="abandonnée"))Alors cond a = vraiSinon cond a = faux(7.1)– Condition de déclenchement :Si (c d == vrai)∧(∀k∈A dep−avec ,(Ea k == "activable")∨(Ea k == "en cours"))Alors cond d = vraiSinon cond d = faux(7.2)– Condition de fin :Si (c f == vrai)∨(∃k∈A dep−end ,Ea k == "terminée")Alors cond f = vraiSinon cond f = faux(7.3)
142 CHAPITRE 7. L’ARCHITECTURE REMORAS– Condition d’abandon :Si (c ab == vrai)∨(∀i∈A dep−après ,Ea i == "abandonnée")∨(∀k∈A dep−avec ,Ea k == "abandonnée")Alors cond ab = vraiSinon cond ab = faux(7.4)Mo<strong>du</strong>les de bases de donnéesMis à part les mo<strong>du</strong>les "Organisateur" et "Planificateur", les autres mo<strong>du</strong>les de lacouche sociale sont des maps d’association, qui stockent des informations. Pour chaquemo<strong>du</strong>le, des clés sont associées à des objets "mots_clés-objets" ou des ensembles d’objets"mots_clés-ensembles_objets". Il est ainsi facile d’accéder aux informations stockées.Les maps d’association peuvent être mises à jour par les activités d’organisation et deplanification. De surcroît, les états d’activation des tâches qu’elles contiennent sont misesà jour de la manière asynchrone comme nous venons de le décrire.Les maps d’association peuvent aussi être mises à jour de manière asynchrone à partirdes données organisationnelles reçues. Ces données sont transmises par la couchefonctionnelle. Elles ciblent un mo<strong>du</strong>le particulier et peuvent contenir un mot clé associéà un objet "mot_clé-objet" ou un mot clé associé à un ensemble d’objet "mot_cléensemble_objet".CouchefonctionnelleCommunicationDonnéesorganisationnellesDonnée organisationnelle :Objectifsindivi<strong>du</strong>elsCouchesocialeNotification :Objectifs indivi<strong>du</strong>elsmis à jouridAUV-01CoucheconativeOiFIGURE 7.13 : Mise à jour d’un objectif indivi<strong>du</strong>el après réception de données organisationnellesLa couche sociale s’occupe de transmettre les données aux mo<strong>du</strong>les adéquats. Selon siles données sont déjà présentes ou pas dans le mo<strong>du</strong>le, celles-ci sont mises à jour ou ajoutées,de manière asynchrone (cf. exemple figure 7.13). Ainsi, les AUV peuvent se partagerdes informations concernant leurs caractéristiques, l’organisation ou les tâches effectuées
7.3. LA COUCHE SOCIALE 143par la flottille. Lorsqu’un mo<strong>du</strong>le est modifié, la mise à jour est notifiée à la couche conative.Celle-ci peut alors prendre en compte les modifications apportées.Mo<strong>du</strong>les d’exécution d’activitéLa couche conative fournit la décision prise par l’AUV. Comme nous le verrons dans lasection suivante, cette décision contient un ensemble d’activité que l’AUV doit exécuter.En l’occurrence, deux formes d’activités peuvent être exécutées par la couche sociale : lesactivités d’organisation et de planification. La couche transmet ces activités à leurs mo<strong>du</strong>lescorrespondants, afin d’y être exécutées.C’est la couche sociale qui se charge d’ordonnancer l’exécution des activités des mo<strong>du</strong>les.Pour contrôler leur ordre d’exécution, les mo<strong>du</strong>les sont exécutés de manière synchrone.Dans notre cas, ceci est réalisé de façon très simple. A chaque cycle de période T csles mo<strong>du</strong>les "Organisateur" et "Planificateur" sont exécutés dans cet ordre. A noter que lesmaps d’association des mo<strong>du</strong>les de bases de données sont consultés et mis à jour au coursde l’exécution des activités.7.3.5 Propriétés de la couche socialeCette couche, conçue pour permettre la coopération d’AUV d’architectures matériellestrès hétérogènes dans des contextes de missions très différents, possède quatre propriétés: (1) son indépendance par rapport à l’AUV qui l’implémente, (2) sa mo<strong>du</strong>larité, (3) lasimplicité de son interface et (4) l’hétérogénéité des tâches manipulées.IndépendanceHormis l’ordinateur de bord, le fonctionnement des mo<strong>du</strong>les de la couche sociale nenécessite aucun matériel particulier de l’AUV : c’est une couche logicielle. Elle ne fait aucunehypothèse sur les mécanismes de sélection de tâches de l’AUV. Elle en est mêmecomplètement dissociée. Cela la rend très indépendante de l’AUV qui l’implémente. Cettecouche peut ainsi être considérée comme un mo<strong>du</strong>le logiciel additionnel qui fournit àl’AUV un moyen pour se représenter, modifier l’organisation de la flottille et pour répartirles tâches au sein de cette organisation.
144 CHAPITRE 7. L’ARCHITECTURE REMORASMo<strong>du</strong>laritéLa couche sociale est composée de plusieurs mo<strong>du</strong>les. Un AUV n’a pas besoin d’implémentertous les mo<strong>du</strong>les. Il peut n’en implémenter que certains, en fonction de ses capacitéscognitives et de sa position occupée dans l’organisation.Par exemple, si un AUV n’a pas vocation à modifier l’organisation et la répartition destâches de la flottille ou qu’il n’en a pas la capacité (manque de puissance de calcul, de mémoire,etc.), il peut simplement implémenter les mo<strong>du</strong>les "Groupes", "Rôles", "Objectifsindivi<strong>du</strong>els" et "Objectifs collectifs" pour avoir une représentation de sa place au sein del’organisation et des tâches qui y sont associées.Simplicité de l’interfaceL’interface de cette couche est assez simple, en particulier pour les AUV qui souhaitentuniquement se faire une représentation de l’organisation et des tâches exécutées par laflottille. Cette couche peut répondre à des requêtes concernant les mo<strong>du</strong>les "Organisationartificielle", "Description flottille", "Groupes", "Rôles", "Missions", "Objectifs indivi<strong>du</strong>els"et "Objectifs collectifs". Ces mo<strong>du</strong>les étant des maps d’association "mots_clés-objets" ou"mots_clés-ensemble_objets", les requêtes les plus courantes concernent la recherche del’ensemble d’objets correspondant à un mot clé <strong>du</strong> mo<strong>du</strong>le (par exemple la recherche del’ensemble des identifiants d’AUV appartenant au groupe "G1"). La couche renvoie alorsl’ensemble des objets associés au mot clé demandé.Pour les AUV qui souhaitent modifier l’organisation concrète et répartir les missions etles objectifs au sein de l’organisation, la couche sociale peut recevoir deux types d’activitéà exécuter : les activités organisationnelles et les activités de planification. Ces activitésdoivent avoir la même interface que les mo<strong>du</strong>les "Organisateur" et "Planificateur" danslesquels elles seront respectivement exécutées.Enfin, la couche sociale peut recevoir des données organisationnelles pour mettre àjour les maps d’association des mo<strong>du</strong>les de représentation de l’organisation et des tâchesà accomplir par la flottille. Ces données concernent un mo<strong>du</strong>le particulier et sont de laforme "mots_clés-ensemble_objets" ou "mots_clés-ensemble_objets".Hétérogénéité des tâchesLa couche sociale ne fait aucune hypothèse sur la nature des tâches manipulées. Seulleur formalisme est spécifié. Des tâches très hétérogènes peuvent ainsi être distribuées et
7.3. LA COUCHE SOCIALE 145exécutées par la flottille d’AUV. De plus, la couche ne fait aucun a priori sur la façon dontles tâches doivent être exécutées. Les objectifs et les missions caractérisent seulement desbuts à accomplir pour les AUV ou les groupes d’AUV. Le formalisme HTN permet, en outre,une représentation et une planification des tâches à la fois symbolique et numérique. Cecioffre une grande liberté pour la décomposition des tâches.7.3.6 Conséquences pour son implémentation et son utilisationLes différentes propriétés que nous venons de décrire procurent à la couche socialedeux avantages majeurs : (1) sa facilité d’implémentation dans des véhicules hétérogèneset (2) sa grande souplesse d’utilisation pour faire face à une grande variété de missions etde stratégies de coopération.Facilité d’implémentation dans des AUV hétérogènesD’une part, la couche sociale est exclusivement logicielle et ne fait aucun a priori surla façon dont les objectifs doivent être exécutés par les AUV. Elle peut donc être facilementimplémentée dans des robots d’architectures matérielles très différentes. De plus,les AUV aux capacités cognitives limitées (calcul, mémoire, etc.) peuvent n’implémenterque les mo<strong>du</strong>les qui leur sont indispensables, voire aucun. Ceci élargie d’autant plus lestypes d’AUV capables d’implémenter cette couche.D’autre part, la couche ne fait aucune hypothèse sur le mécanisme de sélection detâches employé par l’AUV et en est complètement dissociée. Elle possède une interfaceassez simple et peut donc facilement être intégrée dans des architectures AUV existantes.Elle offre une grande liberté quant à la nature des tâches qui peuvent être considérées cequi permet d’allouer des tâches très différentes aux AUV, en fonction des spécificités deleur architecture logicielle.Souplesse d’utilisation pour des missions et des stratégies de coopération variéesLa couche sociale peut manipuler des tâches très hétérogènes et offre ainsi une grandesouplesse pour accomplir les missions. De plus, les méthodes qui sont utilisées pour la décompositionde tâches HTN laissent de nombreuses libertés sur les moyens de répartir lestâches au sein de la flottille. Par exemple, il est possible de décomposer directement lestâches via les connaissances de l’AUV, ou indirectement, par l’intermédiaire de requêtesfaites à d’autres AUV pour évaluer les préconditions associées aux méthodes. Ceci offre
146 CHAPITRE 7. L’ARCHITECTURE REMORASde nombreuses possibilités quant aux techniques ou aux stratégies de coopération quipeuvent être employées.La stratégie de partage de données organisationnelles et de tâches entre les AUV estégalement libre. Les informations peuvent être partagées par tous les AUV de la flottillepour promouvoir la robustesse contre les pannes. Chaque AUV a alors connaissance desgroupes, des rôles et des tâches effectuées par les autres. Inversement, les informationspeuvent être réparties entre les AUV pour ré<strong>du</strong>ire les communications. Chaque AUV a alorsuniquement connaissance des rôles qu’il exerce au sein de l’organisation et des objectifsqu’il a à accomplir.7.3.7 SynthèseDans le cadre de notre approche de coopération réactive organisationnelle, cettecouche permet de décrire et de constituer l’organisation concrète de flottilles d’AUV etde répartir les tâches entre les AUV en fonction de leur position au sein de l’organisation.Pour cela, différents concepts <strong>du</strong> modèle AGR (groupes, rôles et identifiants) ont été associésà différents types de tâches (respectivement les missions, les objectifs collectifs etindivi<strong>du</strong>els). Les tâches sont décrites selon le formalisme HTN. Ceci permet de décomposerles missions de chaque groupe d’AUV en différents objectifs qui sont ensuite allouésaux AUV via leur rôle ou leur identifiant.La couche sociale peut très bien mettre en œuvre diverses approches de coopération.Elle peut facilement être implémentée dans des AUV d’architectures matérielles très hétérogèneset la simplicité de son interface lui permet d’être intégré facilement dans desarchitectures logicielles existantes.7.4 La couche conativeSelon les dimensions conceptuelles d’un agent (cf. sous-section 7.1.2), la couche conativede l’architecture traite la problématique de coordination de flottille selon la dimensionpersonnelle de l’AUV. L’organisation concrète étant préalablement formée dans la couchesociale de l’architecture, c’est dans cette couche que va être implémenté l’approche de coopérationréactive organisationnelle que nous avons proposée au chapitre 6.Dans le chapitre précédent, nous considérions que les activités exécutées par un AUVétaient préprogrammées. Dans la sous-section 7.4.1, nous verrons comment l’AUV gèreson auto-représentation et comment il peut générer ses propres activités pour accom-
7.4. LA COUCHE CONATIVE 147plir les objectifs qui lui sont alloués dans la couche sociale. Comme son nom l’indique, lacouche remplie principalement la fonction conative de l’AUV. L’implémentation de l’approchede coopération est détaillée à travers les systèmes motivationnel et décisionneldans les sous-sections 7.4.2 et 7.4.3. Enfin, la synthèse de la couche est présentée à la soussection7.4.4.La couche conative est illustrée à la figure 7.14. Elle est composée de six mo<strong>du</strong>les : Autoreprésentation,Planificateur d’activités, Activités collectives, Activités indivi<strong>du</strong>elles, Activitévitales et Mo<strong>du</strong>le décisionnel.OrganisationObjectifsCouchesocialeProgressionsDécisionsSignauxd’influenceCoucheconativeActivitéscoopérativesActivité 1CouchefonctionnelleCommunicationPlanificateurd’activitéActivitésActivité 2 Activité 3Activitésindivi<strong>du</strong>ellesActivité 1Activité 2 Activité 3TendancesMo<strong>du</strong>ledécisionnelActivitésvitalesIdentifiant,groupes,rôlesAutoreprésentationActivité 1Activité 2 Activité 3Données d’autoreprésentationPulsionsPerceptsCouchefonctionnelleDécisionsFIGURE 7.14 : Couche conative de l’architecture REMORAS7.4.1 Auto-représentation et planification d’activitésL’organisation concrète et les objectifs à accomplir sont accessibles dans la couche sociale.Deux mo<strong>du</strong>les procurent à l’AUV la capacité de s’auto-représenter et de générer sespropres activités pour atteindre les objectifs qu’il doit accomplir au sein de l’organisation.Il s’agit des mo<strong>du</strong>les "Auto-représentation" et "Planificateur d’activités".
148 CHAPITRE 7. L’ARCHITECTURE REMORASAuto-représentationLe mo<strong>du</strong>le "Auto-représentation" recueille l’ensemble des informations quiconcernent l’AUV telles que son identifiant, ses caractéristiques (longueur, vitesse minimale,vitesse de croisière, vitesse maximale, profondeur maximale, autonomie, distancede sécurité), les informations sur ses capteurs, sa place au sein de l’organisation, etc.A noter que ces informations peuvent être partagées avec les autres AUV de la flottille etpeuvent servir comme données de base pour le mo<strong>du</strong>le "Description flottille" de la couchesociale.L’identifiant de l’AUV est utilisé pour déterminer la position de l’AUV dans l’organisation(ses groupes et ses rôles) à partir des données organisationnelles disponibles dans lacouche sociale. A chaque mise à jour de l’organisation concrète dans la couche sociale, lesgroupes et les rôles occupés par l’AUV sont également mis à jour dans le mo<strong>du</strong>le. A noterque l’identifiant, les groupes et les rôles de l’AUV sont transmis au système de communicationde la couche fonctionnelle pour identifier les messages adressés à l’AUV.Planificateur d’activitésL’identifiant et les rôles occupés par l’AUV (déterminés par le mo<strong>du</strong>le "Autoreprésentation")sont utilisés par le "Planificateur d’activités" pour sélectionner, dansla couche sociale, les objectifs indivi<strong>du</strong>els et collectifs à accomplir.Le mo<strong>du</strong>le est un planificateur HTN. A l’instar <strong>du</strong> "Planificateur" de missions et d’objectifs,des méthodes sont utilisées pour décomposer les objectifs en tâches élémentairesque nous avons appelées activités dans notre approche de coopération. L’ensemble desméthodes est néanmoins directement disponibles au sein <strong>du</strong> mo<strong>du</strong>le et les activités automatiquementplanifiées pour chaque nouvel objectif que l’AUV doit accomplir. Nous verronspar la suite que deux types d’activités peuvent être planifiés : les activités coopératives,qui sont uniquement le fruit de la décomposition d’objectifs collectifs, et les activitésindivi<strong>du</strong>elles qui sont générées à partir d’objectifs aussi bien indivi<strong>du</strong>els que collectifs.Détails de fonctionnementLa couche conative peut recevoir des notifications concernant la mise à jour des mo<strong>du</strong>les"Groupes", "Rôles", "Objectifs indivi<strong>du</strong>els" et "Objectifs collectifs" de la couche sociale.L’algorithme 2 décrit la façon dont ces mises à jour sont traitées par la couche.Quatre formes de notification sont prises en compte :
7.4. LA COUCHE CONATIVE 1491234567891011121314151617181920Entrées : notificationsuivant notification fairecas où Groupes mis à jourgroupesAuv ← coucheSociale.retournerGroupes(id AUV ) ;si groupesAuv != informationAUV.groupes alorsinformationAUV.misAJourGroupes(groupesAuv);fincas où Rôles mis à jourrolesAuv ← coucheSociale.retournerRoles(id AUV ) ;si rolesAuv ! = informationAUV.roles alorsinformationAUV.misAJourRoles(rolesAuv);objectifsCollectifs ← coucheSociale.objectifsCollectifs(rolesAuv) ;planificateurActivite.MAJObjectifsCollectifs(objectifsCollectifs);fincas où Objectifs indivi<strong>du</strong>els mis à jourobjectifsIndivi<strong>du</strong>els ← coucheSociale.objectifsIndivi<strong>du</strong>els(id AUV ) ;planificateurActivite.MAJObjectifsIndivi<strong>du</strong>els(objectifsIndivi<strong>du</strong>els);cas où Objectifs collectifs mis à jourobjectifsCollectifs ← coucheSociale.objectifsCollectifs(roles) ;planificateurActivite.MAJObjectifsCollectifs(objectifsCollectifs);finAlgorithme 2 : Mis à jour des groupes, des rôles et des objectifs de l’AUV– notification - Groupes mis à jour (ligne 2 à 6) : dans le cas où la notification concerneune mise à jour des groupes, les groupes correspondants à l’identifiant de l’AUV sontrécupérés dans la couche sociale. Dans le cas où les groupes auxquels appartientl’AUV ont été modifiés, ils sont mis à jour dans le mo<strong>du</strong>le "Auto-représentation" et,par suite, dans la couche fonctionnelle.– notification - Rôles mis à jour (ligne 7 à 13) : dans le cas où la notification concerneune mise à jour des rôles, ceux qui sont alloués à l’identifiant de l’AUV sont récupérésdans la couche sociale. Dans le cas où les rôles joués par l’AUV ont été modifiés, ilssont mis à jour dans le mo<strong>du</strong>le "Auto-représentation" et, par suite, dans la couchefonctionnelle. Les objectifs collectifs qui sont attribués aux nouveaux rôles de l’AUVsont récupérés et de nouvelles activités indivi<strong>du</strong>elles et collectives sont planifiées.Les activités qui avaient été générées par des objectifs que l’AUV n’a plus à accomplirsont annulées.– notification - Objectifs indivi<strong>du</strong>els mis à jour (ligne 14 à 16) : dans le cas où la notificationconcerne une mise à jour des objectifs indivi<strong>du</strong>els, ceux qui sont alloués àl’identifiant de l’AUV sont récupérés dans la couche sociale. Les nouveaux objectifs
150 CHAPITRE 7. L’ARCHITECTURE REMORASsont planifiés et de nouvelles activités indivi<strong>du</strong>elles sont générées. Les activités quiavaient été générées par des objectifs que l’AUV n’a plus à accomplir sont annulées.– notification - Objectifs collectifs mis à jour (ligne 17 à 19) : dans le cas où la notificationconcerne une mise à jour des objectifs collectifs, ceux qui sont attribués auxrôles joués par l’AUV sont récupérés. Les nouveaux objectifs sont planifiés et de nouvellesactivités indivi<strong>du</strong>elles et collectives sont générées. Les activités qui avaient étégénérées par des objectifs que l’AUV n’a plus à accomplir sont annulées.7.4.2 Système motivationnelAprès avoir étudier la manière dont l’AUV peut planifier ses activités et accomplir lesobjectifs qui lui ont été attribués au sein de l’organisation concrète établie, nous allons détaillerl’implémentation de l’approche de coopération réactive organisationnelle à traversle système conatif de l’architecture. Celui-ci est constitué de deux sous-systèmes : le systèmemotivationnel, étudié ici, qui se charge de l’élaboration de la tendance des activités,et le système décisionnel qui évalue ces tendances et décide des activités à exécuter. Cedernier sera détaillé à la sous-section 7.4.3.MotivationsIl existe un grand nombre de motivations qui peuvent pousser un AUV à agir. Celles-cisont classées en quatre catégories dans [Ferber, 1995] :– Les motivations personnelles tendent (1) à la satisfaction des besoins de l’AUV ou (2)à l’exécution des engagements qu’il s’est donné à lui-même. Les premières, appeléespulsions, sont des stimuli internes pro<strong>du</strong>its par le système végétatif dont l’AUV nepeut se soustraire. Les deuxièmes, appelées motivations personnelles contractuelles,permettent la persistance des activités dans lesquelles l’AUV est engagé.– Les motivations environnementales sont issues de perceptions de l’AUV. Dans notrecas, pour des agents réactifs, on parle de percepts qui sont générés par des stimuliextérieurs.– Les motivations sociales ont trait aux demandes exprimées par l’organisation.– Les motivations relationnelles dépendent des tendances des autres agents. Dansnotre approche de coopération, ce sont les signaux d’influence provenant des autresAUV de l’organisation.Ces motivations ne sont pas prises en compte de la même manière selon les activités.Ceci nous amène à déterminer trois formes d’activité : les activités vitales, les activités in-
7.4. LA COUCHE CONATIVE 151divi<strong>du</strong>elles et les activités coopératives. Elles sont regroupées dans trois mo<strong>du</strong>les différentsde la couche conative.Activités vitalesLes activités vitales sont des comportements prédéfinis/préprogrammés dès laconception de l’AUV. Elles effectuent les fonctions vitales de l’AUV et assurent son intégrité.Elles sont indépendantes des objectifs que l’AUV doit atteindre et des signauxd’influence émis par les autres AUV.Comme illustré à la figure 7.15, ces activités considèrent uniquement des motivationsenvironnementales et personnelles. Les pulsions internes et les percepts provenant de lacouche fonctionnelle de l’architecture sont pris en compte dans l’évaluation <strong>du</strong> désir d’accomplissementde l’activité et dans celle de la satisfaction personnelle lorsque l’activité estsélectionnée et exécutée.pulsionsperceptsffdésir d'accomplissementsatisfactionpersonnelle+tendanceFIGURE 7.15 : Motivations prises en compte par une activité vitaleL’activité vitale est une tâche élémentaire dans le formalisme HTN définie par . Les cinq premiers termes correspondent au formalisme detâche défini à la sous-section 7.3.2. L’opérateur Op décrit les actions à effectuer pendantl’exécution de l’activité. Les termes T, D a et P caractérisent respectivement la tendance, ledésir d’accomplissement et la satisfaction personnelle de l’activité.Activités indivi<strong>du</strong>ellesLes activités indivi<strong>du</strong>elles concernent les activités effectuées dans le cadre d’objectifs àaccomplir au sein de l’organisation. Dès lors, elles sont, par nature, le fruit de motivationssociales, qui sont combinées aux pulsions et aux percepts (cf. figure 7.16. Ces activités nenécessitent pas de coordination avec les autres AUV de l’organisation. Les signaux d’influenceenvoyés par les autres AUV ne sont pas pris en compte.L’activité indivi<strong>du</strong>elle reprend le formalisme de l’activité vitale. Elle est néanmoins directementassignée à l’AUV dans le cadre de l’accomplissement d’un objectif. L’identifiant
152 CHAPITRE 7. L’ARCHITECTURE REMORASpulsionsmotivationssocialesperceptsffdésir d'accomplissementsatisfactionpersonnelle+tendanceFIGURE 7.16 : Motivations prises en compte par une activité indivi<strong>du</strong>ellede l’AUV est donc spécifié dans le formalisme de l’activité. L’activité indivi<strong>du</strong>elle est doncdéfinie par< E,Id,Dep,Ea,Cd,Op, T,D a ,P,id AUV >.Activités coopérativesLes activités coopératives concernent les activités exécutées dans le cadre d’objectifscollectifs partagés par des AUV de l’organisation. Elles sont, au même titre que les activitésindivi<strong>du</strong>elles, le fruit de motivations sociales. L’accomplissement de ces activités requierttoutefois la coopération d’autres AUV. Elles prennent donc en considération les signauxd’influence (motivations relationnelles) émis par les autres AUV (cf. figure 7.17).pulsionsmotivationssocialessignauxd'influenceperceptsffdésir d'accomplissementsatisfactionpersonnelle+tendanceFIGURE 7.17 : Motivations prises en compte par une activité coopérativeUne activité coopérative est définie par< E,Id,Dep,Ea,Cd,Op,T,D a ,P,id AUV ,Gr,Ro>. Elleest exécutée dans le cadre d’un rôle Ro au sein d’un groupe Gr. Les signaux d’influencefournis par la couche fonctionnelle sont directement transmis aux activités coopérativesconcernées par le rôle qui est adressé dans le message.FonctionnementIdéalement, les comportements implémentés dans les architectures comportementalestournent en parallèle et fonctionnent de manière asynchrone [Brooks, 1991]. Dansles mo<strong>du</strong>les d’activité, les activités mises en œuvre sont conçues de façon à être très indépendantes,notamment par rapport au système décisionnel. Elles vérifient leurs conditions
7.4. LA COUCHE CONATIVE 153d’activation, de fin et d’abandon et calcule leur tendance de façon autonome. Le systèmedécisionnel peut évaluer les tendances et sélectionner les activités à tout instant.En conséquence, les temps de calcul pour vérifier les conditions spécifiques c a , c f etc ab (cf. sous-section 7.3.4) ou pour évaluer le désir d’activation et la satisfaction personnellepeuvent varier sans que cela ne perturbe le processus décisionnel.7.4.3 Système décisionnelLe système décisionnel <strong>du</strong> système conatif évalue les tendances, choisit les plus prioritaireset détermine les moyens à mettre en œuvre pour les satisfaire. Dans l’architectureREMORAS, c’est le rôle <strong>du</strong> Mo<strong>du</strong>le décisionnel : il sélectionne les activités à engager.Combinaison et sélection d’activitésDans le chapitre 6, le mécanisme décisionnel ne considérait qu’une seule activité à lafois. Dans notre architecture, le "Mo<strong>du</strong>le décisionnel" va associer les différentes activitésentres elles. Il est possible de définir plusieurs types d’activités compatibles, qui peuventêtre exécutées en même temps. Par exemple, une activité de type "navigation" peut êtreassociée à une activité de type "guidage" et à une activité de type "commande" pour accomplirun objectif de suivi de trajectoire. Des activités vitales, indivi<strong>du</strong>elles et coopérativespeuvent être associées entre elles. Dans notre architecture, nous verrons que chaquetype d’activité correspond à un mo<strong>du</strong>le de la couche fonctionnelle dans lequel l’activitésera exécutée.Le formalisme HTN permet de former des plans d’activités dans lesquels les activitéspeuvent être exécutées de façon séquentielle et en parallèle. Le "Mo<strong>du</strong>le décisionnel"recherche la meilleure combinaison entre les activités. Pour cela, l’algorithme de sélectionforme des ensembles d’activités contenant au maximum une activité par type et tientcompte des activités qui doivent être exécutées simultanément. La somme des tendancesest évaluée pour chaque ensemble d’activités. L’ensemble d’activités dont la somme est laplus importante est sélectionné et forme ce qu’on appelle une décision. La décision est ensuitetransmise à la couche sociale et à la couche fonctionnelle. Ces couches se chargentalors d’accomplir les activités sélectionnées en exécutant les opérations (actions) associées.A noter que deux types d’activités sont accomplis dans la couche sociale : l’activitéd’organisation, exécutée par le mo<strong>du</strong>le "Organisateur", pour constituer l’organisationconcrète de la flottille et l’activité de planification, exécutée par le mo<strong>du</strong>le "Planificateur",
154 CHAPITRE 7. L’ARCHITECTURE REMORASpour planifier et répartir les missions et les objectifs au sein de l’organisation. Les typesd’activité transmis à la couche fonctionnelle dépendent des fonctionnalités de l’AUV. Dansnotre cas, cela dépendra aussi des mo<strong>du</strong>les d’exécution d’activité dont est composée lacouche. Dans la prochaine section, nous verrons que cinq mo<strong>du</strong>les d’exécution d’activitéscomposent la couche fonctionnelle proposée.AlgorithmeL’algorithme 3 décrit le fonctionnement général de l’algorithme décisionnel de l’AUV.Il est calculé à chaque cycle de délibération.L’algorithme est composé de cinq étapes principales :– Etape 1 : l’ensemble des activités présentes dans les mo<strong>du</strong>les "Activités vitales", "Activitésindivi<strong>du</strong>elles" et "Activités coopératives" sont collectées.– Etape 2 : seules les activités "activables" ou "en cours" d’exécution sont conservées.Ce sont les seules qui peuvent être sélectionnées.– Etape 3 : les ensembles d’activités qui nécessitent une exécution en parallèle sontformés. Une activité peut être liée à une autre activité par un lien de dépendance"avec" sans que cela soit réciproque. Il est donc nécessaire de former des ensemblesminimaux d’activité autour de chaque activité. Chaque ensemble minimal comprendl’activité autour de laquelle elle est formée et toutes les activités dont l’activitédépend directement ou indirectement (dépendances "avec" des activités dontdépend l’activité). Les activités indispensables à l’exécution d’autres activités maisdont leur propre exécution ne dépend pas de ces activités peuvent ainsi être associéesà des activités différentes. En cas de présence de liens de dépendances réciproquesentre activités, plusieurs ensembles d’activités identiques sont constitués. Ilest alors nécessaire de supprimer ceux en trop.– Etape 4 : détermination de l’ensemble des décisions qui peuvent être sélectionnées.Chaque ensemble d’activité, préalablement formé, constitue à lui seul une décisionpossible. Les ensembles d’activités sont ensuite associés entre eux afin de déterminertoutes les combinaisons d’activités possibles. Seules les combinaisons formées d’uneseule activité par type peuvent constituer une décision possible.– Etape 5 : la somme des tendances des activités qui composent chaque décision possibleest évaluée. L’ensemble d’activité dont la somme est la plus élevée est sélectionnéeet forme ce que l’on appelle, la décision de l’AUV. Les conditions de déclenchementdes activités sont mises à jour. Les conditions des activités qui viennent d’êtresélectionnées sont valides tandis que celles des autres ne le sont pas.
7.4. LA COUCHE CONATIVE 1551234567891011121314151617181920212223242526272829303132Entrées : Ensembles d’activités vitales Av, indivi<strong>du</strong>elles Ai et coopératives AcSorties : Décision D : ensemble d’activités sélectionnéesEtape 1 : Collecte de l’ensemble des activités A présentes dans les mo<strong>du</strong>lesd’activités vitales, indivi<strong>du</strong>elles et coopératives.A ← Av +Ai +Ac ;Etape 2 : Conservation des activités "activables" ou "en cours" d’exécution.A ←ActivitesActivables(A)+ActivitesEnCours(A);Etape 3 : Formation d’ensembles d’activités qui nécessitent une exécution enparallèle (liens de dépendances "avec").pour chaque a i ∈ A faireAjouter l’ensemble minimal d’activités constitués autour de l’activité a i à E ;finSupprimer les ensembles d’activités identiques de E ;Etape 4 : Détermination de l’ensemble des décisions possibles D en combinantles différents ensembles d’activités.pour chaque E i ∈ E fairepour j ← i+1 àtaille(E) faireAjouter E i à D ;si E i compatible avec E j alorsAjouter E i + E j à E ;finfinfinEtape 5 : Sélection de la décision D constituée de l’ensemble d’activités dont lasomme des tendances est la plus élevée.D ← ;pour chaque D i ∈ D fairesi ∑ tendance(D i )> ∑ tendance(D)alorsD←D ifinfinpour chaque a∈A fairesi a∈D alorsc d ←vraisinonc d ←falsefinfinAlgorithme 3 : Algorithme décisionnel
156 CHAPITRE 7. L’ARCHITECTURE REMORAS7.4.4 SynthèseL’organisation concrète de la flottille et la répartition des objectifs entre les AUV sontétablies dans la couche sociale de l’architecture REMORAS. La couche conative implémente,pour chaque AUV, l’approche de coopération réactive organisationnelle proposéedans le chapitre 6.A la sous-section 7.4.1, nous avons présenté la façon dont l’AUV effectue sa propre représentation,sélectionne ses objectifs par rapport à la place qu’il occupe au sein de l’organisationet planifie ses activités pour atteindre ces objectifs.Les activités planifiées peuvent être de deux natures : indivi<strong>du</strong>elles ou coopératives.Les activités indivi<strong>du</strong>elles peuvent être accomplies par l’AUV seul tandis que les activitéscoopératives nécessitent la coopération d’autres AUV. D’autres activités, de nature vitale,sont préprogrammées à la conception de l’AUV. Ces activités sont regroupées dans desmo<strong>du</strong>les différents, selon leur nature, au sein <strong>du</strong> sous-système motivationnel. La soussection7.4.2 décrit ce sous-système. Les mo<strong>du</strong>les fournissent à leurs activités respectivesles motivations nécessaires à l’élaboration de leur tendance.Les activités sont combinées entre elles par le système décisionnel, décrit à la la soussection7.4.3. Celui-ci se charge d’évaluer les tendances des activités et de sélectionner l’ensembled’activités à exécuter. Cet ensemble constitue la décision de l’AUV. Elle est transmiseà la couche sociale et à la couche fonctionnelle, décrite dans la section suivante.7.5 La couche fonctionnelleLa couche fonctionnelle assure les fonctions courantes de l’AUV et exécute les activitéssélectionnées par la couche conative. Elle exécute les opérations/actions de chaqueactivité. Celles-ci commandent les équipements matériels de l’AUV et affectent l’environnement.Spécifique à chaque AUV, elle dépend des fonctionnalités de l’AUV qui l’implémente.L’implémentation complète de cette couche sort <strong>du</strong> cadre de nos travaux de thèse.Nous en proposons néanmoins une version simplifiée. Elle assure certaines fonctions debase d’un AUV. Les équipements de l’AUV y sont aussi modélisés. Bien que les véhicules quiimplémentent cette couche puissent être de natures très différentes, chacun employant sespropres notations, référentiels, modèles, etc., nous avons choisi d’utiliser les mêmes pourtous les AUV dans ce manuscrit. Ils sont décrits à l’annexe A et sont employés par la suitepour décrire la couche fonctionnelle de l’architecture REMORAS.
7.5. LA COUCHE FONCTIONNELLE 157Informations d’autoreprésentationPulsionsPerceptsCoucheconativeDécisionsSurveillancefonctionnelleCouchefonctionnelle(superviseurbasniveau)CommunicationDonnéesfonctionnellesPro<strong>du</strong>ction Navigation Guidage CommandeSauvegarde Mesures Energie ActionneursCommunicationsPerceptionsActionsPerceptionsEnvironnementActionsFIGURE 7.18 : Couche fonctionnelle de l’architecture REMORASLa couche est constituée de dix mo<strong>du</strong>les. Celle-ci est illustrée à la figure 7.18. Cinq mo<strong>du</strong>lesservent à rassembler les équipements de l’AUV et gère le fonctionnement courant del’AUV. Ils sont décrits dans la sous-section suivante. Cinq autres mo<strong>du</strong>les servent à accomplirles activités sélectionnées par la couche conative et sont présentés à la sous-section7.5.2.7.5.1 Equipements et fonctionnement courantEnergieLe mo<strong>du</strong>le permet de gérer l’alimentation énergétique <strong>du</strong> véhicule et de ses équipements.Une batterie fournie l’énergie à bord pendant la mission, elle est modélisée de façontrès simple :Q(t)=Q(t−dt)− 1 di3600 dt(7.5)
158 CHAPITRE 7. L’ARCHITECTURE REMORASQ est la capacité (exprimée en A.h) de la batterie à l’instant t et i est l’intensité (expriméeen A) débitée par la batterie. L’énergie électrique est distribuée aux différents équipementsélectriques. Le mo<strong>du</strong>le fournit la possibilité d’alimenter ou pas certains équipements.MesuresLe mo<strong>du</strong>le rassemble l’ensemble des équipements matériels employés pour acquérirles mesures. Plusieurs équipements ont été modélisés :– l’horloge fournie le temps à l’architecture. Celui-ci peut dériver dans la <strong>du</strong>rée.– le capteur de pression mesure la pression de l’eau (exprimée en Pa). La pression estproportionnelle à la profondeur, elle est utilisée pour évaluer celle <strong>du</strong> véhicule.– le magnétomètre mesure l’intensité <strong>du</strong> champ magnétique (µT ) sur les trois axes. Ilsert à évaluer l’assiette et le cap de l’AUV.– la centrale inertielle est constituée d’accéléromètres et de gyromètres trois axes.Les accéléromètres mesurent les accélérations <strong>du</strong> véhicule tandis que les gyromètresmesurent ses vitesses angulaires. Les mesures sont bruitées par un bruit additif gaussien.– le Lock Doppler mesure la vitesse de l’AUV par rapport au fond ou au flux d’eau. Lesmesures sont bruitées par un bruit additif gaussien.– le GPS fournit les coordonnées de la position de l’AUV. Ces données ne sont accessiblesque lorsque le véhicule est en surface.– les sonars et sondeurs multifaisceaux détectent et situent les objets sous l’eau àl’aide d’un faisceau d’ondes acoustiques. Le sonar frontal est positionné à l’avantde l’AUV, il permet de repérer les obstacles. Les sonars latéraux sont positionnés dechaque côté de l’AUV et servent à constituer des images acoustiques détaillées desfonds marins. Le sondeur multifaisceaux permet d’effectuer des relevés topographiques<strong>du</strong> relief sous-marin et des acquisitions d’images sonar dessous le véhicule.– le pinger détecte les objets sous l’eau dans une direction à l’aide d’ondes acoustiques.– la caméra effectue des acquisitions vidéos.– le projecteur éclaire une zone.Différents équipements sont utilisés pour percevoir l’environnement. Certains sontillustrés à la figure 7.19. La modélisation de l’ensemble de ces équipements ne sera pas détailléeici. L’algorithme 4 est un exemple de modèle employé pour simuler un sonar frontal.
7.5. LA COUCHE FONCTIONNELLE 159FIGURE 7.19 : Equipements employés par l’AUV pour percevoir l’environnementA noter que l’angle de roulis de l’AUV, considéré nul dans le modèle des véhicules (cf. A),n’est pas considéré dans le modèle <strong>du</strong> sonar frontal.Le mo<strong>du</strong>le se charge d’activer les équipements et d’acquérir les mesures pour lecompte des autres mo<strong>du</strong>les de la couche fonctionnelle. Hormis les capteurs de navigationet de mission que nous avons modélisés, d’autres mesures peuvent être effectuées.Par exemple, celles qui permettent de s’assurer <strong>du</strong> fonctionnement <strong>du</strong> véhicule (tensiondes batteries, etc.) ou qui proviennent des actionneurs (position des gouvernes, vitesse/-couple des moteurs, etc.) et qui sont utilisées pour la commande.ActionneursLe mo<strong>du</strong>le rassemble les actionneurs <strong>du</strong> véhicule. Il fournit l’interface aux autres mo<strong>du</strong>lesde la couche pour leur permettre d’envoyer les ordres aux actionneurs. Il s’agit notammentde donner la possibilité au mo<strong>du</strong>le de commande de contrôler les moteurs depropulsion, les gouvernes, etc. et au mo<strong>du</strong>le de pro<strong>du</strong>ction de commander les effecteurs(bras manipulateur, etc).La validation de notre approche de coopération réactive organisationnelle ne nécessitepas un tel niveau de détail de modélisation et nous n’avons modélisé aucun actionneur.
160 CHAPITRE 7. L’ARCHITECTURE REMORAS12345678910111213141516Entrées : Angle d’ouverture <strong>du</strong> faisceau α (en rad), résolution angulaire α r (enrad), portée p (en m), résolution r (en rad), pente de l’AUV θ (en rad),cap de l’AUV ψ (en rad).Sorties : Tableau des mesures sonars : M s . La première colonne stocke les anglesψ r (en rad) de mesure sonar effectuée par rapport à l’axe longitudinal del’AUV. Pour chaque angle, la mesure de distance d de l’objet détecté eststockée dans la deuxième colonne.nbMesures←⌊ α α r−1⌋ ;n ← −1 ;(pour i = − nbMesures ; i< nbMesures22n ←n+1 ;ψ r ← iα r ;ψ r ← ψ+ψ r ;pour (d = 0.0 ; d
7.5. LA COUCHE FONCTIONNELLE 161SauvegardeLe mo<strong>du</strong>le de sauvegarde maintient l’intégrité de l’AUV dans les situations critiques. Enl’occurrence, il s’agit simplement d’arrêter les moteurs et d’activer un système de ballast sile véhicule n’est pas à flottabilité positive. Dans ces deux cas, on fixe les vitesses u = v = 0et w
162 CHAPITRE 7. L’ARCHITECTURE REMORAS– les informations concernant l’état de l’AUV (cf. annexe A) : ses coordonnées x, y et z,son attitude caractérisée par les angles φ, θ et ψ dans le repère absolu R 0 , les vitesseslinéaires u, v et w et angulaires de roulis p, tangage q et lacet r dans le repère del’AUV R v et les accélérations (a u , a v et a w ), respectivement dans les directions u, vet w.– une map < identité,p r ,date > qui stocke les positions relatives des autres AUV.L’identité regroupe les informations qui permettent d’identifier l’AUV localisé, celapeut être son identifiant id AUV et/ou son rôle et son groupe. p r est la position de l’AUVlocalisé dans le repère R 0v (cf. annexe A) et date caractérise la date à laquelle l’AUV aété localisé. Pour chaque mesure, si l’identifiant de l’AUV est connu, celui-ci est directementassocié à la position mesurée et datée (un AUV peut être positionné à unseul endroit). Plusieurs AUV peuvent exercer le même rôle au sein d’un groupe, ainsi,plusieurs positions p r peuvent être affectées à un rôle exercée dans un groupe. Dèslors, si un AUV positionné est identifié par son rôle et son groupe, la position mesuréeest ajouté à l’ensemble des positions qui sont associées au rôle et au groupe.Dans le cas où l’identifiant, le rôle et le groupe de l’AUV localisé sont connus, la positionmesurée p r et la date sont mises à jour d’une part pour l’identité qui caractérisel’identifiant de l’AUV, d’autre part, pour l’identité qui caractérise le rôle et le groupejoués par l’AUV.Interface globaleGlobaleComplèteGlobaleetréactiveRelativeRéactiveFIGURE 7.20 : Diagramme UML des activités de navigationCinq activités de navigation ont été créées selon qu’elles combinent ou pas les troisfonctionnalités citées précédemment. Elles sont illustrées à la figure 7.20 sous la formed’un diagramme UML. Ce sont :
7.5. LA COUCHE FONCTIONNELLE 163– L’activité de navigation réactive détecte et situe les objets autour de l’AUV. Le sonarfrontal, les sonars latéraux, le sondeur multifaisceaux et le pinger peuvent être employéspour mesurer les distances des objets à l’avant, sur les côtés, au dessous et audessus de l’AUV. Les données récoltées sont mises à jour dans le tableau <strong>du</strong> mo<strong>du</strong>lesous la forme de triplets.– L’activité de navigation globale estime l’état de l’AUV dans le repère absolu R 0 : position,attitude, vitesses, vitesses angulaires et accélérations. Les accélérations et lesvitesses angulaires sont directement mesurées par les accéléromètres et les gyromètres.Les vitesses v et w sont estimées par intégration des accélérations a v et a w .La vitesse u est évaluée par le Lock Doppler. Les angles de roulis φ et de tangageθ sont déterminés à partir de la direction <strong>du</strong> vecteur gravité mesuré par les accéléromètrestandis que l’angle de lacet ψ est mesuré par le compas (magnétomètre).La profondeur z est évalué par mesure de pression tandis que les coordonnées xet y sont estimées par intégration des vitesses par rapport à son attitude. Les coordonnéespeuvent être mises à jour lors de la réception de données GPS ou lorsqued’autres AUV communiquent leur position.– L’activité de navigation relative estime la position d’un ensemble d’AUV dans lerepère R 0v <strong>du</strong> véhicule. Les AUV à situer sont caractérisés par leur identité (identifiantet/ou rôle exercé dans un groupe). Leurs positions relatives sont déterminéesà partir de l’orientation et de la distance de l’émetteur mesurées pour chaquemessage reçu (cf. mo<strong>du</strong>le communication). Elles sont mises à jour dans la map< identité,p r ,date> <strong>du</strong> mo<strong>du</strong>le.– L’activité de navigation globale et réactive accomplit les activité de navigation globaleet réactive de façon conjointe. Elle détermine ainsi l’état de l’AUV et localise lesobjets à proximité.– L’activité de navigation complète associe les trois activités de base de façon à estimerl’état de l’AUV, situer les objets autour de lui et localiser des AUV.A titre d’exemple, l’algorithme 5 fourni la fonction d’exécution de l’activité de navigationglobale.
164 CHAPITRE 7. L’ARCHITECTURE REMORAS12345678910111213141516171819202122232425262728293031Données : Centrale inertielle imu01, Lock Doppler ld01, compas co01, capteurde pression cp01, erreur de positionnement estimée ê pActivation des capteurs : imu01, ld01, co01, cp01 ;[a um ,a vm ,a wm ] ← accélérations mesurées par imu01;[a u ,a v ,a w ] ←[a um ,a vm ,a wm ]+T R0v →R v[0,−g,0] T ;[p,q,r]← vitesses angulaires mesurées par imu01 ;u ← vitesse mesurée par ld01 ;v← ∫ t0 a v dt ;pression mesurée par cp01z ← ;10000φ ←sin −1 ( a vm) ;a wmθ ← tan −1 a um( √a 2 vm +awm) 2 ;ψ ← cap mesuré par co01) ;si z dans lemo<strong>du</strong>le de navigation ;Algorithme 5 : Fonction d’exécution de l’activité de navigation globale
7.5. LA COUCHE FONCTIONNELLE 165GuidageLe mo<strong>du</strong>le détermine la consigne de déplacement de l’AUV et de son orientation autourde son centre de gravité. En l’occurrence, dans notre architecture, il s’agit de déterminerles consignes concernant la vitesse de déplacement V d de l’AUV ainsi que les anglesβ d et α d , respectivement autour des axes de tangage et le lacet <strong>du</strong> véhicule. Rappelonsque l’angle autour de l’axe de roulis <strong>du</strong> véhicule est considéré nul, par conséquent γ d = 0.Nous proposons différentes activités de guidage. Elles sont présentées sous la forme d’undiagramme UML à la figure 7.21. Les activités de guidage sont classées en quatre catégoriesselon que l’AUV désire se déplacer en sécurité, rejoindre un point, suivre un chemin ou sedéplacer de façon coordonnée avec les autre AUV.ExplorationparsuividecheminRetoursurfacepourlocalisationGPSRetoursurfacepoursurvieRapprochementdevéhiculepourrelocalisationDéplacementcoordonnéSuividecheminSuividevitesse,decapetdeprofondeurExplorationparpointsAgrégationDispersionSuividecheminetdefondSuividevitesse,depenteetdecapRejoindrepointdansR 0RejoindrepointdansR 0vSuividevéhiculeSuivi de cheminRejoindre pointGuidagevectorielR 0sécuriséDéplacementenflotteMenerlaflotteDéplacementsécuriséGuidagevectorielsécuriséEvitementdevéhiculeEvitementd’obstacleGuidagevectorielFIGURE 7.21 : Diagramme UML des activités de guidage
166 CHAPITRE 7. L’ARCHITECTURE REMORASDéplacement sécurisé :– L’activité de guidage vectoriel détermine les consignes de guidage <strong>du</strong> véhicule poursuivre un vecteur de guidage U d = [u d ,v d ,w d ] T , défini dans le repère véhicule. Cedernier caractérise les vitesses de déplacement désirées selon les√axes Cu, Cv etCw de R v . Les consignes de guidage sont calculées ainsi : V d = u 2 d +v2 d +w2 d√,β d = −arctan2(w d ,− u 2 d ,v2 d ) et α d = arctan2(u d ,v d ). Les consignes de guidagepeuvent aussi être déterminées à partir d’un vecteur de guidage U nd dont la normeest égale à 1 pour la vitesse de croisière <strong>du</strong> véhicule. La relation entre les deux vecteursde guidage est donnée par U d = U nd .v croisière .– L’activité d’évitement d’obstacle détermine un vecteur de guidage pour éviter l’obstaclele plus proche. Le vecteur d’évitement est le fruit de la combinaison vectorielleentre un vecteur de répulsion qui tend à éloigner l’AUV de l’obstacle détecté et unvecteur de glissement qui pousse le véhicule à contourner l’obstacle (cf. [Zeghal,1994] pour plus de détail). Un exemple de cette combinaison vectorielle est présentéà la figure 7.22. Le vecteur de répulsion est exprimé dans la direction inverse <strong>du</strong> plusproche obstacle détecté tandis que le vecteur de glissement est orthogonal au vecteurde répulsion dans le plan formé par l’axe longitudinal <strong>du</strong> véhicule et le vecteurde répulsion.V répulsiond minV évitementV glissementFIGURE 7.22 : Evitement d’obstacle– L’activité d’évitement de véhicule s’exerce de manière similaire à l’activité d’évitementd’obstacle en considérant le véhicule le plus proche. Pour cela, les données depositionnement des autres véhicules déterminées par le mo<strong>du</strong>le "Navigation" sontemployées.– L’activité de guidage vectoriel sécurisé permet de suivre une direction dans le repèreR v de manière sécurisée, en évitant l’obstacle ou le véhicule le plus proche. Une
7.5. LA COUCHE FONCTIONNELLE 167combinaison vectorielle est réalisée entre un vecteur but (exprimé dans le repère R v )et le vecteur d’évitement calculé à partir de l’obstacle ou <strong>du</strong> véhicule le plus proche.– L’activité de guidage vectoriel R 0 sécurisé permet au véhicule de suivre une directiondans le repère R 0v de manière sécurisée. Comme pour l’activité précédente, levecteur but V but (exprimé dans le repère R 0v ) est combiné au vecteur d’évitement defaçon à éviter l’obstacle ou le véhicule le plus proche.Rejoindre point :– L’activité de rejoindre un point dans R 0v détermine le vecteur but V but pour atteindreun point de coordonnées (x p ,y p ,z p ) dans R 0v . V but , défini dans R 0v , s’exprime: V but =−→ p‖ −→ p ‖ tanh(kd‖−→ p ‖) avec −→ p = [x p ,y p ,z p ] T . kd est une constante quirègle le ralentissement <strong>du</strong> véhicule à l’approche <strong>du</strong> point. Le vecteur but est ensuitecombiné au vecteur d’évitement d’obstacle ou de véhicule.– L’activité de rejoindre un point dansR 0 détermine le vecteur butV but pour atteindreun point P défini dans R 0 . Connaissant la position X de l’AUV dans R 0 , les coordonnées<strong>du</strong> point P sont calculées dans R 0v tel que P ′ = P −X. V but est calculé de lamême manière que dans l’activité précédente.– L’activité d’exploration par points permet d’explorer une grille de points en troisdimensions selon une trajectoire "zigzag". A chaque instant, les points de la grille situésautour de l’AUV sont classés par ordre de priorité pour favoriser le déplacementen "zigzag". L’AUV sélectionne le point le plus prioritaire qui n’est pas obstrué par unobstacle (détection par sonars, sondeurs, pingers, etc.) et qui n’a jamais été exploré.Une fois le point rejoint par l’AUV, un nouveau point à explorer est sélectionné. Siaucun point ne peut être exploré, l’ordre de priorité des points est modifié de façonà faire en sorte que l’AUV retourne sur les points déjà explorés et rejoigne une zoneavec de nouveaux points à explorer.Suivi de chemin :– L’activité de suivi de vitesse, de pente et de cap permet de suivre une consignede vitesse V d , de pente θ d et de cap ψ d . Le vecteur but V but est calculé : V but =[V d cos(θ d )cos(ψ d ),V d cos(θ d )sin(ψ d ),−V d sin(θ d )] T . Il est combiné au vecteurd’évitement de façon à éviter les obstacles et les AUV.– L’activité de suivi de chemin permet de suivre un chemin défini en 3 dimensionsdans le repère R 0 . Les angles d’approches <strong>du</strong> véhicule θ rcd et ψ rcd par rapport auchemin sont déterminés en fonction de la distance qui sépare le véhicule <strong>du</strong> chemin :θ rcd = θ max tanh(k θ d oxz ) et ψ rcd = ψ max tanh(k ψ d oxy ). θ max et ψ max sont les
168 CHAPITRE 7. L’ARCHITECTURE REMORASangles d’approche maximal <strong>du</strong> chemin. k θ et k ψ sont des paramètres qui règlentl’amplitude des angles d’approches lorsque l’AUV se rapproche <strong>du</strong> chemin. Enfin,d oxz et d oxy sont les distances signées entre l’AUV et la surface formée par le cheminet les axes vertical et horizontal, respectivement. Remarque : si le chemin est unedroite de vecteur directeur −→ u = [u x ,u y ,u z ] T passant par le point A = [A x ,A x ,A z ] T ,les surfaces formées par le chemin selon l’axe vertical et horizontal sont des plansdéfinis par −→ u et −→ v (respectivement, −→ u = [0,0,1] T et −→ v = [0,1,0] T ) et passant par lepoint A. Les consignes de pente θ d et de cap ψ d à suivre sont déterminées à partirde la pente θ rd et <strong>du</strong> cap ψ rd <strong>du</strong> chemin tel que : θ d = θ c −θ rd et ψ d = ψ c −ψ rd .– L’activité de suivi de chemin et de fond permet de suivre un chemin 2D défini dans leplan (xoy) <strong>du</strong> repère R 0 à une distance <strong>du</strong> fond désirée. Cette activité fonctionne demanière assez similaire à l’activité précédente. La consigne de penteθ d de l’AUV s’exprimenéanmoins directement en fonction de la distance au fond mesurée d f et désiréed fd : θ d = −θ max tanh(k θ d f −d fd ). La consigne d’orientation θ rd . La consignede cap ψ d est calculée de façon identique à l’activité de suivi de chemin.– L’activité d’exploration par suivi de chemin consiste à explorer une grille de pointsen trois dimensions. L’algorithme employé pour sélectionner les points à visiter estle même que pour l’activité d’exploration par points. Un chemin, constitué entre lepoint précédemment visité et le nouveau point à visiter, est suivi par l’AUV.– L’activité de suivi de vitesse, de cap et de profondeur permet de suivre une consignede vitesse V d et de cap ψ d à une profondeur donnée z d . La consigne de pente est calculée: θ d = −θ max tanh(z d −z), où est la pente maximale désirée et z la profondeurde l’AUV.– L’activité de retour surface pour localisation GPS permet à l’AUV de rejoindre la surfaceafin qu’il mette à jour sa position globale via l’acquisition des coordonnées GPS.Cette activité fonctionne de manière similaire à l’activité décrite précédemment avecu d = 1 et z d = 0. L’évaluation de la satisfaction personnelle de l’activité est différentepuisqu’elle considère l’acquisition des données GPS.– L’activité de retour à la surface pour survie permet à l’AUV de rejoindre la surface enprévention (batterie déchargée, etc.) ou en présence d’avaries (prise d’eau, etc.). Ellefonctionne de la même manière que l’activité de suivi de vitesse, de cap et de profondeurmais l’évaluation de sa tendance prend en compte d’autres stimuli interneset externes.Déplacement coordonné :– L’activité d’agrégation permet au véhicule de se diriger vers le barycentre formé parun ensemble de véhicules de rôle défini. Considérons N véhicules dont la position
7.5. LA COUCHE FONCTIONNELLE 169p est mesurée dans R 0v , le barycentre B est évalué dans R 0v tel que B = 1 ∑p j . LeN j∈Nvecteur but est calculé de façon à ce que l’AUV se dirige vers B. L’exécution simultanéede cette activité par plusieurs véhicules mène à leur rassemblement. Pour plusde détails sur ce type de coordination, le lecteur peut se référer à [Mataric, 1994].– L’activité de dispersion permet au véhicule de s’éloigner <strong>du</strong> barycentre d’un ensemblede véhicules de rôle défini. Le barycentre est calculé de la même manièreque pour l’activité de rassemblement. La direction <strong>du</strong> vecteur but est néanmoins opposéeau barycentre pour faire en sorte que le véhicule s’en éloigne. L’exécution decette activité par plusieurs véhicules mène à leur dispersion (cf. [Mataric, 1994] pourplus de détails).– L’activité de suivi de véhicule permet de suivre un véhicule caractérisé par son identité(identifiant ou rôle au sein d’un groupe). Cela revient à se diriger vers un pointP situé dans la direction et à une distance d <strong>du</strong> véhicule à suivre. La position <strong>du</strong>véhicule à suivre, ( mesurée dans R 0v , est notée p. Les coordonnées <strong>du</strong> point P sontcalculées : P = p 1− d ).‖p‖– L’activité de rapprochement de véhicule pour relocalisation consiste à s’approcherd’un autre véhicule dans le but que celui-ci lui transmette ses données de navigationet ainsi lui permettre de se relocaliser.– L’activité de déplacement en flotte consiste à se déplacer avec des véhicules exerçantdes rôles particuliers. Pour cela, l’algorithme à pas constant détaillé en annexeB, est employé. La fonction d’utilité à minimiser est f t (u,u|Y(t)) = Q 1 t |u − u|2 +Q 2 t |u − 1 ∑Y n (t)| 2 , où u est le vecteur but de l’AUV à déterminer, u est le (vecteur)déplacement moyen de la flotte, Y n est la position observée d’un autre AUV nN ndans R 0v (relative à l’AUV) et Q ikt (k=1,2) sont des poids qui donnent plus ou moinsd’importance à la minimisation de leur terme correspondant. La fonction |u−u| 2quantifie le regret d’avoir un vecteur but éloigné <strong>du</strong> déplacement moyen des AUV dela flotte tandis que |u− 1 ∑Y n (t)| pousse l’AUV à se rapprocher <strong>du</strong> barycentre estiméde la flotte. Une simulation <strong>du</strong> comportement obtenu dans unN jenvironnementen deux dimensions est illustrée dans [Carlési et Bianchi, 2012].– L’activité de mener la flotte permet de guider une flotte de véhicules, identifiés parleur rôle, dans une direction souhaitée. Comme pour l’activité de déplacement enflotte, l’algorithme à pas constant, détaillé en annexe B, est employé. La fonctiond’utilité à minimiser estf t (u,u|Y(t))=Q 1 t |u−a|2 +Q 2 t |u−u|2 +Q 3 t |u− 1 ∑Y n (t)| 2 ,N noù a est le vecteur représentant la direction à suivre. Une simulation <strong>du</strong> comportementobtenu est illustrée dans [Carlési et Bianchi, 2012].
170 CHAPITRE 7. L’ARCHITECTURE REMORASCommandeLe mo<strong>du</strong>le calcule les commandes à envoyer aux actionneurs (moteurs, gouvernes,etc.) pour suivre les consignes de guidage. Celles-ci correspondent à la vitesse de déplacementdésirée V d et à un changement d’orientation β d et α d dans R v , respectivementautour des axes de tangage et de lacet <strong>du</strong> véhicule. N’ayant modélisé ni la dynamique, niles actionneurs <strong>du</strong> véhicule, un correcteur proportionnel suffit à contrôler le déplacement.Les vitesses angulaires de tangage et de lacet <strong>du</strong> véhicule sont déterminées de telle sorteque : q = k q β d et r = k r α d avec β d ,α d ∈ [−π,π] et où k q et k r sont les gains proportionnelsde tangage et de lacet. La vitesse d’avancement s’exprime directement : u = V d . Sesvitesses, dont l’amplitude est saturée pour caractériser les limitations des actionneurs (cf.sous-section 7.5.1) sont directement mises à jour dans le modèle cinématique <strong>du</strong> véhicule(cf. annexe A et entraînent son déplacement.A noter que dans le cas où plusieurs activités de commande seraient mises en concurrenceau sein de la couche conative, l’évaluation de leur tendance par le système décisionnelréactif que nous proposons permet de sélectionner la commande la mieux adaptée à lasituation en cours (consigne à suivre, courants, bruits capteurs, performance d’exécution,etc.).Pro<strong>du</strong>ctionLe mo<strong>du</strong>le met en œuvre les activités de pro<strong>du</strong>ction <strong>du</strong> véhicule, qui apportent uneplus-value directe au travail à réaliser. Ces activités vont dépendre <strong>du</strong> contexte applicatifdans lequel est employé l’AUV. A ce jour, deux activités de pro<strong>du</strong>ction ont été développées :– L’activité de cartographie enregistre les données acquises par le sondeur bathymétriqueet/ou les sonars latéraux. Pour chaque acquisition, l’état de l’AUV (position etorientation estimée) est mémorisé. La topographie <strong>du</strong> terrain peut alors être réaliséhors ligne.– L’activité de détection de signal détermine la direction dans le repèreR v et l’intensitéd’un signal acoustique émis dans une fréquence donnée. Ces données sont notammentutilisées dans le chapitre 8 dans le cadre de la recherche d’une boite noire d’unavion abimé en mer qui émet un signal acoustique.CommunicationLe mo<strong>du</strong>le de communication est assez singulier, son interface couvre les différentescouches de l’architecture. Sa fonction est d’acquérir et de transmettre les messages. L’iden-
7.5. LA COUCHE FONCTIONNELLE 171tifiant <strong>du</strong> véhicule, les rôles joués et les groupes auxquels il appartient, définis par lacouche conative de l’architecture, servent à configurer le mo<strong>du</strong>le.L’adressage des messages est défini de façon simple entre un émetteur et un destinataire.La syntaxe d’un message est de la forme=,où :– l’émetteur est caractérisé par l’identité de l’AUV qui émet le message. Rappelons quel’identité permet d’identifier l’AUV que ce soit par son identifiant unique et/ou sonrôle joué au sein d’un groupe.– le destinataire est identifié, de manière similaire, via son identité.– le contenu est l’information utile <strong>du</strong> message.Bien que le message puisse contenir toute sorte d’information utile, selon l’applicationréalisée par les AUV qui s’échangent des données, nous distinguons trois types de données:– les données organisationnelles concernent l’organisation de la flottille et les tâcheseffectuées au sein de cette organisation. Ce peut être des données sur les organisationsartificielles, les AUV qui constituent la flottille, leur affectation aux groupes, lesrôles qui leurs sont attribués, la répartition et l’état des missions et objectifs à accomplir.Dans l’architecture REMORAS, ces données sont prises en charge par la couchesociale.– les signaux d’influence influencent les AUV dans le choix de leur décision. En l’occurrence,il s’agit des signaux qui sont échangés entre les vahicules dans le cadrede notre approche de coopération réactive organisationnelle. Rappelons que ces signaux,codés sur un octet I∈[−127,+127], sont pris en compte par le système motivationnelde la couche conative et permettent de former la tendance des activitéscoopératives.– les données fonctionnelles sont utilisées pour l’exécution des activités. Ce peutêtre des données de navigation (coordonnées globale, celles d’un véhicule, positiond’un amer, etc.) ou des données de pro<strong>du</strong>ction (carte, position d’un mine, etc.) parexemple. Ces données sont manipulées par la couche fonctionnelle de l’architecture.A chaque itération <strong>du</strong> mo<strong>du</strong>le, l’activité de communication sélectionnée par la coucheconative est exécutée. Celle-ci consiste à émettre un ou plusieurs messages à un destinatairepar l’intermédiaire d’un modem acoustique.A noter que le modem acoustique est également employé pour l’acquisition des messages.A chaque cycle d’exécution <strong>du</strong> mo<strong>du</strong>le, le modem réceptionne les messages adressésà l’identifiant de l’AUV ou à un rôle qu’il exerce.
172 CHAPITRE 7. L’ARCHITECTURE REMORASLa modélisation complète des phénomènes de propagation d’ondes acoustiques sort<strong>du</strong> cadre de nos compétences et de notre domaine d’étude. Nous proposons toutefois unmodèle de propagation sphérique très simple qui permet de prendre en compte quatrephénomènes :– le délai de réception : δ r = d c + S , où c est la vitesse <strong>du</strong> son (choisie fixe c =D1500 m.s −1 ), d est la distance la plus courte séparant l’émetteur et le récepteur, Sest la taille <strong>du</strong> message en bit et D est le débit d’émission en bit/s. Le message estintégralement délivré au récepteur au bout d’une certaine <strong>du</strong>rée qui prend en considérationle temps de propagation de l’onde et la <strong>du</strong>rée d’émission.– les pertes de transmission (en dB) : TL = TL d +TL a , où TL d et TL a sont respectivementles pertes par diffusion et par absorption (cf. [Parodi, 2008]). Les pertes pardiffusion modélisent l’atténuation <strong>du</strong>e à l’étalement de l’onde acoustique lors de sapropagation. Ses pertes, exprimées en dB, dépendent de la forme de l’onde (sphérique,cylindrique,etc.) : TL d = 10log(d γ ), où γ est le facteur d’étalement d’énergie(γ = 2 pour un étalement sphérique). Les pertes par absorption tra<strong>du</strong>isent le faitqu’une partie de l’énergie sonore est convertie en chaleur le long <strong>du</strong> trajet parcouru.dTL a = g(f) , où g est le coefficient d’absorption (exprimé en dB/Km) en fonctionde la fréquence f. Le coefficient d’absorption est calculé dans [Brekhovskikh et1000Lysanov, 2003] : g(f)= 0.11f21+f 2 + 44f24100+f 2 +2.75×10−4 +0.003.– la portée limitée des transmissions. Un message ne peut être reçu que si SL−TL−NB>SR avec SL le niveau sonore à l’émission, TL les pertes de transmission, NB leniveau de bruit spectral isotropique rapporté à la bande passante <strong>du</strong> récepteur et SRle niveau de réception au dessus <strong>du</strong> bruit ambiant minimum pour qu’une onde soitperçue par le récepteur.– les erreurs de transmission dépendent de nombreux paramètres, notamment letype de mo<strong>du</strong>lation et le codage correcteur d’erreur utilisé, le bruit ambiant, les interférencesentre les signaux, etc. Nous caractérisons simplement ces erreurs par uneprobabilité de réception de message P r ∈[0,1].Nous faisons l’hypothèse que la distance de propagation d m et la direction de provenance<strong>du</strong> signal β m et α m peuvent être mesurées dans R v au moment de la réception<strong>du</strong> message. Les messages sont datés et l’ensemble de ces informations vient compléterla syntaxe des messages reçus : =. Les messagesreçus sont directement stockés selon le type de donnée contenu : données organisationnelles,signaux d’influence et données fonctionnelles. Une notification est envoyée àla couche de l’architecture concernée par les données.
7.6. RÉSUMÉ DU CHAPITRE 1737.6 Résumé <strong>du</strong> chapitreL’objectif de ce chapitre était de concevoir une architecture d’AUV qui implémente l’approchede coopération réactive organisationnelle proposée au chapitre précédent.Dans le but de concevoir une architecture très générique, nous avons procédé, dans lasection 7.1, à une analyse fonctionnelle dans laquelle nous avons identifié les principalesfonctions à remplir par les AUV au sein de l’organisation. L’étude de ces fonctions a étédéclinée en trois dimensions d’analyse : sociale, personnelle et physique.Elles ont constitué les trois axes d’intégration des différentes fonctions dans notre modèlede conception d’architecture d’AUV et ont donné lieu à un modèle composé de troiscouches : la couche sociale, la couche conative et la couche fonctionnelle. Celles-ci sontdétaillées à la section 7.2.L’implémentation de ce modèle, nous a permis de concevoir l’architecture REMORAS.Celle-ci est destinée à équiper les AUV de notre flottille et leur permettre de coopérer demanière réactive selon leur position occupée au sein de l’organisation.La couche sociale de l’architecture, détaillée à la section 7.7, établit et décrit l’organisationconcrète de la flottille. Les tâches, formalisées selon le formalisme HTN, sont associéesaux différents concepts <strong>du</strong> modèle Agent/Groupe/Rôle, ce qui permet de facilementles répartir au sein de l’organisation d’AUV.Dans la section 7.14, la couche conative de l’architecture décrit la façon dont l’AUV gèreson auto-représentation, génère et sélectionne ses activités à accomplir en fonction de laposition qu’il occupe dans l’organisation. Le système conatif implémente les mécanismesdécrits dans le chapitre 6 pour élaborer les tendances des activités et décider des activitésà entreprendre. Ces mécanismes prennent notamment en compte les signaux d’influenceémis par les autres AUV, ce qui permet aux AUV de coopérer de manière réactive tel quenous l’avions décrit au chapitre 6.Enfin, la couche fonctionnelle, décrite à la section 7.14, assure le fonctionnement courantde l’AUV et exécute les activités sélectionnées par la couche conative en contrôlant leséquipements matériels modélisés de l’AUV.Dans le chapitre suivant, nous proposons de valider le fonctionnement de l’architectureREMORAS et l’approche de coopération réactive organisationnelle, à travers un scénariode recherche de boîte-noire.
CHAPITRE8Application à une missionsous-marineCe chapitre est consacré à l’implémentation et à la validation des principales contributionsapportées dans les chapitres 5, 6 et 7.6. Il s’agit en l’occurrence de valider au traversde scénarios simulés :– la formation d’organisation de flottilles d’AUV– l’approche de coopération réactive organisationnelle– le fonctionnement de l’architecture REMORASLes solutions apportées devront faire face aux deux principales contraintes qui limitent,à l’heure actuelle, le déploiement de flottilles de véhicules sous-marins autonomes,soit : (1) l’hétérogénéité des véhicules et (2) les restrictions des communications (débit limité,délais, fiabilité variable).Nous établissons tout d’abord, dans la section 8.1, une stratégie collective de fonctionnement.Elle fournit un cadre générique pour mettre en œuvre des missions multi-AUV.Nous présentons ensuite, dans la section 8.2, la plate-forme de simulation TurtleKit employéepour implémenter et valider nos solutions. Trois scénarios de simulation sont développésdans les sections 8.3, 8.4 et 8.5 pour valider les approches proposées dans la thèse.Enfin, la section 8.6 résume ce chapitre.8.1 Stratégie collective de fonctionnementLa réalisation d’une mission nécessite au préalable de former une organisationconcrète et de répartir les tâches. Bien que l’essentiel de la planification puisse être fait175
176 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINEhors ligne, il est nécessaire de fournir aux AUV un protocole pour pouvoir s’auto-organiseret ainsi pouvoir faire face aux aléas. C’est ce protocole, que nous proposons d’établir par lasuite et que nous appellerons stratégie collective de fonctionnement, ou plus simplementSKF.8.1.1 Organisation génériqueL’établissement de la SKF passe par la formation d’un modèle d’organisation générique.Celle-ci doit apporter une première structure à notre flottille et doit faciliter la miseen œuvre des missions multi-AUV en limitant les communications.Organisation artificielleNous avons vu, dans le chapitre 5, qu’une flottille d’AUV pouvait être structurée engroupes. Chaque groupe étant une unité d’AUV qui va devoir accomplir une mission précise(cf. section 7.3.3).Nous proposons d’organiser chaque groupe de la flottille par l’intermédiaire de deuxrôles : coordinateur et exécutant. La figure 8.1 illustre l’organisation artificielle d’ungroupe.CoordinateurExécutantFIGURE 8.1 : Organisation artificielle d’un groupe de la flottilleOrganisation concrète hiérarchiqueChaque groupe de la flottille est constitué d’un seul coordinateur tandis que les autresAUV jouent le rôle d’exécutant. On obtient ainsi une organisation hiérarchique au sein dechaque groupe comme illustré à la figure 8.2.
8.1. STRATÉGIE COLLECTIVE DE FONCTIONNEMENT 177CoordinateurCartographieurFIGURE 8.2 : Organisation hiérarchique au sein de chaque groupeCe type d’organisation présente plusieurs avantages. D’une part, il limite la coordinationet donc les communications nécessaires entre les AUV. L’AUV chargé de coordonnerle groupe récolte les informations des exécutants puis organise et planifie les tâches quidoivent être effectuées pour accomplir les missions <strong>du</strong> groupe. La gestion de l’organisationest effectuée de manière centralisée au sein de chaque groupe et le protocole de communicationreste très simple ce qui ré<strong>du</strong>it les échanges entre AUV.D’autre part, cette organisation laisse une grande liberté d’agencement des groupesentre eux ou en interne et permet de réaliser les missions de manière complètement décentralisée.Outre les rôles de coordinateur et d’exécutant, d’autres rôles peuvent être allouéslibrement. Une multitude de missions peuvent ainsi être réalisées. Il est possible parexemple d’établir une organisation purement hiérarchique, comme illustré à la figure 8.3,ou une organisation avec des groupes égalitaires (cf. figure 8.4).FIGURE 8.3 : Organisation hiérarchique entre lesgroupesFIGURE 8.4 : Organisation égalitaireentre les groupesEn contrepartie, ce type d’organisation présente l’inconvénient d’être sensible à laperte d’un coordinateur. Il existe néanmoins de nombreux protocoles pour élire un "lea-
178 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINEder" au sein d’un ensemble d’agents. Les plus connus sont les algorithmes de Bully [Coulouriset al., 2011] et de Chang and Roberts [Chang et Roberts, 1979].8.1.2 Différentes phases de fonctionnementDans le but de concilier la nécessité d’échanger des données pour organiser, planifieret répartir les tâches au sein de chaque groupe avec les contraintes <strong>du</strong> milieu sous-marin(principalement la limitation des débits, l’absence de fiabilité des transmissions et le dynamismede l’environnement), nous distinguons deux phases de fonctionnement : la phasede rassemblement et la phase autonome. Elles vont se succéder alternativement jusqu’àla fin de l’accomplissement de la mission. Le cycle de fonctionnement est illustré à la figure8.5.t = k t = k+1 t = k+N-1 t = k+NPhase deregroupementPhase autonome Phase autonome Phase deregroupementFIGURE 8.5 : Les différentes phases de fonctionnement de la stratégie collectivePhase de rassemblementLa phase de rassemblement met à profit l’organisation hiérarchique décrite précédemmentet des conditions de communication optimales pour que le coordinateur récolte lesinformations des exécutants (caractéristiques, rôles jouables, niveau d’accomplissement
8.1. STRATÉGIE COLLECTIVE DE FONCTIONNEMENT 179des objectifs), établisse l’organisation concrète et planifie/répartit les tâches qui doiventêtre effectuées.Durant cette phase, la configuration géométrique des AUV doit être maintenue de manièreà maximiser le débit utile des communications entre AUV. Il s’agit notamment demaintenir les AUV à des distances suffisamment proches pour ré<strong>du</strong>ire les retards et leserreurs de propagation des messages. La ré<strong>du</strong>ction des distances inter-véhicules permetd’augmenter la fréquence des signaux acoustiques échangés sous l’eau, d’augmenter lesdébits et de ré<strong>du</strong>ire les puissances d’émission nécessaires pour communiquer. Ce dernierpoint permet de limiter l’impact des ondes acoustiques sur l’environnement (les mammifèresy étant particulièrement sensibles) malgré la densité des communications.A noter aussi que la ré<strong>du</strong>ction de la distance inter-véhicules en dessous de 100 mètresrend possible l’utilisation de communications optiques sous-marines [Farr et al., 2010] auxdébits très élevés (environ 1 Mbps).Phase autonomeUne fois l’organisation concrète formée et les tâches réparties, les AUV accomplissentleurs tâches respectives de manière autonome jusqu’à la prochaine phase de rassemblement.Au cours de la phase autonome, les communications sont ré<strong>du</strong>ites au minimum. LesAUV s’échangent essentiellement des signaux d’influence pour effectuer leurs tâches quiont été préalablement planifiées. Ces signaux étant très simples (données utiles codées sur1 octet), les AUV vont pouvoir accomplir leurs tâches de manière la plus réactive possibleet faire face au caractère dynamique et imprévisible de l’environnement malgré la faiblessedes débits.Formes d’interactionLes différentes phases de la SKF mettent en jeu plusieurs formes d’interactions. Ellessont représentées à la figure 8.6.La phase de rassemblement met principalement en jeu des interactions de subordinationentre le coordinateur et les exécutants de chaque groupe. Les données échangées alimententessentiellement la couche sociale. Des signaux d’influence et des données fonctionnellessont néanmoins aussi échangées.Durant la phase autonome, les interactions entre les AUV sont de type paritaire. L’orga-
180 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINEEnvironnementAUVInteractionsdesubordinationDonnéesorganisationnellesCouchesocialeAutresAUVInteractionsparitairesSystèmedecommunicationSignauxd’influenceDonnéesfonctionnellesCoucheconativeCouchefonctionnelleFIGURE 8.6 : Formes d’interaction mises en jeunisation concrète n’est plus forcément hiérarchique et les signaux d’influence sont échangésen fonction des rôles joués dans la nouvelle organisation. Des données fonctionnellescontinuent d’être échangées alors qu’aucune donnée organisationnelle n’est transmise.8.1.3 BilanLa stratégie collective de fonctionnement, fruit d’une organisation hiérarchique au seinde chaque groupe, fournit un moyen aux AUV de constituer une organisation concrètepour accomplir les missions. La stratégie proposée allie une gestion de l’organisation centralisée,qui simplifie les protocoles de planification et de répartition des tâches, avec uneexécution autonome et décentralisée des tâches favorisant la réactivité des AUV. Elle reposesur l’enchainement successif de phases de rassemblement, au cours desquelles legroupe est réorganisé et les tâches sont allouées, et de phases d’autonomie <strong>du</strong>rant lesquellesles AUV exécutent leurs tâches avec des communications ré<strong>du</strong>ites au minimum.Dans la section suivante, nous présentons la plate-forme de simulation sur laquelle a
8.2. LA PLATE-FORME DE SIMULATION TURTLEKIT 181été implémentée l’architecture REMORAS de chaque AUV afin de mettre en œuvre la SKFde la flottille.8.2 La plate-forme de simulation TurtleKitPour le développement de nos simulations, nous avions besoin d’une plate-forme quipermette d’implémenter aisément le modèle cinématique et l’architecture REMORAS et demodéliser l’environnement dans lequel ceux-ci vont évoluer. Pour cela, nous avons choisid’utiliser la plate-forme de simulation TurtleKit.8.2.1 Présentation généraleLa plate-forme TurtleKit est un outil de simulation multi-agent développé au <strong>LIRMM</strong>(Laboratoire d’Informatique de Robotique et de Microélectronique de Montpellier) depuis2000. C’est un projet de logiciel libre qui permet d’implémenter des agents avec le langageorienté objet Java.Cette plate-forme est directement inspirée de StarLogo [Sta, 2013] et permet de modéliserdes systèmes multi-agents facilement. Un outil de programmation simple permet decontrôler le déplacement d’animats (tortues virtuelles) dans un environnement discrétiséen deux dimensions. Par exemple, la commande fd(10) fait avancer la tortue de 10 cases.L’utilisation de langages de haut-niveau (Java, Python) dans TurtleKit étend largementles possibilités de conception et de programmation (héritage par exemple). Elle va nouspermettre d’implémenter aisément l’architecture de nos AUV et nous faire bénéficier d’unensemble d’outils pour gérer les organisations (grâce au modèle AGR qui est implémentédans la plate-forme MaDKit [Ferber et al., 2003; Gutknecht et al., 2000] sur laquelle reposeTurtleKit), les communications et les interactions entre AUV, le débogage, la distribution(clustering), l’observation de simulations, etc.8.2.2 EnvironnementL’environnement modélisé dans TurtleKit est une surface en deux dimensions discrétiséeen cellules appelées patch. Chaque patch de coordonnée x et y peut contenir un ensemblede variables (couleur, etc.). Nous utilisons ces patchs pour modéliser le fond marinpar l’intermédiaire d’une variable (profondeur z) et d’une couleur en niveau de gris de fa-
182 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINEçon à pouvoir le visualiser. Un environnement sous-marin est illustré comme exemple à lafigure 8.7.FIGURE 8.7 : Exemple de visualisation d’un environnement sous-marinLe fond sous-marin est modélisé par un bruit de Perlin. La couleur des patchs est d’autantplus claire que le fond est profond. A noter que des trajectoires d’AUV sont aussi représentées(en rouge).Les variables de chaque patch étant modifiables par les agents, l’environnement peutainsi être utilisé comme support d’interaction. La possibilité de définir des modèles dediffusion de ces variables entre les différents patchs accroit encore les capacités de modélisationd’interactions.8.2.3 Véhicules sous-marins autonomesChaque AUV est implémenté dans une classe Java, appelée AUV, qui hérite de la classeTurtle (cf. 8.8). Cette dernière fournit l’ensemble des primitives de fonctionnement d’unagent dans TurtleKit.La classe AUV implémente le modèle cinématique de chaque véhicule décrit en annexeA.A noter que le déplacement des véhicules dans l’environnement de TurtleKit estcontinu.Trois classes sont utilisées pour décrire chacune des couches de l’architecture REMO-RAS et sont implémentées dans la classe AUV.
8.3. SCÉNARIO 1 : STRATÉGIE COLLECTIVE DE FONCTIONNEMENT NOMINALE 183TurtleAUVCouchesocialeCoucheconativeCouchefonctionnelleFIGURE 8.8 : Diagramme UML de l’implémentation d’un AUV8.3 Scénario 1 : stratégie collective de fonctionnementnominaleLe premier scénario consiste à implémenter la stratégie collective de fonctionnement(SKF) pour un groupe d’AUV, telle qu’elle est décrite à la section 8.1. La stratégie sera implémentéede manière à mettre en œuvre uniquement ce qui est nécessaire à son déroulementnominal.8.3.1 MotivationsA travers ce scénario, nous souhaitons valider tous les mécanismes qui nous permettronsd’implémenter de futures missions multi-AUV. Ici, les AUV n’auront pas de missioneffective à accomplir. Il s’agira simplement de réaliser le cycle de la SKF et d’effectuer unemission dite "fictive", dans laquelle les AUV n’auront qu’à déambuler au hasard.Il s’agira aussi d’apporter une première validation aux différentes contributions proposéesdans la thèse. Il sera notamment question :1. de former une organisation multi-AUV dans laquelle les AUV ont des rôles et destâches différentes à exécuter.2. de mettre en œuvre l’approche de coopération réactive avec des interactions hétérogènesentre les AUV et de la mettre à l’épreuve vis-à-vis des contraintes communicationnellesprésentes en milieu sous-marin (débit limité, incertitudes et retard detransmission, etc.).3. de valider le fonctionnement de l’architecture REMORAS.
184 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINE8.3.2 Description <strong>du</strong> scénario nominalComme nous l’avons vu à la section 8.1, la SKF se décompose en deux phases : la phasede rassemblement et la phase autonome. Ces phases s’enchaînent et forment un cycle jusqu’àl’accomplissement total de la mission.C’est au cours de la phase de rassemblement que sont établies l’organisation et la répartitiondes tâches qui permettront aux AUV d’exécuter la mission <strong>du</strong> groupe pendant laphase autonome, puis de se réunir à nouveau lors de la phase de rassemblement suivante.Dès lors, nous nous focalisons sur l’implémentation de la phase de rassemblement.La figure 8.9 présente le déroulement détaillé d’une phase de rassemblement avec lesinteractions mises en jeu. Elle est représentée en début de cycle de la stratégie collectiveavec une phase autonome et une nouvelle phase de rassemblement.CoordinateurExécutantsRassemblementdes exécutantsI+ C->EI+ E->CRalliement aucoordinateurRécolteinformations AUVet retour tâchesI+ C->E+idAUVI- C->E+idAUVInformations + retour tâchesTransmissioninformations AUVet retour tâchesRéorganisationet répartitiondes tâchesI+ C->E+idAUVI- C->E+idAUVOrganisation + tâchesRécolte del’organisation etdes tâchesPhase autonomePhase autonomePhase derassemblementPhase derassemblementFIGURE 8.9 : Détails <strong>du</strong> déroulement de la SKF
8.3. SCÉNARIO 1 : STRATÉGIE COLLECTIVE DE FONCTIONNEMENT NOMINALE 185La phase de rassemblement se déroule comme suit. Tout d’abord, le coordinateur secharge de rassembler les exécutants de son groupe. Les exécutants le rejoignent.Le coordinateur récolte ensuite différentes données concernant les véhicules exécutants.Les exécutants lui transmettent leurs informations AUV (identifiant, rôles jouables,etc.) de façon à lui permettre de réorganiser le groupe et lui retournent les tâches qui ontété effectuées au cours de la dernière phase autonome.Le coordinateur réorganise alors son groupe et planifie les tâches pour que les AUVaccomplissent la ou les missions <strong>du</strong> groupe pendant la prochaine phase autonome et seréunissent à nouveau <strong>du</strong>rant la phase de rassemblement suivante. L’organisation et lestâches sont transmises aux exécutants et les AUV débutent ensuite la phase autonome.8.3.3 Spécification des interactionsPendant toute la phase de rassemblement, les AUV vont se coordonner par l’intermédiairede signaux d’influence. Nous allons détailler les différentes interactions qui sontmises en œuvre.Interaction 1 : coordinateur - exécutantsL’émission de signaux d’influence positifs par le coordinateur adressés aux exécutantsmarque le début de la phase de rassemblement. Ils poussent les exécutants à le rejoindre(cf. table 8.1).Interaction I exécutant→coordinateurSituation d’interaction Signal I C→E But exécutantDébut phase derassemblementI>0 Rallier le coordinateurTABLE 8.1 : Interaction exécutant-coordinateurDe leur côté les exécutants émettent des signaux positifs au coordinateur. Ceux-ci vontpermettre aux coordinateur de se positionner au centre des exécutants et de garantir debons liens de communication avec eux (cf. table 8.2).Interaction 2 : coordinateur - exécutant identifiéUne fois les exécutants rassemblés autour <strong>du</strong> coordinateur, ils commencent un débriefingavec lui. Cette interaction est présentée à la table 8.3. Les exécutants transmettent
186 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINEInteraction I coordinateur→exécutantSituation d’interaction Signal I E→C But coordinateurDébut phase derassemblementI>0 Se positionner au centre des exécutantsTABLE 8.2 : Interaction coordinateur-exécutantau coordinateur leurs informations AUV et lui rendent compte des tâches qu’ils ont effectuées.Les messages transmis par les exécutants sont numérotés de façon à pouvoir contrôlerleur réception. Le coordinateur signale la réception de message par l’intermédiaire designaux d’influence.Interaction I exécutant→coordinateur+idAUVSituation d’interaction Signal I C→E+idAUV But exécutantMessage reçu (dans l’ordre) I>0 Emettre message suivantMessage non reçu I
8.3. SCÉNARIO 1 : STRATÉGIE COLLECTIVE DE FONCTIONNEMENT NOMINALE 187Interaction 3 : coordinateur identifié - exécutantLa même forme d’interaction est utilisée pour permettre au coordinateur de transmettreles données concernant l’organisation formée et les tâches planifiées aux exécutants.Dans ce cas ce sont les exécutants qui envoient les accusés de réception aux messagesnumérotés émis par le coordinateur. Cette interaction est illustrée à la table 8.4.Interaction I coordinateur→exécutant+idAUVSituation d’interaction Signal I E→C+idAUV But coordinateurMessage reçu (dans l’ordre) I>0 Emettre message suivantMessage non reçu I
188 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINEActivités vitales c a c ab c f D a P TmaxNavigation debase + réactivevrai faux faux f(t,z,σ,d obst. ) 0 1Déambulation d obst. < d sécu.sécurisée || guidage==faux faux Tmax P = P−δs 1Retour surfaceEmission signaldétresseénergie< 5 % ||présence eauaprès :retour surf.fauxz
8.3. SCÉNARIO 1 : STRATÉGIE COLLECTIVE DE FONCTIONNEMENT NOMINALE 189C - Tâches initialesObjectifsPour que les AUV effectuent la première phase de rassemblement, des objectifs leursont initialement alloués en fonction <strong>du</strong> rôle qu’il joue dans l’organisation. Le coordinateurest initialement programmé pour manager le groupe tandis que les exécutants sontpréprogrammés pour faire un débriefing au coordinateur (rapporter leurs propres informationsAUV, les rôles exercées, les tâches exécutées, etc.) et attendre que leur soit allouéde nouveaux rôles et de nouvelles tâches à accomplir. Cette répartition initiale des objectifsest présentée à la table 8.6.Objectifs Rôle c a c d c ab c fManagement <strong>du</strong>groupeCoordinateur vrai planif ? faux fauxDébriefing Exécutant vrai planif ? faux fauxTABLE 8.6 : Initialisation des objectifsLes objectifs sont activables à l’instant initial. Le début de l’accomplissement d’un objectif(c d ==true) est marqué par sa planification par un AUV (planif=true) et sa décompositionen activités. Les conditions de fin et d’abandon dépendront de l’exécution desactivités générées.MissionAu cours de la phase de rassemblement, le coordinateur va organiser la flottille et allouerles tâches aux AUV dans le but d’accomplir la ou les missions <strong>du</strong> groupe. Afin denous focaliser sur le déploiement de la stratégie collective de fonctionnement, nous avonschoisi de leur faire accomplir une mission "fictive", dans laquelle les AUV devront justedéambuler au hasard jusqu’à la prochaine phase de rassemblement.Cette mission est initialisée dès le début pour au moins un AUV <strong>du</strong> groupe (normalementle coordinateur) comme le serait n’importe quelle autre mission. Il sera ainsi facilede faire accomplir ultérieurement à la flottille une ou plusieurs autres missions suivant lecontexte.Mission Groupe c a c d c ab c fMission fictive Groupe opérationnel vrai planif ? faux fauxTABLE 8.7 : Initialisation mission "fictive"
190 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINELa mission fictive est initialisée de la même manière que les objectifs précédemmentcités (cf. 8.7) et ses conditions de déclenchement, d’abandon et de fin dépendront de lamême manière aux tâches issues de la planification de la mission, en l’occurrence ici desobjectifs qui auront été générés.8.3.5 Mise en œuvre de la première phase de rassemblementL’architecture REMORAS de chaque AUV est initialisée pour exercer un rôle dans l’organisationinitiale et remplir un objectif initial. A l’instant initial, les AUV vont décomposerleur objectif respectif. Ce sont alors les activités générées qui mettront en œuvre lapremière phase de rassemblement de la stratégie collective. Nous allons décrire commentdans cette sous-section.Planification des objectifsLes objectifs <strong>du</strong> coordinateur et des exécutants sont planifiés par l’intermédiaire deméthodes HTN (cf. section 7.6). Le fruit de leurs décompositions en activités est présentéaux figures 8.10 et 8.11.Management<strong>du</strong> groupeFinNavigationcomplèteAprèsTransmissionorganisation ettâches avec accuséde réceptionFinAgrégationAprèsPlanificationmission groupeFinEmission designauxd’attractionRécolter messagesnumérotés et signalerréceptionAprèsOrganisation<strong>du</strong> groupeFIGURE 8.10 : Objectif management de groupe : décomposition en activitésLes activités générées vont permettre aux AUV d’effectuer la phase de rassemblementselon le déroulement décrit à la sous-section 8.9. Elles mettront en œuvre les trois interactionsque nous avons caractérisées dans la section 8.3.3.Interaction 1 : trois activités sont implémentées par le coordinateur et les exécutantspour obtenir la première interaction. L’activité de navigation complète permet aux AUV de
8.3. SCÉNARIO 1 : STRATÉGIE COLLECTIVE DE FONCTIONNEMENT NOMINALE 191DébriefingFinNavigationcomplèteAprèsRécolter messagesnumérotés etsignaler réceptionFinSuivi devéhiculeFinEmission designauxd’attractionTransmissioninformations AUV etretour tâches avecaccusé de réceptionFIGURE 8.11 : Objectif débriefing : décomposition en activitésmesurer leur position (globale et relative) tandis que l’émission de signaux d’attraction dela part <strong>du</strong> coordinateur et des exécutants les pousse à se rapprocher. Le coordinateur se dirigealors au centre des exécutants par l’intermédiaire de l’activité d’agrégation tandis queles exécutants le rejoignent et le suivent via l’activité de suivi de véhicule. L’ensemble de cesactivités sont activables tout au long de la phase de rassemblement de façon à maintenirl’ensemble <strong>du</strong> groupe rassemblé autour <strong>du</strong> coordinateur.Interaction 2 : les exécutants vont transmettre leurs informations AUV et vont rendrecompte des tâches effectuées au coordinateur par l’intermédiaire de messages numérotés.Ils effectuent pour cela l’activité "transmission informations AUV et retour tâches avec accuséde réception". Le coordinateur signale la réception de message par l’activité "récoltermessages numérotés et signaler réception".Interaction 3 : une fois toutes les données des exécutants récoltées, le coordinateur vasuccessivement organiser le groupe, planifier la mission et transmettre à chaque exécutantsa position dans l’organisation et les tâches qu’il doit effectuer. De leur côté, les exécutantssignalent le coordinateur de la réception des messages numérotés. La fin de la transmissiondes données aux exécutants marque l’achèvement de l’objectif de management et lafin de toutes les activités générées.Mise en œuvre des activités généréesLes tables 8.8 et 8.9 représentent les activités générées en détails.La sélection d’une activité dans notre algorithme décisionnel (cf. chapitre 6) prend encompte quatre critères majeurs : les conditions (d’activation c a , d’abandon c ab et de finc f ) , le désir d’activation D a et la mesure de satisfaction personnelle P. Ces critères vontêtre détaillés pour chaque type d’activités généré par la planification des objectifs.
192 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINEActivités c a c ab c f D a P TmaxNavigationcomplètevrai faux faux Tmax 0 0.5AgrégationEmission designauxd’attractionRécolter messagesnumérotés etsignaler réceptionOrganisation <strong>du</strong>groupePlanificationmission groupeTransmissionorganisation ettâches avec accuséde réceptionI E→Creçufauxfauxvrai faux fauxd ce
8.3. SCÉNARIO 1 : STRATÉGIE COLLECTIVE DE FONCTIONNEMENT NOMINALE 193Activités c a c ab c f D a P TmaxNavigationcomplètetrue false false Tmax 0 0.5Suivi de véhiculeEmission designauxd’attractionTransmissioninformations AUVet retour tâchesavec accusé deréceptionRécolter messagesnumérotés etsignaler réceptionI C→Ereçufaux faux I C→EP(t)=P(t−∆t)+υ G0.5vrai faux fauxd ce ζ) et que sa distance vis à vis de celui-ci ne varie que très peu (−ε
194 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINEganisation et tâches avec accusé de réception" pour le coordinateur et de "transmissioninformation AUV et retour tâche avec accusé de réception".– Conditions : les signaux d’attraction peuvent être émis par le coordinateur et les exécutantspendant toute la <strong>du</strong>rée de la phase de rassemblement (c a = vrai,c ab = fauxet c f = faux). La récolte et la transmission de messages numérotés ne se fait quelorsque la distance coordinateur-exécutant d ce est inférieure à la distance de rassemblementdésirée d rd (c a = d ce < d rd ). La transmission prend fin lorsque le derniermessage a été envoyé (m e == fin) et l’accusé de réception reçu (I reçu +). Larécolte prend fin lorsque le dernier message à été reçu (m r == fin) et qu’il n’est pasreçu à nouveau après une certaine <strong>du</strong>rée t−t me ==fin > τ (cela signifie que l’accuséde réception a été reçu par l’émetteur), où t est la date actuelle, t me ==fin est la date<strong>du</strong> dernier message reçu et τ la <strong>du</strong>rée à partir de laquelle l’accusé de réception estconsidéré comme reçu par l’émetteur des messages numérotés.– Calcul <strong>du</strong> désir d’activation : pour permettre à chaque activité de communicationactivable de transmettre des données en proportion de son importanceTmax, le désird’activation est calculé tel que D a = min[Tmax,(t−t e )·σTmax], où t est la dateactuelle, t e est la date <strong>du</strong> dernier message émis par l’activité et σ
8.3. SCÉNARIO 1 : STRATÉGIE COLLECTIVE DE FONCTIONNEMENT NOMINALE 195méthodes par exemple). Leur <strong>du</strong>rée d’exécution n’est donc pas censée s’éterniser.Si tel est le cas, l’activité a rencontré un problème et sa satisfaction diminue P(t) =P(t−∆t)−δs.Remarque 3. Pour rappel, l’algorithme décisionnel décrit au chapitre 6 sélectionne les activités(activables) à exécuter en fonction de leurs tendances. Chaque activité i évalue satendance tel que T i (t)=min(D ai (t)+P(t),Tmax i ), où Tmax est l’importance de l’activité(définie à la dernière colonne des tables 8.8 et 8.9). La satisfaction personnelle est évaluéeuniquement lors de l’exécution de l’exécution de l’activité et le désir d’activation est temporairementinhibé lorsqu’une activité est arrêtée.8.3.6 Mise en œuvre de la SKF complèteNous venons de décrire la façon de mettre en œuvre une phase de fonctionnement, enl’occurrence la première. Au cours de celle-ci, le coordinateur va planifier de nouveaux objectifsà accomplir pour l’ensemble des AUV <strong>du</strong> groupe en fonction de la mission à réaliser.Ces objectifs vont, d’une part, assurer la réalisation des tâches effectives de la mission pendantla phase autonome et, d’autre part, assurer le ralliement des AUV pour la prochainephase de rassemblement.Dans ce scénario, le groupe a la charge d’accomplir la mission fictive. La figure 8.12illustre la planification de la mission effectuée par le coordinateur. Des objectifs indivi<strong>du</strong>els,appelés déambulation, sont attribués à chaque AUV <strong>du</strong> groupe. La décompositionde ces objectifs par les AUV est représentée sur la même figure.La décomposition des objectifs de déambulation donne lieu à une activité de navigationde base réactive et à une activité sécurisée. Leurs exécutions permettront aux AUV dedéambuler au hasard jusqu’à la prochaine phase de rassemblement. Celle-ci est d’ailleursplanifiée par deux nouveaux objectifs de management <strong>du</strong> groupe et de débriefing (cf. figure8.12), respectivement alloués au coordinateur et aux exécutants. Leur décompositionpar les AUV à la manière décrite dans la sous-section 8.3.5 permettra de planifier un nouveaucycle de la SKF.Le processus se répète indéfiniment jusqu’à l’achèvement de la mission ou jusqu’à ceque les AUV n’aient plus de batteries (cf. section 8.3.4).
196 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINEMission fictiveAUV1ExécutantDéambulationDébriefingFinNavigationde base + réactiveDéambulationsécuriséeAUV2AUV?CoordinateurFinNavigationcomplèteRécolter messagesnumérotés etsignaler réceptionDéambulationManagement<strong>du</strong> groupeFinNavigationde base + réactiveDéambulationsécuriséeFinNavigationcomplèteTransmissionorganisation ettâches avec accuséde réceptionFIGURE 8.12 : Planification de la mission fictive8.3.7 Configuration de la simulationLe comportement des AUV va être simulé sur TurtleKit. L’architecture REMORAS dechaque AUV est imlémentée au sein de la plate-forme tel que nous l’avons décrit à la section8.2. Nous présentons ici les principaux paramètres de simulation.EnvironnementLes AUV évoluent dans une zone de 1600 m de long, 850 m de large à une profondeurcomprise entre 0 m (pixels noirs) et 255 m (pixels blancs). Un zoom est réalisé sur la zoneoù se déplacent réellement les AUV. Par la suite notre zone d’intérêt mesure 920 m de longet 700 m de large.OrganisationL’organisation concrète comprend un groupe de quatre AUV (cf. figure 8.13). L’AUV1joue le rôle de "Coordinateur" tandis que les trois autres (AUV2, AUV3, AUV4) exercerontle rôle d’exécutant.Les AUV sont initialement configurés pour exercer leur rôle dans l’organisationconcrète établie et accomplir l’objectif correspondant à celui-ci. Ils n’ont aucune in-
8.3. SCÉNARIO 1 : STRATÉGIE COLLECTIVE DE FONCTIONNEMENT NOMINALE 197FIGURE 8.13 : Organisation concrète initialeIdentifiant AUV 1 AUV 2 AUV 3 AUV 4Vitesse de croisière 2 m.s −1 1.3 m.s −1 1.5 m.s −1 1.1 m.s −1Distance de sécurité 15 m 15 m 30 m 20 mTABLE 8.10 : Caractéristiques des AUVformation sur les autres AUV qui composent la flottille. Ils ne connaissent ni les rôlesexercés par les autres AUV, ni les objectifs qu’ils doivent accomplir.Paramètres de simulationLes caractéristiques des quatre AUV sont décrits à la table 8.10. Les AUV sont tous équipésdes capteurs de navigation (centrale inertielle, capteur de pression, Lock Doppler, magnétomètres3 axes, sonar frontal, pinger) qui leur permet de se localiser et de détecterles obstacles. Ils sont aussi équipés d’un modem acoustique qui leur permet de communiquer.La table 8.12 détaille les paramètres de communication décrits à la section 7.5.2.Enfin, les paramètres de sélection d’activité (cf. chapitre 6 et section 8.3.5) sont regroupéesà la table 8.11.Description Param. ValeurPas d’échantillonnage T ech 1 sCoef. d’altruisme α 0.5Persistence λ 0.2Variation satisf. P δs 0.01Coef. d’inhibition ɛ 0.01Dist. rassemblement d rd 40 mCoef. d’inhibition com. σ 0.1TABLE 8.11 : Paramètres décisionnelsDescription Param. ValeurVitesse son c 1500 m.s −1Fréquence d’émission f 1.5 KHzDébit d’émission D 50 bit.s −1Niveau sonore d’émis. SL 177 dBSeuil de réception SR 100 dBProba. de réception P r 0.75Facteur d’étalement γ 2TABLE 8.12 : Paramètres de communication
198 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINE8.3.8 Résultats de simulationA l’instant initial, les AUV sont positionnés aléatoirement en surface (z = 0 m) dansun rayon de 200 m. Chaque AUV décompose son objectif "Management <strong>du</strong> groupe" ou"Débriefing" en fonction <strong>du</strong> rôle qu’il joue initialement.Phase de rassemblement initiale- Etape 1 : rassemblementLa figure 8.14 présente la trajectoire de chaque AUV au début de la phase de rassemblementinitiale. La trajectoire de l’AUV 1, qui joue le rôle de "Coordinateur", est tracée enmagenta tandis que celles des AUV 2, 3 et 4 sont tracées respectivement en violet, vert etbleu.FIGURE 8.14 : Rassemblement initialLes différentes trajectoires montrent les AUV en train d’interagir pour se rassemblerautour <strong>du</strong> coordinateur (interaction 1). Le coordinateur et les exécutants émettent des signauxd’attraction. Les exécutants suivent le coordinateur tandis que ce dernier ce positionneau milieu de la flotte au bout d’environ 44 s. L’utilisation de signaux d’influencepour se coordonner spatialement permet aux AUV d’atteindre très rapidement la configurationspatiale désirée malgré les fortes contraintes de communication.
8.3. SCÉNARIO 1 : STRATÉGIE COLLECTIVE DE FONCTIONNEMENT NOMINALE 199- Etape 2 : collecte des données par le coordinateurUne fois rassemblés autour <strong>du</strong> coordinateur, les exécutants lui transmettent leurs informationsAUV, le rôle qu’ils exercent au sein de l’organisation et rendent compte, le caséchéant, des objectifs accomplis.Le coordinateur coordonne la transmission des données de chaque exécutant en émettantde signaux d’influence signalant la réception ou non des messages (interaction 2). Enraison des faibles débits de communication (D = 50bit.s −1 ) et des erreurs de propagation(P r = 0.75), les données ne sont totalement transmises au coordinateur qu’au bout de 78 s.- Etape 3 : organisation de la flottille et planification de la missionLe coordinateur peut alors réorganiser le groupe, décomposer la mission fictive et planifierles différents objectifs que les AUV vont devoir accomplir pendant la phase autonomeet la prochaine phase de rassemblement. Les objectifs de "Déambulation" sont directementalloués aux AUV pour qu’ils soient exécutés immédiatement après la phase derassemblement tandis les objectifs de "Management <strong>du</strong> groupe" et de "Débriefing" sontrespectivement alloués au coordinateur et aux exécutants pour qu’ils soient exécutés dans500 s. La prochaine phase de rassemblement est ainsi programmée.- Etape 4 : allocation des rôles et des objectifsLe coordinateur confirme aux exécutants leur rôle dans l’organisation et leur transmetleurs objectifs indivi<strong>du</strong>els et collectifs qu’il vient de planifier. Les exécutants se coordonnentavec le coordinateur via l’interaction 3 pour la transmission des données. La finde la transmission, d’une <strong>du</strong>rée d’environ 124 s, marque la fin de la phase de rassemblementinitiale. Les AUV vont pouvoir débuter la phase autonome et accomplir les nouveauxobjectifs qui leurs ont été alloués dans le cadre de la mission fictive.La figure8.15 présente les trajectoires des AUV après la phase de rassemblement. Onpeut noter la difficulté des AUV à maintenir la configuration spatiale lors de la transmissiondes messages de haut-niveau. Les retards dûs à la transmission de ces grandes quantités dedonnées, conjugués aux pertes de données, ne permettent pas aux AUV de se coordonnerspatialement de façon optimale. Malgré tout, les signaux d’influence émis entre chaquemessage numéroté permettent aux AUV de se maintenir rassembler sans se heurter et dese transmettre correctement les messages nécessaires pour planifier le prochain cycle dela SKF.
200 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINEFIGURE 8.15 : Phase de rassemblement terminée et début de la phase autonomeExécution d’un cycle complet de la SKFLes AUV vont déambuler au hasard pendant toute la phase autonome puisque aucunemission réelle ne doit être accomplie dans ce scénario. Les AUV se rassemblent ensuite denouveau autour <strong>du</strong> coordinateur à travers les objectifs collectifs ("Management <strong>du</strong> groupe"ou "Débriefing" ) exécutés dans le cadre de leur rôle. La figure 8.16 montre la trajectoire desAUV au moment de leur regroupement après la phase autonome. Les AUV vont interagirde la même manière que lors de la phase de rassemblement initiale et le coordinateur vaplanifier un nouveau cycle de la SKF.Déroulement de la SKFLes cycles de la SKF peuvent s’enchaîner indéfiniment tant que la mission n’est pasterminée et que les AUV ont suffisamment d’énergie. La figure 8.17 présente les trajectoiresdes AUV après trois cycles complets.
8.3. SCÉNARIO 1 : STRATÉGIE COLLECTIVE DE FONCTIONNEMENT NOMINALE 201FIGURE 8.16 : Cycle completFIGURE 8.17 : Enchaînement de plusieurs cycles de la SKF
202 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINE8.3.9 AnalyseLes résultats de simulation obtenus dans la section précédente ont montré commentun groupe d’AUV pouvait se coordonner et interagir en utilisant notre approche de coopérationréactive organisationnelle. La réalisation de la stratégie collective de fonctionnementconstitue une première étape de validation des différentes contributions apportéesau cours de la thèse.Ce scénario simple a permis de mettre en œuvre les différents mécanismes employéspar les trois couches de l’architecture REMORAS :1. la formation d’une organisation concrète d’AUV, la planification et l’allocation desobjectifs aux AUV en fonction <strong>du</strong> rôle qu’ils exercent dans l’organisation.2. le processus décisionnel réactif qui permet aux AUV de sélectionner les activités àengager en fonction des stimuli internes et externes.3. les mo<strong>du</strong>les et les modèles d’équipements qui mettent en œuvre les activités.Il permet de valider le fonctionnement général de l’architecture REMORAS.HétérogénéitéLe scénario met en œuvre deux rôles : un coordinateur et des exécutants. Nous avonspu voir qu’il était possible de spécifier des interactions spécifiques à chaque rôle. ChaqueAUV interprète d’une manière propre au rôle qu’il exerce les signaux émis par les autresAUV dans le cadre d’autres rôles joués. Dans notre scénario par exemple, chaque exécutantva agir en fonction des signaux d’influence émis par le coordinateur et va omettre lessignaux des autres exécutants.La spécification de l’identifiant de l’AUV destinataire des signaux d’influence en plus decelle de son rôle accroit d’autant plus les possibilités d’interaction avec notre approche decoopération réactive. Elle permet à un AUV d’interagir avec un seul AUV bien défini commelorsque le coordinateur souhaite collecter les données d’un exécutant en particulier.Enfin, nous avons mis en évidence dans ce scénario qu’il était possible d’utiliser lessignaux d’influence pour plusieurs formes de coordination. Les AUV les utilisent pour coordonnerla transmission des messages de haut niveau (informations AUV, organisation,mission, objectifs, etc.) en plus de les utiliser pour se coordonner spatialement.
8.3. SCÉNARIO 1 : STRATÉGIE COLLECTIVE DE FONCTIONNEMENT NOMINALE 203Robustesse vis à vis des incertitudes de communicationLes résultats de simulations ont été obtenus avec de sévères contraintes de communication: débit d’émission limité (D = 50 bit.s −1 ), erreurs de propagation (probabilité deréception P r = 0.75), retard de communication, atténuation des signaux, etc. Les résultatsde simulation montrent l’intérêt d’utiliser les signaux d’influence pour se coordonner dansces conditions.Les interactions qui mettent uniquement en jeu ces signaux pour se coordonner s’effectuentavec efficacité. Par exemple, le rassemblement des exécutants autour <strong>du</strong> coordinateurlors de la première phase de rassemblement (cf. figure 8.14) s’effectue de façonefficace.Néanmoins, la transmission des données organisationnelles comme lors de la collectedes informations des exécutants par le coordinateur ou de la transmission des nouveauxobjectifs à la flotte vient saturer le canal de communication. Les signaux d’influence émisentre chaque message numéroté permettent de signaler très rapidement la bonne réception<strong>du</strong> message. Entre chaque message numéroté d’autres signaux sont aussi émis pourpermettre aux AUV de se coordonner pour maintenir la configuration spatiale.On peut remarquer que malgré l’impossibilité d’émettre des signaux d’influence pendantla <strong>du</strong>rée de la transmission de chaque message contenant des informations organisationnelles.Chaque message met environ entre 6 et 10 secondes pour arriver au destinataire.Notre approche de coopération parvient à maintenir les AUV rassemblés sans seheurter et à coordonner la transmission des données organisationnelles pendant toute la<strong>du</strong>rée de la phase de rassemblement. Lors de nos différents tests, les AUV ont pu se coordonneravec succès au cours de plus de cinquante cycles de fonctionnement de la stratégiecollective.Il convient néanmoins de limiter la transmission d’importantes quantités d’informationsde façon à ne pas saturer le canal de communication. C’est pour cela que nous leslimitons aux phases de rassemblement. Une autre solution serait d’utiliser un autre équipementpour transmettre ces données organisationnelles afin de ne pas saturer le canal decommunication utilisé par les signaux d’influence. Nous utilisons notamment cette solutiondans le scénario de recherche de boîte-noire, section 8.5.
204 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINE8.4 Scénario 2 : stratégie collective de fonctionnement avecaléasDans ce deuxième scénario, nous allons voir qu’il est très facile d’étendre la versionnominale de la SKF décrite à la section précédente.L’objectif est de la rendre plus robuste à certains aléas qui peuvent survenir pendantson déroulement. Il sera ainsi question d’implémenter de nouvelles interactions entre lesAUV, ce qui nous permettra de vérifier la souplesse d’utilisation et la mo<strong>du</strong>larité de notreapproche de coopération réactive organisationnelle.8.4.1 Intro<strong>du</strong>ction de nouvelles interactionsFaire face aux aléasDifférents types d’aléas peuvent empêcher le fonctionnement de la stratégie collective.Nous en avons relevé trois auxquels nous allons essayer de faire face par l’intro<strong>du</strong>ction denouvelles interactions :1. un exécutant peut se trouver hors de portée des signaux émis par le coordinateur etainsi être dans l’incapacité de le rejoindre <strong>du</strong>rant la phase de rassemblement. L’interaction4 va permettre aux exécutants de s’entraider pour rallier le coordinateur.2. le coordinateur peut subir une avarie au cours de la mission et ne pas être en mesurede rassembler les exécutants. L’interaction 5 va permettre aux exécutants de choisirun nouveau coordinateur.3. enfin, plusieurs coordinateurs peuvent se retrouver à coordonner le même groupes’il y a eu une coupure prolongée de communication ou que de nouveaux AUVviennent intégrer le groupe. L’interaction 6 va permettre aux coordinateurs en tropde redevenir des exécutants.Ces nouvelles formes d’interaction sont ajoutées aux interactions déjà implémentéesdans le scénario nominal (cf. section 8.3). Elles font intervenir de nouveaux signaux d’influencequi sont représentés en rouge à la figure 8.18.Interaction 4L’interaction 4 est représentée à la table 8.13. Lorsqu’un exécutant reçoit un signal d’attraction(I C→E + de la part <strong>du</strong> coordinateur ou (I E→E + de la part d’un exécutant, celui-ci
8.4. SCÉNARIO 2 : STRATÉGIE COLLECTIVE DE FONCTIONNEMENT AVEC ALÉAS 205CoordinateurExécutantsRassemblementdes exécutantsI+ C->EI+Ralliement auE->EcoordinateurI+I Ē->EE->CI- C->CFIGURE 8.18 : Ajout d’interactions entre exécutantsRécolte...Transmission...propage cette attraction en émettant un signal positif aux autres exécutants. Si un exécutantne reçoit pas les signaux émis par le coordinateur, celui-ci suit l’exécutant qui émet unsignal d’attraction jusqu’à être à portée <strong>du</strong> coordinateur.Interaction I exécutant→exécutantSituation d’interaction Signal I E→E But destinataireRéception signalcoordinateurI>0 Suivre l’émetteurTABLE 8.13 : Interaction 4 exécutant-exécutantLa propagation de signaux a prouvé son efficacité pour la résolution de problèmesde coordination spatiale dans [Simonin, 2001]. Pour ce faire, le signal réémis doit être demoins grande intensité que celui initialement reçu. Cela permet d’assurer une terminaisonà la propagation des signaux (les AUV ne vont pas se propager entre eux les signauxindéfiniment) et à un AUV de déterminer facilement la source à suivre en cas de réceptionde plusieurs signaux (le signal de plus forte intensité correspond au chemin le plus court).De la même manière que dans [Simonin, 2001], les AUV vont réemettre le signalde plus grande intensité reçu avec une intensité moitié moindre : I émis =12max(I C→E +,I E→E + reçus).Interaction 5Pour cette interaction, présentée à la table 8.14, les exécutants vont émettre des signauxnégatifs aux autres exécutants lorsqu’ils ne reçoivent aucun signal d’attraction de la part<strong>du</strong> coordinateur ou des autres exécutants. C’est un signe qu’aucun coordinateur n’est àproximité.L’intensité des signaux est utilisée pour exprimer l’intensité avec laquelle l’AUV sou-
206 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINEInteraction I exécutant→exécutantSituation d’interaction Signal I E→E But destinataireAucun signal <strong>du</strong> coordinateurreçu et aucun signal d’attrac--tion d’exécutant I + E→E reçu I
8.4. SCÉNARIO 2 : STRATÉGIE COLLECTIVE DE FONCTIONNEMENT AVEC ALÉAS 207Interaction 6Dans le cas où de nouveaux véhicules viendraient intégrer la flottille ou en cas de coupureprolongée de communication, plusieurs coordinateurs peuvent se retrouver à appartenirau même groupe. Chaque coordinateur signale sa présence aux autres coordinateurspotentiels par l’intermédiaire de signaux d’influence négatifs émis régulièrement ou à laréception d’un signal émis par un autre coordinateur. Cette interaction est présentée à latable 8.15.Interaction I coordinateur→coordinateurSituation d’interaction Signal I C→C But destinataireDélais de non émissionDésistement <strong>du</strong> rôle deI
208 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINEet accomplir l’objectif de débriefing. Comme dans le scénario nominal, le groupe d’AUVdoit effectuer une mission fictive.Les méthodes de planification des objectifs sont néanmoins mises à jour pour intégrerles nouvelles interactions. En plus des activités générées initialement, de nouvelles activitéssont générées au moment de la décomposition de chaque objectif. Elles sont illustréesaux figures 8.19 et 8.20, et présentées en détails dans les tables 8.16 et 8.17.Management<strong>du</strong> groupeFinFinAutres activitésdemanagementAutres activitésdemanagementFinEmission signauxd’insatisfactionde l’organisationFinChangementde rôleFIGURE 8.19 : Nouvelles activités générées lors de la décomposition de l’objectif managementde groupeDébriefingFinFinAutresactivitésde débriefingAutresactivitésde débriefingFinSuivi devéhiculeFinChangementde rôleFinPropagationsignaux attractifsAvecEmission signauxd’insatisfactionde l’organisationFinAggregationFIGURE 8.20 : Nouvelles activités générées lors de la décomposition de l’objectif débriefingLes conditions d’activation des nouvelles activités générées implémentent les situationsd’interaction qui ont été énoncées à la section précédente. Le désir d’activation et lasatisfaction personnelle de ces activités sont évaluées de la même manière que pour lesactivités initialement générées. Le mode de calcul dépend <strong>du</strong> type d’activité tel que décritsection 8.3.5.
8.4. SCÉNARIO 2 : STRATÉGIE COLLECTIVE DE FONCTIONNEMENT AVEC ALÉAS 209Activités c a c ab c f D a P Tmaxt>(t émis. I C→Cmin[Tmax,+délais) || I C→C faux faux (t−t e )·0 0.5reçuσTmax]Emission signauxd’insatisfaction del’organisationChangement derôle|min(I − C→Creçus)|>P AR (coord.)faux faux TmaxTABLE 8.16 : Nouvelles activités générées par le coordinateurP(t)=P(t−∆t)−δsActivités c a c ab c f D a P TmaxSuivi de véhicule I + E→E reçu faux faux max(I E→E P(t)=P(t−0.3reçus) ∆t)+υ GPropagation I + C→E reçu||min[Tmax,signaux attractifs I + E→E reçu faux faux (t−t e )·0 0.2σTmax]Agrégation I − E→E reçu faux faux max(|I − E→C | P(t)=P(t−0.1reçus) ∆t)+υ GEmission signauxd’insatisfaction del’organisationChangement derôleaucun I + C→E ouI + E→E reçu faux fauxmin[Tmax,(t−t e )·σTmax]|min(I − C→C re--çus)| == −1& faux faux TmaxI − E→E émis
210 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINEIdentifiants AUV 1 AUV 2 AUV 3 AUV 4Coordinateur 1 0.2 0.1 0.05Exécutant 0.5 0.9 0.9 0.8TABLE 8.18 : Indices de performance des AUVles AUV de façon à ce qu’ils puissent changer de rôle dès la première phase de rassemblementsi nécessaire.Phase de rassemblement initialeDébut de fonctionnement nominalLes AUV sont initialement positionnés dans un rayon de 200 m. La figure 8.21 présenteles trajectoires initiales des AUV 1, 2, 3 et 4, respectivement représentées en magenta, violet,vert et bleu. Comme dans le scénario 1, les AUV tendent à se rassembler autour <strong>du</strong>coordinateur, l’AUV 1, dès les premiers instants. Sur cette figure, on peut voir que l’AUV 1reste immobilisé après avoir essayé de se positionner au centre des exécutants.FIGURE 8.21 : Perte <strong>du</strong> coordinateur <strong>du</strong>rant la phase de rassemblement initialePremier aléa : perte d’un AUVL’unique coordinateur <strong>du</strong> groupe reste en panne 25 s après le début de la phase derassemblement.
8.4. SCÉNARIO 2 : STRATÉGIE COLLECTIVE DE FONCTIONNEMENT AVEC ALÉAS 211Les exécutants ne reçoivent plus de signaux <strong>du</strong> coordinateur, ils interagissent à la façondécrite par l’interaction 5. Ils se transmettent des signaux d’insatisfaction (négatif) dontl’intensité est relative à leur désir de prendre le rôle de coordinateur et se rapprochent lesuns des autres. L’AUV 2 a le plus grand indice de performance pour exercer le rôle de coordinateur(cf. table 8.18). Une fois qu’il reçoit l’approbation des autres exécutants pourchanger de rôle (tous les signaux d’influence reçus ont pour valeur −1), l’AUV 2 changede rôle pour exercer celui de coordinateur. Il arrête les activités générées à partir de l’objectif"Débriefing" qu’il accomplissait dans le cadre de son ancien rôle d’exécutant pouraccomplir son nouvel objectif de "Management <strong>du</strong> groupe".Reprise <strong>du</strong> fonctionnement nominal avec trois AUVLe nouveau coordinateur émet alors des signaux d’attraction à l’attention des autresexécutants et les AUV 3 et 4 se rassemblent désormais autour de lui (cf. figures 8.21 et 8.22).Le coordinateur peut alors collecter les données des exécutants, organiser, planifier et allouerles objectifs pour l’ensemble <strong>du</strong> groupe d’AUV pour le prochain cycle de la SKF.FIGURE 8.22 : Réalisation de la mission fictive par trois AUVLa figure 8.22 présente les trajectoires des AUV après la phase de rassemblement initialeréalisé autour de l’AUV 2 (tracé en bleu). A noter que la phase de collecte d’informationet de transmission de la nouvelle organisation et des nouveaux objectifs <strong>du</strong>re moins detemps qu’avec quatre AUV. Elle est à présent de 131 s alors qu’elle était de 208 s dans lescénario précédent (cf. sous-section 8.3.8). Cela se tra<strong>du</strong>it par un déplacement limité desAUV <strong>du</strong>rant cette phase et une meilleure coordination spatiale (cf. figure 8.22).
212 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINENouveau cycle de la SKFDeuxième aléa : ajout de véhiculesPendant que les AUV déambulent au hasard pendant la phase autonome, deux AUVsont intro<strong>du</strong>its dans la flotte. Les AUV 5 et 6 ont des caractéristiques identiques aux AUV 2et 3, respectivement. Seul leurs indices de performance pour les rôles de coordinateur etd’exécutant changent et sont présentés à la table 8.19. L’AUV 5 joue initialement le rôle decoordinateur et l’AUV 6 celui d’exécutant.Identifiants AUV 5 AUV 6Coordinateur 0.9 0.25Exécutant 0.5 0.7TABLE 8.19 : Indices de performance des AUV 5 et 6L’intro<strong>du</strong>ction de ces deux AUV est visible en haut à gauche sur la figure 8.23. L’AUV 5,tracé en rose, tend à rejoindre les exécutants pour la prochaine phase de rassemblementtandis que l’AUV 6, tracé en gris, essaye de rejoindre le coordinateur dont il perçoit les signauxd’influence.FIGURE 8.23 : Désistement <strong>du</strong> rôle de coordinateur pour le rôle d’exécutantLa figure 8.23 illustre la phase de rassemblement qui suit l’intro<strong>du</strong>ction des deux nouveauxAUV. Deux AUV se retrouvent à exercer le rôle de coordinateur. L’interaction 6 permetle désistement d’un AUV de son rôle de coordinateur en cas de conflit avec un autre. Dans
8.4. SCÉNARIO 2 : STRATÉGIE COLLECTIVE DE FONCTIONNEMENT AVEC ALÉAS 213cette interaction, les coordinateurs émettent régulièrement des signaux d’influence négatifsdont l’intensité correspond à leur indice de performance pour le rôle de coordinateur.Celui dont l’indice est le plus faible se désiste au profit de l’autre.La figure 8.23 montre clairement que les AUV se regroupent autour de l’AUV 5. L’AUV 2 arepris son rôle d’exécutant qui était initialement le sien. A noter que l’AUV 6 (tracé en gris) areçu initialement des signaux d’influence de la part de l’AUV 2 lorsqu’il était coordinateur.C’est donc naturellement qu’il a commencé à le suivre jusqu’à ce que ce dernier se désistede son rôle. Ceci explique son changement de trajectoire visible à la figure 8.23.Troisième aléa : coupure prolongée de communicationNous avons simulé une coupure prolongée de communication pour l’AUV 2 (tracé enviolet). Celui-ci ne reçoit pas les signaux <strong>du</strong> coordinateur pendant la phase de rassemblement.Les autres exécutants propagent les signaux d’attractions <strong>du</strong> coordinateur ce quipermet à l’AUV 2 de rejoindre malgré tout les autres AUV. Les signaux reçus d’attraction parl’AUV 2 proviennent de différentes sources. Cela explique sa trajectoire sinueuse jusqu’à cequ’il reçoive à nouveau les signaux envoyés par le coordinateur.Reprise des cycles de fonctionnement de la stratégie collectiveA la fin de la simulation, le nouveau coordinateur, l’AUV 5 a planifié et alloué avec succèsles nouveaux objectifs à accomplir pour les cinq AUV qui composent dorénavant laflottille. La figure 8.24 présente le début d’un nouveau cycle de la SKF. Les AUV vont déambulerjusqu’à la prochaine phase de rassemblement.8.4.4 AnalyseLes résultats de simulation que nous venons de décrire montrent une manière pour lesAUV de coopérer dans le but d’effectuer la SKF malgré la présence d’aléas. Ce scénario meten évidence certains aspects de notre approche de coopération réactive organisationnelle,notamment ses propriétés de mo<strong>du</strong>larité et de robustesse.Mo<strong>du</strong>laritéMo<strong>du</strong>larité des interactions : l’ajout des nouvelles interactions par rapport au scénarionominal n’a nécessité aucune modification des interactions existantes. Ceci est ren<strong>du</strong>possible grâce à la méthode d’adressage entre rôles pour la transmission des signaux d’influenceet il suffit d’utiliser le reste des plages de signaux d’influence non utilisées par les
214 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINEFIGURE 8.24 : Nouvelle phase autonomeinteractions existantes. A noter que l’intro<strong>du</strong>ction de ces nouvelles interactions n’a pas dégradéle comportement des interactions existantes. Au contraire, elles permettent aux exécutantsde mieux conserver leur configuration géométrique avec le coordinateur puisqu’ilss’échangent désormais des signaux.Ajout/suppression de véhicules : l’accomplissement de la SKF s’est correctement dérouléequel que soit le nombre de véhicules présent dans la flottille. Un AUV de rôle biendéterminé peut facilement être intro<strong>du</strong>it dans la flottille. Il va exercer son rôle normalementde façon transparente pour le reste de la flottille comme s’il en avait toujours faitpartie. Les AUV 5 et 6 par exemple sont facilement intégrés à la flottille, seule l’interaction5 qui veille à ce qu’un seul coordinateur manage le groupe va entrainer le désistement <strong>du</strong>rôle de coordinateur par l’AUV 2. Ce désistement s’effectue néanmoins de manière nominaledans le cadre de l’interaction 5 et le cours de la SKF continue de façon nominale.RobustesseRobustesse vis à vis de la perte de véhicules : le déroulement de la SKF est fortementlié au fait qu’un AUV exerce le rôle de coordinateur. Cela rendait cette stratégie très vulnérableà la perte de l’AUV en question. A présent, grâce à l’intro<strong>du</strong>ction de l’interaction 6, unautre AUV peut remplacer le coordinateur en cas de mauvais fonctionnement. Ainsi, dansla section 8.4.3, l’AUV 2 remplace l’AUV 1 dans son rôle de coordinateur lorsque celui-citombe en panne.
8.5. SCÉNARIO 3 : RECHERCHE DE BOÎTE-NOIRE 215Robustesse vis à vis de la coupure prolongée de communication : dans le scénario 1,nous avions vu que le fonctionnement de notre approche de coopération était robuste faceaux pertes de communication. Ici, nous montrons que les AUV peuvent s’entraider en casde coupure prolongée de communication. La coopération menée grace à l’interaction 4permet aux exécutants d’aider l’AUV 2 à rejoindre le coordinateur bien qu’il ne reçoive passes signaux d’attraction.8.5 Scénario 3 : recherche de boîte-noireNous avons vu dans les deux scénarios précédents que les AUV étaient capables des’organiser et se répartir les tâches au travers de la stratégie collective de fonctionnement.Dans ces scénarios, les AUV n’avaient cependant aucune mission effective à accomplir etchaque AUV déambulait au hasard pendant les phases autonomes.Nous proposons, à travers ce nouveau scénario, d’exploiter un peu plus les possibilitésoffertes de notre approche de coopération pour permettre à des AUV de collaborer dans lecadre d’une mission concrète afin de retrouver les boîtes-noires d’un avion qui s’est écraséau milieu de l’océan.8.5.1 Description de la missionLa recherche de boîte-noire est une mission typique qui nécessite d’employer de nombreuxvéhicules en surface et sous-l’eau. On ne connait généralement pas la positionexacte de l’avion au moment de l’accident et la zone de recherche est souvent très éten<strong>du</strong>e.Le temps est en plus crucial dans ce genre d’opération. D’une part, les boîtes-noiresn’émettent les signaux, utiles pour leur localisation, que pendant une <strong>du</strong>rée limitée. L’intensitéde ces signaux acoustiques commence à décroitre au bout de 30 jours à mesure queles batteries s’épuisent. D’autre part, il est primordial de connaitre rapidement les causesd’un tel incident pour éviter qu’il se repro<strong>du</strong>ise sur un nouveau vol.Stratégies de rechercheDifférentes stratégies peuvent être mises en œuvre pour retrouver les débris d’un avionabimé en mer. Nous avons relevé les deux principales :1. La première consiste à tenter de détecter les signaux acoustiques qui sont automatiquementémis par les boîtes-noires après un incident.
216 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINEFIGURE 8.25 : Scénario de recherche de boite noire2. La deuxième consiste à rechercher directement les débris de l’avion. Les boîtesnoirespeuvent se retrouver dans l’incapacité d’émettre leurs signaux (panne oumanque d’énergie). Il est alors nécessaire de rechercher directement l’épave.HypothèsesNous allons tenir compte de trois hypothèses pour accomplir cette mission :- Hypothèse 1 : la zone de recherche de l’épave est très éten<strong>du</strong>e et de nombreux objetspeuvent potentiellement être présent au fond (épaves de navire, animaux, rochers,etc.). L’identification de l’épave de l’avion est considérée impossible à bord des AUVpendant l’acquisition des relevés topographiques. Une analyse des relevés bathymétriqueset des acquisitions d’images sonar est donc nécessaire à postériori (horsligne) pour identifier l’appareil.- Hypothèse 2 : les AUV n’ont pas de moyen de se géolocaliser avec certitude lorsqu’ilssont sous l’eau. L’estimation de leur position est réalisée grâce à leurs équipementsde bord (centrale inertielle, Lock Doppler, etc.) et peut dériver au cours <strong>du</strong> temps.Hors, une bonne localisation est essentielle pour ce genre de mission puisque l’objectifest de localiser un objet, en l’occurrence l’épave de l’avion. De plus, une bonnelocalisation des véhicules est nécessaire pour rechercher avec efficacité et méthode
8.5. SCÉNARIO 3 : RECHERCHE DE BOÎTE-NOIRE 217les débris d’avion. Les acquisitions doivent couvrir l’intégralité de la zone de rechercheen évitant d’acquérir des zones déjà acquises par d’autres véhicules.- Hypothèse 3 : comme dans les précédents scénarios, les communications entre véhiculessont soumises aux erreurs de propagation, aux contraintes de débits, etc. inhérentesau milieu sous-marin.8.5.2 Coopération entre AUV pour la recherche de la boîte-noireComme pour la réalisation d’autres missions, il faut définir une organisation artificiellesur laquelle les AUV vont pouvoir s’appuyer pour coopérer. A partir de cette organisation,nous définissons ensuite les interactions qui permettront aux AUV de mener à bien la mission.Organisation artificielleLa figure 8.26 illustre l’organisation artificielle choisie pour cette mission.CoordinateurExécutantCartographieurAuditeurGroupe opérationnelFIGURE 8.26 : Organisation artificielle choisie pour rechercher la boîte-noireLes AUV vont opérer au sein d’un groupe appelé "groupe opérationnel", dans lequel ilsvont exercer les rôles de coordinateur, d’exécutant, de cartographieur et d’auditeur. A noterque les AUV peuvent être réparti dans différents groupes opérationnels s’ils sont nombreux.Les deux premiers rôles permettent aux AUV d’effectuer la SKF. Rappelons que cellecipermet au coordinateur d’organiser son groupe et de répartir les objectifs aux AUV afind’accomplir la mission souhaitée. Les interactions entre coordinateur et exécutants ont étédécrites dans les scénarios précédents. Elles ne sont pas modifiées et nous ne les redétailleronspas.
218 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINEDeux rôles nouveaux font leur apparition dans cette organisation. Le cartographieurqui va être chargé de faire des relevés bathymétriques et des acquisitions sonars dans unezone déterminée pour retrouver des débris d’avion. L’auditeur, pour sa part, va être chargéde balayer la zone en essayant de capter les signaux potentiellement émis par les boîtesnoires.Nous allons à présent détailler leurs interactions.Interaction 7 : coordinateur - cartographieurLes cartographieurs estiment leur position a partir de leur données inertielles (ouautres), sujettes aux erreurs et aux bruits de mesure. L’erreur de localisation des véhiculescroit au cours <strong>du</strong> temps et il est nécessaire de remettre à jour l’estimation de leur positionavec des données de localisation correctes.Dans l’interaction décrite à la table 8.20, les cartographieur adressent des signaux d’influencepositifs au coordinateur de façon à ce que celui-ci vienne l’aider à se relocaliser entransmettant des données de navigation correcte.Interaction I coordinateur→cartographieurSituation d’interaction Signal I K→C But coordinateurErreur de positionnementRejoindre l’émetteur etI>0estimée > précision désiréetransmettre positionTABLE 8.20 : Interaction 7 coordinateur - cartographieurA noter que nous faisons l’hypothèse dans ce scénario qu’un AUV est capable de selocaliser parfaitement, en l’occurrence le coordinateur.Interaction 8 : auditeur - cartographieurDans l’interaction présentée à la table 8.22, l’auditeur émet des signaux d’attractionaux cartographieurs de façon à ce que soit réalisé des relevés bathymétriques et sonars dela zone où l’épave a été localisée.Interaction I cartographieur→auditeurSituation d’interaction Signal I A→K But cartographieurRéception signal boîte-noire I>0Suivre l’auditeur etcartographier la zoneTABLE 8.21 : Interaction 8 cartographieur - auditeur
8.5. SCÉNARIO 3 : RECHERCHE DE BOÎTE-NOIRE 219Interaction 9 : cartographieur - cartographieurEnfin, il faut éviter que plusieurs cartographieurs ne réalisent des relevés topographiquesou des acquisitions sonars en même temps dans la zone où l’épave a été localiséesous peine de se gêner (les fréquences utilisées par les équipements de mesure sontgénéralement les mêmes).Interaction I cartographieur→cartographieurSituation d’interaction Signal I K→K But destinataireRéception I + C& (suivi auditeur|| acquisition en cours)I
220 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINEApprovisionnementSortieLien sortie/approvisionnementLien de ré<strong>du</strong>ctionMission deRecherche deBoîte NoireCartographieurFinDétection signalboite-noireRecherchesignal boîtenoireAvecRejoindre sourcesignal boîte-noireFinAuditeurEmission signauxattractifs(cartographieur)FinEmission signauxd’attraction pourrelocalisation(-> coordinateur)FinRelevébathymétrique etacquisition sonarCartographieAvecFinAvecFinAvecEmission signauxrépulsifs(cartographieur)Planificationexplorationépave d’avionFinFinSuivi de véhicule(auditeur)Objectifd’ExplorationFinFinDébriefingFinExécutantAvecAUV1, AUV2,Objectifd’Exploration, AUV?AvecFinNavigationcomplèteExplorationzoneFinSuivi de véhicule(coordiateur)Transmissioninfo. AUVet tâchesAprèsAprèsRécolteorganisationet tâchesFinNavigationcomplèteFinExplorationzoneAssistance à larelocalisationCoordinateurManagement<strong>du</strong> groupeFinFinSuivi de véhicule(cartographieur)FinAvecTransmissiondonnées delocalisationFinAgrégationRécolteinformationsexécutantsAprèsAprèsTransmissionorganisationet tâchesFIGURE 8.27 : Planification de la mission de recherche de boîte-noire– l’objectif de recherche de boîte-noire est alloué aux auditeurs de manière à ce qu’ilsrecherchent les signaux potentiellement émis par la boîte-noire.– l’objectif de cartographie est allouer aux cartographieurs de manière à ce qu’ils réalisentles relevés bathymétriques et les acquisitions des zones explorées.Le synoptique de la figure 8.27 illustre aussi la manière dont les objectifs sont planifiéespar les AUV. Les décompositions sont décrites en détail ci-après. Nous ne détaillons que lesactivités et les critères de sélection qui n’ont pas expliquées dans les scénarios précédents.Le lecteur peut se référer aux sections 8.3 et 8.4 pour plus d’explication sur ceux-ci.
8.5. SCÉNARIO 3 : RECHERCHE DE BOÎTE-NOIRE 221Coordinateur : assistance à la relocalisationL’assistance à la relocalisation nécessite l’exécution de deux activités. Elles sont décritesà la table 8.23. Le coordinateur ne peut rejoindre et suivre un cartographieur qu’après avoirreçu un signal d’attraction. Le désir d’activation de l’activité de suivi de véhicule est proportionnelleà l’intensité des signaux I + K→C reçus.Activités c a c ab c f D a P TmaxSuivi de véhiculeI +(cartographieur) K→C reçu faux faux max(I + K→CP(t)=P(t−0.7reçus) ∆t)+υ GTransmissiondonnées delocalisationd ck < d ld faux fauxmin[Tmax,(t−t e )·σTmax]0 0.8TABLE 8.23 : Activités générées pour l’objectif d’assistance à la relocalisationLe coordinateur transmet ses données de localisation au cartographieur lorsque sa distanceavec celui-ci d ck est inférieure à la distance minimale d ld . Une fois que le cartographieura reçu les données de localisation et a pu réactualiser sa position, celui-ci n’émetplus de signaux attractifs au coordinateur. Le coordinateur arrête alors le suivi et la transmissiondes données.AUV : objectif d’explorationChaque AUV qui exerce le rôle d’auditeur ou de cartographieur va se voir affecter unezone à explorer (cf. table 8.24). L’exploration de la zone se fera en suivant une trajectoire"zigzag" construite de façon incrémentale en suivant des points de passage. Pour plus dedétail sur cette activité de guidage le lecteur peut se référer à la section 7.5.2. Une activitéde navigation est associée à cette activité pour permettre à l’AUV d’estimer sa position.Activités c a c ab c f D a P TmaxNavigationcomplètevrai faux faux Tmax 0 0.6Exploration zone vrai faux faux TmaxP(t)=P(t−∆t)+υ G0.5TABLE 8.24 : Activités générées pour l’objectif d’exploration
222 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINEAuditeur : recherche signal boîte-noireLes activités décrites à la table 8.25 sont générées par l’auditeur pour rechercher dessignaux émis par la boîte-noire. La détection se fait de façon continue pendant qu’il l’explorationde la zone qui lui a été affecté. Lorsqu’il perçoit un signal, celui-ci va se dirigervers la source de ce signal et émettre des signaux d’attraction à l’attention des cartographieurs.Activités c a c ab c f D a P TmaxDétection signalboîte-noirevrai faux faux Tmax 0 0.8Rejoindre source Réception signalP(t)=P(t−faux faux Tmaxsignal boîte-noire boîte-noire∆t)+υ G0.9Emission signauxattractifs (→cartographieur)vrai faux fauxmin[Tmax,(t−t e )·σTmax]TABLE 8.25 : Activités générées pour l’objectif de recherche de boîte-noire0 0.8Cartographieur : objectif de cartographieLa décomposition de l’objectif de cartographie génère cinq activités que nous détaillonsà la table 8.26 :- Emission de signaux d’attraction pour relocalisation : la cartographie d’une zone requiertune localisation correcte des AUV. Nous faisons l’hypothèse que les AUV estimentleur position avec une erreur dont ils sont capables d’évaluer la borne maximaleen fonction <strong>du</strong> temps. Cette borne est notéêε r (t). Le cartographieur émet alorsdes signaux attractifs au coordinateur lorsque cette borne dépasse la tolérance depositionnement Tol d admise pour l’application.- Relevé bathymétrique et acquisition sonar : les mesures topographiques sont effectuéesen continue pendant le balayage des zones à cartographier (c a = vrai). Anoter que le désir d’activation diminue proportionnellement en fonction de l’erreurde positionnement maximale estimée ̂ε r (t). Le désir devient nul lorsque ̂ε r (t) dépassela tolérance de positionnement maximale Tol m admise par l’application telque Tol m > Tol d .- Suivi de véhicule (auditeur) : le suivi de l’auditeur peut être activé à la réception de signauxd’attraction I + A→K. Néanmoins, chaque cartographieur prend garde qu’aucunautre cartographieur ne se trouve dans une situation plus favorable pour suivre
8.5. SCÉNARIO 3 : RECHERCHE DE BOÎTE-NOIRE 223l’auditeur : max(|I − K→K | reçus)Tol d faux fauxmin[Tmax,(t−t e )·σTmax]0 0.9Relevébathymétrique etacquisition sonarSuivi de véhicule(auditeur)Planificationexplor. épave avionEmission signauxrépulsifs (→ carto.)vraiI + A→K reçu &max(|I − K→K |reçus)
224 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINEAUV1AUV2ExécutantCoordinateurAuditeurCartographieurAUV3Groupe opérationnelAUV4ExécutantCartographieurExécutantCartographieurFIGURE 8.28 : Organisation concrète pour la mission de recherche de boîte-noire8.5.4 Résultats de simulationParamètres de simulationLes paramètres choisis pour cette simulation sont identiques à ceux décrit au scénario1 (cf. sous-section 8.3.7). L’organisation concrète est néanmoins mise à jour pour intégrerles nouveaux rôles nécessaires à l’accomplissement de la mission. Les véhicules sont aussiéquipés différents capteurs pour leur permettre de remplir les objectifs de la mission.Organisation concrète : la flottille est composée des mêmes véhicules que ceux décrits auscénario 1 : les AUV 1, 2, 3 et 4. La figure 8.28 illustre la nouvelle organisation concrètemise en œuvre pour accomplir la mission de recherche de boîte-noire.Equipements des véhicules : les véhicules sont hétérogènes. Ils sont munis de capteursde mission différents : l’AUV 1 possède un détecteur de signaux de boîte-noire etles AUV 2, 3 et 4 sont dorénavant équipées d’un sondeur multi-faisceaux et de sonarslatéraux. Pour simuler les erreurs de navigation des AUV 2, 3 et 4, un bruit blancgaussien (d’écart-type noté σ b ) est ajouté aux positions x et y estimées. Dans ce cassimple, il est possible de déterminer la loi d’évolution de l’écart-type de l’erreur depositionnement au cours <strong>du</strong> temps : σ EP (t) = σ b√tT ech. Les AUV peuvent utilisercette loi dévolution pour quantifier et borner leur erreur de positionnement tel quêε r (t)=3σ EP (t).
8.5. SCÉNARIO 3 : RECHERCHE DE BOÎTE-NOIRE 225Description de la zone de rechercheLa figure 8.29 présente la zone de recherche. Celle-ci mesure 1300 m de long sur 850 mde large. Pour rappel, l’environnement est représenté "vue <strong>du</strong> dessus", les niveaux de grismodélisent la profondeur <strong>du</strong> fond de l’océan, la couleur est d’autant plus claire que le fondest profond (profondeur max = 255 m). Les hauts-fonds sont donc caractérisés par descouleurs gris foncés et les îlots sont représentés en noir.FIGURE 8.29 : Rassemblement initialSur cette figure, les débris d’avions sont représentés en haut à droite par des pointsrouges. Parmi eux, une boîte-noire émet des signaux sur une portée de 200 m. Les AUVignorent bien sur la position de l’épave et n’ont aucune connaissance a priori de la zonedans laquelle ils vont évoluer.Rassemblement initialUne mission de recherche de boîte-noire est attribuée à l’unique groupe de la flottille,le groupe opérationnel. Au début <strong>du</strong> scénario, les AUV sont préprogrammés pour réaliseruniquement la première phase de rassemblement. Leurs trajectoires initiales sont représentéessur la figure 8.29. Les AUV 1, 2 , 3 et 4 sont respectivement tracés en magenta, vio-
226 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINElet, vert et bleu. Les exécutants se rassemblent autour de l’AUV 1, le coordinateur. C’est àce moment-là que celui-ci planifie la mission et organise concrètement le groupe.Chaque "Cartographieur" se voit attribué une zone à cartographier qui correspond àses caractéristiques (vitesse de croisière) et à ses capteurs embarqués (largeur, précision etportée <strong>du</strong> sondeur multi-faisceaux et des sonars latéraux). La détection de signal acoustiquepotentiellement émis par la boîte-noire peut se faire à une résolution plus faible quel’acquisition des relevés topographiques, l’auditeur a par conséquent une zone à balayeréten<strong>du</strong>e.Recherche de l’épaveLes trajectoires des AUV jusqu’à la deuxième phase de rassemblement sont présentéesà la figure 8.30. Chaque AUV parcourt sa zone selon une trajectoire zigzag en évitant leshauts-fonds. Les déplacements sont réalisés en même temps que les activités d’écoute oude cartographie. Durant la phase autonome, les AUV ne détectent aucun débris et aucunsignal en provenance de la boîte-noire.FIGURE 8.30 : Trajectoires des AUVLes cercles rouges présents sur la figure 8.30 mettent en évidence les moments où lecoordinateur interagit avec les cartographieurs pour les aider à se relocaliser.
8.5. SCÉNARIO 3 : RECHERCHE DE BOÎTE-NOIRE 227Un zoom est réalisé à la figure 8.31 sur les trajectoires des AUV 1 et 2. au moment de larelocalisation de l’AUV 2. On peut voir que la trajectoire de l’AUV 2 (tracé en violet) dérivejusqu’à ce que l’AUV 1 (tracé en magenta) vienne lui prêter assistance. L’AUV 2 réinitialisealors sa position de référence et peut continuer à cartographier sa zone avec une localisationcorrecte.FIGURE 8.31 : Zoom sur la relocalisation de l’AUV 2Une fois les zones totalement balayées, les AUV se rassemblent à nouveau autour <strong>du</strong>coordinateur de la même manière qu’en début de mission. Le coordinateur recueille lecompte-ren<strong>du</strong> des objectifs accomplis par l’ensemble <strong>du</strong> groupe et réalloue de nouvelleszones de recherche aux AUV.Détection <strong>du</strong> signal de la boîte-noireLa figure 8.32 illustre les trajectoires des AUV lors de la phase d’acquisition suivante.Les cartographieurs ne détectent aucun débris et le coordinateur vient les relocaliser régulièrement.Au cours de son parcours, l’auditeur s’approche de la zone de crash de l’AUV et perçoitle signal émis par la boîte noire. Il déclenche alors son activité pour se diriger vers la source<strong>du</strong> signal et envoie des signaux d’influence attractifs aux cartographieurs.
228 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINEFIGURE 8.32 : Détection <strong>du</strong> signal de la boîte-noireLocalisation et cartographie de l’épave d’avionLes cartographieurs qui perçoivent les appels de l’auditeur évaluent leur distance aveccelui-ci et émettent les signaux d’influence négatifs aux autres cartographieurs en conséquence.Sur la figure 8.33, on peut voir que l’AUV 3, situé à proximité de l’auditeur (et émetles signaux répulsifs de plus fortes intensités) se met à suivre ce dernier jusqu’à l’épave del’avion. A noter, que les autres cartographieurs continuent leurs relevées topographiquesde leur zone de façon nominale.Une fois l’auditeur arrivé sur l’épave, celui-ci émet des signaux d’influence I + A→K d’intensitémaximale (égal à 1). L’AUV 3 se planifie alors une nouvelle zone de façon à cartographierl’épave de l’avion désormais localisée. La figure 8.33 montre la manière dont l’AUV 3,tracé en vert, balaye et cartographie la zone où l’épave a été localisée.Fin de la missionLorsque l’AUV 3 a terminé de cartographier l’épave, les AUV se regroupe une dernièrefois comme l’illustre la figure 8.34. Le coordinateur récolte le compte-ren<strong>du</strong> des objectifs
8.5. SCÉNARIO 3 : RECHERCHE DE BOÎTE-NOIRE 229FIGURE 8.33 : Cartographie de l’épave d’avionaccomplis par les AUV et met un terme à la mission. La mission de recherche de boîte-noirea été accomplie avec succès.
230 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINEFIGURE 8.34 : Fin de la mission8.5.5 AnalyseLes résultats de simulation montrent la mise en œuvre d’une flottille d’AUV hétérogènesdans le cadre d’une mission sous-marine concrète. Ils permettent d’évaluer le potentielde notre approche de coopération pour ce type d’application, en particulier les bénéficesapportés par l’association de approche organisationnelle et réactive.L’accomplissement de la mission montre comment l’utilisation d’une organisation permetd’accroitre les possibilités d’interactions entre AUV :– Mo<strong>du</strong>larité : ce scénario montre, encore plus que le précédent, qu’il est très faciled’intro<strong>du</strong>ire de nouvelles interactions entre les AUV en ajoutant des rôles à l’organisation.Les rôles d’auditeur et de cartographieur ont ainsi été ajoutés à ceux déjàprésents dans les scénarios précédents et les AUV ont désormais pu interagir pourretrouver l’épave d’avion.– Hétérogénéité : les nouveaux rôles intro<strong>du</strong>its ont permis de mettre à profit les spécificitésde chaque AUV. Chacun a ainsi pris part à la mission en fonction de ses équipements.A noter que la mission ne pouvait de toute façon pas être accomplie uniquementpar un AUV parmis ceux à disposition.Ce scénario met en évidence la possibilité de résoudre des problèmes de coopération
8.6. RÉSUMÉ DU CHAPITRE 231complexes avec une approche réactive. La réalisation de la mission témoigne que notreapproche est efficace pour faire face aux contraintes environnementales et fait preuve deréactivité et de robustesse vis à vis des communications :– Réactivité : la coordination entre les AUV est obtenue tout au long de la mission enutilisant uniquement des signaux de communication très simples. Dans ce scénario,les contraintes sur les communications sont très fortes puisque les débits de transmissionsont limités à 50 bit/s et les retards de propagation sont modélisés. Malgrèstout, les AUV se coordonnent ainsi très rapidement quel que soit les situations rencontrées(besoin de relocalisation, suivi de l’auditeur puis cartographie de l’épave,etc.).– Robustesse vis à vis des communications : les simulations sont réalisées avec untaux d’erreur sur les transmissions de 25% (P r = 0.75). Les résultats obtenues montreun bon comportement des AUV malgrès ces incertitudes et atteste de la robustessede notre approche coopération.8.6 Résumé <strong>du</strong> chapitreLe but de ce chapitre était de valider notre approche de coopération réactive organisationnelledans le cadre d’une véritable application sous-marine.Dans notre approche de coopération, la réalisation d’une mission nécessite au préalablede former une organisation concrète avec des tâches réparties entre les AUV. A lasection 8.1, nous proposons une stratégie collective de fonctionnement qui facilite la formationd’organisation et l’allocation de tâches dans la flottille. La stratégie adoptée viseprincipalement à ré<strong>du</strong>ire les besoins de coordination entre AUV et les communicationsnécessaires pour accomplir les missions.La section 8.2 présente la plate-forme de simulation multi-agent, à savoir TurtleKit, surlaquelle est validée notre approche. Nous y décrivons l’environnement de simulation oùévoluera notre flottille d’AUV ainsi que la façon dont l’architecture REMORAS est implémentéedans les AUV.Notre approche de coopération est validée à travers différents scénarios de simulationqui mettent en œuvre plusieurs AUV hétérogènes. Trois scénarios sont proposés. Ces scénariossont élaborés de façon incrémentale. Les AUV ont des problèmes de coopérationde plus en plus complexe à résoudre. Le dernier est l’accomplissement d’une mission derecherche de boîte-noire.Le premier scénario est présenté à la section 8.3. Les AUV effectuent la SKF dans son
232 CHAPITRE 8. APPLICATION À UNE MISSION SOUS-MARINEdéroulement nominal sans avoir une réelle mission à accomplir. Les résultats obtenus validentl’hétérogénéité de notre approche et sa robustesse vis à vis des incertitudes de communication.Dans le deuxième scénario, section 8.4, de nouvelles interactions ont été intro<strong>du</strong>itespour permettre aux AUV de faire face aux différents aléas qui peuvent potentiellementsurvenir : perte/arrivé de véhicule et coupure prolongée de communication. Ce scénariomontre la simplicité d’intégration des nouvelles interactions. Les résultats de simulationsobtenus valident l’aspect mo<strong>du</strong>laire de notre approche ainsi que sa robustesse aux aléascités.Le dernier scénario, section 8.5, consiste à la recherche d’une boîte-noire. PlusieursAUV hétérogènes sont alors mis en œuvre pour résoudre cette mission. Les AUV mis enjeu sont dotés d’équipements différents. La spécificité de chaque AUV est prise en comptedans notre approche de coopération à travers leur rôle joué dans l’organisation. L’utilisationde ces rôles permet aux AUV d’interagir au moyen de signaux très simples. Les résultatsde simulation ont montré la réussite de la coopération en présence de fortes contraintes decommunication. Cela valide la pertinence de notre approche pour les applications sousmarinesd’une manière générale.
CHAPITRE9Conclusion9.1 Conclusion généraleL’utilisation des véhicules sous-marins autonomes s’est considérablement accrue cesdernières décennies, aussi bien dans le domaine de l’offshore ou de l’océanographie, quepour des applications militaires. L’exploitation <strong>du</strong> milieu sous-marin représente désormaisun véritable enjeu pour l’homme. Dans cette thèse, nous abordons le problème particulierde l’utilisation de flottilles pour la réalisation de diverses missions sous-marines. Les bénéficesatten<strong>du</strong>s sont multiples.Premièrement, une telle utilisation permet de répartir la charge sur plusieurs véhicules: la perte d’un AUV ou son mauvais fonctionnement ne remettront pas en cause l’intégralitéde la mission.Deuxièmement, l’utilisation d’une flottille ré<strong>du</strong>it le temps d’exécution d’une mission.Les AUV ont une perception de leur environnement et un rayon d’action limités. L’utilisationde plusieurs engins permet de paralléliser certaines tâches.Troisièmement, l’attribution de caractéristiques spécifiques à chaque AUV confère unaspect mo<strong>du</strong>laire à la flottille. De ce fait, les véhicules en question peuvent facilement êtreutilisés pour accomplir d’autres missions.Cependant, les approches de coopération multi-AUV existantes restent limitées pardeux principaux verrous : (1) la gestion de l’hétérogénéité potentielle d’une flottille et (2) lenombre de communications in<strong>du</strong>it. Ces limitations représentent un obstacle majeur pourla mise en place de folttilles d’AUV capables de coopérer.233
234 CHAPITRE 9. CONCLUSIONDans cette thèse nous avons proposé une nouvelle approche de coopération pour répondreà ces problématiques. L’idée principale est de combiner une approche organisationnelleavec une approche réactive.La première contribution de cette thèse consiste ainsi à adopter une vision organisationnellepour la représentation de flottilles d’AUV. Nous avons notamment vu commentune telle approche permet de faire face aux problèmes de complexité liés à l’utilisationde véhicules hétérogènes. Nous avons ainsi proposé de décrire les flottilles d’AUV à l’aide<strong>du</strong> modèle Agent/Groupe/Rôle. Ce modèle fournit une représentation explicite de la flottilleà chaque AUV et lui donne les moyens d’interagir très simplement avec les autres. Lesinteractions sont spécifiées entre les différents rôles joués par les AUV avec une grandemo<strong>du</strong>larité. Il devient ainsi très simple de faire coopérer des AUV hétérogènes dans descontextes de missions variés.La deuxième contribution se base sur l’utilisation <strong>du</strong> modèle satisfaction-altruismepour la coopération entre AUV. Cette approche permet aux AUV d’interagir en s’échangeantdes signaux de communication très simples ce qui ré<strong>du</strong>it fortement les communications.Pour pouvoir faire face à la variété des problèmes de coopération que peuvent rencontrerles AUV, nous avons éten<strong>du</strong> l’approche initiale. L’organisation établie dans la premièrecontribution est mise à profit pour intégrer des interactions de natures différentes.Ces deux contributions sont intégrées dans une nouvelle architecture logicielle, appeléeREMORAS, destinée à équiper des véhicules sous-marins autonomes. Cette architectureest constituée de trois couches : (1) sociale, (2) conative et (3) fonctionnelle. La couchesociale permet au véhicule d’établir et de décrire l’organisation de la flottille. La coucheconative implémente le processus décisionnel et permet aux AUV de coopérer de manièreréactive. Enfin, la couche fonctionnelle assure le fonctionnement courant et contrôle leséquipements de l’AUV.9.2 PerspectivesLes résultats obtenus dans cette thèse donnent un avant-goût de l’éten<strong>du</strong>e des problèmesde coopération qui peuvent être résolus grâce à notre approche. Ils ouvrent la voieà la réalisation d’une grande variété de missions sous-marines.A court terme, il serait intéressant de voir comment notre approche pourrait répondreà des problématiques auxquelles sont confrontés les véhicules sous-marins. La navigationd’AUV est encore de nos jours un enjeu crucial. Nous avons vu dans le dernier scénarioque notre approche de coopération pouvait permettre à des véhicules de s’entraider pour
9.2. PERSPECTIVES 235se relocaliser. Il conviendrait de mener au bout cette idée en considérant désormais deshypothèses plus réalistes quant à la manière dont les AUV estiment leur position sousl’eau.A moyen terme, des études doivent être menées pour établir un protocole de communicationcapable de coordonner la transmission des signaux d’influence entre véhiculessous-marins. Le protocole proposé dans [Simonin, 2001] constitue une base intéressantepour la définition de ce protocole. Il est néanmoins nécessaire d’intégrer la prise en comptedes retards de transmission des signaux sous l’eau.A long terme, l’objectif est bien enten<strong>du</strong> d’implémenter l’architecture REMORAS sur devéritables véhicules sous-marins et de valider expérimentalement notre approche. Celle-ciest d’ailleurs aussi bien adaptée pour la coopération de véhicules terrestres ou aériens. Onpeut même envisager de faire coopérer des véhicules de natures différentes dans le cadred’applications plus complexes.En effet, l’un des intérêts majeurs de notre travail réside dans la combinaison <strong>du</strong> modèlede satisfaction altruisme avec une approche organisationnelle. En cela, le potentielde notre démarche ne se limite bien sûr pas aux véhicules sous-marins : celle-ci peut êtreconsidérée dans tout contexte où des appareils autonomes doivent coopérer et se coordonnerpour accomplir un objectif collectif.
ANNEXEAModélisation des véhiculesA.1 RéférentielsDifférents référentiels sont employés pour exprimer les données de position et d’orientationdes véhicules par rapport à l’environnement. Trois repères principaux sont utilisés :le repère absolu R 0 , le repère absolu <strong>du</strong> véhicule R 0v et le repère véhicule R v . Ils sont représentésà la figure A.1.A.1.1Référentiel absoluLe référentiel absolu permet de définir la position et l’attitude de l’AUV. Le repère R 0 liéà ce référentiel a pour origine un point O à la surface de l’eau. Ses axes sont dirigés de tellesorte que :– l’axe OX 0 est orienté vers le Nord géographique.– l’axe OY 0 est orienté vers l’Est.– l’axe OZ 0 est perpendiculaire à la surface de l’eau. Il est orienté vers le centre de laTerre.A.1.2Référentiel absolu <strong>du</strong> véhiculeLe référentiel absolu <strong>du</strong> véhicule est lié au véhicule. Le repère R 0v lié à ce référentiel apour origine le centre de gravité de l’AUV C. Ses axes sont dirigés de la même façon que lerepère absolu :237
238 ANNEXE A. MODÉLISATION DES VÉHICULES(Est)(Nord)FIGURE A.1 : Repères– l’axe CX 0v est orienté vers le Nord.– l’axe CY 0v est orienté vers l’Est.– l’axe CZ 0v est normal à la surface de l’eau. Il est orienté vers le centre de la Terre.A.1.3Référentiel véhiculeLe référentiel véhicule est également lié au véhicule. Le repère R v lié à ce référentiel apour origine le centre de gravité de l’AUV et ses axes sont dirigés de telle sorte que :– l’axe CX v suit la direction longitudinale de l’AUV. Il est orienté de l’arrière vers l’avantde l’engin.– l’axe CY v est transversal au véhicule, orienté vers tribord.– l’axeCZ v complète le trièdre direct. Il suit la direction verticale de l’AUV et est orienté<strong>du</strong> haut vers le bas <strong>du</strong> véhicule.
A.2. NOTATIONS 239A.2 NotationsPour décrire la position et l’attitude de l’engin, on utilisera la notation issue de la normeétablie par la [SNA, 1950]. L’origine C <strong>du</strong> repère R v est confon<strong>du</strong>e avec le centre de gravité<strong>du</strong> véhicule.A.2.1PositionPour définir la position de l’engin, le point C est défini dans le repère absolu R 0 par sescoordonnées cartésiennes :η 1 = [x,y,z] T(A.1)L’orientation <strong>du</strong> véhicule, définie dans le repère absolu, est exprimé par :η 2 = [φ,θ,ψ] T(A.2)que :où φ, θ et ψ représente respectivement les angles de roulis, de tangage et de lacet tel– ψ défini la route ou le cap <strong>du</strong> véhicule et désigne la rotation autour de l’axe OZ 0(ou OZ 0v ). Il exprime la direction suivie par le véhicule par rapport au Nord géographique.– θ défini l’assiette <strong>du</strong> véhicule et désigne la rotation autour de l’axe OY 0 (ou OY 0v ). Ilexprime l’inclinaison entre l’axe longitudinal de l’engin et le plan horizontal.– φ défini la gite <strong>du</strong> véhicule et désigne la rotation autour de l’axe OZ 0 (ou OX 0v ). Elledésigne l’inclinaison <strong>du</strong> véhicule sur son axe longitudinal.Le vecteur position général s’exprime par :η 2 = [η 1 ,η 2 ] T(A.3)
240 ANNEXE A. MODÉLISATION DES VÉHICULESFIGURE A.2 : Vitesses linéaires et angulairesA.2.2VitesseLe vecteur vitesse ν de l’engin, exprimé dans R 0v , s’exprime à partir des vecteurs ν 1 etν 2 tel que :ν 1 = [u,v,w] T(A.4)où u, v et w désignent respectivement les vitesses linéaires d’avancement, de glissementet de descente, et :ν 2 = [p,q,r] T(A.5)où p, q et r représentent respectivement les vitesses angulaires de roulis, de tangage etde lacet.Le vecteur vitesse global s’écrit alors :ν = [ν 1 ,ν 2 ] T(A.6)Enfin, α, β et γ désignent les angles de rotation autour des axes de roulis CX v , de tangageCY v et de lacet CZ v de l’engin. Les angles α et β permettent notamment de représenterla direction d’un objet par rapport au véhicule dans R v .
A.3. MODÉLISATION CINÉMATIQUE 241A.3 Modélisation cinématiqueLa trajectoire <strong>du</strong> véhicule dans le référentiel absolu est obtenue à l’aide <strong>du</strong> modèle cinématiqueà six degrés de liberté de l’engin.A.3.1Transformation des vitesses linéairesLes vitesses linéaires dans les repères R 0 et R v sont liés par la relation cinématique suivante:˙η 1 = J C1 (η 2 )ν 1(A.7)où J C1 (η 2 ) est la matrice de rotation de R 0 à R v tel que :⎡⎢J C1 (η 2 )= ⎣cosθcosψ sinθsinφcosψ−sinψcosφ sinθcosφcosψ+sinψsinφcosθsinψ sinθsinφsinψ+cosφcosψ sinθcosφsinψ−cosψsinφ−sinθ cosθsinφ cosθcosφ⎤⎥⎦(A.8)A.3.2Transformation des vitesses angulairesLes vitesses angulaires dans les différents repères considérés sont liées par la relation :˙η 2 = J C2 (η 2 )ν 2(A.9)où J C2 (η 2 ) est la matrice :⎡⎤1 sinφtanθ cosφtanθ⎢⎥J C2 (η 2 ) = ⎣0 cosφ −sinφ ⎦, θ ≠ π ±kπ (A.10)20 sinφ/cosθ cosφ/cosθ
242 ANNEXE A. MODÉLISATION DES VÉHICULESA.3.3Relation générale de la cinématiqueD’une façon générale, la relation cinématique, basée sur les équations A.8 et A.10 est :˙η = J C (η 2 )ν=[] [˙η 1=˙η 2J C1 (η 2 ) 0 3×30 3×3 J C2 (η 2 )][]ν 1ν 2(A.11)Remarque : pour beaucoup de véhicules sous-marins, l’angle de roulis φ n’est pascommandé. Le sous-marin est lesté de façon à ce que son angle de roulis tende naturellementvers zéro [Jaulin, 2011]. Dans ce manuscrit, nous considérons que p = 0.Pour plus de détails sur l’obtention des matrices de transformation J C1 (η 2 ) et J C2 (η 2 )(3 rotations successives pour passer de R 0 a R v ), le lecteur pourra se référer à [Khalil etDombre, 1999] ou encore à [Fossen, 1994].
ANNEXEBAlgorithme distribué pour lacoordination d’agents mobilesAu sein d’une flottille d’AUV hétérogènes, les AUV peuvent avoir divers objectifs et exercerplusieurs formes d’activités. Sous l’eau, les communications se font avec des débits extrêmementlimités, elles sont sujettes à des défaillances aléatoires et sont, par conséquent,asynchrones. Dans ce contexte, nous suggérons un cadre pour la coordination distribué derobots hétérogènes. Nous proposons un algorithme d’optimisation distribué qui couple leformalisme des fonctions d’utilité avec un protocole de gossip aléatoire.B.1 Intro<strong>du</strong>ctionB.1.1ProblématiqueLa coordination d’agents a fait l’objet de nombreuses études ces 25 dernières années.Généralement, l’objectif est d’obtenir des comportements globaux cohérents tels que lesuivi de leader [Balch et Arkin, 1995], l’optimisation de couverture de zones [Le Ny et al.,2011], la recherche de source, l’"herding" [Briñon Arranz et al., 2012; Tu et Sayed, 2011],etc. Reynolds [Reynolds, 1987] fut un des premiers à travailler sur la coordination d’agentsmobiles autonomes. Il a intro<strong>du</strong>it trois règles (le déplacement vers le centre de la flotte,l’évitement de collisions et l’appariement de vitesses), qui ont permis de simuler des déplacementsen flotte dans le cadre l’in<strong>du</strong>strie de l’animation. Vicsek et al. [Vicsek et al.,1995] ont proposé un modèle de système dynamique dans lequel tous les agents finissentpar naviguer à la même vitesse avec une distance fixe entre les agents. Ce modèle a étéanalysé ultérieurement par [Cucker et Smale, 2007; Jadbabaie et al., 2003]. La question <strong>du</strong>243
244 ANNEXE B. ALGORITHME DISTRIBUÉ POUR LA COORDINATION D’AGENTS MOBILESmaintien de la connectivité et <strong>du</strong> déplacement en flotte a été abordé dans de nombreuxtravaux [Sabattini et al., 2011; Yang et al., 2010]. Un élément essentiel est l’utilisation d’unfiltre à consensus qui con<strong>du</strong>it le réseau d’agents à se mettre d’accord. Celui-ci permet,en outre, de réaliser des missions tels que le ralliement vers un point de rendez-vous oula navigation en flottille [Olfati-Saber, 2006]. En comparaison, moins de travaux ont étéconsacrés au cas d’agents hétérogènes avec des objectifs éventuellement différents, chacund’eux étant caractérisé par une fonction d’utilité.Nous abordons cette problématique. Sur la base des résultats récents des algorithmesde gossip aléatoires et d’optimisation distribuée [Boyd et al., 2006; Tu et Sayed, 2011; Bianchiet Jakubowicz, 2013], nous proposons un nouveau cadre pour la coordination d’agentsqui intègre le temps discret et la nature aléatoire et asynchrone des communications entreagents.B.1.2Description généraleNous considérons une flottille composée de N agents mobiles et autonomes. Chaqueagent ignore sa position absolue mais collecte les mesures bruitées de la position relatived’autres agents. Chaque agent i (i = 1,...,N) a une fonction convexe d’utilité f i,t (aussiappelé fonction de regret), qui formalise le but de l’agent. La fonction d’utilité f i,t est inconnuepar les autres agents j ≠ i. Elle dépend de la variable de contrôle locale de l’agenti et de certains paramètres globaux communs, typiquement la moyenne <strong>du</strong> mouvementde la flottille par une unité de temps. Autrement dit, le regret d’un agent donné ne dépendpas seulement de sa propre décision, mais également <strong>du</strong> comportement global dela flottille. L’objectif est de contrôler les mouvements de tous les agents pour minimiser lafonction d’utilité globale ∑ i f i,t sous certaines contraintes naturelle de mouvement, appelées: limite de vitesse, évitement de collision et maintien de cohésion. Malheureusement,nous verrons que le domaine de minimisation correspondant à ces contraintes s’avère êtrenon convexe et non séparable vis à vis des variables d’optimisation. D’une part, la nonconvexitéintro<strong>du</strong>it des minimiseurs locaux indésirables qui empêchent d’utiliser l’algorithmeprimal-<strong>du</strong>al [Borwein et Lewis, 2006]. D’autre part, la non-séparabilité rend difficilela recherche de minimiseurs de façon distribué et la quantité d’information échangéepeut devenir prohibitif. Pour éviter ces problèmes, nous déterminons des conditions suffisantessur les variables de commande qui garantissent la satisfaction des contraintes. Cesconditions sont exprimées comme des contraintes d’inégalité convexes et séparables.Chaque fonction d’utilité étant uniquement observée localement, la minimisation dela fonction d’utilité globale, au regard des variables de commande, nécessite une certaine
B.2. FRAMEWORK 245coopération entre les agents. Nous distinguons deux scénarios. Dans le scénario au taux decommunication élevé, nous considérons la quantité de messages échangés entre les agentspar unité de temps sensiblement plus grand que le taux de mise à jour de la commande.Dans ce cas, nous proposons un algorithme <strong>du</strong> gradient distribué, à pas décroissant, quipermet aux agents de calculer leurs variables de commande. A chaque instant, chaqueagent utilise deux types de variables : une variable interne qui correspond à l’estimationde sa variable de commande et des variables externes à partager avec les autres agents. Achaque itération, l’algorithme comprend deux étapes. Dans la première, l’agent met à joursa variable selon une descente locale <strong>du</strong> gradient. Dans la deuxième, des agents choisisau hasard transmettent leurs variables externes à leurs voisins et cherchent à trouver unconsensus. En utilisant des résultats récemment obtenus dans le domaine de l’optimisationdistribuée [Bianchi et Jakubowicz, 2013; Nedic et Ozdaglar, 2009; Nedic et al., 2010;Sundhar Ram et al., 2010], nous montrons que l’algorithme converge vers un minimiseurde la fonction d’utilité globale.Nous souhaitons traiter des applications de robotique mobile et sous-marine en particulier,pour lesquelles les communications sont considérées être imparfaites. Elles ontdes débits limités et sont sujettes à des défaillances aléatoires. Dans le scénario au taux decommunication bas, la quantité de messages échangés entre les agents par unité de tempsest <strong>du</strong> même ordre de grandeur que le taux de mise à jour des variables de commande.Dans ce cas, il n’est pas possible de minimiser la fonction d’utilité globale à chaque instantt et de déterminer exactement les variables de commande. Cependant, motivé par les résultatsthéoriques <strong>du</strong> scénario à taux de communication élevé, l’algorithme distribué estéten<strong>du</strong> pour qu’il soit capable de suivre le minimiseur désiré.Le modèle et le problème d’optimisation est intro<strong>du</strong>it dans la section B.2. Dans la sectionB.3, les contraintes d’optimisation sont définies et le problème d’optimisation est missous une forme convexe et séparable. Enfin, nous détaillons les algorithmes proposés pourles deux scénarios à la section B.4.B.2 FrameworkB.2.1Modèle d’observationConsidérons un réseau de N agents mobiles. A chaque instant t = 1,2,..., on notep i (t) ∈ R m la position <strong>du</strong> i ème agent (i = 1,...,N) où m est un entier. La position p i (t)est supposée être inconnue par tous les agents, y compris l’agent i lui-même en raison
246 ANNEXE B. ALGORITHME DISTRIBUÉ POUR LA COORDINATION D’AGENTS MOBILESd’éventuelles erreurs d’auto-localisation. La position p i (t) est mise à jour comme suit :p i (t+1)=p i (t)+u i (t)+ζ i (t) ,(B.1)où u i (t)∈R m est la variable de commande à déterminer et ζ i (t) est un bruit inconnu aléatoire.La séquence (ζ i (t)) t≥0 est supposée être indépendante et identiquement distribuée.La variable aléatoire ζ i (t) admet une densité avec un support borné (|ζ i (t)|≤ζ max de probabilité1 où ζ max est une constante donnée) et supposons que chaque agent i est capablede mesurer la position relative∆ i,j (t):= p j (t)−p i (t)des autres agents j ≠ i, avec un certain bruit d’observation additif. Formellement, l’agent iobserve la variable aléatoireY i,j (t)=∆ i,j (t)+δ i,j (t)pour tout j ≠ i, où (δ i,j (t)) i,j,t sont des variables aléatoires inconnues et indépendantes àmoyenne nulle. Par convention, Y i,i (t)=0 et Y i (t):= (Y i,1 (t),...,Y i,N (t)).B.2.2Position <strong>du</strong> problèmeA chaque instant t et pour une valeur fixé de Y i (t), chaque agent i = 1,...,N estsupposé avoir une certaine fonction d’utilité/de regret strictement convexe f i,t (.|Y i (t)) :R m × R m → R de sorte que pour tout (u i ,ū)∈R m × R m , f i,t (u i ,ū|Y i (t)) quantifie le regretde l’agent i, son propre déplacement u i (t) est égal à u i et le déplacement moyen de la flottille∑ Nj=1 u j(t)/N est égal à ū. On peut noter que la fonction d’utilité f i,t peut varier dansle temps t de manière à englober des changements possibles de missions pour l’agent.Le but est de sélectionner des déplacement d’agents (u 1 (t),...,u N (t)) à chaque instant tcomme solution globale <strong>du</strong> problème d’optimisation B.2, pour les variables u 1 ,...,u N .N∑Minimize f i,t (u i ,N 1 ∑ Nj=1u j |Y i (t))i=1w.r.t. (u 1 ,...,u N )∈D t(B.2)D t est un ensemble admissible de commande à l’instant t qui sera spécifié par la suite.Avant de préciser ces contraintes, nous donnons quelques exemples de fonctions d’utilité.Exemple 1 : Considérons une fonction non décroissante φ:R→R.– La fonction (u i ,ū)→ φ(|u i −a i,t |) quantifie le regret d’un agent i de ne pas suivrela commande a i,t à l’instant t. Par exemple, dans les applications de recherche desource, a i,t correspond à la direction estimée de la source.
B.3. CONTRAINTES DE DÉPLACEMENT 247– La fonction (u i ,ū) → φ(|ū − a i,t |) peut être utilisée par le leader (le cas échéant)d’une formation d’AUV pour quantifier le regret lorsque la moyenne des déplacementsdes agents de la formation ne suit pas le mouvement désiré a i,t .– La fonction (u i ,ū) → φ(|u i − ū|) peut être utilisée par les agents "suiveurs" pourquantifier le regret quand à la sélection d’un déplacement éloigné de la moyennedes déplacements des agents.– La fonction (u i ,ū) → φ(|u i −N1 ∑j Y i,j(t)|) pousse un agent i à se rapprocher <strong>du</strong>barycentre estimé de la formation.A noter que la formulation (B.2) est générique. Elle peut accueillir des fonctions d’utilitécorrespondantes à des missions d’agents plus complexes. Par ailleurs, dans une formationd’AUV, les robots indivi<strong>du</strong>els sont susceptibles d’être soumis à diverses missions trèsdiverses, qui peuvent fluctuer dans le temps. Le formalisme, défini par (B.2) donne précisémentun algorithme distribué de coordination générale pour le déplacement d’agents quin’est pas spécifique à une mission globale particulière. Par exemple, l’algorithme proposépeut être facilement utilisé par notre architecture REMORAS. Dans ce cas, les fonctionsd’utilité de l’algorithme correspondent à des activités. Celles-ci peuvent varier au cours <strong>du</strong>temps en fonction des perceptions de l’environnement des agents.B.3 Contraintes de déplacementB.3.1Contraintes <strong>du</strong>resDans cette sous-section, nous faisons l’hypothèse que les positions relatives sont parfaitementobservées, soit Y i,j (t) = ∆ i,j (t) pour chaque i = 1,...,N. Le déplacement detous les agents est limité pour satisfaire les contraintes suivantes :– Contrainte de vitesse : les valeurs admissibles (u 1 ,...,u N ) pour les variables decommande sont :pour une constante connue u max .∀i, |u i |≤u max(B.3)– Evitement de collision : les commandes doivent être choisies de telle manière qu’àl’instant suivant t+1, tous les agents i,j ( i ≠ j) maintiennent une distance minimaled min avec les autres, soit :mini,j=1,...,Ni≠j|∆ i,j (t+1)|≥d min . (B.4)
248 ANNEXE B. ALGORITHME DISTRIBUÉ POUR LA COORDINATION D’AGENTS MOBILES– Maintien de cohésion : le diamètre de la formation ne doit pas être supérieur à uneconstante donnée d max > 0, soit :max |∆ i,j(t+1)|≤d max .i,j=1,...,N(B.5)Remarque 4. Contrairement à la condition (B.5), divers travaux supposent que les mouvementssont limités afin de maintenir la connectivité <strong>du</strong> graphe <strong>du</strong> réseau de communication[Le Ny et al., 2011; Bullo et al., 2009]. Néanmoins, les méthodes existantes pour maintenir laconnectivité sont généralement plus exigeantes en termes de capacités d’auto-localisation etde communication.Malheureusement, les contraintes (B.4) et (B.5) ne sont pas pratiques, principalementpour deux raisons. Premièrement, les valeurs ∆ i,j (t+1) ne dépendent pas seulement descommandes, mais aussi des bruits ζ i (t) and ζ j (t) qui ne sont pas observés. Plus importantencore, même en l’absence de bruit, les expressions (B.4) et (B.5) fournissent descontraintes non convexes et non séparables lorsqu’elles sont réécrites en fonction descommandes (u 1 ,...,u N ). Dans la perspective d’optimisation distribuée, la séparation descontraintes dans les variables d’optimisation (u 1 ,...,u N ) est indispensable. La convexitéest également cruciale pour chercher les minimiseurs globaux de (B.2). Ainsi, des conditionspertinentes et suffisantes pour (B.4) et (B.5) sont nécessaires.Intro<strong>du</strong>isons quelques notations. Nous notons d ◦ min := d min +2ζ max et d ◦ max := d max −2ζ max . Nous supposons que d ◦ max > d◦ min +4u max. Le pro<strong>du</strong>it scalaire est défini par 〈., .〉dans R m . Nous considérons la fonction g:R m × R m → R définie par :⎧⎪⎨ |u| 2 −u 2 max if |∆| = 0〈u,∆〉g(u,∆):=|∆|− |∆|−d◦ min2if 0
B.3. CONTRAINTES DE DÉPLACEMENT 249Considérons la contrainte d’évitement (B.4). Dans le cas |∆ i,j (t)|≥d ◦ min +2u max, alors il estfacile de montrer que (B.4) est satisfaite. Il s’agit d’une simple conséquence de (B.1) avecl’inégalité triangulaire :|∆ i,j (t+1)| ≥ |u i (t)−u i (t)+∆ i,j (t)|−2ζ max (B.7)≥ |∆ i,j (t)|−2u max −2ζ max ≥ d min .A présent, considérons le cas où |∆ i,j (t)| d min . Les contraintes d’évitement sont satisfaites.De même, il est facile de montrer que (B.6) implique (B.5). Cette partie est omise car ellerepose sur le même genre d’arguments.Notons que les conditions (B.6) impliquent (B.3), (B.4) et (B.5) mais qu’elles ne sontpas équivalentes. La détermination de contraintes séparables et convexes entraine inévitablementcertaines restrictions sur l’ensemble des commandes admissibles. Nous sommesmaintenant en mesure de fournir une formulation explicite des contraintes d’optimisation<strong>du</strong> problème (B.2). Nous définissons D t comme l’ensemble <strong>du</strong> pro<strong>du</strong>it D t = D 1,t ×···×D N,t où :D i,t := {u i ∈ R m : ∀j = 1,...,N, g(u i ,∆ i,j (t))≤0} .Bien sûr, uniquement lorsque les bruits de mesure ∆ i,j (t) sont disponibles, la condition(B.6) peut être substituée parg(u i (t),Y i,j (t))≤0 .(B.9)Cependant, dans ce cas, il est préférable de remplacer cette dernière contrainte <strong>du</strong>re parune contrainte douce afin d’éviter un comportement erratique <strong>du</strong> domaine d’optimisationcar cela pourrait con<strong>du</strong>ire à des situations irréalisables.
250 ANNEXE B. ALGORITHME DISTRIBUÉ POUR LA COORDINATION D’AGENTS MOBILESB.3.2Contrainte douceϕ désigne une fonction strictement croissante convexe sur R. Pour un agent donné i, lafonction ˜f i,t est définie comme suit. Pour toutu∈R m , ū∈R m etY = (Y 1 ,...,Y N )∈(R m ) N :N∑˜f i,t (u,ū|Y) := f i,t (u,ū|Y)+ ϕ(g(u,Y j )) .j=1Considérons le problème d’optimisation suivant :N∑Minimize ˜f i,t (u i ,ū|Y i (t))i=1w.r.t. (u 1 ,...,u N ,ū) s.t. 1 N∑ Nj=1u j = ū .(B.10)Remarque 5. Le problème (B.10) est équivalent au problème (B.2) si l’on sélectionne la fonctionϕ tel que ϕ(x) = 0 si x≤0 et ϕ(x) = +∞ si x>0. Cependant, la fonction ϕ intro<strong>du</strong>itune marge de manoeuvre pour exprimer des contraintes souples, en choisissant des fonctionsplus douces.Un choix naturel pour la fonction ϕ est une fonction de barrière logarithmique de laforme ϕ(x) = −Clog(−x) où C > 0. D’autres exemples incluent des fonctions exponentiellesde la forme ϕ(x) = exp(Cx). Dans ce dernier cas, les contraintes (B.9) sont susceptiblesd’être violés parce que φ(x)
B.4. ALGORITHME DISTRIBUÉ 251où, ν ∈ R m est le multiplicateur de Lagrange correspondant à la contrainte d’égalité∑ Nj=1 u j = Nū. Une approche naturelle pour rechercher un point col L t est d’utiliser lesitérations primal-<strong>du</strong>al. Pour exécuter un algorithme itératif primal-<strong>du</strong>al de manière distribuée,les agents doivent échanger des informations sur une base régulière. Deux scénariossont étudiés.Dans le scénario au taux de communication élevé, le nombre de transmission par unitéde temps est sensiblement plus grand que le taux de mise à jour de la commande. Autrementdit, les équipements de communication fonctionnent à une vitesse plus élevée queles appareils à contrôler. Dans ce cas, pour tout t fixé, il est possible d’exécuter un grandnombre d’itérations de descente de gradient distribuée en vue de résoudre (B.10).Dans le scénario au taux de communication bas, les équipements de communicationsont considérés fonctionner à une vitesse similaire ou inférieure aux appareils à contrôler.Dans ce cas, les échanges d’information ne sont pas suffisant pour résoudre (B.10) lorsquel’environnement change trop rapidement. Cependant, nous pouvons suivre la solution viaun algorithme éten<strong>du</strong>.B.4.2Scénario au taux de communication élevéDans cette sous-section uniquement, nous supposons que t est fixé. L’indice t est omiset nous écrivons ˜f i et Y i , respectivement pour ˜f i,t et Y i (t). Chaque agent i = 1,...,N génèreune séquence d’estimations (u i,n ,ū (i)n ,ν (i)n ) pour n = 1,2,etc. u i,n est la variable internede l’agent i et ū (i)n ,ν (i)n sont ses variables externes. La mise à jour des estimations sepasse en deux étapes. Au cours de la première étape (locale), les variables sont temporairementmises à jour en se basant sur une descente locale de gradient réalisée indépendammentpar tous les agents. Au cours de la deuxième étape, certains agents choisis au hasardfusionnent leurs variables externes pour éventuellement parvenir à un consensus.[Etape locale] L’agent i met à jour sa variable interne comme suit :u i,n+1 = Π[u i,n −γ n ∇ ui ˜f i (u i,n ,ū (i)n |Y i )+γ n ν (i)n ](B.11)où Π représente la projection sur un ensemble convexe arbitraire K ⊂ R m choisi aussigrand que nécessaire (la projection est intro<strong>du</strong>ite pour éviter des problèmes de stabilitépossibles). Ici γ n > 0 représente le pas de l’algorithme. Une mise à jour temporaire desvariables externes est générée comme suit :ũ (i)n+1= Π[ū (i)n −γ n ∇ū ˜f i (u (i)n ,ū (i)n |Y i )−γ n ν (i)n ]˜ν (i)n+1= ν (i)n +γ n (ū (i)n −u i,n ) .(B.12)(B.13)
252 ANNEXE B. ALGORITHME DISTRIBUÉ POUR LA COORDINATION D’AGENTS MOBILES[Etape de "gossip"] L’agent i reçoit éventuellement les mises à jour temporaires(ũ (j)n+1 , ˜ν(j) n+1) des variables externes d’autres agents j. L’agent i calcule alors la mise à jourfinale :ū (i)n+1 = N ∑ν (i)j=1n+1 = N ∑j=1w i,j (n)ũ (j)n+1(B.14)w i,j (n) ˜ν (j)n+1(B.15)où w i,j (n) sont des poids réels tels que w i,j (n) = 0 chaque fois que l’agent i ne reçoit pasde message de l’agent j, et qui satisfassent ∑ Nj=1 w i,j (n) = 1.La séquence de matricesW(n):= (w i,j (n)) i,j=1,...,N pourn= 1,2,... représente le protocolede communication/gossip utilisé par les agents. Soit 1 désigne le vecteur N×1 dontles composantes sont égales à un.Hypothèse 1 :a) (W n ) n est une séquence de matrices carrées intégrables, indépendante et identiquementdistribuée.b) W n 1 = 1 pour tout n, et 1 T E[W n ] = 1 T .c) Le rayon spectral de E[W T n(I N − 1 N 11T )W n ] est< 1.Hypothèse 2 : ∑ n γ n = +∞ et ∑ n γ2 n < ∞.Discutons des hypothèses ci-dessus. Selon [Boyd et al., 2006], nous faisons l’hypothèsede l’utilisation de gossip aléatoire (cf. [Bénézit, 2009] pour une description complète). Legossip aléatoire permet de saisir le sens <strong>du</strong> caractère aléatoire des liens entre les agents.Il ne repose pas sur une éventuelle planification contraignante des communications entreles agents. Avec l’hypothèse 1(b), chaque matrice W n doit être stochastique suivant leslignes. Cela signifie que chaque agent i = 1,...,N doit calculer une moyenne pondérée∑j w i,j(n) = 1. On peut noter qu’une condition classique dans la littérature est de continuerà supposer que W n est stochastique suivant les colonnes pour tout n [Nedic et Ozdaglar,2009]. Cependant, la stochasticité suivant les colonnes va inévitablement engendrercertaines restrictions sur le protocole de communication : les agents doivent coordonnerleurs poids. Ici, notre hypothèse est moins contraignante. Nous exigeons seulement queW n soit, en moyenne, stochastiques au niveau des colonnes. C’est par exemple le cas dansle procédé de diffusion naturelle de [Aysal et al., 2009]. L’hypothèse 1(c) in<strong>du</strong>it des propriétésde contraction qui mènent le réseau à trouver un consensus pour les variables externesde tous les agents. Par souci d’exhaustivité, nous rappelons quelques procédés de gossipexistants qui répondent à nos hypothèses dans la section B.4.3.
B.4. ALGORITHME DISTRIBUÉ 253L’hypothèse 2 est assez classique dans le cadre de la théorie d’approximation stochastique.Elle implique la disparition de la taille <strong>du</strong> pas lorsque n →∞.Nous faisons une dernière remarque sur le projecteur Π intro<strong>du</strong>it dans (B.11). Celui-civeille à ce que les estimations soient toujours dans un ensemble borné. La projection peutêtre évitée dans le cas où les fonctions d’utilité ˜f i satisferaient des hypothèses supplémentaires(cf. [Bianchi et al., 2011] pour plus de détail). Néanmoins, l’étape de projection n’estpas restrictive, puisque l’ensemble compact K peut être choisi aussi grand que nécessaire.Nous désignons par (u ⋆ 1 ,...,u⋆ N ,ū⋆ ) l’unique minimiseur <strong>du</strong> problème (B.10) et nous faisonsl’hypothèse que u ⋆ i∈K pour tout i.Théorème 1 :Avec les hypothèses énoncées, nous avons :∀i, limn→∞ u i,n = u ⋆ i .Preuve : La preuve s’appuie fortement sur [Bianchi et Jakubowicz, 2013], nous fournissonsici quelques éléments de preuves. Soit θ i,n := (ū n(i),T ,ν n(i),T ) T le vecteur des variablesexternes de l’agent i. Nous définissons θ n := (θ T 1,n ,...,θT N,n )T et de façon similaire u n :=(u T 1,n ,...,uT N,n )T . En utilisant les équations de (B.12) à (B.15), il est facile de montrer quenotre algorithme a la forme matricielle suivante :θ n+1 = (W(n)⊗I 2m )Π[θ n +γ n h(θ n ,u n )](B.16)où⊗désigne le pro<strong>du</strong>it Kroenecker, Π représente le projecteur sur (K×R m ) N et h(θ n ,u n )est un vecteur qui peut être exprimé directement à partir de (B.12) et (B.13) comme unefonction des gradients∇ū ˜f i et de la valeur courante des variables d’optimisation (θ n ,u n ).Soit 1 := (1,...,1) T désigne le vecteur N×1 avec toutes les valeurs à un. Nous désignionspar J le projecteur orthogonal sur le sous-espace <strong>du</strong> consensus {x⊗1 : x ∈ R 2m }. SoitJ ⊥ = I−J où I représente la matrice identité de taille 2Nm. La première étape consiste àmontrer qu’un accord est finalement trouvé entre les agents. Ceci équivaut à prouver queJ ⊥ θ n tend vers zéro lorsque n → ∞. Pour ce faire, nous étudions E|J ⊥ θ n | 2 . Par (B.16), unerelation simple entre E|J ⊥ θ n+1 | 2 et E|J ⊥ θ n | 2 peut être obtenue (cf. [Bianchi et Jakubowicz,2013] pour plus de détail). Avec l’hypothèse 1(c), il n’est pas difficile de voir que cette relationse ré<strong>du</strong>it à une contraction. Cette contraction implique finalement ∑ n E|J⊥ θ n | 2 < ∞qui, par le lemme de Borel-Cantelli, prouve la convergence vers le consensus c’est à dire,J ⊥ θ n → 0 avec une probabilité de 1. En outre, nous montrons que le consensus est atteinttrès rapidement. Cela signifie que dans le régime asymptotique, tout se passe comme si lesvariables externes de tous les agents étaient exactement égales.
254 ANNEXE B. ALGORITHME DISTRIBUÉ POUR LA COORDINATION D’AGENTS MOBILESL’étape suivante consiste à analyser la convergence de Jθ n ou l’équivalent, la moyennedes variables externes 〈θ n 〉 := N −1∑ i θ i,n. En multipliant chaque côté de (B.16) par leprojecteur J, nous obtenons une relation de la forme : Jθ n+1 = Π[Jθ n +γ n h(Jθ n ,u n )]+γ n ξ n +γ n e n . e n est <strong>du</strong> même ordre que le désaccord entre les agents |J ⊥ θ n |. Il est négligeablepour la raison mentionnée ci-dessus. ξ n est le bruit de la différence de martingale<strong>du</strong>e à la matrice W(n), qui n’affecte pas le point limite de l’algorithme sous réserve d’avoirl’hypothèse 1(b). Une fois de plus, nous nous référons à [Bianchi et Jakubowicz, 2013] pourplus de détails. Par conséquent, jusqu’aux dernières perturbations ξ n et e n , l’algorithmeest équivalent à un algorithme centralisé. Après l’estimation de ces perturbations et enmontrant qu’elles ne modifient pas la convergence, la preuve est conclue par des considérationsclassiques d’analyse convexe.B.4.3Exemples de "gossip" aléatoiresLa séquence des matrices (W n ) n≥1 est liée au protocole de communication entre lesagents. Notre algorithme est bien adapté aux protocoles pour lesquels l’hypothèse 1 estsatisfaite. Nous rappelons les principaux principes des deux processus de gossip les pluspopulaires [Boyd et al., 2006] et [Aysal et al., 2009]. Le réseau d’agents est représenté par ungraphe non orienté (E,V) où E correspond à un ensemble de N agents et V est l’ensembledes sommets. Nous désignons par N i le voisinage d’un noeud i. Nous supposons que lenoeud n’est pas connecté à lui-même (i∉N i ).Gossip par paires : A l’itération n, un agent/noeud i choisi au hasard se réveille. Le noeudi sélectionne au hasard un noeud j parmi ses voisins dans le graphe. Les noeuds i etj échangent leurs (ũ n+1,i , ˜ν n+1,i ) et (ũ n+1,j , ˜ν n+1,j ) provisoirement estimées et calculela moyenne pondérée ū n+1,i = ū n+1,j = 0.5ũ n+1,i +0.5ũ n+1,j (de même pour ν n+1,i =ν n+1,j ). Les autres noeuds k ∉ {i,j} conservent leurs variables externes : (ū n+1,k ,ν n+1,k )= (ũ n+1,k , ˜ν n+1,k ). Dans ce cas, la matrice correspondante W n est donnée par W n =I N −(e i −e j )(e i −e j ) T /2 où e j désigne le ième vecteur de la base canonique dans R N . Notonsque pour chaque n, W n forme une suite de matrices indépendantes et identiquementdistribuées doublement stochastiques : les hypothèses 1(a-b) sont clairement satisfaites.Par ailleurs, l’hypothèse 1(c) est satisfaite si et seulement si (E,V) est un graphe connexe(cf. [Boyd et al., 2006] pour preuve).Gossip par diffusion : A l’itération n, un agent i choisi aléatoirement de diffuser ses variablesexternes (temporaires) à tous ses voisins. Chaque voisin j calcule la moyenne pondéréeū n+1,j = 0.5ũ n+1,i +0.5ũ n+1,j et ν n+1,j = 0.5 ˜ν n+1,i +0.5 ˜ν n+1,j . Les noeuds qui nesont pas connectés à l’agent i conservent leurs variables externes inchangées. Cela com-
B.4. ALGORITHME DISTRIBUÉ 255prend l’agent i lui-même : l’émetteur i n’attend pas de retour de la part de ses voisins,contrairement au gossip par paires. Le (k,l)ème élément de la matrice correspondanteW n s’écrit :⎧1 si k∉N i et k = l⎪⎨β si k∈N i et l=iw n (k,l)=1−β si k∈N i et k = l⎪⎩0 sinon.La matrice W n est stochastique suivant les lignes mais pas suivant les colonnes : 1 T W n ≠1 T . Néanmoins, il est facile de vérifier que 1 T E(W n ) = 1 T (voir par exemple [Aysal et al.,2009]). Une fois de plus, les dérivations qui peuvent être trouvées dans [Aysal et al., 2009]montrent que l’hypothèse 1(c) est vérifiée si et seulement si (E,V) est un graphe connexe.B.4.4Scénario au taux de communication basDans de nombreux cas, notamment en robotique sous-marine, les communicationsentre véhicules sont rares. Dans ces cas, le régime asymptotique <strong>du</strong> théorème 1 n’a guèrede sens. En effet, il n’est plus raisonnable de supposer qu’une grande quantité de communicationse pro<strong>du</strong>it entre deux mises à jour de commandeu i (t) des agents. Bien que l’algorithmedistribué de la section B.4.2 n’est plus susceptible de trouver un minimiseur global,le théorème 1 montre que cette dernière approche est pertinente pour suivre le minimiseur.Dans ce paragraphe, nous proposons une version éten<strong>du</strong>e de l’algorithme présenté àla sous-section B.4.2.A chaque instant t, chaque agent i met à jour sa commande u i (t) ainsi que ses variablesexternes (ū (i) (t),ν (i) (t)). Une étape de gossip est utilisée pour s’accorder sur cesdernières.[Etape locale] L’agent i met à jour sa commande par :u i (t+1)=Π[u i (t)−γ∇ ui ˜f i,t (u i (t),ū (i) (t)|Y i (t))+γν (i) (t)]où γ>0 est une taille de pas constante. Une mise à jour temporaire des variables externesest générée comme suit :ũ (i) (t+1) =Π[ū (i) (t)−γ∇ū ˜f i,t (u i (t),ū (i) (t)|Y i (t))−γν (i) (t)]˜ν (i) (t+1) =ν (i) (t)+γ(ū (i) (t)−u i (t)) .
256 ANNEXE B. ALGORITHME DISTRIBUÉ POUR LA COORDINATION D’AGENTS MOBILES[Etape de gossip] Dans l’intervalle de temps [t,t+1), chaque agent i reçoit éventuellementdes mises à jour temporaires (ũ (j) (t + 1), ˜ν (j) (t + 1)) des variables externesd’autres agents j. Ensuite, l’agent i calcule la mise à jour finale :N∑ū (i) (t+1) = w i,j (t)ũ (j) (t+1)j=1N∑ν (i) (t+1) = w i,j (t) ˜ν (j) (t+1)j=1où les poids w i,j (t) sont choisis comme dans la section B.4.2 c’est à dire w i,j (t)=0chaquefois que l’agent i ne reçoit pas de message de j et tel que ∑ Nj=1 w i,j (t)=1.L’analyse de la convergence complète de l’algorithme ci-dessus est une tâche difficilequi est hors de notre portée. Le théorème 1 donne néanmoins une idée sur le fait que l’algorithmeproposé est capable de suivre les commandes appropriées, même dans un scénarioqui varie dans le temps. L’algorithme a été validé à travers diverses simulations pour la coordinationd’agents. Dans [Carlési et Bianchi, 2012], une comparaison est effectuée entrel’algorithme à pas constant et l’algorithme à pas décroissant pour un scénario avec unvéhicule "leader" et huit "followers", dans un environnement en deux dimensions. De manièreplus spécifique, l’algorithme à pas constant est employé pour la coordination d’AUVdans un environnement en trois dimensions dans le chapitre 8 <strong>du</strong> manuscrit.
Bibliographie(SNA, 1950) , 1950. SNAME. Nomenclature for treating the motion of a submerged bodythrough a fluid. Rapport technique. Cité page 239.(Noa, 2012) , 2012. National Geophysical Data Center. National Oceanic and AtmosphericAdministration. Cité pages 9 and 271.(Sta, 2013) , 2013. http ://e<strong>du</strong>cation.mit.e<strong>du</strong>/starlogo/. Cité page 181.(Aguiar et al., 2009a) A. P. Aguiar, J. Almeida, M. Bayat, B. Cardeira, R. Cunha, A. Häusler,P. Maurya, A. Oliveira, A. Pascoal, A. Pereira, M. Rufino, L. Sebastião, C. Silvestre, etF. Vanni, 2009a. Cooperative Control of Multiple Marine Vehicles : Theoretical Challengesand Practical Issues. Dans les actes de Proceedings of the 8th IFAC InternationalConference on Manoeuvring and Control of Marine Craft, Guarujá, Brazil, 412–417. Citépage 38.(Aguiar et al., 2009b) A. P. Aguiar, J. Almeiday, M. Bayaty, B. Cardeiray, R. Cunhay, A. Hauslery,P. Mauryay, A. Oliveiray, A. Pascoaly, A. Pereira, M. Rufinoy, L. Sebastiaoy, C. Silvestrey,et F. Vanniy, 2009b. Cooperative Autonomous Marine Vehicle motion control in thescope of the EU GREX Project : Theory and Practice. Dans les actes de Proceedings of the2009 IEEE OCEANS-EUROPE, Bremen, Germany. IEEE. Cité pages 36 and 271.(Aguiar et Pascoal, 2007) A. P. Aguiar et A. M. Pascoal, 2007. Coordinated path-followingcontrol for nonlinear systems with logic-based communication. Dans les actes de Proceedingsof the 46th IEEE Conference on Decision and Control, New Orleans, Louisiana,USA, 1473–1479. IEEE. Cité page 38.257
258 BIBLIOGRAPHIE(Akyildiz et al., 2004) I. F. Akyildiz, D. Pompili, et T. Melodia, 2004. Challenges for efficientcommunication in underwater acoustic sensor networks. ACM SIGBED Review 1(2),3–8. Cité page 30.(Alami et al., 1998) R. Alami, S. Fleury, M. Herrb, F. Ingrand, et F. Robert, 1998. Multi-robotcooperation in the MARTHA project. IEEE Robotics & Automation Magazine 5(1), 36–47.Cité page 85.(Almeida et al., 2010) J. Almeida, C. Silvestre, et A. Pascoal, 2010. Cooperative control ofmultiple surface vessels in the presence of ocean currents and parametric model uncertainty.Control (November 2009), 1549–1565. Cité page 36.(Arkin, 1992) R. C. Arkin, 1992. Cooperation without communication : Multiagentschema-based robot navigation. Journal of Robotic Systems 9(3), 351–364. Cité page45.(Arkin, 1998) R. C. Arkin, 1998. Behavior-based robotics. The MIT Press. Cité page 82.(Aysal et al., 2009) T. Aysal, M. Yildiz, A. Sarwate, et A. Scaglione, 2009. Broadcast GossipAlgorithms for Consensus. IEEE Transactions on Signal Processing 57(7), 2748–2761.Cité pages 252, 254, and 255.(Balch et Arkin, 1995) T. Balch et R. C. Arkin, 1995. Motor Schema-based FormationControl for Multiagent Robot Teams. Dans les actes de Proceedings of the First InternationalConference on Multiagent Systems, Numéro Arkin 1989, San Francisco, California,USA, 10–24. Cité pages 82 and 243.(Bayat et al., 2009) M. R. Bayat, F. Vanni, et A. P. Aguiar, 2009. Online Mission Planning forCooperative Target Tracking of Marine Vehicles. Dans les actes de Proceedings of the 8thConference on Manoeuvring and Control of Marine Craft, Guarujá, Brazil. Cité page 38.(Belbachir, 2011) A. Belbachir, 2011. A cooperative architecture for target localizationusing underwater vehicles. Thèse de Doctorat, Université de Toulouse, Toulouse. Citépage 46.(Belbachir et al., 2010) A. Belbachir, F. Ingrand, et S. Lacroix, 2010. Localizing underwatertargets using a cooperative AUV architecture. Dans les actes de Proceedings of the 2010International Conference on Machine and Web Intelligence, ICMWI’10, Algiers, Algeria,153–158. IEEE. Cité page 46.(Belbachir et al., 2012) A. Belbachir, F. Ingrand, et S. Lacroix, 2012. A cooperative architecturefor target localization using multiple AUVs. Intelligent Service Robotics 5(2),119–132. Cité page 46.
BIBLIOGRAPHIE 259(Bénézit, 2009) F. Bénézit, 2009. Distributed Average Consensus for Wireless Sensor Networks.Thèse de Doctorat, Ecole Polytechnique Fédérale de Lausanne. Cité page 252.(Bhatta et al., 2005) P. Bhatta, E. Fiorelli, F. Lekien, N. E. Leonard, D. Paley, F. Zhang,R. Bachmayer, R. E. Davis, D. M. Fratantoni, et R. Sepulchchre, 2005. Coordination ofan Underwater Glider Fleet for Adaptive Ocean Sampling. Dans les actes de Proceedingsof the International Workshop on Underwater Robotics, Numéro August, Genoa, Italy. InternationalAdvanced Robotics Programmed (IARP). Cité page 37.(Bianchi et al., 2011) P. Bianchi, G. Fort, W. Hachem, et J. Jakubowicz, 2011. PerformanceAnalysis of a Distributed Robbins-Monro Algorithm for Sensor Networks. Dans les actesde Proceedings of the 19th European Signal Processing Conference (EUSIPCO 2011), Barcelona,Spain, 1030–1034. Cité page 253.(Bianchi et Jakubowicz, 2013) P. Bianchi et J. Jakubowicz, 2013. Convergence of a Multi-Agent Projected Stochastic Gradient Algorithm for Non-Convex Optimization. IEEETransactions on Automatic Control 58(2), 391–405. Cité pages 244, 245, 253, and 254.(Borwein et Lewis, 2006) J. M. Borwein et A. S. Lewis, 2006. Convex Analysis and NonlinearOptimization : Theory and Examples (CMS Books ed.). Springer. Cité page 244.(Boyd et al., 2006) S. Boyd, A. Ghosh, B. Prabhakar, et D. Shah, 2006. Randomized gossipalgorithms. IEEE Transactions on Information Theory 52(6), 2508–2530. Cité pages 244,252, and 254.(Brekhovskikh et Lysanov, 2003) L. M. Brekhovskikh et Y. P. Lysanov, 2003. Fundamentalsof Ocean Acoustics (3rd ed.). Springer. Cité page 172.(Briñon Arranz et al., 2012) L. Briñon Arranz, A. Seuret, A. Sarlette, et C. Canudas de Wit,2012. Collaborative Estimation of Gradient Direction by a Formation of AUVs. Dansles actes de Proceedings of the 5th International ICST Conference on Performance EvaluationMethodologies and Tools, Numéro Valuetools, Cachan, France. ACM. Cité page243.(Brooks, 1991) R. A. Brooks, 1991. Intelligence without reason. Dans J. Myopoulos etR. Reiter (Eds.), Proceedings of the 12th International Joint Conference on Artificial Intelligence,Numéro 1293, Sydney, Australia, 569–595. Morgan Kaufmann publishers Inc.Cité page 152.(Brown et al., 2008) H. Brown, A. Kim, et R. Eustice, 2008. Development of a multi-AUVSLAM testbed at the University of Michigan. Dans les actes de Proceedings of the 2008
260 BIBLIOGRAPHIEIEEE/MTS OCEANS Conference and Exhibition, OCEANS’08, Quebec, Canada. IEEE. Citépage 29.(Bui et Kim, 2006) L.-D. Bui et Y.-G. Kim, 2006. An obstacle-avoidance technique for autonomousunderwater vehicles based on BK-pro<strong>du</strong>cts of fuzzy relation. Fuzzy Sets andSystems 157(4), 560–577. Cité page 29.(Bullo et al., 2009) F. Bullo, J. Cortés, et S. Martínez, 2009. Distributed Control of RoboticNetworks. Applied Mathematics Series. Princeton University Press. Cité page 248.(Carlési et Bianchi, 2012) N. Carlési et P. Bianchi, 2012. Distributed coordination of a formationof heterogeneous agents with indivi<strong>du</strong>al regrets and asynchronous communications.Dans les actes de Proceedings of the 2012 IEEE/RSJ International Conferenceon Intelligent Robots and Systems, Vilamoura, Portugal, 3504–3511. IEEE. Cité pages 169and 256.(Chang et Roberts, 1979) E. Chang et R. Roberts, 1979. An improved algorithm for decentralizedextrema-finding in circular configurations of processes. Communications of theACM 22(5), 281–283. Cité page 178.(Chapelle et al., 2002) J. Chapelle, O. Simonin, et J. Ferber, 2002. How Situated Agents canLearn to Cooperate by Monitoring their Neighbors’ Satisfaction. Dans les actes de Proceedingsof the 15th European Conference on Artificial Intelligence, ECAI’02, Lyon, France,68–72. IOS Press. Cité pages 80 and 101.(Coulouris et al., 2011) G. Coulouris, J. Dollimore, T. Kindberg, et G. Blair, 2011. DistributedSystems : Concepts and Design (Fifth ed.). Addison-Wesley. Cité page 178.(Crimmins et al., 2006) D. Crimmins, C. Patty, M. Beliard, J. Baker, J. Jalbert, R. Komerska,S. Chappell, et D. Blidberg, 2006. Long-En<strong>du</strong>rance Test Results of the Solar-Powered AUVSystem. Dans les actes de OCEANS 2006, 1–5. IEEE. Cité pages 30 and 124.(Crozier et Friedberg, 1981) M. Crozier et E. Friedberg, 1981. L’acteur et le système. Lescontraintes de l’action collective. Cité page 60.(Cucker et Smale, 2007) F. Cucker et S. Smale, 2007. Emergent Behavior in Flocks. IEEETransactions on Automatic Control 52(5), 852–862. Cité page 243.(Cui et al., 2009) R. Cui, S. S. Ge, B. V. E. How, et Y. S. Choo, 2009. Leader-follower FormationControl of Underactuated AUVs with Leader Position Measurement. Dans les actesde Proceedings of the 2009 IEEE International Conference on Robotics and Automation,ICRA’09, Kobe, Japan, 979–984. IEEE. Cité page 35.
BIBLIOGRAPHIE 261(Danson, 2002) E. Danson, 2002. The Economics of Scale : Using Autonomous UnderwaterVehicles ( AUVs ) for Wide-Area Hydrographic Survey and Ocean Data AcquisitionThe Economics of Scale : Using Autonomous Underwater Vehicles ( AUVs ) for Wide-Area Hydrographic Survey and Ocean Data Acq. Dans les actes de Proceedings of XXIIFIG(Fédération Internationale des Géomètres) International Congress, Washington, D.C.,USA, 1–15. Cité page 27.(Deneubourg et al., 1986) J. Deneubourg, S. Aron, S. Goss, J. Pasteels, et G. Duerinck, 1986.Random behaviour, amplification processes and number of participants : How theycontribute to the foraging properties of ants. Physica D : Nonlinear Phenomena 22(1-3),176–186. Cité page 44.(Deneubourg et Goss, 1989) J. Deneubourg et S. Goss, 1989. Collective patterns anddecision-making. Ethology Ecology & Evolution 1(4), 295–311. Cité page 44.(Desai et al., 2001) J. Desai, J. Ostrowski, et V. Kumar, 2001. Modeling and control of formationsof nonholonomic mobile robots. IEEE Transactions on Robotics and Automation17(6), 905–908. Cité page 34.(Dix et al., 2003) J. Dix, H. Muñoz Avila, D. S. Nau, et L. Zhang, 2003. IMPACTing SHOP :Putting an AI planner into a multi-agent environment. Annals of Mathematics and ArtificialIntelligence 37, 381–407. Cité page 137.(Drogoul, 1993) A. Drogoul, 1993. De la simulation multi-agent à la résolution collectivede problèmes. Une étude de l’émergence de structures d’organisation dans les systèmesmulti-agents. Thèse de Doctorat, Université Paris 6, Paris, France. Cité pages 44, 45, 81,82, and 87.(Edwards et al., 2004) D. Edwards, T. Bean, D. Odell, et M. Anderson, 2004. A leaderfolloweralgorithm for multiple AUV formations. Dans les actes de 2004 IEEE/OES AutonomousUnderwater Vehicles (IEEE Cat. No.04CH37578), 40–46. IEEE. Cité pages 34and 40.(El Jalaoui, 2007) A. El Jalaoui, 2007. Gestion Contextuelle de Tâches pour le contrôle d’unvéhicule sous-marin autonome. Thèse de Doctorat, Université Montpellier II, France.Cité page 122.(Erol et al., 1994) K. Erol, J. Hendler, et D. S. Nau, 1994. HTN Planning : Complexity andExpressivity. Dans les actes de Proceedings of the 12th National Conference on ArtificialIntelligence, AAAI’94, Seattle, Washington, USA, 1123–1128. AAAI Press. Cité pages 49,133, and 137.
262 BIBLIOGRAPHIE(Farr et al., 2010) N. Farr, A. Bowen, J. Ware, C. Pontbriand, et M. Tivey, 2010. An integrated,underwater optical /acoustic communications system. Dans les actes de OCEANS’10IEEE SYDNEY, 1–6. IEEE. Cité page 179.(Ferber, 1989) J. Ferber, 1989. Objets et agents : une étude des structures de représentationet de communications en intelligence artificielle. Paris, France. Cité page 87.(Ferber, 1995) J. Ferber, 1995. Les systèmes Multi-Agents. Vers une intelligence collective.Paris, France : InterEditions. Cité pages 40, 41, 42, 78, 80, 84, 85, 116, 117, 118, 150, 271,and 272.(Ferber et al., 2003) J. Ferber, O. Gutknecht, et F. Michel, 2003. From Agents to Organizations: an Organizational View of Multi-Agent Systems. Dans P. Giorgini, J. P. Müller, etJ. Odell (Eds.), Agent-Oriented Software Engineering IV, Volume 2935 de Lecture Notesin Computer Science, 214–230. Springer Berlin / Heidelberg. Cité pages 58, 59, 60, 69,and 181.(Fiorelli et al., 2004) E. Fiorelli, N. Leonard, P. Bhatta, D. Paley, R. Bachmayer, et D. Fratantoni,2004. Multi-AUV control and adaptive sampling in Monterey Bay. 2004 IEEE/OESAutonomous Underwater Vehicles (IEEE Cat. No.04CH37578) (June), 134–147. Cité page37.(Fiorelli et al., 2006) E. Fiorelli, N. E. Leonard, P. Bhatta, D. a. Paley, R. Bachmayer, et D. M.Fratantoni, 2006. Multi-AUV Control and Adaptive Sampling in Monterey Bay. IEEEJournal of Oceanic Engineering 31(4), 935–948. Cité page 37.(Fossen, 1994)242.T. I. Fossen, 1994. Guidance and control of ocean vehicles. Wiley. Cité page(Fournet, 2002) L. Fournet, 2002. Positionnement d’engins autonomes grands fonds : Etatde l’art et perspectives. Rapport technique, Conservatoire Nationnal des Arts et Métiers- Ecole Supérieure des Géomètres et Topographes, Le Mans, France. Cité page 12.(Gateau et al., 2010) T. Gateau, M. Barbier, et C. Lesire-Cabaniols, 2010. Local Plan Executionand Repair in a Hierarchical Structure of Sub-Teams of Heterogeneous AutonomousVehicles. Dans les actes de Proceedings of the 20th International Conference on AutomatedPlanning and Sche<strong>du</strong>ling, ICAPS’10, Toronto, Canada. Cité page 85.(Gateau et al., 2012) T. Gateau, C. Lesire, et B. Magali, 2012. HiDDeN , une architecturedécisionnelle distribuée pour la coopération de véhicules indivi<strong>du</strong>ellement autonomes.Dans les actes de 18ème congrès francophone sur la Reconnaissance des Formes et l’IntelligenceArtificielle RFIA’12, Lyon, France. Cité pages 85 and 88.
BIBLIOGRAPHIE 263(Ghabcheloo et al., 2006) R. Ghabcheloo, a. P. Aguiar, A. Pascoal, C. Silvestre, I. Kaminer,et J. Hespanha, 2006. Coordinated path-following control of multiple underactuatedautonomous vehicles in the presence of communication failures. Dans les actes de Proceedingsof the 45th IEEE Conference on Decision and Control, San Diego, CA, USA, 4345–4350. IEEE. Cité page 38.(Ghabcheloo et al., 2009a) R. Ghabcheloo, A. P. Aguiar, A. Pascoal, C. Silvestre, I. Kaminer,et J. Hespanha, 2009a. Coordinated Path-Following in the Presence of CommunicationLosses and Time Delays. SIAM Journal on Control and Optimization 48(1), 234–265.Cité pages 38 and 40.(Ghabcheloo et al., 2009b) R. Ghabcheloo, I. Kaminer, A. P. Aguiar, et A. Pascoal, 2009b. Ageneral framework for multiple vehicle time-coordinated path following control. Dansles actes de Proceedings of the 2009 conference on American Control Conference, ACC’09,Piscataway, NJ, USA, 3071–3076. IEEE Press. Cité page 36.(Glotzbach et al., 2008) T. Glotzbach, M. Schneider, et P. Otto, 2008. Multi System MissionControl for Teams of Unmanned Marine Vehicles - Software Structure for OnlineReplanning of Mission Plans. Dans les actes de Proceedings of the 7th InternationalConference on Computer Applications and Information Technology in the Maritime In<strong>du</strong>stries(COMPIT), Liege, Belgium, 185–199. Cité pages 38 and 46.(Gutknecht, 2001) O. Gutknecht, 2001. Proposition d’un modèle organisationnel génériquede systèmes multi-agents. Examen de ses conséquences formelles, implémentatoireset méthodologiques. Thèse de Doctorat, Université Montpellier II, France. Cité pages 70,271, and 272.(Gutknecht et al., 2000) O. Gutknecht, J. Ferber, et F. Michel, 2000. MadKit : Une expériencedâĂŹarchitecture de plate-forme multi-agent générique. Dans les actes de 8èmesJournées Francophones d’Intelligence Artificielle et Systèmes Multi-Agents (Hermès ed.).,JFIADSMA’OO, La Réunion, France, 223–236. Cité page 181.(Herman et Albus, 1988) M. Herman et J. S. Albus, 1988. Overview of the multiple autonomousunderwater vehicles (MAUV) project. Dans les actes de Proceedings. 1988 IEEEInternational Conference on Robotics and Automation, Volume 7, 618–620. IEEE Comput.Soc. Press. Cité pages 48, 50, 51, 64, 65, and 73.(Heutte, 2003) J. Heutte, 2003. Apprentissage collaboratif : vers l’Intelligence Collective...Cité pages 79 and 80.
264 BIBLIOGRAPHIE(Jadbabaie et al., 2003) A. Jadbabaie, J. Lin, et A. S. Morse, 2003. Coordination of groupsof mobile autonomous agents using nearest neighbor rules. IEEE Transactions on AutomaticControl 48(6), 988–1001. Cité page 243.(Jalving et al., 2004) B. r. Jalving, M. Mandt, O. K. Hagen, et F. Pø hner, 2004. Terrain ReferencedNavigation of AUVs and Submarines Using Multibeam Echo Sounders. Dansles actes de Proceedings of 2004 Undersea Defence Technology Europe, Numéro 2027 inUDT’04, Nice, France. Cité page 28.(Jaulin, 2011) L. Jaulin, 2011. Robotique mobile. Rapport technique. Cité page 242.(Jennings, 2000) N. Jennings, 2000. On agent-based software engineering. Artificial Intelligence117(2), 277–296. Cité pages 58 and 60.(Jennings et Wooldridge, 2000) N. R. Jennings et M. J. Wooldridge, 2000. Agent-OrientedSoftware Engineering. Handbook of Agent Technology. Cité page 59.(Jonquet, 2006) C. Jonquet, 2006. Dynamic Service Generation : Agent interactions forservice exchange on the Grid. Thèse de Doctorat, Université Montpellier II, Montpellier,France. Cité page 41.(Kalantar et Zimmer, 2008) S. Kalantar et U. R. Zimmer, 2008. Scale-Adaptive PolygonalFormations of Submersible Vehicles and Tracking Isocontours. Dans les actes de Proceedingsof the 2008 IEEE/RSJ International Conference on Intelligent Robots and Systems,IROS’08, Nice, France, 3146–3151. IEEE. Cité page 39.(Kalwa, 2009) J. Kalwa, 2009. The GREX-Project : Coordination and control of cooperatingheterogeneous unmanned systems in uncertain environments. Dans les actes deOCEANS 2009-EUROPE, 1–9. IEEE. Cité page 38.eng(Kaminer et al., 1998) I. Kaminer, A. Pascoal, E. Hallberg, et C. Silvestre, 1998. TrajectoryTracking for Autonomous Vehicles : An Integrated Approach to Guidance and Control.Journal of guidance, control, and dynamics 21(1), 29–38. Cité page 29.(Khalil et Dombre, 1999) W. Khalil et E. Dombre, 1999. Modélisation, identification et commandedes robots (Hermes Sci ed.). Cité page 242.(Lapierre et al., 2006) L. Lapierre, D. Soetanto, et a. Pascoal, 2006. Nonsingular path followingcontrol of a unicycle in the presence of parametric modelling uncertainties. InternationalJournal of Robust and Nonlinear Control 16(10), 485–503. Cité pages 14 and 15.
BIBLIOGRAPHIE 265(Le Ny et al., 2011) J. Le Ny, A. Ribeiro, et G. J. Pappas, 2011. Robot deployment withend-to-end communication constraints. Dans les actes de Proceedings of the 50th IEEEConference on Decision and Control and European Control Conference, 4232–4238. IEEE.Cité pages 243 and 248.(Leonard et al., 2002) J. J. Leonard, R. J. Rikoski, P. M. Newman, et M. Bosse, 2002. MappingPartially Observable Features from Multiple Uncertain Vantage Points. The InternationalJournal of Robotics Research 21(10-11), 943–975. Cité page 29.(Liemhetcharat et Veloso, 2011) S. Liemhetcharat et M. Veloso, 2011. Modeling mutual capabilitiesin heterogeneous teams for role assignment. Dans les actes de Proceedings ofthe 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems, San Francisco,California, USA, 3638–3644. IEEE. Cité page 132.(Mataric, 1994) M. J. Mataric, 1994. Interaction and Intelligent Behavior. Thèse de Doctorat,Massachusetts Institute of Technology, Cambridge, Massachusetts, USA. Cité pages82 and 169.(McGann et al., 2008) C. McGann, F. Py, K. Rajan, H. Thomas, R. Henthorn, et R. McEwen,2008. A Deliberative Architecture for AUV Control. Dans les actes de Proceedings ofthe 2008 IEEE International Conference on Robotics and Automation, ICRA’08, Pasadena,California, USA, 1049–1054. IEEE. Cité page 46.(Michel, 2006) J.-C. Michel, 2006. La mine de demain : une exploitation sous-marine <strong>du</strong>rable.Géochronique 97. Cité page 13.(Minsky, 1986) M. Minsky, 1986. The Society of Mind. New York, NY, USA : Simon \&Schuster, Inc. Cité page 43.(Muller, 1998) J.-P. Muller, 1998. Vers une méthodologie de conception de systèmes multiagentsde résolution de problèmes par émergence. Dans J.-P. Barthes (Ed.), Actes desJournées Francophones en Intelligence Artificielle Distribuée et Systèmes Multi-Agents.Hermés. Cité page 58.(Nau et al., 1999) D. Nau, Y. Cao, A. Lotem, et H. Munoz-Avila, 1999. SHOP : Simple hierarchicalordered planner. Dans les actes de Proceedings of the 16th international jointconference on Artificial intelligence, Volume 2 de IJCAI’99, San Francisco, CA, USA, 968–973. Morgan Kaufmann Publishers Inc. Cité page 137.(Nau et al., 2003) D. S. Nau, O. Ilghami, U. Kuter, J. W. Murdock, D. Wu, et F. Yaman, 2003.SHOP2 : An HTN Planning System. Journal of Artificial Intelligence Research 20, 379–404.Cité page 137.
266 BIBLIOGRAPHIE(Nedic et Ozdaglar, 2009) A. Nedic et A. Ozdaglar, 2009. Distributed Subgradient Methodsfor Multi-Agent Optimization. IEEE Transactions on Automatic Control 54(1), 48–61.Cité pages 245 and 252.(Nedic et al., 2010) A. Nedic, A. Ozdaglar, et P. Parrilo, 2010. Constrained Consensus andOptimization in Multi-Agent Networks. IEEE Transactions on Automatic Control 55(4),922–938. Cité page 245.(Olfati-Saber, 2006) R. Olfati-Saber, 2006. Flocking for Multi-Agent Dynamic Systems :Algorithms and Theory. IEEE Transactions on Automatic Control 51(3), 401–420. Citépages 35 and 244.(Olfati-Saber et Murray, 2004) R. Olfati-Saber et R. Murray, 2004. Consensus Problems inNetworks of Agents With Switching Topology and Time-Delays. IEEE Transactions onAutomatic Control 49(9), 1520–1533. Cité pages 35 and 37.(Parodi, 2008) O. Parodi, 2008. Simulation hybride pour la coordination de véhicules hétérogènesau sein d’une flottille. Thèse de Doctorat, Université Montpellier II, France. Citépage 172.(Pentzer et al., 2010) J. Pentzer, B. Crosbie, T. Bean, J. Canning, J. Frenzel, M. Anderson, etD. Edwards, 2010. Measurement of magnetic field using collaborative AUVs. Dans lesactes de OCEANS’10 IEEE SYDNEY, 1–7. IEEE. Cité page 34.(Porfiri et al., 2007) M. Porfiri, D. Roberson, et D. Stilwell, 2007. Tracking and formationcontrol of multiple autonomous agents : A two-level consensus approach. Automatica43(8), 1318–1328. Cité page 35.(Prigogine, 1968) I. Prigogine, 1968. Intro<strong>du</strong>ction à la thermodynamique des processusirréversibles (Dunot ed.). Paris. Cité page 42.(Prigogine, 1993) I. Prigogine, 1993. Les lois <strong>du</strong> chaos (Champs Fla ed.). Cité page 42.(Reynolds, 1987) C. W. Reynolds, 1987. Flocks, herds and schools : A distributed behavioralmodel. Dans les actes de ACM SIGGRAPH ’87 : Proceedings of the 14th annual conferenceon Computer graphics and interactive techniques, Volume 21, New York, NY, USA, 25–34.ACM. Cité pages 81, 82, and 243.(Sabattini et al., 2011) L. Sabattini, N. Chopra, et C. Secchi, 2011. Distributed controlof multi-robot systems with global connectivity maintenance. Dans les actes de 2011IEEE/RSJ International Conference on Intelligent Robots and Systems, San Francisco, CA,USA, 2321–2326. IEEE. Cité page 244.
BIBLIOGRAPHIE 267(Sacerdoti, 1975) E. D. Sacerdoti, 1975. The nonlinear nature of plans. Dans les actes deProceedings of the 4th international joint conference on Artificial intelligence, Volume 1de IJCAI’75, Tblisi, USSR, 206—-214. Morgan Kaufmann Publishers Inc. Cité page 133.(Sariel et al., 2006) S. Sariel, T. Balch, et J. Stack, 2006. Distributed Multi-AUV Coordinationin Naval Mine Countermeasure Missions. Georgia Institute of Technology, College ofComputing : GVU Technical Report, GIT-GVU-06-04. Cité pages 40, 46, 47, 48, 51, 80, 84,and 88.(Schneider et al., 2009) M. Schneider, T. Glotzbach, T. Güther, et P. Otto, 2009. TowardsCooperative Behaviour between Multiple Unmanned Marine Vehicles (MUMVs) : TeamHandling for the First Multi Vehicle Primitives. Dans les actes de Proceedings of the 8thInternational Conference on Computer Applications and Information Technology in theMaritime In<strong>du</strong>stries (COMPIT), Budapest, Hungary, 165–172. Cité page 38.(Sgorbissa et Zaccaria, 2010) A. Sgorbissa et R. Zaccaria, 2010. 3D Path Following with noBounds on the Path Curvature through Surface Intersection. Dans les actes de Proceedingsof the 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems,IROS’10, Taipei, Taiwan, 4029–4035. IEEE. Cité page 29.(Simonin, 2001) O. Simonin, 2001. Le modèle satisfaction-altruisme : coopération et résolutionde conflits entre agents situés réactifs, application à la robotique. Thèse de Doctorat,Université Montpellier II, France. Cité pages 40, 43, 45, 80, 82, 87, 88, 89, 90, 91, 93,94, 96, 97, 99, 205, 235, and 272.(Smith, 1980) R. G. Smith, 1980. The Contract Net Protocol : High-Level Communicationand Control in a Distributed Problem Solver. IEEE Transactions on Computers C-29(12),1104–1113. Cité pages 47 and 80.(Sotzing et al., 2008) C. C. Sotzing, N. Johnson, et D. M. Lane, 2008. Improving multi-auvcoordination with hierarchical blackboard-based plan representation. Dans les actesde Proceedings of the 27th Workshop of the UK Planning and Sche<strong>du</strong>ling Special InterestGroup (PlanSIG), 110–117. Cité pages 49 and 82.(Sotzing et Lane, 2010) C. C. Sotzing et D. M. Lane, 2010. Improving the Coordination Efficiencyof Limited-Communication Multi-Autonomus Underwater Vehicle OperationsUsing a Multiagent Architecture. Journal of Field Robotics 27(4), 412–429. Cité pages40, 45, 49, 50, 51, 52, 53, 82, 84, and 88.(Spiewak, 2007) J.-M. Spiewak, 2007. Contribution à la coordination de flottille véhiculessous-marins autonomes. Thèse de Doctorat, Université Montpellier II, Montpellier,France. Cité pages 34, 35, and 271.
268 BIBLIOGRAPHIE(Spiewak et al., 2006) J.-M. Spiewak, B. Jouvencel, P. Fraisse, et L. Lapierre, 2006. H160 : unvéhicule sous-marin autonome dédié à l’exploration des eaux peu profondes. Dans lesactes de CMM’06 : Caractérisation <strong>du</strong> Milieu Marin, 24. Cité page 9.(Steels, 1989) L. Steels, 1989. Cooperation between distributed agents through selforganisation.Dans Y. Demazeau et J.-P. Müller (Eds.), Decentralized A.I. : proceedings ofthe First European Workshop on Modelling Autonomous Agents in a Multi-Agent World,Cambridge, England, 175–196. Elsevier Science B. V. Cité page 44.(Sundhar Ram et al., 2010) S. Sundhar Ram, A. Nedić, et V. V. Veeravalli, 2010. DistributedStochastic Subgradient Projection Algorithms for Convex Optimization. Journal ofOptimization Theory and Applications 147(3), 516–545. Cité page 245.(Tate, 1977) A. Tate, 1977. Generating project networks. Dans les actes de Proceedingsof the 5th international joint conference on Artificial intelligence, Volume 2 de IJCAI’77,Cambridge, MA, USA, 888—-893. Morgan Kaufmann Publishers Inc. Cité page 133.(Tu et Sayed, 2011) S.-Y. Tu et A. H. Sayed, 2011. Cooperative prey herding based on diffusionadaptation. Dans les actes de Proceedings of the 2011 IEEE International Conferenceon Acoustics, Speech and Signal Processing (ICASSP), 3752–3755. IEEE. Cité pages243 and 244.(Turner et Turner, 2001) R. Turner et E. Turner, 2001. A two-level, protocol-based approachto controlling autonomous oceanographic sampling networks. IEEE Journal ofOceanic Engineering 26(4), 654–666. Cité page 65.(Vaganay et al., 1996) J. Vaganay, J. Leonard, et J. Bellingham, 1996. Outlier Rejection forAutonomous Acoustic Navigation. Dans les actes de Proceedings of the 1996 IEEE InternationalConference on Robotics and Automation, Volume 3 de ICRA’96, Minneapolis,Minnesota , USA, 2174–2181. IEEE. Cité page 28.(Vicsek et al., 1995) T. Vicsek, A. Czirók, E. Ben-Jacob, I. Cohen, et O. Shochet, 1995. NovelType of Phase Transition in a System of Self-Driven Particles. Physical Review Letters75(6), 1226–1229. Cité page 243.(Warren, 1990) C. W. Warren, 1990. A technique for autonomous underwater vehicle routeplanning. IEEE Journal of Oceanic Engineering 15(3), 199–204. Cité page 87.(Xiang et al., 2010) X. Xiang, B. Jouvencel, et O. Parodi, 2010. Coordinated FormationControl of Multiple Autonomous Underwater Vehicles for Pipeline Inspection. InternationalJournal of Advanced Robotic Systems 7(1), 1. Cité pages 35 and 39.
BIBLIOGRAPHIE 269(Yang et al., 2010) P. Yang, R. Freeman, G. Gordon, K. Lynch, S. Srinivasa, et R. Sukthankar,2010. Decentralized estimation and control of graph connectivity for mobile sensornetworks. Automatica 46(2), 390–396. Cité page 244.(You et al., 2005) G.-x. You, Y.-j. Pang, et D.-p. Jiang, 2005. Market based framework formultiple AUVs cooperation. Journal of Marine Science and Application 4(2), 7–12. Citépages 47 and 51.(Zeghal, 1994) K. Zeghal, 1994. Vers une théorie de la coordination d’actions. Applicationà la navigation aérienne. Thèse de Doctorat, Université Paris 6, Paris, France. Cité pages87 and 166.
Table des figures2.1 Répartition de l’eau sur Terre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 Statistiques sur les océans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3 Profondeurs des océans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.4 Carte des relevés bathymétriques multifaisceau [Noa, 2012] . . . . . . . . . . . . 92.5 Biodiversité marine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.6 Coupe de la zone côtière . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.7 Offshore profond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.8 Etude bathymétrique avant la pose d’un cable . . . . . . . . . . . . . . . . . . . . 142.9 Ensouillage d’un câble par le robot Spider développé par Nexans . . . . . . . . . 152.10 Boîte noire immergée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.1 Les différentes classes de véhicules sous-marins . . . . . . . . . . . . . . . . . . . 234.1 Approche leader-follower [Spiewak, 2007] . . . . . . . . . . . . . . . . . . . . . . . 354.2 Suivi de chemin coordonné avec trois AUV [Aguiar et al., 2009b] . . . . . . . . . . 364.3 Approche des corps virtuels et les champs de potentiels artificiels . . . . . . . . . 374.4 Suivi de cible coordonné : la quête d’une source hydrothermale . . . . . . . . . . 384.5 Représentation imagée d’un système multi-agent [Ferber, 1995] . . . . . . . . . . 425.1 Spécification de groupes de véhicules dans l’architecture MAUV . . . . . . . . . . 645.2 Approche générale <strong>du</strong> projet CoDA . . . . . . . . . . . . . . . . . . . . . . . . . . . 655.3 Exemple d’AOSN <strong>du</strong> projet CoDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665.4 TLO créé pour l’exemple de mission <strong>du</strong> projet CoDA . . . . . . . . . . . . . . . . . 675.5 Concepts de base <strong>du</strong> modèle AGR [Gutknecht, 2001] . . . . . . . . . . . . . . . . . 70271
272 Table des figures5.6 Modèle d’agent générique [Gutknecht, 2001] . . . . . . . . . . . . . . . . . . . . . 705.7 Une organisation artificielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715.8 Une organisation concrète . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715.9 Organisation concrète AGR de la structure hiérarchique <strong>du</strong> projet MAUV . . . . 745.10 Structure organisationnelle de l’exemple d’AOSN <strong>du</strong> projet CoDA avec le modèleAGR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 756.1 Exemple de courbe de satisfaction personnelle [Simonin, 2001] . . . . . . . . . . 916.2 Schéma de communication/réaction par signaux . . . . . . . . . . . . . . . . . . 926.3 Modèle satisfaction-altruisme [Simonin, 2001] . . . . . . . . . . . . . . . . . . . . 936.4 Décomposition d’une activité a i et processus de sélection . . . . . . . . . . . . . 956.5 Interaction dans le modèle AGR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1026.6 Interaction réactive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1026.7 Organisation artificielle de la flottille . . . . . . . . . . . . . . . . . . . . . . . . . . 1046.8 Mission de cartographie multimodale . . . . . . . . . . . . . . . . . . . . . . . . . 1046.9 Organisation artificielle de la flottille . . . . . . . . . . . . . . . . . . . . . . . . . . 1076.10 Organisation concrète de la flottille . . . . . . . . . . . . . . . . . . . . . . . . . . . 1086.11 Exemple d’organisation artificielle . . . . . . . . . . . . . . . . . . . . . . . . . . . 1127.1 Représentation schématique des différentes fonctions de l’organisation d’unsystème multi-agent [Ferber, 1995] . . . . . . . . . . . . . . . . . . . . . . . . . . . 1177.2 Fonctions de la couche sociale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1197.3 Fonctions de la couche conative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1207.4 Fonctions de la couche fonctionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . 1217.5 Vue globale <strong>du</strong> modèle d’architecture . . . . . . . . . . . . . . . . . . . . . . . . . . 1267.6 Architecture REMORAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1297.7 Couche sociale de l’architecture REMORAS . . . . . . . . . . . . . . . . . . . . . . 1307.8 Mo<strong>du</strong>les pour l’organisation de la flottille . . . . . . . . . . . . . . . . . . . . . . . 1317.9 Formalisme HTN : exemples de décomposition de tâches . . . . . . . . . . . . . . 1347.10 Tâches : états d’activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1357.11 Mo<strong>du</strong>les pour la répartition des tâches dans l’organisation d’AUV . . . . . . . . . 1397.12 Notification d’un changement d’état d’activation entre tâches dépendantes . . . 1417.13 Mise à jour d’un objectif indivi<strong>du</strong>el après réception de données organisationnelles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1427.14 Couche conative de l’architecture REMORAS . . . . . . . . . . . . . . . . . . . . . 1477.15 Motivations prises en compte par une activité vitale . . . . . . . . . . . . . . . . . 1517.16 Motivations prises en compte par une activité indivi<strong>du</strong>elle . . . . . . . . . . . . . 1527.17 Motivations prises en compte par une activité coopérative . . . . . . . . . . . . . 152
Table des figures 2737.18 Couche fonctionnelle de l’architecture REMORAS . . . . . . . . . . . . . . . . . . 1577.19 Equipements employés par l’AUV pour percevoir l’environnement . . . . . . . . 1597.20 Diagramme UML des activités de navigation . . . . . . . . . . . . . . . . . . . . . 1627.21 Diagramme UML des activités de guidage . . . . . . . . . . . . . . . . . . . . . . . 1657.22 Evitement d’obstacle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1668.1 Organisation artificielle d’un groupe de la flottille . . . . . . . . . . . . . . . . . . 1768.2 Organisation hiérarchique au sein de chaque groupe . . . . . . . . . . . . . . . . 1778.3 Organisation hiérarchique entre les groupes . . . . . . . . . . . . . . . . . . . . . . 1778.4 Organisation égalitaire entre les groupes . . . . . . . . . . . . . . . . . . . . . . . . 1778.5 Les différentes phases de fonctionnement de la stratégie collective . . . . . . . . 1788.6 Formes d’interaction mises en jeu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1808.7 Exemple de visualisation d’un environnement sous-marin . . . . . . . . . . . . . 1828.8 Diagramme UML de l’implémentation d’un AUV . . . . . . . . . . . . . . . . . . . 1838.9 Détails <strong>du</strong> déroulement de la SKF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1848.10 Objectif management de groupe : décomposition en activités . . . . . . . . . . . 1908.11 Objectif débriefing : décomposition en activités . . . . . . . . . . . . . . . . . . . 1918.12 Planification de la mission fictive . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1968.13 Organisation concrète initiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1978.14 Rassemblement initial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1988.15 Phase de rassemblement terminée et début de la phase autonome . . . . . . . . 2008.16 Cycle complet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2018.17 Enchaînement de plusieurs cycles de la SKF . . . . . . . . . . . . . . . . . . . . . . 2018.18 Ajout d’interactions entre exécutants . . . . . . . . . . . . . . . . . . . . . . . . . . 2058.19 Nouvelles activités générées lors de la décomposition de l’objectif managementde groupe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2088.20 Nouvelles activités générées lors de la décomposition de l’objectif débriefing . . 2088.21 Perte <strong>du</strong> coordinateur <strong>du</strong>rant la phase de rassemblement initiale . . . . . . . . . 2108.22 Réalisation de la mission fictive par trois AUV . . . . . . . . . . . . . . . . . . . . . 2118.23 Désistement <strong>du</strong> rôle de coordinateur pour le rôle d’exécutant . . . . . . . . . . . 2128.24 Nouvelle phase autonome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2148.25 Scénario de recherche de boite noire . . . . . . . . . . . . . . . . . . . . . . . . . . 2168.26 Organisation artificielle choisie pour rechercher la boîte-noire . . . . . . . . . . . 2178.27 Planification de la mission de recherche de boîte-noire . . . . . . . . . . . . . . . 2208.28 Organisation concrète pour la mission de recherche de boîte-noire . . . . . . . . 2248.29 Rassemblement initial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2258.30 Trajectoires des AUV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2268.31 Zoom sur la relocalisation de l’AUV 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 227
274 Table des figures8.32 Détection <strong>du</strong> signal de la boîte-noire . . . . . . . . . . . . . . . . . . . . . . . . . . 2288.33 Cartographie de l’épave d’avion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2298.34 Fin de la mission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230A.1 Repères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238A.2 Vitesses linéaires et angulaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Liste des tableaux3.1 Les canaux de communication acoustique . . . . . . . . . . . . . . . . . . . . . . . 306.1 Interaction vidéaste-cartographieur . . . . . . . . . . . . . . . . . . . . . . . . . . 1056.2 Interaction cartographieur-vidéaste . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056.3 Interaction cartographieur-cartographieur . . . . . . . . . . . . . . . . . . . . . . 1056.4 Interaction vidéaste-détecteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1076.5 Interaction détecteur-vidéaste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1076.6 Interaction de répulsion cartographieur-cartographieur . . . . . . . . . . . . . . . 1116.7 Mode d’adressage normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126.8 Adressage "rôle et numéro d’interaction <strong>du</strong> destinataire" . . . . . . . . . . . . . . 1126.9 Adressage numéro d’interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1127.1 Modèle d’architecture d’AUV : déclinaison des fonctions selon les couches . . . 1258.1 Interaction exécutant-coordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . 1858.2 Interaction coordinateur-exécutant . . . . . . . . . . . . . . . . . . . . . . . . . . . 1868.3 Interaction exécutant-coordinateur-idAuv . . . . . . . . . . . . . . . . . . . . . . . 1868.4 Interaction coordinateur-exécutant-idAuv . . . . . . . . . . . . . . . . . . . . . . . 1878.5 Initialisation des activités vitales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1888.6 Initialisation des objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1898.7 Initialisation mission "fictive" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1898.8 Activités générées par le coordinateur . . . . . . . . . . . . . . . . . . . . . . . . . 1928.9 Activités générées par les exécutants . . . . . . . . . . . . . . . . . . . . . . . . . . 1938.10 Caractéristiques des AUV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197275
276 Liste des tableaux8.11 Paramètres décisionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1978.12 Paramètres de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1978.13 Interaction 4 exécutant-exécutant . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2058.14 Interaction 5 exécutant-exécutant . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2068.15 Interaction coordinateur-coordinateur . . . . . . . . . . . . . . . . . . . . . . . . . 2078.16 Nouvelles activités générées par le coordinateur . . . . . . . . . . . . . . . . . . . 2098.17 Nouvelles activités générées par les exécutants . . . . . . . . . . . . . . . . . . . . 2098.18 Indices de performance des AUV . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2108.19 Indices de performance des AUV 5 et 6 . . . . . . . . . . . . . . . . . . . . . . . . . 2128.20 Interaction 7 coordinateur - cartographieur . . . . . . . . . . . . . . . . . . . . . . 2188.21 Interaction 8 cartographieur - auditeur . . . . . . . . . . . . . . . . . . . . . . . . . 2188.22 Interaction 8 cartographieur - auditeur . . . . . . . . . . . . . . . . . . . . . . . . . 2198.23 Activités générées pour l’objectif d’assistance à la relocalisation . . . . . . . . . . 2218.24 Activités générées pour l’objectif d’exploration . . . . . . . . . . . . . . . . . . . . 2218.25 Activités générées pour l’objectif de recherche de boîte-noire . . . . . . . . . . . 2228.26 Activités générées pour l’objectif de cartographie . . . . . . . . . . . . . . . . . . . 223
AbstractUnderwater marine applications are nowadays branching into various fields coveringlarger and deeper zones. Performing the required tasks with the aid of AUV flotillas is areal challenge. However, the advantages of using such a new technology are numerous.Firstly, this would highly re<strong>du</strong>ce the cost of the mission thanks to the distribution of thisformer among the various AUV: the loss of one AUV or its bad functioning will not degradethe performance of the flotilla in general. Secondly, the use of a flotilla re<strong>du</strong>ces the executiontime of a mission given the parallelization of certain tasks. Finally, any mission canbe accomplished by the flotilla by taking into consideration the specificity of each AUV. Infact, each of these vehicles holds different characteristics rendering the global architectureheterogeneous and therefore applicable in different contexts. However, the methods concernedwith multi-AUV cooperation are hindered by two main limitations: (1) the numberof communications in<strong>du</strong>ced and (2) the management of the heterogeneity in the flotilla.The proposed approach aims at responding to these challenges. The principal idea isto combine this reactive cooperational approach with an organizational one. The reactivecooperational approach allows the exchange of simple communication signals. However,it does not help in solving the problems of cooperation that are very constrained and thatmainly concern the spatial coordination of homogeneous vehicles. The first contributionin this thesis is the extension of the satisfaction-altruism approach. A new reactive decisionalmechanism capable of considering the cooperative actions of various natures isproposed. The second contribution consists in specifying the context of reactive interactionsbased on an organizational approach. The organizational model Agent/Group/Roleis used in order to have an explicit representation of the flotilla. The concepts of "group"and especially "role" are used in the attribution of the communication signals allowing theaccomplishment of heterogeneous interactions with a big mo<strong>du</strong>larity. A new concept istherefore born and is integrated in a new software architecture called REMORA intendedto equip autonomous underwater vehicles. This proposed new method has been validatedthrough various numerical simulations in different scenarios putting at stake heterogeneousAUV.Keywords: multi-agents systems, underwater robotics, software architecture
278 Liste des tableauxRésuméLes applications sous-marines actuelles exigent la réalisation de travaux de différentesnatures dans des zones de plus en plus vastes et toujours plus profondes. La conceptionet l’utilisation de flottilles d’AUV dans ce contexte est un véritable challenge. Les bénéficesatten<strong>du</strong>s sont multiples. Premièrement, cela doit permettre de minimiser les coûts grâce àune répartition de ceux-ci sur l’ensemble de la flottille : la perte d’un AUV ou son mauvaisfonctionnement ne remettront pas en cause l’intégralité de la mission. Deuxièmement,l’utilisation d’une flottille doit de fait permettre de ré<strong>du</strong>ire le temps d’exécution d’une missiongrâce à la parallélisation de certaines tâches. Enfin, la réalisation d’une mission parune flottille permet de conserver le caractère spécialisé des AUV et donc d’envisager plusfacilement leur réutilisation dans d’autres contextes. Cependant, les approches de coopérationmulti-AUV existantes sont limitées par deux principaux verrous : (1) le nombre decommunications in<strong>du</strong>it et (2) la gestion de l’hétérogénéité potentielle d’une flottille.L’approche que nous proposons vise à répondre à ces problématiques. L’idée principaleest de combiner une approche de coopération réactive avec une approche organisationnelle.L’approche de coopération réactive permet l’échange des signaux de communicationtrès simples. Cependant, elle ne permet de résoudre que des problèmes de coopérationde nature assez restreinte qui concernent essentiellement la coordination spatialede véhicules homogènes. La première contribution de cette thèse est l’extension del’approche satisfaction-altruisme. Un nouveau mécanisme décisionnel réactif, capable deconsidérer des actions coopératives de diverses natures, est proposé. La deuxième contributionconsiste à spécifier les contextes d’interactions réactives à l’aide d’une approche organisationnelle.Le modèle organisationnel Agent/Groupe/Rôle est utilisé pour avoir unereprésentation explicite de l’organisation de la flottille. Les concepts de groupe, mais surtoutde rôle, sont employés dans l’adressage des signaux de communication et permettentla mise en oeuvre d’interactions hétérogènes avec une grande mo<strong>du</strong>larité. L’ensemble estintégré dans une nouvelle architecture logicielle, appelée REMORAS, destinée à équiperdes véhicules sous-marins autonomes. Une validation de la faisabilité de notre approcheest proposée à l’aide d’une simulation de plusieurs scénarios mettant en jeu des AUV hétérogènes.Mots clefs : systèmes multi-agents, robotique sous-marine, architecture logicielle<strong>LIRMM</strong> — 161, rue Ada — 34095 Montpellier cedex 5 — France