ASP planning tools for PDDL (local mirror of for development purposes)
This repository has been archived on 2023-07-19. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2016-08-30 13:05:03 +02:00
apps Version bump after release 3.0.2. 2016-08-18 15:56:29 +02:00
doc Fixed minor issues in output format documentation. 2016-08-26 15:42:39 +02:00
encodings generated some sas files from Rene's PDDL samples 2016-08-28 21:00:05 +02:00
include/plasp Fixed parsing issue with unexpected whitespaces in SAS files. 2016-08-30 13:01:22 +02:00
instances Added a few SAS example instances for testing. 2016-08-29 18:26:59 +02:00
src Hiding mutex group section in output if there are none. 2016-08-30 13:02:00 +02:00
tests Fixed parsing issue with unexpected whitespaces in SAS files. 2016-08-30 13:01:22 +02:00
.gitattributes Hiding example instances from Linguist. 2016-08-30 13:05:03 +02:00
.gitignore Initial commit. 2016-05-20 15:29:24 +02:00
.gitmodules Made git ignore dirty submodules. 2016-05-21 00:37:32 +02:00
.travis.yml Changed Travis configuration to use 3 threads for building. 2016-06-01 22:49:59 +02:00 Fixed parsing issue with unexpected whitespaces in SAS files. 2016-08-30 13:01:22 +02:00
CMakeLists.txt Disabled tests by default. 2016-08-15 02:23:05 +02:00 Changed license to Markdown format. 2016-05-25 12:44:28 +02:00 Fixed typo. 2016-08-15 15:26:34 +02:00

plasp—Translate PDDL to ASP

GitHub Release Build Status Build Status

plasp 3 is in early development and not intended for productive use yet.

plasp translates planning problem instances to ASP facts. plasp 3 supports the input languages PDDL 3.1 (only basic features currently) and SAS (full support of SAS 3), which is used by Fast Downward.

Please get in touch with Patrick Lühne if you have any suggestions.


Translating PDDL to ASP Facts

PDDL instances are translated to ASP facts as follows:

$ plasp domain.pddl problem.pddl

Alternatively, PDDL instances may first be translated to SAS, the output format of Fast Downward.

$ ./ --translate --build=release64 domain.pddl problem.pddl

This creates a file called, which may now be translated by plasp.

$ plasp

Solving the Translated Instance

The translated instance can finally be solved incrementally with clingo and a meta encoding, for instance, pddl-meta-sequential-incremental.lp:

$ plasp domain.pddl problem.pddl > instance.lp
$ clingo encodings/pddl-meta-sequential-incremental.lp instance.lp

Command-Line Interface

$ plasp [files] [options]

plasp automatically detects the language of the input program.

See command-line interface for more details.

Output Format

plasp provides a uniform output format for SAS and PDDL input problems.

See output format for more details.

If you want to write your own meta encoding for plasps output, this simple example encoding gets you started.


plasp requires boost and is built via CMake and a C++ compiler.

See building instructions for more details.


Earlier Versions

  • René Knaebel
  • Murat Knecht