Tรฉlรฉcharger le fichier pdf d’un mรฉmoire de fin d’รฉtudes
Planification classique
Le monde des blocs est lโune des applications de la plani cation classique les plus connues. Il est constitue dโun ensemble de blocs de forme cubique poses sur une table et dโun bras robotique ( gure 1.1(a)). Le but est toujours de construire une ou plusieurs piles de blocs speci ees, en indiquant quels blocs sont au-dessus de quels autres blocs. Un plan solution possible est de ni par deux actions : le bras attrape le bloc C ensuite il le pose sur le bloc B. Nous utilisons cet exemple tout au long de ce chapitre.
Figure 1.1 { Le monde des blocs : la representation graphique des etats initial et but. La gure 1.1(a) decrit lโetat initial : le bloc C est sur le bloc A, le bloc A sur la table et le bloc B sur la table. La gure 1.1(b) decrit lโetat but : le bloc C sur le bloc B.
Pour resoudre un probleme de plani cation, nous avons besoin dโutiliser un algorithme de plani cation (plani cateur). La gure 1.2 decrit les entrees et les sorties dโun plani cateur. En entree, un plani cateur prend lโensemble des donnees suivant :
{ domaine : le modele du monde est un ensemble dโactions possibles (parfois appeles operateurs) et dโactions. Chaque operateur speci e generalement des preconditions qui doivent ^etre presentes dans lโetat actuel pour quโil puisse ^etre applique, et des e ets sur lโetat actuel ; { une description de lโetat initial du monde ; { une description dโun but a atteindre.
Ces donnees forment ce quโon appelle le probleme de plani cation. En sortie, il genere un plan. Ce plan peut prendre di erentes formes, la plus commune etant une sequence dโactions.
Dans la litterature, plusieurs familles de plani cation existent telles que presentees dans [Ghal-lab et al., 2004] et [Regnier et Vidal, 2004]. Nous invitons les lecteurs a les consulter pour plus de details. Dans cette these, nous nous situons dans le cas de la plani cation classique en considerant les hypotheses evoquees dans [Ghallab et al., 2004] a savoir :
1. observabilit totale : tout ce qui peut ^etre connu sur lโenvironnement est connu. Par exemple, dans le monde de bloc les positions des blocs et lโetat du bras sont connus a tout instant, dans la gure 1.1(a) : le bras est libre, le bloc C sur le bloc A, le bloc B sur la table ;
2. deterministe : lorsquโon execute une action le resultat est constant. Autrement dit, lโexecution se deroule dans un monde parfait ou les actions ne peuvent pas echouer et leurs e ets sont totalement predetermines. Par exemple dans le monde de bloc, si le bras pose le bloc C sur le bloc B, apres execution de cette action lโetat du monde sera comme illustre dans la gure 1.1(b) : le bloc C sur le bloc B, la surface superieure du bloc A est libre ;
3. monde statique : il nโy a pas dโevenements externes qui modi ent lโenvironnement. Par exemple, dans le monde de bloc, seul lโintervention du bras fait changer lโetat du monde ;
4. plans sequentiels : les plans sont des sequences dโactions ou les actions sโexecutent lโune a la suite de lโautre. Il nโy a pas dโactions simultanees.
5. discret : les actions nโont pas de duree, elles sont considerees comme etant instantanees au moment de la plani cation.
Toutes ces hypotheses ne simpli ent pas la complexit du probleme de plani cation mais speci e seulement le cadre. La quantite des travaux dans la litterature en plani cation classique prouve la complexit de ce probleme. En particulier, lors de lโintroduction dโune ressource, dโune dimension temporelle ou dโune dimension spatiale, etc.
Dans la litterature, il existe plusieurs manieres pour representer un probleme classique de pla-ni cation. En e et, nous pouvons citer Set-theoric representation [Green et al., 1969] ou encore Classical representation [Fikes et Nilsson, 1971]. Dans la premiere representation (respective-ment, la deuxieme representation), ce sont les propositions qui sont utilisees (respectivement, les predicats du premier ordre et des connecteurs logiques). Ainsi, chaque etat du monde est un ensemble de propositions (respectivement, un ensemble de predicats du premier ordre et des connecteurs logiques) et chaque action est une expression speci ant les propositions (respective-ment, une expression speci ant les predicats du premier ordre et des connecteurs logiques) qui doivent appartenir a lโetat courant pour que lโaction soit executable ainsi que les propositions a ajouter ou a supprimer de lโetat suite a son execution (respectivement, une expression speci ant les predicats du premier ordre et des connecteurs logiques).
Planification de t^aches
La plani cation de t^aches consiste en un raisonnement symbolique qui a pour objectif de construire un plan dโactions pour realiser une mission dans laquelle les conditions du but nal sont valides a partir dโune description de lโetat initial, des operateurs et du but a atteindre.
Les plani cateurs necessitent la representation du probleme de plani cation a resoudre ( – gure 1.2), cโest-a-dire la representation des etats, des actions et des buts. Pour cela, il faut trouver un langage su samment expressif pour pouvoir decrire une large variet de problemes, mais aussi su samment restrictif pour lโutiliser dโune maniere e cace. Nous considerons pour lโinstant le formalisme de representation classique STRIPS [Fikes et Nilsson, 1971] (details dans la section 3.3.1) qui utilise des notations derivees du premier ordre : un etat est represent sous la forme dโun ensemble dโatomes logiques qui sont vrais lorsque le systeme est dans lโetat consider (notons par S lโensemble des etats). Les actions sont representees par des operateurs de plani cation qui changent les valeurs de ces atomes (notons par O lโensemble des operateurs). Formellement, lโensemble des etats du monde sont representes par un ensemble de predicats de la logique de premier ordre L (de nition 1) decrivant le monde. Nous rappelons les principaux concepts du domaine de la plani cation en utilisant STRIPS.
De nition 1 Le langage L est un langage de premier ordre, base sur des predicats : L = fp1; : : : ; png. Ce langage est utilise pour representer un domaine de plani cation. Le langage L ne contient ni symboles ni fonctions.
De nition 2 Un predicat p est de ni par son symbole et une liste de parametres. Il represente des relations entre les di erents objets du domaine.
Par exemple, le predicat Sur(C,A) signi e que le bloc C se trouve au-dessus du bloc A ( gure 1.1(a)).
Representations des etats
Un etat est une description du monde. Dans la logique du premier ordre, un etat est represent sous la forme dโune conjonction de litteraux positifs. Par exemple, SurTable(A)^ Sur(C,A) ^ SurTable(B) represente lโetat du monde de bloc decrit dans la gure 1.1(a). Aussi, nous considerons les litteraux propositionnels : par exemple, BrasVide pour indiquer que le bras est vide dans la gure 1.1(a). Les variables (par exemple Sur(x,y)) et les fonctions (par exemple Sur(Cube(D),E)) ne sont pas permises dans les litteraux. Formellement, nous avons :
De nition 3 Un etat s est un ensemble dโatomes instancies du langage L.
Propriet 1 Comme L ne contient pas de fonctions, nous avons alors un ensemble ni dโetats.
Propriet 2 S est lโensemble des etats tel que chaque etat est un sous-ensemble de L, ainsi S 2L.
Nous considerons lโhypothese du monde clos ; tout ce qui nโest pas vrai est suppose faux. Autrement dit, un predicat, qui nโest pas veri dans un etat est consider comme faux dans cet etat. Formellement, cette hypothese se traduit par le fait quโun predicat p est veri dans un etat s si et seulement si p peut ^etre uni e avec des predicats de s (p 2 s, par exemple).
Un etat but est un etat partiellement speci . Il est de ni par une conjonction de litteraux (sans variable) tel que Sur(C,B) ( gure 1.1(b)). Un etat propositionnel s satisfait un but sg si s contient tous les atomes de sg (et eventuellement dโautres atomes). Par exemple, lโetat SurTable(A)^ Sur(C,B) satisfait le but Sur(C,B) ( gure 1.1(b)).
Representation des operateurs et des actions
Une action est speci ee par des preconditions qui doivent ^etre respectees avant lโexecution et les e ets qui resultent de cette execution. Un operateur est un schema dโaction representant une operation possible dans un domaine donne. Il represente un ensemble dโactions di erentes que lโon peut deriver en instanciant les parametres avec des constantes di erentes (de nition 4).
De nition 4 Un operateur o est de ni par un quadruplet tel que :
o = (nom(o); params(o); precond(o); ef f ets(o)) :
{ nom(o) : indique le nom de lโoperateur,
{ params(o) : liste des parametres de lโoperateur sous la forme fparam1; : : : ;paramng,
{ precond(o) : represente les preconditions de lโoperateur, cโest-a-dire les proprietes du monde necessaires a son execution,
{ ef f ets(o) : de nit lโensemble des faits a ajouter et a supprimer de lโetat apres lโexecution de o.
Par exemple, le bras pose un bloc sur un autre est de ni par lโoperateur PoserSurBloc, comme suit :
PoserSurBloc(b1,b2)
Precond: SurfaceLibre(b2), Attrape(b1)
Effets: Sur(b1,b2), SurfaceLibre(b1), BrasLibre,
: SurfaceLibre(b2), : Attrape(b1)
Code 1.1 – De nition de lโoperateur PoserSurBloc.
Pour augmenter la lisibilite, certains travaux (par exemple : [Hioual et Boufaida, 2010]) distinguent entre les e ets positifs et les e ets negatifs, en de nissant une liste dโinsertion pour les litteraux positifs (Sur(b1,b2), SurfaceLibre(b1), BrasLibre) et une liste de suppression pour les litteraux negatifs (SurfaceLibre(b2), Attrape(b1)) (code 1.1).
Le principe de la modelisation des actions par des operateurs consiste a speci er a lโaide de predicats, les proprietes du monde necessaires a son application, cโest-a-dire, les preconditions de lโaction, ainsi que les e ets engendres par son execution. Les preconditions positives expriment les proprietes qui doivent ^etre veri ees, les preconditions negatives expriment celles qui doivent ^etre absentes de lโetat pour que lโaction soit appliquee. Les e ets dโun operateur speci ant les proprietes du monde modi ees par lโexecution dโune action. Dโun point de vue formel, si une action est de nie par un operateur qui transforme un etat si en un etat si+1, les e ets dโune action sont representes par les predicats ajoutes (e ets positifs) et les predicats enleves (e ets negatifs) a si pour obtenir si+1. Intuitivement, si le modele dโactions (operateurs) est correct et que lโexecution se deroule comme prevu, le fait quโune action ai est applicable a lโetat si signi e quโelle menera a lโetat si+1 lors de son execution. Une action a est dite applicable a un etat s si toutes ses preconditions sont satisfaites dans lโetat s.
De nition 5 Une action est une instance dโun operateur. Si a est une action et si est un etat tel que precond(a) si alors a est applicable a si et le resultat de cette application est lโetat si+1 = (si ef f ets (a)) [ ef f ets+(a)
Representation dโun probleme de plani cation
La de nition 6 presente dโune maniere formelle un probleme de plani cation. En plani ca-tion, un domaine D decrit le cadre dans lequel va ^etre resolu le probleme. Il est independant de nโimporte quel etat initial ou but. Intuitivement, un domaine modelise toutes les actions que peut e ectuer le systeme pour lequel on plani e. Dans lโexemple du monde de blocs, le systeme pour lequel on plani e est le bras robotique. Formellement, le domaine est de ni par lโensemble des types de variables, lโensemble des predicats et A lโensemble des operateurs ins-tancies de O (de nition 7). Une solution a un probleme de plani cation classique est appelee plan (de nition 8).
|
Table des matiรจres
Introduction
I Etat de l’art
Introduction de la partie I
1 Planication
1.1 Planication en intelligence articielle
1.1.1 Generalites
1.1.2 Planication classique
1.2 Planication de t^aches
1.2.1 Representations des etats
1.2.2 Representation des operateurs et des actions
1.2.3 Representation d’un probleme de planication
1.3 Algorithmes et techniques de planication
1.3.1 Planication dans un espace d’etats
1.3.2 Techniques de planication
1.4 Langages de planication
1.4.1 Historique
1.4.2 Langage PDDL
1.4.3 Utilisation de PDDL
1.5 Integration de la connaissance spatiale dans la planication
1.5.1 Planicateurs de chemins
1.5.2 Couplage de planicateurs
1.5.3 Formalisation de la connaissance spatiale
2 Representation et raisonnement spatial 31
2.1 Connaissance spatiale
2.1.1 Representation spatiale
2.1.2 Raisonnement spatial
2.2 Representation d’une entite spatiale
2.2.1 Representation geometrique
2.2.2 Representation hierarchique
2.3 Representation des relations spatiales
2.3.1 Relations topologiques
2.3.2 Relation de distance
2.3.3 Cadre de reference
2.4 Approches quantitatives pour le raisonnement spatial
2.4.1 Modele raster/Modele vectoriel
2.4.2 Types primitifs
2.5 Approches pour le raisonnement spatial qualitatif
2.5.1 Formalismes inspirees des relations temporelles d’Allen
2.5.2 Formalismes fondes sur d’autres techniques
2.6 Connaissance spatiale en planication
2.6.1 Carte metrique, carte topologique, carte hybride et grille d’occupation
2.6.2 Carte semantique
3 Ontologies
3.1 Qu’est ce qu’une ontologie ?
3.1.1 Reseau semantique
3.1.2 Types d’ontologies
3.1.3 Utilite des ontologies
3.1.4 Construction d’une ontologie
3.2 Logiques de description
3.2.1 Syntaxe des logiques de description
3.2.2 Niveaux de descriptions
3.2.3 Inference dans les logiques de description
3.2.4 Logique minimale AL
3.3 Outils pour les ontologies
3.3.1 Langages
3.3.2 Outils
3.4 Connaissance spatiale dans les ontologies
3.4.1 Ontologies spatiales
3.4.2 Modelisation des entites spatiales
3.4.3 Modelisation des relations spatiales
3.5 Planication et ontologie spatiale
3.5.1 Ontologie spatiale au coeur du processus de planification
3.5.2 Ontologie spatiale et le bon fonctionnement du processus de planication
Conclusion de la partie I
II Contributionsย
Introduction de la partie II
4 Connaissance spatiale : SpaceOntology
4.1 Denition d’une ontologie spatiale
4.1.1 Entite spatiale
4.1.2 Relations topologiques
4.1.3 Relations de distances
4.1.4 Relations entre entites spatiales
4.2 Raisonnement avec SpaceOntology
4.2.1 Raisonnement hierarchique
4.2.2 Raisonnement avec les relations de distance
4.2.3 Raisonnement avec les relations topologiques
4.3 Mecanisme de composition
4.3.1 Representation des relations topologiques
4.3.2 Decomposition des relations topologiques
4.3.3 Calcul de la composition
4.3.4 Consistance de la composition
4.3.5 Maintenir la coherence pour les relations topologiques
5 Modele et langage pour la planication spatiale
5.1 Planication spatiale
5.1.1 Approche proposee : Architecture Spoon
5.1.2 Raisonnement dans Spoon
5.1.3 Apercu du processus de planication de Spoon
5.2 Fonctionnement de Spoon
5.2.1 Information spatiale dans le processus de la planication
5.2.2 Operateurs de planication spatiale
5.3 De PDDL a Spatial-PDDL
5.3.1 Denition des objets dans Spatial-PDDL
5.3.2 Denition d’un domaine de planication avec Spatial-PDDL
5.3.3 Denition d’un probleme de planication avec Spatial-PDDL
6 Processus de planication avec des informations spatiales
6.1 Exemple d’application
6.2 Processus de planication : principes
6.3 Description avec Spatial-PDDL
6.4 Planication de t^aches
6.5 Planicateur spatial hierarchique et
6.5.1 Generation du graphe de reseaux de passages
6.5.2 Denition du chemin vers une cible
Conclusion de la partie II
III Experimentationsย
7 Performances de Spoon
7.1 Inference de l’adjacence
7.1.1 Principe
7.1.2 Resultats experimentaux
7.1.3 Etude de la complexite
7.2 Coherence de la connaissance spatiale : justication du choix AC-3
7.3 Performances du planicateur de chemins
7.3.1 Performances du principe de la fonction DijkstraMC
7.3.2 Inter^et de la hierarchisation de l’environnement
7.3.3 Recherche de chemins dans un graphe de reseaux de passages
7.4 Planication de t^aches : etude avec HTN
7.5 Performances de Spoon
7.5.1 R^ole de la connaissance spatiale dans la planication
7.5.2 Comparaison avec d’autres planicateurs
7.6 Systeme complet de la planication
Conclusion et perspectivesย
Annexesย
Bibliographieย
Tรฉlรฉcharger le rapport complet