Mind the gap: Robotic Mission Planning Meets Software Engineering
In the context of robotic software, the selection of an appropriate planner is one of the most crucial software engineering decisions.
Robot planners aim at computing plans (i.e., blueprint of actions) to accomplish a complex mission. While many planners have been proposed in the robotics literature, they are usually evaluated on showcase examples, making hard to understand whether they can be effectively (re)used for realising complex missions, with heterogeneous robots, and in real-world scenarios. In this paper we propose \NAME{}, which wraps FM-based planners into a comprehensive software engineering framework, which allows considering complex robotic missions. We instantiated \NAME{} by considering (i) realistic maps (e.g, fire escape maps) that describe the environment in which the robots are deployed; (ii) temporal logic for mission specification; and (iii) \mc{} model checker to compute plans that satisfy mission specifications.
We evaluated \NAME{} by analyzing how it supports computing plans in real case scenarios, and by evaluating the generated plans in simulated and real environments. We considered both single-robot and multi-robots applications. The results show that while \NAME{} is adequate for handling single-robot applications, the state explosion still represents a major barrier for reusing existing planners in multi-robot applications. Thus, we argument that additional effort, like the one described in this paper, is needed to fill the gap among FM-based planners and robotic SE-needs.