• Aucun résultat trouvé

Le planicateur IxTeT [Laruelle 94], développé au laboratoire LAAS à Toulouse en 1994, se place dans le cadre des approches par opérateurs. Les hypothèses de départ sont celles d'un monde prévisible et d'un ensemble d'informations complet, an de limiter la combinatoire du problème.

3.2. IxTeT 43 C'est un planicateur non-linéaire développé sur la base d'une logique temporelle d'instants et d'intervalles restreinte, qui gère quasi-linéairement un treillis d'instants pour l'ajout de nouvelles contraintes. Le formalisme de représentation employé comporte deux niveaux de granularité : le niveau action et le niveau tâche. L'action est l'opérateur de plus bas niveau, elle est directement exécutable ; la tâche est composée, quant à elle, d'actions et de sous-tâches. La représentation temporelle utilisée permet de représenter des actions et des tâches dont les pré-conditions (ou les eets) disparaissent (ou apparaissent) au fur et à mesure de leur réalisation ainsi que des événements. Le plan est représenté par un treillis temporel sur lequel sont portées les actions, leurs pré-conditions et eets. Avant toute planication, les actions et les tâches sont compilées par le système en des treillis de structures similaires au treillis qui doit représenter le plan. Leur insertion dans le plan courant lors de la planication est ainsi facilitée. L'évolution vers une prise en compte plus réaliste du temps s'est donc faite de l'hypothèse de transitions instantanées vers l'utilisation de logiques temporelles d'instants ou d'intervalles permettant la modélisation d'actions avec recouvrements complexes.

Le plan initial se présente sous la forme d'une tâche, comprenant à la fois la dénition complète de l'état du monde initial ainsi que les diérents buts à satisfaire. Le monde initial est spécié par des événements expliqués à l'instant tstart de la tâche initiale. La fonction de planication de IxTeT22 est représenté dans l'algorithme6.

Fonction Planier(P,T) début

si P ne contient plus de défaut alors Retourner P

sinon

Sélection d'un défaut D de P

Calcul de l'ensemble des résolvantes de D si cet ensemble est vide alors

Retourner un échec sinon

Choix d'une résolvante p

Retourner (Planier(P+p,T)) n

n n

Algorithme 6  L'algorithme de IxTeT. P désigne le plan partiel et T désigne l'ensemble des modèles de tâches

Le principe de l'algorithme ainsi que les diérentes heuristiques employées sont détaillés dans

[Laruelle 94].

IxTeT s'insère dans l'architecture globale d'un système de décision pour un robot autonome et constitue un système de raisonnement hors niveau, dont le but est de fournir un plan de tâches calculé hors-ligne. Le plan produit est passé au module de supervision de tâches qui est chargé de l'aner et, éventuellement, de modier la tâche en cours en réaction à des événements imprévus. En cas de dysfonctionnement important (tâche échouée, ressources épuisées, arrivée d'événements imprévisibles, etc.), le superviseur peut remonter l'information au niveau du planicateur pour lancer une re-planication partielle de la mission. L'architecture de IxTeT, représentée dans la gure3.2, est formée de trois composantes :

1. Le module d'analyse gère à la fois la recherche des résolvantes des sous-buts en cours (étape de faisabilité), l'identication des conits induits et la recherche des résolvantes existant pour ces conits (étape de satisfaisabilité).

2. Le module de contrôle de la recherche eectue une résolution globale selon trois niveaux :

 choix d'une opération (sous-buts ou conit),

 choix de l'opérande, c'est-à-dire le sous-but ou le conit particulier,  choix de la résolvante dans l'arbre de recherche globale.

3. Le module de gestion du plan partiel met à jour l'ensemble des prédicats, la table des variables et le graphe d'instants.

Ce planicateur a depuis été enrichi ; Laborie [Laborie 95] a intégré dans le planicateur un module de gestion de ressources permettant de prendre également en compte au niveau de contrôle de la recherche les conits de ressources. Dans [Vidal 95], une extension concernant la gestion de l'incertain dans le temps a été entreprise. La représentation a ensuite été employée pour le suivi d'évolutions et la reconnaissance de chroniques. Dans [Laruelle 94], Laruelle propose la dénition des diérents algorithmes et des diérentes heuristiques utilisées dans la représentation d'IxTeT. L'utilisation des ressources ainsi qu'une recherche hiérarchique a été introduite dans le planicateur [Laborie 95]. Dans [Gaborit 96], des outils de planications supplémentaires comme la fusion et l'union de plans ont été introduits dans le planicateur en vue de l'application aux multi-robots. Albers [Albers 97] a enrichi la représentation d'IxTeT an de prendre en compte dans la planication des tâches avec eets dépendant du contexte, (pour améliorer l'expressivité des actions, mais également pour améliorer les performances de la planication) et d'utiliser des axiomes de cohérence lors de l'élaboration de plans.

Le planicateur fait deux hypothèses restrictives qui correspondent à un compromis entre performance et richesse de représentation : il s'agit des hypothèses de complétude de la description du monde et du déterminisme des actions.

3.2. IxTeT 45 et Requetes Evénements et Assertions Réseaux de contraintes Insertion de la résolvante Backtrack Sous−buts Sous−buts

Sous−buts avec résolvantes Sous−Buts résolvantes Conflits avec Choix de la résolvante Globale Recherche Choix du Conflit ou Sous−But Insertion d’instanciation Graphe des instants

Conflits avec résolvantes MODULE de CONTROLE de la RECHERCHE

MODULE d’ANALYSE PLAN PARTIEL

de gestion du MODULE

ou

Fig. 3.2  L'architecture générale du planicateur IxTeT (d'après [Vidal 95])

Une extension d'IxTeT concernant l'exécution du plan a été élaborée dans le planicateur IxTeT-eXeC [Lemai & Ingrand 04]. Cette approche intègre planication délibérative, répa-ration de plan et contrôle d'exécution dans un environnement dynamique avec des contraintes temporelles. Elle est basée sur deux composants : un planicateur et un exécutif qui tiennent compte explicitement du temps. Le planicateur produit un plan complet. Ce plan est ensuite déroulé par l'exécutif temporel selon un cycle perception-réparation de plan/action : intégrer les messages externes, réparer le plan si nécessaire, décider des actions à exécuter. Ce cycle per-met d'être réactif aux échecs et dépassements de délai du système contrôlé et d'adapter le plan en conséquence.

Le système IxTeT (gure3.3) comprend un planicateur capable de produire un plan, de re-planier dynamiquement et réparer un plan. Il est composé également d'un exécutif temporel. Les deux composants partagent le même plan au travers duquel ils interagissent. L'exécutif commence l'exécution d'un premier plan tant que celui-ci est valable. Si une situation non nominale se produit et qu'une réparation de plan est possible, elle est toujours tentée. Les avantages majeurs de la réparation sont de pouvoir continuer l'exécution des parties du plan encore valide, et a priori de nécessiter moins de décisions que la planication et donc d'être plus rapide. Finalement, si

Invalide partiellement Exécute et de réparation Exécutif Répare Produit Plan Planificateur Requetes de re-planication

Fig. 3.3  Schéma montrant l'organisation d'IxTeT

un plan ne peut être ni réparé, ni exécuté, une requête de planication sera alors envoyée au planicateur. L'exécutif contrôle la re-planication an de garantir qu'il restera susamment de temps pour exécuter le nouveau plan.