pddl-reference

A free and open guide to Planning Domain Definition Language to help you get started

View on GitHub

A PDDL Reference Guide

Go Straight To Contents Report a problem with this guide Join Planning & PDDL Group on Slack

Help Wanted

The PDDL reference guide needs your help

  1. Upload and complete a survey on the PDDL you use
  2. Help us close issues and improve this guide, see how to contribute

Introduction

This reference and guide is here to provide easy access to resources related to the field of AI Planning. AI Planning is difficult to quantify under one roof, due to the variety of ongoing research in the field.

The International Conference on Autonomous Planning and Scheduling has in the course of supporting AI Planning research created a competition for the AI Planning Software (Planners) that have been built to solve AI Planning problems.

This competition, dating from 1998, has defined a general purpose definition language, Planning Domain Definition Language (PDDL), which is designed to be capable of specifying any planning or scheduling problem you could come across.

In reality, PDDL since it’s first incarnation in 1998 has had serious modifications to make it capable of handling the complex tasks we expect of modern autonomous planning and scheduling techniques.

For more details on PDDL, Planning, the history, the usage and the research, see the guide.

Using This Guide

This guide splits into three main sections, guide, reference and examples.

The guide section is here to help the uninitiated get an idea of what planning is and how it can be used. It glazes over technical details where they’re complex and difficult to understand. This is not intended to be a substitute to the copious academic literature written in the subject.

The reference guide itself splits into two sections, one for the language of planners, PDDL. The other section for the planners which can read and solve PDDL problems.

The nature of AI planning and the language means that not all features are supported by all planners and not all techniques are used as often as others. The reference here aims to help with that by firstly showing next to each definition an indication of how well supported the feature is and how commonly used it is.

Support: Universal, High, Medium, Poor

Usage: High, Medium, Low, Rare

For planners, this reference will aim to provide indication of what features are supported by what planners. It also provide useful hints and notes about the quirks and specific issues certain planners have in running certain problems.

Community

To help grow the community and support available to new and experienced users alike, we’ve launched a slack chat, to help connect people working and using planning & PDDL. Drop in and say hello

Contributions, Corrections and Feedback

Contributions are always welcome!

The best way to provide multiple contributions is to request collaborator access to this repository, either via emailing adam.green@kcl.ac.uk or by filing an issue on this repo. You can fork this repository to your GitHub, make changes and file a pull request.

Alternatively, if you are not able to provide a contribution, but maybe think there is something this guide is missing or is incorrect, please add a new issue to this repo, and a correction, or additional will be made based on priority. Please use the “Report a problem with this guide” button available on most pages.

Finally, if you have a planner which you think should be included in this reference guide, please ask for collaborator access or fork the repository (if you’re the creator of the planner), or create an issue (if you’re a user) and we’ll try to include it.

Any other issues/concerns should be sent to adam.green@kcl.ac.uk and I’ll try to get back to you ASAP.

Contents

This site breaks down into two major content sections

Guide

Reference

PDDL

Examples (Coming Soon)

FAQ

Additional Resources

Below you can find a collection of resources for writing, learning and using PDDL and planning. For more information on what these tools and resources are and how they can help, please visit the additional resources page.

References