Planners

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 performing planners at the recent International Planning competition and can be used to gain familiarity with simple Strips domains such as the blocks world.

Sapa

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 /projects/null/ai/planners/sapa/sapa1.0.zip

Click on Sapa's Java Applet and select User Guide for a brief description of the gui.

LPG

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.

Sample Domains

The LPG download contains sample domains that can be used for both planners. More can be found at http://www.dur.ac.uk/d.p.long/competition.html.

PDDL

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.