PlanSys2 moves to Kairos and STN šŸš€

Two big changes are coming to PlanSys2: a new default planner, Kairos, and a new default plan BT Builder for the executor, STN.

Kairos is a temporal and numeric PDDL planner developed within the PlanSys2 organization. It does not depend on ROS: it can be used as a C++ library or from the command line.

  • Efficient and robust. On classical, numeric, temporal and robotics benchmarks it solves more problems than LAMA, OPTIC, TFD, POPF and ENHSP under the same limits. Results and method are in the benchmark.
  • Broad PDDL support. It supports PDDL, PDDL2.1 and PDDL3, including negative preconditions, disjunctions, conditional effects, derived predicates, timed initial literals, preferences and object fluents. PDDL+ is on the way. See the feature table.
  • Embedded in PlanSys2. The new plansys2_kairos_plan_solver plugin calls Kairos as a library: no process launched and no files written for each plan. The domain expert also validates domains with Kairos, in under 1 ms.

STNBTBuilder builds the behavior tree that executes a plan from a Simple Temporal Network. It works with the start and end of each action and the time relations between them, so it follows the full semantics of temporal plans (paper).

  • More parallelism. An action starts as soon as the events it depends on have happened, not when every previous action has ended.
  • Required concurrency. It runs plans where one action must happen during another, such as lighting a match while mending a fuse. The previous builder could not.

They will land in Rolling first, and the releases for the other distros will follow.

Feedback is very welcome!!

2 Likes