From Lightweight Automated Planning Toolkit (LAPKT)
Revision as of 23:24, 29 September 2014 by Nirlipo (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

If you want to use FF-parser, compile the libff, run the following commands

cd external/libff
make clean
make depend

If you are a Mac OS X user, run this command to create the final dynamic library

libtool -o libff.a *.o

As Mac OS X don't like static libraries, if you run scons and you get the following error:

ld: library not found for -lcrt0.o

edit the SConstruct and comment (add #) the following line:

common_env.Append( LINKFLAGS = [ '-static' ] )

The Scons script included in examples and planner knows which modules from the toolkit it needs to recompile.

To compile any example go to a specific folder and type


In FD-parser based examples type


The examples for the ‘planner agnostic’ interface can be found on


and cover the following topics:

* agnostic-examples/assembling_strips_problems

    Shows how to define a STRIPS planning problem programatically.

* agnostic-examples/successor_generation
    Discusses the different way of generating successors during search.

* agnostic-examples/bfs
* agnostic-examples/bfs-double-queue 
* agnostic-examples/bfs-double-queue-secondary-heuristic

    Shows how can one assemble available components to deliver a
    planner built around a BFS search engine, with multiple queues and
    secondary heuristics, on a parametrized planning task.

* agnostic-examples/das

    Shows how can one assemble available components to deliver a
    planner built around Deadline Aware Search.

Alternatively, To learn how to ensemble different heuristics go through simple planners like


To learn how to use or create a planner using FD-parser, copy and edit a simple planner like


and to learn how to use or create a planner using FF-parser


or copy and edit a simple Breadth first search planner like


or start from the classic heuristic Search Planner


    Shows how to assemble a best-first search using h_max with multiple modes: greedy/delayed/anytime,
    over a task specified in PDDL and parsed by FF-parser