haz / pddl-reference

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

Home Page:https://planning.wiki

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

layout title permalink nav_order

{% if false %} If you can see this and want to view the reference guide, you're in the wrong place, the reference guide has been rebranded and moved here: https://planning.wiki {% endif %}

Planning.Wiki - The AI Planning & PDDL Wiki

Contributors: {% git_author %}

Join The Planning Community 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


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.


Universal {: .label .label-blue } High {: .label .label-green } Medium {: .label .label-yellow } Poor {: .label .label-red }


High {: .label .label-green } Medium {: .label .label-yellow } Low {: .label .label-red } Rare/None {: .label .label-purple }

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.


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.


This site breaks down into two major content sections

  • the guide - Focuses on what planning is and using planning and planners to solve planning problems
  • the reference - Provides a "handbook" to the language and the planners which solve the problems modelled in said language.


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.



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



Language:Ruby 77.8%Language:Shell 22.2%