Here are two different temporal planners to consider experimenting with.
Sapa deals with temporal domains, and specifically only Time and Complex.
LPG deals with several domains including Strips, Numeric, HardNumeric,
SimpleTime, and Time. Sapa, which is written in Java, has a nice graphical interface
that presents a plan in
a table showing actions and time intervals, as well as plenty of more information
about constraints and dependencies. LPG, which is written in C, was one of the best
at the recent International Planning competition and can be used to gain
familiarity with simple Strips domains such as the blocks world.
Information on Sapa can be found at
http://rakaposhi.eas.asu.edu/sapa.html/. "Sapa: A Domain-Independent Heuristic Metric
Temporal Planner" is a good paper to read first to understand the planner.
The source code and readme on how to compile and run can be obtained
at /projects/ai/planners/sapa. In order to run it there, people will need
to set their class paths at the command line as done below.
java -cp /projects/ai/planners/sapa/ myplanner.Planner
It's a pain for window users to use the gui in this way (at least Tal
says that he gets a slow and messed up version through reflectionX).
He finds it easiest to just compile his own version and run it directly
from his machine. For those that wish, the code is available in
Click on Sapa's Java Applet and
select User Guide
for a brief description of the gui.
Information on LPG can be found at
http://prometeo.ing.unibs.it/lpg/. The link at the top of the page leads to a
download which contains the executable plus the Satellite domain for Strips, Numeric,
HardNumeric, SimpleTime, and Time.
The LPG download contains sample domains that can be used for both planners.
More can be found at
It is necessary to know PDDL to understand the planning domains. A description of
PDDL can be found at
http://www.dur.ac.uk/d.p.long/competition.html. It is probably best to click
on PDDL2.1, and first read what is in the "earlier version" link followed by
the additions in PDDL2.1 which describe temporal annotations.