Plugins

Planner plugins

The planner node runs the plan solver plugins of its plan_solver_plugins parameter. Kairos is the default: it plans every PDDL feature PlanSys2 executes (see PDDL support).

A plugin may say which PDDL requirements it plans with. The planner gives a task only to the plugins that support everything the domain and the problem use, and answers with the reason when none does (for instance, a domain that uses when is not sent to POPF). A plugin that says nothing gets every task.

Planner

Plugin

Highlights

Kairos

(default)

KairosPlanSolver

Default. Everything PlanSys2 executes: ADL, numeric and object fluents, durative actions, timed initial literals and fluents, derived predicates, PDDL+, constraints, preferences, metrics.

POPF

POPFPlanSolver

Numeric fluents; Durative actions; Timed initial literals.

TFD

TFDPlanSolver

Numeric fluents; Durative actions.

OPTIC

OPTICPlanSolver

Numeric fluents; Durative actions; Metrics.

Mips XXL

MIPSPlanSolver

Numeric fluents; Durative actions; Metrics; Negative Preconditions.

LPG-TD

LPGTDPlanSolver

Numeric fluents; Durative actions; Metrics; Negative Preconditions; Disjunctive preconditions.

Fast Downward

DownwardPlanner

Derived predicates; Existential preconditions; Disjunctive preconditions

SymK

SymkPlanner

Derived predicates; Existential preconditions; Disjunctive preconditions

UPF

UPFPlanSolver

Unified Planning Framework

Behavior tree builder plugins

The executor turns each plan into a behavior tree with the plugin of its bt_builder_plugin parameter:

  • STNBTBuilder, the default. It follows the time network of the plan, the start and the end of each action: an action starts as soon as what it needs is done, also when it only needs what another one does at its start.

  • SimpleBTBuilder. It waits for whole actions to end: simpler, less parallel.

  • SequentialBTBuilder. The actions run one after the other, in the order of the plan.

Whatever the builder, a timed plan runs each action at its time in the plan, not before: plans with processes, events, continuous effects, constraints with times or an end (PDDL+), or any plan when the executor’s timed_execution parameter is true.

The assembly with arms of plansys2_bt_example runs the same plan with STN and Simple to compare them.