• Aucun résultat trouvé

Architecture robotique pour la planification dans les systèmes com-

1.7 Résumé du chapitre

2.1.4 Architecture robotique pour la planification dans les systèmes com-

En IA, la plupart des architectures de systèmes complexes autonomes sont celles issues de la robotique. Dans la majorité des cas, la caractéristique de base des architectures proposées est leurs capacités à prendre en compte la dynamique de l’environnement en exploitant le couplage entre des modules délibératif et d’exécu- tion. Ainsi, les architectures logicielles proposées en robotique autonome intègrent (i) un niveau décisionnel pour la planification des actions de l’agent et (ii) un niveau dit fonctionnel pour l’exécution des actions planifiées. Contrairement au premier niveau entièrement délibératif, le second est beaucoup plus réactif. Nous présentons dans la suite quelques architectures intéressantes. Cela nous permettra de positionner celle que nous proposons dans cette thèse.

2.1.4.a De l’architecture Sense/Plan/Act-SPA à nos jours

La première architecture proposée pour la planification et l’exécution dans les sys- tèmes autonomes est basés sur la boucle Perception/Planification/Action (Sense/-

Plan/Act SPA (Nilsson,1982)). Comme l’indique la Figure 2.4, le module de per- ception (Sense) permet de capturer et de traduire les informations issues d’en- vironnements en modèle d’environnement disponible pour l’agent. Sur la base de ce modèle de l’environnement, le module de planification (Plan) construit un plan permettant d’atteindre les objectifs que se fixe l’agent. Le plan résultant est exécuté par le module d’action (Act).

Percept

ion

Mo

délisation

Planication Exécution Contrôle Environnement

Capteur Eecteurs

Sense Plan Act

Figure 2.4 – Architecture Sense/Plan/Act

Le robot Shakey (Fikes et al., 1972) est le premier à avoir intégré la boucle perception, planification et action. Dans le cas de Shakey, le module de planification embarque un planificateur STRIPS (Fikes et Nilsson,1971). Le module d’exécution utilise une table de triangulation basique pour la prise en compte des échecs c’est- à-dire, en cas d’échec d’une action, celle-ci est relancée si ses préconditions restent valides. Dans le cas contraire, un nouveau plan est généré.

2.1. Planification de tâches et contrôle d’exécution 53

Limites La première limite de SPA réside dans le fait que toute l’intelligence du système repose sur le module de planification. La seconde limite de SPA est qu’elle se base sur une architecture monolithique dans laquelle toute la boucle Sense/Plan/Act est réalisée à chaque étape. Cela peut entrainer des problèmes de réactivité du système car il est très difficile voir impossible de planifier à l’échelle du changement de l’environnement. À ce jour, l’approche SPA est pratiquement abandonnée au détriment de deux classes d’architectures dites ascendantes (archi- tectures réactives) et descendantes (architecture délibératives).

Pour certains chercheurs, dont Brooks (Brooks,1986, 1991) qui défendent les architectures réactives, il n’est pas nécessaire d’avoir un agent doté de module de décision complexe pour parvenir à des comportements intelligents. Selon lui, des règles comportementales de type stimulus-réponse dans les capteurs et effecteurs suffisent pour résoudre des problèmes complexes. Dans ce cas, nul besoin d’intégrer un module de planification. Cette caractéristique favorise une meilleure adaptation à la dynamique de l’environnement. Pour étayer ses propos, Brooks (1986) pro- pose une architecture en plusieurs couches de contrôle nommée architecture de

subsumption. Elle permet de se passer de la décomposition horizontale du cycle de

décision dans SPA pour adopter une décomposition verticale ascendante en niveaux de compétence. Cependant, la simplicité de ce type d’architecture ne permet pas de prendre en compte les informations portant sur la globalité de l’environnement. En conséquence, les actions produites peuvent être sujettes à des incohérences au niveau global.

Contrairement aux architectures réactives, celles dites délibératives sont dotées de modules de décision complexe capables de prendre en compte aussi bien les objectifs que les informations explicites sur la globalité de l’environnement. Ces modules permettent de raisonner sur les actions au sens où ils ont des objectifs définis et sont capables de produire des plans explicites pour atteindre les ob- jectifs. Les problèmes de réactivité liés à la planification demeurent valides dans cas. Toutefois, depuis le début des années 90, différentes architectures délibératives intéressante ont été proposées.

Dans la suite, nous décrivons plus particulièrement quelques architectures délibératives. En effet, les décisions de conduite des systèmes de culture au sein de l’exploitation agricole sont relativement complexes. Elles nécessitent la prise en compte d’objectifs et de connaissances explicites sur le domaine de l’agriculture et l’ensemble de l’environnement de l’agent.

