View on GitHub

Spiderplan

Download this project as a .zip file Download this project as a tar.gz file

What is SpiderPlan?

SpiderPlan is a constraint-based planning framework that allows inclusion of many different types of knowledge into automated planning. It also features execution and comes with an interface to the Robot Operating System (ROS).

Featured Constraint Types & Solvers

Dependencies & Requirements

The following libraries will be fetched from maven when running gradle:

Apart from that Python 2.x is required by some scripts. YAP Prolog (link) is used to solve Prolog constraints. And ROS Hydro (link) is required when ising ROS constraints.

Installation & Test

All commands assume the current folder is the SpiderPlan root folder. The run.sh script will also build the project.

Build:

 ./gradlew build

Run default test case:

 ./run.sh

Running a single problem:

We need to provide a planner definition (.spider) as first argument followed by any number of domain description files (.uddl).

 ./run.sh ./domains/household/planner.spider ./domains/household/domain.uddl ./domains/household/test-cases/test01.uddl

Running an experiment:

Planner definition, domain description and problem folder are specidied in the experiment definition (.experiment). Running the following line will solve all problems with the specified planner and domain and store the results in a .csv file.

 ./run.sh ./domains/household/u0-p1.experiment

Sponsors