Title: La Planification Temporelle et Numrique
1La Planification Temporelle et Numérique
2Le Domaine de Rovers
Un sonde qui reçoit et transmet les communications
Les rochers
Les plaques de sol intéressantes
Exploration dune surface planètaire, pour
rassembler les donnés scientifiques
3Un Domaine Réaliste
- Le domaine de Rovers est inspiré par le vrai
problème dexploration de Mars, étudié par NASA,
ESA et les autres agences despace. - Le domaine décrit ici était utilisé dans la
compétition de la planification, 2002. - Il contient des problèmes de temps, gestion des
ressources, gestion des priorités, etc. - Cest une simplification du vrai problème, mais
cest assez réaliste et peut être étendu
facilement. - Par exemple par modéliser les événements
attendus et inattendus, lincertitude dans
lenvironnement, etc.
4Les Techniques Actuelles
- Lutilisation de la planification dans
lexploration des planètes est dans lavenir. - Actuellement les activités des robots sont tous
organisées par terre et exécutées précisément sur
la planète (par exemple les rovers Spirit et
Opportunity de NASA et le Beagle 2 de UK). - Les robots ne sont pas intelligents. Ils peuvent
sauvegarder et surveiller lenvironnement mais
ils ne peuvent pas raisonner. - Ils sarrêtent quand les événements inattendus se
passent, donc leurs opérations sont souvent
bouleversées. - Lespoir est davoir les robots complètement
autonomes, robustes et efficaces, capables
dexplorer une planète pour les traces de vie. - Pour ça les rovers doivent être capable du
raisonnement intelligent (par exemple la
planification).
5La Planification
- Pour la planification on doit décider comment de
- modeler le domaine
- la construction dune carte.
- la specification des robots.
- lidentification détat initial.
- la sélection des buts.
- déterminer lhorizon de la planification
- plus long lhorizon, plus fragile le plan.
- plus court lhorizon, plus chère la
planification. - déterminer la structure et linterprétation dun
plan.
6Le Modèle de la Surface de la Planète
- Cest supposé que la carte de la surface de la
planète est construite en avance utilisant les
images du satellite et les images communiquées
par les robots après leurs atterrissages. - Les scientifiques choisissent les traits
dintérêt scientifiques dans les images. - Ils constatent aussi la topographie de la
surface, les positions des robots et les chemins
possibles pour les robots. - La carte nest pas parfaite, parce que les images
sont bruitées, mais cest un représentation de la
surface de la planète qui peut être utilisé pour
la planification.
7Le Specification des Robots
- Les robots ont plusieurs capacités
- ils peuvent prendre les images,
- ils peuvent sampler et analyser le sol,
- ils peuvent arracher et analyser les rochers,
- etc.
- Les robots utilisent lénergie quand ils
fonctionnent. Ils peuvent recharger leurs niveaux
dénergie utilisant leurs panneaux solaires. - Ils bougent lentement (Spirit a une vitesse de
100 m/h, mais il ne peut voyager quenviron 30
mètres par jour en raison des difficultés de
télécommande depuis la terre) . - Pour les modèles de planification on suppose
quil y a plusieurs robots qui peuvent
fonctionner concurremment.
8Les États Initials
- Un état initial pour la planification consiste
des composantes suivantes - les positions des robots sur la carte,
- les endroits accessibles à chacun des robots,
- les distances entre les endroits accessibles sur
la carte, - les niveaux dénergie des robots,
- leurs rythmes de consommation dénergie,
- lheure actuelle,
- les endroits en plein soleil,
- certains événements prévisibles et leurs heures
doccurrence.
9Les Buts
- En général, le but est rassembler autant des
données scientifiques que possible dans une
certaine période de temps. - Pour maximiser leur efficacité les robots
doivent - agir dans une façon concourante
- focaliser sur les buts les plus précieux
- recharger efficacement pour éviter devenir
inutile. - éviter à perdre les ressources.
10Le Modèle Rovers(utilisé dans la compétition
2002)
- Le langage utilisé dans la compétition 2002 est
PDDL2.1. - Le modèle consiste à trois composantes
- Les opérations possibles dans le domaine (le
fichier du domaine) - Les propositions qui sont vraies dans létat
initial - Les propositions qui doivent être atteintes.
- Les dernières deux composantes forment le fichier
du problème.
11Les Operations en PDDL2.1
(durative-action navigateparameters (?x -
rover ?y - waypoint ?z - waypoint) duration (
?duration 5)condition (and (over all
(can_traverse ?x ?y ?z)) (at start
(available ?x)) (at start (at ?x ?y))
(at start (gt (energy ?x) 8))(over all
(visible ?y ?z)) )effect (and (at start
(decrease (energy ?x) 8)) (at
start (not (at ?x ?y))) (at end (at ?x ?z))))
Start Preconditions (available x) (at x y) (gt
(energy x) 8)
End preconditions
)
)
End effects (at x z)
Start effects (decrease (energy ?x) 8)) (not (at
x y))
Les intervalles de vérité sont ouverts à droit et
fermés à gauche.
12Consommation dEnergie
Dans le modèle lénergie est consommée quand
laction commence, malgré que, en réalité,
lénergie soit consommée par une fonction de
temps.
n
k
Niveau de ressource r
0
decrease r k
time
0
t
t2
t1
13Laction de recharger
(durative-action rechargeparameters (?x -
rover ?w - waypoint)duration ( ?duration (/ (-
80 (energy ?x)) (recharge-rate ?x)))condition
(and (at start (at ?x ?w)) (over all (at ?x ?w))
(at start (in_sun ?w)) (at
start (lt (energy ?x) 80)))effect (and (at end
(increase (energy ?x)
( ?duration (recharge-rate ?x))))))
(r-k)m
m ( (tn-ti) (recharge-rate ?x)))))
r
r-k
tj
tk
tn
ti
14Une Action de Communication
(durative-action communicate_image_data
parameters (?r - rover ?l - lander ?o -
objective ?m - mode ?x - waypoint
?y - waypoint) duration ( ?duration 15)
condition (and (over all (at ?r ?x)) (over all
(at_lander ?l ?y)) (at start
(have_image ?r ?o ?m)) (at
start (visible ?x ?y)) (at start (available ?r))
(at start (channel_free ?l))
(at start (gt (energy ?r) 6))
) effect (and (at start (not (available
?r))) (at start (not (channel_free
?l))) (at end (channel_free ?l))
(at end (communicated_image_data ?o
?m)) (at end (available ?r))
(at start (decrease (energy ?r) 6))
))
15Les Effets Discrets
- Avec le langage de base de PDDL2.1 on ne peut pas
exprimer les effets continus. - Les changements numériques sont modélisés par
les fonctions discrètes, au début, ou à la fin,
dune action. - Les vrais niveaux des quantités ne sont pas
accessibles pendant lintervalle dune action. - On ne peut quexprimer les durées prédéterminées,
utilisant les constantes ou les fonctions des
niveaux déjà connues.
16Les Effets Continus
- Les durées indéterminées sont très puissantes,
parce quelles accèdent les points de temps
arbitraires. - On peut approximer une fonction continue
utilisant un nombre arbitraire de segments
lineares. - Elle sappelent les fonctions lineares par
morceaux.
On peut accèder les valeurs entre les périodes
de changement. On peut combiner facilement
les fonctions lineares par morceaux.
17Modélisme des Effets Continus
- Cest facile détendre le langage pour modeler
les effets continus. - Il y existe plusieurs propositions pour telles
additions, mais - Il ny existe pas les planificateurs qui peuvent
raisonner efficacement avec les effets continus. - Donc, létat de lart est actuellement limité Ã
la gestion des effets discrets.
18Un Problème de Rovers
(define (problem roverprob4621) (domain
Rover)(objects general - Lander colour
high_res low_res - Mode rover0 rover1 rover2
rover3 rover4 rover5 - Rover rover0store
rover1store rover2store rover3store rover4store
rover5store - Store waypoint0 waypoint1
waypoint2 waypoint3 waypoint4 waypoint5 waypoint6
waypoint7 waypoint8 waypoint9
waypoint10 waypoint11 waypoint12 waypoint13
waypoint14 waypoint15 waypoint16
waypoint17 waypoint18 waypoint19 -
Waypoint camera0 camera1 camera2 camera3 camera4
camera5 camera6 - Camera objective0 objective1
objective2 objective3 objective4 objective5
objective6 - Objective )(init (visible
waypoint0 waypoint1)... (500 propositions) ... )
(goal (and (communicated_soil_data
waypoint14)(communicated_soil_data waypoint0)
(communicated_rock_data waypoint4)(communicated_ro
ck_data waypoint7) (communicated_rock_data
waypoint2)(communicated_rock_data waypoint5)
(communicated_rock_data waypoint6)(communicated_im
age_data objective5 colour)
(communicated_image_data objective3
low_res)(communicated_image_data objective2
colour) (communicated_image_data objective4
high_res) ))(metric minimize
(total-time)))
19Le Planificateur LPG(Gerevini et Serina)
- LPG utilise lidée dun action-graph. Cest un
sous-graph dun plan graph du type Graphplan. - Il utilise la recherche locale. Il commence avec
un action-graph initial, dans lequel il ny a
aucunes actions, et il bouge vers une solution
par la sélection et la réparation des défauts. - Le graph peut constater les contraintes
temporelles et les changements dans les niveaux
des quantités numériques. - LPG peut générer un plan de bas qualité très
vite, et il peut améliorer la qualité par
dépenser plus de temps. - La recherche locale est très efficace LPG peut
trouver les plans de bonne qualité pour les
problèmes complexes. - LPG est un planificateur du style Graphplan, avec
la recherche locale parmi les défauts et les
stratégies de réparation des défauts dans le plan.
20Un Plan Simple
Problème 1
0.001 (CALIBRATE ROVER0 CAMERA0 OBJECTIVE1
WAYPOINT3)5.000 5.002 (TAKE_IMAGE ROVER0
WAYPOINT3 OBJECTIVE1 CAMERA0 HIGH_RES)7.000
12.003 (SAMPLE_ROCK ROVER0 ROVER0STORE
WAYPOINT3)8.000 20.004 (NAVIGATE ROVER0
WAYPOINT3 WAYPOINT1)5.000 25.005 (NAVIGATE
ROVER0 WAYPOINT1 WAYPOINT2)5.000 20.006 (DROP
ROVER0 ROVER0STORE)1.00030.007 (SAMPLE_SOIL
ROVER0 ROVER0STORE WAYPOINT2)10.00040.008
(NAVIGATE ROVER0 WAYPOINT2 WAYPOINT1)5.000
45.009 (COMMUNICATE_ROCK_DATA ROVER0 GENERAL
WAYPOINT3 WAYPOINT1 WAYPOINT0)10.000 55.010
(COMMUNICATE_IMAGE_DATA ROVER0 GENERAL OBJECTIVE1
HIGH_RES WAYPOINT1 WAYPOINT0)15.000 70.011
(COMMUNICATE_SOIL_DATA ROVER0 GENERAL WAYPOINT2
WAYPOINT1 WAYPOINT0)10.000
Les buts (and (COMMUNICATED_ROCK_DATA
WAYPOINT3) (COMMUNICATED_IMAGE_DATA OBJECTIVE1
HIGH_RES) (COMMUNICATED_SOIL_DATA WAYPOINT2))
Structure Time (Action) duration Durée
totale 70.01 unités de temps. Séparation 0.001
unité de temps.
21Problème 10
0.001 (CALIBRATE ROVER1 CAMERA2 OBJECTIVE1
WAYPOINT0)5.000 5.002 (NAVIGATE ROVER1
WAYPOINT0 WAYPOINT1)5.000 10.003
(CALIBRATE ROVER1 CAMERA3 OBJECTIVE2
WAYPOINT1)5.000 15.004 (TAKE_IMAGE ROVER1
WAYPOINT1 OBJECTIVE2 CAMERA2 COLOUR)7.000
22.005 (CALIBRATE ROVER1 CAMERA2 OBJECTIVE1
WAYPOINT1)5.000 27.006 (TAKE_IMAGE ROVER1
WAYPOINT1 OBJECTIVE3 CAMERA2 COLOUR)7.000
34.007 (NAVIGATE ROVER1 WAYPOINT1
WAYPOINT0)5.000 0.008 (NAVIGATE ROVER0
WAYPOINT4 WAYPOINT6)5.000 39.009
(TAKE_IMAGE ROVER1 WAYPOINT0 OBJECTIVE3 CAMERA3
LOW_RES)7.000 5.010 (SAMPLE_SOIL ROVER0
ROVER0STORE WAYPOINT6)10.000 15.011
(NAVIGATE ROVER0 WAYPOINT6 WAYPOINT4)5.000
20.012 (NAVIGATE ROVER0 WAYPOINT4
WAYPOINT3)5.000 15.013 (DROP ROVER0
ROVER0STORE)1.000 46.014 (SAMPLE_SOIL
ROVER1 ROVER1STORE WAYPOINT0)10.000 25.015
(SAMPLE_SOIL ROVER0 ROVER0STORE
WAYPOINT3)10.000 35.016 (NAVIGATE ROVER0
WAYPOINT3 WAYPOINT4)5.000 56.017
(COMMUNICATE_IMAGE_DATA ROVER1 GENERAL OBJECTIVE3
LOW_RES WAYPOINT0 WAYPOINT1)15.000 71.018
(COMMUNICATE_SOIL_DATA ROVER0 GENERAL WAYPOINT6
WAYPOINT4 WAYPOINT1)10.000 81.019
(COMMUNICATE_SOIL_DATA ROVER1 GENERAL WAYPOINT0
WAYPOINT0 WAYPOINT1)10.000 91.020
(COMMUNICATE_SOIL_DATA ROVER0 GENERAL WAYPOINT3
WAYPOINT4 WAYPOINT1)10.000 101.021
(COMMUNICATE_IMAGE_DATA ROVER1 GENERAL OBJECTIVE2
COLOUR WAYPOINT0 WAYPOINT1)15.000 0.022
(NAVIGATE ROVER3 WAYPOINT1 WAYPOINT0)5.000
0.023 (SAMPLE_ROCK ROVER2 ROVER2STORE
WAYPOINT3)8.000 5.024 (NAVIGATE ROVER3
WAYPOINT0 WAYPOINT4)5.000 8.025 (NAVIGATE
ROVER2 WAYPOINT3 WAYPOINT5)5.000 10.026
(SAMPLE_SOIL ROVER3 ROVER3STORE
WAYPOINT4)10.000 20.027 (NAVIGATE ROVER3
WAYPOINT4 WAYPOINT0)5.000 20.028 (DROP
ROVER3 ROVER3STORE)1.000 25.029
(SAMPLE_ROCK ROVER3 ROVER3STORE WAYPOINT0)8.000
116.030 (COMMUNICATE_ROCK_DATA ROVER2
GENERAL WAYPOINT3 WAYPOINT5 WAYPOINT1)10.000
126.031 (COMMUNICATE_SOIL_DATA ROVER3 GENERAL
WAYPOINT4 WAYPOINT0 WAYPOINT1)10.000
126.032 (NAVIGATE ROVER2 WAYPOINT5
WAYPOINT3)5.000 136.033 (NAVIGATE ROVER3
WAYPOINT0 WAYPOINT4)5.000 131.034
(NAVIGATE ROVER2 WAYPOINT3 WAYPOINT4)5.000
136.035 (COMMUNICATE_IMAGE_DATA ROVER1 GENERAL
OBJECTIVE3 COLOUR WAYPOINT0 WAYPOINT1)15.000
8.036 (DROP ROVER2 ROVER2STORE)1.000
151.037 (COMMUNICATE_ROCK_DATA ROVER3 GENERAL
WAYPOINT0 WAYPOINT4 WAYPOINT1)10.000
136.038 (SAMPLE_ROCK ROVER2 ROVER2STORE
WAYPOINT4)8.000 144.039 (DROP ROVER2
ROVER2STORE)1.000 144.040 (RECHARGE
ROVER2 WAYPOINT4)4.857 148.898 (NAVIGATE
ROVER2 WAYPOINT4 WAYPOINT1)5.000 153.899
(SAMPLE_ROCK ROVER2 ROVER2STORE WAYPOINT1)8.000
161.900 (NAVIGATE ROVER2 WAYPOINT1
WAYPOINT4)5.000 166.901
(COMMUNICATE_ROCK_DATA ROVER2 GENERAL WAYPOINT4
WAYPOINT4 WAYPOINT1)10.000 176.902
(COMMUNICATE_ROCK_DATA ROVER2 GENERAL WAYPOINT1
WAYPOINT4 WAYPOINT1)10.000
22(No Transcript)