2.1.4.b Architectures trois-tiers

La plupart des architectures existantes pour la planification et l’exécution dans les systèmes autonomes repose sur trois couches que l’on retrouve au départ dans les architectures 3T deBonasso et al.(1997) et ATLANTIS deGat(1992,1998). Cette architecture a été reprise dans de très nombreux travaux (Muscettola et al.,1998;

Alami et al.,1998;Park et al.,1999;Simmons et al.,2007) portant sur le couplage entre des modules de planification et des exécutifs réactifs pour la prise en compte de la dynamique de l’environnement.

Les trois couches ont été intégrées dans l’optique de répartir le traitement du problème suivant des niveaux de granularité différents. Ainsi, comme l’indique l’ar- chitecture ATLANTIS présentée sur la Figure2.5-a, les trois couches sont consti- tuées de trois composants qui sont :

– délibération : composant décisionnel chargé de produire le plan d’action qui permet d’accomplir les objectifs de l’agent,

Délibération Séquencement Contrôle Environnement (a) ATLANTIS Eecteur Capteur Environnement Exécution Planicateur- Ordonnanceur MI MR Buts (b) Remote agent Capteur Eecteur Environnement Vérication des ressources et

des requêtes Exécutif procédural module ... module Planica- teur (c) LAAS Niveau décisionnel Niveau contrôle d'exécution Niveau fonctionnel Eecteur Capteur

Figure 2.5 – Architecture trois tiers

– séquencement : composant réactif chargé de l’exécution du plan produit au niveau de délibération.

– contrôle : composant réactif capable d’exécuter les actions en faisant le lien avec l’environnement.

Il existe plusieurs variantes de l’architecture en trois couches. Nous décrivons deux d’entre elles. La première variante de l’architecture en trois couches que nous dé- taillons est celle adoptée en 1999 pour la sonde Deep Space one. Nommée Remote

Agent architecture (cf. Figure 2.5-b), la couche délibérative embarque le système de planifications temporelles et d’ordonnancements sous contraintes de ressources nommé HSTS (Heuristic Scheduling Testbed System (Muscettola,1993)). La couche de séquencement est quant à elle basée sur un exécutif de type EST (Execution Sup-

port Language (Gat,1997)) capable d’envoyer de requêtes et d’exécuter des plans comportant des actions concurrentes et interdépendantes dont l’issue de la mise en œuvre peut être soumis à de l’incertitude. La couche de contrôle de l’architecture

Remote Agent intègre un mécanisme de diagnostique (Mode identification MI &

Mode Reconfiguration MR) basé sur le système Livingstone (Williams et al.,1996) qui est un noyau réactif orienté modèles pour l’auto-reconfiguration des systèmes autonomes.

A l’instar de la précédente, l’architecture LAAS (Alami et al.,1998) (cf. Figure

2.5-c) est une variante de l’architecture en trois couches. On y retrouve un niveau fonctionnel, un niveau de contrôle d’exécution et un niveau décisionnel. Le niveau décisionnel couple l’exécutif procédural OpenPRS (Ingrand et al.,1996) au plani- ficateur temporel IxTeT (Indexed Time TableGhallab et Laruelle (1994)). Le rôle de l’exécutif procédural est de lancer et superviser les actions puis de réagir aux événements provenant du niveau inférieur ou d’un opérateur.

Le planificateur est quant à lui chargé de construire et d’ordonnancer le plan global de l’agent, tout en prenant en compte les objetifs ainsi que les échecs d’exé- cution. Pour ce faire, IxTeT planifie dans l’espace des plans partiellement ordonnés et partiellement instanciés (Partial Order Causal Link POCL). Dans l’une de ses implémentations les plus récentes (IxTeT-eXECLemai(2004)) ce planificateur in- tègre également un exécutif temporel. Le niveau de contrôle d’exécution basé sur R2C (Requests and Resources Checker Ingrand et Py(2002)) est dédié d’une part à la vérification (i) de l’utilisation des ressources et (ii) des requêtes envoyées par l’exécutif procédural à la couche inférieure. D’autre part, il transmet à l’exécutif procédural les bilans d’exécutions envoyés depuis le niveau fonctionnel. Enfin, Le niveau fonctionnel contient des modules contrôlables, nécessaires à l’action et à la perception de l’agent. Cette couche peut intégrer de modules très évolués tel qu’un planificateur de déplacement etc.

2.1. Planification de tâches et contrôle d’exécution 55

