CSE 473 Project 1
High-level planning for an office delivery robot
Spring 2001
General information
The objective of this project is to gain an understanding of
knowledge-based planning systems. We will program a planning
system using the Planning Domain Definition Language, or PDDL, and
investigate the workings of a planning system (IPP for this
project).
Your task is to implement a planning system for an office delivery
robot in Sieg Hall. Since the planning is performed by the IPP
planner, you can focus on the problem of modeling the task domain.
Take a look at the maps given below. Imagine we want to implement a
robot that is able to perform tasks such as "Bring coffee to Dieter's
office", or "Get the fax, make a copy of it and deliver it to Pete".
As you already saw in the lecture, our robot is able to reliably
navigate from one place to the other (given that they are on the same
floor). For this project, you can make assumptions such as: If the
robot is close enough to the fax machine, it can detect the fax with
its cameras and pick it up with its manipulator.

Maps of the third and fourth floor of Sieg Hall.
Organization
We want you to work in groups of up to three
students. Find partners for your group and send email to Bill Pentney with the names
of the members of your group. Also send mail in case you have
problems finding partners. The project will have two parts. The
first part is due Wednesday, April 25, the second part is due
Wednesday, May 2.
Part 1
This part will serve to acquaint you with planning systems in general,
and IPP in particular. Use PDDL to describe the problem domain
of an office delivery robot. Your robot should be able to perform
tasks such as the ones described above. Use the map given above as a
starting point for your domain. Since the map is incomplete, feel
free to add locations (and problems for the robot). We want you to
explore the capabilities of a state-of-the-art planning system such as
IPP. Surprise us!
At the end of this part, you have to turn in your domain description
(in PDDL) and some example plans generated within this domain.
Furthermore, we need a short (2 pages) description of (a) the
assumptions you made about the capabilities of the robot, (b) the
assumptions you made about the environment, and, (c) how you assigned
real world locations to the places used in your domain. For (c), you
should use the images of the maps (third
floor, fourth floor) and annotate them
with the locations you use in your domain description.
To begin, download the project
package. This package is for UNIX/Linux only. Unpack it by typing
"tar zxvpf 473-proj-1.tar.gz"; the project files will be extracted
into a directory called "473-proj-1". Read the README file
contained within for further instructions. Read the papers given
below.
Part 2
In this part of the project you are supposed to extend your domain to
multiple robot scenarios (at least four robots). You should enforce
collaboration between the different robots. This can be done by having
robots with different capabilities and constraints. Some simple
examples:
-
Only one of the robots is able to use the elevator and this robot
cannot move into the small hallways on the third and fourth floor.
- You need three robots to fill coffee into a mug: one robot
manipulates the coffee pot, another robot holds the mug, and the third
robot uses its vision system to guide the other two robots.
All of your domains should include the constraint that the small
hallways
on the third and fourth floor (larry, zoran, etc.) can only be
traversed
by one robot at a time.
You should turn in the description of your extended domain (hard
copy),
the problem description with example problems and solutions
(electronic),
and a one page description of how graph plan operates.
Additional material
- xgv, a graphical interface for IPP. Download
the binary (Shift-Left-Mouse in netscape) and start it by typing xgv
(doesn't seem to work on all Linux machines).
Readings
You should start by reading Dan Weld's paper [1], which gives a good
introduction to state-of-the-art planning. Papers [2] and [3] describe
PDDL, the problem domain definition language used for this project.
You need to understand this language in order to be able to model the
service robot domain. IPP, the planner used in this project, is
described in [4]. The IPP homepage [5] contains a lot of useful
background information.
[1] Dan Weld's paper Recent advances in AI
planning, AI Magazine, 1999.
[2] Short introduction to PDDL:How to
describe simple planning domains and problems in IPP.
[3] PDDL
manual.
[4] Technical report on IPP.
[5] The
IPP Homepage Information on IPP and various papers on IPP and
planning.
[6] The AI Planning
Competition - 2000