Télécharger le fichier original (Mémoire de fin d’études)
Défis à relever
Le robot est un système pouvant percevoir, comprendre et agir sur son envi-ronnement. Comprendre son environnement suppose de pouvoir raisonner sur les données de perception afin d’en extraire des données de plus haut niveau d’abs-traction, permettant d’avoir une estimation de la situation et ainsi de prendre les décisions adéquates pour accomplir la tâche qui lui incombe. C’est la célèbre boucle perception-décision-action.
Avec le progrès récent de la robotique, les robots commencent à arriver dans les usines pour travailler aux côtés d’humains, ainsi que dans les foyers comme ro-bot d’assistance. Adapter les capacités de raisonnements du robot à ce nouveau monde, qui est par définition configuré pour l’homme, représente un défi pour la recherche. Cet environnement humain est composé d’éléments statiques tel que les murs, d’éléments pouvant évoluer au cours d’une interaction (déplacement, remplis-sage, activation…) que nous appellerons les objets, et enfin d’éléments pouvant se mouvoir, agir sur les objets, et interagir entre eux que nous appellerons les agents. Ces agents peuvent être robotiques ou humains. Pour pouvoir agir dans un environ-nement humain, le robot doit donc pouvoir percevoir tous ces éléments énumérés précédemment et en extraire une représentation symbolique afin de décrire au mieux la situation et permettre à la couche décisionnelle d’agir de façon appropriée.
Évaluation de la situation
Le concept de « Situation Awareness », qui pourrait se traduire par la « recon-naissance de situation », a été identifié d’après Gilson [Gilson 1995] durant la pre-mière guerre mondiale par Oswald Boelke qui a réalisé « l’importance d’obtenir une connaissance de l’ennemi avant que l’ennemi n’obtienne une connaissance similaire, et conçu des procédés pour y parvenir ». Le terme de Situation Awareness est cou-ramment utilisé dans le domaine de l’Interaction Homme-Machine. Parmi les scien-tifiques ayant étudié ce principe, Mica Endsley en a énoncé une définition générale. Elle définit la connaissance de la situation comme étant « la perception d’éléments de l’environnement dans un volume de temps et d’espace, la compréhension de leur signification et la projection de leur état dans un futur proche » [Endsley 2000]. Le chapitre 7, « Situation Awareness » du livre [Pew 1998] présente une discussion et une étude sur les différentes définitions (données dans divers articles tel que [Stiffler 1988, Noble 1989, Fracker 1988]…) et systèmes pour la connaissance de la situation. Dans l’article [Stanton 2001], la connaissance de la situation est abordée du point de vue de la sécurité. L’article présente et discute trois théories de la connaissance de la situation : le modèle en trois niveau d’Ensley [Endsley 1995], l’approche basée sur les sous-systèmes interactifs [Bedny 1999] et le cycle perceptuel [Smith 1995].
Nous détaillons ici les trois niveaux d’Ensley.
— Premier niveau : perception des éléments de l’environnement. Ce niveau est l’identification des éléments ou événements clés qui, en les combinant servent à définir la situation. Ce premier niveau marque sémantiquement les éléments important de la situation pour les niveaux d’abstraction supérieure dans les processus suivants.
— Deuxième niveau : compréhension de la situation courante. La compréhen-sion provient de la combinaison des éléments du premier niveau pour avoir une représentation plus globale. Ce niveau permet de définir l’état courant en des termes pertinents qui permettent la prise de décision et d’entreprendre d’agir sur l’environnement.
— Troisième niveau : prédiction des états futurs. Ce niveau est la projection de la situation courante vers le futur, dans l’environnement, afin d’essayer de prédire l’évolution de la situation. La précision de la prédiction dépend largement de la précision des deux niveaux inférieurs de connaissance de la situation. L’anticipation du futur projeté permet à l’agent décisionnel (l’opé-rateur ou le superviseur) d’avoir le temps de résoudre certains problèmes avant qu’ils n’arrivent et de mettre en place un plan d’action pour atteindre l’objectif.
Cette composition est résumée à la figure 2.1.
Dans le cas de systèmes en évolution et d’environnements dynamiques, le pro-cessus permettant d’acquérir et de maintenir la connaissance de la situation est appelé évaluation de la situation (situation assessment). Endsley explique dans [Endsley 1995] que « la connaissance de la situation incorpore la compréhension d’un opérateur sur la situation globale, formant ainsi la base pour la prise de décision ». Les processus d’évaluation de la situation sont donc fortement liés aux processus de prise de décision (qui constituent la supervision dans un système robotique). L’une des principales préoccupations pour l’Interaction Homme-Machine est de concevoir des interfaces utilisateurs qui permettent à un opérateur d’acquérir la connaissance de la situation de façon pertinente afin qu’il puisse décider quelle décision prendre.
De la même manière, en robotique, le robot a besoin de décider quelle action entreprendre et quand agir sur son environnement. Pour prendre ce genre de déci-sions, la supervision repose sur des processus de plus bas niveau pour obtenir des informations à haut niveau d’abstraction sur l’environnement. Cela implique, pour l’évaluation de la situation, de raisonner sur ce qui entoure le robot à partir des données des capteurs afin de modéliser la configuration de l’environnement physique autour du robot et de produire un ensemble de propriétés concernant les divers élé-ments. Ceci permet de fournir une représentation symbolique de l’état du monde au superviseur afin de faciliter son raisonnement et sa prise de décision. Pour créer cette représentation symbolique, il est d’abord nécessaire au robot d’avoir une bonne estimation de l’état du monde et d’en avoir une représentation tridimensionnelle en regroupant efficacement les données de perception issues des divers capteurs.
État de l’art
Dans le domaine de l’Intelligence Artificielle, plusieurs méthodes ont été déve-loppées pour effectuer l’évaluation de la situation. Nous allons brièvement décrire ces différentes méthodes.
Évaluation de la situation basée sur des règles expertes
Un système d’évaluation de la situation basé sur des règles (rule-based en An-glais) est un système de connaissance qui repose sur des règles préétablies pour l’inférence et sur une base de faits. L’expertise liée au domaine est directement intégrée au système par la définition des différentes règles spécifiques au domaine d’application. L’état du monde symbolique en découlant est représenté comme un ensemble de faits dans une base de faits. Généralement, les règles utilisent des don-nées d’environnements (pouvant provenir de calculs sur les données capteurs) ou des faits provenant d’autres règles, et en fonction de certaines conditions logiques, produisent un nouveau fait qui sera ajouté à la base de faits. Par exemple, un sys-tème météorologique pourrait avoir la règle suivante : HIGH_TEMPERATURE ∧ NO_CLOUD =⇒ GOOD_WEATHER.
Dans cet exemple, les propriétés HIGH_T EM P ERAT U RE et N O_CLOU D sont issues de capteurs. Si ces deux propriétés sont vraies, le fait GOOD_W EAT HER sera produit et ajouté à la base de faits. Dans le cas d’un système basé sur des règles expertes, cette implication serait directement ajoutée au système par l’expert du domaine (par exemple ici un expert en météorologie). Les modules responsables de la production des faits basés sur ces règles sont appelés des raisonneurs.
En identifiant les divers éléments et leurs relations, les règles peuvent être uti-lisées pour déduire des informations de plus haut niveau correspondant à des faits décrivant des situations particulières. Ceci permet à la partie décisionnelle, c’est à dire l’opérateur pour une Interface Homme-Machine (IHM) ou le superviseur pour un système autonome tel qu’un robot, de baser sa décision sur des faits décrivant la situation de façon pertinente.
Ce type d’approche a été utilisé dans divers domaines, comme par exemple l’évaluation de la situation pour la surveillance côtière [Edlund 2006], l’évaluation de procédure d’approche pour l’atterrissage d’avion [Baron 1980, Milgram 1984], le dépannage de voiture ou encore le diagnostic médical [Swartout 1985, Miller 1982]. L’un des avantages principaux des systèmes basés sur des règles est qu’ils sont relativement simples et naturels dans leur implémentation. Cependant, l’un des in-convénients de tels systèmes est le manque de modélisation de l’incertitude. Même si certaines variantes de systèmes basés sur des règles incorporent des valeurs d’incerti-tudes dans les règles, cette approche implique certaines restrictions et une attention toute particulière lors du développement des règles comme présenté au chapitre 15 du livre [Russell 2003].
Évaluation de la situation basée sur les cas
Le raisonnement basé sur les cas (Case-based reasoning en Anglais) est un pa-radigme dans lequel la connaissance est représentée comme un ensemble de cas individuels qui est utilisé pour raisonner sur de nouvelles situations. Tous les cas partagent une même structure et sont définis par un ensemble de caractéristiques. Lorsqu’un nouveau problème, défini comme le cas recherché, est présenté au sys-tème, il est comparé à tous les autres cas de la bibliothèque, et le cas le plus proche est utilisé pour résoudre le nouveau problème. La proximité est définie par une mesure basée sur un sous-ensemble des caractéristiques du cas appelé indice de caractéristiques. Il existe différents types de mesures de similarité : distance Eucli-dienne, distance d’Hamming, la métrique de la valeur de différence de Stanfill et Waltz (1986)…
En général, le cas le plus proche retrouvé ne correspond pas parfaitement au cas recherché. C’est pourquoi, les systèmes basés sur les cas ont souvent recours à des règles pour adapter le cas retrouvé au cas recherché. L’un des intérêts d’utiliser le raisonnement basé sur les cas pour l’estimation de la situation et la prise de décision est que cette démarche est proche de celle utilisée par les hommes pour interagir sur leur environnement. Dans le domaine de la théorie de la mémoire humaine, ce cas de connaissance liée à un épisode spécifique est appelé la mémoire épisodique [Tulving 1972].
L’approche basée sur les cas peut également être préférable lorsqu’il n’y a pas de modèles valides du domaine. En effet, dans certaines applications l’espace d’états peu être trop vaste pour permettre la construction d’un domaine complet et per-tinent. En l’absence de la modélisation du modèle, les solutions basées sur les cas offrent une alternative aux solutions basées sur le modèle.
Évaluation de la situation basée sur des Réseaux Bayésiens
Pour réaliser l’estimation de la situation de façon probabiliste, de nombreux systèmes ont recours à divers variantes des réseaux Bayésiens (BN pour Bayesian Networks) [Bladon 2002, Das 2002, Higgins 2005]. Les réseaux Bayésiens (aussi ap-pelés réseaux de croyance (Belief Networks) ou réseaux de croyance Bayésien (BBN pour Bayesian Belief Networks) sont des structures probabilistes qui permettent un raisonnement cohérent à partir d’informations incertaines [Pearl 1986].
Les BNs sont basés sur des règles Bayésiennes qui permettent le calcul d’une probabilité postérieure associée à une proposition particulière en fonction des pro-babilités antérieures et des probabilités conditionnelles qui y sont associées. Il est possible de représenter un BN sous la forme d’un graphe où les nœuds correspondent aux propositions et les arrêtes directionnelles représentent le lien causal entre les propositions. Lors de la mise en place d’un BN, les probabilités à priori et condi-tionnelles doivent être spécifiées pour chaque nœud. Les probabilités postérieures pour chaque nœud peuvent être mises à jour selon les règles Bayésiennes lorsque une nouvelle information est présentée au réseau.
La capacité de gérer l’incertitude et une implémentation relativement simple rendent les réseaux de croyance Bayésiens très attractifs. Cependant, l’ensemble des variables est fixe et fini, et chaque variable a un ensemble fixe de valeurs pos-sibles [Russell 2003]. Les BNs classiques ne peuvent représenter des concepts abs-traits tel que les relations entre éléments, ce qui limite l’application des BNs pour des domaines complexes. Pour gérer ces contraintes, des extensions ont été créées. Ces extensions s’appellent RPM pour modèles relationnels probabilistes (Relational Probabilistic Models) [Howard 2005, Russell 2003].
Un autre inconvénient lié à l’usage des BNs classiques est qu’ils n’ont pas de mécanisme propre pour le raisonnement temporel. De nombreuses propositions existent pour palier à ce manque [Russell 2003]. Il est également possible d’utiliser un BN classique en ajoutant des noeuds multi-états correspondant à une « mémoire » [Higgins 2005].
Enfin, dues à l’aspect probabiliste, des valeurs statistiques adéquates sont néces-saires pour obtenir des modèles probants. Ceci peut nécessiter des connaissances à priori sur la répartition de probabilité ou un large panel de données pour entraîner le système, sans quoi une approximation des distributions doit être réalisée ce qui peut s’avérer compliqué. De plus, modéliser les relations causales peut également s’avérer complexe selon la complexité du domaine concerné.
Higgins [Higgins 2005] propose une approche pour la reconnaissance d’événe-ments en utilisant les réseaux Bayésiens. Nous reviendrons sur ce type d’utilisation de réseaux Bayésiens pour tenter de reconnaître les actions de l’homme et estimer son intention au chapitre 5.
Évaluation de la situation en robotique
En robotique, l’aspect dynamique de l’environnement et le besoin d’agir et réagir en fonction de celui-ci rend l’évaluation de la situation indispensable. L’estimation de la situation en robotique est fortement liée au choix de l’architecture robotique. Ainsi Shakey [Nilsson 1969], l’un des tout premiers robots, avait une architecture en trois parties : perception, planification, exécution. Cette approche est appelée le paradigme sense-plan-act (SPA). La partie « perception » avait en charge de fournir une représentation du monde à la planification. L’équipe de Stanford, ayant réalisé cette étude, avait déjà identifié l’importance de mettre à jour le modèle d’environ-nement dynamique : « comme le monde évolue, soit par l’action du robot lui-même ou pour d’autres raisons, le modèle doit être mis à jour pour enregistrer ces chan-gements. De même, les nouvelles informations apprises sur l’environnement doivent être ajoutées au modèle ». L’une des caractéristiques de ce type d’architecture est que les données capteurs sont utilisées pour créer un modèle du monde, réalisant ainsi une évaluation de la situation basée sur des règles expertes afin de permettre la planification pour atteindre un but donné. L’un des inconvénients de ce système est que les capteurs utilisés pour créer le modèle d’environnement servant de base pour la planification ne sont pas directement utilisés lors de l’exécution.
Par la suite, pour pallier le manque de sécurité lors de l’exécution d’actions d’architectures robotiques basées sur le paradigme SPA, et pour éviter une planifi-cation coûteuse en temps et puissance de calcul, une nouvelle forme d’architecture robotique, plus réactive et plus connectée aux données capteurs a été mise en place. Il s’agit de l’architecture Subsumption ou « behavior-based » [Brooks 1986]. Dans ce type d’architecture, les actionneurs sont reliés aux capteurs de façon beaucoup plus directes, ce qui permet d’obtenir un système plus réactif. Cependant, l’inconvénient d’une telle architecture robotique est que le système n’a pas de représentation glo-bale de la situation et a donc un comportement principalement réactif. L’absence de représentation globale du monde qui entoure le robot ne permet pas de prendre des décisions à long terme ou d’optimiser la prise de décision. Dans une telle architecture l’évaluation de la situation est de type basée sur le cas (case-based).
La plupart des architectures robotiques récentes visent à intégrer à la fois la réactivité des architectures basées sur le comportement (Subsumption) et la capacité de délibération des architectures SPA. Afin d’atteindre cet objectif, l’architecture 3T (de l’Anglais « 3 tiers », trois niveaux) a été mise en place [Bonasso 1995]. En terme d’évaluation de la situation, ces trois niveaux sont comparables aux trois niveaux d’Ensley présentés en section 2.1.2 comme nous allons le montrer ci-dessous.
Le niveau le plus bas appelé « Behavioral layer » est en charge des capteurs pour la perception et des actionneurs pour l’exécution. À ce niveau, les données capteurs sont traitées pour fournir des données pertinentes. Par exemple, pour le dialogue, les données brutes du microphone sont transformées en mots, cependant ceci ne sont pas encore interprétés. L’interprétation sémantique de cette entrée sera faite dans le niveau supérieur. Ce premier niveau prend également en charge les actionneurs qui reçoivent des commandes de la couche supérieure et qui les exécutent tout en utilisant les données capteurs de cette même couche. En terme d’estimation de la situation, cette couche est comparable au niveau « perception et représentation » pour la connaissance de la situation présentée par Ensley.
Le second niveau, aussi appelé « Executive layer » est en charge de l’interprétation sémantique des données issues de la couche inférieure et du séquençage d’actions à accomplir pour atteindre la tâche donnée par le niveau supérieur. Ce niveau pilote donc les sous composants d’exécution de la couche inférieure en fonction de l’esti-mation de la situation et de séquences d’actions pour accomplir une tâche. En terme d’estimation de la situation, si on se réfère à nouveau aux trois niveaux d’Ensley, ce second niveau par l’interprétation sémantique des données réalisée correspond bien au second niveau d’Ensley (le niveau de connaissance et d’états mentaux).
Le dernier niveau appelé « Planning layer » est en charge de la vision à long terme du système pour accomplir un but. Elle utilise les données issues de la couche inférieure pour décider de la suite de tâches à entreprendre pour accomplir un but. De nouveau, en terme d’estimation de la situation, ce dernier niveau correspond au niveau « Reflection et projection » d’Ensley.
Comme présenté en section 1.2.2 et dans [Alami 1998a], notre architecture est également en trois niveaux. Le plus bas niveau, appelé niveau fonctionnel, est consti-tué d’un ensemble de modules qui contiennent des algorithmes de contrôle et de per-ception dynamiquement paramétrable. La couche exécutive quand à elle ne contient pas de séquence d’actions. Elle se contente de recevoir les commandes du niveau supérieur et de paramétrer les modules inférieurs en conséquence. Le dernier niveau est constitué d’un superviseur [Fiore 2014] et d’un planificateur de tâches de type HTN [Guitton 2012]. Le superviseur pilote le planificateur de tâches en demandant de résoudre un but, puis pilote les autres modules pour exécuter chaque action du plan et surveiller l’évolution de celui-ci. Le superviseur peut ainsi, lorsqu’il détecte une incohérence (une action n’ayant pas eu l’effet prévu, l’échec d’une action ou encore l’impossibilité d’exécuter l’action) demander un nouveau plan au planifica-teur.
Concernant l’évaluation de la situation, de nombreux systèmes robotiques ont recours à un composant d’évaluation de la situation qui correspond aux besoins du robot dans une tâche applicative particulière. Dans [Beck 2011], le système d’éva-luation de la situation est basé sur une chaîne de Markov dynamique pour modéliser les états de l’environnement et leur évolution. Les auteurs présentent une applica-tion pour un robot mobile navigant dans un passage étroit. [Kluge 2001] présente une évaluation de la situation empirique pour robot mobile dans une zone à forte influence, permettant de reconnaître les situations d’obstruction volontaire.
Notre système permet non seulement d’effectuer l’agrégation des données de perception pour modéliser l’état du monde afin de pouvoir réagir à l’environnement et exécuter les actions en prenant en compte l’aspect dynamique de ce qui l’entoure, mais aussi la production de faits symboliques basés sur des calculs géométriques, ce qui permet le raisonnement symbolique au niveau des modules supérieurs dans l’architecture, à savoir la supervision et la planification. Nos travaux peuvent être comparés au « Grounded Situation Model » (GSM) introduit par Mavridis et Roy [Mavridis 2005] dans le sens où ils fournissent tous les deux une représentation amodale du monde utilisée comme un médiateur entre les capteurs et le modèle symbolique. [Coradeschi 2013] présente une étude sur ces systèmes de fondement des symboles (symbol grounding [Harnad 1990]) en robotique. Le fondement de symboles permet de relier la représentation symbolique de concepts avec leurs équi-valents non symboliques dans le monde réel. [Daoutis 2009] [Lemaignan 2011] pré-sentent des exemples d’utilisations de ce genre de systèmes. Les applications pour le raisonnement spatial [O’Keefe 1999] sont multiples. Par exemple, cela a été utilisé pour le traitement du langage naturel pour des applications telles que la recon-naissance de direction [Kollar 2010, Matuszek 2010] ou le fondement du langage (language grounding) [Tellex 2010]. [Skubic 2004] présente un raisonneur spatial intégré dans un robot qui calcule la position symbolique des objets.
Nos travaux peuvent également être comparés aux travaux de Heinz [Heintz 2009], dans le sens où contrairement à beaucoup d’applications robotiques, nous ne cherchons pas à relier des capteurs à un raisonneur pour une application particulière (de façon « had-hoc ») mais nous cherchons à créer une infrastructure logicielle permettant le raisonnement sur l’environnement du robot pour diverses applications d’interactions homme-robot et pour combler l’écart entre les données capteurs et le raisonnement symbolique. Heinz définit le terme de « knowledge pro-cessing middleware »[Heintz 2008], ou intergiciel de traitement de données, comme étant « une infrastructure logicielle systématique et fondée sur des principes pour combler le fossé entre détection et raisonnement dans un agent physique ». Ainsi, nos travaux répondent à de nombreuses caractéristiques requises pour être considé-rés comme un intergiciel de traitement de données. En effet, Heinz déclare qu’une telle infrastructure doit fournir à la fois un aspect conceptuel et une implémen-tation permettant d’intégrer une large variété de fonctionnalité et de gestion de l’information. Ainsi, Heinz dans [Heintz 2010] décrit DyKnow. DyKnow est un in-tergiciel (ou middleware) de traitement de connaissances basé sur des flux. Le but de DyKnow est de combler l’écart entre « les données sur le monde collectées généra-lement par des capteurs et les données supposées disponibles qui sont utilisées par les fonctionnalités délibératives ».
En plus de la description conceptuelle que nous allons faire ici, nous présen-terons, en section 2.7, TOASTER, une infrastructure logicielle open-source implé-mentant les concepts énoncés. De plus, notre système crée une représentation de l’environnement à différents niveaux d’abstraction (sub-symbolique et symbolique), et peut être configuré ou reconfiguré de façon flexible et en ligne (par exemple par le superviseur). De plus il incorpore un raisonnement « bottom-up » pour la production de données symboliques et « top-down » pour raisonner sur des données perceptives potentiellement incomplètes (voir section 2.5) et permet de prendre en compte l’in-certitude. Cependant, nos travaux portent principalement sur l’aspect « représentation » du premier niveau décrit par Ensley et sur les connaissances et les modèles mentaux constituant le second niveau plutôt que sur la « perception » à proprement parler. Ainsi, notre système n’effectue pas de traitement de données brutes comme le trai-tement d’images mais utilise les sorties de tels logiciels (par exemple le nom et la position des objets). Nous utilisons une approche modulaire où chaque module partage une représentation tridimensionnelle du monde. Cette représentation est utilisée pour le calcul de divers faits et primitives concernant notamment les re-lations spatiales, la cinématique et l’état des divers éléments de l’environnement. Une valeur de « confiance » est associée à chaque fait, permettant ainsi le raisonne-ment probabiliste. Différents modules peuvent donc utiliser différentes techniques d’évaluation de la situation, probabiliste ou basé sur des règles expertes. Notre infrastructure pour l’évaluation de la situation comporte également certaines spéci-ficités telles des raisonnements « top-down » permettant de pallier certains manques liés à la perception. Notre étude ne concerne pas la fusion des données capteurs (voir chapitre 25 du livre [Siciliano 2008]) ni les différentes méthodes permettant de réaliser la perception à proprement parlée des divers éléments de l’environnement, cependant, afin de donner un contexte à notre étude, nous présenterons brièvement certaines de ces méthodes. En effet, nos travaux sur l’estimation de la situation pour l’interaction homme-robot se concentrent sur les processus de plus haut ni-veau, à savoir l’agrégation et l’interprétation contextuelle des données issues de la perception pour évaluer la situation.
L’architecture et la composition de notre infrastructure logicielle permettant de réaliser l’évaluation de la situation ayant grandement évolué au cours du temps, nous présenterons les concepts et la configuration correspondant à la version la plus récente du système.
Perception et données capteurs
Éléments statiques
Un robot amené à interagir avec des humains est également amené à partager leur environnement. Que se soit dans un foyer ou une entreprise, cet environnement est composé de murs, d’escaliers de meubles… autant d’éléments statiques pouvant être des obstacles pour se mouvoir et manipuler les objets dans l’environnement. Ces éléments étant considérés comme « statiques », leur configuration peut être stockée dans la mémoire du robot (par exemple sous forme de carte 2D pour la navigation, comme dans la figure 2.2) et directement utilisée au niveau de l’exécution lorsque l’action à accomplir nécessite une navigation ou une manipulation, sans avoir à passer par le niveau décisionnel. Connaître l’empreinte au sol des différents éléments statiques n’est pas toujours suffisant. Ainsi pour effectuer une manipulation d’objet sur des meubles, le robot a besoin de connaître le modèle tridimensionnel du meuble afin d’éviter toute collision lors de la manipulation. Cette connaissance peut provenir soit d’une perception tridimensionnelle de l’environnement, soit d’une connaissance à priori du modèle tridimensionnel du meuble.
Objets
Les lieux de travail et de vie sont également composés d’objets divers. Récipients, outils, vêtements, appareils électroniques… autant d’éléments qui peuvent prendre des formes et fonctionnalités variées. Certains de ces objets peuvent également avoir des états. Par exemple, une bouteille peut être vide ou pleine, un vêtement peut être propre ou sale, un appareil électronique peut être éteint ou allumé. Ces objets sont pour la plupart manipulables au cours d’une interaction. Il est donc important que le robot puisse, afin d’agir correctement sur son environnement, reconnaître ces objets et dans la mesure du possible, connaître et suivre l’évolution de leur état.
La vision permet d’obtenir des informations riches concernant les objets, en répondant aux questions « où ? » et « quoi ? ». L’article [Besl 1985] propose une dé-finition du problème de reconnaissance d’objets 3-D. Pour effectuer cette recon-naissance d’objets, diverses méthodes existent. Ces méthodes sont basées sur des solutions capteurs comme la stéréo vision [Murphy-Chutorian 2005] ou en utilisant un capteur RGBD tel la Kinect [Tang 2012, Han 2013]. Ainsi, le robot est capable de détecter, reconnaître et positionner, moyennant une projection dans le repère global, les objets perçus par rapport au reste de l’environnement.
Table des matières
1 Introduction
1.1 Contexte général
1.2 Contexte de la thèse
1.2.1 Le projet MaRDi
1.2.2 Environnement de travail
1.3 Motivations
1.3.1 Scénario
1.3.2 Défis liés à la thèse et contributions associées
1.4 Publications
1.5 Organisation du manuscrit
2 Construction et Maintien de l’État du Monde
2.1 Contexte
2.1.1 Défis à relever
2.1.2 Évaluation de la situation
2.1.3 État de l’art
2.2 Perception et données capteurs
2.2.1 Éléments statiques
2.2.2 Objets
2.2.3 Robots
2.2.4 Humains
2.3 Représentation du monde et regroupement des données
2.4 Connaissances sur l’environnement et calculs de faits
2.4.1 Représentation de la connaissance
2.4.2 Calculs de faits
2.5 Hypothèses pour le maintien de l’état du monde
2.5.1 Hypothèses de position
2.5.2 Généralisation
2.6 Base de données temporelle
2.6.1 Gestion des données
2.6.2 Gestion de l’historique
2.7 Implémentation
2.7.1 Collecte de données et généricité
2.7.2 Outils de développement
2.7.3 Architecture globale
2.8 Résultats expérimentaux
2.8.1 Le robot guide
2.8.2 Le robot coéquipier
3 Prise de perspective et maintien de l’état mental des agents
3.1 Motivation
3.2 Théorie de l’esprit
3.2.1 Littérature en psychologie
3.2.2 Usage en robotique
3.3 Prise de perspective et état mental
3.3.1 Prise de perspective perceptuelle
3.3.2 Prise de perspective conceptuelle
3.4 Implémentation
3.4.1 Traitement générique de la mise à jour de l’état de croyance
3.4.2 Réflexion sur d’éventuelles améliorations
3.5 Résultats expérimentaux
3.5.1 Configuration expérimentale
3.5.2 Résultats
3.6 Conclusion
4 Vers un Dialogue Situé Homme-Robot
4.1 Contexte
4.1.1 Introduction
4.1.2 Le projet MaRDi
4.1.3 Scénario associé
4.2 Les trois phases de l’interaction
4.2.1 Détermination de la demande utilisateur
4.2.2 Élaboration de plan
4.2.3 Exécution du plan
4.3 Architecture du système de dialogue situé
4.3.1 Entrées multimodales utilisateur
4.3.2 Le contexte comme aide à la compréhension
4.3.3 Gestionnaire de dialogue
4.3.4 Restitution multimodale
4.4 Implémentation dans un simulateur robotique
4.4.1 Motivation
4.4.2 Choix du simulateur
4.4.3 Simulation de l’interaction
4.4.4 Simulation de l’exécution
4.4.5 Expérimentation et résultats
4.5 Implémentation sur plateforme robotique
4.5.1 Élaboration du domaine de planification
4.5.2 Supervision et exécution
4.5.3 Expérimentation et résultats
4.6 Conclusion
5 Prise de Perspective et Reconnaissance d’Intentions
5.1 Contribution
5.2 Contexte
5.3 Estimation de l’intention
5.3.1 Du contexte à l’intention
5.3.2 De l’intention à l’action
5.3.3 De l’action aux observations
5.3.4 Déduction d’intention et d’action
5.4 Comportements pro-actifs
5.5 Architecture
5.6 Étude expérimentale
5.6.1 Étude utilisateurs
5.6.2 Implémentation
5.6.3 Discussion
5.7 Conclusion
6 Prise en compte de l’Expertise Humaine et Adaptation de la Collaboration
6.1 Contexte et motivation
6.2 Travaux associés
6.3 Suivi des connaissances de l’homme
6.3.1 Estimation de la situation et état mental
6.3.2 Niveau de connaissance de tâche
6.4 Planificateur HTN s’adaptant à l’homme
6.5 Présentation et négociation du plan partagé
6.5.1 Prétraitement du plan
6.5.2 Présentation de plan
6.5.3 Négociation de plan
6.6 Exécution de plan adaptative
6.6.1 Algorithme de gestion de plan
6.6.2 Explication de l’algorithme de gestion de plan
6.6.3 Exécution et surveillance
6.6.4 Échec et replanification
6.7 Implémentation
6.7.1 Architecture
6.7.2 Expérimentation
6.8 Étude utilisateur et discussion
6.8.1 Étude utilisateur
6.8.2 Résultats
6.9 Conclusion
7 Conclusion et Perspectives
7.1 Conclusion
7.2 Améliorations et travaux à venir
Bibliographie