User Tools

Site Tools


Using the FF activity planner

We have included the FF activity planner in your VM. Make sure to update your VM to get the FF planner.

The FF planner takes a domain and a problem file and produces a plan. Both the domain and problem files are specified in the PDDL language.

  • The domain file describes the operators that can be executed
  • The problem file describes the initial conditions and the goal

In order to use the FF planner, open a terminal and write:

ff -o domain.pddl -f problem.pdd

where domain.pddl is the domain file and problem.pddl is the problem file. You need to be in the folder where those files live in order for this to work.


We have included a blocksworld example (analogous to the one David introduced in class).

In this example the following operators are defined:

  • stack(blockA,blockB)
  • pick-from-block(blockA, blockB)
  • pick-from-table(blockA)
  • put-on-table(blockA)

The following predicates are allowed:

  • clear(block)
  • on(blockA,blockB)
  • on-table(block)
  • holding(block)
  • arm-free

This example can be found in the pddl_example folder in home/student/pddl_example

In the example, there are three blocks: red, green, blue. Initially, the red block is on the table, the green block is on the table and the blue block is on the green block. The objective is to have the three blocks stacked as red,green,blue being red the block on top. There is a robot that can perform the operations outlined above, and this robot can only hold one block at a time.

To run this example, navigate to the home/student/pddl_example directory and run:

ff -o blocksworld_domain.pddl -f simpleblocks_problem.pddl

You should see a 5 step solution plan printed in the screen.

ff_planner.txt · Last modified: 2015/10/01 21:23 by efernan