Limites SelonEstlin et al. (2001), les architectures en trois couches posent trois problèmes. Premièrement, chacune des couches dispose de son propre modèle de l’environnement. Ces différents modèles du monde comportent généralement des informations redondantes qui doivent être cependant maintenues constamment. Deuxièmement, les couches sont contraintes de fonctionner à un certain niveau de granularité. Cette configuration ne permet pas aux techniques de planification et d’exécution d’être utilisées sur les problèmes pour lesquels elles sont plus appro- priées. Troisièmement, l’architecture en trois couches ne permet pas d’appréhender les travaux (ex : système CLEaR Estlin et al. (2001)) dans lesquels la frontière entre la planification et l’exécution est considérablement réduite dans l’optique d’accroître le temps de réponse des systèmes complexes autonomes. Dans la sec- tion suivante nous développons une architecture alternative qui permet de palier à ces différentes limites.

2.1.4.c Architecture CLARAty

Afin de palier aux limites de l’architecture en trois couches, l’architecture en deux couches CLARAty (Coupled Layer Architecture for Robotic Autonomy (Volpe et al.,

2000,2001;Estlin et al.,2001)) a été proposée par le département Jet Propulsion Laboratory de la NASA. Comme l’indique la Figure 2.6, cette architecture est composée d’un niveau fonctionnel en interaction avec un niveau décisionnel.

Exécutif Planification Base de données comune Fonctionnel

Figure 2.6 – Architecture CLARAty

Le niveau fonctionnel intègre les fonctionnalités de base permettant d’interagir avec le niveau décisionnel et de faire le lien avec l’environnement. Il est constitué de composants génériques ayant des comportements prédéfinis. Ces composants sont organisés de manière hiérarchique allant du bas niveau (ex : contrôle du moteur d’un robot) à des niveaux d’abstraction plus élevés (ex : navigation de robot avec évitement d’obstacle). Chaque composant est capable d’estimer sa consommation de ressources et d’informer le niveau décisionnel.

Le niveau décisionnel contient un planificateur ordonnanceur déclaratif en in- teraction avec un exécutif procédural. Ces deux composants sont liés par une sous couches comportant une base de données commune de plans représentés dans un langage combinant aussi bien les structures procédurales et déclaratives. Durant l’exécution du plan produit par le planificateur, les capacités du niveau fonctionnel sont appelées puis le résultat de l’exécution des actions est pris en compte dans l’optique d’adapter le plan à la dynamique de l’environnement.

Dans la première implémentation de l’architecture CLARAty, les auteurs utilisent le système CLEaR (Closed-Loop Execution and Recovery (Fisher et al.,

2000; Estlin et al., 2001)) comme instance du niveau décisionnel. CLEaR com-

Planning, Execution and Re-planning (Chien et al., 2000)) à un système d’exécu- tion basé sur TDL (Task Description Language (Simmons et Apfelbaum,1998)). Notons cependant que dans cette implémentation, CASPER et TDL avaient des représentations différentes.

2.1.4.d Bilan sur les architectures de systèmes complexes autonomes et positionnement sur les approches de planification

Considérant les différents travaux présentés dans cette section, nous pouvons af- firmer qu’il existe au moins deux niveaux dans les architectures de systèmes com- plexes autonomes. D’une part, on retrouve un niveau décisionnel chargé de la construction et de l’exécution du plan en fonction des objectifs du système. Pour son fonctionnement, ce niveau a besoin d’informations relatives à l’état global de l’environnement. D’autre part, on retrouve un niveau fonctionnel chargé de la mise en œuvre effective des actions et du lien avec l’environnement (système physique). Pour son fonctionnement, chaque composant de ce niveau a besoin d’informations partiels sur l’état de l’environnement.

Dans le cas des applications qui nous intéressent c’est-à-dire, celles relatives à la conduite des systèmes de culture au sein de l’exploitation agricole, il ne s’agit pas au niveaux fonctionnel, de piloter un robot. Par contre, l’idée ici est de contrôler un ensemble de processus opérationnels dont le but est de perturber la dynamique de processus biophysiques liés au sol (ex : niveau hydrique) et aux plantes (ex : l’indice foliaire, la biomasse, le stade de floraison). A l’instar de travaux en robo- tique autonome, le niveau décisionnel contient deux composants planificateur/or-

donnanceur et exécutif.

Cette thèse s’intéresse particulièrement au niveau décisionnel c’est-à-dire : – au fonctionnement délibératif relatif à la planification (décisions stratégique,

tactique) et ordonnancement (décision opérationnelle) des actions d’un agriculteur,

– au fonctionnement réactif relatif à l’exécution du plan de l’agriculteur, – aux interactions existantes entre les fonctions délibératives et réactives de

l’agriculteur.