An algorithm for parsing any planning problem in PDDL format
Switch branches/tags
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
docs issues Apr 5, 2016
domains shop Jul 9, 2015
examples fixed compilation error Sep 16, 2016
testenv added parser Apr 17, 2015
tests shop Jul 9, 2015
Action.cpp added parser Apr 17, 2015
Action.h shop Jul 9, 2015
AgentAction.cpp fixed either May 22, 2015
AgentAction.h added parser Apr 17, 2015
And.cpp shop Jul 9, 2015
And.h shop Jul 9, 2015
Basic.h added parser Apr 17, 2015
CondIter.h added parser Apr 17, 2015
Condition.cpp shop Jul 9, 2015
Condition.h shop Jul 9, 2015
Derived.cpp derived & exists Jun 30, 2015
Derived.h derived & exists Jun 30, 2015
Domain.cpp added parser Apr 17, 2015
Domain.h action precons and effects Oct 22, 2015
EitherType.h fixed either May 22, 2015
Equals.cpp equals May 6, 2015
Equals.h equals May 6, 2015
Exists.cpp derived & exists Jun 30, 2015
Exists.h derived & exists Jun 30, 2015
Filereader.h shop Jul 9, 2015
Forall.cpp shop Jul 9, 2015
Forall.h forall Oct 30, 2015
Function.cpp fixed either May 22, 2015
Function.h added parser Apr 17, 2015
Ground.cpp shop Jul 9, 2015
Ground.h shop Jul 9, 2015
GroundFunc.cpp costs May 15, 2015
GroundFunc.h added parser Apr 17, 2015
HTNMethod.cpp shop Jul 9, 2015
HTNMethod.h shop Jul 9, 2015
HTNOperator.cpp shop Jul 9, 2015
HTNOperator.h shop Jul 9, 2015
Increase.cpp derived Jun 23, 2015
Increase.h shop Jul 9, 2015
Instance.h multiple instances Sep 6, 2016
Lifted.cpp shop Jul 9, 2015
Lifted.h shop Jul 9, 2015
NetworkNode.cpp added parser Apr 17, 2015
NetworkNode.h added parser Apr 17, 2015
Not.cpp shop Jul 9, 2015
Not.h shop Jul 9, 2015
Oneof.cpp oneofs May 15, 2015
Oneof.h shop Jul 9, 2015
Or.cpp shop Jul 9, 2015
Or.h shop Jul 9, 2015
ParamCond.cpp fixed either May 22, 2015
ParamCond.h shop Jul 9, 2015
README.md added parser Apr 17, 2015
SConstruct added parser Apr 17, 2015
Task.cpp shop Jul 9, 2015
Task.h shop Jul 9, 2015
TemporalAction.cpp temporal Jul 22, 2015
TemporalAction.h temporal Jul 22, 2015
TokenStruct.h added parser Apr 17, 2015
Type.h fixed parse bug for constants Sep 6, 2016
TypeGround.cpp added parser Apr 17, 2015
TypeGround.h added parser Apr 17, 2015
When.cpp added parser Apr 17, 2015
When.h shop Jul 9, 2015

README.md

universal-pddl-parser

An algorithm for parsing any planning problem in PDDL format.

Currently supports STRIPS planning, temporal planning, multiagent planning.

Compiling with "scons" creates an executable "Domain".

Compiling with "scons tests" runs a series of automated tests on actual planning domains.

The "Domain" and "Instance" classes provide limited support for creating PDDL domains:

  • creating types
  • creating constants
  • adding predicates
  • adding functions
  • adding actions
  • adding preconditions and effects of actions
  • adding objects
  • adding initial and goal states

However, more complicated constructs (such as forall and when) currently have to be implemented manually. These classes include a method "PDDLPrint" for printing the resulting domains in PDDL format.

The file "examples/compileSHE.cpp" provides an example of how to create a PDDL domain from an existing temporal domain. This is the compilation used in the following paper:

Sergio Jimenez, Anders Jonsson, Hector Palacios (2015) Temporal Planning With Required Concurrency Using Classical Planning International Conference on Automated Planning and Scheduling (ICAPS)

Compiling with "scons TPSHE" creates an executable "examples/compileSHE".

The file "examples/serialize.cpp" provides an example of how to create a PDDL domain from an existing multiagent domain. This is the compilation used in the following paper:

Matthew Crosby, Anders Jonsson and Michael Rovatsos (2014). A Single-Agent Approach to Multiagent Planning. European Conference on Artificial Intelligence (ECAI)

Compiling with "scons serial" creates an executable "examples/serialize".