Méthodologie de comparaison d`architectures

Transcription

Méthodologie de comparaison d`architectures
Faculté de génie
Génie électrique et génie informatique
Méthodologie de comparaison
d’architectures décisionnelles hybrides
en robotique mobile et autonome
Définition du projet de recherche
Spécialité : génie électrique
Carle CÔTÉ
Sherbrooke (Québec) Canada
Octobre 2003
TABLE DES MATIÈRES
i
TABLE DES MATIÈRES
1 INTRODUCTION
1
2 CONSIDÉRATIONS SUR LES ARCHITECTURES DÉCISIONNELLES
HYBRIDES EN ROBOTIQUE MOBILE ET AUTONOME
3
2.1
Caractéristiques principales . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.1.1
Sélection d’action . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.1.2
Échelle temporelle . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.1.3
Organisation structurelle . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.2
Exigences de conception logicielle . . . . . . . . . . . . . . . . . . . . . . . .
9
2.3
Discussion des impacts sur le développement des comportements intelligents
10
3 DÉFINITION ET OBJECTIF DU PROJET
14
4 MÉTHODOLOGIE
16
4.1
Description de la méthodologie . . . . . . . . . . . . . . . . . . . . . . . . .
16
4.2
Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
4.3
Échéancier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
4.3.1
Mise à niveau dans le domaine de la robotique mobile et autonome .
26
4.3.2
Environnement de développement logiciel unifié . . . . . . . . . . . .
26
4.3.3
Implémentation du système robotique basé sur l’architecture décisionnelle
EMIB, Phase I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.3.4
Implémentation du système robotique basé sur l’architecture décisionnelle
EMIB, Phase II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.3.5
Implémentation du système robotique basé sur l’architecture décisionnelle
3T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3.6
Tests et analyse des données . . . . . . . . . . . . . . . . . . . . . . .
29
4.3.7
Rédaction du mémoire . . . . . . . . . . . . . . . . . . . . . . . . . .
29
BIBLIOGRAPHIE
30
LISTE DES FIGURES
ii
LISTE DES FIGURES
1
Architecture décisionnelle hybride 3T . . . . . . . . . . . . . . . . . . . . . .
7
2
Architecture décisionnelle hybride TCA . . . . . . . . . . . . . . . . . . . . .
8
1 INTRODUCTION
1
1
INTRODUCTION
La robotique mobile et autonome est un des axes de recherche pour lequel l’arrivée d’une
nouvelle approche en intelligence artificielle (IA) a un impact intéressant. Le passage d’une
approche classique (mathématique et algorithmique) vers une approche comportementale
(basée sur des notions telles que la cognition, l’apprentissage, l’émergence et la corporéité)
n’est pas chose simple, car elle implique des changements radicaux de mentalité et des modifications majeures dans la façon de concevoir des systèmes robotiques [25].
Les recherches actuelles dans le domaine de la robotique mobile et autonome utilisent typiquement des architectures décisionnelles comme noyau central pour générer les comportements intelligents des systèmes robotiques lorsque soumis à des environnements complexes et
dynamiques. Citons par exemple, l’autonomie, l’apprentissage, l’adaptation, la délibération
et les intentions. Une architecture décisionnelle est un modèle conceptuel qui décrit la structure organisationnelle entre les composants logiciels d’un système robotique, ainsi que les
mécanismes décisionnels qui sont utilisés pour gérer ces composants afin de produire les
comportements intelligents de ce système robotique. Le défi principal pour ces architectures décisionnelles est d’intégrer dans un tout cohérent et fonctionnel plusieurs composants
provenant de domaines de recherches variés tels que la vision artificielle, la planification
et l’allocation de tâches, la gestion de ressources, le contrôle robotique, les interactions
personne-machine, l’intelligence artificielle, et bien d’autres. Plusieurs variantes d’architectures décisionnelles ont été proposées jusqu’à présent, chacune se basant sur des paradigmes
particuliers et incluant des mécanismes et fonctionnalités qui leurs sont propres. Les recherches actuelles montrent que grâce aux capacités développées par ces architectures, cellesci sont en mesure de réaliser des tâches plus ou moins complexes et souvent spécifiques [2].
Depuis quelques années, une tendance se fait sentir vers la conception d’architectures décisionnelles hybrides qui tentent d’exploiter plusieurs concepts des grandes familles d’architectures décisionnelles (réactives, délibératives et comportementales) [23]. La mise en œuvre de
telles architectures doit permettre la conciliation de contraintes de conception imposées par
les approches de chacune des grandes familles, tout en préservant les mécanismes décisionnels
qui favorisent la génération de comportements intelligents. Cette approche intégratrice per-
1 INTRODUCTION
2
mettrait ainsi d’aborder des problèmes exigeant l’exécution de tâches plus complexes et
variées. La tenue annuelle d’un événement comme le “American Association for Artificial
Intelligence Robot Challenge”1 , mettant au défi les chercheurs de concevoir un robot mobile
et autonome qui assiste à une conférence en se comportant comme un conférencier, montre
bien le niveau de complexité et de variété des tâches à accomplir.
Les mises en œuvre de ces architectures hybrides doivent tenir compte de plusieurs exigences logicielles qui viennent influencer grandement le développement logiciel de robots
(par exemple : la modularité, la réutilisabilité, l’extensibilité, le prototypage rapide et le
développement incrémental) [24]. Ces mises en œuvre sont donc réalisées typiquement avec
l’aide d’un environnement de développement logiciel qui sert d’outil à la fois pour répondre
aux exigences logicielles, et pour le développement des comportements intelligents. Toute
limitation à cet outil affecte ainsi les comportements intelligents manifestés par un robot. Il
devient donc important d’arriver à unifier les capacités de ces environnements, et de voir leurs
impacts sur les comportements intelligents des robots tels que structurés par les architectures
décisionnelles.
L’objectif du projet de recherche est de développer une méthodologie de comparaison d’architectures décisionnelles hybrides, en se servant d’un environnement de développement logiciel
unifié afin de créer une base de comparaison homogène entre les mises en œuvre des architectures. Pour créer cette base de comparaison homogène, ce projet propose également d’introduire la notion de capacité de systèmes robotiques car elle permet, malgré les différences
inhérentes et non-négligeables entre les mises en œuvre des architectures, d’évaluer que les
systèmes robotiques créés réalisent des aptitudes similaires pour l’exécution de mêmes tâches.
Ce document se divise en trois sections. La première section présente une revue de littérature
et une discussion entourant les principales considérations sur les architectures décisionnelles hybrides et leurs mises en œuvre. La deuxième section définit le projet de recherche et
présente les principaux objectifs. La troisième et dernière section présente la méthodologie
de comparaison d’architectures décisionnelles hybrides proposée, une courte discussion sur
cette méthodologie, ainsi que l’échéancier du projet de recherche.
1
Description de l’événement 2003 : http ://www.andrew.cmu.edu/˜astroupe/AAAI03/
2 CONSIDÉRATIONS SUR LES ARCHITECTURES DÉCISIONNELLES HYBRIDES
EN ROBOTIQUE MOBILE ET AUTONOME
3
2
CONSIDÉRATIONS SUR LES ARCHITECTURES
DÉCISIONNELLES HYBRIDES EN ROBOTIQUE
MOBILE ET AUTONOME
La création d’architectures décisionnelles hybrides est une réponse aux limitations constatées
de chacun des types d’architecture décisionnelle développés par le passé [3]. L’idée générale
derrière ce type d’architecture est de combiner les différentes approches dans une seule et
même architecture, qualifiée alors d’hybride. De cette manière, une approche réactive peut
par exemple venir compenser les longs temps de calculs requis par une approche délibérative,
tout en conservant ses capacités de raisonnement. Cette façon de combiner les architectures
décisionnelles permet donc de compenser les lacunes de chacune des approches tout en tentant
de préserver leurs avantages.
Cette stratégie a été employée pour réaliser plusieurs architectures décisionnelles hybrides, et
elle est maintenant utilisée couramment pour la recherche en robotique mobile et autonome
car elle semble bien répondre aux besoins de l’évolution des robots dans un environnement
dynamique et complexe (situated robotics). Même s’il n’y a pas consensus sur l’agencement
et l’organisation des sections entre les différentes mises en œuvre, plusieurs caractéristiques
récurrentes viennent influencer le développement logiciel des architectures décisionnelles hybrides [10]. Ces principales caractéristiques sont détaillées dans la sous-section suivante, mais
pour une couverture plus complète des concepts fondamentaux derrière les architectures
décisionnelles hybrides, une excellente présentation se trouve dans Arkin [2].
2.1
Caractéristiques principales
Cette section présente les trois caractéristiques principales sur lesquelles sont fondées typiquement le développement logiciel des architectures décisionnelles hybrides : la sélection
d’action, l’échelle temporelle et l’organisation structurelle.
2 CONSIDÉRATIONS SUR LES ARCHITECTURES DÉCISIONNELLES HYBRIDES
EN ROBOTIQUE MOBILE ET AUTONOME
4
2.1.1
Sélection d’action
Comme toutes les architectures décisionnelles robotiques, l’architecture décisionnelle hybride
fait face au problème de la sélection d’action (Action Selection Problem ou ASP ) : à chaque
instant, le système doit prendre une décision sur l’action courante à faire, au meilleur de
ses connaissances et en fonction des buts à accomplir, de son environnement et de ses états
internes. Plusieurs contraintes physiques et informatiques viennent rendre cette tâche ardue
et il devient pratiquement impossible de faire un choix optimal à chaque instant [26]. Pour
aborder ce problème, plusieurs mécanismes de sélection d’action ont été proposés, chacun
avec leurs avantages et leurs inconvénients [27] :
– Subsumption Architecture [8] ;
– Discrete Event Systems [17] ;
– Temporal Sequencing [4] ;
– Bayesian Decision Analysis [18] ;
– Hierarchical Q-learning [20] ;
– W-learning [14] ;
– Activation Networks [21] ;
– DAMN [29] ;
– SAMBA [28] ;
– Action Voting [13] ;
– Fuzzy/Multivalued Logic Approach [30] ;
– Fuzzy DAMN [36] ;
– Multiple Objective Behavior Coordination [27] ;
– Potential Fields [15] ;
– Motor Schemas [1] ;
– Dynamical system approach [31].
L’intégration de ces mécanismes de sélection d’action au niveau de l’architecture décisionnelle
est tout aussi variée. Une approche comme l’approche comportementale de Brooks [8] intègre
les mécanismes de sélection à même l’organisation des modules comportementaux au sein de
l’architecture. Alors qu’une approche comme l’architecture décisionnelles EMIB [22], en plus
2 CONSIDÉRATIONS SUR LES ARCHITECTURES DÉCISIONNELLES HYBRIDES
EN ROBOTIQUE MOBILE ET AUTONOME
5
d’intégrer des mécanismes comme le fait Brooks, ajoute également des mécanismes à d’autres
niveaux (délibération, émotion, intention) qui permettent de tenir compte de plusieurs autres
dimensions du problème. La mise en place de mécanismes de sélection d’action est donc cruciale lors de la conception d’architectures décisionnelles hybrides, car en plus d’influencer les
comportements intelligents du système, elle peut venir grandement influencer l’organisation
structurelle de l’architecture (comme l’accès à l’information sensorielle ou délibérative, les
règles de priorité et la fusion de données). De plus, les techniques utilisées pour réaliser ces
mécanismes peuvent être de nature différente (réseau de neurones, logique floue, heuristiques,
etc.) [27]. La mise en œuvre logicielle doit donc prévoir une grande flexibilité architecturale
pour répondre aux exigences de la mise en place de mécanismes de sélection d’action aussi
variés.
2.1.2
Échelle temporelle
L’aspect temporel des architectures décisionnelles hybrides est un élément important dans
l’élaboration d’un système basé sur une architecture décisionnelle hybride. En effet, le couplage entre les sections réactives et les sections délibératives entraı̂ne des problèmes de gestion
d’événements qui se situent à des échelles de temps très différentes. D’un côté, les sections
réactives sont mises en place pour réagir en temps réel aux changements qui se produisent
dans un environnement dynamique réel. De l’autre côté, les sections délibératives doivent
consolider, traiter et analyser l’information perçue, pour parvenir à raisonner et à planifier
ce que devrait faire le système afin de produire une action utile. Tous ces traitements se font
à une échelle de temps beaucoup plus longue que ceux faits par les sections réactives, et
doivent tout de même venir activer des modules comportementaux qui ne détérioreront pas
le comportement global du système [27].
Au niveau logiciel, il faut tenir compte de toutes les exigences et particularités de cette
approche qui influencent beaucoup la programmation globale d’un système. On doit notamment évaluer les aspects de la programmation temps-réel au sein du système. La robustesse
aux erreurs, le parallélisme de calcul, les fils d’exécution (threads) et le nombre de boucles de
contrôle disponibles par unité de traitement, sont parmi les aspects temps-réel qui influencent
2 CONSIDÉRATIONS SUR LES ARCHITECTURES DÉCISIONNELLES HYBRIDES
EN ROBOTIQUE MOBILE ET AUTONOME
6
grandement les capacités d’un système à interagir convenablement avec l’environnement. Il
faut également bien cerner les sections qui doivent utiliser des notions de temps réel dur
(le respect des contraintes temporelles sont critiques au fonctionnement du système) et de
temps réel mou (le respect des contraintes temporelles sont importantes, mais non critiques).
Généralement, les parties de contrôle bas niveau sont souvent associées au temps réel dur,
alors que les parties reliées à l’aspect de l’intelligence du système sont plutôt associés au
temps réel mou [23].
2.1.3
Organisation structurelle
L’organisation structurelle d’une architecture décisionnelle constitue l’équivalent fonctionnel
d’un squelette et d’un système nerveux : elle dicte comment les différents blocs de traitement de données sont interconnectés et définit également les canaux de communication et
les formats des données qui y circulent. Typiquement, les architectures décisionnelles hybrides sont constituées de trois couches : une couche réactive, une couche délibérative et
une couche médiatrice entre les deux. Bien que cette organisation hiérarchique soit courante,
il existe plusieurs autres architectures décisionnelles hybrides qui organisent ces couches
différemment [2]. Les architectures décisionnelles hybrides courantes intègrent généralement
plusieurs fonctionnalités communes, représentées sous formes de composants, qui s’organisent
différemment dans la structure de chacune des architectures [23] :
– Séquenceur : composant qui actionne et contrôle le séquencement des phases et des
ressources nécessaires à l’accomplissement de tâches.
– Gestionnaire de ressources : composant qui détermine quelles ressources peuvent être
exploitées en fonction de la situation courante.
– Cartographie : composant qui fournit une représentation spatiale de l’environnement
réel en fonction de ce qui est perçu.
– Planificateur de mission : composant qui interprète des objectifs globaux de manière
à les décomposer en sous-tâches à réaliser.
– Surveillance des performances et résolution de problème : composant qui surveille
la progression de l’exécution des tâches et qui peut intervenir en cas de problème.
2 CONSIDÉRATIONS SUR LES ARCHITECTURES DÉCISIONNELLES HYBRIDES
EN ROBOTIQUE MOBILE ET AUTONOME
7
Figure 1 – Architecture décisionnelle hybride 3T
Les interactions entre ces composants et les composants propres à chacune des architectures
constituent essentiellement ce qui supporte la création de l’intelligence d’un système robotique [10]. Plusieurs mécanismes de gestion et de transmission d’information doivent être
utilisés pour créer ces interactions.
Les architectures 3T (3 Tiered ) [5] et TCA (Task Control Architecture) [32] sont deux
exemples d’architectures décisionnelles hybrides souvent rencontrés dans la littérature. Les
figures 1 et 2 montrent respectivement ces deux architectures. L’architecture 3T montre
précisément le cas typique d’une décomposition en trois couches, tandis que l’architecture TCA présente une décomposition dont la couche médiatrice est pratiquement absente.
Dans les deux cas, on retrouve les composants présentés précédemment mais organisés
différemment. Dans le cas de l’architecture 3T, le planificateur et la cartographie constituent
les principaux composants de la couche délibérative, les autres composants sont utilisés dans
la couche médiatrice. Seuls les comportements réactifs (appelés skills) sont utilisés dans la
couche réactive. Pour ce qui est de l’architecture TCA, tous les composants sont utilisés dans
la couche délibérative. Seules les tâches qui doivent être réactives sont laissées à la couche
2 CONSIDÉRATIONS SUR LES ARCHITECTURES DÉCISIONNELLES HYBRIDES
EN ROBOTIQUE MOBILE ET AUTONOME
8
Figure 2 – Architecture décisionnelle hybride TCA
réactive. Au niveau des interactions, l’architecture TCA propose une vision conventionnelle
du traitement de l’information en prenant une approche séquentielle. Le planificateur de
mission établit d’abord quelles sont les tâches à accomplir. Et ensuite, délègue la réalisation
de ces tâches de manière hiérarchique aux différents autres composants, jusqu’à ce qu’il soit
possible de déterminer ce qui doit être appliqué aux actionneurs. L’architecture 3T propose plutôt une vision distribuée du traitement de l’information en exploitant la couche
médiatrice. Ceci permet de laisser les traitements réactifs et délibératifs se faire de manière
indépendante, et de laisser la couche médiatrice interpréter les résultats de ces traitements
pour établir le séquencement et l’organisation des tâches à accomplir. Ce qui est appliqué aux
actionneurs provient ainsi d’une médiation entre les considérations réactives et délibératives
en fonction des tâches à accomplir. Ces deux architectures montrent bien comment la structure organisationnelle peut influencer de manière différente la génération des comportements
des systèmes robotiques.
2 CONSIDÉRATIONS SUR LES ARCHITECTURES DÉCISIONNELLES HYBRIDES
EN ROBOTIQUE MOBILE ET AUTONOME
9
2.2
Exigences de conception logicielle
D’un point de vue logiciel, la conception d’un robot mobile et autonome représente un défi de
taille étant donné la grande quantité d’exigences logicielles souvent conflictuelles entre elles. À
titre d’exemples, citons les exigences suivantes : performance acceptable à l’exécution, facilité
de modification du code source, grande extensibilité et flexibilité logicielle, et rapidité du
cycle de développement logiciel. Il existe plusieurs environnements de développement logiciel,
dont plusieurs sont propriétaires, dédiés à la conception de robots mobiles et autonomes,
qui proposent chacun une solution spécifique selon les exigences considérées (par exemple,
RobotFlow2 , Saphira3 , Orocos4 , Mobility5 et MIRO6 ). Cette multiplication d’environnements
de développement logiciel robotique comporte plusieurs effets indésirables [24] :
– elle limite la portabilité des mises en œuvre faites à partir d’environnements de développement logiciel différents ;
– elle rend difficile l’évaluation des performances des architectures décisionnelles entre elles ;
– elle tend à diviser le domaine par la difficulté de communiquer et d’interpréter les résultats
obtenus.
L’idée de la mise en place d’une plate-forme de développement unifiée, standardisée et bien
documentée semble être une solution possible pour enrayer ces effets [24]. Certains travaux
ont déjà été faits en ce sens. L’intergiciel (middleware) Miro est un exemple d’environnement
de développement logiciel en robotique mobile et autonome qui vise à unifier les environnements de développement logiciel, tout en offrant suffisamment de flexibilité pour ne pas
limiter les développements [34]. Le travail proposé par Orebäck et Christensen [24], quant
à lui, fait une évaluation des environnements de développement logiciel pour la robotique
mobile en général, en regardant spécifiquement les besoins à combler pour arriver à créer
une approche unifiée. Voici une liste des principales exigences logicielles qui ressortent de ces
travaux :
2
Site
Site
4
Site
5
Site
6
Site
3
de
de
de
de
de
référence
référence
référence
référence
référence
du
du
du
du
du
projet
projet
projet
projet
projet
RobotFlow : http ://robotflow.sourceforge.net/
Saphira : http ://www.ai.sri.com/˜konolige/saphira/
Orocos : http ://www.orocos.org/
Mobility : http ://www.irobot.com/rwi/p10.asp
MIRO : http ://smart.informatik.uni-ulm.de/MIRO/content.html
2 CONSIDÉRATIONS SUR LES ARCHITECTURES DÉCISIONNELLES HYBRIDES
EN ROBOTIQUE MOBILE ET AUTONOME
10
– abstraction du matériel et du système d’exploitation ;
– portabilité et interopérabilité multiplateformes ;
– capacité d’extension et de hiérarchisation ;
– modularité et développement orienté-objet ;
– architecture de développement ouverte ;
– utilisation de langages permettant la programmation distribuée (ex. : CORBA) ;
– réutilisabilité accrue ;
– développement d’outils et d’interface-usagers facilitant le développement et l’utilisation à
différent niveaux de compétence (programmeurs, utilisateurs, testeurs, etc.) ;
– utilisation des principes de développement logiciel.
Ces exigences dressent ainsi une autre réalité de la conception robotique mobile et autonome, et viennent s’ajouter aux autres exigences provenant de l’utilisation d’une architecture décisionnelle hybride présentées précédemment. Ces travaux viennent également montrer l’intérêt d’utiliser des outils de conception logicielle pour arriver à bien évaluer et à
concilier toutes ces exigences. L’utilisation de méthodes de conception telles que Booch [6],
ATAM (Architecture Tradeoff Analysis Method ) [35] ou ABAS (Attribute-Based Architectural
Style) [16], permettent généralement de faire ressortir des points critiques dans la conception
(risques, points de sensibilité, compromis, etc.). L’utilisation de standards de programmation et de documentation tels que les patrons de conception [11] et le langage UML (Unified
Modeling Language) [7], sont également des outils pouvant faciliter la documentation architecturale et la communication de l’information. Ces points sont d’ailleurs identifiés comme
étant des points critiques pour l’acceptation à large échelle d’un éventuel environnement de
développement unifié [24].
2.3
Discussion des impacts sur le développement des comportements intelligents
On retrouve la plupart des notions énoncées dans les sections précédentes dans divers domaines de recherche (IA, contrôle de systèmes temps-réel, architecture logicielle, simulation,
2 CONSIDÉRATIONS SUR LES ARCHITECTURES DÉCISIONNELLES HYBRIDES
EN ROBOTIQUE MOBILE ET AUTONOME
11
systèmes distribués, etc.). Ce qui caractérise le domaine de la robotique mobile et autonome,
c’est l’intégration de toutes ces notions dans un tout organisé et fonctionnel, duquel résulte
des comportements intelligents d’un ou plusieurs robots évoluant dans un environnement
réel.
La validation de ces systèmes n’est pas évidente a priori puisque le comportement global du
système se crée par l’interaction simultanée des états internes d’un robot, de ses interactions
avec l’environnement et des interactions de l’environnement sur le robot. Il devient donc difficile de procéder par une approche de validation usuelle en sciences expérimentales (comme
la chimie ou la physique par exemple) qui tentent typiquement d’étudier un phénomène
spécifique en l’isolant et en contrôlant les autres facteurs qui l’influencent [9]. On retrouve
des modèles mathématiques qui arrivent à faire de bonnes prédictions au niveau des agents
informatiques qui se trouvent dans des environnements simplifiés et contrôlés, mais très peu
de modèles mathématiques tentent de prédire comment va se comporter un ou plusieurs
robots pour l’exécution de tâches particulières dans des environnements réels. Les modèles
faits par Lerman et Galstyan [19], même s’ils doivent faire des simplifications majeures, sont
un exemple de modèles mathématiques qui arrivent à faire des prédictions intéressantes
des comportements intelligents sur des groupes de robots homogènes qui exécutent une
tâche de cueillette (foraging). Pour le moment, les chercheurs s’entendent à créer des plateformes robotiques de démonstration, qui servent à évaluer les performances des architectures décisionnelles et des comportements de robots [9]. Des méthodes de mesures indirectes, comme l’observation de comportements externes ou l’observation de paramètres internes, sont couramment utilisées pour la validation et l’évaluation des performances. Un bel
exemple est fourni par Goldberg et Mataric [12], qui ont mis en place une méthodologie pour
l’évaluation des comportements collectifs d’un groupe de robots pour une tâche de cueillette.
Ces approches de validation et d’expérimentation impliquent une méthode de développement
incrémentale. L’ajout de nouveaux comportements ou de nouvelles fonctionnalités doit être
fait régulièrement pour étendre les comportements d’un robot [10]. Un environnement de
développement logiciel respectant les exigences logicielles présentées dans les sections précédentes permet de faire des modifications de façon ponctuelle, sans venir interférer avec tout
2 CONSIDÉRATIONS SUR LES ARCHITECTURES DÉCISIONNELLES HYBRIDES
EN ROBOTIQUE MOBILE ET AUTONOME
12
ce qui est jugé fonctionnel. Elle permet de créer des outils qui pourront faire les modifications
nécessaires aux bons niveaux d’abstraction seulement. Il s’ensuit que l’exécution de chaque
itération peut être faite plus rapidement et de manière plus structurée que pourrait le faire
un logiciel qui ne tiendrait pas compte de ces aspects. Tout ceci a pour conséquence que le
temps passé sur le développement d’une architecture décisonnelle hybride est utilisé plus efficacement pour la validation des concepts et à l’amélioration des comportements intelligents
plutôt que pour le développement des outils qui supportent ces concepts [34].
Une autre implication des approches de validation et d’expérimentation est l’intégration de
fonctionnalités ou de sous-systèmes qui ne sont pas nécessairement compatibles à la base.
La robotique mobile et autonome utilise une panoplie de systèmes pour arriver à ses fins :
vision artificielle, navigation, cartographie, etc. Chacun de ces systèmes sont, pour la plupart,
considérés comme étant des axes de recherche en soit. Il est donc fréquent de devoir emprunter
les travaux faits dans ces axes de recherche pour tenter de les intégrer dans une architecture
de contrôle hybride. Or, le problème d’intégration en est un de taille dans ce contexte, car
les systèmes n’ont pas été nécessairement conçus pour interagir ensemble. Le fait de venir
définir à la base les concepts logiciels qui devraient être respectés, et de spécifier au départ les
interfaces d’interconnexion utilisables entre des entités (systèmes, sous-systèmes ou autres),
vient faciliter le travail d’intégration. C’est un aspect du développement qui, à lui seul,
vient motiver l’idée d’utiliser un environnement de développement logiciel unifié entre les
différents laboratoires de recherche. L’approche de développement incrémental verrait ainsi
la possibilité d’évaluer plus facilement l’utilité des différents concepts utilisés pour résoudre
un problème (vision, navigation ou autres).
Un autre avantage en faveur d’une utilisation d’un environnement de développement logiciel commun entre les différents laboratoires de recherche est d’améliorer les capacités des
chercheurs à pouvoir comparer les résultats obtenus, et de partager les mises en œuvre.
Présentement, chacune des variations des architectures décisionnelles hybrides tentent de
démontrer qu’elles sont optimales par rapport à l’exécution d’une tâche particulière ou pour
une mise en situation donnée. Étant donné la forte variabilité entre les mises en œuvre, il
est ardu d’évaluer les avantages et inconvénients d’une architecture par rapport à une autre,
2 CONSIDÉRATIONS SUR LES ARCHITECTURES DÉCISIONNELLES HYBRIDES
EN ROBOTIQUE MOBILE ET AUTONOME
13
et de déterminer précisément les limites de chacune. L’utilisation d’une architecture unifiée
viendrait donc imposer une standardisation de la plate-forme logicielle, et par le fait même
rendre les résultats obtenus plus cohérents entre eux. Ceci permettrait notamment d’arriver à établir des bases de comparaison significatives pour l’évaluation des comportements
intelligents.
3 DÉFINITION ET OBJECTIF DU PROJET
3
14
DÉFINITION ET OBJECTIF DU PROJET
Malgré le développement de plusieurs architectures décisionnelles dans le domaine de la robotique mobile et autonome depuis les années 1990, peu de travaux de recherche se sont
attardés sur le problème de la comparaison des attributs de performance et de qualité de ces
architectures. Plusieurs travaux font ressortir les avantages et inconvénients qu’ont les architectures décisionnelles les unes par rapport aux autres, mais peu de travaux proposent une
comparaison des attributs de performance et de qualité proprement dits. Une des difficultés
principales est que les mises en œuvre actuelles des systèmes robotiques sont suffisamment
différentes les unes des autres qu’elles rendent difficile l’établissement d’une base de comparaison homogène. Voici quelques facteurs principaux qui expliquent ces grandes différences
de mises en œuvre :
– la nature différente des paradigmes qui sous-tendent les trois grandes classes d’architectures
décisionnelles ;
– l’utilisation de mécanismes décisionnels propres à certaines architectures décisionnelles ;
– l’incidence majeure qu’ont les architectures décisionnelles sur la mise en œuvre globale de
systèmes robotiques ;
– l’utilisation de différents environnements de développement logiciel pour réaliser les mises
en œuvre de systèmes robotiques ;
– la grande variété de mise en œuvres utilisées pour valider les différents systèmes robotiques.
L’objectif du projet de recherche est de développer une méthodologie de comparaison d’architectures décisionnelles hybrides, en se servant d’un environnement de développement logiciel
unifié afin de créer une base de comparaison homogène entre les mises en œuvre des architectures. Pour créer cette base de comparaison homogène, ce projet propose également d’introduire la notion de capacité de systèmes robotiques car elle permet, malgré les différences
inhérentes et non-négligeables entre les mises en œuvre des architectures, d’évaluer la similarité des aptitudes par les systèmes robotiques réalisés pour l’exécution de mêmes tâches.
3 DÉFINITION ET OBJECTIF DU PROJET
15
Telle qu’utilisée en psychologie, “une capacité représente la possibilité de réussite dans
l’exécution d’une tâche, ou l’exercice d’une profession.”
7
Dans le contexte de la robotique
mobile et autonome, les capacités d’un système robotique représentent les aptitudes que
possède un système robotique à accomplir certaines tâches dans des environnements réels.
En utilisant la notion de capacités de systèmes robotiques, l’hypothèse suivante est posée
pour établir une base de comparaison homogène : pour deux mises en œuvre de systèmes robotiques similaires produisant des comportements physiques reproductibles équivalents lors
de l’exécution d’une même tâche dans des conditions environnementales similaires, il est possible de considérer que chacune des mises en œuvre réalise des capacités équivalentes. Cette
hypothèse s’inspire du test de Turing [33], qui utilise une supposition similaire pour établir
une base de comparaison entre l’intelligence humaine et l’intelligence d’une machine. Les
capacités d’un système robotique étant issues principalement de l’architecture décisionnelle
utilisée, à partir de cette hypothèse, il devient possible de comparer des architectures décisionnelles pour deux systèmes robotiques qui réalisent des capacités équivalentes. En couplant
l’utilisation de la notion de capacité d’un système robotique à l’utilisation d’un environnement de développement logiciel unifié, l’incidence des facteurs limitant l’établissement d’une
base de comparaison homogène est diminuée. C’est ce qui permet de comparer des mises en
œuvre qui restent, malgré tout, différentes.
7
Référence : Office québécois de la langue française (http ://www.granddictionnaire.com)
4 MÉTHODOLOGIE
4
16
MÉTHODOLOGIE
Il est à noter que ce projet de recherche est fait en collaboration avec l’équipe du projet
“AAAI Challenge” qui réalise une mise en œuvre d’un système robotique conçu à partir de
l’architecture décisionnelle EMIB. La mise en œuvre de ce système robotique est développée
conjointement et utilisée par les deux projets. Il serait également possible de joindre l’équipe
du projet “AAAI Challenge” lors de sa participation au “AAAI Robot Challenge” en 2004.
4.1
Description de la méthodologie
Cette section décrit de manière plus détaillée la méthodologie employée pour la mise en
œuvre associée à ce projet de recherche.
1. Choisir les architectures décisionnelles à comparer.
EMIB [22] et 3T [5].
2. Choisir l’application à réaliser.
Les tâches que doivent accomplir les systèmes robotiques doivent être suffisamment complexes pour exploiter l’utilisation des mécanismes de chacune des architectures décisionnelles,
afin de faire ressortir les différences de performance entre ces architectures. Pour ce projet
de recherche, les tâches à accomplir sont celles définies par le “AAAI Robot Challenge”. Le
but global fixé par ce challenge est de concevoir un robot mobile et autonome qui assiste à
une conférence sur l’intelligence artificielle en se comportant comme un conférencier8 . Sept
sous-tâches sont identifiées pour réussir le challenge :
1. Débuter le challenge à l’entrée principale du lieu où se tient la conférence, sans assistance et sans connaissance a priori des lieux.
2. Naviguer jusqu’au bureau d’enregistrement.
3. S’enregistrer (ce qui inclut d’attendre en ligne, de s’identifier, de recevoir le matériel
d’enregistrement, de recevoir une carte du lieu où se tient la conférence, de se faire
8
Description de l’événement 2003 : http ://www.andrew.cmu.edu/˜astroupe/AAAI03/
4 MÉTHODOLOGIE
17
assigner la salle et le moment de la présentation à effectuer).
4. Interagir avec les autres participants à la conférence.
5. Se rendre à temps à la salle assignée pour la présentation, en prenant l’ascenseur au
besoin.
6. Exécuter des services sur demande si le temps le permet.
7. Faire une présentation de deux minutes sur sa propre technologie et répondre aux
questions.
Ces sous-tâches peuvent être accomplies à différents niveaux de difficultés, de très simplifiés
à très complexes. Les fonctionnalités des systèmes robotiques prévues par l’équipe du “AAAI
Challenge” qui serviront à réaliser ces sous-tâches, incluent actuellement les fonctionnalités
suivantes :
– navigation métrique ;
– lecture de mots ;
– interactions humain-robot ;
– exposé oral ;
– planification élaborée ;
– suivre une file d’attente ;
– prendre l’ascenseur ;
– détection de personnes ;
– reconnaissance de visages ;
– suivre une personne ;
– recharge autonome ;
– lecture de badges ;
– compréhension d’une carte.
Dans le contexte du présent projet, plusieurs de ces fonctionnalités peuvent potentiellement
servir à évaluer les architectures décisionnelles, sans devoir réaliser directement les soustâches en tant que telles. Les fonctionnalités suivantes seraient suffisamment complexes pour
exploiter les mécanismes des architectures décisionnelles :
4 MÉTHODOLOGIE
18
– navigation métrique ;
– interactions humain-robot ;
– prendre l’ascenseur ;
– suivre une file d’attente ;
– suivre une personne ;
– recharge autonome.
Les descriptions et le niveau de difficulté des tâches et/ou des fonctionnalités sélectionnées
pour ce projet de recherche dépendront des contraintes de développement établies par l’équipe
du projet “AAAI Challenge”. Le nombre de tâches et/ou fonctionnalités sélectionnées variera aussi en fonction de ce que le système robotique réalisé sera en mesure d’accomplir au
moment où la sélection des tâches pour ce projet de recherche devra être faite.
3. Choisir les attributs de performance et de qualité d’architectures décisionnelles
à mesurer et à tester.
Étant donné que les tâches spécifiques ne sont pas encore déterminées à ce moment-ci (voir
l’étape 2), les listes suivantes constituent une suggestion réaliste des attributs qui pourraient
être sélectionnés.
Les attributs de qualité logiciels choisis sont :
– la modularité ;
– la portabilité ;
– la quantité de ligne de codes ;
– la complexité du code ;
– le nombre d’éléments requis en terme de composants et de classes ;
– la réutilisabilité ;
– l’extensibilité.
Les attributs de performance d’exécution internes choisis sont :
– la charge de calculs de l’unité de calcul principale ;
– la densité de flux de données aux entrées/sorties des composants ;
4 MÉTHODOLOGIE
19
– la quantité de données transférées entre les composants ;
– la quantité de mémoire requise à l’initialisation et lors de l’exécution.
Les attributs de performance d’exécution externes choisis sont :
– le temps pris pour exécuter une tâche ;
– l’évaluation qualitative de la réussite globale de l’accomplissement d’une tâche.
4. Implémenter les systèmes robotiques en respectant la notion de “systèmes
robotiques similaires”.
Afin de créer des systèmes robotiques similaires, les mises en œuvre doivent tenter d’uniformiser au maximum les éléments suivants :
Architecture matérielle. Une même architecture matérielle est exploitée pour les deux
mises en œuvre des systèmes robotiques en utilisant la même plate-forme robotique.
De cette manière, les mêmes capacités sensorielles et les mêmes capacités de calculs
seront disponibles pour chacune des mises en œuvre. Dans le cas présent, un seul robot
servira pour chacune des mises en œuvre ce qui limitera les différences matérielles qui
peuvent subsister entre deux plate-formes robotiques identiques. À noter que le choix
de la plate-forme robotique utilisée se fera par l’équipe du projet ”AAAI Challenge”.
Actuellement, deux plate-formes robotiques sont envisagées : Pioneer ou U2S.
Architectures logicielles. L’architecture logicielle est nécessairement différente pour chacune des mises en œuvre puisqu’elle dépend directement de l’architecture décisionnelle
utilisée. Toutefois, une uniformisation est tout de même possible en utilisant un même
environnement de développement logiciel et les mêmes outils logiciels dans les deux
mises en œuvre. Dans le cadre de ce projet de recherche, MARIE9 (pour Mobile and Autonomous Robotics Integration Environnement), un environnement de développement
logiciel, est développé afin d’être utilisé pour chacune des mises en œuvre. Cet environnement de développement logiciel vise essentiellement à répondre aux difficultés
rencontrées lors de l’intégration des différents composants logiciels requis par les mises
9
Site de référence du projet MARIE : http ://sourceforge.net/projects/marie/
4 MÉTHODOLOGIE
20
en œuvre des architectures décisionnelles hybrides. Étant donné que plusieurs des composants à intégrer sont des applications développées par des entités externes au présent
projet (universités, compagnies, communautés open-source, etc.), MARIE propose une
approche de programmation distribuée basée sur CORBA (en utilisant entre autres
les projets ACE10 et TAO11 ). De cette façon, un système robotique développé à l’aide
de MARIE intégrera les différents composants en créant un système de gestion et
de communication entre ces composants indépendants, plutôt qu’en tentant de créer
une seule application qui “fusionne” ces composants entre eux (ce qui n’est pas toujours possible puisqu’ils ne sont pas nécessairement compatibles). De plus, MARIE vise
également de permettre le support d’exigences logicielles identifiées dans la section 2
(par exemple, abstraction du matériel et du système d’exploitation, extensibilité, modularité et hiérarchisation) par la réalisation d’outils et de documentations qui favorisent
le développement en ce sens. Afin d’éviter tout biais possible, MARIE n’est pas dédié
à la mise en œuvre d’architectures décisionnelles en particulier. Seuls des mécanismes
généraux de gestion de flux de données, de gestion de processus et d’intégration d’outils
logiciels sont offerts.
Tel que mentionné auparavant, le système robotique réalisé à partir de l’architecture décisionnelle EMIB est réalisé par l’équipe du projet “AAAI Challenge”. Toutes les tâches et
les fonctionnalités qui seront développées pour ce système robotique seront portées sur le
système robotique réalisé à partir de l’architecture décisionnelle 3T.
La validation du bon fonctionnement des mises en œuvre des systèmes robotiques se fait en
environnement simulé, à l’aide des logiciels Player/Stage, et en environnement réel sur la
plate-forme robotique sélectionnée.
5. Créer les environnements de test qui respectent la notion de “conditions environnementales similaires”.
Les conditions environnementales sont considérées comme étant tous les éléments qui interagissent et modifient les conditions dans lesquelles évolue un système robotique, que ce
10
11
Site de référence du projet ACE : http ://www.cs.wustl.edu/˜schmidt/ACE.html
Site de référence du projet TAO : http ://www.cs.wustl.edu/˜schmidt/TAO.html
4 MÉTHODOLOGIE
21
soit externe (par exemple, l’éclairage, les obstacles fixes ou mobiles et les conditions climatiques) ou interne au système robotique (par exemple, l’état des composants mécaniques et
électroniques, l’état initial de la charge des batteries et l’état initial de la mémoire). Les
critères qui déterminent si les conditions environnementales sont similaires durant l’accomplissement d’une même tâche par deux systèmes robotiques différents sont à déterminer en
fonction du contexte et de la nature de la tâche.
Typiquement, une expérience devrait avoir lieu dans des conditions environnementales identiques (par exemple, reproduire le passage d’un individu à un endroit précis à un moment
donné, position initiale identique, états internes identiques, etc.). Le contexte global de la
robotique mobile et autonome exige par contre une robustesse minimale aux changements
qui surviennent dans l’environnement. Pour éviter une trop grande fluctuation des comportements lors de l’accomplissement d’une même tâche décalée dans le temps (et de potentiellement ne plus être en mesure de respecter la notion de “comportements physiques reproductibles équivalents”), les éléments qui interagissent et modifient les conditions dans lequel
évolue un système robotique doivent être minimisés sans nécessairement être complètement
éliminés. Chaque tâche devra donc être analysée afin de déterminer le degré et le type de
variation de l’environnement acceptable afin de ne pas trop influencer l’exécution d’une tâche.
Par exemple, si la tâche à accomplir est de naviguer d’un point A à un point B dans un
endroit qui est potentiellement fréquenté par plusieurs personnes lors de l’exécution, il serait
acceptable de produire des passages aléatoires pour démontrer une certaine robustesse aux
variations dans un environnement réel. Par contre, si les passages aléatoires provoquent des
différences notables dans l’exécution de la tâche (par exemple, échecs ou réussites variables)
ou des comportements erratiques entre chacune des exécutions (par exemple, le robot prend
beaucoup plus de temps à réaliser la tâche), il serait tout aussi acceptable de choisir de
reproduire des passages fixes (à des temps et à des endroits fixes), ou à la limite de choisir de
ne pas admettre ce type de variation lors des expérimentations. Ce qui importe dans le présent
contexte est plutôt de s’assurer que la nature de la tâche exploite suffisamment tous les
mécanismes de l’architecture décisionnelle à évaluer et que les résultats des expérimentations
soient suffisamment significatifs pour être comparés entre eux.
4 MÉTHODOLOGIE
22
Les environnements de tests qui serviront dans le cadre de ce projet de recherche sont les
espaces de test du laboratoire de recherche Laborius, ainsi que les corridors et les locaux
avoisinants le laboratoire.
Note : Une description précise de ce qui est entendu par “conditions environnementales similaires” devra être fournie pour chacune des tâches à accomplir lorsqu’elles seront déterminées.
6. Valider que les systèmes respectent la notion de “comportements physiques
reproductibles équivalents” pour l’exécution de chacune des tâches à accomplir.
Les comportements physiques sont considérés comme étant tous les comportements observables par un expérimentateur lors de l’exécution d’une tâche par un système robotique. Pour
que les comportements physiques soient considérés reproductibles, un expérimentateur doit
évaluer par observations si un système robotique produit sensiblement toujours les mêmes
comportements pour l’exécution d’une tâche dans les mêmes conditions environnementales.
Si les comportements physiques produits par un système robotique sont trop erratiques selon
les observations d’un expérimentateur, ils ne peuvent être considérés comme étant reproductibles. De même, pour que des comportements physiques de deux systèmes différents soient
considérés équivalents, un expérimentateur doit évaluer par observations si les deux systèmes
accomplissent une tâche sensiblement de la même manière. Les critères qui déterminent si
l’accomplissement d’une tâche est fait sensiblement de la même manière sont à déterminer en
fonction du contexte et de la nature de la tâche (par exemple, le temps pris pour accomplir
la tâche et le nombre de mauvaises décisions prises par un système robotique pour accomplir
une tâche).
Dans le cadre de ce projet de recherche, plusieurs tâches sont candidates (voir la description des tâches à l’étape 2). La sélection de seulement quelques tâches est nécessaire pour
réaliser la comparaison entre les architectures décisionnelles. Les tâches accomplies par les
systèmes robotiques qui rencontrent le mieux la notion de “comportements physiques reproductibles équivalents” seront vraisemblablement les tâches sélectionnées. Des optimisations
et des ajustements pourront être faits sur la mise en œuvre de chacun des systèmes robotiques
afin de rencontrer au mieux les critères de sélection. Des changements peuvent également
être apportés sur la nature des tâches à accomplir.
4 MÉTHODOLOGIE
23
Par exemple, si la tâche à accomplir est de naviguer d’un point A à un point B dans un
endroit qui est potentiellement fréquenté par plusieurs personnes lors de l’exécution, les
deux systèmes robotiques devraient être en mesure de réussir la plupart du temps la tâche
de manière équivalente (par exemple, réussir dans plus de 90% des cas). L’équivalence des
comportements dans ce cas pourrait être évaluée par les éléments suivants : l’exécution de
la tâche dans un laps de temps similaire et le suivis d’une trajectoire relativement optimale
en fonction des obstacles rencontrés. Dans le cas où ces critères ne seraient pas respectés, il
serait possible d’envisager de diminuer le coefficient de difficulté de la tâche, pour autant que
la nature de la tâche résultante exploite suffisamment tous les mécanismes de l’architecture
décisionnelle à évaluer, et que les capacités observées pour réaliser la tâche soient de même
nature. Dans le cas présent, les obstacles aléatoires pourraient être remplacés par des obstacles fixes, certains obstacles fixes pourraient être déplacés pour faciliter le trajet à suivre,
des optimisation logicielles pourraient être faites pour gérer des cas particuliers qui posent
problème, etc.
Note. Une description précise de ce qui est entendu par “comportements physiques reproductibles équivalents” devra être fournie pour chacune des tâches à accomplir lorsqu’elles
seront déterminées.
7. Mesurer et tester les attributs de performance d’architectures décisionnelles
choisies pour chacun des systèmes robotiques à comparer et pour chacune des
tâches qu’ils doivent accomplir.
Les mesures d’attributs de qualité logiciels sont faits à une seule reprise, au moment où la mise
en œuvre de chacun des systèmes robotiques est considérée finale. Les mesures d’attributs
de performances internes et externes doivent être répétés un nombre de fois “statistiquement significatif” en fonction de la tâche à accomplir. Malheureusement, les références sur
les méthodologies de mesures de performance en robotique mobile et autonome sont peu
nombreuses. Les travaux présentés par le groupe de travail Performance Metrics for Intelligent Systems (PerMIS)
12
12
montrent bien les difficultés que posent la mise en œuvre de
Site de référence du groupe de travail PerMIS :
http ://www.isd.mel.nist.gov/research areas/research engineering/Performance Metrics/
4 MÉTHODOLOGIE
24
méthodologie de mesures de performance pour des systèmes intelligents.
Étant donné que l’étude de ce sujet précis dépasse le cadre de ce projet de recherche, la
méthodologie de mesure de performance utilisée se basera uniquement sur l’aspect de reproductibilité des expériences. Pour que les résultats soit “statistiquement significatifs”, il suffit
de répondre au critère de reproductibilité énoncés au point 6 de la présente méthodologie. Si
une expérience produit des “comportements physiques reproductibles équivalents” lorsque
répétée une dizaine de fois consécutives, elle sera admissible pour être utilisée pour les mesures de performances. Le nombre de répétition des expériences pour chacune des tâches à
accomplir pourra varier d’une tâche à l’autre. Certaines tâches sont “délicates” à reproduire
un grand nombre de fois tout en respectant soit les “conditions environnementales similaires”, soit les “comportements physiques équivalents”. Les causes peuvent être multiples :
difficulté de conserver les conditions environnementales stables pour une longue période de
temps, difficulté de remettre le robot dans un état initial identique d’une expérience à l’autre,
trop grande variation entre les expérimentations faites avec chacun des systèmes robotiques,
etc. Dans de telles situations, le nombre de répétition des tests pourrait être revu à la baisse.
Ce qui importe c’est la stabilité d’exécution d’une tâche pour que les mesures soient comparables.
Note. Une description précise de ce qui est entendu par ”statistiquement significatif” devra
être fournie pour chacune des tâches à accomplir lorsqu’elles seront déterminées.
8. Analyser les données recueillies.
L’analyse des données se fera principalement à l’aide des outils statistiques du logiciel Matlab.
La présentation des résultats se fera principalement sous forme de tableaux et de figures. Les
vidéos des expérimentations serviront également comme support d’analyse et de présentation
des résultats pour les observations et les évaluations qualitatives.
4.2
Discussion
La méthodologie proposée laisse soin à l’expérimentateur de définir au mieux les notions
qui établissent le contexte d’expérimentation. C’est ce qui permet de contrôler et d’intégrer
4 MÉTHODOLOGIE
25
les principaux facteurs qui limitent la création d’une base de comparaison homogène entre
les différentes mises en œuvre de systèmes robotiques. Cette approche permet d’envisager
l’utilisation de cette méthodologie pour réaliser des études de cas qui décrivent différents
contextes d’expérimentation. Ces études de cas peuvent ainsi servir de références pour réaliser
d’autres expérimentations basées sur cette méthodologie.
Dans le contexte d’expérimentation présenté dans ce projet de recherche, l’utilisation d’un
environnement de développement logiciel unifié joue deux rôles importants. Un premier rôle
est celui de limiter l’impact des facteurs créant les différences entre les mises en œuvre (voir la
section 3). En exploitant les mêmes outils et les mêmes procédés d’intégration pour chacune
de ces mises en œuvre, celles-ci présentent potentiellement moins de différences que pour des
mises en œuvre développées à l’aide d’environnements de développement différents. L’environnement de développement ayant un impact sur le développement des comportements
intelligents d’un système robotique (voir la section 2.3), il devient un élément important à
contrôler entre différentes mises en œuvre. Au même titre que la validation des capacités des
systèmes robotiques pour une même application, ceci a pour but de faciliter la création d’une
base de comparaison significative au niveau des architectures décisionnelles qui sous-tendent
chacun de ces systèmes robotiques.
Le deuxième rôle joué par l’utilisation d’un environnement de développement logiciel unifié
est celui de pouvoir répondre au problème que pose la grande quantité d’exigences logicielles
présentes lors du développement logiciel d’un système robotique (voir la section 2.2). Le
projet MARIE est encore à un stade préliminaire ce qui permet difficilement d’identifier
spécifiquement quels sont les éléments qui permettent de répondre à l’une ou l’autre des
exigences comme telles. Par contre, ce projet est développé principalement pour supporter
le présent projet de recherche, et a donc comme objectif de proposer une structure et des
outils qui favorisent la conciliation de ces exigences.
En somme, deux facettes de la mise en œuvre de systèmes robotiques sont visées dans le
cadre de ce projet de recherche : la création d’une base de comparaison homogène entre
différentes mises en œuvre de systèmes robotiques basés sur des architectures décisionnelles
hybrides différentes et le développement unifié de ces systèmes robotiques. Les deux facettes
4 MÉTHODOLOGIE
26
sont traitées conjointement étant donné l’influence directe qu’a l’une sur l’autre, c’est-àdire l’influence directe qu’a le développement unifié sur la possibilité d’établir une base de
comparaison homogène entre des systèmes robotiques qui restent essentiellement différents.
4.3
Échéancier
Cette section présente les différentes étapes à franchir et les sous-projets à réaliser pour la
complétion du projet. Un estimé du temps accordé pour chacune des étapes est également
inclus.
4.3.1
Mise à niveau dans le domaine de la robotique mobile et autonome
Familiarisation avec l’état de l’art du domaine de la robotique mobile et autonome (9 mois,
de janvier 2003 à septembre 2003 inclusivement) :
– Familiarisation générale avec l’état de l’art du domaine (8 mois, de janvier à août 2003
inclusivement) ;
– Familiarisation avec les architectures décisionnelles existantes (8 mois, de janvier 2003 à
août 2003 inclusivement) ;
– Familiarisation avec les environnements de développement logiciel existants et celui utilisé
à Laborius (6 mois, de janvier 2003 à juin 2003 inclusivement) ;
– Étude des architectures décisionnelles EMIB et 3T (1 mois, septembre 2003).
4.3.2
Environnement de développement logiciel unifié
Développement de l’environnement de développement logiciel unifié qui servira à la mise en
œuvre des systèmes robotiques de ce projet. À noter que ce travail est fait en collaboration
avec l’équipe du projet “MARIE” (8 mois, de juin 2003 à janvier 2004 inclusivement) :
– Exploration de différentes solutions potentielles (3 mois, de juin à août 2003) ;
– Conception des mécanismes de communication, de gestion du système et d’intégration
d’outils logiciels (1 mois, septembre 2003) ;
– Implémentation des mécanismes de communication, de gestion du système et d’intégration
d’outils logiciels (1 mois, octobre 2003) ;
4 MÉTHODOLOGIE
27
– Conception des outils servant au déploiement d’architectures décisionnelles (1 mois, octobre 2003) ;
– Implémentation des outils logiciels servant au déploiement d’architectures décisionnelles
(2 mois, novembre et décembre 2003) ;
– Validation de l’environnement de développement logiciel en environnement simulé et en
environnement réel (3 mois, novembre 2003 à janvier 2004 inclusivement).
4.3.3
Implémentation du système robotique basé sur l’architecture décisionnelle
EMIB, Phase I
L’objectif de ce sous-projet est d’implémenter une version préliminaire fonctionnelle du
système robotique basé sur l’architecture décisionnelle EMIB. Cette version comprend les
mécanismes principaux de l’architecture décisionnelle ainsi que quelques fonctionnalités du
système robotique complet. À noter que ce travail est fait en collaboration avec l’équipe
du projet “AAAI Challenge” et que c’est cette dernière qui détermine les mécanismes
décisionnels et les fonctionnalités implémentées pour cette portion du projet (18 semaines,
de septembre 2003 à la mi-janvier 2004) :
– Conception du système robotique préliminaire (2 mois, septembre et octobre 2003) ;
– Implémentation de quelques fonctionnalités du système complet (4 mois, de septembre à
décembre 2003 inclusivement) ;
– Implémentation des mécanismes décisionnels associés à EMIB pour le système préliminaire
(2 mois, de novembre à décembre 2003) ;
– Intégration des fonctionnalités avec les mécanismes décisionnels d’EMIB (6 semaines, du
début décembre 2003 à la mi-janvier 2004).
4.3.4
Implémentation du système robotique basé sur l’architecture décisionnelle
EMIB, Phase II
L’objectif de ce sous-projet est d’implémenter une version complète du système robotique
basé sur l’architecture EMIB. Cette version comprend tous les mécanismes de l’architecture
décisionnelle ainsi que les fonctionnalités du système complet (6 mois, de janvier à juillet
4 MÉTHODOLOGIE
28
2004 inclusivement) :
– Conception du système robotique complet (1 mois, janvier 2004) ;
– Implémentations des fonctionnalités du système complet (15 semaines, de mi-janvier à la
fin avril 2004 inclusivement) ;
– Implémentation des mécanismes décisionnels associés à EMIB pour le système complet (2
mois, février et mars 2004) ;
– Intégration des fonctionnalités avec les mécanismes d’EMIB (6 semaines, de mi-avril à la
fin mai 2004 inclusivement) ;
– Optimisations et ajustements (2 mois, mai et juin 2004) ;
– Validation du système robotique complet en environnement simulé et en environnement
réel (6 semaines, début juin jusqu’au “AAAI Robot Challenge 2004” tenu à la fin juillet
2004).
4.3.5
Implémentation du système robotique basé sur l’architecture décisionnelle
3T
L’objectif de ce sous-projet est d’implémenter une version complète du système robotique
basé sur l’architecture décisionnelle 3T. Cette version comprend tous les mécanismes de
l’architecture décisionnelle ainsi que les fonctionnalités du système complet. À noter que
plusieurs fonctionnalités implémentées dans ce projet sont les mêmes fonctionnalités que
celles retrouvées dans l’implémentation basée sur EMIB, mais adaptées aux mécanismes de
3T. (6 mois, de janvier à juillet 2004 inclusivement) :
– Conception du système robotique complet (6 semaines, de début janvier à la mi-février
2004) ;
– Implémentation des fonctionnalités du système complet et porter les fonctionnalités implémentées dans EMIB phase II pour 3T (2 mois, de la mi-février à la mi-avril 2004) ;
– Implémentation des mécanismes de décisionnels associés à 3T pour le système complet (2
mois, de la mi-février à la mi-avril 2004) ;
– Intégration des fonctionnalités avec les mécanismes de 3T (6 semaines, de mi-avril à la fin
mai 2004) ;
4 MÉTHODOLOGIE
29
– Optimisations et ajustements (2 mois, mai et juin 2004) ;
– Validation du système robotique complet en environnement simulé et en environnement
réel (6 semaines, de début juin à la mi-juillet 2004).
4.3.6
Tests et analyse des données
Cette section présente les étapes nécessaires pour exécuter les tests présentés précédemment,
faire l’analyse des résultats et conclure sur les résultats de ces tests :
– Développement des outils de tests et d’analyses (10 semaines, de début mai à la mi-juillet
2004) ;
– Sélection des tâches et fonctionnalités qui serviront aux tests (1 mois, juin 2004) ;
– Optimisations et ajustements (2 mois, juin et juillet 2004) ;
– Exécution des tests et cueillette des données (2 mois, juillet et août 2004) ;
– Analyse des résultats et conclusions (2 mois, août et septembre 2004).
4.3.7
Rédaction du mémoire
Rédaction et correction du mémoire (4 mois, de septembre à décembre 2004).
BIBLIOGRAPHIE
30
BIBLIOGRAPHIE
[1] R.C. Arkin. Motor schema-based mobile robot navigation. International Journal of Robotics Research, 8(4) :92–112, 1989.
[2] R.C. Arkin. Behavior-Based Robotics. Intelligent Robots and Autonomous Agents. MIT
Press, Cambridge, Mass., 1998.
[3] R.C. Arkin et D. MacKenzie. Planning to behave : A hybrid deliberative/reactive control
architecture for mobile manipulation. Dans Proceedings of International Symposium
on Robotics and Manufacturing, pages 5–12, Maui, Hawaii, 1994.
[4] R.C. Arkin et D. MacKenzie. Temporal coordination of perceptual algorithms for mobile
robot navigation. IEEE Transactions on Robotics and Automation, 3(10) :276–286,
1994.
[5] R.P. Bonasso, R. J. Firby, E. Gat, D. Kortenkamp, D. Miller, et M. Slack. Experiences
with an architecture for intelligent, reactive agents. J. Expt. Theor. Artif. Intell.,
9(2-3) :237–256, 1997.
[6] G. Booch. Object Oriented Analysis and Design with Applications. Benjamin /Cummings Publishing Company, Inc., 1994.
[7] G. Booch, J. Rumbaugh, et I. Jackobson. UML : A Unified Modeling Language. 1997.
[8] R.A. Brooks. A robust layered control system for a mobile robot. IEEE Journal of
Robotics and Automation, 2(1) :14–23, 1986.
[9] R.A. Brooks. New approches to robotics. Science, (253) :1227–1232, 1991.
[10] E. Coste-Maniere et R. Simmons. Architecture, the backbone of robotic systems. Dans
Proceedings of the IEEE Conference on Robotics and Automation, San Franciso CA,
2000.
[11] E. Gamma, R. Helm, R. Johnson, et J. Vlissides. Design Patterns : Elements of Reusable
Object-Oriented Software. Addison-Wesley, 1994.
[12] D. Goldberg et M.J. Mataric. Design and Evaluation of Robust Behavior-Based Controllers for Distributed Multi-Robot Collection Tasks. T. Balch and L. E. Parker, editors,
2002.
[13] J. Hoff et G. Bekey. An architecture for behavior coordination learning. Dans IEEE
International Conference on Neural Networks, Perth, Australia, 1995.
[14] M. Humphrys. Action selection methods using Reinforcement Learning. PhD thesis,
Computer Laboratory, Cambridge University, Cambridge, UK, 1996.
[15] O. Khatib. Real-time obstacle avoidance for manipulators and mobile robots. Journal
of Robotic Research, 5 :90–98, 1986.
[16] M. Klein, R. Kazman, L. Bass, J. Carriere, M. Barbacci, et H. Lipson. Attribute-based
architecture styles. Dans Software Architecture, Proceedings of the First Working
IFIP Conference on Software Architecture (WICSA1), pages 225–243. Kluwer Academic Publishers, 1999.
[17] J. Kosecka et R. Bajcsy. Discrete event systems for autonomous mobile agents. Dans
Proceedings Intelligent Robotic Systems ’93, pages 21–31, Zakopane, Poland, 1993.
[18] S. Kristensen. Sensor Planning with Beyesian Decision Analysis. PhD thesis, Department of Medical Informatics and Image Analysis, Aalborg University, Aalborg, Denmark, 1996.
BIBLIOGRAPHIE
31
[19] K. Lerman et A. Galstyan. Mathematical model of foraging in a group of robots : Effect
of interference. Autonomous Robots, 13(2) :127–141, 2002.
[20] L.-J. Lin. Scaling-up reinforcement learning for robot control. Dans Proceedings of the
Tenth International Conference on Machine Learning, pages 182–189, Amherst, MA,
1993.
[21] P. Maes. Situated agents can have goals. Dans Patti Maes, editeur, Designing Autonomous Agents, Cambridge, Massachusetts, London, England, 1990. MIT Press.
[22] F. Michaud. EMIB - Computational architecture based on emotion and motivation
for intentional selection and configuration of behavior-producing modules. Cognitive
Science Quartely, 2(3-4) :340–361, 2002.
[23] R.R. Murphy. An Introduction to AI Robotics. Intelligent Robotics and Autonomous
Agents Series. MIT Press, 1ière edition, 2000.
[24] A Orebäck et H.I. Christensen. Evaluation of architectures for mobile robotics. Autonomous Robots, 14(1) :33–49, 2003.
[25] R. Pfeifer et C. Scheier. Understanding Intelligence. MIT Press, Cambridge, MA, 1999.
[26] P. Pirjanian. Multiple objective action selection in behavior-based control. Dans Proceedings of the 6th Symposium for Intelligent Robotic Systems, pages 83–92, Edinburgh,
Scotland, 1998.
[27] P. Pirjanian. Behavior coordination mechanisms – state-of-the-art. Technical Report
IRIS-99-375, Institute for Robotics and Intelligent Systems, University of Southern
California, 1999.
[28] J. Riekki et J. Röning. Reactive task execution by combining action maps. Dans
IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS’97),
pages 224–230, Grenoble, France, 1997.
[29] J.K. Rosenblatt. DAMN : A distributed architecture for mobile navigation. Dans Proc.
of the AAAI Spring Symp. on Lessons Learned from Implememted Software Architectures for Physical Agents, Stanford, CA, 1995.
[30] A. Saffiotti, K. Konolige, et E. H. Ruspini. A multivalued-logic approach to integrating
planning and control. Artificial Intelligence, 76(1-2) :481–526, 1995.
[31] G. Schoner et M. Dose. A dynamics systems approach to task level systems integration
used to plan and control autonomous vehicle motion. Robotics and Autonomous
Systems, 10 :253–267, 1992.
[32] R. Simmons. Structured control for autonomous robots. IEEE Transactions on Robotics
and Automation, 10(1) :34–43, 1994.
[33] A.M. Turing. Computing machinery and intelligence. Mind, 59(236) :433–460, 1950.
[34] H. Utz, S. Sablatnog, S. Enderle, et G. Kraetzschmar. Miro - middleware for mobile
robot applications. IEEE Transactions on Robotics and Automation, 18(4) :493–497,
2002.
[35] S. Woods et M. Barbacci. Architectural evaluation of collaborative agent-based systems.
Technical Report CMU/SEI-99-TR-025, Software Engineering Institute, Carnegie
Mellon University, 1999.
[36] J. Yen et N. Pfluger. A fuzzy logic based extension to Payton and Rosenblatt’s command
fusion method for mobile robot navigation. IEEE Trans. on Systems, Man, and
Cybernetics, 25(6) :971–978, 1995.