Vers une Architecture de contrôle pour Robot Mobile orientée Comportement, SMACH

Dimension: px
Commencer à balayer dès la page:

Download "Vers une Architecture de contrôle pour Robot Mobile orientée Comportement, SMACH"

Transcription

1 N d Ordre : THESE Présentée à L UNIVERSITE DE NICE - SOPHIA ANTIPOLIS U.F.R. FACULTE DES SCIENCES Pour obtenir Le Titre de Docteur en Sciences Mention Sciences pour l Ingénieur par Jean-Yves Tigli Titre de la Thèse Vers une Architecture de contrôle pour Robot Mobile orientée Comportement, SMACH Soutenue le 31 janvier 1996 devant la commission d examen composée de : Monsieur Jean-Paul Rigault Président Madame Marie-Claude Thomas Directeur de thèse Messieurs Raja Chatila Rapporteurs Lionel Marcé Madame João Rendas Examinatrice Messieurs Jean-Pierre Müller Examinateurs Daniel Simon

2

3 A Nathalie A ma famille...

4

5 Remerciements Je remercie le Professeur Jean-Paul Rigault, qui a très gentiment accepté de présider ce Jury. Les enseignements dispensés dans l Ecole dont il est directeur, ont suscité chez moi cet intérêt pour l Informatique et la Robotique. Je tiens à remercier mon directeur de thèse, M.-C. Thomas, Professeur à l Université de Nice-Sophia Antipolis pour sa disponibilité, son soutien et sa confiance tout au long de la préparation de cette thèse. Je remercie très vivement Monsieur Raja Chatila, Directeur de Recherche au Laboratoire d Automatique et d Analyse des Systèmes du CNRS à Toulouse d avoir accepté d être rapporteur de cette thèse. Son expérience de longue date dans le domaine de la Robotique Mobile sur le robot mobile HILARE, lui permet sans nul doute de faire partie des quelques experts sur les architectures de contrôle de robots mobiles. Je remercie très sincèrement le Professeur Lionel Marcé, Professeur d Informatique à l Université Occidentale de Bretagne, pour avoir bien voulu être rapporteur de cette thèse autour d un domaine de recherche qu il connait bien, la Robotique Mobile, de par son expérience sur le robot VESA. Je suis très reconnaissant au Professeur Jean-Pierre Müller, Professeur d Informatique à l Université de Neûchatel, spécialiste dans le domaine de l Intelligence Artificielle en environnement réel et notamment sur le robot NOMAD 200, d avoir accepté d apprécier les travaux exposés dans ce mémoire. Je tiens à exprimer ma gratitude à Madame João Rendas, Chargé de Recherche CNRS au laboratoire I3S, et à Monsieur Daniel Simon, Chargé de Recherche à l INRIA Sophia Antipolis, pour avoir accepté de juger ce travail. Je remercie R. Liscano, research officer du Centre de Recherche National du Canada et R. Fayek pour leur collaboration scientifique depuis notre rencontre à Atlanta. Je remercie mes deux Brainstormers préférés que sont H. Medromi et M. Occello pour ces heures passées à aiguiser nos idées. Je remercie les différents étudiants de l ESSI qui ont travaillé avec moi, pour leur enthousiasme, et pour avoir temporairement grossi les rangs de notre petite équipe robotique, avec une pensée toute particulière pour Christophe Brissi. Je fais enfin un clin d oeil, à tous ceux que j ai pu oublier dans mes remerciements...

6

7 1 1

8 Table des matières Introduction Générale 12 Premières approches pour le Contrôle de Robot Mobile 16 1 Les Premières Architectures de Contrôle en Robotique Mobile Introduction Depuis la robotique manufacturière Robotique Mobile et Robotique de troisième génération Le traitement de l information Une première approche pour le contrôle des robots basée sur la planification Introduction Des architectures bien adaptées aux robots bras manipulateurs Modélisation de l environnement et planification à différents niveaux, en Robotique Mobile Planification Générale Un exemple : STRIPS Des évolutions Limites et perspectives Une première architecture Planificateur de Tâche - Contrôleur d exécution : SHAKEY Conclusion Planification Spécifique à la navigation La planification de Chemins A partir d une discrétisation de l espace A partir d un modèle géométrique de l espace Conclusion La planification de Trajectoires Evitement d obstacles locaux Intégration des contraintes cinématiques Vers une hiérarchisation du modèle en niveaux d abstraction Les premières architectures hiérarchiques Conclusion Des Architectures distribuées basées sur le concept de Blackboard Introduction Les origines du blackboard Des systèmes pour la fusion de capteurs et la planification Des architectures de contrôle pour robot mobile basées sur le concept de blackboard Une première architecture : le robot CMU Rover La distribution du Contrôle : Le Whiteboard du NAVLAB La distribution du Blackboard : Hetero Helix Des approches hiérarchiques basées sur le concept de blackboard

9 2.5.1 Un blackboard hiérarchique : Un Robot Mobile Autonome pour l Intervention en Usine Chimique Des blackboards hiérarchisés : KAMRO (Le Robot Autonome de Karlsruhe) Une architecture basée sur des blackboards distribués Introduction Le Système d interface opérateur Le Système de Planification Dynamique Le Système de Contrôle d Exécution Le Système de Planification Dynamique Un Blackboard pour le système de Planification Dynamique Intrégration des préférences de l opérateur Modélisation du Contrôleur Générique de Blackboard Mécanisme d élection des sources de connaissances Modélisation du Contrôleur Exemple d interface opérateur Interface trois écrans Aspects de l Implémentation logicielle Le Système de Contrôle d Exécution Mise en oeuvre pour le robot mobile YOUPI Les limites expérimentales Conclusion Des difficultés à l Exécution Introduction L architecture mécanique du robot Les liaisons Définition des liaisons holonomes : Définition des liaisons non holonomes : Définition de liaisons semi-holonomes : Les robots mobiles à roues L hypothèse de roulement sans glissement des roues sur le sol La réduction de la mobilité du robot Modélisation du robot mobile de type char Equation d état du comportement du point C milieu de l axe des roues Equation d état du comportement d un point M du robot Equation d état du comportement du système avec une situation désirée Le problème de la Commande La Commandabilité Des notions d Algèbre Différentielle Commandabilité du robot mobile de type char Commande dans l espace articulaire Conclusion Commande par retour d état Instabilité par retour d état continu statique et stationnaire Réduction de l état asservi Suivi de Trajectoires Vers d autres modes de commandes Conclusion Le problème de la Localisation Introduction Observabilité Observabilité complète

10 Observabilité locale Localisation à l estime et relative A partir du retour odométrique En ajoutant des hypothèses sur les trajectoires En ajoutant d autres mesures proprioceptives A partir de capteurs extéroceptifs Conclusion Localisation absolue par balisage Introduction Différents types de balises Localisation GPS Localisation absolue à partir du modèle de l environnement Conclusion Les problèmes liés à l environnement du robot Conclusion Architectures et Réactivité 77 4 Architectures et Réactivité Restreinte Introduction Définition de la réactivité restreinte Les différents domaines d inspiration Les Sciences de l Observation De l Ethologie animale De la Psychologie De la Biologie Les Sciences de la Déduction De la Théorie de la Commande De la Logique Floue Conclusion Vers des architectures pour Animats Un exemple : l architecture Subsomption, ce robot et son évolution 86 Une architecture matérielle Une architecture logicielle Limites et perspectives Architectures et Réactivité Générale Introduction Définition de la réactivité générale Différents niveaux de réactivité Réactivité Tactique La Réactivité Temps Réel Les Approches Temps Réel classiques Les Langages Réactifs Les langages réactifs synchrones : Le langage réactif asynchrone ELECTRE : Application à la robotique : un exemple ORCCAD Conclusion La Réactivité liée au Contexte Des règles conditions-actions : PENGI, le Softbot le système de surveillance d HILARE Le langage de contrôle de robot ROBOL/ L automate situé Vers des plans universels

11 Conclusion Plus de robustesse dans l approche délibérée : Architecture TCA Architectures classiques et Réactivité Générale Introduction Architectures Planificateur-Contrôleur d Exécution Architecture HILARE du LAAS Un haut niveau de planification générale : Un niveau intermédiaire de contrôle d exécution : Un niveau fonctionnel : Vers une décomposition hiérarchique du niveau décisionnel : l Architecture ROME0 du LRP Architectures Hiérarchiques Systématiques Architecture NASREM du NIST RAMINA d Alcatel Alsthom Recherche, hiérarchique dans la représentation Conclusion Blackboard et Réactivité : Une architecture réactive basée sur le concept de blackboard Blackboard et Réactivité Réactivité temps réel d un système Multi-Experts Architecture BBS Introduction De l espace des solutions à l espace des situations Les agents Sources de connaissances Sources d activités La structure de données du blackboard situationnel La structure des données réduites du domaine La structure des données de contrôle Le mécanisme de prise de décision de BBS Machines équivalentes Premier résultat : Une machine de Moore Le logiciel EDMA, version Deuxième résultat : Une machine de Mealy Autres spécifications, autres machines équivalentes Conclusion et perspectives Experimentations Expérience 1 : Programmation purement tactique sur Khepera L architecture BBS Les agents de l application Les sources de connaissances : Les sources d activités : Le Blackboard situationnel Validation et Perfectionnement Simulations Expérience 2 : Programmation réflexe et incrémentale du Khepera L architecture BBS Les agents de l application Le blackboard situationnel Simulations Un blackboard pour gérer l activité Un blackboard pour représenter la situation Validation expérimentale

12 6.6.1 Un exemple de comportement du robot Expérience Conclusion Conclusion Une Architecture orientée Comportement, SMACH Vers des Architectures orientées Comportement Les Evolutions des architectures de Contrôle en Robotique Mobile Introduction Des architectures Planificateur - Contrôleur Comportemental Architecture AuRA : Architecture MARS : Architecture FLAKEY selon Saffioti : Des architectures hiérarchiques en Couches Architecture selon Crowley : Architecture ALV : Architecture RAMSIS : Les architectures orientées comportement Les architectures orientées comportement non hiérarchiques Architecture TOTO : Architecture DAMN : Les architectures orientées comportement hiérarchiques Architecture ATLANTIS programmée en ALFA Architecture de FLAKEY selon L.P. Kaelbling Les nouveaux concepts dans la programmation d un robot mobile La concurrence La hiérarchie Les nouvelles approches dans la représentation d un plan d exécution A partir d une représentation de l environnement métrique A partir d une représentation de l environnement qualitative et non-métrique conclusion Vers un système Multi-Agents Comportementaux Introduction Vers la notion d Agent Comportemental Introduction Définition de l Agent Systèmes Multi-Robots Le robot cellulaire Introduction Un exemple : le robot mobile bi-cellulaire L Agent Comportemental Définitions : Le Système Multi-Agents Comportementaux Introduction Le mécanisme de sélection de l action La gestion des conflits dans l action Différents mécanismes de sélection de l action Vers des communications entre agents comportementaux Vers la notion de Système Multi-Agents Comportementaux Hiérarchique La notion de Hiérarchie dans les Systèmes Multi-Agents Le Système Multi-Agents Comportementaux Hiérarchique Conclusion

13 9 Mise en oeuvre et expérimentations de l architecture SMACH Introduction Choix d une Hiérarchie entre comportements Introduction Hiérarchie Réflexe-Tactique-Stratégique Hiérarchie Comportementale Présentation de la plateforme expérimentale Le robot mobile Khepera Le robot mobile Cyclope Equipement de Vision Mise en oeuvre de SMACH et Expérimentations sur Khepera et Cyclope Les comportements réflexes L agent comportemental de base La perception : Les actions : Mécanisme de sélection de l action : la fusion Le Système Multi-Agents Comportementaux niveau réflexe Quelques exemples et simulations de comportements réflexes Introduction Evitement d obstacles Les suivis de mur Le déplacement vers une source lumineuse Perspectives Les comportements tactiques L agent comportemental niveau tactique La perception tactique : L action tactique : Mécanisme de sélection de l action : arbitrage Le Système Multi-Agents Comportementaux niveau tactique Quelques exemples de comportements tactiques Introduction Recherche d une source lumineuse sur Khepera Evitement d obstacles sur Cyclope Conclusion Les comportements stratégiques L agent comportemental niveau stratégique La perception La modélisation La planification L action La représentation sensori-motrice Mécanisme de sélection de l action niveau 3 : arbitrage Le Système Multi-Agents Comportementaux niveau stratégique Une expérimentation partielle de ce niveau comportemental Agent comportemental stratégique à partir d un modèle donné Représentation du monde Les amers Un scénario Expérimental Résultats et Perspectives Agent comportemental stratégique à partir de l image caméra du plan de travail conclusion

14 Conclusion Générale 186 Bibliographie 189 Annexes 209 Annexe 1 : Les modèles mécaniques du robot de type Char 209 Annexe 2 : Observabilité locale du robot mobile de type Char 215 Annexe 3 : Localisation à l estime du robot 216 Annexe 4 : Le robot mobile YOUPI 218 Annexe 5 : Le robot Cyclope 225 Annexe 6 : Le robot Khepera 229 Index 231

15 Table des figures 1.1 Ventes de Robots aux Etats-Unis Principe de fonctionnement d un robot Boucle de Perception-Décision-Action Architecture de Contrôle type HANDEY Les évolutions des Planificateurs L architecture de SHAKEY Les premières architectures hiérarchiques Le modèle de blackboard Architecture du CMU Rover Le système CODGER Hetero Helix Blackboard embarqué de KAMRO Une Architecture Logicielle de Contrôle pour la Robotique schéma fonctionnel du contrôleur Les différents niveaux de filtrage du contrôleur Ecran de Supervision Globale Ecran de Suivi de la Planification Ecran de Suivi de l Exécution Objet Interactif Système de Contrôle d Exécution du robot YOUPI Les robots mobile à pattes Différents types de roues Modélisation générale d une roue Robot mobile de type char Robot mobile de type tricycle Espace de configuration du Robot Mobile avec la situation désirée Exemples de trajectoires équivalentes Simulation de trajectoire Rotation - Translation Simulation de trajectoire circulaire Simulation de trajectoire clothoïdale Simulation de trajectoire - spirale cubique Asservissement du robot sur une direction Commande par retour d état discontinu Commande par retour d état instationnaire Système GPS Exemple de robots mobiles en milieu naturel : les CMU Rovers Exemple de robots mobiles d intérieur : le robot mobile Denning de Georgia Tech Des mini-robots Environnements et applications robotiques Le véhicule de Walter Architecture de Subsomption

16 4.3 Organisation de comportements basée sur l inhibition latérale rétropropagée Le CBOT Véhicule multisensoriel Architecture basée sur le concept de schéma moteur Architecture neuronale Commande floue Architecture de Subsomption Décomposition basées sur des comportements réflexes Décomposition basées sur des comportements de tous niveaux Architecture fonctionnelle orientée tâche Automate situé une nouvelle approche de la planification Architecture TCA Architecture HILARE Architecture ROME0 du LRP Architecture NASREM Architecture RAMINA Description de l agent Blackboard situationnel à état fini Graphe conceptuel Architecture BBS Le blackboard situationnel Simulation d un cas de réussite et d un cas d échec Architecture BBS Description of Khepera mobile robot Le blackboard situationnel Simulation d un cas de réussite et d un cas d échec Architecture NRC Espace ouvert Irrégularité au sol Le blackboard situationnel Scénario expérimental Le robot mobile du NRC Architecture AuRA Architecture MARS Architecture FLAKEY selon A. Saffioti Architecture selon Crowley Architecture ALV Le bas niveau de l architecture ALV Architecture RAMSIS Architecture TOTO Architecture DAMN Architecture ATLANTIS sur le robot ROCKY III L architecture de FLAKEY selon L.P. Kaelbling Concurrence entre entités comportementales Les différents types de hiérarchies Les différents aspects de l architecture subsomption Carte des champs de direction Zones de recouvrement capteurs Description de l agent cellulaire Le robot mobile bi-cellulaire

17 8.3 Schéma général des architectures orientées comportement Mécanisme d alternance Système Multi-Agents comportementaux communiquants Système Multi-Agents Hiérarchique Système Multi-Agents Comportementaux Hiérarchique Plateforme expérimentale Le mini-robot mobile Khepera Tableau de bord du Khepera Le mini-robot mobile Cyclope Tableau de bord du Cyclope Agent comportemental de base Capteurs Infra-rouges en mode actif action de l agent sur le robot Mécanisme de fusion Le Système Multi-Agents Comportementaux niveau réflexe Evitement d obstacles Suivi de mur simple Suivi de mur avec coins Agent comportemental niveau tactique Représentation de la situation à partir des moustaches du Cyclope Représentation de la situation à partir des capteurs infra-rouges du Khepera Mécanisme d arbitrage Le Système Multi-Agents Comportementaux tactique Représentation de la situation du robot Représentation de la situation du robot Différentes cas dans le suivi de mur Agent comportemental niveau stratégique Le Système Multi-Agents Comportementaux niveau stratégique Présentation de l environnement expérimental Les coins D et Db Dba et DbabG DbabGa et DbabGaD DbabGaDab et DbabGaDabb Source lumineuse trouvée Variations de l environnement Réduction des ombres de l image initiale Image après extraction de contour et filtrage Image après élimination du bruit et seuillage puis simulation des comportements du robot Un seul mécanisme de sélection de l action entre comportements de différents niveaux Comportements réactifs et délibérés aux différents niveaux Espace de configuration du Robot Mobile Espace de configuration du Robot Mobile avec sa situation désirée Schéma de la base de YOUPI Le cyclope Le Khepera avec des modules optionnels

18 Introduction Générale Introduction Générale12 12Introduction Générale Ce mémoire de thèse a pour objet la présentation de nos travaux sur la conception et la réalisation d architectures de contrôle intelligent dédiées aux robots mobiles. Chacune des deux premières parties présente donc l étude des caractéristiques de la robotique mobile dans le cadre d une synthèse bibliographique et de l évolution de notre approche et de nos propres réalisations dans le cadre de l équipe robotique de l I3S. Ces travaux contribuent finalement dans la troisième partie, à l élaboration d un modèle original d architecture orientée comportement, SMACH pour la programmation des robots mobile Cyclope et Khepera, aux niveaux comportementaux réflexe, tactique et stratégique. Première Partie La première partie de ce mémoire est consacrée à l étude des premières approches méthodologiques pour la conception d architectures de contrôle pour robots mobiles et leurs limites à l exécution dans certaines conditions expérimentales. Le premier chapitre présente deux grandes approches dans la conception des premières architectures de contrôle de robots mobiles : d une part les premières architectures basées sur deux niveaux Planificateur-Contrôleur d Exécution et d autre part les premières architectures Hiérarchiques basées sur plusieurs niveaux de représentation de l environnement du robot, dédiées à la décomposition Planification-Navigation-Pilotage. Ces approches témoignent, en général, de l interêt porté à telle ou telle problématique dans le pilotage d un Robot Mobile, à la planification générale des tâches du robot ou à la planification plus spécifique de ses mouvements. Le second chapitre est consacré aux architectures basées sur le concept de blackboard, un concept né de l Intelligence Artificielle distribuée qui rencontre très vite une certain attrait auprès d un grand nombre d équipes travaillant sur des robots mobiles. Nous étudions dans ce chapitre les multiples évolutions de ce concept et sa mise en oeuvre dans de nombreuses applications de Robotique Mobile, ainsi que les premiers travaux de notre équipe sur l utilisation d une architecture basée sur trois systèmes blackboard : un système d Interface Opérateur, un système de Planification Dynamique, un système de Contrôle d Exécution et son expérimentation délicate sur le robot mobile YOUPI. Les architectures présentées dans les deux premiers chapitres, bien que différentes ont un point commun : une approche descendante des difficultés d exécution (d une mission, puis d une tâche, puis d une trajectoire...etc.). Or, contrairement aux bras manipulateurs les robots mobiles peuvent poser de sérieux problèmes de robustesse à l exécution. Le troisième chapitre de cette première partie regroupe dans une étude théorique, menée en partie au sein de notre équipe, différentes réflexions sur les difficultés imposées par les robots mobiles à roues pour une exécution robuste de leurs mouvements. Nous étudions les notions

19 de commandabilité et d observabilité appliquées à la robotique mobile à roues, et en déduisons les difficultés de commande et de localisation du robot sous différentes conditions d équipement capteurs. Ces difficultés de localisation du robot sur une carte métrique caractérisent notamment le problème de la navigation métrique des robots mobiles à roues. Les difficultés de commandes sont, quant à elles, fortement liées à l évolution du robot dans un environnement réel donc dynamique. Ce constat nous permet d introduire un concept nécessaire à l autonomie du robot mobile : sa Réactivité. Seconde Partie L introduction de robots mobiles dans de nombreux laboratoires en intelligence artificielle, a motivé des recherches sur l évolution d un système intelligent en environnement réel. En effet, dans ce cas, l évolution du robot n est pas toujours celle initialement prévue par un planificateur classique. Une partie de l autonomie du robot mobile réside alors dans sa capacité à réagir aux modifications de son environnement : sa Réactivité. Dans la seconde partie de cette thèse, nous étudions ce concept de Réactivité et son intégration dans la plupart des architectures classiques actuellement mises en oeuvre pour piloter un robot mobile. Le quatrième chapitre introduit le concept de Réactivité Restreinte, s inspirant d un certain nombre de travaux consacré à ce sujet issus de sciences expérimentales. Par exemple l idée d une projection temporelle de la perception et de l action du robot, nécessite parfois des hypothèses trop fortes sur l évolution du robot et de son environnement. Certains chercheurs préconisent alors des langages de programmation spécialisés dans des boucles de stimulus-réponse avec peu ou pas d état interne. Nous classons ces travaux dans le cadre de la Réactivité restreinte. Le cinquième chapitre présente un concept plus large, la Réactivité Générale représentant la capacité pour le robot de réagir aux modifications de l environnement avec un temps de réponse adapté. La réactivité restreinte précedemment définie ne correspond alors qu à la réactivité du robot à un niveau réflexe. Ainsi, dans un environnement quasi-statique, la capacité du robot à assimiler son environnement à partir de ses seuls capteurs (dans un schéma classique de perception-modélisation-planification-exécution) peut suffire à doter le robot d un comportement suffisamment réactif, il s agit alors d une réactivité à un niveau stratégique. Dans ce chapitre nous abordons tout particulièrement un troisième niveau de réactivité, intermédiaire, plus proche du concept de réactivité au sens temps réel du terme, se traduisant par une réaction au contexte. Il s agit du niveau de réactivité tactique. Nous présentons ensuite un état de l art des architectures dédiées aux robots mobiles à navigation métrique, répondant aux critères de réactivité générale (ex. : Architecture Planification- Contrôleur d Exécution HILARE [Noreils et Chatila1995], Hiérarchique Systèmatique NAS- REM [Lumia et al.1990]...etc.). Nous détaillons tout particuliérement les choix qui ont été faits dans ces différentes architectures pour répondre à ce critère de Réactivité. Le sixième chapitre détaille notre contribution dans le cadre de l étude d une architecture réactive basée sur le concept de blackboard. Nous étendons le concept de blackboard (qui classiquement représente l espace des solutions dans un système multi-experts) à l espace des situations. Le mécanisme de prise de décision du système est alors pourvu de règles du type conditions sur la situation-action, ce qui dès lors ajoute à la planification des déplacements du robot orientés but, une prise en compte de contraintes de réactivité orientées situation. Le mécanisme de contrôle générique du blackboard présenté dans le deuxième chapitre est alors spécifiquement étudié pour ce type de règles. Nous en déduisons un formalisme qui permet d étudier le mécanisme de prise de décision tactique du système en terme de machine équivalente (ex. : Automate à état fini) pour la vérification de certaines propriétés logiques.

20 Cette approche a été partiellement testée sur le robot Khepera (muni simplement de capteurs télémétriques et odométriques), puis validée sur le robot mobile Cybermotion du Centre de Recherche Nationale du Canada dans le cadre d une architecture complète, étudiée en collaboration avec l équipe de R. Liscano. Troisième Partie La troisième partie de ce mémoire, porte sur ce que nous appelons les architectures orientées comportements pour robots mobiles et présente SMACH, notre approche basée sur le concept d agent comportemental appliquée aux robots mobiles miniatures Khepera et Cyclope. Le septième chapitre est consacré aux récentes évolutions des architectures vers ce que nous appelons des Architectures orientées comportements, c est-à-dire des architectures qui permettent au robot, d être programmé à partir d entités comportementales (perception-décisionaction) concurrentes assurant ainsi la réactivité du robot à tout niveau. Nous dégageons les caractéristiques communes de telles approches. Le huitième chapitre introduit notre généralisation des architectures orientées comportement : SMAC (Système Multi-Agents Comportementaux). Nous introduisons alors la notion d agent comportemental, comme entité comportemetale perception-décision-action du système robotique qui induit un certain comportement chez le robot. Dans le cas d une architecture hiérarchique, la programmation d un comportement de plus haut niveau consiste à doter un ensemble d agents comportementaux concurrents d un mécanisme de sélection de l action qui détermine à chaque instant lequel des comportements du niveau au-dessous va être adopté comme action. Nous définissons ainsi un agent comportemental du niveau supérieur et la possibilité de programmer le robot comme un Système Multi-Agents Comportementaux Hiérarchique (SMACH). Le neuvième chapitre est consacré à la mise en oeuvre de SMACH, pour la navigation nonmétrique du robot Cyclope et du robot Khepera, ainsi qu aux expérimentations qui ont été développées sur notre plateforme robotique. Nous justifions tout d abord, le choix d une hiérarchie comportementale Réflexe-Tactique-Stratégique. Ensuite, nous détaillons la plateforme expérimentale composée des mini-robots mobiles Khepera, Cyclope et d un système d acquisition d images du plan de travail. Après description des Système Multi-Agents comportementaux utilisés à chaque niveau, nous présentons les résultats expérimentaux correspondants. Nous concluons sur les limites d une telle approche qui nous permettent de dresser un cadre pour de futurs travaux, notamment sur l adaptation de l approche SMACH pour une approche de la navigation plus complète.

21 Premières approches pour le Contrôle de Robot Mobile 15

22 Chapitre 1 Les Premières Architectures de Contrôle en Robotique Mobile Chapitre 1. Les Premières Architectures de Contrôle en Robotique Mobile16 16I. Premières approches pour le Contrôle de Robot Mobile 1.1 Introduction La première partie de ce mémoire rappelle les premières approches méthodologiques pour la conception d architectures de contrôle pour robots mobiles et leurs limites à l exécution dans certaines conditions expérimentales. Après un bref rappel historique sur la Robotique et les premiers travaux sur le Traitement de l Information, nous présentons dans ce chapitre deux grandes approches dans la conception des premières architectures de contrôle de robots mobiles : d une part les premières architectures basées sur deux niveaux Planificateur-Contrôleur d Exécution et d autre part les premières architectures Hiérarchiques basées sur plusieurs niveaux de représentation de l environnement du robot, dans une décomposition Planification-Navigation-Pilotage Depuis la robotique manufacturière Les origines de la robotique sont multiples, qu elles soient historiques, littéraires, technologiques, sociologiques ou scientifiques. En effet, pour certains, l idée d utiliser une force mécanique en remplacement de l homme remonte au paléolithique, c était la trappe à ressort pour capturer l animal. Par la suite, concevoir des automatismes de plus en plus sophistiqués au service de l homme peut ne sembler qu un perfectionnement dû à l évolution des choses. Ainsi, les clepsydres de Platon entre le VI et le V ième siècle avant J.-C., peuvent être considérés comme le premier réveil matin (après notre coq national) et le gobelet de Héron (de l école d Alexandrie) comme l ancêtre de la chasse d eau, somme toute des applications domestiques, voire de service. Plus tard, une autre motivation est apparue celle de reproduire l être vivant. Une des plus belles réalisations qui en sera issue, est probablement le Canard de Vaucasson, automate à l image d un canard capable de se mouvoir, d avaler de la nourriture, la digérer puis déféquer. Enfin, vient la machine au service de la production, germe de l industrialisation, que l on retrouve déjà au travers du système de régulation de vitesse de la meule du moulin jusque là directement liée à la vitesse des ailes et donc du vent. Ce problème résolu par Mead en 1787 grâce à un régulateur centrifuge équipé d un pendule rotatif sera appliqué par Watt un an plus tard à la régulation des machines à vapeurs.

23 L imagination a toujours précédé la réalité dans le domaine de la robotique et de nombreux auteurs de la littérature, comme du cinéma, ont imaginé une machine à l image de l homme, mieux un homme artificiel. C est le cas de l inventeur du mot Robo, le Tchèque Karel Tchapek, qui introduisit le terme dans une de ses pièces de théâtre d anticipation Rossum s Universal Robot afin de décrire des travailleurs artificiels conçus à partir d éléments chimiques. Par la suite, le cinéma de science fiction a présenté une collection impressionnante de robots en tout genre. Un certain nombre de roboticiens comme J.S. Albus du National Institute of Standards Technology vont même jusqu à penser que pour beaucoup de gens, la création de la vie artificielle semble en conséquence facile et qu un manque d appréciation de l importance des difficultés techniques pour construire l équivalent mécanique de l être humain,..., tourmente la Robotique depuis le début et est responsable de son malaise aujourd hui [Albus1990]. Fig. 1.1 Ventes de Robots aux Etats-Unis En effet, le robot industriel reste plus proche de la machine flexible que de l être artificiel. Les premiers robots modernes industriels furent les Unimates développés par George Devol et Joe Engleberger à la fin des années 50, début des années 60. Les robots, surtout des bras manipulateurs dont le seul but de remplacer l homme dans certaines tâches de force et répétitives, ont dès lors progressé en capacité et performance grâce au développement des contrôleurs et des langages de programmation. Ainsi, ceux que l on a pour coutume d appeler les robots de première génération sont de simples machines à commande numérique, qui évoluent vers le robot industriel préprogrammé en aveugle. Viennent ensuite les robots de seconde génération qui, dotés de capteurs divers, deviennent capables d adaptation et de flexibilité : par exemple, les pièces sont reconnues et repositionnées avant l usinage. Une telle aptitude implique une capacité de traitement de l information considérable et engendre des coûts d installations robotiques prohibitifs pour de nombreuses applications industrielles. En conséquence, dès 1985 aux Etats-Unis, les prévisions sur la croissance du parc robotique s avèrent erronées (voir figure 1.1) Robotique Mobile et Robotique de troisième génération Depuis une trentaine d années, la mobilité autonome est un sujet de recherche développé par tous les pays industrialisés. Qu il s agisse de robots mobiles à pattes, à roues ou même sousmarins, les applications sont vastes et multiples [Berger et al.1987] [Faverjon et Quin1993] : robots de services, surveillance (ex. : [Kajiwara et al.1989], [Burrows et al.1991]), construction (ex. : [Lahoud et Sarantopoulos1991]), nettoyage (ex. : [Yamashita et al.1989]), manipulation de charges (ex. : [Evans et al.1992]), cueillette en agriculture, automobile intelligente, robots d intervention (ex. : [Urvoy1991]), robots d exploration planétaire ou de fonds marins, satellites, robots militaires (ex. : [Quin1991])...etc. Le marché potentiel de la robotique est considérable, même s il faut pour cela résoudre des problèmes plus importants et plus fondamentaux que

24 prévus initialement dans la quête vers la machine intelligente. Le terme de robotique de troisième génération est donc plutôt réservé à des robots mobiles, autonomes, capables de réaliser diverses tâches, souvent en dehors du champ de la production proprement dite [Giralt1993a] [Asami1994] [Weisbin et Lavery1994]. Le principe de fonctionnement d un robot mobile est similaire à celui d un bras manipulateur ; il conserve une description synoptique décomposée en trois grandes entités : le système mécanique articulé doté d actionneurs, l organe de traitement de l information doté de capteurs et l environnement du robot [Coiffet1986] (voir figure 1.2). Ainsi, l Etude d une architecture pour le contrôle intelligent d un robot correspond à l étude de l organe de traitement de l information qui est aujourd hui le plus souvent assimilé à un système informatique Le traitement de l information L organe de traitement de l information est, dès lors, une partie intégrante du robot, qu il soit d exploration, manufacturier, ou autre. Pourtant la notion d information en technologie est un concept relativement récent, dont les premières études se situent au milieu du siècle. Nous pouvons distinguer différentes approches du traitement de l information et leurs influences sur le contrôle d un robot. De récents travaux sur la programmation de comportements réflexes d un robot (ex. : [Brooks1991d]) reprennent par exemple des concepts nés de la Cybernétique [Wiener1948] et la biologie synthétique [Walter1950] (voir chapitre 3.6, paragraphe 4.1). Les premiers travaux significatifs par contre s inspiraient plutôt des résultats de l Informatique en Intelligence Artificielle. C est dans les années Quarante, qu apparaît l Informatique. C est au britannique Alan Turing que l on doit les bases de l Informatique, pour avoir conçu une machine théorique idéale, pouvant réaliser automatiquement tout algorithme, exprimé en code binaire. Ses travaux ont été publiés dès 1937 [Turing1937]. La même année Claude Shannon du Massachusset s Institute of Technology décrivait le comportement des circuits à relais par l algèbre de Boole et donc posait les bases matérielles des machines logiques. Ainsi, en 1945, John Von Neumann pouvait montrer l équivalence entre les spécifications de sa machine (auxquelles répondent la plupart des ordinateurs encore aujourd hui) avec celle de Turing. Alan Turing qui s interrogea très tôt sur l intelligence des machines, proposa un test pour établir l intelligence de la machine : une personne isolée dans une pièce dispose d un terminal par lequel elle est reliée à deux interlocuteurs, une autre personne et un ordinateur. Si après un certain nombre de questions elle n est pas en mesure de distinguer l être humain de la machine, alors on peut affirmer que la machine est intelligente. Ce test s avérera très rapidement insuffisant. Il n en demeure pas moins pour A. Turing qui reste très attaché à l approche mathématique, par opposition à celle qualifiée d anatomique, ou physiologique (automates neuronaux) que vouloir reproduire le comportement des nerfs ne présente pas plus d intérêt que de construire une voiture avec des jambes alors qu on peut faire beaucoup mieux avec des roues. En d autres termes, le traitement de l information utilisera une représentation des connaissances plus adaptée à la logique du raisonnement. Ces techniques d Intelligence Artificielle donnant d excellents résultats dans un environnement abstrait, ont incité certains chercheurs à étendre leurs utilisations dans un environnement réel et notamment dans le cadre de la robotique mobile dès les années 70. La difficulté réside alors dans l art de construire un modèle abstrait de l environnement et de modéliser les actions du robot afin d utiliser des techniques déjà mises en oeuvre dans des domaines plus abstraits (ex. : appliquer des approches pour la génération automatique de preuve de théorème à la genération de plan d actions [Fikes et Nilsson1971]).

25 Les premières approches pour le contrôle de robots mobiles, se trouvent donc tout naturellement dédiées à la mise en oeuvre de ces méthodes ; l objectif est alors d intégrer au robot un organe de raisonnement sur sa représentation de l environnement qui lui permette d établir les actions qu il doit exécuter pour accomplir son but. 1.2 Une première approche pour le contrôle des robots basée sur la planification Introduction Une première approche pour le contrôle de robots privilégie une représentation centralisée de l environnement. En général, un planificateur est chargé d établir un plan d actions futures du robot pour atteindre un but fixé dans le cas idéal d un modèle géométrique ou topologique de l environnement. Cette approche consiste à établir une unique boucle de perception-décision-action avec néanmoins des activités possibles multiples, dont la décomposition se pose plutôt en termes de perceptionmodélisation-planification-exécution (voir figure 1.3) Des architectures bien adaptées aux robots bras manipulateurs Cette approche perception-modélisation-planification-exécution pour le contrôle d un robot, est trés efficace pour le pilotage d un bras manipulateur. Le robot utilise un modèle complet de l environnement, en général établi par le programmeur (incluant les détails géométriques de tous les objets de l environnement du robot, leur position et leur orientation), afin de planifier une séquence d actions qui le conduira à atteindre son but. C est seulement par la suite que le plan ainsi établi est exécuté en envoyant les commandes appropriées aux actionneurs. Un planificateur sophistiqué peut inclure des tests sur les capteurs en cours d exécution du plan. Cette approche est, entre autres, utilisée pour concevoir des systèmes composés de robots manipulateurs (ex. : [Alami et Chochon1985], [Shin et Malin1984], [Hirai et al.1992]). Nous prendrons pour exemple le système appelé HANDEY du laboratoire d Intelligence Artificielle du MIT [Lozano-Perez et al.1992]. HANDEY est un système de planification niveau tâche pour des robots de type manipulateurs, capable de résoudre le problème de la prise d un objet en un point et de sa pose en un autre point, malgré un environnement partiellement obstrué. A partir d un modèle géométrique de l environnement et quelques mesures laser pour identifier la position et l orientation de l objet à déplacer, le système utilise différents planificateurs sophistiqués pour établir tout d abord, le mode de saisie de l objet, ensuite une séquence de déplacements qui permet au robot de se rendre à proximité de l endroit où doit être déposé l objet et enfin une série d actions pour placer l objet dans la position et l orientation souhaitées. La planification peut s avérer être une opération très complexe. Imaginons, par exemple, que le robot ne puisse prendre l objet comme il le désire étant donné la proximité d un certain nombre d obstacles, il faudra alors planifier un déplacement de l objet avant sa saisie. De même, le robot peut dans le cadre de la planification du déplacement de l objet devoir le déposer pour le ressaisir de manière différente et ce à plusieurs reprises. Ainsi, une fois que toutes les contraintes liées à l environnement du robot ont été prises en compte par les planificateurs, le plan résultant correspond à une longue série de commandes (composée de petits déplacements, d ouvertures et de fermetures de pince). Nous pouvons remarquer ici qu une telle architecture de contrôle sera la même, qu il s agisse d un système téléopéré ou autonome. Le modèle de l environnement est simplement fourni par le programmeur ou par des méthodes sophistiquées de modélisation fusionnant les informations capteurs. Le plan lui-même peut être établi partiellement ou complètement par l opérateur, avec l aide de

26 systèmes experts (ex. : [Lebars et al.1993]), d outils de programmation (ex. : [Monacelli et al.1993], [Duhaut et al.1992]) et d interfaces graphiques homme-machine. 1.3 Modélisation de l environnement et planification à différents niveaux, en Robotique Mobile Le contrôle d un robot mobile s appuie donc ici, sur une représentation du monde, issue de la perception et la modélisation de l environnement par le robot ou par un opérateur humain. Les modèles de l environnement peuvent être classés en trois grandes catégories : Les modèles numériques de l environnement, contenant des données numériques sur les différents obstacles et objets de l environnement, déduites des mesures capteurs. En robotique mobile, ils représentent souvent les informations dans un espace de dimension deux (le plan du robot). Ces modèles peuvent être des modèles discrets de l espace (ex. : grille d occupation) ou des modèles géométriques (ex. : collection d objets polygonaux). Les modèles topologiques de l environnement, représentés généralement par des graphes, symbolisant les liaisons qui peuvent exister entre les différentes unités topologiques de l environnement (un poste de travail, une zone de l environnement, des amers...etc.) [Alami et al.1990]. D autres modèles, tels que des modèles sémantiques où les objets sont alors reconnus et qualifiés sémantiquement (ex. : chaise, porte...etc.) [Grandjean et al.1991]. Ces derniers modèles présentent surtout un grand interêt dans le cadre de l utilisation d interfaces Homme-Robot (ex. : [Thomas et al.1990]). La planification est alors chargée d établir des plans, c est-à-dire des guides opératoires suffisamment détaillés et flexibles pour permettre au robot d atteindre des objectifs fixés a priori, et ce, à partir de la représentation dont il dispose de l environnement. Deux approches sont alors envisageables : La planification générale, qui utilise des techniques plus généralement destinées à la résolution de problèmes dans divers domaines dont la robotique. Ces techniques ont largement démontré leur intérêt dans un environnement abstrait (ex. : jeux d échec), et font encore l objet de travaux divers pour être efficaces dans un environnement réel. Ces méthodes sont notamment utilisées aujourd hui pour la planification de missions et de tâches en robotique mobile et utilisent un modèle topologique voire sémantique de l environnement. La planification spécifique, qui consiste à limiter la problématique au domaine de l application, c est-à-dire ici à la robotique mobile. Cette approche permet d utiliser des connaissances plus dédiées et donc mieux adaptées aux caractéristiques de l application du robot et de son environnement, mais sont bien sûr plus difficilement généralisables. Il s agit de planifier les déplacements du robot pour rejoindre une position désirée tout en évitant les obstacles. Ces méthodes sont donc dédiées à la navigation et concernent la planification de chemins et de trajectoires. 1.4 Planification Générale Dans un cadre général, un planificateur est donc un programme qui contrôle un ou plusieurs mécanismes capables de réaliser des actions dans un environnement réel afin d atteindre un but prédéfini [Swartout1987]. Une des premières approches proposées, GPS (General Problem Solving), se fonde sur la différence entre l état courant du robot et l état but [Ernst et Newell1969]. L état peut représenter la localisation du robot dans le cas d un problème de navigation de robot mobile, les dispositions de pièces dans le cas d un bras manipulateur, ou plus généralement une collection de faits généraux et spécifiques [Arnoux1990]. Dans le cadre de la planification de mission ou de tâche, l état courant du robot est alors représenté par une collection de faits décrivant la situation et l état but, par une collection de

27 faits décrivant la situation désirée. GPS propose une stratégie qui permet de choisir parmi différents opérateurs (actions provoquant un changement de l état) pour réduire la différence entre l état courant et l état désiré. Néanmoins GPS est une approche assez générale et nécessite quelques précisions voire adaptations que nous allons trouver dans STRIPS, un des tout premiers générateurs de plan d actions appliqué à la robotique mobile Un exemple : STRIPS STRIPS est un des tous premiers planificateurs utilisés en robotique et notamment pour la navigation d un robot mobile. Son principe est fortement inspiré de GPS mais en précise la formulation pour raisonner sur des actions qui induisent des modifications sur le monde. Chaque opérateur dans STRIPS consiste donc en trois listes de faits [Fikes et Nilsson1971] : La première est la liste de faits qui doivent être vérifiés pour que l opérateur correspondant soit applicable. La seconde est la liste de faits qui ne sont plus vrais, une fois que l opérateur aura été appliqué. La troisième liste est la liste de faits que l opérateur rend vrai. Ainsi STRIPS établit un plan : une séquence d opérateurs, ici des actions, qui permettra d accéder au but, du moins dans le cas idéal de la représentation du monde choisie. STRIPS est un planificateur linéaire. Le plan fournit par STRIPS est une séquence d actions à exécuter Des évolutions Cette approche qualifiée de classique [Giralt1991] a subi un grand nombre d évolutions (voir figure 1.5) dans la décomposition d un plan en niveaux d abstraction (planification hiérarchique et non linéaire), dans la description des opérateurs. Une des descriptions les plus complètes de l action par ajout et retrait de faits a été développée par Chapman dans Tweak [Chapman1987], profitant des différents travaux précédents pour établir une représentation des mieux adaptées Limites et perspectives Dans l élaboration d un plan d action, le robot doit donc disposer d une description de tout ce qui peut se faire, sous la forme de modèles abstraits d actions : quand une action est réalisable et quels sont ses effets. Ainsi la représentation de l action par des opérateurs d état impose une hypothèse forte : tout est invariant sauf ce qui est explicitement mentionné dans le modèle de l action. Bien évidemment cette hypothèse n est pas toujours vérifiable dans une application robotique située souvent dans un environnement bruité, voire partiellement connu. De nombreuses extensions sont alors nécessaires parmi lesquelles [Ghallab1993] : La prise en compte des ramifications de l action L action peut avoir des effets implicites pas forcément modélisables ou modélisés. La prise en compte des qualifications de l action L action nécessite la vérification de certaines conditions pour son exécution. La prise en compte d actions conditionnelles L action n a pas forcément le même effet selon le contexte. La prise en compte du temps dans la durée des actions L introduction de contraintes temporelles permet, à partir de méthodes basées sur des logiques temporelles, d obtenir des plans plus compacts prenant en compte parallélisme et recouvrement des actions [Allen1983]. La planification dès lors apparaît comme présentant deux aspects : un aspect logique et un aspect temporel. Ces deux dimensions sont alors exploitées dans les approches les plus récentes, telles que IxTeT du LAAS [Alami et al.1990].

28 1.4.4 Une première architecture Planificateur de Tâche - Contrôleur d exécution : SHAKEY La mise en oeuvre d une telle approche pour le pilotage d un robot mobile consiste donc à décomposer l application en deux niveaux, un niveau planification et un niveau contrôle d exécution (voir figure 1.6). Le robot SHAKEY (première version) [Nilsson1969] est un robot mobile à roues piloté par un ordinateur SDS-940 et doté d une caméra TV, de capteurs télémétriques et d une ceinture de capteurs tactiles moustache de chat. Il a pour mission de ranger des objets simples de l environnement (en général des boîtes) en les poussant. Le robot possède un certain nombre de fonctions bas niveau. Il possède des fonctions pour se déplacer et pousser : MOVE et TURN pour avancer et tourner, LEG pour aller tout droit en un point (x,y) (avec une trajectoire rotation-translation), EX pour se déplacer sur une séquence de points (séquence de LEG) et PU pour pousser une boîte en droite ligne. Il possède des fonctions pour percevoir l environnement : PI pour saisir une image caméra, TE pour atteindre un point par une séquence de points de passages évitant les obstacles détectés à l image. Remarquons ici que la fonction TE fait, en fin de compte, appel a une commande PL qui n est rien d autre qu un planificateur de chemins (Cf. planification spécifique dans le paragraphe 1.5). En effet PL utilise une représentation de l environnement sous forme d une grille de cellules de dimensions variables (12 pouces minimum). Un programme de maintenance de modèle met à jour régulièrement le marquage des cellules libres ou occupées en fonction de l image saisie par la caméra mais aussi des interruptions de la commande MOVE dues à un obstacle. PL construit alors un graphe à partir de cette grille, dont les noeuds correspondent aux cellules libres voisines des coins des obstacles (graphe de visibilité). Le chemin le plus court vers un point en évitant les obstacles correspondra alors à une séquence d un sous ensemble de noeuds du graphe, que l on peut facilement déterminer à partir d un algorithme de recherche dans un graphe (par exemple A ). Par ailleurs, l utilisation d un planificateur général nécessite une définition claire de ses opérateurs en termes de préconditions et postconditions. Un niveau intermédiaire d action a donc été défini afin qu un opérateur puisse correspondre à l exécution de fonctions définies cidessus. par exemple l action PUSH(x,p,s) est un opérateur qui permet la transition entre l état s (vérifiant les préconditions de l opérateur) et l état résultant du déplacement de l objet x sur la place p (postconditions). Le planificateur STRIPS est utilisé pour planifier les actions du robot SHAKEY. Le robot suit un plan généré par STRIPS en utilisant un contrôleur d exécution nommé PLANEX. PLANEX utilise le formalisme de tables en triangles pour gérer le plan fourni par STRIPS. Il a la possibilité de réexécuter une même action ou une des actions suivantes du plan. Les cas d échec correspondent à un état du monde qui n est pas un état prévu par le plan. Dans ce cas STRIPS procéde à une nouvelle planification (replanification) à partir du nouvel état du système Conclusion Comme pour le robot SHAKEY, l utilisation d un planificateur général présente quelques difficultés dans l interfaçage entre planification et exécution. Des approches plus récentes utilisent donc ce type de planificateur à un certain niveau d abstraction de l action (niveau mission ou niveau tâche) ( ex. : HILARE [Giralt et al.1984] [Noreils et Chatila1995], NASREM [Lumia et al.1990], TCA [Simmons1991], CODGER [Goto et Stentz1987]...etc.) et utilisent d autres méthodes de planification pour la navigation proprement dite du robot.

29 1.5 Planification Spécifique à la navigation La planification générale nécessite donc des phases de planification plus spécifiques, comme nous venons de le voir avec la fonction TE du robot SHAKEY. La planification spécifique à la navigation n étudie donc que le déplacement du robot. Cette planification peut se décomposer en deux grands niveaux : La planification de chemins, qui consiste à établir une séquence de points ou de zones de passage obligés pour que le robot atteigne son but. Le modèle de l environnement utilisé sera alors représenté par un graphe. La planification de trajectoires, qui explicite la trajectoire que doit suivre le robot entre deux points ou dans une zone pour éviter les obstacles La planification de Chemins La planification de trajectoires dans un espace contraint conduit naturellement à considérer le problème de la recherche d une trajectoire du robot dans l espace des configurations admissibles (problème du déménageur de piano [Canny]). Malheureusement dans le cas d un robot mobile, la prise en compte de son orientation dans son espace de configuration alors de dimension trois, complique nettement la représentation exacte de l espace libre [Avnaim et al.1988]. Lozano propose donc de discrétiser l orientation du robot mobile, et représente alors l espace libre par un empilement de tranches à orientation du robot fixée [Lozano-Perez1983]. Dans le même esprit, différentes méthodes tentent de simplifier le problème. Elles s appliquent en général à un modèle géométrique ou discret de l environnement A partir d une discrétisation de l espace Ces méthodes consistent à maintenir une représentation de l environnement sous forme d une grille à deux dimensions où chacune des cellules indique en fonction des mesures capteurs et des expériences passées du robot : si elle est occupée ou non [Nilsson1969], la probabilité qu elle a d être occupée [Moravec1990] [Elfes1985], ou encore une côte et un degré de traversabilité pour les sols accidentés [Fagelgaltier1994]. A partir d une telle représentation il est alors possible d établir une séquence de cellules libres connexes d une cellule intiale vers une cellule finale. Certains méthodes réduisent ce graphe avant la phase de recherche. Nilsson par exemple utilise pour le robot SHAKEY [Nilsson1969]. un graphe intermédiaire dit de visibilité (paragraphe 1.4.4). D autres, comme Gat [Gat1994], utilisent le diagramme de Voronoi de ces cellules pour établir le sous ensemble des cellules libres les plus éloignées des obstacles A partir d un modèle géométrique de l espace Les méthodes basées sur une représentation géométrique de l espace, représentent les obstacles sous formes d un ensemble de polygônes (eux-mêmes liste de points). Le modèle géométrique de l environnement est en général fourni par un opérateur ou par des traitements automatiques des mesures capteurs (ex. : par stéréovision [Buffa1993], à partir de capteurs ultrasons [Crowley1989a]...etc.). Les différentes approches se caractérisent alors dans leur représentation de l espace libre sous forme d un graphe de points de passage. Par exemple Laumond construit un graphe de géodésiques (réduction du graphe de visibilité) qui permet aprés recherche dans le graphe, d établir le plus court chemin holonomique entre deux points [Laumond et al.1992]. Brooks, propose la méthode des freeway [Brooks1990b]. Il utilise alors une représentation de l espace libre sous forme de cônes généralisés qui représentent les couloirs dans lesquels le robot peut naviguer. Les bissectrices de ces cônes et leur point d intersections définissent alors un graphe de chemins éloignés des obstacles. O Dúlaing et Yap, ont introduit la méthode des rétractions [O Dúnlaing et Yap1982], basée sur le diagramme de Voronoi, c est-à-dire l ensembles des points équidistants de deux obstacles au

30 moins. Dans le cas d un environnement polygonal, ce diagramme est alors un graphe de points liés entre eux par des segments ou des arcs de paraboles représentant ainsi un graphe de chemins. De nombreuses variantes ont alors été proposées pour en améliorer le temps de calcul [Schwartz et Sharir1988] Conclusion L idée de base de la planification de chemins est de construire un graphe de places qui permette de représenter la structure de l espace libre. Les places représentent des zones ou des points de passages dans l espace libre. Le graphe est alors un graphe de connexité entre ces zones ou ces points. La trajectoire du robot dans chacune de ces zones ou entre deux de ces points est alors simple (rotation - translation pures) ou soumises au contrôle de modules de plus bas niveaux. Il s agit alors de planification de trajectoires La planification de Trajectoires Nous pouvons distinguer ici, deux grandes catégories de méthodes de planification de trajectoires, celles privilégiant l évitement d obstacles locaux, et celles prenant en compte les contraintes cinématiques des robots mobiles Evitement d obstacles locaux Ces méthodes sont aussi appelées méthodes de planification locales de trajectoires [Tournassoud1988]. Elles sont en général simples et efficaces dans l évitement d obstacles mais ne garantissent pas l arrivée à l objectif. C est le cas, par exemple de la méthodes de potentiels de Khatib [Khatib1986]. Elle est basée sur la construction d un champ de potentiel à partir de l environnement du robot. Le champ vaut U(x d ) au point de départ x d, il est minimal au point d arrivée x a, et supérieur à U(x d ) pour tout x où un obstacle est présent. Une trajectoire du robot évitant les obstacles de x d à x a, sera alors définie par le gradient du champ. Malheureusement une telle méthode ne garantit pas de solution, quand il existe dans le champ de potentiel des minimums locaux Intégration des contraintes cinématiques Les contraintes non-holonomes d un robot mobile (voir chapitre 3) imposent des contraintes cinématiques sur ses trajectoires. Trouver une trajectoire dans les termes du déménageur de piano sans considérer la manière dont le piano se déplace n est donc envisageable que pour des systèmes holonomes. De nombreux travaux sur la planification de chemins ont résolu ces contraintes sur les trajectoires en considérant l hypothèse simplificatrice d un robot à symétrie circulaire capable de tourner sur place, le mouvement du robot est alors décomposé en rotation et translation pures. Bien que l existence d une trajectoire sûre pour le robot mobile entre une configuration initiale et une configuration finale ne soit pas affectée par la contrainte cinématique [Laumond1986], certaines trajectoires admissibles en théorie ne sont pas toujours des trajectoires exécutables en réalité de par le nombre de manoeuvres induites. Plusieurs algorithmes de planification de trajectoires respectant les contraintes cinématiques sont proposés dans [Jacob et Canny89] [Laumond1987] [Fraichard1991]. Toutes ces méthodes génèrent des trajectoires composées de segments et d arcs de cercles, voire d arcs de clothoïdes (voir paragraphe ). D autres, comme [Tournassoud et Jehl1988], étudient, dans le prolongement des travaux de Brooks sur les Freeways de l espace [Brooks1990b], des méthodes pour minimiser le nombre de manoeuvres du robot mobile. Dans le cas d un véhicule non-holonome rapide, le modèle du robot dégénére à grande vitesse [Kelly1994b]. Le problème de la génération de trajectoires clothoïdales pour de tels robots est alors particulièrement difficile à résoudre en pratique. Ainsi, des générateurs de trajectoires ont

31 été conçus, non plus dans l espace de configuration du robot (position et orientation), mais directement dans l espace articulaire (en termes de courbure et de vitesse fonction du temps). Il s agit alors de tester toutes les trajectoires du véhicule (lignes de fuite [Patrouix et Novales1994]) en injectant dans le modèle direct du robot toutes les consignes envisageables sur un horizon temporel donné. Les consignes réellement appliquées sur les actionneurs du robot seront celles qui correspondent à la trajectoire la mieux adaptée [Kelly1994a]. L utilisation du modèle direct du robot garantit alors la prise en compte des contraintes cinématiques sur les trajectoires projetées. Tous ces travaux reposent bien évidemment sur un modèle numérique de l environnement, souvent statique, même si certains ont envisagé l existence d obstacles mobiles (ex. : [Fraichard et Laugier1993] [Kant et Zucker1986]), nécessairement modélisés Vers une hiérarchisation du modèle en niveaux d abstraction Comme nous venons de le voir, certaines difficultés ont conduit progressivement à décomposer le problème de la planification spécifique d un robot mobile en deux niveaux au moins : la planification de chemins (globale) et la planification de trajectoires (locale). Cette décomposition est utilisée par Barraquand et Latombe pour apporter une solution au problème des champs de potentiel de Khatib [Khatib1986] (l existence de minimums locaux rendant le but inaccessible, voir paragraphe ). Ils proposent d établir un squelette de l espace libre (planification de chemins) et de construire un champ de potentiel sans minimum local pour chacune des cellules ainsi définies (planification de trajectoires) [Barraquand et Latombe1991]. Cette décomposition de la phase de planification spécifique à la navigation n est qu une partie de la décomposition en niveaux d abstractions que l on peut faire de la navigation et du contrôle d un robot mobile Les premières architectures hiérarchiques Beaucoup de résultats obtenus dans le domaine de la navigation, dans la planification de chemins, puis de trajectoires et enfin dans le contrôle proprement dit de l exécution du mouvement, ont conduit à la décomposition de l application en niveaux d abstractions sur le modèle de l environnement et sur la tâche. Ces approches peuvent se distinguer par le nombre de niveaux utilisés dans la décomposition de l application. Ainsi Meystel propose une décomposition en trois niveaux de base dans la planification et l exécution de trajectoires d un robot [Meystel1982] [Chavez et Meystel1984] : Le planificateur : Le planificateur de trajectoires globales, utilise des connaissances a priori (une carte) pour planifier un chemin. le navigateur : Le planificateur de trajectoires locales, utilise le plan du planificateur comme guide, mais fournit des trajectoires plus précises prenant en compte les informations locales du terrain [Keirsey et al.1984]. le pilote : Le pilote exécute les routines de déplacements simples du robot mobile. Quant à Albus et Shneier [Albus et al.1985] [Shneier et al.1983], désireux de proposer une architecture générale pour tout robot, manipulateur ou mobile, téléopéré ou autonome, décrivent six à huit niveaux de hiérarchie, chacun composé de trois modules concurrents (pour les traitements du retour d information, la modélisation du monde, et la décomposition en sous-buts ou sous-tâches). Malheureusement, les premières architectures matérielles très peu distribuées réduisaient l approche hiérarchique à la seule utilisation pour la programmation du robot. La hiérarchie exprime alors le fait qu une primitive utilisée dans un module est elle-même un module de plus bas niveau [Giralt et al.1984] (ex. : [Yuta et al.1985] [Kanayama et Noguchi1989]). La seule prise de décision est alors centralisée dans le module de plus haut niveau (voir figure 1.7).

32 Nous verrons néanmoins par la suite dans le développement d architectures distribuées, que la notion de Hiérarchie conserve tout son intérêt (ex. : NASREM [Lumia et al.1990]...etc.). 1.6 Conclusion Nous venons de distinguer deux grandes approches dans la conception des premières architectures de contrôle de robot mobile : d une part les architectures basées sur deux niveaux Planificateur-Contrôleur d Exécution et d autre part les architectures Hiérarchiques basées sur plusieurs niveaux de représentation de l environnement du robot, souvent Planification-Navigation- Pilotage. Ces approches témoignent en général de l interêt porté à telle ou telle problématique dans le pilotage d un Robot Mobile. Ainsi certains travaux favorisent un haut niveau de planification générale dans l application (ex. : SHAKEY [Nilsson1969], MARS [Kriegman et al.1990], JPL robot [Thompson1977], HI- LARE [Giralt et al.1984],...etc.). L exécution fait appel à des modules fonctionnels organisés dans une structure hiérarchique. Néanmoins le contrôleur d exécution centralisé peut intervenir à tout niveau d exécution ce qui rend cette structure hiérarchique non-systématique. D autres travaux, plus focalisés sur les difficultés d exécution (plus particulièrement de navigation en robotique mobile), ont relégué ce niveau de planification générale au plus haut niveau d une structure systématique. Celle-ci décompose alors la hiérarchisation du contrôle d exécution en niveaux d abstractions, de la planification spécifique à la navigation (planificateur-navigateur) jusqu à la commande elle-même (pilote) (ex. : [Meystel1982] [Albus et al.1985]...etc.). Nous détaillons dans le chapitre suivant les architectures de contrôle de robot mobile basées sur le concept de Blackboard, un concept né de l Intelligence Artificielle distribuée. En effet, l utilisation de systèmes à base de blackboard s étant avérée intéréssante dans les domaines de la reconnaissance et de la résolution de problèmes distribuée (notamment en robotique pour la fusion de capteurs et la planification), certaines équipes ont très vite utilisé ce concept pour décrire des architectures complètes de contrôle de robots mobiles. Les premiers travaux de notre équipe s inspirent d une telle approche.

33 commandes SYSTEME MECANIQUE ARTICULE DOTE D ACTIONNEURS informations proprioceptives ORGANE DE TRAITEMENT DE L INFORMATION intéractions informations extéroceptives ENVIRONNEMENT Fig. 1.2 Principe de fonctionnement d un robot

34 capteurs exteroceptifs perception modélisation planification execution actionneurs Fig. 1.3 Boucle de Perception-Décision-Action PLANIFICATION Laser Modélisation Modèle de l environnement Planification plan d actions Codeurs EXECUTION Moteurs Fig. 1.4 Architecture de Contrôle type HANDEY

35 GPS STRIPS HACKER 1974 WARPLAN INTERPLAN 1975 NOAH NONLIN 1981 MOLGEN 1982 DEVISE SIPE TWEAK Fig. 1.5 Les évolutions des Planificateurs PLANIFICATEUR plan d actions (STRIPS) table en triangle CONTRÔLEUR D EXECUTION (PLANEX) Fig. 1.6 L architecture de SHAKEY

36 Planification Modélisation Exécution de Tâche Perception commande des moteurs Capteurs Exteroceptifs Capteurs Proprioceptifs Moteurs Fig. 1.7 Les premières architectures hiérarchiques

37 Chapitre 2 Des Architectures distribuées basées sur le concept de Blackboard Chapitre 2. Des Architectures distribuées basées sur le concept de Blackboard31 31I. Premières approches pour le Contrôle de Robot Mobile 2.1 Introduction Un grand nombre de travaux en robotique ont, dès les années 80, utilisé des systèmes basés sur le concept de Blackboard et sous des formes aussi nombreuses que variées [Occello1993]. Ces architectures sont basées sur une représentation du modèle de l environnement, utilisée pour mettre en oeuvre différentes méthodes pour la génération de trajectoires, l évitement, la navigation, la reconnaissance d objets [Elfes et Talukdar1983] [Goto et Stentz1987]...etc. Cette notion issue de l intelligence artificielle distribuée trouve dans un premier temps des applications en robotique mobile pour ce qui est de la fusion de capteurs et de la planification. Ceci étant, ce concept a été très souvent réduit à la seule utilisation d une structure de données, seule représentation du monde, partagée entre des modules dès lors distribués, comme nous allons le voir dans les évolutions du concept. La plupart des applications robotiques mettent en oeuvre des systèmes basés sur des blackboards parallèles, c est-à-dire qui autorisent l activation simultanée de différents modules [Occello1993]. Le blackboard symbolisera alors, dans le cadre de l approche classique toujours axée sur une représentation centralisée du modèle du monde, une volonté de distribuer des modules spécialisés de l application. Nous présentons dans ce chapitre un ensemble d architectures de contrôle pour robots mobiles basées sur le concept de blackboard. Nous étudions les évolutions de ce concept à travers sa mise en oeuvre dans de nombreuses applications de Robotique Mobile, ainsi que les premiers travaux de notre équipe sur l utilisation d une architecture trois systèmes basés sur le concept de blackboard : un système d Interface Opérateur, un système de Planification Dynamique, un système de Contrôle d Exécution et son expérimentation difficile sur le robot mobile YOUPI. 2.2 Les origines du blackboard Le modèle de blackboard est à l origine, un schéma pour organiser les étapes d un raisonnement et les connaissances du domaine pour établir une solution à un problème. En effet, classiquement dans un modèle de raisonnement avant, la solution est construite à partir de l état initial du problème. Dans le cas d un raisonnement arrière, la solution est construite en

38 partant de l état final ou but. Une des principales vocations du modèle de blackboard est de fournir un cadre pour un modèle de raisonnement opportuniste. Les différentes connaissances du domaine peuvent alors être appliquées dans une étape avant ou arrière du raisonnement au moment opportun. Le modèle de blackboard apparaît alors comme un modèle de résolution de problèmes fournissant un cadre pour organiser des connaissances et établir une stratégie pour appliquer ses connaissances dans le cadre du raisonnement [Nii1986a] [Nii1986b]. Le modèle de blackboard (voir figure 2.1) est classiquement composé de trois entités : SC (source de connaissances) SC SC Données du Blackboard Contrôle Flux de données Flux de contrôle Fig. 2.1 Le modèle de blackboard Les sources de connaissances Les connaissances du domaine sont partitionnées en sources de connaissances (SC) indépendantes. Les sources de connaissances prennent une partie de l information courante sur la blackboard et mettent à jour ces informations. Elles peuvent être des procédures ou des règles selon le domaine d application. Chaque source de connaissances contient les préconditions qui indiquent quand le corps de la source, c est-à-dire sa partie opératoire, doit être activée. La structure de données du blackboard Les données symbolisant l état du problème courant sont conservées dans une structure de données globale, le blackboard. Les sources de connaissances produisent des changements (lectures/écritures) sur le blackboard conduisant à la solution incrémentale du problème. Le blackboard est donc composé de données de l espace des solutions qui peuvent être organisées en niveaux hiérarchiques d analyse. Le Contrôle Les sources de connaissances répondent de manière opportuniste aux changements apportés sur le blackboard. Le contrôle est donc chargé de gérer les changements sur le blackboard et de décider quelles sont les actions à mener (activation des sources de connaissances). En conséquence l activation des sources de connaissances est dynamique et opportuniste plutôt que fixe et préprogrammée. Le blackboard fournit donc a priori un cadre intéressant pour le développement de travaux sur la résolution de problèmes utilisant à la fois des connaissances générales (règles) et des

39 connaissances plus spécialisées sur le domaine. Le premier système basé sur le concept de blackboard fut Hearsay-II, un système de reconnaissance de la parole, qui évolua de 1971 à 1976 [Erman et al.1980]. 2.3 Des systèmes pour la fusion de capteurs et la planification Les systèmes à base de blackboard sont donc des systèmes experts ouverts qui permettent de représenter des connaissances du domaine sous différentes formes. Comme pour la reconnaissance de la parole, cette caractéristique convient tout particulièrement à des applications mélant traitements et expertises, tels que la fusion de capteurs et la planification des déplacements du robot mobile. En robotique, c est avant tout le cas pour la fusion capteur, où traitements capteurs et modules de reconnaissance coopèrent pour construire un modèle de l environnement. Le robot GSR [Harmon et al.1984] [Harmon et al.1986], par exemple, est un véhicule blindé de transport de troupes qui a été modifié pour le contrôle informatique. Il est équipé de capteurs et processeurs pour la commande du véhicule, la vision, la navigation... C est une plateforme d étude pour la fusion de données capteurs, qui a permis l exploration de plusieurs types d interactions entre des capteurs complexes (Télémétrie Laser, Vision...) et des sous-systèmes de contrôle. Le système alors utilisé pour la construction du modèle de l environnement du robot est un système basé sur un blackboard parallèle. Il en va de même pour la planification des déplacements d un robot mobile, comme nous avons pu le voir au paragraphe 1.3, où le, ou les, modules de planification générale sont complétés de modules de planification spécifiques à la navigation. Le Planificateur de Pearson [Pearson1985] [Pearson et Kuan1985] par exemple est un planificateur hors-ligne qui détermine un chemin en fonction d une mission et de contraintes géographiques et temporelles. Son raisonnement est basé sur une carte militaire portant les reliefs et les types de terrains, d une résolution approximative de 100 mètres. De même TRAM [Koenig et Chochon1988] est planificateur pour un robot mobile développé par le CEA. Il prend en compte la non-monotonie du raisonnement par un mécanisme de remise en cause des hypothèses sur le blackboard. Par la suite l utilisation d un modèle de blackboard comme architecture de contrôle de robots mobile, a donné lieu à de multiples architectures plus ou moins éloignées du concept originel de blackboard comme nous allons le voir, entre les architectures du CMU Rover, du NAVLAB, Hetero Helix...etc. 2.4 Des architectures de contrôle pour robot mobile basées sur le concept de blackboard Le modèle de blackboard est rapidement devenu un modèle d architecture de contrôle composée de différents modules distribués autour d une structure de données centralisée très adaptée à la représentation du monde classiquement utilisée en robotique. Différentes évolutions du concept ont alors marqué les architectures de contrôle pour robot mobile Une première architecture : le robot CMU Rover CMU Rover est un robot mobile équipé d un ensemble de capteurs [Elfes et Talukdar1983]. Son système distribué de contrôle est basé sur une architecture de blackboard parallèle. Il est

40 conçu pour permettre un contrôle de haut niveau, facile à utiliser et flexible pour effectuer différents types d expériences avec la plateforme. Le système consiste en un ensemble de modules experts qui effectuent une tâche donnée sous la Plan Blackboard Modules experts Maître Esclave Communication Locale Maître Esclave Maître Esclave Communication Distante Maître Esclave Moteurs Capteurs Environnement du monde réel Fig. 2.2 Architecture du CMU Rover direction d un plan de contrôle. Chaque module est dédié à un type particulier de sous-tâches comme la gestion des capteurs et effecteurs, la résolution de problèmes. Le blackboard contient des informations sur l état du robot, des capteurs et de la progression de la mission. Un module spécialisé est chargé de l extraction des informations sur l ordonnancement des sous-tâches du plan de contrôle (voir figure 2.2). Ce superviseur de plan est original, il adjoint au blackboard la possibilité de suivre un plan préétabli La distribution du Contrôle : Le Whiteboard du NAVLAB Le CMU-NAVLAB [Goto et Stentz1987] est un véhicule automobile traditionnel équipé de capteurs, d une caméra couleur et d un système informatique embarqué. Le NAVLAB est un robot mobile d extérieur navigant sur un réseau routier. Le système reconnait les marquages au sol et détecte les obstacles pour les éviter. Le contrôle du NAVLAB est réalisé par le système CODGER (COmmunication Database

41 with GEometric Reasoning) (voir figure 2.3). CODGER Blackboard Interface Map Navigator Blackboard Interface Pilot Blackboard Interface Perception Blackboard Interface Helm Blackboard Interface Captain Fig. 2.3 Le système CODGER Cinq modules se partagent les tâches de contrôle [Shafer et al.1986] : - Le CAPTAIN exécute les commandes de la mission. Il envoie la destination et les contraintes, étape par étape au MAP NAVIGATOR et attend le résultat de l étape, - Le MAP NAVIGATOR sélectionne le meilleur chemin sur la carte, le décompose en une séquence de segments et l envoie au PILOT, - Le PILOT coordonne les activités de PERCEPTION et de navigation locale (HELM), - La PERCEPTION utilise des capteurs pour déterminer la position des obstacles et si possible estimer la position du véhicule, - Le HELM est chargé de l exécution de la trajectoire. La structure du blackboard contient la carte ( Local Map Database ) du secteur parcouru. Les modules fonctionnent de façon asynchrone et se synchronisent par l accès au blackboard La distribution du Blackboard : Hetero Helix Hetero Helix a été développé pour répondre aux problèmes d intégration logicielle rencontrée dans le cadre du programme en Robotique et Réacteurs Avancés du Département de l Energie aux Etats-Unis. Ce programme a conduit au développement de trois démonstrateurs représentant respectivement , et lignes de code écrit par une trentaine de personnes. Les composants de ces applications incluent des capteurs ultrasons et les traitements correspondants, un système de vision et d analyse d images, un système de contrôle d un bras manipulateur redondant à sept degrés de liber-té, un système de contrôle pour une plateforme mobile omnidirectionnelle et des modules d évitement d obstacles, de planification de chemins, de suivi de trajectoires...etc. Ces démonstrateurs utilisent un réseau hétérogène d ordinateurs relativement complexe incluant des Silicon Graphics, Microvax et autres. La but d Hetero Helix est de fournir une interface pour le développeur la plus simple possible. Hetero Helix présente une interface similaire à un blackboard qui simule une mémoire partagée sur un réseau hétérogène de machines à mémoire distribuée [Jones et al.1992b] [Jones et al.1992a]. Dans ce concept, toutes les données sont a priori partagées entre les modules par l intermédiaire

42 d un seul blackboard global. Chacune des données est assimilée à un Post-it. Chaque Postit admet des lectures concurrentes et des écritures exclusives de n importe quel module. Le compilateur d Hetero Helix permet alors la distribution automatique des données du Ultrasons Cartographe Interface Utilisateur But Serveur Ultrasons Carte du sol Odométrie Evitemment d obstacles Cible Robot Contrôleur des roues Fig. 2.4 Hetero Helix blackboard sur le système distribué hétérogène (voir figure 2.4). Le blackboard est dupliqué vers chacun des espaces mémoires adressables du système. Des processus de communication (en lecture et écriture) gèrent le transfert des données entre les différentes représentations locales employées sur chacune des machines. Le blackboard est donc réduit ici au concept d environnement de programmation basé sur une structure de données partagée entre modules concurrents. Ceci permet à chacun des développeurs de modules du démonstrateur d accéder à toutes les données du système tandis que le compilateur se charge de distribuer ces mêmes données sur un réseau hétérogène de machines. 2.5 Des approches hiérarchiques basées sur le concept de blackboard Un blackboard hiérarchique : Un Robot Mobile Autonome pour l Intervention en Usine Chimique Le Robot Mobile Autonome présenté dans [Pang et Shen1990] [Pang1991] est spécialisé dans l intervention d urgence pour une usine chimique. Il a pour but de remplacer l homme dans un milieu dangereux et toxique dû à un accident de fonctionnement. Sa mission consiste à communiquer les informations permettant d éclairer les spécialistes du centre de contrôle protégé distant et à traiter le milieu hostile. Ses tâches comprennent : Le repérage de fuite, L identification des produits mis en jeu, L évaluation de dommages ou de risques, Le déplacement et l évitement d obstacles.

43 Le système de contrôle couple des blackboards classiques de type séquentiel munis d un contrôle opportuniste (Poste et Centre de Décision) avec un blackboard parallèle de la première génération à structure, gestion et contrôle centralisés (voir figure 2.5). Ce système est en fait articulé autour de deux blackboards indépendants. SC4 Evitemment d obstacles SC3 Système de Vision SC2 Télémètre Ultrason Vers le poste de commande SC5 Commande moteurs et mouvements SC6 Système de Navigation SC7 Système de Planification SC8 Scanner Infrarouge SC9 Microphone Haut-parleur Sous-blackboard Locomotion Sous-blackboard Environnement Sous-blackboard Identification SC1 Unité de Communic. Equipement & Capteurs Analytiques Colorimètre Capteur de Température Explosimètre Dosimètre PH mètre Surveillance de Dégagements de Matière SC10 Données Techniques du Système SC11 Interprétation de panneaux SC12 Système de Sensibilisation SC13 Identification Chimique Outils d analyse Analyseur Infrarouge déteteur de tubes Fig. 2.5 Blackboard embarqué de KAMRO Le premier, embarqué sur le robot est chargé : Du contrôle : modules de navigation, de planification, De la locomotion : interprétation sonar et vision, De la gestion des équipements analytiques : fusion de données des ph-mètre, détecteur infra-rouge, température, colorimètre, explosimètre. Le second placé dans le poste de commande distant, est chargé de l aide à la décision et du contrôle de haut-niveau du robot. Sur chaque module, une source de communication est spécialisée dans les liaisons entre blackboards.

44 2.5.2 Des blackboards hiérarchisés : KAMRO (Le Robot Autonome de Karlsruhe) KAMRO est un Robot Mobile Autonome muni de deux bras manipulateurs [Raczkowsky et Rembold1989]. Son système de contrôle gère le déplacement de la base entre les postes de travail et l accomplissement de tâches d assemblage à deux bras. Le contrôle de KAMRO est de type hiérarchique, il comporte six niveaux : Trois niveaux de commande embarqués, Trois niveaux de contrôle niveau tâche sur l hôte. L originalité du système réside dans le fait que chacun des niveaux est constitué par un système de blackboard. La structure contient une représentation du monde. Le niveau d abstraction de la représentation va de la représentation d objets 3D au niveau 6 à des coordonnées cartésiennes et articulaires au niveau 1. Chaque blackboard possède une unité de contrôle indépendante. 2.6 Une architecture basée sur des blackboards distribués Introduction Une première architecture pour le contrôle du robot mobile YOUPI (voir annexe 9.6) a été développée au sein de l équipe robotique de l I3S, à partir d une décomposition basée sur des blackboards pour spécifier une application de contrôle de processus [Occello et Thomas1992]. De précédents travaux menés dans l équipe ont montré l adaptation des systèmes basés sur le concept de blackboard à la simulation pour la Téléopération Assistée par Ordinateur [Arnoux et Thomas1989]. L architecture proposée ici, tente de fournir une décomposition plus complète dédiée au contrôle d un robot mobile, dotée d une interface permettant l intervention d un opérateur. Trois systèmes composent cette architecture (voir figure 2.6) : Le système d interface opérateur, Le système de planification dynamique, Le système de contrôle d exécution. Chaque système est à base de Blackboard, dans lequel coopèrent des sources de connaissances spécialistes grâce à une structure de données partagée. Chacun de ces systèmes est spécialisé pour chacun des aspects du contrôle qu il réalise : Blackboard graphique pour l interaction avec l opérateur, Blackboard séquentiel pour la planification, Blackboard parallèle pour le contrôle d exécution. L ensemble constitue un Système à base de Blackboard Distribué Multi-Formes [Occello et al.1991] Le Système d interface opérateur Ce système est chargé de l interaction avec l opérateur. La structure de Blackboard de ce système contient un modèle symbolique du monde (robot, environnement), implanté sous forme d objets, permettant sa représentation graphique (écran de suivi - superviseur). Un mécanisme réactif d envoi de messages est associé à ces objets ainsi que la sémantique nécessaire au déclenchement des sources de connaissances relatives au Blackboard [Arnoux1990]. Deux types d entités sont présentes dans la représentation du monde : entités passives (Bancs d outillage, Obstacles, Murs...) et entités actives (Robot(s), Outils montés...). Deux types d événements sont pris en compte :

45 Interface Opérateur BB graphique écran de supervision écran de suivi de planification Système Robotique Mobile BB Planification Dynamique Mission Objectif Action écran de suivi d exécution BB Contrôle d Exécution localisation et trajectoires capteurs et asservissements Source de Connaissance Robot Mobile YOUPI Fig. 2.6 Une Architecture Logicielle de Contrôle pour la Robotique Evénements internes : modifications d objets requises par les sources de connaissance ou par les autres systèmes du système. Evénements externes : interventions de l utilisateur. L utilisateur est assimilé à une source de connaissances agissant sur la structure du Blackboard. L accès à une entité passive par la source de connaissances Utilisateur déclenche la présentation des caractéristiques de cette entité. L accès à une entité active par la source de connaissances Utilisateur propose l ensemble des opérations possibles sur cette ressource. Un tel accès à un choix de mission déclenche une source de connaissances Communication qui transmet cet ordre vers le système de planification dynamique Le Système de Planification Dynamique C est le système décisionnel. Il prend en charge l exécution d une mission spécifiée interactivement par l utilisateur ou fournie par ailleurs (Plan d action dans un fichier). Il assure la transformation des ordres conceptuels exprimés depuis le système d interface opérateur vers le système d exécution. Ses capacités de raisonnement lui permettent de traiter les situations exceptionnelles d échec par le déclenchement de procédures de reprises. L utilisation d un système à base de Blackboard autorise prise de décision opportuniste donc dynamique. Les mécanismes mis en jeu dans le contrôle de cette prise de décision sont détaillés et formalisés dans la suite.

46 Le Système de Contrôle d Exécution Ce système est responsable de l exécution des actions. Il représente, en fait, un reflet logique de l architecture physique du robot. Son organisation vise à améliorer les temps de réponse du système de contrôle, par ses capacités d accès simultanés à différentes ressources physiques (capteurs, actionneurs) Le Système de Planification Dynamique Un Blackboard pour le système de Planification Dynamique Comme nous l avons vu dans le paragraphe 2.2 : Le Blackboard, structure de données hiérarchisée en niveaux d abstraction où sont stockés les éléments intermédiaires de la résolution du problème, Les sources de connaissances, Le contrôleur qui détermine l activation des sources de connaissances et gère les modifications du Blackboard. Le système de Planification Dynamique est conforme à cette description. Il prend en charge l exécution d une mission spécifiée interactivement au travers du système utilisateur ou fournie par ailleurs. La structure de Blackboard choisie pour réaliser ce système comporte trois niveaux d abstraction : MISSION - OBJECTIF - ACTION [Hayes-Roth1985]. Les entités figurant sur ce Blackboard sont des instances d une base de connaissances reprenant la classification établie dans [Thomas1989]. Une Mission est alors définie comme une succession d objectifs décomposables en actions élémentaires réalisables par le robot c est-à-dire correspondant à des primitives logicielles de commande ou à des enchaînements de primitives de commandes. Le passage d un niveau au suivant est assuré par des sources de connaissances spécialistes en planification. Les sources de connaissances sont constituées de trois parties : Une condition de sélection : liste de types d entités du Blackboard susceptibles d intéresser la source de connaissances, c est-à-dire susceptibles de l activer. Des préconditions d activation : ensemble de tests précisant l adéquation entre le contexte et la source de connaissances. Un corps : programme apportant des modifications au Blackboard. Ces sources de connaissances sont activées par un contrôleur qui effectue le cycle suivant : 1. Enregistrement des modifications ou ajout d événements produits sur le Blackboard par l activation des sources de connaissances activées au cycle précédent. 2. Election de la meilleure source de connaissances répondant à la situation présente, dont les parties conditionnelles sont vérifiées (dans le cas d un blackboard séquentiel). Contrôleur, événement et sources de connaissances réalisent la gestion dynamique de la prise de décision. En effet, le contrôleur prend en compte dans son cycle de contrôle une évaluation des préconditions des sources de connaissances. Dans ces préconditions apparaissent les élements portant sur le contexte. Le contrôleur effectue donc une triple sélection, sur le type des événements, sur le contenu des événements et sur le contexte à travers les informations présentes sur le Blackboard Intrégration des préférences de l opérateur Dans notre approche plusieurs sources de connaissances sont souvent disponibles pour décomposer une même mission. Afin d éviter une activation trop systématique des mêmes sources de connaissances et que le choix de ces sources de connaissances dépende du contexte mais aussi des préférences exprimées par l utilisateur, nous introduisons la notion de paramètres de

47 configuration du sytème. On peut, par exemple, choisir les méthodes les plus performantes, donnant les résultats les plus fiables, ne faisant pas appel à l utilisateur ou privilégier l emploi d autres méthodes moins autonomes. Ces préférences sont représentées par des paramètres dont la valeur peut être fixée dynamiquement par l utilisateur. Pour chacune des sources de connaissances, un champ de préconditions établit les valeurs de ces paramètres pour lesquelles la source est appropriée. Lors d un cycle de contrôle, les sources de connaissances activables sont aussi selectionnées grâce à ces paramètres de configuration Modélisation du Contrôleur Générique de Blackboard Comme dans tout système classique à base de Blackboard, le contrôleur s avère être au centre du mécanisme. Pour modéliser cette description, un formalisme du contrôle est présenté ici Mécanisme d élection des sources de connaissances Lors de chaque cycle, le Contrôleur reçoit un événement en entrée, correspondant à une modification d une donnée du blackboard, et fournit en sortie les sources de connaissances suceptibles d être activées (voir figure 2.7). événement Contrôleur liste des Agents Fig. 2.7 schéma fonctionnel du contrôleur L ensemble des sources de connaissances est a priori activable à l arrivée d un événement. Le contrôleur est perçu comme un filtre sur les sources de connaissances disponibles. Il est composé de plusieurs niveaux de filtrage (voir figure 2.8). Le filtre de sélection, décrit l ensemble des sources de connaissances concernés par les modifications du blackboard. Le filtre de configuration, décrit l ensemble des sources de connaissances appropriés aux paramètres de configuration. Contrôleur événement Agents activables filtre sélection filtre configuration filtre préconditions Fig. 2.8 Les différents niveaux de filtrage du contrôleur

48 Le filtre de préconditions des sources de connaissances, décrit l ensemble des sources de connaissances activables en fonction des champs du domaine (préconditions de ces différents sources de connaissances vérifiées). Dans le cas d un blackboard parallèle toutes les sources de connaissances sélectionnées sont activés. Dans le cas d un blackboard séquentiel, l activation d une source de connaissances unique (la meilleure) nécessite l établissement d une relation d ordre entre les sources de connaissances activables et du filtre correspondant. Cette décomposition par niveaux de filtrage permet de décrire plus précisemment l intervention de l homme dans la configuration du contrôle Modélisation du Contrôleur Nous présentons ici une modélisation du contrôleur de notre système blackboard générique [Occello et al.1992]. Ce formalisme nous permettra d aborder dans la suite, le problème du temps de réponse et de la réactivité d un tel système. Soit : E = {e 0,..,e m } : S = {s 0,..,s n } : P = {p 0,..,p k } : W : L ensemble des événements. L ensemble des sources de connaissances. Un ensemble fini de k paramètres de configuration utilisateur, indicés, définis sur leur intervalle respectif P i = [p i min,p imax ]. L ensemble des états w des champs du domaine Nous pouvons établir que le contrôleur est une fonction C() qui associe à un élément (e,p 0,..,p k,w) de E x P 0 x..x P k x W, un sous ensemble S de S. Nous pourrons alors définir C() ainsi : C : E x P 0 x... x P k x W B n (e,p 0,..,p k,w) (b 0,..,b n ) où les b i sont des booléens tels que : b i = 1 et b i = 0 si s i S (activable) sinon (non activable) Le contrôleur C() peut être alors décomposé en plusieurs filtres indépendants dont le formalisme est détaillé ici. Le filtre de sélection Le filtre de sélection peut être formalisé par une fonction : C 1 : E B n e (b 0,..,b n ) Il fait correspondre à l événement du cycle de contrôle (modification du blackboard) toutes les sources de connaissances concernées. Le filtre de configuration Le filtre de configuration peut être formalisé par une fonction : C 2 : P 0 x... x P k B n (p 0,..,p k ) (b 0,..,b n ) Il décrit l ensemble des sources de connaissances appropriées à la configuration souhaitée par l utilisateur au travers des k paramètres de configuration. Chacune des sources de connaissances définit k intervalles P si correspondant aux valeurs des k paramètres pour lesquels la source de connaissances est appropriée. On a donc : b i = 1 si p i P, p i P si et b i = 0 sinon

49 Le filtre de préconditions des sources de connaissances Le filtre de préconditions des sources de connaissances, peut être formalisé par une fonction : C 2 : W B n w (b 0,..,b n ) Il vérifie les préconditions de chacune des sources de connaissances dépendantes de l état des champs du domaine et retient les sources de connaissance activables Exemple d interface opérateur Interface trois écrans L interface opérateur est composée de trois écrans chargés de représenter l état du système (nous en présentons ici les maquettes [Occello et Tigli1991]]). Ainsi, l on peut distinguer : Un écran de Supervision, Un écran de Suivi de la Planification, Un écran de Suivi de l Exécution. L écran de Supervision (voir figure 2.9), permet un contrôle haut niveau du système et une visualisation graphique du monde. Le contrôle haut niveau consiste à ajuster deux paramètres de configuration qui sont le degré de confiance et le degré d autonomie et de se positionner en mode simulation ou en mode exécution. Le degré de confiance précise l ensemble des méthodes affectées aux tests de validité des ordres avant leur exécution. Le degré d autonomie gère l affectation des méthodes de reprise disponibles en cas d échec. L écran de Suivi de la Planification (voir figure 2.10), permet d observer les cycles Action/Reprise en cas d échec et occasionnellement de remplacer des méthodes non implementées par des interventions de l opérateur. Il est formé de trois niveaux : Missions, Objectifs, Actions dans lesquels chaque tâche est décomposée en sous-tâches. L écran de Suivi de l Exécution (voir figure 2.11), indique les consignes reçues par le robot et retourne les résultats de tests et de mesures effectués sur le matériel embarqué (capteurs..etc.). Cet écran permet la déconnexion totale du robot pour les cas d urgence et la déconnexion partielle des modules embarqués pour pouvoir récupérer le système commandé. L opérateur peut alors intervenir à bas niveau Aspects de l Implémentation logicielle Le logiciel présenté se veut donc résolument interactif. Une approche orientée objet a été utilisée, profitant ainsi de certaines caractéristiques de ce type de programmation. L encapsulation de chacun des systèmes offre une gestion propre des communications et une implémentation plus aisée sur des machines différentes. La communication entre les différents systèmes se fait par passation de messages à partir des sources de connaissances spécialistes en communication. Ainsi, les messages sont des objets au sens de la Programmation Orientée Objet dont les champs contiennent la sémantique. Un modèle d interaction qui dissocie Objets Graphiques / Interactifs / Internes pour toute entité est utilisé. Les objets accessibles à l utilisateur, possèdent la plupart du temps un aspect graphique. Il est à ce titre très intéressant lors de l implémentation, de dissocier leur représentation graphique de leur représentation interne. Ainsi, tout objet interactif est composé d un objet interne contenant les champs sémantiques et d un objet graphique (voir figure 2.12), seule dépendance avec l environnement graphique choisi. Toute opération interactive de l opérateur se ramène à un envoi de message à l objet interactif qui appelle les méthodes de traitement associées. Cette technique est utile pour la représentation graphique du monde. L ensemble des objets (Obstacles + Robot) possède une représentation graphique interactive, leurs caractéristiques peuvent ainsi être facilement consultées. La dissociation Graphique / Interactif / Interne permet en outre d effectuer certaines simulations directement au niveau graphique, sans modifier l état interne représentant la réalité (Simulation du déplacement du robot). De même, les actions possibles sur un robot sont proposées

50 dans un menu déroulant invoqué lors du pointage d un objet robot [Arnoux1990]. La réalisation d un tel logiciel se fait dans le langage C++ avec les bibliothèques graphiques InterViews [Gorlen1987]. Le choix du C++ à été motivé par sa production de code intermédiaire C. En effet, pour des questions de performances, certaines parties du système doivent pouvoir être embarquées sur le robot. InterViews est une bibliothèque graphique entièrement orientée objet [Linton et al.1987]. Sa structure convient parfaitement à l approche orientée objet adoptée. Les objets InterViews (basés sur le concept d interacteur) sont totalement réactifs. Ils s identifient au niveau des objets graphiques introduits dans notre modèle d interation Le Système de Contrôle d Exécution Le Système de Contrôle d Exécution est composé d un blackboard parallèle à plusieurs niveaux hiérarchiques Mise en oeuvre pour le robot mobile YOUPI Le plus haut niveau du système gère une liste de points de passage ainsi que la liste des consignes en vitesse de la base. Le niveau intermédiaire fournit la position et l orientation du robot et gère la consigne en vitesse courante de la base. Le plus bas niveau correspond aux vitesses et positions des roues. Différentes sources de connaissances (voir 2.13) permettent les communications entre les niveaux. Chaque niveau possède son propre contrôleur générique ou non. En effet, afin d obtenir de meilleures performances, le contrôleur du plus bas niveau utilise une programmation ad hoc temps réel. Il gère les sources de connaissances ayant accès au plus bas niveau du blackboard mais aussi les entrées/sorties du robot (ex. : lectures et écritures sur les asservissements des roues). Nous utilisons pour cela une machine à état fini programmée en C, garantissant ainsi un temps de réponse borné [Tigli et al.1993c] [Tigli et al.1993b]. Les entrées de cette machine correspondent alors à la vérification de conditions par des unités Watchdog (ex. : état du bouton d alarme ON). Les sorties correspondent aux actions atomiques que sont la lecture (ex. : état du bouton d alarme) ou l écriture des données du robot (ex. : consignes moteurs) Les limites expérimentales Ce système de Contrôle d Exécution est bien sûr conçu pour être embarqué sur le robot, équipé d une machine multiprocesseurs, comme pour beaucoup de systèmes basés sur le concept de blackboard parallèle dédiés au contrôle de robots mobiles. L utilisation de cartes dédiées (d acquisition, d asservissements..etc.) permettent d instrumenter et de motoriser le robot. Les sources de connaissances sont alors distribuées sur des cartes CPU pour implémenter les différentes méthodes correspondantes. Le blackboard est la représentation logique de la mémoire partagée. Le contrôleur du blackboard est alors localisé sur une carte CPU et assure la gestion de ces données et de l activité du système. Malheureusement tous les robots mobiles ne sont pas dotés d une telle architecture physique. Le robot mobile YOUPI, par exemple, est à ce sujet très limité (voir annexe 9.6) et ne permet pas l embarquement du système de contrôle d exécution. Une telle contrainte sanctionne fortement les performances du système de Contrôle d Exécution dès lors distant. 2.7 Conclusion Les architectures que nous venons de présenter, dans les deux premiers chapîtres, bien que différentes ont un point commun : une approche descendante des difficultés d exécution (d une mission, puis d une tâche, puis d une trajectoire...etc.).

51 Quant il s agit de bras manipulateurs la seule utilisation des capteurs proprioceptifs dans les routines de bas niveaux ne pose pas de problèmes de robustesse. Ceux-ci n étant composés que de liaisons holonomes (ne faisant pas intervenir de liaisons cinématiques contrairement à la robotique mobile), la robustesse de ces asservissements n est pas sanctionnée par l accumulation d erreurs au cours du déplacement du robot. De plus l espace de travail de tels robots étant limité, des capteurs extéroceptifs peuvent maintenir le modèle de l environnement utilisé au niveau de la planification. Dans le chapître suivant nous allons donc étudier certaines particularités de la robotique mobile à roues qui nous semblent poser certaines difficultés à l exécution. Ces particularités, présentées par la suite, peuvent justifier les contraintes de réactivité dans le pilotage d un robot mobile.

52 extension du sy

53 INFORMATIONS Raisonnement Interrompu Obstacle Inconnu... Reprise en cours DEGRE D AUTONOMIE DEGRE DE CONFIANCE X = y = & = SIMULATION Fig. 2.9 Ecran de Supervision Globale

54 SURVEILLANCE : MISSION OBJECTIFS ACTIVITES GENERATION DE TRAJECTOIRES Aller_en (B) Clothoides Clothoide double n Coefficient K = Trajectoire Risquee Postures A= 103,135, 90 B= 130,307, 170 ACTIVITES Deplacement (A,B) DIAGNOSTIQUE DE REPRISE Decision en cours... Echec_deplacement Fig Ecran de Suivi de la Planification MR1 ACTIVITES MR2 Consigne 5 Date 9 Consigne 8 Consigne 6 Date 8 Consigne 8 Consigne 7 Date 7 Consigne 7 Consigne 5 Date 6 Consigne 7 Consigne 5 Date 5 Consigne 7 Consigne 5 Date 4 Consigne 6 Consigne 6 Date 3 Consigne 6 Consigne 6 Date 2 Consigne 8 Consigne 7 Date 1 Consigne 7 Consigne 6 Date 0 Consigne 6 Date 9 Date 8 Date 7 Date 6 Date 5 Date 4 Date 3 Date 2 Date 1 Date 0 INTERPRETATION DEPLACEMENT de (103,135, 90) vers (130,307, 170) TABLEAU DE BORD Niveau des Batteries STOP MOTEUR 1 MOTEUR 2 TOURELLE DIAGNOSTIQUE Arret Partiel MR1 EN CHARGE POSITION : ( 123, 256, 125 ) MR2 MT1 CBP A68000 MT2 MT3 CIRCUIT MR1 MR2 MT1 CBP A68000 I (A) U (V) Fig Ecran de Suivi de l Exécution

55 Objet Interactif Objet Graphique Objet Interne Interface Graphique Module Fig Objet Interactif Générateur de trajectoires clothoïdales Trajectoires et points de passages Contrôleur Générique Générateur de mouvements Vitesse de la base Orientation / Position de la base Contrôleur Générique Localisateur à l estime Vitesses des Roues Positions des Roues Contrôleur Temps Réel Awrite Aread Walarm Wstart Wtimer moteur droit moteur gauche codeur droit codeur gauche bouton bouton alarme départ horloge Fig Système de Contrôle d Exécution du robot YOUPI

56 Chapitre 3 Des difficultés à l Exécution Chapitre 3. Des difficultés à l Exécution50 50I. Premières approches pour le Contrôle de Robot Mobile 3.1 Introduction Les architectures présentées dans les deux chapitres précédents, bien que différentes ont un point commun : une approche descendante des difficultés d exécution (d une mission, puis d une tâche, puis d une trajectoire...etc.). Or contrairement aux bras manipulateurs les robots mobiles peuvent poser de sérieux problèmes de robustesse à l exécution. Nous présentons dans ce chapitre différentes réflexions, menées en partie au sein de notre équipe, sur les difficultés imposées par les robots mobiles à roues dans l exécution de leurs mouvements. Nous étudions les notions de commandabilité et d observabilité appliquées à la robotique mobile à roues, et en déduisons les difficultés de commande et de localisation du robot dans certaines conditions expérimentales, dans un environnement très dynamique. 3.2 L architecture mécanique du robot La Robotique peut être vue comme la volonté de concevoir une machine intelligente ayant pour vocation d agir sur son environnement, pour le manipuler ou pour s y déplacer. De telles fonctions nécessitent bien évidemment une morphologie adéquate qui se retrouve tout naturellement dans l architecture mécanique de ces robots. Les premiers robots devant manipuler des objets sont composés d une chaîne de corps rigides liés entre eux par des articulations de type rotoïde ou prismatique,dont une extrémité est fixée à l espace de travail et l autre fait office de support d outils. La robotique de manipulation développe de nouveaux axes de recherche tels que les robots parallèles, les bras flexibles, la miniaturisation offrant ainsi de nouvelles perspectives dans les applications chirurgicales, spatiales, sous-marines etc... L autre axe robotique est lié au déplacement de la machine. Ainsi, la mécanique du robot doit lui donner la possibilité de se mouvoir dans son environnement. Certaines architectures mécaniques des robots mobiles nous sont assez familières puisqu il s agit très souvent de reprendre les principes de moyens de locomotion artificiels (voiture, bateau, avion, sous-marin, fusée...). D autres travaux par contre s inspirent beaucoup plus de la morphologie animale et sont entre autres à l origine de robots mobiles à pattes (ex. : [Raibert1986]) (voir figure 3.1).

57 Fig. 3.1 Les robots mobile à pattes Les liaisons L étude de l architecture mécanique des robots nécessite leur modélisation. Pour cela nous utilisons des notions de mécanique des corps rigides [Bamberger1981] consistant à décrire les liaisons qui existent entre les différents corps du robot par des équations liant les paramètres de ces différents corps (un corps est décrit par trois angles et une position dans l espace, donc 6 paramètres). Ainsi, il peut exister différents types de liaisons entre ces corps. Nous n en introduirons que deux, qui apparaissent comme les deux communément existantes dans un système robotique Définition des liaisons holonomes : Lorsque des solides ne sont astreints qu à des conditions géométriques de contact entre eux, les relations symbolisant les contraintes ne font pas intervenir les vitesses et sont alors de la forme : f(q, t) = 0 (3.1) C est le cas du bras manipulateur pour lequel un modèle géométrique existe. En effet, les différentes relations issues des articulations du robot ne dépendent que des positions relatives des différents segments du bras Définition des liaisons non holonomes : Lorsqu en plus de conditions géométriques de contact les solides d un système sont astreints à certaines conditions cinématiques de contact, il en résulte des relations de contrainte qui font intervenir les vitesses généralisées. Les contraintes correspondantes sont dites non-holonomes ou cinématiques. Elles sont de la forme : f(q, q, t) = 0 (3.2) C est le cas du robot mobile, pour lequel les relations issues du contact des roues sur le sol ne font pas intervenir des positions mais des vitesses.

58 Définition de liaisons semi-holonomes : Lorsqu une contrainte non holonome est intégrable à une constante d intégration près, on dit qu elle est semi-holonome Les robots mobiles à roues Les roues induisent une liaison mécanique toute particulière, quel que soit leur type (voir figure 3.2), ce qui est à l origine d un grand nombre de particularités de la robotique mobile. Dans un premier temps nous nous intéressons au modèle mécanique de ce type de robot mobile, à roues. Pour cela il convient naturellement de faire l hypothèse d un unique point de contact des roues sur le sol et celle d un roulement sans glissement des roues sur le sol. roulettes billes roue boule roue boule roue suédoise roue roue folle roue roue orientable roue roue fixe Fig. 3.2 Différents types de roues L hypothèse de roulement sans glissement des roues sur le sol De nombreux travaux ont été consacrés à la modélisation la plus précise possible des véhicules à roues, induisant des modèles assez complexes [Saha et Angeles1989] [Alexander et Maddocks1990], très précieux pour une simulation de plus en plus réaliste. L objectif ici est tout autre, puisqu il s agit d établir différentes caractéristiques et propriétés des robots mobiles à roues. Nous utiliserons donc la modélisation la plus simple et la plus générale possible des robots de ce type. Dans la lignée des travaux qui ont pu être menés par Denavit et Hartenberg quant à la modélisation des bras manipulateurs [Dombre et Khalil1988], citons les récents travaux de G. Bastin, G. Campion et B. D Andréa-Novel [Campion et al.1993], qui mettent en évidence un certain nombre de propriétés comme les différents types de robots mobiles à roues et leurs degrés de mobilité. A partir d un modèle simple mais néanmoins général de la roue (voir figure 3.3), ils expriment pour chacun des types de roues les deux équations correspondant, d une part à l hypothèse de roulement de la roue dans sa direction sur le sol et d autre part à l hypothèse de non glissement de la roue sur un axe orthogonal à sa direction. En posant :

59 sans glissement j 0 j 1 j 1 i 1 y C θ γ B R roulement O x i 0 d β φ l α A Q i 1 Fig. 3.3 Modélisation générale d une roue R(θ) = cosθ sin θ 0 sin θ cosθ ξ = x c y c θ (3.3) (3.4) Ces différents types de roues sont caractérisés par les équations suivantes : La roue fixe : La roue centrée orientable : [ sin(α + β) cos(α + β) l cosβ ]R(θ) ξ + r φ = 0 (3.5) [ cos(α + β) sin(α + β) l sin β ]R(θ) ξ = 0 (3.6) [ sin(α + β) cos(α + β) l cosβ ]R(θ) ξ + r φ = 0 (3.7) La roue excentrée orientable dite roue folle : la roue suédoise : [ cos(α + β) sin(α + β) l sin β ]R(θ) ξ = 0 (3.8) [ sin (α + β) cos(α + β) l cosβ ]R(θ) ξ + r φ = 0 (3.9) [ cos(α + β) sin (α + β) d + l sin β ]R(θ) ξ + d β = 0 (3.10) [ sin (α + β + γ) cos(α + β + γ) l cosβ + γ ]R(θ) ξ + r cos(γ) φ = 0 (3.11) Remarquons, dans ces différents cas, qu il s agit bien de liaisons non holonomes. Dans le cas d un robot mobile à roue quelconque nous pouvons réunir les différentes équations données par les roues du robot en un seul et unique système de la forme [d Andréa Novel et al.1991] : ξ A(ξ, β i, φ i ) T. β i = 0 (3.12) φ i

60 dont un sous système lie directement les composantes des vecteurs de la situation du robot (ξ) entre elles, limitant les trajectoires possibles du robot. En effet ξ appartient nécessairement au noyau de A 2. A 2 (ξ, β i, φ i ) T. ( ξ ) = 0 (3.13) La réduction de la mobilité du robot Cette étude permet d établir le degré de mobilité d un robot mobile à roues quelconque, à partir du rang de la matrice A 2. En effet, à partir du rang de la matrice A 2, il est facile de déduire la dimension du noyau de A 2 et que nous appellerons le degré de mobilité du robot mobile (δ) : δ = dim(kern(a 2 )) = 3 Rank(A 2 ) (3.14) Ainsi selon le type de robot utilisé, le degré de mobilité pourra varier de 0 à 3 : Degré de mobilité 0 : Bien évidemment ce robot n est pas du tout mobile, c est le cas d un robot avec des roues antagonistes. Il présente bien évidemment peu d intérêt pour la suite. Degré de mobilité 3 : C est un robot que l on appelle plus communément un robot omnidirectionnel. Il peut aller à chaque instant, dans n importe quelle direction sans se réorienter au préalable. Nous verrons dans la suite le grand intérêt d un tel robot, même si sa mécanique n est pas évidente à mettre en oeuvre. Il s agit bien souvent de robots à trois, voire à quatre roues suédoises (ex. : le robot URANUS de Carnegie Mellon University [Muir et Neuman1987]), ou des architectures mécaniques plus complexes (ex. : les différents robots CESAR et HERMIES du Oak Ridge National Laboratory [Reister1991] [Pin1992]). Degré de mobilité 2 : Il s agit des robots mobiles pour lesquels deux des trois composantes du vecteur des vitesses généralisées sont liées. L exemple le plus classique est le robot de type char, pour lequel à chaque instant : j 0 y j 1 q 2 b C M a θ i 1 q 1 O x i 0 Fig. 3.4 Robot mobile de type char y c = tanθ (3.15) x c

61 Degré de mobilité 1 : Les robots mobiles de degré de mobilité 1, ont leurs trois composantes du vecteur des vitesses généralisées liées. L exemple le plus classique est le robot de type tricycle, ou encore l automobile. Ce sont les robots mobiles de degré de mobilité le plus faible. Dans le cas du robot mobile de type tricycle, on a non seulement j 0 β y j 1 C a i 1 θ O x i 0 Fig. 3.5 Robot mobile de type tricycle mais aussi : y c = tanθ (3.16) x c θ.a. cosθ = tanβ (3.17) x c La plupart des robots mobiles utilisés en environnement familier sont des robots de type char à l image du robot mobile Denning (voir figure 3.17), ou des robots omnidirectionnels. Les robots mobiles utilisés en environnement extérieur sont souvent issus de véhicules existants et donc de type automobile de degré de mobilité 1. A l exception des robots mobiles omnidirectionnels (ce qui justifie qu un certain nombre de recherches aient privilégié cet axe), les robots mobiles à roues ne peuvent suivre n importe quelle trajectoire (x c (t), y c (t), θ(t)). Ceci a des implications très fortes quant aux spécificités de la robotique mobile à roue, que nous allons détailler dans la suite. Etant donné que les travaux qui ont été développés dans le cadre de cette thèse ont été appliqués à une robotique mobile domestique et expérimentés sur des robots mobiles de type char, nous allons étudier plus particulièrement ce type de robots mobiles Modélisation du robot mobile de type char Dans ce paragraphe, les différents modèles qui peuvent être utilisés pour étudier la commande des robots mobiles de type char, sont présentés. Nous préférons utiliser ici une représentation d état du système permettant de traiter d une façon unifiée les systèmes monovariables et multivariables car elle facilite l étude de certaines commandes par retour d état.

62 Considérons un robot mobile (voir figure 3.4) formé par une plate-forme et deux roues motrices coaxiales indépendantes donc de type Char (le détail des calculs de ce paragraphe font l objet de l annexe 9.6) Equation d état du comportement du point C milieu de l axe des roues Il s agit de déterminer le comportement du point C (milieu de l axe des roues). L équation d état du système est la suivante [Tigli1992] : x c y ċ = R cosθ cosθ ( ) sinθ sin θ (3.18) 2 q1 q 2 θ 1 e avec q 1 et q 2, les vitesses angulaires des roues du robot, et e la longueur du demi entraxe des roues. On peut avoir une représentation plus simple que celle là, du fait que les fonctions trigonométriques sin(.) et cos(.) vont disparaître de la nouvelle écriture du système Equation d état du comportement d un point M du robot 1 e Soit le repère mobile R 1 (i 1, j 1 ) attaché au Robot et un point M quelconque de la base, de coordonnées (a,b) dans le repère mobile comme dans (voir figure 3.4). Soient x, y les coordonnées du vecteur MO exprimé dans le repère mobile R 1. Prenons comme variables de commande v et θ (les vitesses de rotation et de translation du robot) [Samson et Ait-Abderrahim1990] : Soit : La représentation d état sera donnée de la façon suivante : MO = x i 1 + y j 2 (3.19) ẋ ẏ θ = 1 y + b 0 (x + a) 0 1 ( v θ ) (3.20) La représentation d état obtenue est de la forme contient pas le terme de dérive ( A(X,t) ). Ẋ = B(X)U. Cette représentation ne Equation d état du comportement du système avec une situation désirée On considère une situation désirée caractérisée par un repère R 2 (i 2, j 2 ) et un point M d (voir figure 3.6). Les coordonnées du vecteur MM d dans le repère lié au Robot Mobile sont x et y [Samson et Ait-Abderrahim1990]. On définit ainsi l erreur d orientation ( θ) comme la différence entre l orientation du Robot Mobile (θ) et l angle (θ d ) fait par le repère R 2 avec le repère R 0. Donc nous avons : ( ) ( ) ( ) ( ) ( ẋ 1 (y + b) cos θ sin θ vd b = + ẏ 0 (x + a) v θ ) θ d sin θ cos θ a (3.21) Ce qui peut être réécrit sous la forme : Avec : X = x y θ, U = Ẋ = A(X, t)x + B(X)U (3.22) ( ) ( ṽ v vd = ), θ θ θ A(X, t) = 0 θd F 1 ( θ, t) θ d 0 F 2 ( θ, t) d θ d

63 j 0 M d i 2 j 2 θ d y j 1 q 2 b C M a θ i 1 q 1 O i 0 Fig. 3.6 Espace de configuration du Robot Mobile avec la situation désirée B(X) = 1 y + b 0 (x + a) 0 1 F 1 ( θ, t) = v d cos θ 1 θ + θ d a sin θ b(cos θ 1) θ F 2 ( θ, t) = θ d a(cos θ 1) + b sin θ θ v d sin θ θ F 1 et F 2 : représentent les caractéristiques de la situation désirée Mobile. (3.23) (3.24) On peut remarquer que si la situation désirée devient fixe, A(X,t) s annule et on retombe dans un système du même type que le système Le problème de la Commande La commande des robots mobiles à roues présente de nombreuses particularités. Contrairement aux bras manipulateurs, on ne peut pas parler de modèle géométrique direct et a fortiori de modèle géométrique inverse. En effet, dans le cas précis du robot mobile de type char, si l on ne conserve que les contraintes semi-holonomes, on obtient, aux conditions initiales près : ( s θ ) = R ( e 1 e ) ( q1 q 2 ) (3.25) avec, s étant la distance parcourue par le point C sur la trajectoire joignant sa position initiale à sa position finale et θ la différence entre l angle final et l angle initial du robot. Malheureusement ce qui pourrait être le modèle géométrique direct du robot mobile ne permet pas de définir de manière unique la situation finale du robot 3.7. Nous ne disposons donc que du modèle cinématique du robot pour établir des méthodes de commande. On étudiera donc à partir de son modèle cinématique, la commandabilité du robot de type char. Nous en déduirons les propriétés de ce type de robot et nous tenterons de classifier un certain nombre de commandes basées sur la représentation d état du système.

64 C θ La Commandabilité Fig. 3.7 Exemples de trajectoires équivalentes Pour des systèmes tels que les robots mobiles à roues, les tests de commandabilité nécessitent la mise en oeuvre d outils basés sur des notions d Algèbre différentielle. Rappelons ces outils et leurs applications, afin d étudier le cas du robot mobile de type char. Pour de plus amples explications sur ces méthodes, le lecteur pourra se rapporter aux références citées ([Hermann et Krener1977] [Medromi et al.1994a] [Medromi1993]...) Des notions d Algèbre Différentielle Soit le système suivant : Soit la notion de crochet de Lie : le crochet de Lie [f,g] est défini par : Ẋ = f 0 (X) + f = g = n i=1 n j=1 m f i U i (3.26) i=1 f i u i (3.27) g i u j (3.28) avec : [f, g] = n k=1 h k (3.29) u k h k = n g k f k (f j g j ) (3.30) u j u j j=1 Théorème [Hermann et Krener1977],[Haynes et Hermes1970], [David et al.1988] : Le système 3.26 est localement commandable en x 0 si le rang de l idéal de Lie J(f 1,..., f m )(x 0 ) L engendré par les champs f 1,..., f m est égal à n où L est l algèbre de Lie engendré par les champs (f 0, f 1,...f m ) J = (f 1,...f m )(x 0 ) = {f 1,...f m, [f 0, f 1 ],...[f 0, f m ], [f 1, [f j, f k ]]} (3.31)

65 Commandabilité du robot mobile de type char Nous pouvons alors établir la commandabilité du robot mobile de type char en utilisant le modèle (3.20). Soit l état du système Ẋ = B(X)U (3.32) avec X est l état du système : X = x y, B(X) = 1 y + b 0 (x + a) θ 0 1 ( ) U = v θ B 1 = 1 0 0, B 2 = y + b (x + a) 1 U est le vecteur d entrée. Le système (27) est linéaire en commande U et non linéaire en état. Les champs de vecteurs B 1,B 2 sont indépendants, donc la matrice B(X) est de rang 2, donc dim L(X) = 2. Calculons le crochet de Lie suivant : Donc : B 3 (X) = [B 1 (X), B 2 (X)] = det(b 1 (X), B 2 (X), B 3 (X)) = 1 (3.33) On peut conclure que le système est commandable (en configuration de degré 3) indépendamment du point M de la base du Robot Mobile. Le robot mobile de type char est commandable en boucle ouverte et donc quelle que soit la situation désirée pour le robot, on peut toujours trouver une commande U(t) qui permettra d accéder à cette situation Commande dans l espace articulaire Même si nous avons établi ici la commandabilité du robot mobile de type char en boucle ouverte, l expérience nous avait montré depuis bien longtemps que n importe quel individu était capable d atteindre une situation désirée aux commandes d un véhicule de type char, en l absence d obstacle. Une des premières approches pour piloter un tel robot mobile utilise directement la commande des articulations (dans le cas qui nous intéresse les articulations sont les roues), de la même manière que pour les bras manipulateurs les plus répandus. La trajectoire du robot dépendra alors directement de la trajectoire suivie par les variables articulaires. Nous pouvons ainsi établir un lien direct entre la trajectoire des variables articulaires et la trajectoire du robot [Kanayama et Lelm1988]. L utilisation de classes de trajectoires permet d établir les consignes à appliquer dans le cas idéal pour que le robot accède à une situation finale désirée. Une première classe de trajectoires, utilisée pour simplifier les problèmes de la planification de trajectoires du robot, est celle des Rotations - Translations figure(3.8) (ex. :[Crowley1989a]).

66 Fig. 3.8 Simulation de trajectoire Rotation - Translation Le robot se déplace en tournant autour du centre de l axe de ses roues ou en se déplaçant en ligne droite dans la direction de ses roues bien sûr. Dans le cas de la rotation : Dans le cas de la translation : Les trajectoires du robot sont alors des segments de droite. q 1 = q 2 = e. θ (3.34) q 1 = q 2 = v (3.35) Une seconde classe de trajectoires est basée sur des consignes en vitesse constante figure(3.9) (exemple d utilisation [Pommier1991]). Les trajectoires du robot sont alors des arcs de cercle. q 1 = v + e. θ (3.36) q 2 = v e. θ (3.37) Une troisième classe de trajectoires [Kanayama et Hartman1989] [van der Molen1992] [Kanayama et Krahn1993] [Fleury et al.1993], est basée sur la variation linéaire dans le temps des consignes en vitesse figure(3.10). q 1 = a t + v 0 (3.38) q 2 = a t + v 0 (3.39) avec, a=constante. Les trajectoires du robot sont alors des arcs de clothoïde ou spirale de Cornu. Une quatrième classe de trajectoires [Kanayama et Hartman1989], est basée sur une variation d ordre deux dans le temps des consignes en vitesse figure(3.12). q 1 = a t 2 + v 0 (3.40)

67 Fig. 3.9 Simulation de trajectoire circulaire q 2 = a t 2 + v 0 (3.41) avec, a=constante. Les trajectoires du robot sont alors des spirales cubiques. Pour que le robot suive au plus près la trajectoire idéale prévue initialement, la trajectoire dans l espace articulaire doit être la plus lisse possible, comme nous venons de le voir. La difficulté, à l inverse, est de déterminer a priori la trajectoire dans l espace articulaire correspondant à une trajectoire désirée dans l espace cartésien du robot [Laumond1986] [Tournassoud et Jehl1988] [Lafferriere et Sussmann1991] [Laumond et al.1992] Conclusion Comme nous l avons vu dans le paragraphe 1.5.2, certains planificateurs de trajectoires n intégrent pas les contraintes mécaniques du robot. Les trajectoires du robot sont alors des courbes paramétrées dans l espace cartésien (ex. : utilisation de courbes spline, B-spline [Komoriya et Tanie1989], spline optimisées [Arata Takahashi et Sugimoto1989]...etc.). A charge pour la commande d asservir le robot sur cette trajectoire. Nous allons donc voir dans la suite quelles sont les possibilités pour réaliser un tel asservissement Commande par retour d état Contrairement aux systèmes linéaires invariants, la commandabilité d un système nonlinéaire de la forme (X) = B(X)U n implique pas l existence d un retour d état stabilisant. C est malheureusement le cas de notre robot mobile de type char, comme nous allons le voir dans la suite. Tout d abord il est évident que dans les deux cas 3.18 et 3.20, la matrice B(X) n étant pas carrée, le linéarisé tangent du système ne pourra pas être stabilisable de même que B(X) ne sera pas inversible, à moins de réduire la dimension de l état du système [Samson et Ait-Abderrahim1990].

68 Fig Simulation de trajectoire clothoïdale Fig Simulation de trajectoire - spirale cubique Néanmoins cette condition ne nous permet pas d établir la non existence d un retour d état stabilisant Instabilité par retour d état continu statique et stationnaire Un théorème de Brockett [Brockett1983] nous permet d aboutir à une conclusion plus définitive. En effet selon ce théorème, une condition nécessaire à l existence d un retour d état stabilisant pour un système de la forme (X) = B(X)U résulte dans le fait que B(0) soit de rang plein et que l image par la fonction f(x,u)=b(x)u de toute boule suffisamment petite contienne un voisinage de zéro. Cette condition n étant pas satisfaite, il a été établi dans [Ait-Abderrahim1993]qu il : Il n existe pas de retour d état stabilisant continu U(X) pour asservir la situation d un chariot mobile à deux roues motrices Bien évidemment cette caractéristique ne s applique pas aux robots omnidirectionnels pour les-

69 quels la matrice B(X) est dans la plupart des cas linéarisable et/ou inversible pour des méthodes de commande basées sur la linéarisation exacte du système (ex : [Muir et Neuman1994] [Reister1991]) Réduction de l état asservi Une des premières approches qui permet de contourner cette difficulté, consiste à réduire la dimension de l état à asservir de telle manière que B(X) soit carrée. Prenons le système 3.20, en retirant l expression de θ, on obtient : ( ẋ ẏ ) = ( 1 y + b 0 (x + a) ) ( v θ ) (3.42) Ainsi au voisinage de l origine du repère, ( ) ( 1 b B(0) = 0 a v θ ) (3.43) Le linéarisé tangent du système est donc dans ce cas stabilisable au voisinage de l origine si b 0, c est à dire si le point M asservi n est pas situé sur l axe des roues. De la même façon, on peut établir l inversibilité de B(X) dans un repère fixe, à la seule condition que X soit la position d un point du chariot non situé sur l axe des roues [Tigli1992]. Auquel cas la méthode de commande sera basée sur la linéarisation exacte du système. On peut asservir la position d un point M du robot de type char, non situé sur l axe des roues. De plus nous pouvons remarquer que si l on fait évoluer le point M sur une trajectoire à direction constante avec une vitesse non nulle, alors θ converge vers l orientation de la trajectoire (voir figure 3.12) [Pomet et al.1992]. Un certain nombre de méthodes de suivi de trajectoires Fig Asservissement du robot sur une direction peuvent donc se baser sur l asservissement de la trajectoire du point M (θ convergeant pour un point M non situé sur l axe des roues) [Delaplace et al.1992b] [Delaplace et al.1992a]. D autres méthodes consistent à établir un asservissement sur une trajectoire prédéfinie, pour laquelle il existe un modèle inversible (ex. : asservissement sur un cap, un point, une droite, un cercle [Micaelli et al.1989] par linéarisation exacte) Suivi de Trajectoires Dans le prolongement de ces travaux et en utilisant le modèle 3.22 remarquons en effet qu il est tout à fait possible d asservir le robot sur une trajectoire désirée d un chariot

70 de référence. En effet, en prenant le linéarisé tangent au voisinage de 0 du système 3.22, on peut facilement vérifier que le système linéaire résultant est commandable et donc stabilisable (cas linéaire), à la condition que le chariot de référence ne s arrête pas (v d 0 et θ d 0) [Samson et Ait-Abderrahim1991] [Kanayama et al.1991] Vers d autres modes de commandes Les méthodes de suivi de trajectoires ne permettent bien évidemment pas d asservir le robot sur une situation désirée sans prévoir une trajectoire permettant d accéder à cette situation. C est l objet de certains travaux sur des lois de commande intégrant de telles contraintes. La consigne devient alors la situation désirée. Citons pour exemple trois grandes approches : Commande par retour d état discontinu [Canudas de Wit et Sordalen1991] : Canudas de Wit utilise un asservissement sur une famille de trajectoires paramétrées (ex. : une famille de cercles passant par la situation désirée, figure 3.13). Ainsi, la discontinuité apparaît lorsque le robot se retrouve dans la direction désirée à Π prés. Le robot est alors asservi sur une nouvelle trajectoire passant par sa situation courante et la situation désirée (paramétrée par l erreur en position). Ainsi de trajectoire en trajectoire le robot tendra exponentiellement vers sa situation désirée. X d = Y d = θ d = 0 Fig Commande par retour d état discontinu Commande par retour d état instationnaire [Samson1991] : Une autre approche introduite par Samson consiste à utiliser une dépendance possible de la commande par retour d état avec la variable temporelle (exemple d execution : figure??). Ainsi la commande dépend explicitement de l état du système mais aussi du temps, U(X,t). Ce résultat a été généralisé aux systèmes sans terme de dérive par Coron [Coron1992]. Commande par retour d état dynamique [Medromi et al.1994c] : Cette commande dépend non seulement de l état du système mais aussi de ses dynamiques, U(X,Ẋ). En réalité seules les mesures sur v et θ suffisent à rendre le système stabilisable Conclusion Comme nous venons de le constater, la commande d un robot mobile de type char est loin de présenter les mêmes caractéristiques que la commande d un bras manipulateur. Ce constat

71 X d = Y d = θ d = 0 Fig Commande par retour d état instationnaire justifie un grand nombre de difficultés à vouloir appliquer les même méthodes et donc les même architectures de commande. Nous retiendrons donc : Quelle que soit la commande adoptée pour rejoindre une situation désirée du robot, la trajectoire de ce dernier dans l espace de configuration ne peut être imposée. Elle peut par contre être ou ne pas être prédéterminée, selon la méthode. L Hypothèse de roulement sans glissement est une hypothèse forte. Les conditions de telles hypothèses sont idéales et ne sont jamais véritablement vérifiées dans le contexte expérimental ce qui implique une erreur sur le modèle. Enfin malgré les difficultés pour établir des lois de commande suceptibles d asservir la situation du robot, il est à noter que toutes nécessitent à chaque instant une estimation de l état du système. Ce point fera l objet de l étude du prochain paragraphe. 3.4 Le problème de la Localisation La localisation du robot consiste ici à estimer l état du robot (x c,y c,θ) dans un repére fixe de l environnement. La localisation du robot présente donc deux grands intérêts pour le pilotage d un robot mobile. Tout d abord la commande par retour d état d un robot mobile de type char nécessite d avoir accès à cette estimation à chaque instant. D autre part, l utilisation d un modèle de l environnement du robot nécessite d y localiser ce dernier Introduction Nous pouvons classer les méthodes de localisation s appuyant sur des mesures internes au système robotique en deux grandes catégories [Julliere et al.1984], qui sont : La localisation à l estime La localisation absolue Les méthodes de localisation à l estime déterminent la situation courante du robot à partir des mesures de capteurs généralement proprioceptifs par intégration des déplacements successifs. Ces mesures peuvent être de nature odométrique (déplacement des roues par rapport au sol), tachymétrique (vitesse des roues par rapport au sol), inertielle (accélérations et/ou rotations du robot), gravitationnelle (inclinaison du robot par rapport à la verticale) ou magnétique (en général un compas donnant la direction du robot, par exemple [SARL]). Les méthodes de localisation absolue bénéficient souvent d une extension du système robotique

72 avec l implantation de balises de positions a priori connues dans l environnement du robot. Le robot peut être alors localisé à partir des mesures qui sont faites sur ces balises. Ces balises peuvent être passives ou actives selon qu elles nécessitent leur propre source d énergie ou non. Etudions donc les difficultés possibles dans la localisation du robot à chaque instant à partir des seules informations sur le système robotique (capteurs proprioceptifs et balises). Tout d abord nous nous intéressons plus particulièrement à la localisation à l estime. Pour cela nous utilisons quelques notions théoriques autour de l observabilité d un système, complète ou locale, que nous appliquons à la robotique mobile [Medromi et al.1994a] [Medromi et al.1994b] Observabilité Considérons le système général suivant [Haynes et Hermes1970] [Griffith et Kumar1971] : Σ { Ẋ = f0 (X) + m i=1 U if i (X) Y = h(x) } (3.44) Le robot mobile de type char entre tout à fait dans la classe de tels systèmes au regard des modèles 3.18 et Nous avons simplement introduit les mesures par le biais de l application h. Nous pouvons alors utiliser un certain nombre de résultats des systèmes non linéaires [Medromi1993] Observabilité complète Définition : Le système non linéaire est complètement observable dans ω 0 (sous espace des états initiaux) sur l intervalle de temps [t 0,t 1 ], s il existe une bijection entre le sous ensemble des états initiaux et l ensemble des sorties observées h(t,x(t)) sur l intervalle de temps [t 0,t 1 ]. En d autres termes, si l application h(x)=y est inversible, alors il est possible à tout instant d estimer l état du système à partir des mesures capteurs Observabilité locale Dans cette partie, on propose l évaluation du critère d observabilité non linéaire à travers la fonction inverse. Cette approche dérive des travaux de Kou-Elliot-Tarn [Kou1973], Griffiths et Kumar [Griffith et Kumar1971], Oustri et Favier [Oustri et Favier1987]. On définit les notations suivantes : X 0 : l état initial. X f : l état final. On suppose que l état est initialement dans le voisinage de X f et h(x) est différentiable. Avec cette supposition, la sortie est approximée comme suit : Y = h(x 0 ) + J X0 (X X 0 ) (3.45) Avec : Y = Y 1 Y 2... Y p, h(x 0 ) = h 1 (X 0 ) h 2 (X 0 )... h p (X 0 ) (3.46)

73 J X0 = dhi dx j (3.47) Propriété : X=X 0 Le système est observable localement en X 0 si la matrice jacobienne est inversible. La solution est donnée par : X = J 1 X 0 (Y h(x 0 )) + X 0 (3.48) En d autres termes, si le système est localement observable en X 0 avec Y=h(X 0 ), il est possible d estimer l état du robot de manière unique dans un voisinage de X 0, à partir des mesures capteurs Localisation à l estime et relative La localisation à l estime présente un certain nombre d avantages, qui sont une indépendance de la méthode par rapport à l environnement (du moins dans des conditions modélisables, normales d utilisation du robot) et une précision indépendante de la situation du robot. Ces raisons en font notamment la méthode de localisation privilégiée pour les bras manipulateurs qui ne présentent pas de dérive de la précision au cours du mouvement et donc au cours du temps (le modèle géométrique inversible rend le système complètement observable). Il n en est malheureusement pas de même pour les robots mobiles, notamment de type char, comme nous allons le voir A partir du retour odométrique D après 3.25 : ( s θ ) = R ( e 1 e ) ( q1 q 2 ) (3.49) Nous pouvons déduire naturellement que le système est complètement observable en (s, θ) T à partir des mesures odométriques q 1, q 2. Malheureusement et d après 3.25 nous avons déjà constaté que le système n était pas complètement observable à partir des seules mesures odométriques car le modèle possède des solutions multiples pour un Y donné (ici q 1, q 2, ou s, θ). Etudions, maintenant, l observabilité locale du système à partir de ces mêmes mesures et du modèle 3.18 : x c y ċ = R cosθ cosθ ( ) sin θ sin θ (3.50) 2 q1 q 2 θ 1 e On remarque que ce modèle est de la forme Ẋ = B(X) U, mais surtout que U=Ẏ. Ainsi on obtient Ẋ = B(X) Ẏ. Ce qui permet d écrire (X-X 0) = B(X 0 ) (H(X)-H(X 0 )), dans un voisinage de X 0 d aprés On remarque donc que le système est localement observable au voisinage de X 0, si B(X 0 ) est inversible. Ca n est malheureusement pas le cas avec un retour odométrique simple, étant donné que B(X 0 ) n est pas carrée. Nous ne pouvons donc pas déduire dans ce cas que le système est localement observable En ajoutant des hypothèses sur les trajectoires Le constat précédent explique que les hypothèses simplificatrices qui sont habituellement faites pour intégrer le mouvement du robot et estimer son état à partir des seules mesures odométriques, ne permettent pas d obtenir un résultat très robuste. 1 e

74 En effet prenons le modèle 3.18, par intégration nous pouvons établir que : θ(t) = t R( 0 q 1(t) q 2(t)) 2e dt x(t) = t R( cos(θ(t)) 0 y(t) = t R( sin(θ(t)) 0 q1(t)+ q2(t)) 2 dt q1(t)+ q2(t)) 2 dt (3.51) avec x(0), y(0), θ(0), la situation initiale du robot. Lors du passage à la discrétisation du modèle, la commande est généralement constante sur des intervalles de temps (voire période d échantillonnage) et correspond aux consignes en vitesse qui sont données aux asservissement des moteurs de chacune des roues. L Hypothèse alors faite sur un intervalle de temps ]t n, t n+1 [ est la suivante : q 1 = q 2 = 0 (3.52) Ce qui peut s expliquer par un temps de réponse des asservissements sur les moteurs beaucoup plus petit que la période d échantillonnage [Tigli1992]. On obtient donc les expressions itératives suivantes, basées sur des consignes q 1, q 2 constantes pour t [t n, t n+1 ]) : θ(t) = θ(t n ) + R( q 1 n q 2n ).t (3.53) 2e et donc en intégrant x(t) et y(t) sur [t n, t n+1 ] et en utilisant les mesures odométriques q 1n+1 ˆ, q 2n+1 ˆ de l instant t n+1, se traduit par (le détail des calculs est présenté en annexe 9.6) : si q 1n+1 ˆ qˆ 1n q 2n+1 ˆ qˆ 2n θ(t n+1 ) = θ(t n ) + R( q1 n+1 ˆ q2 n+1 ˆ ) 2e.(t n+1 t n ) x(t n+1 ) = x(t n ) + e( q1 n+1 + q2 n+1 ) q 1n+1 q 2n+1.(sin θ(t n+1 ) sin θ(t n )) (3.54) y(t n+1 ) = y(t n ) + e( q1 n+1 + q2 n+1 ) q 1n+1 q 2n+1.(cosθ(t n ) cosθ(t n+1 )) si q 1n+1 ˆ qˆ 1n = q 2n+1 ˆ qˆ 2n θ(t n+1 ) = θ(t n ) x(t n+1 ) = x(t n ) + R( y(t n+1 ) = y(t n ) + R( q1 n+1 ˆ + q2 n+1 ˆ ) 2e.(t n+1 t n ) q1 n+1 ˆ + q2 n+1 ˆ ) 2e.(t n+1 t n ) (3.55) En posant : q 1n+1 ˆ = q 1n+1 ˆ qˆ 1n (3.56) q 2n+1 ˆ = q 2n+1 ˆ qˆ 2n En ajoutant d autres mesures proprioceptives Une des premières difficultés dans la localisation à l estime d un robot mobile de type char, est donc l absence d une méthode robuste qui permette de localiser à l estime le robot à partir de la seule mesure du déplacement des roues. Ainsi de nombreux travaux utilisent d autres capteurs proprioceptifs (ex. : [Vaganay et al.1993]).

75 Les avantages d une telle approche sont significatifs, car l observabilité du système s en trouve améliorée. Si nous étendons la mesure ˆq 1, ˆq 2, à qˆ 1 et qˆ 2, c est a dire en utilisant des capteurs tachymétriques par exemple, nous pouvons établir dans ce cas que le système est localement observable [Medromi et al.1994a] (la démonstration est présentée en annexe 3.48) et ainsi construire un observateur de l état du système. Les capteurs proprioceptifs présentent donc un intérêt dans le perfectionnement de la méthode de localisation à l estime en permettant de mesurer le déplacement des roues et leur dynamique. Nous présentons donc ici un récapitulatif de quelques capteurs qui offrent ce type d informations. Capteur de déplacement ˆq 1, ˆq 2 odomètre ou codeur incrémental potentiomètre Capteur de vitesse qˆ 1, qˆ 2 tachymètre radars Doppler (mesures sans contact de la vitesse du véhicule par rapport au sol par effet Doppler) Capteur d accélération ˆ q 1, ˆ q 2 accéléromètre Capteur d orientation ˆθ gyrocompas (dispositif de recherche automatique et de conversion du nord géographique par mesure de la rotation terrestre) magnétomètre ou vanne de flux (mesure de la direction du champ magnétique terrestre) Capteur de vitesse de rotation ˆ θ gyromètre de lacet (mesure la vitesse angulaire en cap) Ces différents capteurs ont donné naissance à des systèmes complets de localisation à l estime plus ou moins utilisés, plus ou moins coûteux [Kuritsky et Goldstein1990] A partir de capteurs extéroceptifs Certains capteurs extéroceptifs fournissent un grand nombre d informations sur l environnement. C est le cas notamment de la vision, d un système de balayage laser,...etc. Cette richesse de l information fournie permet de retrouver des caractéristiques communes entre des séries consécutives de mesures. Ainsi après appariement de ces caractéristiques communes (points d intérêt, segments, lignes verticales...etc.), il est possible d évaluer partiellement ou totalement le mouvement du robot. Ayache et Faugeras par exemple utilisent l odométrie ainsi que la mise en correspondance de segments tridimensionnels entre des prises de vue consécutives en stéréovision pour estimer le mouvement du robot [Ayache et Faugeras1989]. Crowley [Crowley et al.1991a], utilise un système similaire qui détecte et met en correspondance les segments verticaux seulement. Cette simplification permet une localisation du robot en temps réel. Ces méthodes viennent souvent compléter les méthodes de localisation à partir des seuls capteurs proprioceptifs, malheureusement soumise aux variations du modèle mécanique du robot (voir paragraphe ) Conclusion Les méthodes de localisation à l estime sont largement utilisées car elles ne nécessitent aucune connaissance ni équipement de l environnement du robot. La situation de ce dernier n est alors établie que par des mesures sur l évolution de son système mécanique. Néanmoins ces méthodes dérivent en fonction du temps écoulé et/ou de la distance parcourue et nécessitent donc d être recalées périodiquement. En effet, deux problèmes peuvent être à l origine de ce phénomène, sans parler des erreurs qui sont directement liées à l imprécision des mesures : Le premier peut être dû à l absence de mesures sur les dynamiques des articulations du robot qui impose l utilisation de méthodes peu robustes. Le second plus général, concerne les

76 hypothèses de roulement sans glissement des roues sur le sol ou liaisons non-holonomes. Ce qui entraîne nécessairement une accumulation de l erreur sur l estimation de la situation du robot Localisation absolue par balisage Introduction La localisation d un robot mobile à roues est donc un problème qui met en défaut la seule utilisation de mesures proprioceptives, et bien que la localisation à l estime permette sur des périodes et des distances raisonnables de donner une approximation de la situation du robot, il est nécessaire de recaler régulièrement un tel système. Pour cela une première approche consiste à augmenter le système robotique en intégrant dans l environnement du robot des balises passives ou actives avec des coordonnées bien connues. Ces méthodes, parce que contournant la difficulté de l autonomie d un robot en environnement totalement inconnu, sont d une réelle efficacité.leur utilisation s étend bien au delà de la robotique et notamment dans tous les secteurs de la navigation (ex : le système GPS pour les avions et les bateaux fonctionnant sur tout le globe terrestre ou presque...) Différents types de balises Les balises sont de deux types, actives ou passives selon qu elles disposent de leur propre source d énergie ou non. Les balises actives sont en général des émetteurs, en continu ou à déclenchement, dans une bande fréquentielle prédéfinie (ex. : source lumineuse, antenne émettrice hyperfréquence..etc.). Ces balises permettent de recueillir une information géométrique, correspondant tout au moins à leur code d identification. Les balises passives quant à elles ne font que réfléchir une onde émise par l appareil de mesure du robot (ex. : réflecteur optique, miroir, réflecteur radar..etc.). Les mesures réalisées sur ce type de matériel sont essentiellement géométriques, de deux types : télémétrique (distance) ou goniométrique (angle). Nous pouvons distinguer deux grandes méthodes de localisation à partir de balises actives ou passives selon la nature de la mesure : par multilatération ou triangulation [Faverjon et Quin1993]. La multilatération consiste à déterminer une position à partir d un certain nombre de mesures de distances. Si les mesures présentent une erreur faible, le calcul de la position du robot pourra se faire à partir de l intersection des différents cercles de centre les balises et de rayons les mesures correspondantes. La triangulation consiste à déterminer la situation du robot à partir de mesures d angles Localisation GPS La localisation à partir du système GPS est basée par la mesure du retard entre un signal émis par un satellite et sa détection par un récepteur. Le satellite fait donc office de balise active. En fait, un tel système nécessite quatre satellites (voir figure 3.15), car la distance n est malheureusement pas seulement liée au temps de vol du signal satellite, à cause de différentes incertitudes dans sa propagation. Il en résulte donc en réalité, une pseudo-distance [Corre et Peyrret1990] telle que : p = d + c( t S t R ) + d iono + d tropo (3.57) avec, d : distance réelle c : vitesse de la lumière t S : biais d horloge satellite (correction fournie par le satellite) t R : biais d horloge récepteur d iono : erreur de transmission ionosphérique d tropo : erreur de transmission troposphérique

77 Fig Système GPS On obtient alors : p i = (x x si ) 2 + (y y si ) 2 + (z z si ) 2 + c t (3.58) avec, p i : mesure de pseudo-distance antenne-satellite s i ; i = 1,n (n 4) n : nombre de satellites accrochés x,y,z : position antenne inconnue (dans un trièdre de référence lié à la terre) x si,y si,z si : position satellite s i c : vitesse de la lumière t : biais d horloge récepteur La résolution d un tel système d équations consiste en une linéarisation autour d une solution approchée suivie d une résolution par moindres carrés ou par filtrage de Kalman. Ces calculs peuvent s effectuer à l heure actuelle selon la puissance de calcul dont dispose le robot avec une cadence de l ordre d une localisation par seconde. La précision d un tel système peut atteindre l ordre du mètre [Groupe de Robotique Industrielle1993] Localisation absolue à partir du modèle de l environnement D autres méthodes ont l avantage de ne pas nécessiter de balisage de l environnement. Il s agit de méthodes de localisation à partir d informations exteroceptives comparées à un modèle local de l environnement. Elfes [Elfes1985], par exemple, utilise une localisation approximative du robot par retour odométrique pour chercher l emplacement de la grille locale d occupation de l environnement (mesures courrantes ultrasons) dans la grille d occupation globale construite (modèle globale de l environnement) et ainsi localiser le robot de manière absolue. Crowley, utilise un modèle géométrique de l environnement composé de segments 2D [Crowley1989c]. Les segments locaux déduits des mesures ultrasons sont comparés aux segments correspondants dans le modèle de l environnement, l erreur mesurée permet de corriger la localisation basée sur le retour odométrique par filtrage de Kalman. D autres comparent directement les mesures ultrasons au mesures prédictives basées sur le modèle de l environnement et la localisation par retour odométrique, ce qui évite une phase de traitement des mesures [Pedrosa et Ribeiro1994] [Medromi et al.1994b]. Des méthodes similaires sont utilisées pour localiser un robot à partir des mesures d un télémètre laser après traitement [Forsberg et al.1993]. D autres méthodes sont en cours d expérimentation au laboratoire I3S sous la direction de J. Rendas et M.C. Thomas, en collaboration avec Thomson et l ESSI.

78 3.4.6 Conclusion Nous venons de distinguer deux grandes catégories de méthodes de localisation absolue. Les premières utilisent un balisage de l environnement, ce qui les rend efficaces en permettant à tout moment et assez rapidement d obtenir la localisation exacte du robot. Ces méthodes sont largement utilisées dans les quelques applications industrielles en robotique mobile. Une généralisation de ce concept a donné lieu à l utilisation de satellites comme balises universelles, dans le système GPS de localisation. Ce système est néanmoins limité à une précision minimale, et reste dépendant d un équipement externe au robot. D autres méthodes n utilisent quant à elles que le modèle de l environnement non équipé. Le modèle de cet environnement peut être connu a priori par le robot, mais est le plus souvent construit à partir des séries de mesures capteurs. Ces méthodes ont donc le mérite de rendre le robot réellement autonome, c est à dire ici, ne nécessitant aucun équipement externe. Ces dernières méthodes donnent toutes satisfactions dans un environnement quasi-statique, pour lequel le modèle qu en a le robot est fiable. Dans le cas d un environnement dynamique il est difficile de distinguer les erreurs de localisation du robot des modifications de l environnement. 3.5 Les problèmes liés à l environnement du robot Dans le domaine de la robotique mobile, où la fonction principale du robot est le déplacement, le milieu dans lequel le robot mobile est censé évoluer est d une importance capitale comme nous allons le voir dans la suite. De tels robots peuvent par exemple se déplacer dans : Un environnement industriel, classiquement structuré et peu dynamique (très peu d événements imprévus dans la planification des actions du robot, qui occasionnent généralement l arrêt complet de la tâche), par exemple le cadre d un centre de production. Fig Exemple de robots mobiles en milieu naturel : les CMU Rovers Un environnement naturel, généralement assez peu structuré tel qu un fond marin, une forêt, la surface lunaire, un chantier, ou même un environnement microscopique. Un environnement familier, plus ou moins structuré mais surtout assez dynamique (ou le robot qui n est pas isolé, est régulièrement confronté à des événements imprévus tels que des modifications fréquentes de son environnement local), par exemple dans un cadre domestique.

79 Fig Exemple de robots mobiles d intérieur : le robot mobile Denning de Georgia Tech Notons par ailleurs que tous ces robots peuvent évoluer dans ces environnements à différentes échelles, que ce soit pour les besoins de l application ou pour des reproduction en laboratoire [Mondada et al.1993]. Ainsi on retrouve à différentes tailles des robots mobiles tout terrain (ex. mini-robot tout terrain du LAMI, figure 3.18 au centre), un des Lego robots du MIT (voir figure 3.18 à gauche) [Donnett et Smithers1991], et des robots qui tendent à devenir de plus en plus petits (voir figure 3.18 à droite) vers des tailles mini voire microscopiques. Ces différentes conditions d application influent bien évidemment sur les techniques mises en Fig Des mini-robots oeuvre pour développer les capacités d autonomie de ces robots. Nous distinguerons ici deux des grandes caractéristiques de l environnement : son degré de structure et son degré d évolution dynamique figure(3.19). Une des difficultés prépondérantes dans le pilotage d un robot mobile est donc due à son environnement. En effet quelles que soient les méthodes de planification utilisées, il ne s agit plus de travailler dans un monde idéal, a priori symbolique et abstrait [Brooks1991c]. Les différences sont importantes selon que l environnement soit réel ou idéal. Dans le premier cas la perception de l environnement est limitée par les performances des capteurs, et sa modélisation, par son évolution pas forcément prévisible.

80 3.6 Conclusion Les robots mobiles à roues étant des systèmes non-holonomes, les contraintes induites ont pour effet de réduire la mobilité des robot mobiles non-omnidirectionnels. La commande d un robot de type char dans son espace d état présente des particularités qui mettent en échec une approche classique par retour d état continu statique et stationnaire. Deux possibilités s offrent alors à l utilisateur du robot : le suivi d une trajectoire définie a priori ou la mise en oeuvre de lois de commande plus sophistiquées. Malheureusement toutes ces lois nécessitent la possibilité de localiser le robot dans son espace d état à chaque instant. Cette propriété, liée à la notion d Observabilité du système, n est malheureusement pas toujours vérifiée et dépend fortement des capteurs et autres instruments de mesure qui équipent le robot. Ce constat a incité certains chercheurs à vouloir affranchir le robot d une navigation contrôlée grâce à une représentation métrique, voire géométrique de l environnement (ex. : [Gat1994]), surtout si le robot ne permet pas une localisation métrique robuste, c est à dire avec une précision suffisante, à chaque instant. Nous pouvons donc distinguer deux grandes catégories de robots mobiles à roues : Les robots mobiles à navigation métrique : Ce sont souvent des robots mobiles évoluant dans un environnement équipé, ou encore les robots mobiles d exploration maintenant une carte (modèle métrique discret ou géométrique) de l environnement. Ces robots nécessitent en général des systèmes de perception évolués (ex. : système de stéréovision, localisateur GPS, télémétrie laser...etc.) ou un environnement de travail équipé de balises artificielles permettant la localisation métrique du robot à tout instant. Les robots mobiles fonctionnant dans un environnement industriel ou naturel (robots d exploration [Wilcox et Gennery1990] [Giralt1993b]...etc.) font très souvent partie de cette catégorie. Les robots mobiles à navigation non-métrique : Ce sont des robots qui ne maintiennent pas de modèle métrique de l environnement et ne nécessitent donc pas de localisateur métrique. Ce choix apparaît intéressant pour des robots équipés de capteurs peu sophistiqués (capteurs proximétriques...etc.), dont les mesures ne permettent pas une localisation métrique robuste. Il s agit par exemple de mini-robots mobiles qu il est très difficile d équiper avec des capteurs sophistiqués (ex. : Le robot mobile Khepera [Guignard et al.93] [Mondada et al.1993]), souvent limités quant aux capacités de traitements embarqués. De tels robots semblent particulièrement adaptés à ce que nous avons appelé un environnement familier. Nous détaillerons le fonctionnement et les caractéristiques de tels robots dans la troisième partie de ce mémoire, dédiée à ce que nous appelons les architectures orientées comportements pour robots mobiles. Nous étudierons comment de tels robots peuvent néanmoins maintenir une connaissance de leur environnement et ne sont donc plus réduits à la seule navigation réflexe. Au delà de ce problème de localisation métrique, celui lié à l évolution dynamique de l environnement demeure. En effet, quel que soit le type de robot mobile, celui-ci doit pouvoir réagir aux modifications de son environnement en un temps raisonnable, ne serait-ce que pour répondre à des critères de sécurité. Ainsi, un concept se dégage des travaux les plus récents sur les architectures de contrôle de robots mobiles, un concept nécessaire à l autonomie du robot : sa Réactivité ou sa capacité à réagir au modifications de son environnement. Dans la seconde partie de cette thèse, nous étudions donc ce concept de Réactivité dans le cadre de la robotique mobile. Nous définissons dans le quatrième chapitre le concept de Réactivité restreinte et celui de Réactivité générale au travers un certains nombres de travaux consacrés à ce sujet.

81 structuré Robotique manufacturière Robotique de manipulation de charges statique Robotique de nettoyage dynamique Robotique d inspection et d exploration Robotique agricole Robotique militaire non structuré Fig Environnements et applications robotiques

82 Architectures et Réactivités 76

83 Chapitre 4 Architectures et Réactivité Restreinte Chapitre 4. La Réactivité Restreinte77 77II. Architectures et Réactivité Le robot de troisième génération se caractérise par le concept d autonomie à la fois opératoire et décisionnelle [Giralt1993a]. Aux regards des résultats obtenus en Intelligence Artificielle avec le développement, entre autres, des systèmes experts, d environnements de programmation temps réel et sur la théorie de la commande avec des méthodes de plus en plus robustes, un grand nombre d outils devrait permettre aujourd hui de doter nos robots d une telle capacité d autonomie. Malheureusement l intégration de ces méthodes et outils ont largement mis en évidence une des difficultés prépondérantes de la robotique : Le robot évolue dans un environnement réel, le plus souvent dynamique et dont la perception est très limitée par un équipement capteur, aujourd hui encore rudimentaire (l oeil de l animal, la sensibilité de la main, sont encore loin d être égalés par les technologies actuelles). Il en découle un concept nécessaire à l autonomie du robot : sa Réactivité ou sa capacité à réagir aux modifications d un environnement, non tel qu il doit être, mais tel qu il est perçu. Une des premières approches de ce concept a été de reproduire des comportements animaux de base, c est-à-dire réflexes, où l essentiel fût de montrer qu un tel comportement n était que le fruit d une programmation simple mais efficace d un robot doté de capteurs très standards. Une telle approche de la réactivité ne permet néanmoins pas d accomplir n importe quelle tâche. Nous la qualifions donc de Réactivité Restreinte, c est à dire limitée à la seule mise en oeuvre de comportements réflexes. 4.1 Introduction L introduction de robots mobiles dans de nombreux laboratoires en intelligence artificielle, a motivé des recherches sur l évolution d un système intelligent en environnement réel. Comme nous venons de le voir dans les chapitres précédents, les causes sont nombreuses pour que l évolution du robot ne soit pas celle initialement prévue par un planificateur classique (voir paragraphe 1.3). En conséquence, l idée d une projection temporelle de la perception et de l action du robot nécessitant des hypothèses trop fortes sur l évolution du robot et de son environnement, a été parfois rejetée. Des résultats sont alors apparus, préconisant des langages de programmation spécialisés dans des boucles de stimulus-réponse avec peu ou pas d état interne. Le programme pour l accomplissement d une tâche spécifique doit alors être écrit par le programmeur du robot. La nécessité d utiliser un planificateur automatique pour piloter le robot est donc remis en cause dans ces applications robotiques. Agre et Chapman ont par exemple montré que des activités a priori complexes pouvaient être le résultat de simples mécanismes réflexes [Agre et Chapman1987]. D autres,

84 tels que Brooks, sont allés jusqu à refuser toute représentation symbolique [Brooks1991d], trop proche d une vision informatique de la robotique, rappelant ainsi les travaux des premiers cybernéticiens. En effet, dans les années quarante, en même temps que les développements des premiers travaux en informatique (voir paragraphe 1.1.3), une autre science de l Information est apparue : la Cybernétique. Née en 1948, [Wiener1948], à la frontière des mathématiques, de l automatique, et de la biologie, c est la Science des relations entre les procédés de communication des informations, de leurs relations et de leur contrôle en vue de comprendre, d étudier et, si possible de créer des lois qui gouvernent un système soumis à des informations. Comme beaucoup de termes techniques d origine américaines, le mot cybernétique vient du Grec kubernêsis, qui désignait le navigateur tenant la barre d un navire. Ses fonctions l amènent à recevoir des informations, à juger celles qui lui sont utiles et à en tirer les conséquences pour gouverner. La cybernétique est une science qui s applique à des systèmes très divers : comportement d un être vivant selon sa neurophysiologie propre, celui des groupes tels que des foules avec leurs migrations, mais également lois régissant les systèmes créés par l homme tel que les machines à calculer ou à traiter l information, les systèmes d automatisation ou de contrôle, le guidage des fusées. Son rôle n est pas de construire les machines elles-mêmes, mais de saisir les principes généraux qui règlent leur emploi et entraînent leur perfectionnement. C est en ce sens qu elle peut sembler plus générale que l informatique, technique du traitement de l information. Ce qui a attiré l attention des techniciens - notamment Wiener, déjà cité, ou Shannon - sur la nécessité de mieux comprendre ce que signifie l information, c est l observation des techniciens suivant laquelle plus une information est complète, plus il est difficile parfois impossible de la transmettre entièrement. Le but de la Cybernétique est donc de rechercher les lois des relations de l information avec le comportement d un système complet. Tout système cybernétique comprend : Un ensemble dit d entrées, qui se maintient en contact avec le milieu où naissent les informations. Un ensemble où celles-ci sont mises en mémoire. Un ensemble dit de traitement, où sont traitées les données fournies ou recueillies par les deux organismes précédents. Un ensemble dit de sorties où apparaîtront les résultats provenant de la chaîne qui précède, celui d un système d utilisation. Très simplement l être humain offre un exemple complet de système cybernétique groupé. Ainsi, pour un conducteur d automobile, les yeux et les oreilles, organes de perception, jouent le rôle de l ensemble dit d entrée, le cerveau présente l ensemble dit de traitement et les muscles permettant d agir sur les différentes commandes du véhicule constituent l ensemble dit de sortie. Les résultats du système peuvent eux-mêmes être réinjectés dans le milieu environnant, ce qui aura une répercussion sur les données introduites à l entrée, ou encore mis en mémoire. C est donc dans l analyse du comportement que la Cybernétique conduit à étudier ce qu est l intelligence d un système ou d une machine. C est le cas du robot qui par nature évolue et agit dans et sur un environnement réel. Ainsi des robots réagissant aux modifications de leur environnement furent développés et testés à la fin des années 40 et début des années 50, dans un esprit essentiellement biologique pour l étude des comportements. N. Weiner et J. Wiesner imaginèrent un simple robot insecte qui pouvait se comporter comme un papillon de nuit attiré par la lumière, ou comme une punaise fuyant la lumière. Le principe est simple et largement détaillé dans l ouvrage Vehicles de Valentino Braitenberg [Braitenberg1986] : après amplification des signaux issus de deux cellules photosensibles situées à l avant respectivement à droite et à gauche du robot mobile à roues, ces derniers viennent inhiber (-) ou exciter (+) le moteur de la roue se situant de leur côté du robot. Au début des années 50, W. Grey Walter de l Institute Neurologique de Bristol en Angleterre construisit un robot tortue similaire à celui de Weiner mais utilisant en plus des capteurs tactiles [Walter1950]. Ce robot évite les obstacles, est attiré par les lumières douces, et fuit les

85 Fig. 4.1 Le véhicule de Walter lumières fortes. Bien sûr ces expérimentations utilisaient les derniers progrès de la technologie, à cette époque ceux de l électronique. Par ailleurs et dès 1943, le neurophysiologue Warren Mac Culloch et le mathématicien Walter Pitts s étaient déjà penchés sur la synthèse de réseaux de neurones en proposant de décrire l activité nerveuse par l algèbre de Boole. Depuis, de nombreuses recherches dans le cadre des réseaux de neurones artificiels ont permis la mise en oeuvre de ces techniques dans le cadre de la robotique. Bien sûr comme toute nouvelle science, la Cybernétique fût controversée, notamment par certains biologistes pour qui elle réduisait la pensée au seul résultat du fonctionnement de systèmes mécaniques. Néanmoins, les spécialistes de machines automatiques avaient trouvé confirmation de l évolution de leur technique vers une notion plus abstraite : l information notamment grâce à la notion de feed-back ou rétroaction. La Cybernétique représente les premisses d une autre approche de l Intelligence Artificielle qui présente un grand intérêt en Robotique dans le cadre de ce que nous appellerons la Réactivité restreinte. 4.2 Définition de la réactivité restreinte Le point commun des différentes approches est, avant tout, une forte réaction à la notion classique de projection temporelle des conséquences de l action sur un modèle construit de l environnement. Des chercheurs se sont penchés sur la programmation d un robot dans un environnement dynamique à l extrême. le monde devient alors son meilleur modèle [Brooks1991d], puisque les seules connaissances utilisables sur l environnement sont les information immédiates des capteurs. La réactivité symbolise alors une relation du type stimulus-réponse avec le monde... L organisme (Le robot) réagit au caractère immédiat des informations capteurs [Arkin1990]. De nombreuses méthodes de programmation ont donc été développées s inspirant d expériences et d observations établies dans des domaines scientifiques tels que l éthologie animale [Schnepf1991] [Brooks1990a], la psychologie [Arbib et Cobas1991] [Arkin1987], la biologie [Braitenberg1986] [Franceschini et al.1991] (voir paragraphe 4.1), ou de travaux en logique floue [Zadeh1965] [Zimmermann1990] [Saffiotti et al.1994b], sur la théorie de la commande [Samson et al.1991]...etc. Toutes ces méthodes ont pour but de programmer un ensemble de processus stimulusréponse qui s apparentent à la notion d actions réflexes. Ainsi cette approche de la réactivité que nous qualifions ici de réactivité restreinte (voir l autre définition 5.2) est souvent qualifiée de purement réactive, référencée capteur, ou encore réflexe. Cependant, certains de ces travaux permettent aujourd hui d élaborer des comportements plus sophistiqués que de simples comportements purement réactifs à partir de méthodes d adaptation et/ou d apprentissage. Nous soulignerons, autant que possible, ces perspectives dans le prochain paragraphe.

86 4.3 Les différents domaines d inspiration On peut distinguer deux grandes catégories de méthodes de programmation de comportements purement réactifs. Des règles de réaction à la situation courante du robot présentant une certaine discontinuité dans l action du robot (action réflexe). Des asservissements sur des mesures capteurs présentant une certaine continuité dans l action du robot (action asservie sur des capteurs). Cette différence a néanmoins tendance à s estomper avec des temps de réponse de plus en plus bas. Ainsi un asservissement discrétisé pour sa mise en oeuvre peut se rapprocher de l utilisation d une série de couples condition-action Les Sciences de l Observation De l Ethologie animale L éthologie animale, ou l étude comparée des comportements des animaux, a été introduite comme une discipline à part entière grâce aux travaux de Charles Otis Whitman et Oskar Heinroth qui découvrirent que certaines espèces animales ne présentaient pas seulement des similitudes morphologiques mais aussi des caractéristiques comportementales communes [Schnepf1991]. R. Brooks, voulant quitter les techniques classiques basées sur des représentations des connaissances, fût un des premiers à s inspirer de l Ethologie animale pour développer un concept d architecture de contrôle de robot mobile. Le principe alors adopté par Brooks, est de faire coïncider à chaque comportement du robot un sous système capteurs-actionneurs appelé couche. capteurs niveau de compétence N niveau de compétence 2 S niveau de compétence 1 S actionneurs Fig. 4.2 Architecture de Subsomption L interaction des différentes couches détermine alors la complexité du comportement observé du robot. Dans le cas de l architecture basée sur le mécanisme de subsomption, Brooks opte pour une hiérarchie entre les couches. Les couches du niveau supérieur sont alors basées sur les couches des niveaux existants. De plus, chaque couche a la capacité d influencer la couche du niveau juste au dessous 4.2. Nous détaillerons plus loin cette architecture qui reste en pratique une des plus utilisées dans la conception de robot animats. Depuis d autres, estimant que l architecture de Brooks manquait de flexibilité de par cette structure fixée des relations entre les comportements, ont proposé d autres modèles d organisation comportementale. Et même si certains chercheurs tendent néanmoins à conserver une hiérarchie comportementale [Anderson et Donath1990], d autres ont essayé de trouver une organisation des comportements qui ne soit plus hiérarchisée [Maes1989] [Schnepf1991] [Steels1993].

87 N. Tinbergen [Tinbergen1966] proposa une autre organisation des comportements basée sur l inhibition latérale rétropropagée 4.3. Motivation capteurs actionneurs Motivation capteurs actionneurs Motivation capteurs actionneurs Fig. 4.3 Organisation de comportements basée sur l inhibition latérale rétropropagée Le modèle consiste en plusieurs couches qui ne sont pas organisées hiérarchiquement. Chaque couche correspond à un comportement du robot. Conceptuellement, chaque couche est composée de deux entités : une pour évaluer le niveau d excitation de la couche fonction des informations capteurs et de l état interne de motivation (niveau d excitation), l autre pour accomplir l action du robot. La motivation et les informations capteurs participent à l établissement du niveau d excitation de chaque couche. Chaque couche n est pas réellement active tant que son niveau d excitation n a pas dépassé un certain niveau seuil de déclenchement de l activité correspondante. Une fois le seuil atteint, la couche comportementale déclenchée entre en concurrence avec les autres couches actives. Cette compétition est basée sur l inhibition latérale rétropropagée où chaque couche inhibe les autres couches. Ainsi, la couche ayant le niveau d excitation le plus haut imposera son activité. Le réseau de sélection de l action décrit par P. Maes ou encore les systèmes dynamiques de L. Steels [Steels1993] sont fortement inspirés de cette approche. Cette approche est donc utilisée pour la programmation du mini-robot mobile CBOT de l Université de Bruxelle, dans le cadre de l expérimentation et de l étude d un ecosystème artificiel peuplé de mini-robots mobiles CBOT [Steels1990] 4.4. Un langage de programmation, PDL, a été développé par Steels et Vertommen afin de faciliter l implantation de cette approche sur les différents robots De la Psychologie S inspirant des premiers travaux de Grey Walter, Braitenberg [Braitenberg1986] propose de concevoir des liaisons directes capteurs-actionneurs sous forme de fils excitateurs ou inhibiteurs, selon l influence que doit avoir le capteur sur l actionneur (schéma 4.5). Le robot possède donc deux réseaux de connections, un par moteur. En modifiant la structure de ces connections, le véhicule peut exhiber différents comportements tels que l attraction ou la répulsion fonction des mesures capteurs. Selon la nature des ces derniers, le robot peut facilement être attiré ou repoussé par la chaleur (capteurs thermiques), par la lumière (capteurs photosensibles), ou par des obstacles (capteurs proximétriques). Cette approche présente d énormes avantages de robustesse. En effet, étant donnée sa simpli-

88 Fig. 4.4 Le CBOT capteurs actionneurs Fig. 4.5 Véhicule multisensoriel cité, elle est tout à fait adaptée pour générer des comportements réflexes fiables chez le robot. Par contre, il est très difficile de complexifier un tel système. Braitenberg présente néanmoins 14 classes de véhicules jusqu aux robots intégrant enchaînement de pensées (véhicule 12), prévoyance (véhicule 13), Egotisme et optimisme (véhicule 14). Malheureusement beaucoup de ces robots n ont pas été mis en oeuvre, à cause en grande partie de limites technologiques. Par exemple, à partir du véhicule 7, le système utilise des fils Mnémotrix. Ces fils ont pour propriété d avoir une résistance très grande, à moins que les deux composants qu ils connectent ne soient en même temps traversés par un courant électrique. Dans ce cas, la résistance du Mnémotrix décroît et reste basse, pendant un certain laps de temps, pour revenir petit à petit à sa valeur initiale. Ce fil n existant pas, seules des émulations ou simplifications de tels mécanismes sont aujourd hui possibles, qui utilisent bien souvent des réseaux de neurones artificiels (ex. : l oeil de mouche artificiel de Franceschini [Franceschini et al.1991]). Dans le même domaine, la méthodologie de la théorie des schémas [Arbib1981] permet d établir une relation entre la perception et l action d un système fonctionnant dans un environnement réel, en décomposant son comportement global en unités fonctionnelles appelées schémas. Un schéma est alors une codification mentale de l expérience qui comprend le moyen organisé de percevoir cognitivement et de répondre à une situation complexe ou un ensemble de stimuli [Merriam-Webster1984] [Arkin1987] S inspirant de cette approche, R.C. Arkin propose la notion de schéma moteur [Arkin1987] [Arkin et MacKenzie1994] comme unité de base dans la spécification du comportement d un robot mobile 4.6.

89 capteurs Schéma moteur 1 K 1 Schéma moteur 2 K 2 actionneurs K N Schéma moteur N Fig. 4.6 Architecture basée sur le concept de schéma moteur Les schémas moteurs peuvent représenter de nombreuses activités motrices comme aller vers le but, aller droit devant, éviter l obstacle...etc. Des comportements plus complexes résultent alors de la combinaison de ces différents schémas réagissant aux informations capteurs. Les schémas moteur sont formulés à l aide d une méthodologie basée sur des champs de potentiel. Chaque schéma produit un vecteur dérivé de son but et de l état courant de l environnement perçu. Les sorties des schémas sont sommées, soumises à des contraintes de normalisation, puis transmises au robot. La valeur transmise correspond alors à la direction et vitesse courante adoptées par le robot. Il est intéressant de noter que les schémas ne sont pas forcément liés à la perception de l environnement, mais peuvent aussi être influencés par l état interne du robot dans le cadre d un contrôle homéostatique [Arkin1989] par exemple. Cette approche se retrouve alors en marge de ce que nous avons qualifié de réactivité restreinte. Le principe d interaction entre les schémas, basé sur une combinaison des actions, est assez flexible et surtout paramétrable (coefficients des différents schémas moteur dans la sommation de leur sortie). Ceci permet d utiliser des techniques d adaptation, voire d apprentissage du comportement du robot fonction des informations issues de l environnement [Clark et al.1992] [Ram et al.1992] De la Biologie La biologie synthétique pousse l analogie encore plus loin. Il ne s agit plus de reproduire de simples schémas psychologiques, mais de simuler ou émuler des systèmes composés de cellules élémentaires biologiques : les neurones. La structure d un neurone artificiel s inspire fortement du modèle biologique. Son modèle est constitué de deux grandes fonctions : la fonction de sommation (σ) des entrées E i et la fonction de normalisation F en sortie 4.7. Le neurone réalise alors la fonction S j = F( N i=1 K j,i.e i ). Différents types de neurones artificiels se distinguent de par leur fonction de normalisation F. Le neurone de Mac Culloch et Pitts [McCulloch et Pitts1943] utilise, par exemple, une fonction de seuillage qui transmet la valeur 1 en sortie si la somme pondérée des entrées dépasse le seuil, 0 sinon. D autres variantes du modèle utilisent une fonction de normalisation du type signe 1 (fonction seuil à sortie 1 ou -1), linéaire saturée ou encore sigmoïde (F(x) = 1+exp(β.x) ). Cette fonction de normalisation introduit donc une non-linéarité dans la propagation de l information. Un réseau de neurones va donc permettre d établir une connexion entre capteurs et actionneurs. Les neurones sont organisés en couches à l intérieur du réseau. La première couche correspond aux entrées et la dernière aux sorties. Le réseau peut alors comprendre un certain nombre de couches intermédiaires dites cachées 4.7. La programmabilité de tels réseaux n étant pas leur qualité première [Stender et Addis1990], des méthodes d adaptation et/ou d apprentissage (algorithmes génétiques par exemple [Floreano et Mondada1994] [Michel et Biondi1994]) sont la plupart du temps utilisées pour établir le bon réseau.

90 E 1 E 2 E 3 K j,2 K j,1 K j,3 K j,n Σ F Sj E N capteurs actionneurs entrées couches cachées sorties Fig. 4.7 Architecture neuronale Les Sciences de la Déduction De la Théorie de la Commande La commande référencée capteur définie par B. Espiau [Samson et al.1991], en utilisant le formalisme de la fonction de tâche de C. Samson, présente une contribution dans le domaine de la théorie de la commande à la réactivité restreinte. La fonction de tâche tout d abord, consiste à exprimer en termes de régulation, les actions effectuées par le robot. Dans cette approche, l espace de la tâche est défini comme étant l ensemble des grandeurs à réguler. Cet espace peut être l espace des coordonnées articulaires comme dans l approche classique mais également tout autre espace représentatif de l action que l on désire faire effectuer au robot (par exemple l espace des vitesses généralisées de la caméra d un robot mobile [Rives et Pissard-Gibollet1992] [Pissard-Gibollet1993], ou encore la distance et l angle d un mur par rapport au robot pour le suivi de mur [Ait-Abderrahim1993]). Il s agit donc pour décrire une fonction de tâche, d exprimer un vecteur d erreur à réguler dépendant des variables de commande et du temps sur un horizon temporel [0,T], par exemple e(q,t) = f(q - q d (t)), où q d est la fonction dans le temps qui donne à chaque instant les coordonnées articulaires désirées d un bras manipulateur. En ce qui concerne la commande référencée capteur, le vecteur d erreur de la fonction de tâche correspondante doit pouvoir s évaluer à partir des seules mesures capteurs. La tâche est alors entièrement décrite dans l espace des mesures capteurs par une application du temps s (t), comme mesures capteurs désirées. La fonction de tâche e(q,t) est alors de la forme : e(q, t) = D(t).(s(r, t) s (t)) (4.1) En effet, l espace de configuration d un corps rigide étant la variété différentielle de dimension 6 appelée traditionnellement SE 3 isomorphe à R 3 SO 3 la situation d un capteur est caractérisée par un vecteur r SE 3. Par hypothèse, un capteur est alors entièrement défini par la donnée d une application différentiable fonction de sa situation ( SE 3 ) et du temps dans R p (s(r,t)). Quant à la matrice D(t) dite de combinaison, elle est définie par l utilisateur.

91 La matrice jacobienne associée à la commande référencée capteur correspondante est alors : J r = e r = e s. s r = D(t).L T (4.2) avec s r = L T(r, t). La matrice D (en générale indépendante du temps) est alors choisie afin que DL T soit de rang plein le long de la trajectoire du robot. Ainsi le système de dt = J r. dr dt est contrôlable. La commande référencée capteur regroupe alors l ensemble des tâches correspondant à des asservissements sur les mesures capteurs. Les zones virtuelles déformables développées par R. Zapata et appliquées à la robotique mobile par C. Novales [Novales et Zapata1994] présente une autre approche de la commande pour la réactivité restreinte, mieux adaptées à l évitement réflexe d obstacles. Le principe de cette méthode consiste à définir une forme géométrique, appelée zone virtuelle déformable (ZVD), entourant le robot mobile à piloter. L aire et le profil de cette zone dépendent de deux types de paramètres : les grandeurs qui modélisent l état cinématique du véhicule et les mesures proximétriques de l environnement données par les capteurs embarqués sur le robot. Cette zone ZVD peut alors subir deux types de déformations : des déformations contrôlées dues à la commande et des déformations non-contrôlées dues à l évolution de l environnement. L algorithme de commande consiste alors à minimiser les déformations de la ZVD en optimisant la vitesse et la direction instantanée du robot mobile [Novales1994] De la Logique Floue L utilisation de la logique floue [Zadeh1965] [Zimmermann1990] [Andres et al.1990] pour la commande d un robot peut se concevoir comme un prolongement de la logique booléenne classiquement utilisée dans la programmation par condition - action [Brown et al.1994]. En effet, la description de la commande est, a priori, dans les deux cas similaire et symbolique. Pourtant, l utilisation de la notion de fonction d appartenance à un ensemble permet dans le cas de la logique floue et par le biais des deux mécanismes de fuzzyfication et de défuzzyfication de doter le robot d un comportement continu et robuste moins caractéristique d une prise de décision basée sur une représentation symbolique. C est la raison pour laquelle nous présenterons la logique floue comme méthode de programmation plutôt sub-symbolique du comportement d un robot. (4.3) capteurs Degrés d appartenance IF IF THEN THEN Centre de gravité actionneurs Fuzzyfication IF THEN Defuzzyfication Fig. 4.8 Commande floue La commande floue utilise donc la logique floue pour programmer une fonction d entrée/sortie entre les mesures capteurs et les consignes moteurs, suivant un comportement désiré du robot. Par exemple, au LRP [Bourdon et al.1994] [Pons1992] utilisent cette approche avec succès

92 pour programmer leur robot mobile ROME0 afin qu il évite les obstacles et suive une cible. L évitement d obstacles résulte d un modèle local qualitatif des réactions du robot à tel ou tel type d environnement. [Fourie et Deist1994] programment, par exemple, le contrôleur local de leur robot à l aide de 27 règles seulement. Plus généralement, Saffiotti [Saffiotti et al.1994b] propose une programmation systématique de tous les comportements du robot sous forme de règles floues au sein d un contrôleur flou. Ainsi le niveau d éxecution présente l avantage d être programmable par simple ajout ou retrait de règle du type Si - Alors, rendant ainsi plus simple l interfaçage avec le niveau de planification Conclusion Nous avons ici présenté différentes méthodes de programmation de comportements purement réactifs (réflexes), selon qu il s agissait de la mise en oeuvre d actions asservies sur les capteurs, ou d actions réflexes. Nous pouvons néanmoins remarquer qu une action asservie sur les capteurs peut être obtenue par la concurrence de plusieurs actions réflexes. En effet, le but d une action asservie sur les capteurs est de maintenir une partie des mesures capteurs autour d une certaine valeur, alors que le but d une action réflexe est en général de fuir cette valeur. Prenons deux exemples, autour de l action asservie sur les capteurs qu est le suivi de mur. Dans [Mataric1990] par exemple il s agit d utiliser deux actions réflexes, qui sont aller vers le mur si celui-ci est trop loin, s éloigner du mur si celui-ci est trop prés. Dans [Arkin1987], cette action asservie n est pas programmée. Néanmoins en reprenant le formalisme des schémas moteur qui sont semblables à une approche basée sur des champs de potentiel [Khatib1986], on se rend bien compte que l application simultanée de deux champs répulsifs et attractifs sur la mesure de la distance du robot au mur peut engendrer l asservissement de cette mesure sur une valeur donnée. En conclusion, les actions réflexes pourraient être des composantes des actions asservies. C est un constat intéressant que nous reprendrons dans le chapitre 8. Le grand privilège de la programmation de robots à ce niveau de réactivité est bien évidemment la robustesse induite par l absence de représentation de l environnement du robot [Brooks1991c]. L intelligence induite se rapproche alors plutôt de celle de l insecte, c est-à-dire qui ne peut être évaluée dans un cadre formel, mais laissée à l appréciation d un observateur face au comportement du robot. L intelligence de tels robots est alors dans l oeil de l observateur [Brooks1991c]. Le robot n est plus un outil, mais un insecte artificiel, un animat Vers des architectures pour Animats Un exemple : l architecture Subsomption, ce robot et son évolution Une des architectures très utilisées dans la programmation comportementale d un robot a été introduite par Brooks du laboratoire d Intelligence Artificielle du M.I.T.. Cette architecture de Subsomption présente une alternative au paradigme classique perceptionmodélisation-planification-exécution. L architecture Subsomption de Brooks est une approche distribuée du contrôle d un robot par des comportements liés aux mesures capteurs. La stratégie d une telle architecture est d intégrer l utilisation des capteurs dans la programmation implicite de comportements du robot. Les comportements sont simplement des couches de systèmes de contrôle qui s exécutent en parallèle, déclenchées par les mesures capteurs. Le problème de conflit sur les mesures capteurs est alors déplacé vers un conflit entre les comportements induits. La fusion entre les mesures capteurs est alors remplacée par une fusion entre les sorties des comportements (fusion comportementale). Un schéma d arbitrage basé sur des priorités est alors utilisé pour établir le comportement dominant pour un scénario donné.

93 robot busy init stereo travel candidate integrate integral startlook whenlook NIVEAU 2 navigation vers un espace ouvert look path pathplan heading encoders i s heading wander avoid busy status NIVEAU 1 heading déplacements aléatoires robot sonar map feelforce force runaway heading s 15 turn heading encoders forward NIVEAU 0 évitement d obstacles collide halt robot Fig. 4.9 Architecture de Subsomption Une architecture matérielle A l origine [Brooks1986], tous les comportements s exécutent réellement en parallèle, même si les comportements de plus haut niveau ont la possibilité d inhiber temporairement des comportements de plus bas niveau. Quand le comportement de plus haut niveau n est pas déclenché par les mesures capteurs, il n inhibe pas de comportements de plus bas niveau. Ce dernier contrôle alors le robot. Ainsi, cette architecture est réellement parallèle, et les capteurs sont directement utilisés par toutes les couches comportementales. Il n y a pas de modèle central et géométrique du monde. Remarquons ici, qu aucun comportement n appelle un autre comportement comme sous-routine. Une architecture logicielle Plus récemment, afin de faciliter l utilisation d une telle approche sur des architectures matérielles programmables (utilisant des microprocesseurs) pour des développements plus élaborés [Maes1989], cette architecture est devenue un paradigme logiciel [Brooks1991b]. En effet, chaque couche comportementale peut être représentée par une machine à état fini étendue (AFSM : Augmented Finite State Machine), c est-à-dire comme un ensemble de registres et de compteurs, ou d horloges, connectés à une machine à état fini conventionnelle. La nouvelle architecture de subsomption utilise alors un langage de description de ces AFSM basé sur des règles compilables. Un compilateur utilise alors l ensemble des descriptions des AFSM pour générer un code spécifique dédié au microprocesseur cible et simulera de fait le parallélisme entre les comportements. La figure 4.2 nous montre comment se décompose l architecture du robot mobile du laboratoire d Intelligence Artificielle du M.I.T. : Allen. Ce robot explore alors un environnement non connu tout en évitant les obstacles et sans planifier ses déplacements [Brooks1986]. Ce comportement est le résultat de trois couches comportementales. La couche du niveau 0 permet

94 au robot d éviter les obstacles à partir des mesures des capteurs ultrasons. La couche du niveau 1 à pour vocation d orienter le robot dans une direction aléatoire afin qu il erre, c est-à-dire qu il ne sombre pas dans un déplacement cyclique. La couche du niveau 2 utilise un système de vision pour détecter les couloirs et donc orienter le robot dans leur direction. Le mécanisme de subsomption mis en oeuvre entre ces couches comportementales permet d alterner ces trois comportements et ainsi d obtenir un comportement plus sophistiqué. L architecture de Subsomption a été utilisée sur plusieurs robots du M.I.T. [Flynn et Brooks1989] et d autres instituts. Par exemple [Connell1987] utilise cette architecture sur son robot Tom, un modèle réduit de voiture radio guidée, doté de capteurs télémétriques infra-rouges, dont le comportement est similaire à celui précédemment détaillé. Par la suite l utilisation de la nouvelle architecture subsomption a permis de nombreuses expérimentations [Brooks1990a] sur des robots très différents comme Allen [Brooks1986], Tom et Jerry [Connell1987], Herbert [Brooks et Flynn1989], Genghis [Brooks1989], Squirt [Brooks et Flynn1989], Toto [Mataric1990], Seymour [Brooks et Flynn1989], Rug warrior [Jones et Flynn1993], les Gnat robots [Flynn1987]...etc [Stoney et al.1992]. Genghis est par exemple un robot à six pattes d un kilogramme, tandis que les Gnats robots sont des micro-robots entièrement conçus sous technologie VLSI. Un des robots les plus ambitieux jamais conçu basé sur une telle architecture est probablement Herbert, muni d un bras manipulateur, de 30 capteurs infra-rouges de proximité, d un télémètre laser, un système vidéo à une image par seconde, et de plusieurs microprocesseurs. Herbert est alors capable d errer dans des bureaux en évitant les obstacles et en suivant les murs, de détecter en temps réel des bouteilles de soda et de les saisir. La plupart de ces robots accomplissent donc des tâches sophistiquées, sans pour autant utiliser de représentation interne de l environnement, à l exception peut être de Toto dans le cadre des travaux de Mataric [Mataric1991] [Mataric1992b]. Ils ont donc le mérite de démontrer les compétences qui peuvent être développées par un robot purement réactif, à partir d une collection de comportements réflexes Limites et perspectives Comme nous l avons vu dans les premiers paragraphes de ce chapitre, d autres approches peuvent être utilisées pour la programmation purement réactive du robot. Que se soit les couches de Brooks [Brooks1986], les schémas moteur de Arkin [Arkin1987], ou encore les systèmes dynamiques de Steels [Steels1991], l aspect innovant de ces approches réside dans la distribution du contrôle. C est à partir de ce constat que Brooks oppose décomposition verticale et horizontale, ou en d autres termes architectures comportementales et fonctionnelles. Il est intéressant détection du but capteurs exteroceptifs errer actionneurs éviter les obstacles Fig Décomposition basées sur des comportements réflexes ici de remarquer que les architectures comportementales se sont pour la plupart limitées à la seule mise en oeuvre de comportements réflexes dans le cadre de la réactivité restreinte pour la conception d insectes artificiels ou d animats Pourtant au regard des premiers travaux de Brooks [Brooks1986], des couches plus cognitives basées sur la construction de cartes de l environnement 4.11 étaient prévues dès l origine. Il est donc tout à fait envisageable de conserver une décomposition comportementale de l application sans pour autant se limiter aux seuls comportements réflexes et se priver de toute représentation interne, comme nous le verrons dans le chapitre 7, au sujet des architectures orientées comportement que nous qualifierons de

95 capteurs exteroceptifs raisonner sur le comportement des objets de l environnement identifier les objets de l environnement surveiller les modifications de l environnement construire une carte de l environnement explorer actionneurs errer éviter les obstacles Fig Décomposition basées sur des comportements de tous niveaux complètes. Quoiqu il en soit, la démonstration est ainsi faite de l intérêt que représente un couplage bas niveau capteurs-actionneurs au cours de l évolution d un robot. Cette seule approche ne permet néanmoins pas d accomplir toutes les tâches, étant entendu que seul un but simple ou opportuniste peut être poursuivi par un robot en l absence de représentation interne. Ainsi ces travaux ont souvent débouché par la suite sur l étude d éco-systèmes artificiels mettant en oeuvre des plate-formes multi-animats (robots dotés de comportements réflexes) où éthologie et même sociologie sont au coeur du problème [Brooks1991a], et malheureusement peu sur la mise en oeuvre de comportements plus élaborés, malgré quelques tentatives [Brooks et Stein1993]. Le robot doit donc gérer les modifications de son environnement, non seulement à un niveau que nous qualifions de réflexe (celui de la réactivité restreinte), mais aussi à tout niveau où cette information s avérera pertinente, dans le cadre d une définition plus générale de la réactivité.

96 Chapitre 5 Architectures et Réactivité Générale Chapitre 5. La Réactivité Générale90 90II. Architectures et Réactivité 5.1 Introduction Après le quatrième chapitre consacré à la Réactivité dite Restreinte, c est à dire celle qui est mise en oeuvre au niveau réflexe de l action, le deuxième chapitre est consacré à la Réactivité au sens plus général, c est-à-dire dès que le robot prend en compte l évolution de l environnement. Après avoir défini le terme de Réactivité Générale, nous distinguerons trois niveaux de réactivité du robot : réflexe, tactique et stratégique. Par la suite nous présentons les différentes approches qui sont utilisées dans la programmation d un robot à un niveau de réactivité tactique, à partir de langages temps réel réactifs, ou à partir de méthodes issues de la planification réactive. 5.2 Définition de la réactivité générale La Réactivité est un terme largement utilisé en Informatique pour le Temps Réel [Stankovic1988] [Berry1989], en Intelligence Artificielle pour de nouvelles méthodes de planification [Swartout1987] [Georgeff et Lansky1987], mais aussi et surtout pour traduire un comportement du robot lié à l évolution de son environnement [Chatila1993] [Flynn et Brooks1989]. Dans tous ces cas, le point commun reste : la capacité de réagir aux modifications de l environnement concerné, avec un temps de réponse adapté, qu il s agisse dans le cadre de la programmation temps réel réactive de réagir aux modifications des données du programme, dans le cadre de la planification réactive, de réagir aux modifications de la situation de l agent, ou dans le cadre d un comportement réactif, de réagir aux modifications de l environnement perçues par le robot. Nous traiterons ici le problème de la réactivité en robotique, c est-à-dire la capacité pour le robot de percevoir son environnement et d agir en fonction de son évolution. Un robot sera dit réactif s il est capable de détecter les événements pertinents et d y fournir une réponse dans un temps compatible avec les vitesses d évolution de l environnement et de la tâche. [Chatila1993]

97 Il est intéressant de remarquer que cette définition ne limite pas les comportements réactifs aux seuls comportements purement réactifs du robot. Nous n opposerons donc pas Intelligence Délibérative [Simmons1994] et Réactivité. En effet, un comportement réactif dépend de la dynamique de l environnement. Dans le cas d un environnement quasi-statique, la capacité du robot à assimiler son environnement à partir de ses seuls capteurs (dans un schéma classique de perception-modélisation-planification-exécution) peut suffire à doter le robot d un comportement suffisamment réactif. A l inverse dans le cas d un environnement fortement dynamique, le robot ne devant exhiber que des comportements réflexes, les deux notions de réactivité se rejoignent. La réactivité est donc nécessairement présente à des niveaux multiples de l application Différents niveaux de réactivité G. Giralt du LAAS [Giralt1993a] définit le concept de réactivité aux trois niveaux suivants : Les boucles directes capteurs-actionneurs : Ces boucles comprennent les actions réflexes (exceptions) et les processus asservis (boucles sensori-motrices). Les processus décisionnels fermés : Il s agit de processus agissant fonction du contexte avec un temps de réponse borné. La planification : Une modification de l environnement entraînant un changement du modèle de l environnement occasionne alors une replanification. La réactivité restreinte n est donc qu une partie de ce que l on peut appeler la réactivité générale du robot et correspond au premier niveau de réactivité. Il s agit du niveau de réactivité réflexe. Le troisième niveau de réactivité est le plus classique puisqu il s agit de remettre en oeuvre une planification basée sur de nouvelles hypothèses dues aux modifications récentes de l environnement (cf. les premières architectures de contrôle 1). Il s agit du niveau de réactivité stratégique. Nous abordons donc maintenant, un niveau de réactivité intermédiaire, plus proche du concept de réactivité au sens temps réel du terme, se traduisant par une réaction au contexte. Il s agit du niveau de réactivité tactique. 5.3 Réactivité Tactique La prise de décision du robot fait donc appel à différents niveaux de considération de l information capteur. Nous venons de voir dans le chapitre précédent combien il est important que le robot puisse réagir aux simples signaux capteurs, à un niveau purement réflexe. Les architectures présentées dans le chapitre 1, n utilisent quant à elles, l information des capteurs exteroceptifs pour une représentation du monde suffisamment détaillée. Elles planifient alors des enchaînements d actions à un niveau stratégique, basé sur la prédiction. La réactivité à ce niveau consiste alors à modifier la représentation du monde fonction des informations capteurs et à replanifier les actions futures. Un niveau intermédiaire de réactivité et de prise de décision apparait entre ces deux extrèmes [Swartout1987] [Radford et al.1993]. Ce niveau est en général chargé de déterminer l action immédiate du robot fonction des informations limitées et incertaines provenant des capteurs. Il se caractérise donc à la fois par une prise de décision temps réel et la gestion d une représentation du contexte de la tâche ou du comportement induit du robot La Réactivité Temps Réel Le terme de Systèmes Réactifs a été introduit par A. Pnueli pour désigner : Des systèmes temps réel qui réagissent à des entrées provenant de façon répétitive de leur environnement en produisant eux-mêmes des sorties vers cet environnement. Ainsi A. Pnueli distingue les Systèmes Transformationnels chargés de fournir des résultats à partir des données en entrée et les Systèmes Réactifs entièrement pilotés par l occurrence d événements asynchrones provenant de l environnement [Harel et Pnueli1985]. Les sorties d un

98 Système Réactif sont donc fournies à des instants contraints par les dynamiques du procédé piloté, ce qui a priori est vrai par définition pour tout Système Temps Réel Les Approches Temps Réel classiques De nombreux outils sont utilisés pour la programmation temps-réel, nous citerons : Les automates déterministes ou machines d état fini, qui sont souvent utilisés pour les petits noyaux réactifs. Ces automates exploitent au mieux les possibilités systèmes de la machine et donnent des résultats d exécution particulièrement performants par leur temps de réponse. De plus il existe des outils de preuves mathématiques des programmes engendrés. Cependant la conception et la maintenance de ces automates sont particulièrement fastidieuses. Les outils de GRAFCET inspirés des réseaux de PETRI sont largement utilisés dans la programmation des contrôleurs temps-réel en particulier. Ils sont en général spécifiques à une machine donnée et ont donc des difficultés à communiquer entre eux ou avec les machines standard du marché. Les moniteurs temps-réel sont des gestionnaires de tâches séquentielles très répandus. Ils fournissent une forme de concurrence en éclatant un système complexe en plusieurs tâches plus simples. Les primitives de communication sont souvent de bas niveau ce qui les rend spécifiques d un système donné et rend difficile le portage de l application. Le comportement interne du programme est souvent non déterministe. Les outils de programmation et de mise au point sont souvent pauvres. Les langages de programmation concurrente tels qu Ada ou OCCAM sont plus élaborés. Ils sont prévus pour une programmation hiérarchique et modulaire. Leurs mécanismes de gestion des tâches et de communication sont inclus dans les spécifications du langage ce qui les rend portables. La sémantique de leurs primitives de gestion du temps est souvent opaque et les temps de réponse du système sont difficiles à contrôler voir imprévisibles. Par exemple, en Ada l instruction parallèle select permet la concurrence mais est nondéterministe. Les exécutifs temps réel tels que VRTX, PSOS, OS9, VxWorks,..., répondent tous plus ou moins à une norme appelée SCEPTRE [Bureau d orientation de la Normalisation en Informatique1984] définie par le bureau d orientation de la Normalisation en Informatique. SCEPTRE définit un certain nombre d outils (ex. : sémaphores) nécessaires à la programmation temps réel. Cette amélioration fournit un plus grand confort de programmation mais ne met pas du tout l accent sur les outils de preuve suceptibles de renforcer le déterminisme des applications Temps Réel. Les approches classiques, obligent donc bien souvent le concepteur à choisir entre déterminisme et confort de programmation. Le déterminisme ayant par ailleurs une importance capitale quand il s agit de programmer un système piloté par des événements, la plupart des Systèmes Réactifs sont programmés grâce à des automates à états finis, voire par GRAFCET (distributeurs de billets de banque, etc...). Les premières applications robotiques n en sont pas exemptes (ex. : supervision des chaînes de montage, dotées de bras manipulateur programmés en mode Pick and Place ) Les Langages Réactifs La problématique Temps Réel des Systèmes Réactifs, consacre une grande part à la validation des programmes et à la nécessité de programmer de manière déterministe. Au delà du confort de programmation, une phase de validation est alors nécessaire. Un certain nombre de formalismes et de langages sont alors apparus, qualifiés de Langages Réactifs, car dédiés à la programmation de systèmes réactifs, parfois utilisés en Robotique. Ces langages sont de deux types synchrones ou asynchrones selon que les hypothèses soient plus ou moins fortes sur les instants d occurrence des événements.

99 Les langages réactifs synchrones : L approche synchrone est basée sur l hypothèse de synchronisme suivante : toute réaction du système est supposée instantanée et donc atomique dans toute l acceptation du terme. Autrement dit, les entrées du système sont simultanées aux sorties. En réalité, cette instantanéité doit être comprise d une manière quelque peu laxiste : la réaction doit être instantanée par rapport à l environnement (qui doit rester constant durant le temps de réaction). Le langage Esterel [Berry et al.1987] : est un langage impératif qui décrit des modules de gestion de signaux, et qui permet la génération de l automate équivalent. L attente, la réception et le traitement des signaux constituent les moyens de décrire le système réactif modélisé. Le langage SML : est un langage de style impératif permettant la manipulation d événements. Conçu pour la réalisation de circuits électroniques, il est basé sur une horloge universelle correspondant à celle du circuit. Les automates générés sont alors traduits en automates hardware. SIGNAL : Un programme signal est une énumération chronologique de signaux qui sont à chaque instant présents ou absents. Une horloge est associée à chaque signal et l étude des relations entre signaux (calcul sur les horloges du système) permet de générer l automate synchrone. LUSTRE : est un langage déclaratif fonctionnel fondé sur la description de flots de données. Les événements du système sont représentés par des suites de valeurs synchronisées par une horloge universelle. Des horloges différentes liées à d autres variables peuvent être définies et permettent la notion de temps multiforme. Esterel, Signal et Lustre fournissent un code intermédiaire (le code OC) commun et utilisent donc les mêmes outils de validation. Nous verrons dans la suite comment Esterel est utilisé dans le cadre d applications robotiques. Le langage réactif asynchrone ELECTRE : Est un des rares langage réactif asynchrone. En effet, le procédé contrôlé est censé évoluer avec des dynamiques inconnues du système de contrôle : les instants d occurrence des événements lui sont imprévisibles et peuvent se produire en cours d exécution des tâches (les entités ici ne sont plus des actions atomiques mais des tâches de durée non nulle). Le langage ELECTRE est un langage non procédural mais comportemental [D. Creusot, J. Perrault et O. Roux19 c est-à-dire permettant l expression non des séquences d opérations internes de chacune des tâches de l application à programmer, mais l évolution externe de ces tâches (démarrage, interruption, reprise, terminaison), en fonction des divers événements susceptibles de les affecter (signaux provenant de l environnement ou d autres tâches). Le langage permet l expression des comportements admissibles des tâches les unes par rapport aux autres (séquentiels, parallèles, exclusifs, répétitifs) ainsi que des tâches par rapport aux événements (préemption, activation). La compilation d un tel langage peut alors se faire sous forme d automate à file. Mais le grand intérêt de ce langage est bien sûr de fournir un cadre formel propice à la validation du programme Application à la robotique : un exemple ORCCAD Le système ORCCAD de l INRIA est un exemple d architecture utilisant le langage réactif Esterel dans des applications robotiques [D. Simon, B. Espiau, E. Castillo et K. Kapellos1992]. Il est notamment utilisé comme architecture de Contrôle du robot mobile ANIS [Pissard-Gibollet1993]. Il repose sur une décomposition en trois niveaux : Un niveau système, Un niveau commande,

100 Tache module consigne Tache module Tache module loi de commande Un niveau application. Le niveau système correspond à l architecture matérielle et au système temps-réel informatique indépendant de l application. Le niveau commande correspond à la description et à l implémentation des actions élémentaires de la commande d un robot. Une action élémentaire est modélisée sous la forme d une Tâche Robot (T-R). D un point de vue fonctionnel, une Tâche Robot est composée d une loi de commande , d un générateur de trajectoires en ligne et d un ensemble d observateurs. D un point de vue comportemental, elle est constituée d un ensemble de Tâches Modules connectées entre elles. Les Tâches Modules (T-M) sont des tâches informatiques élémentaires représentant les briques de base nécessaires à la construction d une Tâche Robot 5.1. La communication entre les Tâches Modules s effectue à travers des ports typés. Cette commurobot capteurs exteroceptifs Fig. 5.1 Architecture fonctionnelle orientée tâche nication, ainsi que la synchronisation entre les Tâches Modules, s appuie sur les services fournis par l exécutif temps-réel local ainsi que sur des services de communication distants. Le système ORCCAD fournit un outil d aide à la conception et à la vérification de Tâches Robot. Le niveau application est le niveau le plus extérieur correspondant à un niveau utilisateur. Ce niveau fournit un langage de programmation d application dit de niveau tâche. Les objets manipulés sont des Tâches Robot et des signaux. Les Tâches Robot sont fournies à l utilisateur sous forme de bibliothèques d objets dont l élaboration s appuie sur la Conception Orientée Objet. Le programmeur définit les relations logiques et temporelles entre les actions élémentaires (T-R) en vue de la réalisation de la structure de commande désirée. Le programme d application décrit grâce au langage synchrone Esterel, génére par compilation un Automate d Application. Pour le niveau décisionnel d une application la Tâche Robot peut être envisagée comme atomique. De plus celle-ci échange des informations avec un superviseur qui synchronise et/ou conditionne son activation. Dans l approche ORCCAD, ces deux aspects sont gérés de la même manière. Ainsi, la Tâche Robot peut être considérée comme un système réactif au sens des langages temps réel synchrones. Des signaux sont alors émis d un automate à état fini qui spécifie le comportement de la Tâche Robot. Cet automate appelé RTA, est codé en utilisant le langage Esterel. Ces signaux sont émis par des Tâches Modules spécifiques appelées Observateurs. Ils sont classés en : Pré-conditions : L occurrence d un tel signal est nécessaire pour démarrer la tâche d asservissement. Il peut être un signal de synchronisation ou issu de l environnement, en général de capteurs. Exceptions : Ce type de signal est émis par un observateur en cas de détection d erreur. Post-conditions : Ce sont des signaux émis par l automate lui-même en cas de terminaison correcte de la tâche, ou des signaux relatifs à l environnement. Le traitement des exceptions caractérise la réactivité tactique du système, c est- à- dire les réactions fonction du contexte. Trois types de réactions sont alors possibles : une réaction

101 de type 1 se traduisant par une modification des paramètres dans une Tâche Module (ex. : modification de gains), une réaction de type 2 engendrant l activation d une nouvelle Tâche Robot, une réaction de type 3 nécessitant l arrêt complet du système Conclusion La Réactivité temps réel symbolise donc l aptitude d un système à répondre aux événements provenant de son environnement et ce de manière déterministe afin de vérifier a priori son bon comportement (l absence d interblocage entre modules par exemple en toutes circonstances, c est- à-dire pour toute séquence d événements autorisée par l application). Par contre, aucune hypothèse n est a priori faite sur l environnement. Il peut s agir d un environnement parfaitement connu tel que les boutons poussoir d une montre, ou la souris d un ordinateur. L aspect variable et incertain de l environnement d un robot ajoute une autre contrainte à la réactivité tactique : l information sur l environnement n est pas complète, et en l absence d hypothèse sur les conséquences de l action du robot, la prise de décision tactique ne peut se faire en général que sur une simple représentation du contexte de la tâche ou de la situation du robot La Réactivité liée au Contexte Suite aux difficultés rencontrées dans les premiers travaux de planification classique des déplacements d un robot mobile (en partie dû à un environnement assez dynamique), certains développements proposent plutôt de programmer les réactions du robot qui tendront vers le but, pour toutes les situations dans lesquelles il peut se trouver. Cette approche présente l avantage d être suffisamment flexible à l exécution pour être utile malgré la variabilité de l environnement Des règles conditions-actions : PENGI, le Softbot PENGI [Agre et Chapman1987] développé par P.E. Agre et D. Chapman, est peut être un des premiers softbot. En fait, c est un programme qui est censé remplacer un joueur dans le célèbre jeu d Arcade PENGO. PENGO se joue dans un labyrinthe à deux dimensions composé de blocs de glace. Le joueur pilote les déplacements d un pingouin dans ce labyrinthe à l aide d une manette de jeu. Des abeilles pourchassent le pingouin et le tue dès qu elles se trouvent à côté. Le pingouin et les abeilles peuvent modifier le labyrinthe en poussant les blocs de glace pour les faire glisser. Si un bloc de glace glisse vers le pingouin ou une abeille, il ou elle meurt. Le but du jeu pour le pingouin est bien sûr de tuer toutes les abeilles. L activité du Pingouin dans PENGI est définie par des règles du type condition-action. Même si PENGO n est pas aussi compliqué que l environnement réel d un robot, PENGI, démontre alors qu un système réactif peut se comporter de manière très sophistiquée sans notion classique de plan. Le système PENGI se situe même à la limite de la réactivité restreinte puisque l hypothèse qui est faite ici est que l activité courante du Pingouin de PENGI est exclusivement basée sur le contexte courant dans PENGO, sans aucune mémoire de son état. Le principe reste néanmoins celui d une gestion contextuelle de l activité, c est-à-dire vérifier que dans toutes les situations, le Pingouin saura déterminer l action adaptée, donc son activité. Dans le cas de PENGI, ces situations ne correspondent qu à l état courant de l environnement perçu le système de surveillance d HILARE Il en est de même pour le système de surveillance du robot HILARE. Le système de contrôle du robot HILARE du LAAS est doté d un niveau intermédiaire entre le niveau d exécution et le niveau de planification, qui adapte le comportement du robot aux nouvelles situations que caractérisent les événements asynchrones [Noreils1990]. La structure de ce niveau intermédiaire est à la fois centralisée et distribuée et se compose de quatre types d entités : le module superviseur, le module exécutif, le module de diagnostic et de recouvrement d erreurs, et le système de surveillance [Noreils et Chatila1989a]. Les événements relatifs à l environnement de la mission en cours, aux actions et à l état du robot

102 sont pris en compte grâce au système de surveillance. Celui-ci est composé de moniteurs de surveillance et du gestionnaire de surveillance, qui gère et arbitre une collection de ces moniteurs. Ces derniers jouent un rôle clef dans le déroulement d une mission et son exécution. Leur but est de vérifier un ensemble de conditions sur les données capteurs et de déclencher s il y a lieu, une réaction immédiate du robot. Formellement, un moniteur de surveillance est équivalent à une règle conditions-actions : MNTR < conditions > actions où les conditions portent sur des valeurs capteurs ou des variables d état du robot et les actions appartiennent à l ensemble des réactions possibles du robot. Ces règles peuvent participer à la gestion de l état du robot (ex. : contrôle du niveau des batteries), mais aussi correspondre à la détection de caractéristiques de l environnement local du robot (coins, segments...etc), soit sa situation. Dans le cadre de la réactivité tactique, d autres travaux utilisent une représentation plus développée de la situation du robot, dépassant largement la simple représentation locale de l environnement courant du robot. Une des difficultés consiste alors à limiter le nombre d états possibles Le langage de contrôle de robot ROBOL/0 ROBOL/0 est un langage de description de comportements de robot basé sur la représentation du mode d action [Suzuki et Yuta1991]. Il est notamment utilisé pour la programmation du robot japonais Yamabico de l Université de Tsukuba. Dans un programme ROBOL/0, le mode d action est programmé de la manière suivante : MODE <nom du mode> procedure-0; WAIT WHEN condition-1 EXEC procedure-1 NEXT <mode nom 1> WHEN condition-2 EXEC procedure-2 NEXT <mode nom 2> WHEN condition-n EXEC procedure-n NEXT <mode nom n> Le mode d action est alors défini par un nom unique dans le programme. Le nom de ce mode d action est nom du mode, qui est utilisé comme référence par les autres modes d action quand un changement de mode d action apparaît. La condition i est la fonction logique qui dépend de la valeur des mesures capteurs courantes. La procédure i est exécutée quand la condition i est vraie. Le mode nom i est le nom du nouveau mode d action après l exécution de la procédure i, engendrée par la vérification de la condition i. Un mode d action correspond donc à un ensemble de règles conditions-actions. Néanmoins le fait qu il existe plusieurs modes d action et la possibilité programmée de changer de mode confère au système un minimum de mémoire, contrairement aux deux exemples précédents. La réactivité tactique du robot n est alors plus basée exclusivement sur l environnement courant et immédiat du robot, mais aussi sur le mode d actions dans lequel il se trouve. Dans le prolongement de cette démarche, qui consiste à complexifier la représentation de la situation du robot et à définir pour chacune des possibilités d actions appropriées, l approche basée sur l automate situé a pour mérite de présenter un cadre formel adapté L automate situé La notion d automate situé est une alternative aux méthodes classiques de traitement des connaissances [Rosenschein1985], basée sur la corrélation qui peut exister entre les états d une machine au sens informatique et les états du monde. L automate situé fait donc correspondre l information contenue dans les états internes d une machine, aux états externes de l environnement dans lequel la machine est située. Le principe en est le suivant : la machine dans un état,

103 s, est considérée comme détenant l information,φ, si et seulement si à chaque fois que cette machine est dans l état s, la proposition φ est vérifiée par l environnement. E T A T perception action Environnement Fig. 5.2 Automate situé La machine choisie pour implémenter un tel automate est une machine à état fini (figure 5.2). Celle-ci présente alors l avantage de correspondre à un circuit séquentiel fixe [Kaebling et Rosenschein1990]. La fonction f calcule la nouvelle valeur de l état interne de la machine à partir des valeurs en entrée i, et de l ancien état interne. La fonction g calcule les valeurs en sortie de la machine à partir de l ancien état interne et des valeurs en entrée. La fonction f peut être alors considérée comme le composant de perception de la machine. Elle est responsable de l extraction des informations nécessaires à la prise de décision à partir des données capteurs. La fonction g, quant à elle, est le composant qui décide l action à exécuter fonction de toute l information perceptuelle disponible. Deux langages de programmation sont utilisés pour générer un tel circuit séquentiel : Ruler et Gapps, tous deux basés sur Rex. Rex est un simple langage basé sur Lisp pour la description de circuits séquentiels. La structure récursive de Lisp est largement utilisée pour la création de circuits importants à partir de peu de lignes de code Rex. Les deux langages Ruler et Gapps, sont donc des langages de plus haut niveau. Le premier est tout particulièrement dédié à la programmation du composant de perception (f). Le second est mieux adapté au composant action (g). Cette approche a été mise en oeuvre sur le robot Flakey de l Université de Stanford (SRI). Nous détaillerons par la suite l architecture générale de ce robot [Kaebling1987]. La méthode reste néanmoins basée sur une programmation ad hoc, et ne permet donc pas d appréhender systématiquement toutes les situations possibles auxquelles se trouvera confronté le robot. Une nouvelle approche de la planification dans des domaines assez incertains, pourrait donc résider dans l analyse de toutes les situations possibles puis la mémorisation de l action à adopter pour chacune d elles, et ce par avance. Il s agirait alors de plans universels Vers des plans universels Cette notion fût introduite par M.J. Schoppers pour répondre aux problèmes liés à la navigation d un robot mobile dans un environnement incertain [Schoppers1987]. La différence entre la planification classique et universelle est représentée par la figure 5.3. Dans l approche classique de la planification, le problème est posé par un état initial spécifique et un but donné. Les plans sont alors un ensemble de situations particulières souvent ordonnées grâce à la représentation des effets de l action. Dans la planification universelle, le problème n est spécifié que par les conditions du but (pas d état initial et pas d état final unique). Le planificateur ne présage pas un enchaînement spécifique des événements. Il anticipe par contre sur toutes les situations possibles et prédétermine les réactions à ces situations. Cette approche très controversée a fait l objet de plusieurs articles dans le journal AI magazine de l hiver M.L. Ginsberg y démontre que la généralisation de cette méthode

104 Description des actions Situation désirée Situation initiale Planification Situation d échecs projections Perception Plan Ordonnancement oui/non Situation courante Echecs actions Exécution Planification Classique (Approche Stratégique) Description des actions Planification Plan Perception actions Situation courante Exécution Situation désirée Planification universelle (Approche Tactique) Fig. 5.3 une nouvelle approche de la planification débouche sur des hypothèses peu réalistes, telles que la négligence du temps nécessaire à la génération d un plan universel, la taille de la table engendrée, en résumé de la croissance exponentielle de la complexité de cette approche [Ginsberg1989b]. Il n en demeure pas moins qu une représentation simplifiée des situations du robot peut permettre d éviter cette explosion combinatoire tout en satisfaisant l application [Schoppers1989] [Ginsberg1989a]. PENGI en est l exemple extrême puisque la simple correspondance entre la situation courante et immédiate du softbot et l action à effectuer, lui permet d exhiber une activité cohérente Conclusion Dans un environnement structuré, le pré-traitement des règles de comportement, c est-àdire associer dès cette étape, hors ligne, des couples situation-but à des tâches, des actions ou des plans, ne pose pas de problème étant donné un nombre de situations relativement limité qui peuvent se rencontrer. Dans le cas d un environnement non structuré et très variable cette approche n est utilisée que partiellement, ne pouvant se substituer au niveau de planification générale. Il s agit alors de mémoriser des plans pré-établis particulièrement adaptés à une tâche ou un comportement donné. Le LAAS, par exemple, décrit le comportement du robot selon le contexte, à partir d une base de règles. Ces règles propositionnelles sont compilables en un arbre de décisions efficace grâce au système KHEOPS [Ghallab et Philippe1988]. Elles définissent une application entre un ensemble de situations et un ensemble de buts (voire même un ensemble de tâches). Ces méthodes ont largement contribué au développement de systèmes experts temps réel embarqués [Brunessaux1992]. Payton propose la notion de plan internalisé, représenté sur une carte à deux dimensions de l environnement d un robot mobile, avec pour chacune des positions possibles du robot (les situations sont ici les positions), la consigne de déplacement en vitesse et direction du robot (les réactions prédéfinies) [Payton1990] [Payton et al.1990].

105 Ces méthodes confèrent donc au robot un niveau de réactivité tactique, c est-à-dire la possibilité de réagir instantanément à toutes les situations possibles par des actions susceptibles de le rapprocher du but. Cette approche est malheureusement limitée par la représentation des situations du robot qui elles, ne seront jamais idéales ou parfaites. Des architectures plus récentes que celles présentées dans le premier chapitre, ont intégré ce niveau de réactivité à une planification classique des tâches d un robot Plus de robustesse dans l approche délibérée : Architecture TCA L architecture TCA consiste en un ensemble de modules spécifiques qui communiquent par messages via un module central générique : le Contrôleur de Tâche 5.4 [Simmons1992]. Ce module est à la fois chargé de la gestion des ressources, des arbres de tâches et du routage des communications entre modules spécifiques. Ce module coordonne donc les différentes tâches de perception, planification, et exécution de plans. Il gère le routage des messages à partir des informations qui lui sont transmises par le module spécifique émetteur (nom du module destinataire, type et format des données). TCA implémente quatre types de messages : Des messages de requête pour obtenir des informations d un autre module. Des messages de commande pour l exécution d actions. Des messages de surveillance pour la détection d événements asynchrones. Des messages de but pour obtenir d un module un plan hiérarchique. Les plans à exécuter sont organisés sous forme d arbres hiérarchiques de tâches. Les différents modules de l application peuvent alors manipuler ces arbres de tâches par le biais des messages de but, de commande et de surveillance, en ajoutant ou enlevant dynamiquement des tâches, en différant leur exécution, mais aussi en prévoyant la réponse à des événements asynchrones (modules de récupération en cas d échec) par des actions ou séquences d actions prédéfinies. Ce mécanisme de réponse aux événements asynchrones confère au robot une certaine réactivité AMBLER Planificateur de démarche Planificateur de récupération de jambe Module de récupération d erreur Planificateur d appuis Contrôleur Contrôle de Tâche Table de distribution de Message gestionnaire de ressources Arbres de Tâche Interface Utilisateur SCANNER LASER Interface Scanner Gestionnaire de buffer d images Gestionnaire de la Carte locale de Terrain Fig. 5.4 Architecture TCA temps réel, lui permettant de réagir en un temps borné aux événements asynchrones de l appli-

106 cation. La réactivité est donc ici considérée comme la gestion des comportements exceptionnels par opposition aux comportements nominaux correspondant à l exécution délibérée du plan [Simmons1994]. Il s agit donc d une réactivité plutôt tactique. Malheureusement cette architecture ne confère pas au robot la possibilité d exhiber des comportements réflexes issus de processus asservis par rétroactions, étant donné le grand nombre de communications que cela pourrait induire au niveau du contrôleur de Tâche. Cette architecture intègre donc deux niveaux de réactivité tactique (déclenchement de comportements exceptionnels) et stratégique (replanification), mais pas réflexe Elle est néanmoins utilisée avec succès sur deux plate-formes robotiques : le robot mobile Hero et le robot marcheur Ambler, dans des environnements, certes peu dynamiques, mais réels donc en partie incertains. 5.4 Architectures classiques et Réactivité Générale Introduction Les travaux que nous venons de présenter dans ce chapitre et le précédent, nous montrent l impact d un environnement réel donc incertain, sur les méthodes mises en oeuvre pour doter un robot d une certaine autonomie. Dans le cas d un environnement idéal, les conséquences de l action étant parfaitement connues, il est possible d établir le meilleur plan d actions pour atteindre un but. Dans le cas d un environnement réel, le plan d actions doit être en permanence rectifié par les informations capteurs sur l évolution de l environnement, malgré l incertitude liée à la perception limitée du robot. Nous distinguons ainsi trois niveaux logiques de prise en compte de ces informations : réflexe, tactique et stratégique, que l on retrouve dans un certain nombre d architectures de contrôle de robot mobile Architectures Planificateur-Contrôleur d Exécution Comme nous l avons vu dans le premier chapitre, nous pouvons distinguer deux grandes approches dans les architectures de contrôle classiques pour robot mobile. La première que nous regroupons dans les Architectures Planificateur-Contrôleur d exécution et la seconde dans les Architectures Hiérarchiques. Les architectures Planificateur-Contrôleur d exécution se focalisent plutôt sur le partage réflexion - exécution dans la gestion de l activité d un robot. Elles font en général appel à des méthodes de planification générales et à un contrôleur d exécution centralisé, comme dans l architecture du robot SHAKEY. Nous présentons ici les évolutions de cette approche qui intègre bien les trois niveaux de réactivité réflexe, tactique et stratégique Architecture HILARE du LAAS Le projet HILARE du LAAS s inscrit dès 1977 dans la problématique de la Robotique de Troisième Geńération [Giralt et al.1984]. Le robot de troisième génération est alors informellement défini comme une machine dotée de la capacité de raisonner sur la tâche à accomplir et de mettre en oeuvre pour son exécution des relations intelligentes entre perception et action [Giralt1993a]. L architecture de contrôle qui en résulte s articule donc sur deux niveaux, un niveau décisionnel et un niveau fonctionnel, tous deux connectés par un niveau intermédiaire de contrôle d éxecution [Chatila et al.1992]. Un haut niveau de planification générale : Ce niveau accomplit la planification générale de tâche. Il est basé sur IxTeT, un planificateur temporel qui peut raisonner sur des relations temporelles symboliques et numériques entre différentes dates [Ghallab1993]. Il produit un ensemble de tâches partiellement ordonnées avec des contraintes temporelles. La représentation d IxTeT est basée sur une logique réifiée.

107 UTILISATEUR ET/OU PLANIFICATEUR PLAN D ACTIONS COMPTE-RENDU, DONNEES CONTROLEUR CENTRAL REQUETE COMPTE-RENDU EVENEMENT DONNEES PERCEPTION / MODELISATION / COMMANDE MODULE MODULE MODULE MODULE MODULE MODULE MODULE MODULE MODULE MODULE MODULE MODULE MODULE SUBSTRAT DE MODULES Fig. 5.5 Architecture HILARE Ce niveau fait partie intégrante de l architecture HILARE. Le Superviseur de plan est alors chargé de surveiller l exécution des tâches mises en oeuvre dans le plan et vérifier que leur exécution a bien l effet prévu. La représentation de la tâche pour le Superviseur de plan est un automate à état fini qui modélise à la fois l exécution nominale de la tâche mais aussi des situations non-nominales ou exceptions et les réponses adaptées. Un niveau intermédiaire de contrôle d exécution : C est un niveau de planification contextuelle et de contrôle [Noreils et Chatila1995]. Il reçoit les tâches qu il transforme en séquences d actions en utilisant sa propre interprétation et ses capacités de planification locale, et supervise l exécution de ces actions. Ce niveau peut être plus réactif aux événements asynchrones et aux conditions environnementales car basé sur des procédures prédéfinies. Il est composé d un superviseur d action qui interagit avec le haut niveau, le planificateur local d affinement tâche et le niveau d exécution. Le planificateur d affinement de tâche transforme les tâches en séquences d actions, en tenant compte des modalités d exécution. Le temps de réponse de ce niveau est borné étant donné que le planificateur d affinement est en fait beaucoup plus une sélection de l action fonction du contexte dans une structure précompilée. Le niveau intermédiaire gère les ressources du robot et exécute les missions qui lui sont fournies par le planificateur ou un opérateur humain. Il est composé de quatre modules : Le module superviseur qui contrôle l exécution du plan dans sa globalité. Pour cela, il prend en compte les événements qui influencent son déroulement, et, en fonction de ceuxci, envoie au module exécutif les étapes de la mission. Il peut également interagir avec le niveau de planification. Le module exécutif dont le rôle est en fait similaire à celui d un système opératoire : gestion de l exécution des missions et des ressources du robot; détection des conflits d accès aux différents modules. En cas d erreur dans l exécution de la mission, il s adresse au module

108 de diagnostic et de recouvrement d erreurs. Le module de diagnostic et de recouvrement d erreurs assure l identification des erreurs à partir d une liste d anomalies répertoriées à priori [Noreils1990]. Il est également chargé, si une erreur est détectée, de produire les amendements au plan en cours. Le gestionnaire de surveillance qui gère des moniteurs de surveillance, en fonction des besoins de la mission. Le niveau de planification interprète les buts pour produire les missions devant être exécutées. Un niveau fonctionnel : Ce niveau est composé d un ensemble de modules embarqués implémentant les fonctions pour percevoir et agir, incluant différents traitements spécifiques nécessaires à la perception et le contrôle de trajectoires. Ce niveau est supervisé par un contrôleur central d exécution. Le temps de réponse de ces modules qui implémentent des algorithmes à durée polynômiale est borné. Ils intègrent aussi des réactions réflexes programmables (temps constant) aux événements. Le niveau fonctionnel met en oeuvre les fonctionnalités de base du robot à travers trois types de modules : Les modules capteurs et effecteurs. Un module capteur transforme les données brutes afin d en extraire des caractéristiques symboliques, en fonction du niveau d interprétation choisi. Il est également responsable de la détection des événements pouvant survenir à tout moment. Pour cela, il utilise des moniteurs de surveillance dont l activité est coordonnée par le gestionnaire de surveillance du module, celui-ci étant lui même programmé par le système de contrôle en fonction des tâches à effectuer. Un module effecteur interprète et exécute les ordres qui lui sont fournis par les autres modules de la structure, ou le système de contrôle. Les unités fonctionnelles réalisent un ensemble de fonctions spécifiques à la structure en combinant les moyens mis à leur disposition (eg. localisation par la vision). Les servoprocesseurs fournissent un lien dynamique entre la perception et l action [Noreils et Chatila1989b]. Ils sont utilisés pour asservir les déplacements du robot sur les données sensorielles (eg. suivi de parois). Les trois niveaux de réactivité se retrouvent donc dans cette architecture, capables de mettre en oeuvre des asservissements sur les capteurs (niveau réflexe), de sélectionner l action fonction du contexte (niveau tactique), et de replanifier une mission sur des situations non-nominales (niveau stratégique) Vers une décomposition hiérarchique du niveau décisionnel : l Architecture ROME0 du LRP ROME0 est un robot mobile de type char, développé au Laboratoire Robotique de Paris [Delaplace1991]. Cette architecture présente certaines similitudes avec HILARE, mais se caractérise par une décomposition plus hiérarchique du niveau décisionnel (planification à deux niveaux). Cette architecture repose donc sur quatre niveaux [Pons1994] qui sont : Au plus haut niveau (niveau 4), le module de spécification de mission permet à un utilisateur de programmer le robot au niveau tâche et de créer une bibliothèque de missions réutilisables. Au niveau 3, les modules de planification et stratégique décomposent la mission courante du robot en une séquence totalement ordonnée d actions exécutables par le niveau inférieur. Le niveau 2, exécute et contrôle le plan d actions, gère les ressources robotiques (module gestionnaire d action et module d exécution), réagit à des situations particulières (module de surveillance et module expert en réaction) et émet un diagnostic d erreur vers le niveau supérieur le cas échéant. Au niveau 1, une bibliothèque de commandes est utilisée par le niveau supérieur pour piloter le robot.

109 Opérateur NIVEAU 2 Spécification de Mission Module Spécification de Mission Librairie de Missions NIVEAU 3 Planification de Mission Planification et Séquencement Replanification Modèle du Monde NIVEAU 2 Exécution et Contrôle Surveillance Exécution et Contrôle Diagnostic d erreur NIVEAU 1 Contrôle bas niveau Librairie de Primitives-action capteurs actionneurs Fig. 5.6 Architecture ROME0 du LRP Les deux niveaux supérieurs [Schaeffer1993], 3 et 4, créent un plan global et optimal de la mission. Toutes les actions contenues dans ce plan sont transmises au robot afin d être exécutées. Le niveau 2 d exécution et de contrôle assure l exécution des actions du plan dans l environnement en utilisant les primitives d actions du niveau 1. La bibliothèque de commande comprend des primitives d action prédéfinies éventuellement référencées capteurs telles que : suivi de mur ultra-sonore, suivi de droites, recule, avance, tourne, évitement automatique d obstacles,...etc. Cette architecture présente bien trois niveaux de réactivité : réflexe grâce aux boucles réflexes de certaines primitives d action du niveau 1, tactique grâce à la boucle réaction élaborée par l expert en réaction du niveau 2, stratégique grâce à la replanification de mission du niveau Architectures Hiérarchiques Systématiques Les architectures inspirées des premières architectures hiérarchiques, sont plus focalisées sur la représentation par niveaux d abstraction d un modèle de l environnement à la base géométrique. La décomposition d une mission passera alors par différents niveaux de planification spécifiques à la navigation (basés sur une représentation sémantique, topologique et géométrique de l environnement) jusqu au plus bas niveau d exécution. Nous présentons ici les évolutions de cette approche qui intègre bien les trois niveaux de réactivité réflexe, tactique et stratégique, grâce en grande partie, à l utilisation dès le plus bas niveau de l information des capteurs exteroceptifs et à l introduction du parallélisme entre les niveaux (alors couches).

110 Architecture NASREM du NIST L architecture NASREM (NASA/NIST Standard Reference Model) a été proposée par le NIST comme un standard pour le contrôle de robot [Albus et al.1987]. Elle généralise des modèles classiques d architecture reposant sur une décomposition de l ensemble du système de commande en couches hiérarchiques [Lumia et al.1990]. A l origine conçue pour la télérobotique de manipulation, NASREM est devenue une référence pour d autres systèmes robotiques. De manière très générale, cette architecture fait intervenir six couches hiérarchiques allant de la transformation des coordonnées et asservissements à la planification de mission. A chaque niveau, une transformation générique est effectuée sur l objectif. Le principe de cette décomposition peut se voir comme une abstraction temporelle, chaque niveau traitant des données et des événements avec une fréquence plus faible que le niveau inférieur. A son tour, chaque couche représente systématiquement trois entités : Une entité de traitement des données sensorielles Une entité de modélisation de l environnement Une entité de décomposition en tâches TRAITEMENT CAPTEURS MODELE DU MONDE DECOMPOSITION DE TACHE CONTROLE OPERATEUR SYSTEME GLOBAL DE DONNEES TC 6 MM 6 DT 6 TC 5 MM 5 DT 5 TC 4 MM 4 DT 4 MISSION DE SERVICE DECOMPOSITION MISSION TACHE TC 3 MM 3 DT 3 MOUVEMENTS ELEMENTAIRES TC 2 MM 2 DT 2 PRIMITIVE TC 1 MM 1 DT 1 ASSERVISSEMENT CAPTEURS ACTION Fig. 5.7 Architecture NASREM L entité de décomposition en tâches est un générateur de tâches à réaliser par le robot. Certaines des informations nécessaires à la réalisation de ces tâches sont fournies par l entité de modélisation de l environnement qui correspond à l estimation la plus robuste de l état de l environnement. L entité de modélisation se sert des données acquises et traitées par l entité de traitement des données sensorielles. L intérêt de ces trois entités est de créer un découplage entre les informations nécessaires pour effectuer la décomposition en tâches et le mode d acquisition et de traitement des données qui est spécifique au robot commandé. Le concept de système de données globales doit permettre à tout module de communiquer avec n importe quel autre module du système. L interaction entre l opérateur humain et le système de commande s effectue à travers les modules de l interface opérateur. L architecture NASREM permet donc d intégrer l information exteroceptive à chaque niveau, et donc de permettre une réactivité réflexe, tactique et stratégique.

111 RAMINA d Alcatel Alsthom Recherche, hiérarchique dans la représentation Dans le cadre du projet RAMINA, Alcatel Alsthom Recherche développe une autre architecture en couche. Celle-ci est destinée à un robot mobile devant évoluer à l intérieur de bâtiments pour y effectuer des missions spécifiées de manière symbolique. La structure de contrôle décrite dans [Chochon1991] présente une architecture originale, dite orientée objet (figure??), composée de sous-système fonctionnels, et dans laquelle la fonction de contrôle est distribuée de façon totalement transparente. Les sous-systèmes fonctionnels sont décrits, implantés et gérés Couche Sémantique Mission Gestionnaire de Mission Modèle Symbolique du Monde Gestionnaire de Modèle Planification de Mission Objectif Contrôleur d Exécution de Mission Couche Topologique Topologie du Monde Mise à jour Espace ouvert Planification de Chemin Chemin Contrôle de parcours de chemin Couche Géométrique Carte du Monde Modèle Stochastique du Monde Positionnement du Robot Mise à jour Carte du Monde Modèle Grille du Monde Modélisation d obstacle Trajectoire Planification de Trajectoire Contrôle d Exécution de Trajectoire Couche des Mouvements Cible de Référence Génération de Trajectoire Contrôle rétroaction Commande Attractive Evitemment d obstacle Commande Réactive Contrôleur de mouvement Couche Capteurs et Effecteurs Carte locale Laser Télémètre Laser Carte locale Ultrasons Capteurs Ultrasons Registre Odométrie Odométrie Interface moteurs Fig. 5.8 Architecture RAMINA comme des objets. Pour structurer son architecture, H. Chochon définit différentes couches, lesquelles regroupent les sous-systèmes qui raisonnent à un même niveau d abstraction. L accès aux différents sous-systèmes fonctionnels est assuré par un mécanisme de type client/serveur, qui permet de leur connecter soit d autres sous-systèmes, soit des modules chargés des fonctions de contrôle de base. Les trois niveaux de réactivité sont assurés ici par la couche des mouvements pour le niveau réflexe (Commandes attractives et réactives), par la couche géométrique pour le niveau tactique (Contrôle d Exécution de trajectoires), par la couche topologique et sémantique pour le niveau stratégique (Contrôle d Exécution de mission et de parcours de chemin).

112 5.5 Conclusion Un robot mobile est un système intelligent fonctionnant dans un environnement incertain. Il en découle un concept nécessaire à son autonomie, sa réactivité. Le robot doit être en effet capable, de modifier son comportement en fonction de stimuli par le biais de comportements réflexes, en fonction de sa situation par le biais de réactions tactiques, tout en maintenant un haut niveau de planification suceptible de replanifier une mission suite à de fortes modifications de l environnement. Toutes les architectures ne respectent pas ces trois niveaux de réactivité, c est-à-dire de prise en compte de l information capteur. Le tableau 5.5 récapitule à ce sujet les caractéristiques de toutes les architectures que nous venons d étudier jusque là. Type d architectures Nom Réactivité Réactivité Réactivité Réflexe Tactique Stratégique Architectures Planificateur, SHAKEY Contrôleur d Exécution HILARE ROME0 Architectures Meystel Hiérarchiques NASREM RAMINA Architectures basées CMU ROVER sur un Blackboard NAVLAB KAMRO Hetero Helix PANG YOUPI Architectures TCA Contrôleur Centralisé Architectures Subsomption Purement Réactive Chacune de ces architectures traduit une évolution vers un plus grand confort de programmation et/ou une augmentation des performances du robot. Ces architectures peuvent être classées en différentes approches, et dans le cadre d une même approche présenter des caractéristiques différentes. Nous remarquons donc qu en ce qui concerne les architectures planificateur-contrôleur d exécution et les architectures hiérarchiques, certaines intègrent bien trois niveaux de réactivité. Le but du chapitre suivant sera donc de présenter notre contribution dans l utilisation du concept de blackboard pour la programmation de comportements tactiques du robot et l intégration de comportements réflexes. Le blackboard utilisé représente alors la situation du robot et permet de programmer ses réactions tactiques.

113 Chapitre 6 Blackboard et Réactivité : Une architecture réactive basée sur le concept de blackboard Chapitre 6. Une architecture réactive basée sur le concept de blackboard II. Architectures et Réactivité 6.1 Blackboard et Réactivité Ce chapitre présente notre approche pour la programmation d un robot mobile à un niveau de réactivité tactique tel que nous l avons défini dans le chapitre précédent. Dans le but de conserver une certaine cohérence dans notre architecture de contrôle, nous conserverons un système à base de blackboard, néanmoins modifié pour répondre aux nouvelles contraintes de réactivité Réactivité temps réel d un système Multi-Experts La première difficulté quant à l utilisation d un système à base de blackboard dans une application temps réel est son temps de réponse [Mouaddib et al.1992]. En effet, il s agit très souvent d utiliser un système multi-experts dans un environnment susceptible d évoluer dans le temps et donc d en faire un système multi-experts temps réel, étant entendu que : Peut-être qualifiée de temps réel, toute application mettant en œuvre un système informatique dont le fonctionnement est assujetti à l évolution dynamique de l état d un environnement qui lui est connecté et dont il doit contrôler le comportement [Groupe de Réflexion Temps Réel CNRS1988]. C est ainsi que le maintien de la cohérence des informations du système et que la nécessité de fournir une solution même partielle dans un intervalle de temps donné, imposent surtout au système de pouvoir raisonner en temps contraint. Le système REAKT, basé sur une architecture blackboard [Lalanda et al.1992] est dédié à des applications temps réel. Certaines améliorations ont alors été apportées aux systèmes afin de favoriser le contrôle de son temps de réponse. Ainsi, les sources de connaissances sont interruptibles et équipées d un mécanisme de déclenchement temps réel, de plus la notion d intention permet une meilleure gestion de la focalisation d attention dans la stratégie de contrôle. ATOME-TR est un shell blackboard temps réel issu de l extension du système blackboard ATOME. Il fournit un nouvel ensemble d outils pour gérer les problèmes spécifiques au temps réel : une interface appropriée pour communiquer avec le monde externe, le parallélisme et

114 l interruptibilité des sources de connaissances, la datation des hypothèses et des événements. Nous pouvons néanmoins remarquer que la réactivité de ces systèmes reste au niveau stratégique telle que nous l avons définie au chapitre précédent. En d autres termes, l évolution du monde externe se traduit ici par l emission d événements qui pourront être pris en compte dans le cadre du raisonnement du système. Cette gestion capteurs/événements est assurée par l Intégrateur dans ATOME-TR. Les systèmes blackboard temps réel restent néanmoins des sytèmes de représentation des connaissances et sont particulièrement dédiés en robotique à la planification classique de l activité. 6.2 Architecture BBS Introduction Le modèle de blackboard est à l origine, un schéma pour organiser les étapes d un raisonnement et les connaissances du domaine pour établir une solution à un problème (voir paragraphe 2.2). L état de la solution est représenté par des données sur le blackboard. L évolution vers la solution correspond alors à une modification des données sur le blackboard par les différentes sources de connaissances du système. Les systèmes à base de blackboard appliqués à un environnement réel donc dynamique, ([Lalanda et al.1992], [Brunessaux et al.1992] [Occello et Demazeau1994]...etc.) connaissent de nombreuses difficultés pour maintenir une représentation du monde cohérente sur le blackboard par rapport à l environnement réel du système. Dans le cas d un environnement très dynamique nous pouvons même envisager que le maintien de cette cohérence devienne le problème crucial et ne permette plus de pratiquer plus d une étape de raisonnement opportuniste entre chaque modification des hypothèses sur le blackboard. Remarquons que ce constat est tout à fait similaire à celui précédemment fait (voir paragraphe 4.1) qui consistait à refuser toute projection temporelle des conséquences des actions d un système De l espace des solutions à l espace des situations Nous introduisons ici un concept de blackboard dual des systèmes classiques, dont la vocation n est plus d établir une solution à un problème (un plan d actions pour un robot par exemple) mais tout simplement de gérer l activité du système fonction de sa situation. Nous appellerons ce système : blackboard situationnel [Tigli et Thomas1994d] [Tigli et Thomas1994a]. Le modèle de blackboard situationnel est alors composé de trois entités : Les sources de connaissances et d activités, que nous appellerons indifféremment des agents. La structure de données du blackboard, représentant situations et activités du système. Le contrôle, qui peut être générique (voir 2.6.3), compilé en une machine centralisée, ou encore distribuée au sein des agents tel que nous le verrons dans les perspectives Les agents Notre approche a pour objectif de distinguer clairement les informations nécessaires à la prise de décision tactique du système (basée sur une représentation de sa situation et de son activité) et les informations nécessaires à l évolution du système (basée sur l exécution des sources d activités). Nous utilisons à cet effet deux types d agents : Des sources de connaissances Des sources d activités Chaque agent est muni d un niveau décisionnel qui décrit, en termes de conditions sur la situation et l activité du système, le mécanisme de sélection à chaque instant d une de ses activités.

115 AGENT activité 1 NIVEAU DE DECISION condition 1 activité i... condition i NIVEAU D EXECUTION exécution activité 1 vers le niveau de décision (Blackboard) vers le niveau d exécution... exécution activité i Fig. 6.1 Description de l agent L agent est composé de deux niveaux (figure 6.1) : Le niveau d exécution est l ensemble des exécutables correspondantes aux différentes activités de l agent. Le niveau de décision établit les conditions nécessaires pour chacune des activités de l agent. Remarquons qu il existe toujours au moins une activité désactivation pour laquelle l agent ne fait rien (sans exécutable correspondant) Sources de connaissances Les sources de connaissances sont les agents qui permettent de rafraîchir la représentation de la situation du robot au sein de notre blackboard. Elles émettent donc des événements qui correspondent à des modifications de la situation réelle du robot, évaluée à partir des mesures capteurs. Dans la suite, nous considérerons que ces sources de connaissances sont toujours actives. Si néanmoins nous avons des problèmes de ressources, nous pouvons tout à fait activer et désactiver ces sources de connaissances, en introduisant le concept très répandu de focalisation d attention. Ces mêmes sources de connaissances peuvent selon l architecture adoptée, participer au niveau d exécution. Elles participent toujours au processus de décision, mais fournissent aussi des valeurs caractéristiques et intermédiaires utilisées par les sources d activités Sources d activités Les sources d activités sont les agents qui agissent sur l environnement du robot. L activité de chaque source d activités est imposée par le mécanisme de prise de décision du système. Les sources d activités peuvent alors correspondre à des liaisons directes capteurs-actionneurs où bien gérer les actions du robot à partir des valeurs caractéristiques intermédiaires fournies par certaines sources de connaissances La structure de données du blackboard situationnel Le mécanisme de prise de décision de BBS définit les nouvelles activités des agents en fonction de la situation et de l activité courante du système. Afin d obtenir une représentation globale de la situation et de l activité, nous utilisons une structure de données du blackboard qui recueille les informations transmises par les sources de connaissances (données du domaine représentant la situation du système) et enregistre les activités courantes des agents (données de contrôle représentant l activité du système).

116 Le blackboard situationnel que nous mettons en oeuvre est à état fini. Il est composé d une structure des données du domaine réduites et d une structure des données de contrôle afin de permettre une description plus formelle du mécanisme de prise de décision La structure des données réduites du domaine Nous entendons par données du domaine toutes les données qui représentent la situation du système (états de l environnement et du système piloté). Nous représentons l ensemble des états possibles des données du domaine comme le produit cartésien suivant : Dd = W 0 x... x W l. où les W i sont les ensembles de définition des différentes données du domaine. Néanmoins il est intéressant de limiter le nombre des états possibles d une telle structure pour permettre une approche plus formelle de la prise décision. De plus dans un souci de modélisation de la prise de décision du système, il n est pas intéressant de prendre en compte le grand nombre de valeurs possibles de ces données mais seulement un nombre plus réduit d états correspondant à ces mêmes données déjà évaluées par les sources de connaissances. A titre d exemple la prise de décision d un robot mobile peut être influencée par le fait que le robot est proche ou non d un obstacle (au dessus ou en dessous d une distance de sécurité) et non par la distance réelle qui sépare le robot du mur. Ainsi, nous définissons la notion de données réduites du domaine pour minimiser le nombre d états possibles du blackboard : Soit W i l ensemble de définition de la donnée w i. Soient (n(i)-1) tests sur w i résultant en une partition de W i composée de n(i) sous-ensembles W i1,..,w ij,..,w in(i). La donnée w i peut alors être représentée par une variable à n(i) états possibles : j [1..n(i)], si w i W ij. Les événements réduits représentent les modifications de la donnée, l événement réduit e ij correspondant à une modification de la donnée telle que w i W ij. La structure des données réduites du domaine est alors le produit cartésien : Dd = [1..n(0)] x... x [1..n(l)] La structure des données de contrôle Les données de contrôle représentent les activités courantes des agents. Chaque agent i a un ensemble d activités possibles {a i1,...,a im(i) }. Dans le cas de l activité a ij, on dira que l agent i est en activité j, ce qui nous permet de retrouver naturellement une structure finie, sous forme de produit cartésien : Dc = [1..m(1)] x... x [1..m(p)]. Le problème de la réduction du nombre d états ne se pose pas ici car le nombre des activités possibles de l agent est en général assez limité et se résume dans la plupart des cas à agent actif ou agent inactif. Il se peut néanmoins que les activités représentent des comportements différents de l agent. Nous obtenons ainsi une représentation formelle de notre blackboard situationnel comme le produit cartésien de l ensemble des états des données du domaine et l ensemble des états des données de contrôle (figure 6.2). Nous remarquons que l ensemble des états possibles de notre système est alors : card(bb) = l p n(i). m(i) i=1 i=1

117 BLACKBOARD SITUATIONNEL A ETAT FINI SITUATION Données réduites du domaine ACTIVITE Données de contrôle Etat j de la donnée i Donnée réduite du domaine i Agent i Activité j de l agent i Fig. 6.2 Blackboard situationnel à état fini 6.3 Le mécanisme de prise de décision de BBS La prise de décision correspond au choix pertinent de l activité de chaque agent selon la situation globale du système, représentée ici par notre blackboard. Le niveau décisionnel de nos agents contient les différents champs qui représentent les conditions pour lesquelles l agent doit être dans telle ou telle activité, ainsi que différentes contraintes. Toute la complexité de la prise de décision du système réside donc dans la nature des différents champs du niveau de décision des agents et dans le mécanisme de contrôle implicitement mis en jeu. Une première approche utilisant le concept de blackboard générique (voir 2.6.3) permet d évaluer la complexité d un tel mécanisme de prise de décision par le coût de l algorithme de contrôle, c est-à-dire les différents filtres mis en jeu durant un cycle de contrôle pour déterminer les agents activables [Occello et Thomas1992] [Occello1993]. Un tel mécanisme prime par sa flexibilité mais ne permet pas de valider la prise de décision du système. Une des vocations du formalisme décrit ici est de traduire autant que possible la prise de décision en termes de machine équivalente déterministe, et ainsi d obtenir une représentation globale et synthétique de la stratégie de contrôle du système. Ce mode de représentation permettra d isoler le mécanisme de prise de décision du système, d utiliser un outil de validation et de le compiler en une machine centralisée Machines équivalentes Il s agit donc de représenter de manière abstraite et dans la mesure du possible par un graphe, l essentiel de la prise de décision du système, afin que le concepteur puisse en prendre connaissance, l évaluer puis le valider par vérification logique des différents états du système. Deux résultats sont alors obtenus, selon que l on étudie le simple filtre de précondition du blackboard générique (premier résultat) ou qu on y ajoute un filtre sur les événements (deuxième résultat) Premier résultat : Une machine de Moore Un des premiers champs du niveau décisionnel d un agent est le champ qui représente la condition sur les données réduites du domaine pour une activité donnée d un agent. Chacune de ces conditions est représentée par une expression booléenne entre états des données du domaine, elle représente l ensemble des états motivant cette activité pour cet agent. En fin de compte une telle condition pour un agent i et son activité j peut être représentée par l application suivante :

118 [1..p] x [1..m(i)] P(Dd) (i,j) condition(i,j) Dans ce cas précis un contrôle générique mettra en œuvre p i=1 m(i) évaluations des différentes conditions du niveau décisionnel des agents, afin d établir l activité du système durant un cycle de contrôle. De plus rien ne permettra de détecter à priori les deux principales sources d erreurs d une telle prise de décision : les conflits (deux activités au moins d un même agent validées durant un même cycle) et les omissions (un agent sans activité). Deux solutions s offrent alors au concepteur : Munir le niveau décisionnel de ces agents de nouveaux champs visant à éliminer les cas d erreurs : des priorités entre les activités qui permettra toujours de les exclure entre elles, et une activité par défaut qui définira une activité pour l agent qui n en aurait pas, et cela sans que le concepteur ait la maîtrise de ce que le système en fera, ou du moins, quand le système les utilisera. Expliciter la machine équivalente à la prise de décision du système pour en utiliser sa prédictibilité et corriger les cas d erreurs en toute connaissance de cause. Prenons par exemple le cas d agents ayant un niveau décisionnel tel que nous venons de le décrire. Il est facile de montrer dans ce cas que la prise de décision d un tel système est représentée par une machine de Moore. Une machine de Moore est un automate à état fini avec les sorties sur les états décrits ainsi : = (V, X, Y, τ, σ) où V et Y sont respectivement les entrées et les sorties de la machine, avec bien sûr V <, Y < et X est l espace d états de cardinal X <, satisfaisant les équations suivantes : Soit τ : X V X, la fonction de transition et, σ : X Y, la fonction de sorties, x(n) = τ(v(n), x(n 1)) y(n) = σ(x(n)) Soit V l ensemble des événements (l ensemble des modifications des données réduites du domaine), soit X = Dd les données réduites du domaine, et Y = Dc les données du contrôle. La fonction de transition V Dd Dd, définit le nouvel état de la structure des données réduites du domaine à partir des événements réduits (un événement étant une modification des données du domaine, cette fonction est donc ici triviale). La représentation distribuée de la prise de décision, fait correspondre à chaque activité d agent (i,j) Dc, les états de Dd qui lui correspondent. A partir d un algorithme en n 2, on obtient pour chaque état de la structure des données réduites du domaine, les activités de chaque agent qui correspondent à cet état et ainsi la fonction de sortie de l automate (Dd Dc). Nous pouvons remarquer sur ce dernier point, qu en cas de conflit ou d omission, la fonction de sortie (Dd P(Dc)) n est pas déterministe ce qui implique un système non prédictible Le logiciel EDMA, version 1.0 Le logiciel EDMA (Essential Decision Making Analyzer) a été développé au sein de notre équipe. Ce logiciel a pour vocation de générer la machine équivalente à la prise de décision d un système tel que nous l avons décrit précédemment. Dans la version 1.0 ( équivalence de Moore ), un premier fichier décrit la structure des données du domaine en termes de données réduites (sorte de dictionnaire des états des données). Par Exemple : Data1(state0,state1,state2) Data2(state0,state1) Data3(state0,state1,state2,state3) Un second fichier donne l ensemble des niveaux décisionnels des agents. Par exemple :

119 Agent2( activated[!(data1.state0 & Data3.state1) Data2.state0, PRIORITY[1]], deactivated[ Data2.state1, PRIORITY[2]], DEFAULT[deactivated] ) String Is a Is a part of Activity Object Agent Essential Data Linkedlist Society Essential World EBBS Fig. 6.3 Graphe conceptuel Ce logiciel permet alors de détecter les omissions et les conflits, c est à dire les cas où le mécanisme de prise de décision utilise les notions de priorité et d activité par défaut et de donner une description finale de l automate résultant au travers sa fonction de sortie. Par Exemple : State 0000 Agent1.deactivated Agent2.activated Agent3.deactivated State 0001 Agent1.deactivated Agent2.deactivated Agent3.activity1 State 0002 Agent1.deactivated Agent2.deactivated Agent3.activity2 State 0003 Agent1.activated Agent2.deactivated Agent3.deactivated... L analyse lexicale, syntaxique ainsi que le codage binaire et les opérateurs utilisés pour accélérer la consultation de tous les états du système ont été développés en C++ et utilisent les librai-

120 ries NIH [Gorlen1987] (figure 6.3). Une interface graphique utilisant les librairies InterViews [Linton et al.1987] est en projet, elle permettra de décrire le système et de simuler l automate Deuxième résultat : Une machine de Mealy L introduction d une condition sur l événement courant (totalement équivalente à une condition sur l état précédent des données réduites du domaine), convertit la machine équivalente à la prise de décision en un automate à état fini, avec sortie sur les transitions, c est à dire un Automate de Mealy. = (V, X, Y, τ, σ) où V et Y sont respectivement les entrées et les sorties de la machine, avec bien sûr V <, Y < et X est l espace d état de cardinal X <, satisfaisant les équations suivantes : Soit τ : X V X, la fonction de transition et, σ : X V Y, la fonction de sortie, x(n) = τ(v(n), x(n 1)) y(n) = σ(x(n)) L activité de l agent est alors choisie en fonction de l état de la structure des données du domaine mais aussi de l événement courant. D autres spécifications du niveau décisionnel des agents peuvent donc faire évoluer la compléxité de la machine équivalente Autres spécifications, autres machines équivalentes Le niveau décisionnel de nos agents peut contenir d autres conditions qui seront autant d informations pour le choix d une activité par l agent. Nous distinguons deux grandes catégories de conditions : Les contraintes : Ce sont des conditions qui ne modifient pas la nature du mécanisme de prise de décision mais qui la précisent. Les conditions d exclusions entre activités d agents différents, ou encore la notion de priorité entre agents en sont un exemple. Les nouveaux champs : Ce sont des conditions qui changent la nature du mécanisme de prise de décision, en nécessitant une augmentation des informations contenues dans le blackboard à état fini ou qui modifient le type de la machine équivalente. Par exemple la condition de précédence entre activités d agents, nécessite une augmentation de la structure des données de contrôle pour représenter l activité passée du système Conclusion et perspectives Cette approche présente l avantage de proposer une méthodologie incrémentale pour la programmation du robot. De plus, l analyse du mécanisme de prise de décision résultant permet sa validation logique, voire temporelle si certains champs du niveau décisionnel des agents le permettent. Une autre perspective intéressante de cette approche est la distribution du contrôle. En effet, si l on veut distribuer le mécanisme de prise de décision sur chacun des agents, il est a priori nécessaire de doter chacun d eux d un système de contrôle et d une copie du blackboard [Occello1993]. La représentation formelle du mécanisme de prise de décision que nous pouvons obtenir maintenant pour chacun des agents, peut nous permettre de préciser les parties du blackboard qui intéressent tel ou tel agent et donc de réduire les communications dans le cadre d un mécanisme de prise de décision complétement distribué. Chaque agent pourrait donc être doté de sa propre machine équivalente à sa prise de décision.

121 6.4 Experimentations Les expérimentations de cette approche se situent dans le cadre des faiblesses que nous avons pu constater lors de notre première étude sur l utilisation d une architecture blackboard pour le pilotage du robot mobile YOUPI. Il s agit donc de mettre en oeuvre des expériences qui permettent de montrer la pertinence d un blackboard situationnel pour gérer l activité du robot aux niveaux tactique et réflexe de réactivité. La première expérience consiste à utiliser notre architecture BBS1 pour gérer des actions du robot, fonction du contexte. Il s agit donc d un niveau de programmation purement tactique du robot. Nous montrerons l intérêt de notre approche dans le cadre de la validation du mécanisme de prise de décision et surtout de la détection a priori de cas d échec qui sont souvent difficiles à percevoir lors de l expérimentation. Notre système est alors utilisé dans le cadre d une programmation Top-Down de l application. La deuxième expérience utilise notre architecture BBS2 pour gérer des actions réflexes du robot. Il s agit donc d un niveau de programmation tactique de comportements réflexes du robot. Nous montrerons l intérêt de notre approche dans la programmation incrémentale du robot pour qu il exhibe des comportements de plus en plus sophistiqués. Notre système est alors utilisé dans le cadre d une programmation Bottom-Up de l application Expérience 1 : Programmation purement tactique sur Khepera Le but de cette application est de permettre au robot mobile Khepera [Mondada et al.1993] d éviter les obstacles et d atteindre un but localisé en un point [Tigli et Thomas1994b]. C est donc une approche hybride, entre le concept de navigation classique et une certaine réactivité à lévolution de l environnement L architecture BBS 1 Nous utilisons pour cette expérience une architecture que nous appellons BBS 1. Elle se caractérise par le fait que les sources de connaissances jouent un double rôle : rafraîchir les données du domaine du blackboard situationnel, mais aussi calculer la valeur de variables significatives pour l exécution des actions. Blackboard situationnel Capteurs Sources de Connaissances Sources d Activités Actionneurs Fig. 6.4 Architecture BBS Les agents de l application Nous utilisons deux types d agents : des sources de connaissances pour analyser les informations capteurs et des sources d activités pour piloter les moteurs du robot.

122 Les sources de connaissances : Estimateur de distance au but : Cette source de connaissances se nomme Estimateur but. Sa première activité établit la distance au but. Elle fournit au blackboard à état fini la donnée suivante : Le robot est-il suffisamment proche du but? Sa deuxième activité symbolise l inactivité de cette source de connaissances. Estimateur de la direction de l espace ouvert : Cette source de connaissances se nomme Estimateur dir. Cette source possède seulement deux activtés. La première établit deux données réduites à partir des informations des capteurs proximètriques infra-rouges : Y- a-t il un obstacle en face du robot? et Y-a-t il un obstacle dans la direction du but? La seconde activité symbolise l inactivité de cette source de connaissances. Les sources d activités : Il y a seulement une source d activités Action pour piloter les moteurs du robot tout en évitant les conflits d accès. Cette source possède quatre activités possibles : Aller vers le but Aller but : Le robot mobile s asservit sur la direction du but et avance dans cette direction. Tourner pour éviter les obstacles Tourne obstacle : Le robot mobile tourne à peu près de 55 degrés à droite. Aller tout droit Aller droit. désactiver Le Blackboard situationnel Notre blackboard situationnel à état fini contient trois données réduites du domaine (figure 6.5) et trois données de contrôle correspondant aux deux sources de connaissances et la source d activité. obstacle_frontal Aller_but Tourne_obstacle vrai faux but_ouvert but_atteint Active Desactive Aller_droit Desactive Fig. 6.5 Le blackboard situationnel Dans une telle application une programmation possible peut être exprimée aux travers de règles distribuées dans chacun des niveaux décisionnels des agents sous forme de différentes conditions sur les données du domaine représentant les situations du robot qui déclenchent telle ou telle activité. Estimateur_but( Desactive[but_atteint.vrai,], Active[!but_atteint.vrai,],) Estimateur_dir.( Desactive[but_atteint.vrai,], Active[!but_atteint.vrai,],) Action(

123 Aller_but[!but_atteint.vrai &!obstacle_frontal.vrai & but_ouvert.vrai,], Tourne_obstacle[!but_atteint.vrai & obstacle_frontal.vrai &!but_ouvert.vrai,], Aller_droit[!but_atteint.vrai &!obstacle_frontal.vrai &!but_ouvert.vrai,], Desactive[but_atteint.vrai,],) Validation et Perfectionnement Notre outil EDMA permet de détecter les conflits (quand au moins deux activités d un agent sont activées pour une même situation) ou les omissions (quand un agent ne connait pas son activité pour une situation donnée). Dans le cas présent par exemple, la source d activtés ne connait pas son activité dans l état :!but_atteint.vrai & obstacle_frontal.vrai & but_ouvert.vrai ou encore ce qu il doit faire quand il rencontre un obstacle mais qu il peut se diriger vers le but!. La découverte de cas de conflits et d omissions correpondent donc bien souvent au cas d échec du robot. L absence de décision dans ces cas là est encore le plus grave. L ajout d un ordre de priorité entre activités des agents, par le biais d un champ supplémentaire dans le niveau décisionnel des agents permet d éviter le blocage du robot. Ceci étant, les cas de conflits et d omissions permettent bien souvent au programmeur d envisager des situations exceptionnelles et donc d améliorer le mécanisme de contrôle Simulations Nous avons ici implémenté un code équivalent à celui présenté dans cet exemple, en ajoutant néanmoins une temporisation sur l activité Aller droit afin de mieux appréhender le processus décisionnel. En l absence de temporisation, le robot se comporte sensiblement de la but but Fig. 6.6 Simulation d un cas de réussite et d un cas d échec même manière, mais reste près des obstacles et les longe, en alternant rapidement les activités Tourne obstacle, Aller droit et Aller but. Ainsi, au regard de l expérimentation seule, il aurait été très difficile de détecter l omission dans le mécanisme de prise de décision du robot.

124 6.4.2 Expérience 2 : Programmation réflexe et incrémentale du Khepera Cette expérience a pour but de programmer l enchaînement de comportements réflexes sur le robot mobile Khepera fonction de sa situation courante [Tigli1994]. Il s agit donc d intégrer un niveau de réactivité tactique au dessus du niveau réflexe L architecture BBS 2 Nous utilisons pour cette expérience une architecture que nous appellons BBS 2. Elle se caractérise par le fait que les sources de connaissances ne participent plus au niveau d exécution de l action. Elles ne sont là que pour rafraîchir les données du domaine du blackboard situationnel. Les exécutables correspondant à chacune des activités des sources d activités, ont pu Capteurs Sources de Connaissances Blackboard situationnel Sources d Activités Actionneurs Fig. 6.7 Architecture BBS2 être testées séparément, et induises bien chez le robot les comportements désirés. Dans notre 5 6 V 1. θ 4 3 V 2 1 V 2 Infra red proximity sensors Fig. 6.8 Description of Khepera mobile robot expérimentation avec le robot mobile Khepera (figure 6.8), nous utilisons trois sources d activités et ainsi trois sortes de comportements réflexes de base. D autres comportements sont faciles à implementer en utilisant différentes méthodes décrites au chapitre Les agents de l application Le comportement correspondant à la première source d activités est celui du Véhicule de Braitenberg numéro 3 pour éviter les obstacles. V 1 = V max V 2 = V max 6 K i.y i (6.1) i=4 3 K i.y i (6.2) i=1

125 où les K i sont les différents coéfficients pour régler l évitement d obstacles. Le comportement correspondant à la seconde source d activités permet de suivre l environnement gauche du robot. Cette loi de commande asservie la distance entre le capteur 1 et l obstacle sur la gauche (typiquement un mur) du robot mobile et accessoirement réduit la vitesse du robot à l approche d un obstacle frontal. V = K 1.(y 1 y 1d ) (6.3) θ = K 2.(y 2 y 2 d ) (6.4) Où K 1 et K 2 sont choisis pour stabiliser la loi de commande. Bien sûr cet source d activités est plus précise mais moins robuste puisque la validation de son comportement dépend des limites des capteurs et des irrégularités de son environnement local. Heureusement, nous pouvons établir quand cet agent est vraiment efficace et quand nous pouvons l activer selon la situation courante aux travers des conditions d activation de l agent. La troisième source d activités est similaire à la précédente, mais conçue pour suivre l environnement sur la droite du robot mobile et ralentit l approche d un obstacle frontal. Nous pouvons avoir une représentation complexe de la situation courante du robot mobile selon la sophistication des sources de connaissances. En fait, dans notre expérimentation, nous choisissons seulement une représentation simple de la situation courante du robot mobile comme une information symbolique déduite des capteurs de proximité : les capteurs ont-t-ils détecté un obstacle ou non? Le blackboard situationnel Chacune des sources de connaissances établit donc un seuil sur sa mesure capteur pour déterminer si un obstacle a été détecté par son capteur. Elles définissent ainsi la donnée binaire correspondante pour chaque capteur infra-rouge. Dans ce cas la représentation symbolique de SITUATION ACTIVITE non-excité excité activé désactivé IF1 IF2 IF3 IF4 IF5 IF6 IF7 IF8 évitemment suivi_gauche suivi_droite Fig. 6.9 Le blackboard situationnel la situation est codée sur huit données binaires : IF1(stimulated, not_stimulated) IF2(stimulated, not_stimulated) IF3(stimulated, not_stimulated)... Le mécanisme prise de décision du système est programmé par les conditions d activitation de chacune des activités des sources d activités : To_avoid_obstacles[ALWAYS,PRIORITY[1]]; To_follow_left_environment[ (IF1.stimulated & IF2.stimulated &!(IF4.stimulated IF5.stimulated IF6.stimulated),

126 PRIORITY[2]]; To_follow_right_environment[ (IF5.stimulated & IF6.stimulated &!(IF1.stimulated IF2.stimulated IF3.stimulated), PRIORITY[2]]; Nous obtenons ainsi un comportement global (figure 6.10) pour notre robot mobile comme une interaction basée sur la situation entre les différents comportements réflexes de base. Il s agit d un comportement réflexe plus évolué Simulations Fig Simulation d un cas de réussite et d un cas d échec 6.5 Un blackboard pour gérer l activité Cette approche qui consiste à gérer l activité d un système à partir d un blackboard a été mise en oeuvre par R. Liscano du National Research Council of Canada dans une application plus ambitieuse pour le pilotage complet d un robot mobile Cybermotion dans un entrepôt. Son approche plus pragmatique dans la programmation de manoeuvres par l en/-chaî/-ne/- ment de différentes activités fait appel à un système blackboard BB CLIPS [Liscano et al.1992]. Cette programmation néanmoins spécifiée par des règles du type situations-activités, présente de fortes similitudes avec notre concept de blackboard situationnel, ce que nous avons pu confirmer par la suite [Tigli et al.1993a] [Liscano et al.1995]. Ces travaux communs auront donc permis de mettre en évidence le fort potentiel de réduction du système complet et la possiblité de convertir le code BB CLIPS essentiellement dédié à la gestion de l activité du système, en une machine ou un réseau de machines à état fini, embarquable.

127 Blackboard Spécification Utilisateur Situation Activité Décomposition de tâche Capteurs Sources de Connaissances Sources d Activité Actionneurs Fig Architecture NRC Un blackboard pour représenter la situation Cette application de robotique mobile [Tigli et al.1993a] met en oeuvre deux sources d activités : the channel activity et the passageway activity. Chacune de ces activités est constituée d un couple feature extractor (source de connaissances) et action module (source d activités). En ce qui concerne les sources de connaissances, l information symbolique postée sur le blackboard est composée de caractéristiques de l environnement extraites à partir des informations capteurs. Ce type d information est en général déduit de multiples mesures capteurs avec de nombreuses valeurs possibles. C est la raison pour laquelle la notion de blackboard à état fini pour la représentation de la situation de robot est particulièrement bien adaptée. Ainsi, le nombre des états capteurs est réduit à des informations essentielles pour le niveau de raisonnement supérieur. La source de connaissances sur l espace ouvert (figure 6.12) : Les données utilisées par cette source de connaissances et la grille de l espace ouvert fournie par la ceinture ultrasonore du robot. A partir du mouvement du robot mobile, nous pouvons alors décrire quatre sous ensembles intéressants de l espace ouvert : Zone-avant, Zone-droite, Zonegauche, Zone-arrière. Notons que ceci est bien une partition de l ensemble de définition W de l espace ouvert, (W = W(Avant) W(Droite) W(gauche) W(Arrière)). Chaque zone est libre ou occupée, la grille d espace ouvert est maintenant représentée par une structure de quatre données binaires. Source de connaissances sur les irrégularités au sol (figure 6.13) : La source de connaissances sur les irrégularités au sol fournit régulièrement aux mo/-du/-les d ac/-tions les informations numériques concernant tout câble, joint de carrelage, petit escalier...etc, situés à proximité du robot. Il s agit de la distance à l irrégularité détectée (D) et son orientation (α). Dans notre application, la distance entre le robot mobile et une irrégularité du sol influence la prise de décision tactique du robot selon que cette distance soit supérieure ou inférieure à une distance critique (marge de manoeuvre). Il est alors intéressant de partitionner l ensemble de définition de D : W = W(proche) W(plus loin). L orientation α du robot mobile, quant à elle, correspondra à la partition : W(de face) = ]-π/2,+π/2[, W(de côté) = {π/2,-π/2}, W(de dos) = ]-π,-π/2[ ]+π/2,+π[. Toute information issue de cette source de connaissances peut alors être traduite par une combinaison logique des données réduites D (2 états) et α (3 états) (exemple : approche d une irrégularité du sol dangereuse = distance à irrégularité proche et de face à l irrégularité ). En ce qui concerne les sources d activités, le nombre d états possible correspond au nombre d activités, peu nombreuses (par exemple : source d activités active ou inactive). Source d activités passageway activities source : Les deux états de cette source d acti-

128 Zone avant Zone droite Zone gauche Zone arrière Fig Espace ouvert irrégularité du sol Fig Irrégularité au sol vités sont activated et deactivated. Source d activités channel activities source : Les états de cette source d activités sont deactivated, proceeding, finishing and paralleling. Ces états correspondent aux différentes activités de la source, fonction de l irrégularité du sol au voisinage du robot. Notre blackboard se compose alors de huit données à état fini : six données sur l environnement du robot et deux sur l état de son activité. (figure 6.14). Le nombre des états possibles du blackboard est alors limité. Dans cette application, par exemple, il n y a que états possibles. Notre blackboard peut alors être représenté par une donnée de 11 bits. 6.6 Validation expérimentale Nous présentons une expérience dont le scénario s est avéré tout à fait adapté à l utilisation d une telle représentation de la situation du robot Un exemple de comportement du robot L expérience suivante reprend les difficultés d un robot navigant dans un environnement manufacturier. Le robot doit être susceptible de longer les murs du bâtiment dans lequel il se

129 SITUATION irrégularité du sol espace local dos channel activities source finishing proceeding passageway activities source libre face proche paralleling activated occupé côté loin deactivated deactivated avant droite arrière gauche α D ACTIVITE Fig Le blackboard situationnel trouve et occasionnellement de manoeuvrer pour franchir les irrégularités du sol. Le robot se trouve au début de l expérience (voir figure 6.15) à la position (0) et doit atteindre le point de destination (7). En l absence d obstacles perçus, le robot se déplace dans la direction du point (7) jusqu à la rencontre du point (1) où la source de connaissances sur l espace ouvert détecte la présence d un obstacle. Lors du calcul de la direction de l espace ouvert, cette même source de connaissances établit l impossibilité pour le robot de passer entre l objet 2 et le mur du sud et donc de définir une autre direction de l espace ouvert. L activité de suivi de couloir conduit donc le véhicule au point 2. La source de connaissances sur les irrégularités du sol détecte le cable (AB). Le mécanisme de prise de décision déclenche alors l activité de franchissement de l irrégularité du sol. Le robot amorce la succession des activités de cette source pour franchir le cable et retrouvera la direction qu il avait initialement, pour se retrouver au point (3). Le mécanisme de prise de décision redonne alors la main à la source d activités de suivi de couloir pour rejoindre le point (4) en longeant l objet (2). Une nouvelle détection de l irrégularité au sol (AB) déclenche, par l intermédiaire du mécanisme de prise de décision, la source d activités de franchissement de l irrégularité au sol. La présence de l objet (2) ne permettant pas le franchissement immédiat de cette irrégularité (condition Zone-droite=libre), le robot suit alors l irrégularité. Au point (5), le robot peut franchir l irrégularité du sol, grâce au déclenchement de l activité de franchissement. Au point (6), le mécanisme retrouve les conditions nécessaires au déclenchement de l activité de suivi de couloir qui permettra au robot de rejoindre le point de destination finale (7) Expérience Le robot mobile du NRC est composé d une plateforme Cybermotion, une ceinture de 24 capteurs ultrasons autour de la base, deux télémètres lasers BIRIS pour la détection des irrégularités du sol et des odomètres sur les roues. Un processeur Z80 sert de contrôleur PID pour l asservissement des moteurs de la base et gère le retour odométrique. Toutes les activités sont développées sur plusieurs processeurs embarqués sur le robot. L implantation réelle du système est basée principalement sur des tâches communiquant par passation de messages sur une plateforme informatique multi-tâches. Dans ce système, les performances temps réel sont assurées par l utilisation d un système d exploitation temps réel appelé Harmony, permettant aux différents modules de l application d être implémentés sur différents processeurs et de manière concurrente. Un mécanisme de prise de décision utilisant le système de blackboard BB CLIPS est implanté sur un Ma/-cin/-tosh IIfx et communique avec les différentes sources d activités par un modem hertzien. Les informations inscrites sur le blackboard étant réduites, la communication entre le mécanisme de prise de décision et le système embarqué n est plus pénalisante pour le fonctionnement du système (message codé sur quelques bits).

130 Zone de manoeuvre Obstacles Trajectoire du robot Irrégularité du sol Fig Scénario expérimental Conclusion L expression du mécanisme de prise de décision en termes de machine équivalente ouvre donc la perspective de réduire fortement, voire de supprimer les communications avec un système distant, pour les mêmes applications. Au delà de la validation logique du mécanisme de prise de décision du système, une autre étape réside dans la compilation des règles utilisées dans BB CLIPS afin d en déduire l automate équivalent avec un nombre d états bornés. La génération d un exécutable tout à fait équivalent, à temps de réponse borné permettra alors le développement d un module de surpervision embarqué sous forme d une tâche Harmony. Le système deviendra alors complétement autonome pour ces manoeuvres. 6.7 Conclusion L utilisation d un Blackboard situationnel puise tout son intérêt dans la programmation du comportement ou d une tâche d un robot à un niveau que nous qualifions de tactique, c est-àdire ne mettant en oeuvre qu une information locale sur la situation et l activité du système, sans explicitement utiliser de modèle de l environnement et des effets de l action. En pratique il s agit souvent de manoeuvres du robot ou d ajustement de comportements réflexes à différentes situations locales de blocage (ex. cul de sac). Les possiblités de cette approche, loin d avoir été suffisamment explorées, ne permettent pas la programmation d une application complète par manque d en/-ca/-psu/-la/-tion. Il s agit plutôt d une utilisation ponctuelle pour la supervision de l activité du robot dans le cadre d un but précis.

131 Fig Le robot mobile du NRC.

132 Une Architecture orientée Comportement, SMACH 126

133 Chapitre 7 Vers des Architectures orientées Comportement Chapitre 7. Vers des Architectures orientées Comportement III. Une Architecture orientée Comportement, SMACH 7.1 Les Evolutions des architectures de Contrôle en Robotique Mobile Introduction Les travaux sur les comportements réflexes ont à la fois montré leurs intérêts pour une approche plus robuste de la programmation d un robot mais aussi leurs limites dans l accomplissement d une tâche complexe. Ces approches qualifiées de purement réactives ne sont pas très flexibles, et rendent souvent impossible la modification de la tâche à accomplir ainsi que l utilisation de connaissances a priori (voir chapitre 4). Georgeff et Lansky ont ainsi proposé un modèle d architecture qui tente de répondre à ces difficultés, il s agit du Système PRS (Système de Raisonnement Procédural) [Georgeff et Lansky1987]. PRS présente un modèle possible de l interaction entre planification et réactivité basé sur une représentation symbolique. Néanmoins il est très difficile d appréhender la manière dont ce système gère les contraintes temps réel indispensables à la capacité du robot de réagir. La difficulté se situe donc dans l art et la manière de concilier une approche purement réactive, dont nous connaissons les limites et une approche plus délibérée orientée but, qui redonnera au robot la capacité d accomplir un certain nombre de tâches, voire de missions. Nous allons présenter dans ce chapitre des architectures, qui se sont inspirées des précédents travaux sur la Réactivité Restreinte rendant plus sûre la navigation du robot, tout en lui redonnant la capacité de raisonner pour l accomplissement de son but. Certaines architectures présentées dans le chapitre 5, possèdent déjà ces capacités (ex. : HILARE, NASREM..etc.). Nous retrouverons, à ce sujet, les mêmes caractéristiques architecturales dans de nombreuses architectures présentées ici. Il n en demeure pas moins que ces récents travaux font apparaître plus clairement de nouvelles caractéristiques que nous détaillerons en fin de chapitre, telles que l utilisation de plus en plus forte de la notion de concurrence dans la gestion de l activité du robot, et des représentations de l environnement et des plans plus adaptés aux incertitudes de l évolution du robot et de ses mesures capteurs. Nous distinguons trois grandes approches dans la conception d architectures de contrôle pour robot mobile. Une première approche consiste toujours à partager l application en deux niveaux : un niveau d exécution et un niveau de planification. Néanmoins l exécution est beaucoup moins contrôlée et le robot évolue souvent fonction des dynamiques de l environnement.

134 Nous appellerons donc ces architectures Planificateur-Contrôleur comportemental et nous détaillerons pour chacune d elles les méthodes d interactions mises en oeuvre entre ces deux niveaux délibéré et réactif (planification orientée but et réaction orientée contexte). Une seconde approche consiste à faire appel à une décomposition hiérarchique en couches pour intégrer comportements délibérés (orientés but) et comportements réflexes (orientés contexte). C est alors une décomposition de l application en boucle perception-décision-action ordonnée dans le temps, c est-à-dire classées fonction de leur temps de réponse et du niveau d abstraction de l information perceptuelle traité [Lewis1991]. Enfin, nous présenterons les architectures dédiées comportements, c est-à-dire des architectures qui mettent en oeuvre des modules comportementaux concurrents, et qui proposent différents mécanismes de coopération entre ces modules dans l action. Nous conclurons ce chapitre sur les nouvelles caractéristiques des architectures de contrôle orientées comportement, tant dans sa structure que dans les représentations mises en oeuvre Des architectures Planificateur - Contrôleur Comportemental Plutôt que de choisir entre une approche orientée planification et une approche orientée réflexe, certains travaux se sont penchés sur leur association nécessaire à l évolution d un robot dans un environnement réel. L idée est alors de déterminer l action du robot à partir de l interaction dynamique entre un plan projeté et les circonstances réelles dues à l évolution dynamique de l environnement. Le problème central réside alors dans la modélisation de cette interaction. Nous allons présenter ici plusieurs exemples de ces architectures à deux niveaux Planificateur et Contrôleur Comportemental et essayer de comprendre quel mécanisme d interaction est alors mis en oeuvre entre un niveau délibéré et un niveau réactif. L architecture AURA d Arkin se caractérise par un mécanisme d interaction basé sur l instanciation par un niveau de planification classique des schémas moteurs appropriés au suivi robuste du chemin planifié. L architecture MARS de Müller utilise une représentation sous forme de graphe sensori-moteur de l environnement afin d éviter tous les problèmes liés à la navigation métrique. Le niveau de planification gère alors les comportements à activer au niveau du contrôleur comportemental, à partir des amers détectés dans l environnement. L architecture de Soffioti, utilise un contrôleur flou au niveau du contrôleur comportemental, le niveau de planification intervient alors en modifiant les règles qui correspondent aux différents comportements du robot. Architecture AuRA : L Architecture au Robot Autonome (AuRA) consiste en cinq systèmes majeurs [Arkin1990] : un système de perception, de cartographie, de planification, un système moteur [Arkin1987] (déjà étudié dans le paragraphe ) et un système de contrôle homéostatique. Le système de perception gère les données provenant de capteurs (dans le cas du robot mobile DENNING, le système de vision, le système ultrasonore et les codeurs des roues). Ces données capteurs sont transmises au cartographe et à l exécuteur de chemin (le gestionnaire de schémas moteur). Le système de cartographie maintient une représentation basée sur une mémoire à long terme composée de connaissances a priori. Cette représentation est utilisée par le planificateur de chemin et fournit les caractéristiques perceptuelles qui doivent être rencontrées lors de la navigation. Le cartographe maintient également une mémoire à court terme en construisant un modèle dynamique du monde basé sur les données capteurs et qui est utilisé quand la navigation par schémas moteur échoue, ce qui est relativement rare. Le sous système de planification incorpore un planificateur hiérarchique consistant en un planificateur de missions, un navigateur et un pilote. Le but du planificateur est de produire un chemin aux travers l environnement tout en étant sujet aux contraintes de la mission, et ainsi de sélectionner les schémas moteur et les stratégies perceptuelles (schémas perceptuels) appropriés à l accomplissement du but. La représentation de l environnement du robot utilisé par le sous-système de planification est une carte de l environnement et des champs de direction du

135 Cartographe critères de décision Perception compte rendu trajectoires capteurs Sous Système Cartographique Sous Système de Planification Opérateur Humain MLT MCT Carte de Champs données de décision Planificateur de Mission Navigateur haut niveau intermédiare Pilote Traitement Capteurs bas niveau Sous Système de Perception Traitement Capteurs Traitement Capteurs S1 S2 S3 manoeuvre de Panique Contrôleur M1 Schémas moteur Instanciés Gestionnaire de Schéma Moteur interface véhicule Contrôleur M2 Sous Système de Contrôle Homéostatique Instanciation de Signaux pour Schémas Capteurs proprioceptifs Contrôleur M3 données proprioceptives Sous Système Moteur ENVIRONNEMENT M1 M2 M3 Fig. 7.1 Architecture AuRA robot en toute position. Le système moteur maintient les communications avec le robot mobile DENNING : Georges. Le système de contrôle homéostatique [Arkin1989] est chargé de la maintenance de l état interne du robot. Ceci évite de considérer que les conditions d opération sont toujours optimales; le robot peut manquer d énergie, être gêné par la température et beaucoup d autres facteurs peuvent rendre difficile sa progression. Le contrôle homéostatique est alors chargé de collecter ces informations et de les transmettre directement aux schémas moteur. L état interne du robot influence alors son comportement, le contrôle homéostatique permet alors au comportement du robot de se rapprocher du comportement adaptatif animal [Meyer et Guillot1991]. Cette architecture a été utilisée pour développer des expérimentations tant dans l environnement intérieur d immeuble, dans l environnement extérieur d un campus que dans un environnement manufacturier. Cette approche a pu être simulée dans un environnement à trois dimensions d un terrain extérieur type marin pour un robot mobile sous-marin. Même si R. Arkin met souvent l accent sur la décomposition hiérarchique de son planificateur, il n en demeure pas moins que cette architecture présente deux grands niveaux : Le premier qu il a coutume d associer à une mémoire à long terme souvent, des connaissances a priori sur l environnement, et un second niveau qu il associe à une mémoire à court terme correspondant à la mise en oeuvre des schémas moteur et autres sous-systèmes de contrôle (exemple : contrôle homéostatique). Cette approche consiste donc bel et bien à utiliser une représentation de l environnement pour planifier une mission en séquences de navigation. Ces dernières se traduisent alors par une séquence de sous-buts caractérisés eux mêmes par une localisation géométrique ou une locali-

136 sation basée sur la détection d amers dans l environnement. Ces buts sont alors associés à des comportements réflexes gérés par le gestionnaire de schémas moteur [Arkin1987]. Architecture MARS : Pour J.-P. Müller l autonomie d un système en environnement réel, voire d un robot mobile, nécessite la prise en compte de deux grandes contraintes. D une part, le comportement du robot doit être associé à la particularité du contexte et des circonstances de la mission ou de la tâche. Sans cela, le robot est incapable de gérer et d anticiper sur l évolution dynamique de son monde. D autre part, le robot doit bien entendu assurer sa sécurité. Pour cela, il doit pouvoir exhiber des comportements réflexes sans pour autant systématiquement ne réagir qu à l évolution locale de son environnement. Pour cela, J.-P. Müller a choisi l architecture Simulateur Robot Simulateur Vision Aller vers Démon 1 Avancer Blackboard de Comportement Suivi de liaison Démon 2 Modeleur Blackboard Contrôleur Localisateur Planificateur Fig. 7.2 Architecture MARS distribuée MARS [Müller1993] (figure 7.2) composée de deux grands niveaux : Un niveau composé d un ensemble de comportements, un comportement étant un ensemble de réponses à ensemble de stimuli. Un niveau composé d un ensemble de contrôleurs, chargé de sélectionner le comportement qui va contrôler le système à chaque instant. Le niveau contenant l ensemble des comportements gère un blackboard : le blackboard de comportement. Ce blackboard contient alors les informations capteurs rafraîchies régulièrement par le démon numéro 1 à partir des simulateurs ou des capteurs du robot. Il contient également l état de chacun des comportements, c est-à-dire pour chacun des comportements susceptibles de répondre aux stimuli de l environnement, l ensemble des stimuli le concernant et les commandes correspondantes pour le robot. Ces informations sont rafraîchies par les comportements eux mêmes. Enfin, ce blackboard contient également le comportement sélectionné par le niveau supérieur, celui des contrôleurs. A l heure actuelle, seule la commande correspondant au comportement sélectionné est envoyée effectivement au robot. Le second niveau, celui des contrôleurs gère de la même manière un blackboard : le blackboard contrôleur. Ce blackboard contient un graphe topologique représentant l environnement avec deux pointeurs, dont un sur le noeud où le robot se situe et l autre sur le noeud correspondant à la situation capteur désirée. La

137 coopération entre les contrôleurs se fait aux travers la propagation de l activation dans le graphe topologique qui permettra alors de sélectionner le comportement préféré par le biais du démon numéro 2. Le graphe topologique permettant ce type de sélection de comportements est un graphe sensori-moteur [Rodriguez1994]. Les contrôleurs sont pour l instant au nombre de trois. Le contrôleur d apprentissage est chargé de rafraîchir et de construire le graphe en présence de nouvelles informations capteurs. Le contrôleur de localisation est chargé de contrôler dans quel noeud du graphe, le robot se trouve à partir des informations perceptuelles. Enfin, le contrôleur de planification calcule le plus court chemin entre le noeud où se trouve le robot et le ou les noeuds de destination. Cette approche a pu être expérimentée sur un robot Nomadic 200 dans un environnement intérieur [Gat1994]. Les comportements du robot sont alors basés sur les mesures ultrasonores, sur les mesures télémétriques vision-laser, sur la détection d amers par le système de vision. Les différents comportements peuvent alors être l évitement d obstacles, le suivi de mur ou encore l approche d un amer. Architecture FLAKEY selon Saffioti : A. Saffiotti propose une architecture à deux niveaux, en mettant l accent sur l idée du partage d une représentation de plan entre ces niveaux [Saffiotti93]. Cette architecture est présentée par la figure 7.3. Tous les comportements de base Programme PLANIFICATEUR Structures de Contrôle Contrôleur flou Espace Local Perceptuel Etat comportement 1 comportement 2 Defuzzyfication comportement n ultrasons caméra roues commandes Fig. 7.3 Architecture FLAKEY selon A. Saffioti que le robot exhibe, sont implémentés grâce à un contrôleur flou, incluant des comportements réflexes comme éviter les obstacles, des comportements délibérés comme atteindre une position et des comportements perceptuels comme essayer de détecter une porte [Saffiotti et al.1994a]. Les comportements prennent leurs entrées dans une structure d informations commune, appelée Espace Local Perceptuel (LPS), où les données perceptuelles, les interprétations qui en sont faites, et les structures de contrôle (CS) sont rassemblées. Les structures de contrôle CS sont les entités de base de la représentation partagée de plan. Elles représentent les sous-buts créés par le planificateur et sont utilisées par le contrôleur pour déterminer l activité du robot. Ce mécanisme de sélection de l activité repose alors sur l utilisation d une description des comportements par des règles floues et la fusion des comportements activés grâce au mécanisme de

138 défuzzyfication [Saffiotti et al.1994b]. A chaque instant l Espace Local Perceptuel permet d évaluer l état flou du système, c est à dire d évaluer un certain nombre de variables floues caractéristiques de la situation du robot comme obstacle proche à gauche. Les règles floues qui symbolisent les différents comportements sont alors de la forme IF condition sur l état THEN valeur de commande (ex. IF obstacle proche à gauche THEN tourner de 6 degrés). Les conditions correspondent à des expressions utilisant les variables qui symbolisent l état du robot et les connecteurs classiques ET, OU, NON. La valeur floue de l expression se calcule alors grâce aux valeurs floues des variables de l état et des fonctions MAX (pour ET), MIN (pour OU), et complément à 1 (pour NON). Les valeurs floues obtenues par l évaluation des conditions sont alors reportées comme degrés de désirabilité de la valeur de commande correspondante. La valeur de commande réellement appliquée est alors calculée grâce au mécanisme de défuzzyfication. Chaque comportement se fera d autant plus ressentir que sa condition d application sera vraie. Cette architecture ne redéfinit pas la tâche du planificateur, mais simplement la notion de plan. Le planificateur est alors chargé de définir les modifications des règles floues du contrôleur fonction de sa représentation de l environnement et des données capteurs de l Espace Local Perceptuel Des architectures hiérarchiques en Couches Les architectures hiérarchiques en couches ordonnent différents niveaux de comportement. Ces couches sont classées de par leur temps de réponse, correspondant ainsi vers le haut de la hiérarchie à des comportements délibérés (modélisation-planification) et vers le bas à des comportements de plus en plus réactifs. Les niveaux d abstraction de l information utilisée par chacune de ces couches est souvent une cause de cette hiérarchie. En effet, chaque couche utilise des informations qui viennent de la couche inférieure et parfois des capteurs, et transmet sa commande vers la couche inférieure (hiérarchie dans l action). En conséquence le temps de réponse de la couche supérieure est obligatoirement plus élevé. Nous allons présenter ici trois architectures prenant pour base cette approche. Les deux premières architectures présentées, celle de Crowley et ALV de Payton, sont des architectures hiérarchiques dans la perception et dans l action. Seule la première couche est directement connectée aux capteurs, les autres couches ne disposent que d une information perceptuelle de plus en plus abstraite. L architecture RAMSIS de Badreddin est une approche intermédiaire, car chaque couche dispose des informations abstraites de la couche du dessous mais accède aussi aux mesures de capteurs, selon leur degré de sophistication (ex. : capteurs tactiles pour les premières couches et vision pour des couches de plus haut niveau). Architecture selon Crowley : L architecture hiérarchique proposée par J.L. Crowley [Crowley et al.1991b] pour un robot mobile de surveillance est présentée par la figure 7.4. Deux hiérarchies, pour la locomotion et pour la perception [Crowley1987], sont organisées en couches, selon leur temps de réponse et le niveau d abstraction de l information qui y est traitée. Ces couches interviennent au niveau signal, au niveau effecteur et au niveau action. Le niveau signal est le plus bas niveau. Du côté perception, il s agit pour ce niveau d acquérir les signaux capteurs (dans le repère des capteurs). Du côté locomotion, le traitement correspondant met en oeuvre des boucles de contrôle sur les moteurs pour maintenir une vitesse constante et saisit les signaux des capteurs proprioceptifs pour estimer la position et la vitesse du robot. Le niveau effecteur est un niveau intermédiaire. Coté perception, les données capteurs sont ramenées dans le repère du robot pour construire un modèle local de l environnement. Ces nouvelles données permettent de rectifier l estimation de la position du robot. Du côté locomotion, il s agit du contrôleur du véhicule. Ce dernier gère les mouvements du robot (tourner et avancer) [Crowley1989b], maintient une estimation de la position et de la vitesse du robot qu il partage

139 Interface Homme-Machine Superviseur Actions de Locomotion Actions de Perception Contrôle du Véhicule Modélisation Locale Contrôle des Moteurs Description des données capteurs Moteurs Caméras Télémètre Fig. 7.4 Architecture selon Crowley avec les différents niveaux de perception. Le niveau action est composé d un ensemble d algorithmes opérant sur les informations fournies par le niveau effecteur (le contrôleur du véhicule et le modèle local de l environnement). Du côté locomotion il s agit d algorithmes correspondant à des tâches telles que suivre une route, suivre un mur, se diriger vers un amer. Du côté perception il s agit d algorithmes de pilotage des capteurs pour obtenir une information perceptuelle nécessaire à la tâche mise en oeuvre. Une partie de la coordination entre perception et action intervient à ce niveau. Le niveau de supervision est un niveau orienté but. Il exprime une mission en une séquence de tâche haut niveau à accomplir. Son planificateur décompose alors cette séquence en une autre séquence de tâches de plus bas niveau destinées au niveau action. Durant l exécution, le plan est adapté et modifié fonction des événements externes qui viennent modifier les connaissances du niveau sur l environnement du robot. Architecture ALV : Le Véhicule de Terrain Autonome (ALV), est un laboratoire informatique mobile, développé pour être utilisé dans des expériences de suivi de route et de navigation tout-terrain autonome [Payton et Bihari1991]. L architecture ALV a pour but principal de gérer à la fois les réactions immédiates du robot et l assimilation de son environnement. Elle correspond à une décomposition hiérarchique en couches du contrôle du robot (figure 7.5). Cette hiérarchie est composée de quatre niveaux, trois sont dédiés à la planification et un, aux réactions instantanées du robot. Les trois niveaux de planification sont : le niveau de planification de mission, le niveau de planification sur carte de chemin, et le niveau de planification locale. Le bas niveau de cette architecture est composé d entités appelées capteurs virtuels et comportements réflexes [Payton1986]. Les capteurs virtuels accomplissent un traitement capteur spécialisé, et les comportements accomplissent des tâches de contrôle spécifiques. Chaque comportement utilise un mécanisme de prise de décision approprié à sa tâche particulière, à partir des caractéristiques de l environnement fournies par les capteurs virtuels associés. Le

140 SYSTEME DE PERCEPTION EN COUCHE Commande Commande Commande PLANIFICATION DE MISSION PLANIFICATION SUR CARTE PLANIFICATION LOCALE (Manoeuvres haut niveau) PLANIFICATION REFLEXE (Evitemment d obstacles) Compte Rendu Compte Rendu Compte Rendu Actionneurs du Véhicule Fig. 7.5 Architecture ALV choix final de l action est obtenu à partir d une décision collective de plusieurs comportements. La figure 7.6 montre un exemple simplifié de comportements pour l évitement d obstacles combiné avec les comportements de suivi de route et de navigation. Comme dans les architectures présentées au chapitre 4, ce niveau met l accent sur l utilisation des données capteurs courantes sans construction d un modèle de l environnement pour générer l action. La fusion des consignes de chacun des comportements, fournit donc une alternative à la fusion des données capteurs. Le niveau de planification locale sélectionne l ensemble des comportements appropriés selon la Données Capteurs Données Véhicule Bord de route Distance obstacle Bords de l obstacle Suivre bord gauche Ralentir devant obstacles Tourner devant obstacles Commande Fusion et Arbitrage Commande du Véhicule Sélectionnée Direction donnée Maintenir direction capteur virtuel comportement réflexe Fig. 7.6 Le bas niveau de l architecture ALV situation et le ou les buts recherchés. Il reçoit ses buts du niveau de planification sur carte sous forme de chemins, et des informations sur l environnement du véhicule à partir du modèle local fourni par son module de perception. Il reçoit aussi des informations sur l état et les échecs du niveau au-dessous. A partir de ses connaissances sur les performances des comportements, le

141 REACTIONS non modélisées planificateur local choisit les différents comportements qui concilient les différentes contraintes de but et de situation. Le niveau de planification de chemin, reçoit un certain nombre de critères qui doivent être respectés par la mission sous forme de fonctions numériques de coût. Il est alors chargé d appliquer celles-ci afin de définir le chemin le plus approprié dans la carte. Le planificateur de mission convertit donc les objectifs et les contraintes définis par l utilisateur en fonctions numériques de coût pour le planificateur de chemin. Dans le cas le plus simple il s agit de définir un point de destination pour le robot. D autres contraintes peuvent alors s ajouter comme rester aux abords d une route ou encore être le moins visible possible. Architecture RAMSIS : RAMSIS est une architecture proposée par E. Badreddin basée sur une décomposition par niveau de comportement [Badreddin1991]. Elle est composée de dix niveaux présentés dans la figure 7.7. Le niveau de commande des axes est composé des boucles Operateur Modem Radio Vision TACHE 10 COMMANDE HUMAINE Force musculaire Joy-stick, trajectoire Chemin, but, mission CONTROLE ET RAISONNEMENT Automate, Modèle à événement discret, Prise de décision MODELISATION ET PLANIFICATION Recherche dans un graphe, Mémoire associative NAVIGATION ET LOCALISATION Ultrasons 5&6 CONDUITE Localisation à l estime PID adaptatif asservissement en position Ceinture Tactile Gyro Codeurs & Tachy CAPTEURS 3 EVITEMMENT D OBSTACLES Suspensions Stratégie de l espace ouvert 2 COMMANDE NIVEAU ROBOT Asservissement vitesse-accélération 1 COMMANDE NIVEAU AXES Asservissement vitesse-accélération 0 DYNAMIQUE Dynamique multi corps ACTION Fig. 7.7 Architecture RAMSIS d asservissement de chacun des moteurs du robot. Il s agit d asservissement en vitesse. Ce ni-

142 veau ne fait intervenir que les capteurs odométriques. Le niveau de commande du robot calcule, grâce au modèle cinématique du robot, les vitesses angulaires des roues à partir de la position et de la vitesse de référence du robot. Ce niveau fait intervenir un gyrocompas. Le niveau d évitement d obstacles utilise à la fois des capteurs tactiles et ultrasonores. Cet évitement d obstacles est basé sur la génération d une force répulsive calculée à partir des mesures ultrasons. Les capteurs tactiles sont alors utilisés en cas de choc, et génèrent une force répulsive forte qui vient s ajouter à celle des ultrasons. Le niveau de conduite gère une boucle sur la position du robot en tenant compte des contraintes cinématiques. Il localise le robot à l estime à partir du retour odométrique et calcule les consignes à partir de l erreur en position. L auteur résoud les problèmes de stabilité d une telle méthode par un gain variant fonction de la vitesse du robot et de l erreur en position. Nous avons néanmoins vu dans le chapitre 3, que dans ce cas les positions de référence doivent absolument évoluer dans le temps. Le niveau de navigation et de localisation génère la séquence de sous-buts (destination intermédiaires) nécessaire pour rejoindre le but depuis la position courante du robot. Pour cela, ce niveau fait l hypothèse que le robot se déplace en ligne droite. Les sous-buts correspondent alors aux changements de direction. Le niveau de modélisation et de planification utilise une carte géométrique de l environnement, à partir de laquelle un graphe de chemins est établi permettant la recherche par le planificateur du meilleur chemin a priori. Le niveau de contrôle du raisonnement supervise les opérations des niveaux inférieurs. Il est chargé de la surveillance des modifications de l environnement et éventuellement du déclenchement d actions appropriées. Le niveau de commande humaine permet l intervention de l utilisateur à tous les niveaux de la hiérarchie grâce à des périphériques adaptés (ex. : intervention sur la commande du robot grâce à un Joy-stick). Remarquons qu il s agit d une pseudo hiérarchie dans la perception puisque chaque couche dispose aussi d entrées capteurs. De plus, les deux derniers niveaux ne respectent pas la hiérarchie, ce qui s explique par l absence d implémentation des quatre derniers niveaux [Badreddin1991] Les architectures orientées comportement Les architectures orientées comportement sont donc les architectures décrites à partir d entités comportementales et non fonctionnelles. Il s agit alors généralement de modules particuliers perception-décision-action indépendants et concurrents directement liés aux capteurs et qui permettent au robot d exhiber un comportement donné. L utilisation d une telle décomposition permet d appréhender la programmation d un robot sous une nouvelle forme basée sur la concurrence de ces modules particuliers, et la fusion de l information dans l action Les architectures orientées comportement non hiérarchiques Les architectures orientées comportement non hiérarchiques se caractérisent par la mise en oeuvre de modules ici entités comportementales. L architecture orientée comportement hiérarchique est alors dotée d un mécanisme de combinaison des actions proposées par les différents modules, et qui permet ainsi au robot d adopter un comportement plus sophistiqué. Dans les architectures présentées dans le cadre de la Réactivité Restreinte, de nombreuses approches s inspirent de ce schéma. Pourtant celle-ci reste limitée à la seule exhibition de comportements réflexes. Nous avons retenu ici les architectures suceptibles d implémenter des comportements plus évolués. Ainsi, Mataric est une des premières à introduire une représentation interne en utilisant l architecture subsomption pour la programmation de son robot TOTO. De même, Rosenblatt étudie plus particulièrement un mécanisme très adapté à la combinaison de comportements orientés but et de comportements orientés réaction dans son architecture DAMN.

143 Architecture TOTO : M. Mataric du M.I.T. décrit une des premières architectures qui intègre une représentation de l environnement [Mataric1991] dans un système réactif basé sur une architecture subsomption, présentée dans le chapitre 3 paragraphe Cette approche présente une alternative aux architectures de contrôle hybrides qui décomposent l architecture de contrôle en un niveau réactif et un niveau planification. Cette architecture est expérimentée sur le robot TOTO, un robot mobile omnidirectionnel, équipé d une ceinture de 12 capteurs ultrasonores et d un compas. Le but de TOTO est d explorer un bureau, de construire et maintenir un carte basée sur les amers détectés. Le robot utilise alors cette carte pour atteindre n importe quel amer de destination par le plus court chemin. L architecture de TOTO est représentée par la figure 7.8. Celle-ci CARTE buts (utilisateur) PLANIFICATION compas (monde) APPRENTISSAGE amers DETECTION D AMER suggestion de changement de direction ultrasons (monde) SUIVI LIMITE DEPLACEMENT SANS COLLISION NAVIGATION Fig. 7.8 Architecture TOTO stop, aller tourner changement de direction actionneurs est basée sur le mécanisme de subsomption et les différents comportements mis en oeuvre sont implémentés par des couches de programmation. Nous verrons plus loin que cela n en fait pas pour autant une architecture hiérarchique orientée comportement. La première couche assure au robot la capacité d errer en évitant les obstacles. La deuxième couche permet au robot de rester proche des objets détectés et donc le cas échéant des amers détectés [Mataric1992b]. Ces deux couches induisent donc des comportements que nous avons qualifiés de réflexes, tels que nous l avons vu dans le paragraphe L originalité de TOTO réside dans la troisième couche dotée d une représentation de l environnement. Cette couche est composée de trois modules : un détecteur d amers, un module d apprentissage, un module de planification. Le module de détection d amers analyse les mesures des capteurs ultrasons et du compas. Il distingue ainsi quatre grands types d amers qui sont murs gauches, murs droits, couloirs et bric-à-brac (représentant l absence d un vrai amer). Le changement d amer est détecté par de fortes variations du compas. Au fur et à mesure que le robot explore son environnement, les amers détectés sont transmis aux noeuds dans un graphe topologique de l environnement. Initialement le graphe est vide, et le premier amer détecté est alloué à un premier noeud. La description qualitative de l amer correspondant au noeud est alors sauvegardée sous la forme d un couple : type d amer et sa direction au compas. Deux autres éléments sont alors ajoutés à cette description afin de dissocier plus facilement les différents amers et donc les différents noeuds du graphe : la longueur et la position approximative de l amer. La localisation du robot, devient alors une simple comparaison de la situation courante du robot (amer courant, position courante, direction courante) et des

144 caractéristiques des différents amers déjà détectés. Elle résulte ainsi en une localisation unique sur le graphe ou pas de localisation du tout (nouveau noeud). Les noeuds sont liés entre eux s ils sont consécutifs. Le sens de parcours du graphe correspond alors à un suivi de l environnement par la droite ou par la gauche, selon la manière dont le graphe a été construit. Le planificateur choisit alors dans quel sens le robot va suivre l environnement selon que le noeud de destination soit plus près par un parcours des noeuds sur la gauche ou sur la droite. Un point très intéressant ici est l implémentation complètement distribuée de ce graphe. En effet, chaque noeud du graphe est une machine à état fini augmentée (Cf ). Chaque lien entre les noeuds devient un canal de communication. Ainsi une fois le noeud de destination défini, une propagation du coût de chaque noeud du graphe (basé sur la longueur de l amer correspondant (coût physique) ou tout simplement fixé à 1 pour chaque noeud (coût topologique)), permet au noeud actif (localisation du robot) de choisir le noeud voisin avec le plus faible coût en direction du noeud de destination. Architecture DAMN : DAMN est une architecture distribuée pour la navigation mobile proposée par J.K. Rosenblatt [Rosenblatt1994] du CMU. Cette architecture est notamment utilisée sur les derniers véhicules CMU Navlab (voir les photos 3.16) pour la navigation sur route et en tout-terrain. DAMN est une approche non hiérarchique, où de nombreux modules partagent concurremment le contrôle d un robot mobile. Chacun de ces modules correspond à un comportement plus ou moins évolué du robot, voire délibéré. La grande originalité de cette approche réside dans l action résultante de chacun de ces modules et sa gestion. En effet, les modules ne fournissent pas ici une commande ou une consigne pour le véhicule mais une série de votes pour ou contre les différentes consignes possibles dans l espace de commande du robot. Ainsi, le module d arbitrage de DAMN sélectionne la commande la mieux appropriée à l ensemble des comportements. La figure 7.9 montre l organisation de l architecture DAMN, dans laquelle chaque comportement individuel comme suivre la route ou éviter les obstacles envoie des votes au module d arbitrage. Ces entrées sont alors combinées et la commande résultante est envoyée au contrôleur du véhicule. Chaque module ou comportement est alors responsable de l accomplissement d une tâche particulière. Ils opère de manière asynchrone et en parallèle avec les autres comportements en envoyant ses sorties au module d arbitrage à la cadence appropriée à sa fonction. Le module GESTIONNAIRE DE MODE poids ARBITRE DAMN commandes CONTROLEUR DU VEHICULE votes EVITEMMENT D OBSTACLES RECHERCHE DU BUT MAINTIEN DE DIRECTION SUIVI DE ROUTE EVITEMMENT DE BASCULEMENT Fig. 7.9 Architecture DAMN d arbitrage de DAMN [Rosenblatt et Payton1989], établit en réalité une fusion des votes afin d établir la commande la mieux appropriée. En effet, chaque module présente un vote pour chacune des commandes possibles pour le véhicule, sous forme de valeur comprise entre -1 et 1. De plus chaque module est doté d un poids compris entre 0 et 1 selon l importance du comportement correspondant (la valeur 0 étant équivalente à une exclusion du contrôle). Le module d arbitrage calcule alors la somme pondérée des votes de chacun des modules et applique la commande correspondant au vote le plus favorable.

145 Les architectures orientées comportement hiérarchiques Les architectures orientées comportement hiérarchiques reprennent le même schéma que les architectures précédentes en ajoutant des niveaux d abstraction dans l action. Ceci permet à un comportement de niveau n d exprimer son action en terme de comportements du niveau n-1. L architecture ATLANTIS de Gat, par exemple, n utilise aucune hiérarchie dans la perception. Chaque couche correspond simplement à un ensemble de comportements agissant à un même niveau d action. L action d une couche donnée consiste à doter la couche juste au-dessous d une information sur son but. L architecture de Kaelbling présente les mêmes caractéristiques, si ce n est que l information transmise d un niveau comportemental au niveau juste au-dessous concerne son activité (information pas simplement basée sur son but, mais sur le comportement à mettre en oeuvre). Architecture ATLANTIS programmée en ALFA Le robot Rocky III est un petit véhicule autonome capable de naviguer sur un terrain vers des destinations préétablies, prélever un échantillon du terrain et le ramener vers un container de sa base de départ. Le robot Rocky III est programmé en ALFA, un langage de comportement dédié à la programmation de mécanismes de contrôle réactifs pour un robot mobile autonome [Gat1991a]. Les programmes ALFA sont composés d un réseau de modules informatiques qui communiquent entre eux et avec le monde extérieur par l intermédiaire de canaux de communication. Les modules sont asynchrones et calculent en permanence leurs sorties fonction de leurs entrées. Les modules peuvent aussi contenir des état internes mémorisés, permettant à ALFA la programmation de traitements séquentiels. ALFA a été conçu dans le cadre d une méthodologie de conception hiérarchique en couches. Les interactions entre les couches reposent sur la transmission d informations d une couche vers la couche juste au-dessous. L architecture ATLANTIS [Gat1991b] est le résultat de cette démarche. Elle repose sur trois grands niveaux : le niveau de contrôle, le niveau de séquencement, le niveau délibératif. Le niveau de contrôle consiste en un mécanisme de contrôle réactif, sans état intermédiaire [Gat1991c]. Il est composé d un réseau de modules programmés en ALFA, directement liés aux capteurs et aux actionneurs. Le niveau de séquencement est à l origine un petit système d exploitation qui gère les changements d activité par l activation et la désactivation de modules de la couche de contrôle. Le niveau délibératif gère les traitements durant dans le temps tels que la planification ou la modélisation du monde. L architecture de contrôle du robot Rocky III (figure 7.10) utilise deux des niveaux d ATLANTIS et ajoute un bas niveau de pilotage des moteurs de la base mobile. Le niveau des moteurs sert simplement à gérer les consignes en vitesse pour la base. Le niveau de contrôle accomplit deux fonctions, le déplacement du robot dans une direction donnée et le contournement d obstacles. Le déplacement dans une direction donnée est établi à partir des mesures du compas, après correction de la direction courante. Le contournement d obstacles consiste à s éloigner des obstacles détectés par les capteurs de contact et à tourner d un angle donné. Le niveau de séquencement gère le déplacement du robot aux travers une série de points de passage, arrête le véhicule, collecte les échantillons avec le bras manipulateur du robot, et retourne à la base. Le point de collecte est représenté par ses coordonnées. Le point de retour (localisation de la base) est repéré par une balise et bien sûr par les coordonnées initiales en cas d occultation de la balise. Le niveau délibératif n est pas encore implémenté dans [Miller et al.1992]. Cette architecture hiérarchique orientée comportement ressemble fortement aux architectures hiérarchiques en couches, si ce n est que la hiérarchie n est ici appliquée qu à l action. Les actions correspondent ici à la transmission de l information sur la direction du but entre le niveau de séquencement et le niveau de contrôle, alors qu elle correspond à la vitesse tangentielle et la vitesse de rotation du robot du niveau de contrôle vers le niveau des moteurs. Les actions sont donc des informations sur le but du niveau comportemental inférieur.

146 Localisation du but Détection de balise Planificateur de sous buts Direction du but Compas Suivre la direction Détecteurs d obstacles Contourner les obstacles Actionneurs du bras Commande en direction Commande en vitesse Commande des moteurs bas niveau Moteurs de la base mobile Fig Architecture ATLANTIS sur le robot ROCKY III Architecture de FLAKEY selon L.P. Kaelbling L.P. Kaelbling présente une architecture hiérarchique de contrôle de robot mobile en terme de compositions de comportements [Kaebling1987]. Un comportement est défini par une procédure qui fait correspondre un ensemble d entrées (sorties du module de perception) en un ensemble de sorties destinées aux effecteurs du robot. Chaque comportement a bien sûr la possibilité d utiliser des états internes. Afin, de composer ces comportements, il existe une procédure appelée médiateur. Les entrées d un médiateur sont les sorties des différents comportements à combiner ainsi que celles du module de perception. Le principe qui génère alors la hiérarchie est le suivant : le module complexe composé d un médiateur et de ses comportements est équivalent lui-même à un comportement. Ainsi un ensemble de comportements de quelque niveau que se soit muni d un médiateur devient un comportement du niveau au dessus. L exemple suivant permet de mieux comprendre la méthode de conception d une telle architecture (figure??). La tâche du robot concerné (FLAKEY) consiste à traverser une long hall sans rien percuter. Il est alors plus important d éviter les collisions que d atteindre le bout du hall. Le robot est doté de télémètres vers l avant et sur chacun des côtés. Le problème est alors décomposé en trois comportements à différents niveaux de compétence de la manière suivante : Au niveau 1, le comportement du robot consiste à arrêter le robot dès qu un obstacle frontal est détecté ou dès que les mesures du télémètre frontal ne sont plus transmises. Dans le cas contraire le robot avance. Au niveau 2, le comportement du robot reprend le comportement précédent avec ceci de plus, qu il tourne quand il est arrêté si les capteurs de côté ne détectent pas d obstacle. Ainsi, le robot tourne tant qu il a un obstacle frontal et avance donc une fois qu il aura suffisamment tourné. S il ne peut tourner à cause de la présence d un obstacle il émet une commande no-command.

147 Au niveau 3, le comportement du robot profite de données perceptuelles de plus haut niveau, notamment si un mur est présent devant le robot ou sur le côté, à quelle distance et avec quelle précision. Ainsi si le mur n est pas trop proche et que sa distance au robot est précisément connue, le robot suit le mur, sinon il émet la commande no-command. Ce dernier niveau de compétence peut être décomposé en sous-comportements à différents niveaux d abstraction. Le premier sous-comportement permet au robot de rester parallèle au mur. Le second sous-comportement ralenti le robot à l approche d un obstacle frontal. Dans ce cas le médiateur n intervient pas puisque le premier sous-comportement influence la vitesse de rotation du robot, alors que le deuxième influence sa vitesse tangentielle. Dans le cas où certains sous-comportements proposent des commandes incompatibles, le médiateur est chargé d arbitrer pour la commande du sous-comportement le plus prioritaire (par exemple éviter les obstacles plutôt que de suivre le mur). Cette architecture orientée comportement hiérarchique est sensiblement différente de la précédente dans la transmission de l action d un niveau sur l autre. En effet l action du niveau n consiste à déterminer le comportement du niveau n Les nouveaux concepts dans la programmation d un robot mobile La réalisation du contrôle d un robot mobile, nécessite bien souvent une dé/-com/-po/-si/- tion suceptible de faciliter le travail du concepteur. Une des premières adoptées en ce sens fût la décomposition en modules fonctionnels, qui permet de distinguer différentes étapes dans le traitement de l information entre capteurs et actionneurs (Voir chapitre 1). Il est à noter que cette décomposition persiste dans les architectures les plus récentes, il s agit par exemple des modules de Brooks (voir paragraphe ) (plusieurs modules forment alors une couche) ou encore du module de perception de Kaelbling. Cette décomposition a pour vocation de fournir des représentations intermédiaires permettant de simplifier la représentation du problème. Cette décomposition n est en rien incompatible avec celles que nous allons présenter ici, mais sûrement complémentaire. Les architectures qui ont été présentées tout au long de ce mémoire, caractérisent d autres évolutions des concepts dans la programmation des robots mobiles. Nous allons nous attacher dans ce paragraphe à présenter de manière plus synthétique deux des concepts qui apparaissent clairement dans les nouvelles architectures de contrôle de robot mobile. Le premier de ces concepts est la concurrence, dont nous donnerons une définition afin de bien le distinguer de la notion de parallélisme. Le second, est le concept de hiérarchie. Il est apparu dès les premières architectures de contrôle, mais a subi de nombreuses évolutions. Nous en distinguerons quatre. Le concept de hiérarchie est beaucoup plus controversé que le concept de concurrence. Il reste souvent un choix méthodologique présentant à la fois des avantages et des inconvénients et peut s appliquer, comme nous le verrons, à des entités fonctionnelles ou comportementales La concurrence L utilisation du parallélisme dans le contrôle d un robot fait son apparition dès les premières architectures de contrôle de robot mobile. La quantité d information à traiter et la rapidité de calcul nécessaire à l organe de traitement de l information, impose l utilisation du parallélisme. Les architectures matérielles utilisées sont alors très souvent des machines MIMD, dans lesquelles les différents modules communiquent par mémoire partagée ou par passation de messages sur un canal de communication unique (ex. : Bus VME sur le robot mobile ANIS [Pissard-Gibollet1993], réseau de stations SUN sur le CMU Rover) ou sur plusieurs canaux de communication point à point (ex. : réseau de transputers sur le robot mobile SNAKE [Patrouix et Novales1994]). La décomposition fonctionnelle classique perception-modélisation-planification-action du contrôle

148 d un robot mobile nécessite alors une gestion assez fine pour permettre à divers modules de fonctionner en parallèle, de s associer dynamiquement pour la réalisation de comportements et de tâches différentes (voir paragraphe sur le contrôleur d exécution d HILARE [Noreils et Chatila1991]). Une autre approche consiste à associer des modules fonctionnels de manière statique dans le but de réaliser un comportement ou une tâche particulière du robot (voir paragraphe ). Si le robot doit réaliser une autre tâche ou un autre comportement, une autre série de modules fonctionnels sera mise en oeuvre. Si le robot doit pouvoir réaliser plusieurs comportements ou plusieurs tâches, alors plusieurs séries de modules fonctionnels seront mises en oeuvre. Ainsi une nouvelle entité est progressivement apparue, souvent appelée couche dans les étapes intermédiaires de son évolution et finalement correspondant à des entités comportementales (les couches de l architecture subsomption de Brooks, ne sont pas tout à fait des entités comportementales puisqu elles réutilisent des modules fonctionnels d autres couches. Seule la première couche est équivalente à un comportement). Ces entités comportementales sont alors complètement indépendantes, et permettent une introduction aisée du parallélisme au prix donc de la duplication de certains modules fonctionnels. La seule difficulté reste alors d établir à chaque instant laquelle de ces entités pilote réellement le robot. C est alors le rôle du mécanisme de sélection de l action mise en place entre les entités comportementales et les actionneurs (voir figure 7.12). C est donc progressivement que ces entités comportementales se sont imposées comme des entités logiques de programmation du contrôle d un robot mobile. Le contrôle d un robot mobile peut dès lors se décomposer sous forme d entités comportementales concurrentes munies d un mécanisme de sélection de l action. Le parallélisme inhérent à cette approche est devenu un concept logique la concurrence, étant entendu que la concurrence a trait à l approche conceptuelle de la programmation alors que le parallélisme recouvre les réalités physiques d implémentation et de ressources La hiérarchie La hiérarchie est un concept utilisé très tôt en robotique, pour établir des représentations intermédiaires améliorant la représentation du problème, tout comme la décomposition fonctionnelle. Le concept de hiérarchie est simplement basé sur le degré d abstraction de ces représentations. Remarquons que certaines architectures utilisent le concept de hiérarchie sans pour autant en fixer la structure par opposition aux architectures hiérarchiques systématiques [Noreils et Chatila1995] que nous allons répartir ici. Nous distinguons dans l évolution de ce concept, quatre grands types de hiérarchies : la hiérarchie fonctionnelle structurelle (type 1), la hiérarchie fonctionnelle active (type 2), la hiérarchie comportementale orientée but (type 3), la hiérarchie comportementale orientée activité (type 4) (voir schémas 7.13). La hiérarchie fonctionnelle structurelle (type 1), est une hiérarchie qui se base sur une décomposition fonctionnelle du contrôle. Côté perception les modules fonctionnels établissent une représentation de plus en plus abstraite destinée au module fonctionnel de plus haut niveau : le module de prise de décision. Côté action, le module de prise de décision transmet une commande haut niveau qui va être décomposée par une série de modules fonctionnels jusqu aux actionneurs. L utilisation d une telle approche est souvent due à une architecture cible de type monoprocesseur. Le contrôle du robot est alors confié à un unique programme. La routine principale fait office de module de prise de décision et les différentes routines utilisées pour symboliser la perception et l action dans cette routine, sont autant de modules intervenant dans la hiérarchie. La hiérarchie fonctionnelle active (Type 2), est identique à la hiérarchie fonctionnelle structurelle à ceci près que les modules fonctionnels sont ici des programmes pouvant s exécuter en parallèle. En général, ces modules sont localisés sur des cartes de traitements spécifiques. De plus les communications entre modules d un même niveau leur permettent de constituer une couche. L utilisation d une telle approche est faite dans de nombreuses architectures classiques hiérarchiques décrites au chapitre 1 paragraphe et au chapitre 4 paragraphe (ex. :

149 l architecture de Meystel [Meystel1982], NASREM [Albus et al.1987]...etc.). La hiérarchie comportementale orientée but (Type 3) est une décomposition de l application en entités comportementales (voir paragraphe précédent). Il n y a alors pas de hiérarchie côté perception puisqu une entité comportementale est directement liée aux capteurs. Par contre ces entités ne proposent pas forcément des actions directement destinées aux actionneurs comme les architectures comportementales non hiérarchiques, mais parfois des commandes de plus haut niveau qui s adressent alors à des entités comportementales du niveau au-dessous. Une utilisation de cette approche est présentée par l architecture ATLANTIS de Gat [Gat1991b], ou chaque niveau (ou couche) comportementale agit en adressant un but ou une commande au niveau juste au-dessous. La hiérarchie comportementale orientée activité (Type 4) est aussi une décomposition de l application en entités comportementales. La différence avec l approche précédente réside dans le modèle de l action. Chaque niveau (ou couche) comportemental n agit plus en adressant un but ou une commande au niveau juste au-dessous mais en spécifiant l activité du niveau inférieur, c est-à-dire en instanciant les entités comportementales correspondantes au niveau inférieur. Un exemple d utilisation de cette approche a été développé dans l architecture de Kaelbling pour le robot Flakey [Kaebling1987]. Nous présentons dans le tableau 7.2.2, le classement des architectures hiérarchiques systématiques présentées dans ce mémoire. Type de hiérarchie Type 2 Type 2 Type 2 Type 2 Type 2-3 Type 3 Type 4 NOM NASREM RAMINA CROWLEY ALV RAMSIS ATLANTIS Architecture de Kaelbling En conclusion de ce paragraphe, il est intéressant d étudier l architecture subsomption de Brooks. En effet, cette architecture est une architecture fonctionnelle hiérarchique mais pas, contrairement à ce qu on pourrait croire, une architecture comportementale hiérarchique. En effet, l utilisation de couches pour implémenter de nouveaux comportements tout en réutilisant certains modules fonctionnels de la couche inférieure en fait une architecture hiérarchique fonctionnelle active. Par contre pour obtenir son équivalence en terme d architecture orientée comportement, il est nécessaire de dupliquer pour chacune de ces couches les modules fonctionnels des couches inférieures utilisés et ainsi obtenir de réelles entités comportementales indépendantes (voir dessin 7.14). Auquel cas la hiérarchie disparaît et seul le mécanisme de sélection de l action est en charge de définir l entité comportementale prioritaire, en utilisant simplement les priorités représentées par les temporisations du mécanisme de subsomption de l architecture fonctionnelle. Ceci nous permet notamment de conclure qu une architecture orientée comportement possède une décomposition fonctionnelle qui peut permettre une simplification de l architecture finale. 7.3 Les nouvelles approches dans la représentation d un plan d exécution Un autre aspect intéressant est apparu dans l étude des architectures de ce chapitre : une représentation du plan mieux adaptée à la gestion des incertitudes de l exécution. Classiquement, l utilisation, d une carte et donc d une représentation métrique de l environnement, permet de définir un chemin, voire une trajectoire afin que le robot mobile atteigne son but sans percuter d obstacles. Or, cette démarche repose souvent sur l hypothèse d absence d incertitude dans l exécution. En effet, la trajectoire spécifiée pour le robot, correspond à l enchaînement idéal (parfois appelé nominal) des actions. Une quelconque variation de la

150 trajectoire ou encore de l environnement (en l absence d action du robot) est considérée comme un cas d échec. S.W. Wilson de Cambridge introduit un formalisme qui permet de mieux comprendre le problème de cette approche [Wilson1991]. Il nous montre notamment comment cette démarche consiste à appréhender l environnement de manière très déterministe, c est-à-dire comme si l environnement était une machine à état fini (FSM) : Q(t + 1) = F(Q(t), A(t)) E(t + 1) = G(Q(t), A(t)) avec A les entrées de la machine c est-à-dire les actions du robot, E les sorties de la machines c est-à-dire les mesures capteurs du robot, et Q l état courant de la machine donc de l environnement. La première équation affirme alors que le prochain état de l environnement est fonction de son état courant et de l action du robot. Il est donc considéré ici que l environnement est suffisamment connu et les mesures capteurs précises pour que dans un même état de l environnement et pour la même action, l état suivant de l environnement soit exactement connu. Une autre façon de représenter l environnement de manière plus réaliste est sous la forme d une machine à état sensoriel (SSM), c est-à-dire sous la forme : {E(t + 1)} = F(E(t), A(t)) Dans ce cas les mesures capteurs sont une conséquence des mesures et de l action courante, mais, comme l indiquent les accolades, choisies dans un ensemble de mesures possibles. Ainsi, ce formalisme exprime bien le non-déterminisme qui peut apparaître dans un environnement réel. De plus et comme nous l avons vu dans le chapitre 3, une des grandes difficultés en robotique mobile réside dans la localisation du robot. Les méthodes de localisation à l estime (voir paragraphe 3.4.3) ne sont par exemple pas à l abri du glissement des roues du robot, et la localisation absolue (voir paragraphes et 3.4.5) nécessite l installation de balises ou un équipement capteur sophistiqué. Ainsi, l utilisation qualitative d amers perceptuels pour localiser le robot et décrire son environnement peut représenter une alternative intéressante à la classique représentation métrique. Nous présentons ici deux approches qui illustrent bien ces deux constats A partir d une représentation de l environnement métrique Cette première approche est faite à partir d une carte et donc d une représentation métrique de l environnement. Pour un but donné la carte représente aussi l ensemble des champs de directions (les actions) du robot en tout point accessible de l environnement (voir exemple 7.15). Ainsi, quelle que soit la localisation du robot, une action (sa direction) est définie qui le rapproche de son but. Par contre, aucune hypothèse n est faite sur l exécution de cette action. Le robot trouvera donc, quel que soit son état suivant, la nouvelle action à accomplir. La représentation du plan (ici des actions fonction de la carte de l environnement et du but du robot) correspond donc bien à l hypothèse d un environnement du type machine à état sensoriel. L état sensoriel est ici confondu avec la localisation du robot, considéré comme sûre. Cette approche permet à R. Arkin de représenter l effet de ces schémas moteur sur la trajectoire du robot [Arkin1987] [Arkin1989]. H. Payton est un des premiers à la proposer comme plan internalisé [Payton1990] pour la navigation d un robot mobile [Payton et al.1990] A partir d une représentation de l environnement qualitative et non-métrique. Cette autre approche dans la représentation du plan n utilise pas, du moins en premier lieu, la localisation métrique du robot. En fait le but est d associer à un certain nombre de zones

151 de l environnement (voir exemple 7.16) des amers perceptuels qui permettent de les définir de manière unique et donc de localiser le robot [Wesley1993]. Souvent les mesures capteurs courantes permettent de distinguer déjà un certain nombre de zones. Dans notre exemple la zone 15 correspondant à la détection d une balise lumineuse (mesures des capteurs infra-rouges au-dessus d un certain seuil) définit cette zone de manière unique. Malheureusement le robot ne possède pas en général de capteurs très sophistiqués (dans notre exemple des télémètres et détecteurs de lumière) et donc de nombreuses autres zones ne sont pas distingables par leurs seules particularités. Une deuxième étape consiste donc à tenter de distinguer ces zones fonction de l évolution des mesures capteurs pour un comportement du robot donné. Cette représentation appelée graphe sensori-moteur [Rodriguez1994] de ces zones est utilisée par J.-P. Müller pour planifier l enchaînement des comportement de son robot dans l architecture MARS (voir paragraphe ). Ainsi prenons un comportement pour lequel le robot suit les obstacles de droite (par exemple suit le mur de la zone 7 en allant vers la zone 6). Le robot pourra alors distinguer la zone 9 des autres zones puisque ce sera la seule zone pour laquelle il obtiendra des mesures télémétriques de chaque côté. Par contre les zones 6 et 7 ne sont toujours pas distingables. L approche la plus robuste consiste à rajouter des informations proprioceptives mais de manière grossière telles que la direction ou encore la position du robot. M. Mataric distingue définitivement toutes les zones de son environnement à partir de ces informations [Mataric1991] dans l architecture de TOTO (voir paragraphe ). Cette représentation de l environnement munie d une zone destination et d une zone de localisation est alors très performante pour établir un plan. En effet, le planificateur peut toujours établir le plus court enchaînement de zones à partir d une recherche dans le graphe correspondant. Un certain nombre de comportements lui permettent alors de passer d une zone à l autre. Dans notre exemple si le parcours d un lien du graphe, c est-à-dire le passage d une zone à l autre, correspond au suivi des obstacles de droite, alors le parcours du lien dans l autre sens correspondra au suivi des obstacles. Il est intéressant de remarquer qu une telle approche peut être implémentée de manière complètement distribuée [Mataric1991] et se rapproche ainsi très fortement des hypothèses qui sont aujourd hui faites par le milieu des physiologistes sur la mémorisation d un lieu et son rappel pour la navigation chez l animal. Les informations d une scène seraient alors simplement mémorisées et organisées entre elles selon des relations topologiques. 7.4 conclusion Nous avons présenté dans ce chapitre de nombreuses architectures de contrôle pour robot mobile, dont les plus récentes (voir tableau 7.4 récapitulatif des architectures de contrôle de robots mobiles étudiées dans ce mémoire). Ceci nous a permis de dégager l évolution de ces architectures vers une nouvelle approche dans la programmation des robots mobiles aux travers les architectures orientées comportement. Ces architectures se distinguent par l utilisation du concept de concurrence dans la décomposition de l application entre différentes entités comportementales. Nous récapitulons, à cette occasion, l évolution du concept de hiérarchie. Nous distinguons alors quatre grands types d approches hiérarchiques, deux pour les architectures fonctionnelles, deux pour les architectures comportementales. Par ailleurs nous avons pu souligner des travaux intéressants allant vers des représentations de l environnement et de plan plus appropriées à l évolution d un robot dans un environnement incertain. Ces travaux sont soit, basés sur une représentation métrique, soit développé sur une représentation qualitative et perceptuelle de l environnement. A partir de ces nouveaux concepts de programmation des robots, nous présenterons dans le prochain chapitre un modèle plus formel pour la conception d architectures orientées comportement hiérarchiques ou non, basé sur la définition d agent comportemental et de systèmes multi-agents comportementaux.

152 Type d architectures Architectures Planificateur, Contrôleur d Exécution Architectures Hiérarchiques Fonctionnelles actives Architectures centralisées (souvent Blackboard) Architectures Purement Réactive Architectures Planificateur, Contrôleur Comportemental Architectures orientées Comportement Architectures orientées Comportement Hiérarchiques Nom SHAKEY HILARE ROME0 Meystel NASREM RAMINA Architecture de Crowley ALV RAMSIS CMU ROVER NAVLAB KAMRO Hetero Helix PANG TCA YOUPI Subsomption NRC AuRA MARS FLAKEY selon Saffiotti TOTO DAMN ATLANTIS FLAKEY selon Kaelbling

153 perception Suivre mur Eviter Obstacles NIVEAU 2 M E D I A T E U R M E D I A T E U R commande NIVEAU 1 Fig L architecture de FLAKEY selon L.P. Kaelbling

154 entités comportementales capteurs mécanisme de sélection de l action actionneurs Fig Concurrence entre entités comportementales capteurs actionneurs Type 1 capteurs Type 2 actionneurs capteurs capteurs Type 3 actionneurs Type 4 actionneurs Fig Les différents types de hiérarchies

155 capteurs actionneurs architecture focntionnelle architecture comportementale équivalente Fig Les différents aspects de l architecture subsomption

156 B Fig Carte des champs de direction 1 B Fig Zones de recouvrement capteurs

157 Chapitre 8 Vers un système Multi-Agents Comportementaux Chapitre 8. Vers un système Multi-Agents Comportementaux III. Une Architecture orientée Comportement, SMACH 8.1 Introduction Comme nous venons de le voir dans le chapitre précédent, de nouvelles architectures orientées comportement font leur apparition. Ces architectures mettent en oeuvre des entités comportementales concurrentes et un mécanisme de sélection de l action qui gère les conflits entre ces entités. Cette évolution du modèle de programmation d un robot entre niveau, couche et entité comportementale présente de fortes similitudes avec celle connue dans la programmation logicielle entre objet passif, objet concurrent et acteur [Agha1986], où l introduction du parallèlisme dans un modèle a priori structurel conduit progressivement au concept logique de concurrence [Pazzaglia1994]. Ce chapitre a pour objectif de fournir une représentation plus formelle de ces architectures. Pour cela, nous allons dans un premier temps établir la nature de ces entités comportementales et en déduire la notion d agent comportemental. Dans un second temps nous présenterons les Systèmes Multi-Agents comportementaux, comme paradigme de programmation comportementale d un robot. Nous verrons notamment les difficultés que l on peut rencontrer dans l étude des actions simultanées. Nous montrerons alors que les différents mécanismes de sélection de l action mis en oeuvre dans les architectures orientées comportement correspondent à des principes de coopération ou d interaction entre agents comportementaux. Enfin, nous introduirons la notion de hiérarchie dans notre modèle, en partant notamment de constats qui ont pu être fait en biologie, en éthologie...etc. Cette hiérarchie repose alors sur des principes admis du comportement animal, pour lesquels les modèles de comportements complexes peuvent souvent être décomposés en modèles de comportement plus simples. Nous décrirons ainsi la notion de Système Multi-Agents Comportementaux Hiérarchiques. 8.2 Vers la notion d Agent Comportemental Introduction Nombreuses sont les applications qui utilisent la notion d agent et de système multi-agents. Ce concept est né de l Intelligence Artificielle distribuée [Erceau et Ferber1991] [Demazeau et Müller1990] et de la volonté de gérer des entités qui interviennent dans la programmation distribuée d une

158 application intelligente. J. Ferber et M. Ghallab distinguent deux grandes catégories d agents selon leur nature [Ferber et Ghallab1988] : Les systèmes Multi-Robots dans lesquels les agents sont des entités physiques distinctes, ayant une autonomie de décision et d action. Les systèmes Multi-Experts où les agents sont des entités informatiques, modules logiciels voire matériels. Ces entités ont la capacité de mener à bien une tâche précise dans le cadre de la résolution d un problème plus général. Elles peuvent prendre la forme d une procédure (codant un certain algorithme) ou d une base de connaissances et de son mécanisme de raisonnement associé (système expert classique). Le terme d agent peut donc définir des concepts parfois assez différents, plus ou moins ambitieux selon qu ils soient plus ou moins proches des contraintes de l implémentation d un Système Multi-Agents. Prenons l exemple de l agent tel qu il peut être défini selon qu il s agisse d un animal, d un animat [Wilson1991] [Meyer et Guillot1991] ou encore d un robot dans le cas d un Système Multi-Robots. Dans le cadre de l étude de l éthologie et du comportement animal, les notions de survie et de reproduction sont cruciales et incontournables. Dans le cadre de l expérimentation, le seul moyen qui permette d être le moins réducteur possible sur ces deux notions, est souvent la simulations de tels agents dans un monde virtuel. Mais ceci impose bien sûr des hypothèses fortes sur le monde, avec notamment une absence d incertitudes qui le rend idéal. C est le choix qui a été fait par J. Ferber où la simulation d Eco-Sytsèmes (ex. : le fonctionnement d un essaim d abeilles) lui permet de dégager des méthodes de résolution de problèmes distribuées l Eco résolution dans des mondes virtuels (ex. : Problème du N-Puzzle [Drogoul et Dubreuil1992], où chaque carré mobile du jeu est considéré comme une entité autonome). D autres comme L. Steels, plus interéssés par une expérimentation dans un monde réel, ont construit un Eco- Système artificiel composé de mini-robots CBOT (voir paragraph ). L. Steels présente alors une définition de l agent plus inspirée de la biologie que de l Intelligence Artificielle. Un agent [Steels1994] est un système capable de se maintenir lui-même, d accomplir une fonction ou un ensemble de fonctions qui déterminent son rôle, lui donnent des ressources, et donc assurent sa viabilité. En pratique, la viabilité de l agent est essentiellement liée au niveau d énergie du robot. Par contre la possibilité de se reproduire a complétement disparu pour l agent tel qu il pouvait être appréhendé à un niveau plus théorique. En effet, il est aujourd hui très difficile de demander à des robots constitués de composants électroniques et mécaniques de se reproduire avec d autres robots. L autre approche de l agent s est développée dans le cadre des Systèmes Multi-Experts [Haton1989]. Il correspond alors à une entité experte et indépendante. Le Système Multi-Agents correspondant fournit alors un cadre de collaboration entre ces entités pour la résolution de problèmes. Cette idée de résolution distribuée de problèmes remonte au milieu des années 70 avec, d une part, les langages d acteurs [Hewitt et Liebermann1984] et d autre part le modèle d architecture du blackboard dont nous avons déjà parlé au chapitre 1 dans le cadre de l utilisation qui en est faite en Robotique Mobile. Ces deux approches se différencient principalement par le mode d interaction et de communication entre les agents qui sont l envoi de message et le partage d information. Dans une communication par envoi d information, la communication entre deux agents est explicitement établie et se matérialise par l échange d un message entre les deux protagonistes selon un protocole établi. Les acteurs par exemple utilisent la passation de messages entre agents qui ont un comportement lié aux actions attachées aux messages. La communication par partage d informations définit une structure de données partagée globale et commune à tous les agents. Toutes les communications entre agents passent par cette structure. Les agents benéficient d un outil de communication permettant donc de communiquer entre eux sans se connaitre mutuellement.

159 La notion d agent est donc assez disparate selon qu elle soit issue d une analogie avec un individu appartenant à une société ou de la volonté de décrire une entité informatique experte et indépendante Définition de l Agent Il n est pas vraiment évident d établir une définition de l agent qui puisse fédérer les différentes approches que nous venons de survoler. Une première définition minimale commune de l agent, précisée par la suite, a été établie par J. Ferber [Ferber1989] [Ferber1995] : On appelle agent une entité physique ou virtuelle qui est capable d agir dans un environnement, qui peut communiquer directement avec d autres agents, qui est mûe par un ensemble de tendances (sous la forme d objectifs individuels ou d une fonction de satisfaction, voire de survie, qu il cherche à optimiser), qui possède des ressources propres, qui est capable de percevoir (mais de manière limitée) son environnement, qui ne dispose que d une représentation partielle de cet environnment (et éventuellement aucune), qui possède des compétences et offre des services, qui peut éventuellement se reproduire, dont le comportement tend à satisfaire ses objectifs, en tenant compte des ressources et des compétences dont il dispose, et en fonction de sa perception, de ses représentations et des communications qu il reçoit. Cette définition générale, mérite d être précisée. Une fois appliquée aux différentes utilisations de l agent, il en ressort néanmoins deux grandes familles conceptuelles. Ainsi les agents utilisés dans le cadre des Systèmes Multi-Experts et ceux utilisés dans les Systèmes Multi- Robots présentent des caractéristiques bien différentes. Les Systèmes Multi-Experts, par exemple, sont généralement composés d agents communicants. On appelle agent purement communicant ou agent logiciel [Ferber1995], une entité informatique qui se trouve dans un système informatique ouvert (ensemble d applications, de réseaux et de systèmes informatiques hétérogènes), qui peut communiquer avec d autres agents, qui est mûe par un ensemble d objets propres, qui possède des ressources propres, qui ne dispose que d une représentation partielle des autres agents, qui possède des compétences (services) qu il peut offrir aux autres agents, dont le comportement tend à satisfaire ses objectifs, en tenant compte des ressources et des compétences dont il dispose, et en fonction de ses représentations et des communications qu il reçoit. Les Systèmes Multi-Robots sont, quant à eux, composés d agents situés. On appelle agent purement situé [Ferber1995] une entité physique (ou éventuellement informatique si on simule) qui se trouve située dans un environnement, qui est mûe par un fonction de survie, qui possède des ressources propres, sous la forme d énergie et d outils, qui est capable de percevoir (mais de manière limitée) son environnement, qui ne possède pratiquement aucune représentation de son environnement, qui possède des compétences, qui peut éventuellement se reproduire, dont le comportement tend à satisfaire sa fonction de survie, en tenant compte des ressources, des perceptions et des compétences dont il dispose. La distinction entre ces deux grands types d agents persiste donc, même s ils se rattachent tous deux à une définition plus large et plus complète. C est ainsi que le robot mobile est souvent considéré comme un agent situé évoluant dans un environnement (espace métrique) pourvu d objets et d autres agents (robots) Systèmes Multi-Robots Certaines recherches portent sur l utilisation de plusieurs robots pour résoudre des problèmes dans un environnement changeant et plus particulièrement pour accomplir une tâche commune. Le robot mobile dans un système multi-robots peut être considéré comme un agent. Ainsi, le concept de Système Multi-Agents permet d étudier les mécanismes d interaction entre ces entités vers l auto-organisation d un ensemble d agents.

160 Le Professeur Fukuda propose un Système appelé CEBOT [Ueyama et al.1992] pour étudier le comportement auto-organisant d agents robotiques autonomes. Par exemple, dans [Kawauchi et al.1993], des cellules mobiles sont utilisées pour transporter un même objet de manière coordonnée. Ici, chaque cellule doit obéir a de simple lois de commande. La prise de décision distribuée résultant de ce type de Système Multi-Robots est alors étudiée comme un ensemble de conditions sur les différents paramètres de ces lois de commande pour stabiliser le système global. L efficacité d une telle approche est évaluée selon le nombre d agents intervenant dans la tâche. D autres travaux ont été développés dans le même esprit, en utilisant des agents robotiques pour accomplir une tâche dans un environnement dangereux ou inaccessible à l homme. R. Brooks au MIT utilise des équipes d agents robots basés sur le concept de Subsomption pour construire une base lunaire [Brooks et al.1990] [Mataric1992a]. De même, Steels utilise une société de microrobots pour récolter des échantillons sur la surface d une planète et étudie l auto-organisation entre ces agents réactifs [Steels1990]. Arkin évalue pour sa part l impact des communications entre les robots pour l accomplissement d une tâche commune. Il distingue ainsi des équipes sans communication inter-robots des équipes où les robots peuvent se communiquer une partie de leur état réciproque. L agent n est pourtant pas forcé de correspondre au robot tout entier. Quelle différence peut-il y avoir entre le fait de faire accomplir une tâche par des cellules robotiques contraintes d appartenir à un même plan de travail (ex. : les cellules mobile CEBOT [Fukuda et al.1989] ayant trois degrés de liberté entre elles) et des cellules segments et articulations d un bras manipulateur (qui ont un ou zéro degré de liberté entre eux)? Certains travaux en Robotique Cellulaire font donc correpondre un agent à une entité physique composante du robot et non plus au robot tout entier. C est donc le robot qui devient un Système Multi-Agents Le robot cellulaire Introduction La robotique cellulaire s intéresse à la décomposition modulaire des robots. Un robot est considéré comme un Système Multi-Agents puisque chacun de ses composants correspond à un agent. La réalisation d un mouvement est alors le résultat de la coordination d un ensemble d agents. J. Perram [Overgaard et al.1995] de l Université de Odense définit par exemple les segments et les articulations d un bras manipulateur comme des agents autonomes. Des forces artificielles sont alors introduites pour exprimer et combiner des objectifs multiples parfois en conflit comme éviter un obstacle tout en se raprochant d un point de destination. Les agents des articulations imposent des forces de contrainte entre les agents des segments. L évolution du Système Multi- Agents confère un comportement au robot qui lui permet d éviter les obstacles. D. Duhaut et S. Regnier du Laboratoire de Robotique de Paris [Regnier et al.1994] [Regnier et Duhaut1995] proposent une inversion du modèle géométrique d un bras manipulateur en faisant correspondre chacun des segments du robot à un agent. L agent de tête cherche à satisfaire le but qui lui est donné (position et orientation de l organe terminal). S il peut le faire lui-même, il effectue le déplacement, Sinon il transmet un nouveau but à l agent qui le suit, pour se rapprocher lui-même de son but Un exemple : le robot mobile bi-cellulaire Dans l exemple du robot mobile bi-cellulaire présenté ici, un agent est composé d un capteur télémétrique, d un petit circuit (mécanisme de prise de décision) et d une roue motorisée. Ainsi, l agent cellulaire 8.1 peut seulement aller tout droit, en avant ou en arrière toujours dans la même direction. Quand il détecte un obstacle, il se place à une certaine distance de ce dernier. Le comportement de l agent est alors le résultat de sa prise de décision conditionnée

161 capteur télémétrique roue mouvements Fig. 8.1 Description de l agent cellulaire par l équation : V i = V max K.y i (8.1) Où V i est la vitesse de la roue de l agent et y i est la la mesure du capteur télémétrique (inversement proportionnelle à la distance à l obstacle). Bien sûr un agent est vraiment limité par ses mouvements et un agent seul ne présente pas grand intérêt dans le cadre d une application. Un robot mobile avec deux roues motrices différentielles est un exemple d un Système Multi- Agents utilisant deux de ces agents cellulaires 8.2. Chaque agent peut toujours établir sa vitesse contrainte d interaction mouvements Fig. 8.2 Le robot mobile bi-cellulaire fonction de sa propre mesure. Certaines contraintes mécaniques apparaissent alors comme les conditions d interaction entre les agents. Ainsi, la liaison mécanique imposée par l axe commun des deux roues : 2.l. θ V 1 + V 2 = 0 (8.2) permet la rotation du système complet : θ = [ V 1 2.l ] [V 2 2.l ] (8.3) Le comportement du Système Multi-Agents résultant (robot mobile complet) consiste à rester à une distance donnée face au premier objet rencontré. Cet exemple explicite donc un robot dont le comportement est le résultat d une collaboration entre deux agents cellulaires L Agent Comportemental Notre démarche est sensiblement la même ici que dans la robotique cellulaire si ce n est que nos agents, c est-à-dire les entités autonomes considérées dans notre application, ne sont plus des composants physiques du robot, mais plutôt des entités informatiques indépendantes et expertes qui ont la faculté de doter le robot d un comportement particulier [Tigli et Thomas1994c]. Pour établir la définition de l agent comportemental nous allons tout d abord définir ce que nous entendons par comportement. Dans la littérature comportement est souvent synonyme de comportement réflexe, c està-dire des comportements basés sur un ensemble de stimulus-réponse immédiate. Nous adopterons ici le concept le plus large de comportement parmis de nombreux qui peuvent être proposées ([Lewis1991], [Arkin1987], [Brooks1991b], [Meyer et Guillot1991], [Müller et Pischel1993], [Badreddin1991]

162 ...etc.). Définitions : Un comportement est une évolution particulière observée d un agent situé dans son environnement. Il correspond à un mécanisme reliant perception-action de l agent situé sur et dans son environnement. Sous l influence de ce mécanisme l agent situé (exemple le robot) agit sur l environnement en percevant ses modifications et en s y adaptant. Nous définirons donc l agent comportemental comme étant l entité virtuelle autonome et experte qui confère au robot un certain comportement face à son environnement. Remarquons que l agent comportemental est souvent logiciel (l agent comportemental est utilisé dans l animation comportementale sur des plateformes de simulation [Donikian et Arnaldi1994]). Il peut tout aussi bien être une liaison capteurs-actionneurs cablée ou encore conceptuelle comme la notion de schéma (voir la définition du paragraphe) ). [Donikian et Arnaldi1994] Chaque agent comportemental est autonome puisqu il permet au robot d évoluer sous sa seule influence, et possède bien une fonction de satisfaction explicitable selon le type de comportement (éviter les obstacles, suivre l environnement situé sur la gauche du robot, se positionner devant une balise lumineuse, etc...) 8.3 Le Système Multi-Agents Comportementaux Introduction Nous avons vu au chapitre précédent un certain nombre d architectures qui utilisai-ent des entités comportementales dans la programmation des robots, dès lors qualifiées d agents comportementaux. Ces architectures présentent alors une organisation similaire qui développe la concurrence entre les agents comportementaux et utilise un mécanisme de sélection de l action qui permet d éviter les conflits au niveau des moteurs du robot (voir schéma général de la figure 8.3). Chacune des perception agent comportemental action capteurs agent comportemental agent comportemental agent comportemental sélection de l action moteurs Fig. 8.3 Schéma général des architectures orientées comportement architectures orientées comportement se caractérise donc par des agents comportementaux dont la nature peut varier (selon le niveau comportemental concerné) mais aussi et surtout par le mécanisme de sélection de l action qui conditionne la compétition, voire la coopération entre les agents comportementaux.

163 8.3.2 Le mécanisme de sélection de l action La gestion des conflits dans l action La problématique de l action et de l action simultanée [Ferber1994] de plusieurs agents, reste un problème ouvert. En effet, très peu de modèles d action permettent de décrire les conséquences des actions simultanées d agents dans leur environnement. Intuitivement, la conséquence d actions simultanées est souvent traduite par une combinaison de ses actions. Dans le cas d une simulation, pour un monde virtuel dont les principes sont parfaitement connus, cette combinaison des actions peut être modélisée. Par exemple, dans un jeu sur une grille, deux agents voulant occupper une même case s inhibent et aucun d eux ne bouge. Il s agit ici d un modèle idéal de conflit sur des actions simultanées (cas de collision). Dans d autres cas comme pour les robots cellulaires, les résultats d actions simultanées sont régis par des contraintes mécaniques d interaction. Par exemple, pour notre robot mobile l interaction mécanique entre les deux agents cellulaires provoque l émergence de la rotation du robot (a priori non envisageable à partir des deux agents séparés qui, eux, allaient toujours tout droit). Dans le cas des bras manipulateurs multi-cellulaires le mouvement d un agent cellulaire (segment) influence bien évidemment le mouvement des agents qui le suivent selon des lois bien précises issues de la mécanique des corps rigides. Il est donc bien souvent difficile de donner le résultat d actions simultanées dans le cas de Sytèmes Multi-Agents, et cette notion appartient au domaine d application concerné. Nous allons présenter dans les paragraphes suivants, les différents mécanismes de sélection de l action, voire d interaction entre agents comportementaux, qui sont envisageables si l on s inspire des travaux qui ont été mis en oeuvre dans les architectures orientées comportement étudiées dans ce mémoire Différents mécanismes de sélection de l action Nous distinguerons ici trois grandes catégories de mécanismes de sélection de l action dans les différentes approches que nous avons déjà étudiées. L un des premiers mécanismes utilisé est le mécanisme d alternance puisqu il s agit en fin de compte de celui mis en oeuvre dans l architecture de subsomption de Brooks. En effet à partir de l équivalence que nous avons établie entre l architecture subsomption en couche et l architecture orientée comportement équivalente (voir paragraphe 7.2.2), nous pouvons remarquer que le mécanisme alors mis en oeuvre provoque une alternance des actions des agents comportementaux du robot. En fait, chaque agent comportemental a alors la possibilité d agir (de piloter les moteurs du robot) sur une période dont la longueur correspond à sa priorité (voir figure 8.4). comportement priorité faible 1/7 comportement priorité moyenne 2/7 comportement priorité forte 4/7 Fig. 8.4 Mécanisme d alternance accés moteurs dans le temps Un autre mécanisme couramment utilisé est le mécanisme d arbitrage. Il s agit à chaque instant de faire le choix d une action d un des agents comportementaux du système. Ce mécanisme met souvent en oeuvre une représentation de la situation du robot, comme dans le cas de l automate de situation de Kaelbling ou de notre blackboard situationnel présenté dans le chapitre 6, qui permettra d établir pour chacun des agents comportementaux une condition pour qu il

164 puisse réellement agir (piloter les moteurs). Enfin, le dernier mécanisme que nous distinguerons est le mécanisme de fusion. Il peut tout d abord s exprimer simplement comme calculant l action moyenne à partir des actions proposées par tous les agents comportementaux en compétition (c est le cas de la fusion des schémas moteurs d Arkin [Arkin1987]), pour peu que ces derniéres soient paramétrables. Rosenblatt [Rosenblatt1994] [Rosenblatt et Payton1989] dans DAMN utilise une apporche un peu plus sophistiquée pour la fusion, qui consiste à demander à chaque agent comportemental d établir sa préférence (sous forme de vote, nombre de 0 à 1) pour l ensemble des actions possibles du robot. Le mécanisme de fusion choisit donc l action qui présente le meilleur score. Cette action n est pas forcément une action qui aurait pu être choisie par l un des agents pris séparémment. C est pour cette raison que nous assimilons ce mécanisme à un mécanisme de fusion Vers des communications entre agents comportementaux perception agent comportemental Tous ces mécanismes se présentent néanmoins comme des approches centralisées dans la sélection de l action, à l exception de l architecture subsomption. C est souvent le cas lorsque l on se trouve dans une phase d implémentation et d expérimentation, car un mécanisme centralisé permet de supprimer totalement les communications entre les agents. Néanmoins au niveau conceptuel ces mécanismes sont tout à fait équivalents à ceux que l on pourrait établir de manière distribuée sur chacun des agents. Il suffirait dans le pire des cas de dupliquer le mécanisme de sélection de l action sur chacun des agents et de faire maintenir la cohérence entre les différents mécanismes par des communciations entre agents 8.5. Cette soluaction agent comportemental agent comportemental capteurs agent comportemental moteurs Fig. 8.5 Système Multi-Agents comportementaux communiquants tion pour distribuer complétement l application est malheureusement couteuse car chaque agent doit pouvoir communiquer avec tous les autres (c est le cas dans l architecture orientée comportement basée sur le mécanisme d inhibition latéral rétropropagée vu au paragraphe ). Nous avons néanmoins vu dans les perspectives des travaux présentés dans le chapitre 6, qu il est posssible en analysant le mécanisme de sélection de l action (dans le cas du blackboard situationnel il s agit d un mécanisme d arbitrage) de réduire considérablement les communications. Par la suite, nous ne distinguerons donc plus les Systèmes multi-agents comportementaux dotés d un mécanisme de sélection de l action centralisée, de ceux dans lesquels chaque agent communique et décide de concert avec les autres s il applique ou non son action. Cette distinction reste du domaine de la mise en oeuvre du Système, compte tenu des équivalences que l on peut trouver entre mécanismes de sélection de l action centralisés ou distribués.

165 8.4 Vers la notion de Système Multi-Agents Comportementaux Hiérarchique La notion de Hiérarchie dans les Systèmes Multi-Agents Prenons par exemple la notion de super organisme telle qu elle est décrite par C. Noirot de l Université de Bourgogne dans [Calderon1991]. Cette notion revient à considérer une société, un ensemble d individus, comme intégrée dans une unité d ordre supèrieure. C est-à-dire que la société en question est alors assimilée elle-même à un individu organisé. Les soldats de termites peuvent être par exemple comparés au système imunitaire d une souris. Le rassemblement d un grand nombre d individus, au départ approximativement identiques, mais dont les activités s intégrent et se coordonnent, donnent naissance à une unité d ordre supérieur. Cette intégration fait émerger des propriétés qui sont un peu plus que la somme des propriétés des individus qui la composent. D autres comme T. Fukuda n hésitent pas à établir une correspondance entre la hiérarchie dans l organisation de Systèmes Multi-Robots cellulaires CEBOT et celle physiologique des organismes vivants (cellules - tissus - organes) [Kawauchi et al.1992]. On peut donc très naturellement concevoir un agent sous la forme d un système multi-agents, et donc considérer les Système Multi-Agents comme des poupées russes, c est-à-dire comme des collectifs d agents eux-mêmes représentés sous la forme de Systèmes Multi-Agents. Le processus de construction est alors récursif et se continue jusqu à la réalisation d agents primitifs indécomposables [Ferber1995]. La hiérarchie n est donc pas une notion incompatible avec celle de Systèmes Multi-Agents. Il suffit juste d établir à quel niveau d abstraction, on veut gérer ou observer le Système. Dans le cas des Systèmes Multi-Agents comportementaux, cette idée est très intéressante, étant entendu qu il peut exister une hiérarchie entre les comportements. perception action sélection de l action moteurs capteurs Fig. 8.6 Système Multi-Agents Hiérarchique Le Système Multi-Agents Comportementaux Hiérarchique A. Manning [Manning1979] note que dans le comportement d un animal, des modèles comportementaux complexes sont souvent décomposables en d autres modèles comportementaux plus simples. Cette décomposition apparait hiérarchiquement entre les comportements les plus simples comme être debout, marcher, mordre et avaler qui sont subordonnés aux comportements de plus haut niveau comme attaquer, fuir, et se nourrir. De même que différents types de comportements réflexes doivent concourrir pour contrôler la trajectoire de l animal ou du robot

166 (c est à dire contrôler les muscles ou les moteurs), il est fort probable que les comportements de plus haut-niveaux doivent concourrir pour contrôler les comportements de plus bas niveau [Anderson et Donath1990]. Il semble en être de même à tout niveau comportemental, même quand cela dépasse le pur niveau réflexe. Nous allons donc proposer ici la description d un Système Multi-Agents comportementaux Hiérarchique (figure 8.7). Un tel Système ne respecte pas tout à fait la hiérarchie telle qu elle perception décision action décision décision sélection de l action moteurs capteurs Fig. 8.7 Système Multi-Agents Comportementaux Hiérarchique a été envisagée au paragraphe précédent. En fin de compte les agents d un niveau sont des Systèmes Multi-Agents du niveau inférieur augmentés d un niveau décisionnel. Cette décomposition permet de construire un Système Multi-Agents Comportementaux en réutilisant ceux qui ont déjà été programmés au niveau au-dessous, pour établir des comportements du robot de plus en plus élaborés dans leur processus de décision. 8.5 Conclusion Nous venons donc de présenter dans ce chapitre une généralisation des architectures orientées comportement du chapitre précédent. Pour cela nous avons regroupé les différentes entités comportementales que nous avons décelées dans les architectures du chapitre précédent, sous le seul et même concept d agent comportemental. Ainsi, nous avons pu définir un Système Multi-Agents comportementaux, comme un ensemble d agents comportementaux munis d un mécanisme de sélection de l action nécessaire à la gestion de la compétition et des conflits entre agents. L idée de concevoir un agent comme un système Multi-Agents nous permet alors d envisager ce que nous appelons un Système Multi-Agents comportementaux Hiérarchique et la possibilité de concevoir par ce biais des agents comportementaux de plus en plus sophistiqués. Dans le chapitre suivant nous verrons comment appliquer ce concept à la navigation d un robot mobile, non seulement pour le programmer à un niveau de comportements réflexes mais aussi à des niveaux plus élaborés de la navigation, tactique et stratégique.

167 Chapitre 9 Mise en oeuvre et expérimentations de l architecture SMACH Chapitre 9. Mise en oeuvre et expérimentations de l architecture SMACH III. Une Architecture orientée Comportement, SMACH 9.1 Introduction Ce chapitre présente à la fois la mise en oeuvre et les expérimentations qui ont été faites de l architecture SMACH en robotique mobile. Cette architecture orientée comportement est basée sur les concepts présentés au chapitre précédent, c est à dire les notions de Concurrence (agents comportementaux, de mécanisme de sélection de l action) et de Hiérarchie. Deux des idées centrales de cette mise en oeuvre de SMACH pour la navigation d un robot mobile sont inspirées à la fois de la première et de la seconde partie de cette thèse. En effet, suite aux conclusions de la première partie nous avons évité d utiliser des méthodes de localisation métrique, c est-à-dire qui repèrent le robot par ses coordonnées sur une carte. Par ailleurs, suite à la seconde partie nous présentons une hiérarchie des comportements basés sur trois niveaux réflexe, táctique, stratégique, tels que nous l avons défini dans le cadre de l étude sur la Réactivité Générale d un robot mobile. Nous détaillons alors les Systèmes Multi-Agents Comportementaux qui peuvent être mis en oeuvre à chacun des niveaux comportementaux, au niveau réflexe, par exemple, pour l évitement d obstacles, au niveau tactique pour la détection opportuniste d une balise lumineuse, au niveau stratégique pour l enchaînement des comportements fonction de connaissances sur l environnement et du but recherché. Des exemples pour chacun de ces niveaux comportementaux sont alors détaillés sur la base de l équipement capteur des robots expérimentaux Khepera et Cyclope. 9.2 Choix d une Hiérarchie entre comportements Introduction Comme nous l avons vu au chapitre précédent, il semble qu il puisse exister une hiérarchie entre différents comportements et donc que nous puissions profiter de cette décomposition dans le cadre de la mise en oeuvre de notre architecture SMACH. Le chapitre 7 en fait également état dans la présentation de différentes architectures orientées comportements hiérarchiques. Les critères qui permettent détablir une hiérarchie dans l action sont alors multiples et variés (ex. [Lewis1991]). Dans la deuxième partie de ce mémoire

168 nous avons pu décomposer l usage que le robot fait de sa perception de l environnement, grâce au concept de Réactivité à des fins réflexes, tactiques et stratégiques. Il semble que cette décomposition puisse être de fait similaire à la décomposition de l activité du robot Hiérarchie Réflexe-Tactique-Stratégique Nous renvoyons le lecteur aux différentes définitions qui ont été données dans le chapitre 4 et 5, au sujet de ces différents niveaux de réactivité du robot. Dans la description que nous avons faite des différents niveaux de perception du robot, nous avons en effet implicitement présenté l usage que le robot en fait. Ainsi, il n est pas illogique qu il y est une si forte correspondance entre les niveaux de réactivité et ce que nous appellerons maintenant les différents niveaux de comportements. En revanche, il est troublant que ce constat ait déjà été fait par des ergonomes, c est-à-dire des chercheurs qui ont pu observer des opérateurs humains au travail. Nous pouvons ainsi remarquer que le robot a toujours pour vocation d être une machine à l image des êtres vivants (voir paragraphe 1.1), non plus basé sur de simples analogies mécaniques (antropomorphisme des premiers robots : bras manipulateurs), mais sur des analogies comportementales Hiérarchie Comportementale La hiérarchie des comportements présentée par Rasmussen est trés utilisée comme modèle de l activité d un opérateur humain [Rasmussen1986]. En effet, ce modèle décompose l activité en trois types de comportements [Falzon1989] : Le comportement fondé sur des habiletés, caractérise la performance sensori-motrice des sujets lorsque des actions sont effectuées sans contrôle conscient, en utilisant des comportements automatisés. Le comportement fondé sur des règles, caractérisé par l utilisation de règles ou de procédures mémorisées. Il n est utilisable que si la situation présente un aspect connu. Le comportement fondé sur les connaissances, caractérise le comportement en situation nouvelle. Celle-ci demande alors l élaboration d un plan d action, en fonction des buts poursuivis et un modèle mental du système contrôlé pour simuler et évaluer les effets du plan élaboré. Notre décomposition quant à elle présente de fortes similitudes avec celle qui précède. Nous distinguons ainsi : Les comportements réflexes : L information utilisée peut être partielle ou complète (dans l espace sensoriel), mais rarement mémorisée (exception faite des méthodes de filtrage des mesures capteurs, seules persistences de l information). Le temps de réponse est fixé et la réponse du robot peut être considérée comme instantannée. Il n y a pas de projection des actions dans le futur. Ce sont par exemple les processus asservis (évitement d obstacle, suivi de mur,...etc.) ou les actions réflexes (arrêt d urgence...etc.). Les comportements tactiques : L information utilisée peut alors représenter la situation courante du robot (espace sensoriel complet) et un certain nombre d états mémorisés. Les comportements tactiques sont à temps de réponse borné. Il n y a pas de projection des actions dans le futur, même si celle-ci a pu être mise en oeuvre dans une phase de définition du comportement, dès lors préétabli. Ce sont des procédures ou des plans prédéfinis dépendants du contexte, appelés aussi processus décisionnels fermés [Giralt1993a]. Les comportements stratégiques : Ils correspondent à des boucles de perception-modélisation-planification-action (voir paragraphe 1.3), appelés aussi comportements délibérés [Lewis1991] faisant ainsi référence à ce que l on qualifie d approche délibérative de la programmation du robot [Simmons1992]. L information utilisée est alors globale et mémorisée sous la forme d une représentation de l environnement (phase de modélisation). Le temps de réponse du mécanisme décisionnel

169 (phase de plannification) correspondant n est pas a priori borné. La projection des actions dans le futur se fait jusqu à l accomplissement du but. 9.3 Présentation de la plateforme expérimentale La plateforme expérimentale (voir schéma 9.1), a été entièrement installée dans le cadre de cette thèse. Elle est composée de deux mini-robots mobiles Khepera et Cyclope, d un système d acquisition d image sur SUN3 et de plans de travail pour les expérimentations. caméra plan de travail robot Fig. 9.1 Plateforme expérimentale Le robot mobile Khepera Le Khepera est un mini-robot mobile à roues de type char et de forme cylindrique, développé par le Laboratoire de Micro-informatique de l Ecole Polytechnique Fédérale de Lausanne (EPFL) [Guignard et al.93]. Il est programmable grâce à un microprocesseur Motorola et une liaison série vers un ordinateur hôte. Il est équipé de : Codeurs incrémentaux sur chacune des roues, Deux leds, Capteurs infra-rouges de proximité, Chaque roue est commandée par un moteur à courant continu. Un codeur incrémental est placé sur l axe du moteur et donne 24 impulsions par révolution du moteur. On obtient une résolution de 600 impulsions par tour de roue ce qui corespond à 12 impulsions par millimètre de chemin parcouru. Huit capteurs infra-rouges sont situés autour du robot. Ces capteurs peuvent émettre et recevoir, ce sont des SFH900 de SIEMENS. Ils permettent de mesurer la lumière ambiante (en réception uniquement), et la lumière réfléchie par les obstacles ( en émission et en réception). Les mesures de la lumière réfléchie dépendent de deux facteurs majeurs :

170 Fig. 9.2 Le mini-robot mobile Khepera La réflexion sur les obstacles (couleur, texture de surface,...) La luminosité ambiante. Toutes ces mesures dépendent très fortement de facteurs variables tels que la distance à l obstacle, la couleur, la surface, l angle de vue, etc... Il existe deux manières différentes de programmer Khepera : En utilisant l interprète du Khepera, En téléchargeant dans la RAM du Khepera un programme en C. Fig. 9.3 Tableau de bord du Khepera Les données accessibles du robot par programmation sont les suivantes : Les coefficients Proportionnel Intégrale Dérivée, La vitesse des moteurs droit et gauche, La position des moteurs droit et gauche, L état des LEDs, La valeur des huit capteurs, La lumière ambiante.

171 9.3.2 Le robot mobile Cyclope Le Cyclope est un mini-robot mobile de type char de l Ecole Polytechnique Fédérale de Lausane. Il est programmable grâce à un microcontrôleur 68HC11 et une liaison série avec un ordinateur hôte. Le Cyclope est équipé de : Fig. 9.4 Le mini-robot mobile Cyclope Codeurs incrémentaux sur chacune des roues, Deux moustaches (détecteurs d obstacles), Deux capteurs infra-rouges de sol, Une LED à l arrière du robot, Une caméra linéaire composée d une barette CCD de 256 cellules. Un capteur pour télécommande infra-rouge, Une touche affichage de 16 sur 32 pixels. Le capteur de lumière ambiante est un circuit intégré TSL220 de Texas Instruments. Ce composant est constitué d une large photodiode et d un convertisseur courant-fréquence. La sortie est un train de créneaux dont la fréquence est directement proportionnelle à l intensité lumineuse captée par la photodiode. La caméra linéaire fournit 64 pixels (120µm par 70µm) avec environ 16 niveaux de gris. La gamme de sensibilité de cette caméra est définie par le temps d intégration qui précéde la lecture en série de l information. L angle de vue est d environ 20 degrés. Les capteurs incrémentaux sont constitués de deux parties : L émetteur. Il est constitué d une photodiode et émet un rayonnement infra-rouge, Le récepteur. Il est constitué, en autre, de deux photodiodes qui captent le rayonnement infra-rouge émis. Les capteurs infra-rouges de sol permettent par exemple de repérer les varations de distance du sol ou encore de couleur. Il sont placés sous le cyclope. Ils sont conçus pour détecter un obstacle dans un voisinage de 5mm. Les moustaches sont de simples capteurs tactiles tout ou rien. Il existe trois manières différentes de programmer ou de piloter le Cyclope : Avec la télécommande, pour piloter le robot en démonstration. En utilisant l interprète du Cyclope par la liaison série depuis un ordinateur hôte, En téléchargeant dans la RAM du Cyclope un programme en assembleur CALM. Les variables du robot accessibles par programmation sont les suivantes : Les coefficients Proportionnel Intégrale Dérivée,

172 Fig. 9.5 Tableau de bord du Cyclope La vitesse des moteurs droit et gauche, La position des moteurs droit et gauche, La valeur de l iris, L état de la touche, Les 64 pixels de la caméra, Les valeurs caractéristiques de l image linéaire de la caméra (moyenne, valeur max, min...etc.), La valeur des quatre capteurs, La lumière ambiante Equipement de Vision L Equipement de Vision est composé d une caméra et d une carte de traitement d images sur SUN3. Une caméra CCD permet la saisie d images du plan de travail soit en couleur, soit en monochrome. Le nombre de cellules actives est de 699 en horizontal et de 576 en vertical. La carte MVP-VME est une carte de traitement d images. Elle permet de travailler soit sur des images présentes sur le disque du SUN, soit acquises par une caméra CCD. A l aide de la librairie MVP-S/LIB il est possible d effectuer l ensemble des traitements d images (seuillage, extraction de contours,...). Cette carte possède son propre CPU (Motorola 68000) avec son environnement que l on peut utiliser grâce à un code envoyé à travers le bus VME. 9.4 Mise en oeuvre de SMACH et Expérimentations sur Khepera et Cyclope Les comportements réflexes L agent comportemental de base Nous présentons ici un formalisme qui nous a permis d utiliser les mesures des capteurs télémétriques pour la programmation de comportements réflexes du robot mobile Khepera. Chaque agent de base utilisé est associé à un capteur télémétrique du robot (voir figure 9.6).

173 capteur perception (filtrage des mesures) decision (champs repulsif/ attractif) commande Fig. 9.6 Agent comportemental de base L agent est en charge de calculer une action sur les moteurs du robot fonction du rôle qui lui est attribué et de la mesure courante de son capteur. Nous pouvons décomposer un tel agent en deux grandes fonctions : le traitement de la mesure capteur et la génération de l action associée. La perception : Dans notre cadre expérimental le capteur à traiter est relativement simple. Nous pouvons néanmoins envisager d utiliser des capteurs plus sophistiqués à condition que le temps d accés à ses mesures ne pénalise pas le comportement correspondant du robot. Dans le cas des capteurs infra-rouges du Khepera, il peuvent être utilisés selon deux modes : actif et passif. Dans le mode actif, le capteur est un émetteur/récepteur qui mesure l intensité du signal infra-rouge reçu après l avoir émis. Cette mesure peut alors être associée à une distance, sous certaines hypothèses de couleur et de texture des obstacles invariables (voir modèle du capteur [Guignard et al.93]). Le modèle du capteur peut alors être simplifié est représenté par le graphe 9.7. mesure y selon qualité du réflecteur y max 0 distance capteur / réflecteur Fig. 9.7 Capteurs Infra-rouges en mode actif Dans le mode passif, le capteur mesure l intensité dans la gamme infra-rouge de la lumière ambiante. La distance à une source lumineuse ponctuelle donnée (ampoule à incandescence, ou LED infra-rouge), peut être évaluée à partir de ces mesures. Le modèle simplifié du couple capteur/source lumineuse est alors sensiblement le même que le précédent. Toutes ces mesures sont souvent assez bruitées. C est la raison pour laquelle l agent doit pouvoir filtrer sa mesure avant de l utiliser. Un grand nombre de méthodes de filtrage peuvent être utilisées à partir de modèles plus ou moins complexes du capteurs. Etant donné la simplicité du modèle que nous utilisons, le seul filtre qui ait été mis en oeuvre est un filtre passe bande sur la mesure afin d éliminer le bruit engendré par des sources lumineuses ambiantes telles que les néons de la salle d expérimentation. Les actions : Comme nous l avons vu dans le chapitre 3 de ce mémoire, le modèle d un robot mobile de type char permet de piloter le robot en (v, θ) de manière totalement équivalente au choix direct des consignes moteurs ( q 1, q 2 ). Nous préférons donc, ici, présenter notre formalisme

174 pour la génération de l action, en considérant les consignes v (vitesse tangentielle du robot) et θ (vitesse rotationnelle du robot). Chaque agent représente son action sur le robot par l intermédiaire d un champ de vecteurs dont la direction est celle de la droite joignant le centre du robot et le point d encrage du capteur 9.8 Nous ferons l hypothèse que le cône d émission et de réception de ces capteurs est centré sur cette droite. L amplitude et le sens du champ sont alors paramétrés par la valeur normalisée : capteur α Fig. 9.8 action de l agent sur le robot F = (y d y) y max (9.1) où y d est la valeur de la mesure qui satisfait l agent. Remarquons que la valeur de y d permet de déterminer si l agent à une influence sur le robot, répulsive (y d =y min =0), attractive (y d =y max ) ou encore régulatrice (0<y d <y max ). L action engendrée par un tel champ se présente alors sous la forme : v = V max (1 + sign(sin(α)) F) (9.2) θ = Θ max (sign(cos(α)) F) (9.3) Mécanisme de sélection de l action : la fusion Le mécansime de sélection de l action est la fusion, car il s applique particuliérement bien à une représentation de l action dans un espace continu. Le principe du mécanisme de fusion utilisé ici, est simplement basé sur la moyenne pondérée des actions a i proposées par les différents agents comportementaux A i de base en présence (voir figure 9.9), soit : Ainsi dans notre cas : a = ΣK i.a i ΣK i (9.4) a 1 K 1 a i K i Σ a a n K n Fig. 9.9 Mécanisme de fusion v = ΣK i.v i ΣK i (9.5) θ = ΣK i. θ i ΣK i (9.6)

175 Le Système Multi-Agents Comportementaux niveau réflexe Le Système Multi-Agents Comportementaux (voir figure 9.10) résultant est donc composé d un ensemble d agents comportementaux de base (au plus le même nombre que de capteurs télémétriques). Le mécanisme de sélection de l action mis en oeuvre est alors un mécanisme de capteurs mécanisme de fusion moteurs Fig Le Système Multi-Agents Comportementaux niveau réflexe fusion simple, particulièrement adapté à ce niveau réflexe de l activité Quelques exemples et simulations de comportements réflexes Introduction Nous avons mis en place en certain nombre d expérimentations autour de ce concept de Système Multi-Agents comportementaux au niveau réflexe. Ces expérimentations ont principalement été préparées sur le robot mobile Khepera pour des raisons techniques diverses. Nous présentons donc une série de comportements réflexes qui sont l évitement d obstacles, le suivi de mur, le suivi de mur avec coins, le déplacement en direction d une source lumineuse...etc. Tous ces comportements seront bien sûr réutilisés au niveau de programmation tactique comme le stipule notre modèle de Système Multi-Agents Comportementaux Hiérachique Evitement d obstacles L évitement d obstacles utilise les 8 capteurs infra-rouges du Khepera. Le système Multi- Agents comportementaux correspondant est donc composé de 8 agents comportementaux tels que nous les avons décrits précédemment. Tous ces agents ont une influence répulsive sur le robot (y d =0). Le champ de chacun des agents s exprime donc de la manière suivante : Les actions proposées par chacun des agents sont donc : F i = ( y i) y max (9.7) v = V max (1 + sign(sin(α i )) F i ) (9.8) θ = Θ max (sign(cos(α i )) F i ) (9.9) Une fois le mécanisme de fusion de ces actions mis en oeuvre ont obtient un comportement d évitement d obstacles. Ce comportement a été simulé avec seulement deux capteurs (voir figure 9.11). En réalité le comportement d un robot est malheureusement dépendant des caractéristiques de ces capteurs, parfois différentes pour des capteurs identiques. Ces variations sont heureusement compensables par le biais des différents coefficients K i intervenant dans le mécanisme de fusion. Après réglage des comportements nous obtenons des résultats expérimentaux probants sur le Khepera Les suivis de mur Une première approche du suivi de mur consiste à n utiliser qu un capteur de côté du robot Khepera. Le Sytème Multi-Agents est donc ici composé d un seul agent correspondant au

176 Fig Evitement d obstacles capteur α=0, par exemple. Le champ correspondant est ici un champ régulateur autour d une valeur y d analogue à la distance à laquelle le robot doit suivre le mur : L action proposée par l agent a donc pour expression : F 1 = (y d y 1 ) y max (9.10) v = V max (9.11) θ = Θ max. F i (9.12) Comme nous pouvons le constater, il s agit en fin de compte d un asservissement sur y d. La loi de commande correspondante est alors ajustable par le biais du coefficient K 1 du mécanisme de fusion, qui fait plutôt ici office de gain statique. Une simulation de ce comportement est présentée dans les figure Nous pouvons remarquer que le robot contourne bien les inégalités du mur, Fig Suivi de mur simple du moment que ces derniéres ne dépassent pas la distance du robot au mur correspondante à y d. En pratique, le robot est souvent bloqué par des inégalités du mur plus importantes, voir des coins qui lui imposent des changements de direction radicaux. Afin de répondre à ce problème nous introduisons un deuxième agent basé sur un des deux capteurs frontaux du Khepera (α= π 2 ). Le champ correspondant est alors un champ répulsif (y d =0) : F 2 = ( y 2) y max (9.13)

177 L action proposée par l agent est alors : v = V max (1 + F 2 ) (9.14) θ = 0 (9.15) Le mécanisme de fusion permet, par le biais du coefficent K 2, de régler le freinage du robot aux abords de l obstacle frontal. Remarquons que l action simultanée des deux agents pourrait en théorie bloquer le robot dans une position face au coin telle que y 1 =y d et y 2 =y max. Dans la réalité expérimentale les mesures y i étant toujours bruitées, le robot ne reste jamais dans cet état devenu instable. La rotation du robot face à l obstacle représente donc bien un phénomène emergent qui complète le comportement du robot. Une simulation de ce comportement est présenté dans la figure Ces comportements sont présentés ici dans le cadre d un suivi de mur par la gauche. Bien Fig Suivi de mur avec coins évidemment ces Systèmes Multi-Agents comportementaux sont complétement analogues pour un suivi de mur par la droite. L agent 1 est alors associé aux capteurs du côté opposé Le déplacement vers une source lumineuse Ce comportement est, comme nous allons le voir, assez similaire à l évitement d obstacles. En fait il s agit d une inversion de l influence des agents sur le robot pour qu elle devienne attractive. Par ailleurs les capteurs sont tous utilisés en mode passif car il s agit de relever une mesure correspondant à la distance entre le capteur et la source lumineuse. Le système Multi- Agents comportementaux correspondant est donc composé de 8 agents comportementaux. Tous ces agents ont une influence attractive sur le robot (y d =0). Le champ de chacun des agents s exprime donc de la manière suivante : Les actions proposées par chacun des agents sont donc : F i = (y max y i ) y max (9.16) v = V max (1 + sign(sin(α i )) F i ) (9.17) θ = Θ max (sign(cos(α i )) F i ) (9.18) Une fois le mécanisme de fusion de ces actions mis en oeuvre ont obtient un comportement de déplacement vers une source lumineuse. Le même comportement utilisant les capteurs en mode actif permet la programmation du suivi d objets mobiles.

178 Perspectives Cette approche est donc intéressante pour la programmation des comportements réflexes du robot Khepera basés sur les mesures de ses capteurs télémétriques. D autres comportements réflexes sont à l heure actuelle étudiés pour le robot Cyclope, basés sur sa caméra linéaire, pour le suivi d un autre robot muni d une balise lumineuse à l arrière. Chaque agent utilisé est alors associé à un pixel de la caméra. Le Système Multi-Agents correspondant est alors composé de 64 agents comportementaux de base. Le temps de lecture de ses 64 données étant trop important, il est fort probable que la mise en oeuvre d un tel comportement nécessite une installation hardware. Nous allons maintenant étudier la mise en oeuvre du niveau comportemental tactique, sur Khepera mais aussi sur Cyclope Les comportements tactiques Les travaux qui sont présentés dans cette partie s inspirent fortement des perspectives qui ont été présentées dans le chapitre 6 (voir paragraphe 6.3.3). En effet, il s agit pour chacun des agents comportementaux de ce niveau d utiliser un blackboard situationnel pour gérer son activité (en général activé ou désactivé). L agent reprend alors l architecture BBS du chapitre L agent comportemental niveau tactique Le formalisme qui est présenté ici, permet d associer à chacun des agents comportementaux des conditions d activation (action effective de l agent) ou de désactivation (action non-effective de l agent) de l activité symbolisée par l agent Dans le cas d un Système Multi-Agents capteurs perception (seuillage) réprésentation de la situation prise de décision activé condition désactivé condition comportement activité de l agent Fig Agent comportemental niveau tactique Comportementaux Hiérarchique cette activité correspond à un Système Multi-Agents particulier du niveau au-dessous, ici le niveau réflexe. Nous pouvons décomposer un tel agent en deux grandes fonctions : perception de la situation et choix de l action. La perception tactique : Dans notre cadre expérimental, nous utiliserons les capteurs de base du Khepera et du Cyclope, que sont les capteurs infra-rouges et les moustaches. D autres capteurs plus sophistiqués sont suceptibles d être utilisés, comme nous l avons vu dans l expérience menée avec R. Liscano du NRC (voir paragraphe 6.5). La perception tactique consiste alors à établir une information complète et concise sur la situation locale du robot. En général, la situation se traduit par l évaluation des caractéristiques de l environnement local rassemblées dans une représentation de la situation à état fini (voir paragraphe 6.2.4). Dans le cas des capteurs tactiles des moustaches du cyclope, la perception tactique de l agent comportemental est immédiatement accessible depuis les données capteurs. Il s agit alors d une représentation de la situation à 4 états fonction de l état de chacune des moustaches 9.15.

179 moustache gauche moustache droite libre enfoncée Fig Représentation de la situation à partir des moustaches du Cyclope Dans le cas des capteurs infra-rouges du Khepera, un traitement des mesures capteurs est nécessaire pour établir une information à état fini sur la situation du robot. Nous avons adopté un traitement simple par seuillage de la mesure. Pour n seuils nous obtenons alors n+1 états possibles de l information capteur. Les réglages de ces seuils Y k font parti des paramètres de réglage de l agent. La représentation de la situation du Khepera a donc 2 8 états possibles pour un seuil par capteur Cette représentation de la situation est valable pour les capteurs utilisés en mode actif Yseuil IR1 IR2IR3 IR4 IR5 IR6 IR8 IR7 IR1 IR2 IR3 IR4 IR5 IR6 IR7 IR8 non-excité excité Fig Représentation de la situation à partir des capteurs infra-rouges du Khepera mais aussi en mode passif. En mode actif, la situation correspond à la présence ou pas d obstacles proches dans toutes les directions capteurs. En mode passif, la situation correspond à la présence ou non d un rayonnement lumineux suffisamment intense dans chacune des directions des capteurs. Bien évidemment de nombreuses méthodes pour extraire l information tactique des mesures capteurs peuvent être utilisées. La seule contrainte est de vérifier que les états réduits de la donnée capteur correpondent bien à une partition de l ensemble des valeurs possibles de la mesure, afin d éviter des situations non reconnues. Remarquons que pour certains comportements tactiques, la représentation de la situation du robot présente nécessairement des états internes mémorisés. Nous verrons un exemple de ce cas dans la suite. L action tactique : L action tactique consiste en la mise en oeuvre d un comportement du niveau inférieur (comportement géré par cet agent comportemental). Le mécanisme de prise de décision de l agent active ou désactive ce comportement à partir de conditions sur la situation du robot. Il s agit donc pour le Khepera des comportements que nous avons programmés au paragraphe précédent, c est-à-dire : évitement d obstacles, suivi de mur, déplacement vers une

180 source lumineuse...etc. Tous ces comportements sont alors représentés par un nom suivi des paramètres de réglages : <nom>([<param-list>]). Pour l évitement d obstacles par exemple l expression correspondante sera : avoid(k 1,K 2,K 3,K 4,K 5,K 6,K 7,K 8 ). Le robot sous l influence de l agent tactique est donc capable de changer de comportement réflexe fonction de sa situation. Nous allons voir par la suite quelques exemples de comportements tactiques programmés ainsi Mécanisme de sélection de l action : arbitrage Le mécanisme de sélection de l action entre les différents agents est ici un mécanisme d arbitrage, c est-à-dire qu il opère un choix entre les différents comportements activés par les agents. En fait, avec l utilisation du logiciel EDMA présenté dans le paragraphe , on peut, en compilant l ensemble des règles de la prise de décision des agents, établir la machine équivalente et donc les cas de conflits et d omissions (voir paragraphe 6.3.1). Ainsi, en garantissant l existence et l unicité d un comportement actif pour chaque état possible de la situation du robot, le Système Multi-Agents comportementaux peut se passer de mécanismes de sélection de l action. Dans le cas ou cette analyse n est pas faite, il est alors nécessaire que le mécanisme de sélection a 1 P 1 a i P i Α a a n P n action par défaut Fig Mécanisme d arbitrage de l action, établisse un ordre de priorité entre agents comportementaux du niveau pour les cas de conflit et un agent comportemental par défaut pour les cas d omission (voir figure 9.17) Le Système Multi-Agents Comportementaux niveau tactique Le Système Multi-Agents comportementaux niveau tactique, est composé d un ensemble d agents comportementaux (voir figure 9.18), tous associés à des comportements du niveau réflexe (donc des Systèmes Multi-Agents Comportementaux niveau réflexe présentés dans la section précédente). Ces agents utilisent alors une représentation de la situation du robot pour activer ou désactiver le comportement réflexe associé. Le mécanisme de sélection est un mécanisme d arbitrage qui permet de garantir un seul comportement réflexe actif à la fois Quelques exemples de comportements tactiques Introduction Des exemples de comportements tactiques ont déjà été présentés dans le chapitre 6 pour le robot Khepera et le robot Cybermotion du NRC. Nous allons donc ici développer deux autres exemples sur les robots mobiles Khepera et Cyclope. Dans un premier temps, nous présentons le changement de comportement tactique sur le robot Khepera qui peut être tout simplement dû à l accomplissement d un but de manière opportuniste. En effet, admettons que le robot ait pour but de s approcher de la première source lumineuse qu il rencontre. Le Système Multi-agents comportementaux correspondant enchaîne alors suivi de mur et déplacement vers une source lumineuse selon la situation dans laquelle se trouve le

181 robot (présence ou pas d une source lumineuse à proximité). Nous appellons ce comportement : recherche d une source lumineuse. Dans le second exemple, nous présentons sur le robot mobile Cyclope, la programmation du comportement évitement d obstacles, à partir des seules informations sur l état de ses moustaches. Nous verrons en quoi il s agit véritablement d un comportement tactique et non réflexe du robot Recherche d une source lumineuse sur Khepera Le robot Khepera est donc maintenant capable d exhiber un certain nombre de comportements réflexes. Nous en retenons deux pour cette expérience qui consiste à programmer le robot pour qu il recherche une source lumineuse. Il s agit d un des comportements de suivi de mur : Leftfollowing(K 1,K 2 ) et le comportement de déplacement vers une source lumineuse : Lightfollowing(K 1,K 2,K 3,K 4,K 5,K 6,K 7,K 8 ). La représentation de la situation est la même pour les deux agents. Il s agit de l ensemble des données réduites par seuillage sur les capteurs infra-rouges en mode passif. La situation est donc représentée par 8 données binaires (voir figure 9.19). Le premier agent comportemental, niveau tactique est alors associé au comportement Leftfollowing et à la condition d activation : ((IR1=faible) & (IR2=faible) & (IR3=faible) & (IR4=faible) & (IR5=faible) & (IR6=faible) & (IR7=faible) & (IR8=faible)). Le deusième agent comportemental, est lui associé au comportement Lightfollowing et à la condition d activation : ((IR1=fort) & (IR2=fort) & (IR3=fort) & (IR4=fort) & (IR5=fort) & (IR6=fort) & (IR7=fort) & (IR8=fort)). Les conditions de désactivation correspondent pour les deux agents à la négation des conditions d activation. Nous remarquons ici, que le mécanisme de sélection de l action n est pas utile, puisqu il n y a ni conflit, ni omission dans le fonctionnement du Système Multi-Agents comportementaux résultant. Le premier agent est associé à la condition d activation : (MD=enfoncé) & (MG=libre). Une expérimentation de ce comportement sera présentée plus loin, dans un scénario d expérimentation d un comportement stratégique Evitement d obstacles sur Cyclope Nous présentons ici un comportement du robot cyclope directement basé sur des actions de base en terme de séquence de Rotation-Translation (voir paragraphe ). Ce niveau tactique ne vient donc pas s empiler sur un niveau comportemental réflexe. Les actions qui sont associées aux agents sont : Reculer puis tourner d un quart de tour à gauche Reculer puis tourner d un quart de tour à droite Reculer puis tourner d un demi tour Avancer La situation du robot est représentée par les 2 données binaires correspondant à l état des moustaches (voir figure 9.20). Le premier agent est associé à la condition d activation : (MD=enfoncé) & (MG=libre). Le deuxième agent est associé à la condition d activation : (MD=libre) & (MG=enfoncé). Le troisième agent est associé à la condition d activation : (MD=enfoncé) & (MG=enfoncé). Le quatrième agent est associé à la condition d activation : (MD=libre) & (MG=libre). Les conditions de désactivation correspondent pour les deux agents à la négation des conditions d activation. Nous remarquons ici, que le mécanisme de sélection de l action n est pas utile, puisqu il n y a ni conflit, ni omission dans le fonctionnement du Système Multi-Agents comportementaux résultant.

182 Conclusion Les possibilités qui sont offertes pour la programmation d un comportement tactique du robot sont grandes et souvent limitées par le nombre d états mis en oeuvre dans la représentation de la situation du robot. En pratique, ce niveau est très intéressant pour affiner les comportements réflexes du robot, en éliminant quelques effets de bord. Par exemple, il est intéressant pour le suivi de mur de modifier le réglage de ses coefficients en fonction de la situation du robot. En l absence d obstacle à suivre mettre K 1 à 0 pour éviter que le robot tourne en rond. D autres cas encore peuvent se ditinguer pour améliorer la robustesse du comportement réflexe utilisé (voir figure 9.21 [Mauguin et Chiandetti1995]). Remarquons que certains chercheurs ne programment les comportements réflexes de leur robot qu avec ce type de programmation, basé sur l enchaînement d actions refléxes (ex. : programmation du suivi de mur par Mataric sur Toto [Mataric1991]) Les comportements stratégiques Le Système Multi-Agents Comportementaux niveau stratégique, n a pu être que partiellement expérimenté. C est la raison pour laquelle les expérimentations présentées dans cette partie ont pour but, d évaluer la robustesse des deux niveaux inférieurs dans le cas d un scénario issu d un comportement stratégique simulé et d évaluer la faisabilité partielle de certains agents comportementaux stratégiques. Dans le cadre qui nous intéresse, c est-à-dire celui de la navigation non-métrique (asbence de carte), nous choisissons délibérément de développer des agents basés sur une représentation sensori-motrice de l environnement, telle que nous en avons parlé au paragraphe (voir par exemple [Rodriguez1994]) L agent comportemental niveau stratégique L agent comportemental niveau stratégique (voir figure 9.22), est associé à un comportement basé sur la planification. Cet agent se décompose en quatre grandes fonctions : perception - modélisation - planification - action (voir chapitre 1). La perception est issue de différents capteurs, comme les capteurs infra-rouges du Khepera, ou encore l image de la caméra centrale (voir schéma 9.1). Elle peut aussi inclure des informations proprioceptives du moment que celles-ci ne demandent pas une précision trop importante. La modélisation inclue non seulement la modélisation de l environnement sous forme d un graphe sensori-moteur, mais aussi la localisation du robot, voire celle du but dans ce même graphe. Il s agit en fait de ce que l on pourrait plutôt appeler une modélisation du monde. La planification est la méthode qui permet d extraire du graphe sensori-moteur, fonction des deux noeuds de localisation du robot et du but, l activité courante (un comportement du niveau au-dessous) la mieux adaptée au rapprochement entre le robot et le but (incarné ici par une source lumineuse), basé sur un algorithme de recherche de chemin dans un graphe. L action est dans le comportement du niveau au-dessous (tactique) choisi par l agent. Nous avons utilisé, dans nos expériences, les deux comportements tactiques suivants : Recherche d une source lumineuse en suivant les murs par la gauche, Recherche d une source lumineuse en suivant les murs par la droite La représentation sensori-motrice La représentation sensori-motrice consiste à établir un graphe de l évolution du système composé du robot et de son environnement local. Elle décompose cette évolution entre périodes

183 transitoires et continues. Les noeuds peuvent alors représenter les périodes continues et les liens, les périodes transitoires de cette évolution (ex. : [Rodriguez1994], [Mataric1991]). De nombreuses informations permettent alors la caractérisation des noeuds et des liens du graphe. Il peut s agir pour les noeuds du comportement du robot, de l allure de la trajectoire (ex. direction constante, courbure constante..etc.) et pour les liens, de la détection d amers, de la position de l amer..etc. Nous n utiliserons dans notre expérimentation qu une représentation très simple de l environnement basée sur un graphe sensori-moteur, dont les noeuds sont un des deux comportements tactiques utilisés et les liens des détections d amers dans l environnement local (des coins ouverts et des coins fermés) Mécanisme de sélection de l action niveau 3 : arbitrage Le mécanisme de sélection de l action est bien évidemment, un mécanisme d arbitrage. Ce mécanisme ne semble néanmoins pas aussi simple que la mise en oeuvre d une priorité entre les agents comportementaux stratégiques car un changement de plan en cours d exécution, et sans raison, peut conduire à l échec complet de la mission (ici, atteindre le but). Il est fort probable que ce mécanisme de sélection de l action soit basé plutôt sur des degrés de confiance inversement proportionnels à des scores maintenus par les différents agents comportementaux qui enregistrent leurs échecs Le Système Multi-Agents Comportementaux niveau stratégique Le Système Multi-Agents Comportementaux niveau stratégique 9.23 n est pour l instant pas complétement testé. Il est donc difficile de se prononcer sur l efficacité de cette approche. En fait, chaque agent comportemental stratégique correspond à la mise en oeuvre d un plan. Il est donc très probable, que le mécanisme de sélection de l action soit d une importance capitale dans cette démarche. Ce mécanisme devra être suffisamment efficace pour réaliser une fusion de ces plans dans l action vers l accomplissement de la mission. 9.5 Une expérimentation partielle de ce niveau comportemental Agent comportemental stratégique à partir d un modèle donné Nous présentons ici, une expérience qui consiste à fournir le graphe sensori-moteur de l environnement, dont on connait le noeud du robot et le noeud le plus proche de la source lumineuse Représentation du monde Nous allons détailler une expérimentation qui a été faite à partir de l état du monde tel qu il est présenté dans la figure Le graphe sensori-moteur tel que nous l avons défini dans notre approche utilise donc les caractéristiques suivantes : Les amers que nous détectons sont de deux types 9.25 : b : les coins fermés, a : les coins ouverts. Les coins ouverts se caractérisent par la présence de mesures sur : Les deux capteurs frontaux, Le capteur à 45 degrés, Le capteur à 90 degrés. Les coins fermés se caractérisent par l absence de mesures sur : Les deux capteurs frontaux,

184 Le capteur à 45 degrés, Le capteur à 90 degrés. Les comportements tactiques utilisés sont notés : D pour la recherche d une source lumineuse en suivant les murs par la gauche, G pour la recherche d une source lumineuse en suivant les murs par la droite Un scénario Expérimental Les agents comportementaux stratégiques sont ici simulés par l utilisateur qui donne des séquences de la forme : DbabGaDabb Le résultat obtenu est donné par les images suivantes. Une image correspond à une étape Résultats et Perspectives Nous présentons dans ce paragraphe, différents constats que nous avons pu établir à partir de cette expérimentation. L intrusion d un objet de petite taille (1,5 à 2 cm) ne perturbe pas le robot (voir figure 9.31). Par contre, une variation plus forte de l environnement nécessite une replanification au niveau stratégique. (voir figure 9.31) Cette approche présente donc l avantage de n engendrer des modifications du comportement du robot au seul niveau concerné. Les capteurs infra-rouges sont trés sensibles aux variations de la lumière ambiante. De ce fait, il est nécessaire d avoir un modèle du capteur plus précis que celui que nous utilisons, qui par exemple intégrerait les mesures sur la lumière ambiante pour rendre la détection d amers plus robuste et moins dépendante du contexte expérimental. Par ailleurs nous utilisons une temporisation afin d éviter la détection répétée du même amer. Une construction d un modèle local de l environnement associant le mouvement du robot à la mesure pourrait être une solution plus élégante et plus robuste. Enfin, l utilisation d un autre type de capteur est envisageable pour une détection plus fiable d amers plus complexes. Lors d un changement de comportement dans un couloir, les capteurs infra-rouges du robot n atteignent pas forcément les deux murs. Le robot ne peut donc pas directement changer de comportement réactif. Il semble donc nécessaire et intéressant de rajouter ainsi trois nouveaux comportements : Tourner d un quart de tour à droite, Tourner d un quart de tour à gauche, Aller tout droit. Ces comportements ne sont pas des comportements réactifs (ils ne réagissent pas en fonction de l évolution de l environnement), mais donc des comportements délibérés Agent comportemental stratégique à partir de l image caméra du plan de travail Cette section a pour objectif de montrer un autre moyen d obtenir un agent comportemental stratégique, à partir d une autre information capteur. Ainsi, nous pouvons envisager de dépasser un niveau stratégique composé d un agent unique. Pour cela, nous appliquons quelques algorithmes de traitement d images pour étudier la possibilité d obtenir un graphe sensori-moteur à partir de l image de la caméra générale. Il semble donc envisageable de construire un graphe sensori-moteur à partir de l image caméra. Malheureusement, il semble assez difficile d y détecter des amers aussi ponctuels et sensibles au traitement de l image que les coins ouverts ou fermés. Il semble donc à ce stade beaucoup plus intéressant de trouver d autres caractéristiques comme champ du graphe sensorimoteur.

185 9.6 conclusion Nous avons donc dans ce chapitre présenté l expérimentation de SMACH pour la navigation non-métrique des robots Khepera et Cyclope. Un plus grand nombre d expériences, avec d autres robots, d autres capteurs et d autres comportements devraient nous permettre d affiner l approche SMACH. En attendant un certain nombre de limites dans l expérimentation impose de fortes modifications comme l introduction de comportements que nous qualifions de délibérés dans l approche SMACH. Ces modifications semblent suffisamment importantes pour être détaillées dans la conclusion générale de ce mémoire.

186 capteurs et communciations mécansime d arbitrage stratégique Fig Le Système Multi-Agents Comportementaux tactique

187 fort IR1 IR2 IR3 IR4 IR5 IR6 IR7 IR8 faible Fig Représentation de la situation du robot enfoncée moustache de gauche MG MD libre moustache de droite Fig Représentation de la situation du robot angle droit obstacle partiel impasse angle ouvert Fig Différentes cas dans le suivi de mur capteurs et communications but (localisation) perception (localisation) (modélisation) représentation interne graphe topologique sensori-moteur décision (planification) activité Fig Agent comportemental niveau stratégique capteurs et communciations mécansime d arbitrage stratégique Fig Le Système Multi-Agents Comportementaux niveau stratégique

188 robot source lumineuse Fig Présentation de l environnement expérimental coin fermé coin ouvert Fig Les coins Fig D et Db

189 Fig Dba et DbabG Fig DbabGa et DbabGaD Fig DbabGaDab et DbabGaDabb

190 Fig Source lumineuse trouvée Fig Variations de l environnement Fig Réduction des ombres de l image initiale

191 Fig Image après extraction de contour et filtrage Fig Image après élimination du bruit et seuillage puis simulation des comportements du robot

Environnement Architecture de controle. Décisions

Environnement Architecture de controle. Décisions Chapitre 1 Introduction 1.1 Robot Mobile Il existe diverses définitions du terme robot, mais elles tournent en général autour de celle-ci : Un robot est une machine équipée de capacités de perception,

Plus en détail

Robotique Mobile. David Filliat

Robotique Mobile. David Filliat Robotique Mobile David Filliat Avril 2012 David FILLIAT École Nationale Supérieure de Techniques Avancées ParisTech Robotique Mobile 2 Cette création est mise à disposition selon le Contrat Paternité-Pas

Plus en détail

Introduction à la robotique Licence 1ère année - 2011/2012

Introduction à la robotique Licence 1ère année - 2011/2012 Introduction à la robotique Licence 1ère année - 2011/2012 Laëtitia Matignon GREYC-CNRS Université de Caen, France Laetitia Matignon Université de Caen 1 / 61 Plan Définitions 1 Définitions 2 3 Robots

Plus en détail

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

Introduction à l informatique temps réel Pierre-Yves Duval (cppm) Introduction à l informatique temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 -Définition et problématique - Illustration par des exemples -Automatisme:

Plus en détail

Utilisation d informations visuelles dynamiques en asservissement visuel Armel Crétual IRISA, projet TEMIS puis VISTA L asservissement visuel géométrique Principe : Réalisation d une tâche robotique par

Plus en détail

Le Collège de France crée une chaire pérenne d Informatique, Algorithmes, machines et langages, et nomme le Pr Gérard BERRY titulaire

Le Collège de France crée une chaire pérenne d Informatique, Algorithmes, machines et langages, et nomme le Pr Gérard BERRY titulaire Communiquédepresse Mars2013 LeCollègedeFrancecréeunechairepérenned Informatique, Algorithmes,machinesetlangages, etnommeleprgérardberrytitulaire Leçoninauguralele28mars2013 2009avait marquéunpas importantdans

Plus en détail

Métiers d études, recherche & développement dans l industrie

Métiers d études, recherche & développement dans l industrie Les fiches Métiers de l Observatoire du Travail Temporaire Emploi, compétences et trajectoires d intérimaires cadres Métiers d études, recherche & développement dans l industrie R&D Production Ingénieur

Plus en détail

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude

Plus en détail

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com Intelligence Artificielle et Systèmes Multi-Agents Badr Benmammar bbm@badr-benmammar.com Plan La première partie : L intelligence artificielle (IA) Définition de l intelligence artificielle (IA) Domaines

Plus en détail

ORIENTATIONS POUR LA CLASSE DE TROISIÈME

ORIENTATIONS POUR LA CLASSE DE TROISIÈME 51 Le B.O. N 1 du 13 Février 1997 - Hors Série - page 173 PROGRAMMES DU CYCLE CENTRAL 5 e ET 4 e TECHNOLOGIE En continuité avec le programme de la classe de sixième, celui du cycle central du collège est

Plus en détail

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

Plus en détail

Processus d Informatisation

Processus d Informatisation Processus d Informatisation Cheminement de la naissance d un projet jusqu à son terme, deux grandes étapes : Recherche ou étude de faisabilité (en amont) L utilisateur a une idée (plus ou moins) floue

Plus en détail

Problématique / Problématiser / Problématisation / Problème

Problématique / Problématiser / Problématisation / Problème Problématique / Problématiser / Problématisation / PROBLÉMATIQUE : UN GROUPEMENT DE DÉFINITIONS. «Art, science de poser les problèmes. Voir questionnement. Ensemble de problèmes dont les éléments sont

Plus en détail

Préparé au Laboratoire d Analyse et d Architecture des Systèmes du CNRS

Préparé au Laboratoire d Analyse et d Architecture des Systèmes du CNRS Année 2004 THESE Préparé au Laboratoire d Analyse et d Architecture des Systèmes du CNRS En vue de l obtention du titre de Docteur de l Institut National Polytechnique de Toulouse Spécialité : Informatique

Plus en détail

UNIVERSITE D'ORLEANS ISSOUDUN CHATEAUROUX

UNIVERSITE D'ORLEANS ISSOUDUN CHATEAUROUX UNIVERSITE D'ORLEANS ISSOUDUN CHATEAUROUX PLAN

Plus en détail

sentée e et soutenue publiquement pour le Doctorat de l Universitl

sentée e et soutenue publiquement pour le Doctorat de l Universitl Du rôle des signaux faibles sur la reconfiguration des processus de la chaîne de valeur de l organisation : l exemple d une centrale d achats de la grande distribution française Thèse présent sentée e

Plus en détail

Programme scientifique Majeure INTELLIGENCE NUMERIQUE. Mentions Image et Réalité Virtuelle Intelligence Artificielle et Robotique

Programme scientifique Majeure INTELLIGENCE NUMERIQUE. Mentions Image et Réalité Virtuelle Intelligence Artificielle et Robotique É C O L E D I N G É N I E U R D E S T E C H N O L O G I E S D E L I N F O R M A T I O N E T D E L A C O M M U N I C A T I O N Programme scientifique Majeure INTELLIGENCE NUMERIQUE Langage Java Mentions

Plus en détail

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Jade. Projet Intelligence Artificielle «Devine à quoi je pense» Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges

Plus en détail

Les apports de l informatique. Aux autres disciplines

Les apports de l informatique. Aux autres disciplines Les apports de l informatique Aux autres disciplines Le statut de technologie ou de sous-discipline est celui de l importation l et de la vulgarisation Le statut de science à part entière est lorsqu il

Plus en détail

Méthodes de recherches et rédaction des mémoires

Méthodes de recherches et rédaction des mémoires 1 Méthodes de recherches et rédaction des mémoires Matériel de cours Institut des hautes études en administration publique (IDHEAP) Février 1999 Daniel Schneider TECFA, Faculté de Psychologie et des Sciences

Plus en détail

Intelligence Artificielle et Robotique

Intelligence Artificielle et Robotique Intelligence Artificielle et Robotique Introduction à l intelligence artificielle David Janiszek david.janiszek@parisdescartes.fr http://www.math-info.univ-paris5.fr/~janiszek/ PRES Sorbonne Paris Cité

Plus en détail

Master Informatique Aix-Marseille Université

Master Informatique Aix-Marseille Université Aix-Marseille Université http://masterinfo.univ-mrs.fr/ Département Informatique et Interactions UFR Sciences Laboratoire d Informatique Fondamentale Laboratoire des Sciences de l Information et des Systèmes

Plus en détail

Analyse,, Conception des Systèmes Informatiques

Analyse,, Conception des Systèmes Informatiques Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance

Plus en détail

Introduction à la méthodologie de la recherche

Introduction à la méthodologie de la recherche MASTER DE RECHERCHE Relations Économiques Internationales 2006-2007 Introduction à la méthodologie de la recherche geraldine.kutas@sciences-po.org Les Etapes de la Recherche Les étapes de la démarche Etape

Plus en détail

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Classe de terminale de la série Sciences et Technologie du Management et de la Gestion Préambule Présentation Les technologies de l information

Plus en détail

AXES DE RECHERCHE - DOMAINE D'INTERET MAJEUR LOGICIELS ET SYSTEMES COMPLEXES

AXES DE RECHERCHE - DOMAINE D'INTERET MAJEUR LOGICIELS ET SYSTEMES COMPLEXES 1 AXES DE RECHERCHE - DOMAINE D'INTERET MAJEUR LOGICIELS ET SYSTEMES COMPLEXES 2 Axes de recherche L activité du DIM LSC concerne la méthodologie de la conception et le développement de systèmes à forte

Plus en détail

Brique BDL Gestion de Projet Logiciel

Brique BDL Gestion de Projet Logiciel Brique BDL Gestion de Projet Logiciel Processus de développement pratiqué à l'enst Sylvie.Vignes@enst.fr url:http://www.infres.enst.fr/~vignes/bdl Poly: Computer elective project F.Gasperoni Brique BDL

Plus en détail

Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0

Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0 Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive Sommaire - Le Robot M.I.M.I. (Multipode Intelligent à Mobilité Interactive) - Présentation du Système à Enseigner. - Composition

Plus en détail

Théorie des Jeux Et ses Applications

Théorie des Jeux Et ses Applications Théorie des Jeux Et ses Applications De la Guerre Froide au Poker Clément Sire Laboratoire de Physique Théorique CNRS & Université Paul Sabatier www.lpt.ups-tlse.fr Quelques Définitions de la Théorie des

Plus en détail

Méthodologie de conceptualisation BI

Méthodologie de conceptualisation BI Méthodologie de conceptualisation BI Business Intelligence (BI) La Business intelligence est un outil décisionnel incontournable à la gestion stratégique et quotidienne des entités. Il fournit de l information

Plus en détail

Relever les défis des véhicules autonomes

Relever les défis des véhicules autonomes EMM 2014 12eme rencontre européenne de mécatronique Relever les défis des véhicules autonomes Mathias Perrollaz Ingénieur expert Inria Christian Laugier Directeur de recherche Inria E-Motion Team Annecy,

Plus en détail

FORMATION CONTINUE SUR L UTILISATION D EXCEL DANS L ENSEIGNEMENT Expérience de l E.N.S de Tétouan (Maroc)

FORMATION CONTINUE SUR L UTILISATION D EXCEL DANS L ENSEIGNEMENT Expérience de l E.N.S de Tétouan (Maroc) 87 FORMATION CONTINUE SUR L UTILISATION D EXCEL DANS L ENSEIGNEMENT Expérience de l E.N.S de Tétouan (Maroc) Dans le cadre de la réforme pédagogique et de l intérêt que porte le Ministère de l Éducation

Plus en détail

Chapitre 0 : Généralités sur la robotique 1/125

Chapitre 0 : Généralités sur la robotique 1/125 Chapitre 0 : Généralités sur la robotique 1/125 Historique de la robotique Étymologie : le mot tchèque robota (travail). Définition : un robot est un système mécanique polyarticulé mû par des actionneurs

Plus en détail

e-business, EAI et Business Intelligence Le triptyque gagnant profondément les structures des organisations et par conséquence

e-business, EAI et Business Intelligence Le triptyque gagnant profondément les structures des organisations et par conséquence e-business, EAI et Business Intelligence Le triptyque gagnant Alain Fernandez Consultant indépendant, il intervient depuis plus de 15 ans auprès des grands comptes et des PME sur la conception des systèmes

Plus en détail

Chapitre 1 : Introduction au contrôle de gestion. Marie Gies - Contrôle de gestion et gestion prévisionnelle - Chapitre 1

Chapitre 1 : Introduction au contrôle de gestion. Marie Gies - Contrôle de gestion et gestion prévisionnelle - Chapitre 1 Chapitre 1 : Introduction au contrôle de gestion Introduction 2 Contrôle de gestion : fonction aujourd hui bien institutionnalisée dans les entreprises Objectif : permettre une gestion rigoureuse et une

Plus en détail

PEUT- ON SE PASSER DE LA NOTION DE FINALITÉ?

PEUT- ON SE PASSER DE LA NOTION DE FINALITÉ? PEUT- ON SE PASSER DE LA NOTION DE FINALITÉ? à propos de : D Aristote à Darwin et retour. Essai sur quelques constantes de la biophilosophie. par Étienne GILSON Vrin (Essais d art et de philosophie), 1971.

Plus en détail

Modélisation et simulation du trafic. Christine BUISSON (LICIT) Journée Simulation dynamique du trafic routier ENPC, 9 Mars 2005

Modélisation et simulation du trafic. Christine BUISSON (LICIT) Journée Simulation dynamique du trafic routier ENPC, 9 Mars 2005 Modélisation et simulation du trafic Christine BUISSON (LICIT) Journée Simulation dynamique du trafic routier ENPC, 9 Mars 2005 Plan de la présentation! Introduction : modèles et simulations définition

Plus en détail

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE 2014-2018

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE 2014-2018 UFR d Informatique FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE 2014-2018 Objectif L UFR d informatique propose au niveau du master, deux spécialités sous la mention informatique

Plus en détail

Université de Bangui. Modélisons en UML

Université de Bangui. Modélisons en UML Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et

Plus en détail

L apprentissage automatique

L apprentissage automatique L apprentissage automatique L apprentissage automatique L'apprentissage automatique fait référence au développement, à l analyse et à l implémentation de méthodes qui permettent à une machine d évoluer

Plus en détail

Proposition d un cadre conceptuel et systémique des Systèmes de Production Lean

Proposition d un cadre conceptuel et systémique des Systèmes de Production Lean Proposition d un cadre conceptuel et systémique des s de Production Lean Zahir Messaoudene 1, José Gramdi 2 1 Laboratoire de Productique et Méthodes Industrielles, ECAM, 40 Montée Saint Barthélemy, 69321

Plus en détail

Dimensionnement d une roue autonome pour une implantation sur un fauteuil roulant

Dimensionnement d une roue autonome pour une implantation sur un fauteuil roulant Dimensionnement d une roue autonome pour une implantation sur un fauteuil roulant I Présentation I.1 La roue autonome Ez-Wheel SAS est une entreprise française de technologie innovante fondée en 2009.

Plus en détail

Introduction au Data-Mining

Introduction au Data-Mining Introduction au Data-Mining Alain Rakotomamonjy - Gilles Gasso. INSA Rouen -Département ASI Laboratoire PSI Introduction au Data-Mining p. 1/25 Data-Mining : Kèkecé? Traduction : Fouille de données. Terme

Plus en détail

Quels outils pour prévoir?

Quels outils pour prévoir? modeledition SA Quels outils pour prévoir? Les modèles de prévisions sont des outils irremplaçables pour la prise de décision. Pour cela les entreprises ont le choix entre Excel et les outils classiques

Plus en détail

Structuration des décisions de jurisprudence basée sur une ontologie juridique en langue arabe

Structuration des décisions de jurisprudence basée sur une ontologie juridique en langue arabe Structuration des décisions de jurisprudence basée sur une ontologie juridique en langue arabe Karima Dhouib, Sylvie Després Faiez Gargouri ISET - Sfax Tunisie, BP : 88A Elbustan ; Sfax karima.dhouib@isets.rnu.tn,

Plus en détail

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr Introduction aux systèmes temps réel Iulian Ober IRIT ober@iut-blagnac.fr Définition Systèmes dont la correction ne dépend pas seulement des valeurs des résultats produits mais également des délais dans

Plus en détail

Introduction au datamining

Introduction au datamining Introduction au datamining Patrick Naïm janvier 2005 Définition Définition Historique Mot utilisé au départ par les statisticiens Le mot indiquait une utilisation intensive des données conduisant à des

Plus en détail

Méthodologie d amélioration du développement logiciel chez ABB

Méthodologie d amélioration du développement logiciel chez ABB Software Méthodologie d amélioration du développement logiciel chez ABB Stig Larsson, Peter Kolb Le logiciel joue un rôle phare dans la réussite d ABB. Il investit les produits ABB et est source de valeur

Plus en détail

Consulting & Knowledge Management. Résumé :

Consulting & Knowledge Management. Résumé : Ardans SAS au capital de 230 000 RCS Versailles B 428 744 593 SIRET 428 744 593 00024 2, rue Hélène Boucher - 78286 Guyancourt Cedex - France Tél. +33 (0)1 39 30 99 00 Fax +33 (0)1 39 30 99 01 www.ardans.com

Plus en détail

Programmation d'agents intelligents Vers une refonte des fils de raisonnement. Stage de fin d'études Master IAD 2006

Programmation d'agents intelligents Vers une refonte des fils de raisonnement. Stage de fin d'études Master IAD 2006 vendredi 8 septembre 2006 Programmation d'agents intelligents Vers une refonte des fils de raisonnement Stage de fin d'études Master IAD 2006 Benjamin DEVEZE Responsable : M. Patrick TAILLIBERT Plan Plan

Plus en détail

Profil d études détaillé. Section : Informatique et systèmes Finalité : Technologie de l informatique

Profil d études détaillé. Section : Informatique et systèmes Finalité : Technologie de l informatique Section : Informatique et systèmes Finalité : Technologie de l informatique Page 1/6 1. Introduction L enseignement de la Haute Ecole Louvain en Hainaut donne la place centrale à l étudiant. Celui-ci trouvera

Plus en détail

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1

Plus en détail

M2S. Formation Management. formation. Animer son équipe Le management de proximité. Manager ses équipes à distance Nouveau manager

M2S. Formation Management. formation. Animer son équipe Le management de proximité. Manager ses équipes à distance Nouveau manager Formation Management M2S formation Animer son équipe Le management de proximité Manager ses équipes à distance Nouveau manager Coacher ses équipes pour mieux manager Déléguer et Organiser le temps de travail

Plus en détail

Associations Dossiers pratiques

Associations Dossiers pratiques Associations Dossiers pratiques Le tableau de bord, outil de pilotage de l association (Dossier réalisé par Laurent Simo, In Extenso Rhône-Alpes) Difficile d imaginer la conduite d un bateau sans boussole

Plus en détail

UE 8 Systèmes d information de gestion Le programme

UE 8 Systèmes d information de gestion Le programme UE 8 Systèmes d information de gestion Le programme Légende : Modifications de l arrêté du 8 mars 2010 Suppressions de l arrêté du 8 mars 2010 Partie inchangée par rapport au programme antérieur Indications

Plus en détail

INTRODUCTION. Master Management des Ressources Humaines de l IAE de Toulouse Page 1

INTRODUCTION. Master Management des Ressources Humaines de l IAE de Toulouse Page 1 LES FICHES OUTILS RESSOURCES HUMAINES L évaluation 360 Feed-back INTRODUCTION Aujourd hui les ressources humaines sont considérées par les entreprises comme un capital. La notion de «capital humain» illustre

Plus en détail

IODAA. de l 1nf0rmation à la Décision par l Analyse et l Apprentissage / 21

IODAA. de l 1nf0rmation à la Décision par l Analyse et l Apprentissage / 21 IODAA de l 1nf0rmation à la Décision par l Analyse et l Apprentissage IODAA Informations générales 2 Un monde nouveau Des données numériques partout en croissance prodigieuse Comment en extraire des connaissances

Plus en détail

PLAN DE FORMATION Formation : Le rôle du superviseur au quotidien 2014-2015

PLAN DE FORMATION Formation : Le rôle du superviseur au quotidien 2014-2015 1. Contexte PLAN DE FORMATION Formation : Le rôle du superviseur au quotidien 2014-2015 Dans le passé, on recherchait des superviseurs compétents au plan technique. Ce genre d expertise demeurera toujours

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

Les outils classiques de diagnostic stratégique

Les outils classiques de diagnostic stratégique Chapitre I Les outils classiques de diagnostic stratégique Ce chapitre présentera les principaux outils de diagnostic stratégique dans l optique d aider le lecteur à la compréhension et à la manipulation

Plus en détail

Dan Istrate. Directeur de thèse : Eric Castelli Co-Directeur : Laurent Besacier

Dan Istrate. Directeur de thèse : Eric Castelli Co-Directeur : Laurent Besacier Détection et reconnaissance des sons pour la surveillance médicale Dan Istrate le 16 décembre 2003 Directeur de thèse : Eric Castelli Co-Directeur : Laurent Besacier Thèse mené dans le cadre d une collaboration

Plus en détail

Mastère spécialisé. «Ingénierie de l innovation et du produit nouveau De l idée à la mise en marché»

Mastère spécialisé. «Ingénierie de l innovation et du produit nouveau De l idée à la mise en marché» Mastère spécialisé «Ingénierie de l innovation et du produit nouveau De l idée à la mise en marché» I- Présentation détaillée du programme d enseignement Répartition par modules et crédits ECTS : Intitulé

Plus en détail

IV - Programme détaillé par matière (1 fiche détaillée par matière)

IV - Programme détaillé par matière (1 fiche détaillée par matière) IV - Programme détaillé par matière (1 fiche détaillée par matière) Matière : Asservissement numérique Introduction aux systèmes échantillonnés (signal échantillonné, échantillonnage idéal, transformation

Plus en détail

Projet de programme pour l enseignement d exploration de la classe de 2 nde : Informatique et création numérique

Projet de programme pour l enseignement d exploration de la classe de 2 nde : Informatique et création numérique Projet de programme pour l enseignement d exploration de la classe de 2 nde : Informatique et création numérique 19 mai 2015 Préambule L informatique est tout à la fois une science et une technologie qui

Plus en détail

Sylvie Guessab Professeur à Supélec et responsable pédagogique du Mastère Spécialisé en Soutien Logistique Intégré des Systèmes Complexes

Sylvie Guessab Professeur à Supélec et responsable pédagogique du Mastère Spécialisé en Soutien Logistique Intégré des Systèmes Complexes Préface Toute personne est un jour confrontée à devoir prendre une décision, qu il s agisse de l étudiant qui réfléchit à son orientation académique, du chercheur qui doit privilégier une option scientifique

Plus en détail

Sciences de l ingénieur. Création et Innovation Technologique

Sciences de l ingénieur. Création et Innovation Technologique Lycée Les Fontenelles / Louviers LES ENSEIGNEMENTS D EXPLORATION : Sciences de l ingénieur Création et Innovation Technologique 1 Une approche complémentaire et différente Pour découvrir comment un produit

Plus en détail

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL i LE TEMPS RÉEL 1. PRÉSENTATION DU TEMPS RÉEL 1.1. APPLICATIONS TEMPS RÉEL 1.2. CONTRAINTES DE TEMPS RÉEL 2. STRUCTURES D'ACCUEIL POUR LE TEMPS RÉEL 2.1. EXÉCUTIFS TEMPS RÉEL 2.2. RÉSEAUX LOCAUX TEMPS

Plus en détail

«Identifier et définir le besoin en recrutement»

«Identifier et définir le besoin en recrutement» «Identifier et définir le besoin en recrutement» LES ETAPES DU RECRUTEMENT Le recrutement est une démarche structurée qui comporte plusieurs étapes aux quelles il faut attacher de l importance. La majorité

Plus en détail

GESTION DE PROJET. www.ziggourat.com - Tél : 01 44 61 96 00 N enregistrement formation : 11752861675

GESTION DE PROJET. www.ziggourat.com - Tél : 01 44 61 96 00 N enregistrement formation : 11752861675 GESTION DE PROJET www.ziggourat.com - Tél : 01 44 61 96 00 N enregistrement formation : 11752861675 Introduction à la Gestion de Projet... 3 Management de Projet... 4 Gestion de Projet informatique...

Plus en détail

FONDEMENTS MATHÉMATIQUES 12 E ANNÉE. Mathématiques financières

FONDEMENTS MATHÉMATIQUES 12 E ANNÉE. Mathématiques financières FONDEMENTS MATHÉMATIQUES 12 E ANNÉE Mathématiques financières A1. Résoudre des problèmes comportant des intérêts composés dans la prise de décisions financières. [C, L, RP, T, V] Résultat d apprentissage

Plus en détail

Chapitre 1 Cinématique du point matériel

Chapitre 1 Cinématique du point matériel Chapitre 1 Cinématique du point matériel 7 1.1. Introduction 1.1.1. Domaine d étude Le programme de mécanique de math sup se limite à l étude de la mécanique classique. Sont exclus : la relativité et la

Plus en détail

Extrait des Exploitations Pédagogiques

Extrait des Exploitations Pédagogiques Pédagogiques Module : Compétitivité et créativité CI Première : Compétitivité et créativité CI institutionnel : Développement durable et compétitivité des produits Support : Robot - O : Caractériser les

Plus en détail

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P EUROCOPTER SAS Groupe EADS Marignane Ecole des Mines d Alès Laboratoire de Génie Informatique et d Ingénierie de Production LGI2P Nîmes Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P Titre Domaine

Plus en détail

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Calculer avec Sage. Revision : 417 du 1 er juillet 2010 Calculer avec Sage Alexandre Casamayou Guillaume Connan Thierry Dumont Laurent Fousse François Maltey Matthias Meulien Marc Mezzarobba Clément Pernet Nicolas Thiéry Paul Zimmermann Revision : 417 du 1

Plus en détail

Chapitre 9 : Informatique décisionnelle

Chapitre 9 : Informatique décisionnelle Chapitre 9 : Informatique décisionnelle Sommaire Introduction... 3 Définition... 3 Les domaines d application de l informatique décisionnelle... 4 Architecture d un système décisionnel... 5 L outil Oracle

Plus en détail

Développement spécifique d'un système d information

Développement spécifique d'un système d information Centre national de la recherche scientifique Direction des systèmes d'information REFERENTIEL QUALITE Procédure Qualité Développement spécifique d'un système d information Référence : CNRS/DSI/conduite-proj/developpement/proc-developpement-si

Plus en détail

Rapport de stage d initiation

Rapport de stage d initiation Ministère de l enseignement supérieur et de la recherche scientifique Direction Générale des Études Technologiques Institut Supérieur des Etudes Technologiques de SILIANA Département Technologies de l

Plus en détail

Présentation de la majeure ISN. ESILV - 18 avril 2013

Présentation de la majeure ISN. ESILV - 18 avril 2013 Présentation de la majeure ISN ESILV - 18 avril 2013 La Grande Carte des Métiers et des Emplois Sociétés de service Entreprises Administrations Grand- Public Sciences Utiliser Aider à utiliser Vendre APPLICATIONS:

Plus en détail

Intérêt du découpage en sous-bandes pour l analyse spectrale

Intérêt du découpage en sous-bandes pour l analyse spectrale Intérêt du découpage en sous-bandes pour l analyse spectrale David BONACCI Institut National Polytechnique de Toulouse (INP) École Nationale Supérieure d Électrotechnique, d Électronique, d Informatique,

Plus en détail

Synthèse «Le Plus Grand Produit»

Synthèse «Le Plus Grand Produit» Introduction et Objectifs Synthèse «Le Plus Grand Produit» Le document suivant est extrait d un ensemble de ressources plus vastes construites par un groupe de recherche INRP-IREM-IUFM-LEPS. La problématique

Plus en détail

PROGRAMME DE CRÉATION ET INNOVATION TECHNOLOGIQUES EN CLASSE DE SECONDE GÉNÉRALE ET TECHNOLOGIQUE Enseignement d exploration

PROGRAMME DE CRÉATION ET INNOVATION TECHNOLOGIQUES EN CLASSE DE SECONDE GÉNÉRALE ET TECHNOLOGIQUE Enseignement d exploration PROGRAMME DE CRÉATION ET INNOVATION TECHNOLOGIQUES EN CLASSE DE SECONDE GÉNÉRALE ET TECHNOLOGIQUE Enseignement d exploration Préambule La société doit faire face à de nouveaux défis pour satisfaire les

Plus en détail

Méthodologies de développement de logiciels de gestion

Méthodologies de développement de logiciels de gestion Méthodologies de développement de logiciels de gestion Chapitre 5 Traits caractéristiques des deux approches de méthodologie Présentation réalisée par P.-A. Sunier Professeur à la HE-Arc de Neuchâtel http://lgl.isnetne.ch

Plus en détail

ENSEIGNEMENT DES SCIENCES ET DE LA TECHNOLOGIE A L ECOLE PRIMAIRE : QUELLE DEMARCHE?

ENSEIGNEMENT DES SCIENCES ET DE LA TECHNOLOGIE A L ECOLE PRIMAIRE : QUELLE DEMARCHE? ENSEIGNEMENT DES SCIENCES ET DE LA TECHNOLOGIE A L ECOLE PRIMAIRE : QUELLE DEMARCHE? Les nouveaux programmes 2008 confirment que l observation, le questionnement, l expérimentation et l argumentation sont

Plus en détail

Table des matières. Comment utiliser efficacement cet ouvrage pour en obtenir les meilleurs résultats?... 5

Table des matières. Comment utiliser efficacement cet ouvrage pour en obtenir les meilleurs résultats?... 5 Table des matières Sommaire.................................................................. v Avant-propos et remerciements............................................. 1 Note du traducteur.....................................................

Plus en détail

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques. Logique binaire I. L'algèbre de Boole L'algèbre de Boole est la partie des mathématiques, de la logique et de l'électronique qui s'intéresse aux opérations et aux fonctions sur les variables logiques.

Plus en détail

«Bases de données géoréférencées pour la gestion agricole et environnementale en Roumanie»

«Bases de données géoréférencées pour la gestion agricole et environnementale en Roumanie» «Bases de données géoréférencées pour la gestion agricole et environnementale en Roumanie» Dr. Alexandru BADEA Directeur Applications Spatiales Agence Spatiale Roumaine Tél : +40(0)744506880 alexandru.badea@rosa.ro

Plus en détail

Un accueil de qualité :

Un accueil de qualité : Un accueil de qualité : Mercredi 08 Juin 2011, dans l après-midi, notre classe de 3 ème de Découverte Professionnelle s est rendue sur le site de THALES ALENIA SPACE à CANNES LA BOCCA. Nous étions accompagnés

Plus en détail

Laboratoire d informatique Gaspard-Monge UMR 8049. Journée Labex Bézout- ANSES

Laboratoire d informatique Gaspard-Monge UMR 8049. Journée Labex Bézout- ANSES Laboratoire d informatique Gaspard-Monge UMR 8049 Journée Labex Bézout- ANSES Présentation du laboratoire 150 membres, 71 chercheurs et enseignants-chercheurs, 60 doctorants 4 tutelles : CNRS, École des

Plus en détail

JOURNEES SYSTEMES & LOGICIELS CRITIQUES le 14/11/2000. Mise en Œuvre des techniques synchrones pour des applications industrielles

JOURNEES SYSTEMES & LOGICIELS CRITIQUES le 14/11/2000. Mise en Œuvre des techniques synchrones pour des applications industrielles JOURNEES SYSTEMES & LOGICIELS CRITIQUES le 14/11/2000 Mise en Œuvre des techniques synchrones pour des applications industrielles Mise en œuvre des techniques synchrones pour des applications industrielles

Plus en détail

Conception, architecture et urbanisation des systèmes d information

Conception, architecture et urbanisation des systèmes d information Conception, architecture et urbanisation des systèmes d information S. Servigne Maître de Conférences, LIRIS, INSA-Lyon, F-69621 Villeurbanne Cedex e-mail: sylvie.servigne@insa-lyon.fr 1. Introduction

Plus en détail

Métiers de la Production/ Logistique

Métiers de la Production/ Logistique Les fiches Métiers de l Observatoire du Travail Temporaire Emploi, compétences et trajectoires d intérimaires cadres Métiers de la Production/ Logistique R & D Production Ingénieur de recherche Responsable

Plus en détail

SCIENCES DE L ÉDUCATION

SCIENCES DE L ÉDUCATION UniDistance 1 Centre d Etudes Suisse Romande Formation universitaire SCIENCES DE L ÉDUCATION En collaboration avec L Université de Bourgogne à Dijon Centre de Formation Ouverte et A Distance CFOAD UniDistance

Plus en détail

Modélisation multi-agents - Agents réactifs

Modélisation multi-agents - Agents réactifs Modélisation multi-agents - Agents réactifs Syma cursus CSI / SCIA Julien Saunier - julien.saunier@ifsttar.fr Sources www-lih.univlehavre.fr/~olivier/enseignement/masterrecherche/cours/ support/algofourmis.pdf

Plus en détail

Manipulateurs Pleinement Parallèles

Manipulateurs Pleinement Parallèles Séparation des Solutions aux Modèles Géométriques Direct et Inverse pour les Manipulateurs Pleinement Parallèles Chablat Damien, Wenger Philippe Institut de Recherche en Communications et Cybernétique

Plus en détail

MEMOIRE POUR UNE HABILITATION A DIRIGER DES RECHERCHES

MEMOIRE POUR UNE HABILITATION A DIRIGER DES RECHERCHES UNIVERSITE DE BOURGOGNE MEMOIRE POUR UNE HABILITATION A DIRIGER DES RECHERCHES Discipline : Sciences de Gestion Matière : Finance Candidate : Aurélie SANNAJUST Fonction : Maître de Conférences à l Université

Plus en détail

Informatique et Société : une brève histoire

Informatique et Société : une brève histoire Informatique et Société : une brève histoire Igor Stéphan UFR Sciences Angers 2012-2013 Igor Stéphan UEL29 1/ 24 Informatique et Société : une brève histoire 1 Les conditions de l émergence 2 3 4 5 Igor

Plus en détail

EVALUATION TD «Business intelligence». Cas au choix IFPA ou INNO ou EGE ou KALINE, KAYA à faire par groupes de 2 ou 3.

EVALUATION TD «Business intelligence». Cas au choix IFPA ou INNO ou EGE ou KALINE, KAYA à faire par groupes de 2 ou 3. EVALUATION TD «Business intelligence». Cas au choix IFPA ou INNO ou EGE ou KALINE, KAYA à faire par groupes de 2 ou 3. CAS KALINE (2013) La société Kaline entreprise de plasturgie depuis 25 ans est en

Plus en détail

Cabri et le programme de géométrie au secondaire au Québec

Cabri et le programme de géométrie au secondaire au Québec Cabri et le programme de géométrie au secondaire au Québec Benoît Côté Département de mathématiques, UQAM, Québec cote.benoit@uqam.ca 1. Introduction - Exercice de didactique fiction Que signifie intégrer

Plus en détail

ITIL V3. Objectifs et principes-clés de la conception des services

ITIL V3. Objectifs et principes-clés de la conception des services ITIL V3 Objectifs et principes-clés de la conception des services Création : janvier 2008 Mise à jour : juillet 2011 A propos A propos du document Ce document de référence sur le référentiel ITIL V3 a

Plus en détail