In Magazino, each robot is given a prioritized list of jobs to perform, and each of them is associated with a hand-written plan, encoded using a behavior tree formalism.
This solution has a few drawbacks: handwriting of the behavior trees requires expert knowledge and quite some brain power to be carried out without mistakes. This makes the writing tedious and the maintenance and update complex and error prone. For example, in addition to take into account the possible failures and unexpected events, such plans need to be crafted considering that the executor might get restarted at any point in time, losing and thus needing to reconstruct the world and internal states. Finally, the behavior trees are typically rather complex and they are not suitable to be analyzed or manipulated by some high-level reasoning mechanism.
In this context, planning techniques can be used to guide the user to design the complex plans required to accomplish the tasks the robot is given, and to follow their execution taking into account the automatic recovery from unforeseen circumstances, e.g., after a failure has occurred.