The ENHSP Planning System

Abstract

ENHSP, Expressive Numeric Heuristic Search Planner, is a PDDL automated planning system that supports:

Automated planning is what allows intelligent agents to come up with an organisation of actions (typically a sequence) to achieve some sort of goal state starting from an initial state of things.  

Description

The planner reads in input a PDDL domain and problem file, and if you are lucky and your problem is not too complex, it provides you with a plan (a sequence of actions). In the case of planning with processes, the plan is a time-stamped plan (associated to each action, you find the time at which that instance of the action has to be executed). In dealing with autonomous processes, ENHSP discretises the problem (with a delta=1sec by default); so the plan is guaranteed to be valid only with respect to that discretisation. Depending on the problem and configuration, ENHSP can be run to find only optimal plans.

PDDL is the standard de facto language to express planning problems. The domain file expresses the signature of your predicates, functions  (for the support of autonomous processes) and also all the actions/processes/events available, in a parametrized way. The problem file expresses the particular instance of the planning problem (e.g., what is the initial value of predicate A? What is the goal?). For more information on PDDL start from its wikipedia page, and follow the links. ENHSP supports PDDL 2.1 in particular, and PDDL+ (for the support of autonomous processes) and also events. We also allow to employ global constraint as a direct construct of the language (via the :constraint syntax).

Applications

How does it work?

ENHSP transforms the PDDL descriptions into a graph-search problem where nodes represent states visited by the planner. The planner builds this graph in an incremental-forward fashion, and is guided by a heuristic function to explore only those nodes whose associated state is reachable from the init and get the planner closer to the goals. A good heuristic function is crucial for such a kind of approach (see relevant papers), and ENHSP puts a lot of effort in finding heuristics that can reason effectively over numeric problems.

Download and Try the Planner!!

There are three main versions of ENHSP: ENHSP-20, ENHSP-19, ENHSP-18. Hopefully everything will converge into ENHSP-20; doing my best to make this happens at some point.

Click on source or binary to access the system:

What to choose? In general go with ENHSP-20. ENHSP-19 contains some feature, but is going to be deprecated. Only if nothing works, go to ENHSP-18

News! ENHSP can also be found wrapped in Singularity images, downloadable directly from here 


Contact Information

For any kind of issues, curiosity and also just to let me know that you are actually using the planner, send an email to Enrico Scala : enricos83@gmail.com . I am always happy to hear from people using ENHSP.