Service Robotics Software Engineering

Sammanfattning: Context. Robots are increasingly becoming involved in our lives and currently, teams of service robots cooperate to support humans by performing useful, repetitive, or dangerous tasks. However, engineering the robots’ software to ensure their robustness and autonomy has become a bottleneck in their development, mainly due to the inherent complexity of the domain. Service robots typically operate in partially constrained environments—often populated by humans—and provide many services for which they require a blend of hardware and software components. This requires developers to possess a diversity of expertise stemming from different disciplines. Building software with the ability to be changed, customized, or configured to fit different contexts, environments, or purposes is one of the core means to address these challenges. Unfortunately, software engineering has been mostly considered an auxiliary concern in the robotics community in the past. Objective. The objective of this thesis is to investigate practices and challenges in service robotics software engineering to provide guidance for practitioners and researchers as well as to engineer solutions for some of the challenges we identified. Method. Our research methodology combines knowledge-seeking and solution-seeking research. The former’s aim is to learn about a specific phenomenon; in this case, the state-of-the-art and -practice in service robotics software engineering. With this aim, we conducted interviews with practitioners, an online questionnaire, and a systematic literature review. The goal of solution-seeking research is to solve problems within a specific context, for which we designed solutions. The research for this thesis has been conducted in the context of a European project in collaboration with industrial partners. This allowed us to identify software engineering problems in the service robotics industry and validate our solutions in real-world scenarios and robots. Results. We outline with our empirical results the current practices, characteristics, and challenges of service robotics software engineering. We found that the most pressing challenges are validating and achieving the robustness of autonomous systems, especially those whose behavior and control systems are intended to be changeable, configurable, or customizable. The solutions we engineered consist of a software architecture for multi-robot applications (SERA), a domain-specific language for robot mission specification (PROMISE), and a software component that is able to synthesize plans considering only partial knowledge of a robotic application (MAPmAKER). We integrated our engineered solutions into an industry-validated robotic framework that is structured by the premises established for SERA and whose composing modules were validated in terms of flexibility, robustness, and efficiency. Conclusions. Our empirical contributions help to enhance the current empirical understanding in the domain of service robotics software engineering and its practices, characteristics, and challenges with the aim of providing guidance for practitioners and researchers. Our engineered solutions consist of methods and tools whose aim is to support practitioners and researchers in building well-engineered robotic applications and in operating them.

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