Effective Engineering of Multi-Robot Software Applications

Sammanfattning: Context: Service robots support humans by performing useful, repetitive or dangerous tasks. The development of service robots comes with severe software engineering challenges, since they require high levels of robustness and autonomy to operate and interact with highly heterogeneous, unconstrained, and partially known environments, often populated by humans. As a domain with critical safety implications, service robotics faces a need for well-engineered software development practices. Objective: The overall objective of this thesis is to establish effective methods and tools for engineering robotic software systems. To this end, our first sub-objective is to empirically determine the state-of-the-art on how software for robots is engineered. Our second sub-objective is then to exploit the data empirically inferred and establish methods and tools— specifically languages, planners, and respective software architectures—that will be integrated into a unique software platform. Method: To achieve our objective, we combine knowledge-seeking research— aiming to learn about robotics software engineering—and solution-seeking research—-aiming to solve identified practical problems for which we engineered solutions. To achieve this combination, we conduct our research in close collaboration with industry. During the knowledge-seeking study, we conduct a series of interviews and created an online questionnaire for robotic practitioners. This research is conducted in the context of a European Project, which gives us the possibility of experiment and validate our solutions in collaboration with two companies and their robots. Results and Conclusions: This thesis provides four main results that build upon each other. First, we provide an assessment of robotics software engineering, where we identify applied practices, their characteristics, as well as recurrent challenges and solutions. Second, we propose SERA, a software architecture and platform for robotic applications that support human-robot collaboration, as well as the configuration of single- and multi-robot systems in a decentralized fashion. Third, we introduce PROMISE, a domain-specific language that enables domain experts to specify missions on a high level of abstraction for teams of autonomous robots in a user-friendly way, while having well-defined semantics. Fourth, we present a decentralized temporal logic-based planner for robotic applications, which considers partial knowledge about the environment and the robotic actions’ outcome. Future Work: In the future, we plan to extend SERA to better support users to specify, instantiate, and deploy custom robotic applications. We also plan to empirically assess how practitioners and developers define complex missions for robots. Finally, we plan to investigate more flexible ways of specifying missions that support runtime reconfiguration for multi-robots applications.

  Denna avhandling är EVENTUELLT nedladdningsbar som PDF. Kolla denna länk för att se om den går att ladda ner.