Service Robotics Software Engineering
Abstract
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.
Parts of work
García, S., Strüber, D., Brugali, D., Berger, T., & Pelliccione, P. (2020, November). Robotics software engineering: A perspective from the service robotics domain. In Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (pp. 593-604). DOI: 10.1145/3368089.3409743. Related artifact: 10.6084/m9.figshare.12376931.v1 García, S., Strüber, D., Brugali, D., Pelliccione, P., & Berger, T. Software Variability in Service Robotics. Submitted and under revision to the special issue "Software Product Lines and Variability-rich Systems" in the journal Empirical Software Engineering (EMSE), 2021. Dragule, S., Gonzalo, S. G., Berger, T., & Pelliccione, P. (2021). Languages for specifying missions of robotic applications. In Software Engineering for Robotics (pp. 377-411). Springer, Cham. ::doi::10.1007/978-3-030-66494-7 Garcıa, S., Menghi, C., Pelliccione, P., Berger, T., & Wohlrab, R. (2018, April). An architecture for decentralized, collaborative, and autonomous robots. In 2018 IEEE International Conference on Software Architecture (ICSA) (pp. 75-7509). IEEE. ::doi::10.1109/ICSA.2018.00017 García, S., Pelliccione, P., Menghi, C., Berger, T., & Bures, T. (2019, October). High-level mission specification for multiple robots. In Proceedings of the 12th ACM SIGPLAN International Conference on Software Language Engineering (pp. 127-140). ::doi::10.1145/3357766.3359535. Related artifact: 10.1145/3365462 Menghi, C., Garcia, S., Pelliccione, P., & Tumova, J. (2018, July). Multi-robot LTL planning under uncertainty. In International Symposium on Formal Methods (pp. 399-417). Springer, Cham. ::doi::10.1007/978-3-319-95582-7_24 Logothetis, M., Karras, G.C., Alevizos, K., Verginis, C.K., Roque, P., Roditakis, K., Makris, A., Garcıa, S., Schillinger, P., Di Fava, A. and Pelliccione, P. A Decentralized Framework for Efficient Cooperation of Heterogeneous Robotic Agents. P. Schillinger, S. García, A. Makris, K. Roditakis, M. Logothetis, K. Alevizos, W. Ren, P. Tajvar, P. Pelliccione, A. Argyros, K. Kyriakopoulos, and D. Dimarogonas. Adaptive Heterogeneous Multi-Robot Collaboration from Formal Task Specifications. Submitted and under revision to the special issue "Intelligent Autonomous Systems" in the Robotics and Autonomous Systems Journal, 2021
Degree
Doctor of Philosophy
University
Göteborgs universitet. IT-fakulteten
Institution
Department of Computer Science and Engineering ; Institutionen för data- och informationsteknik
Disputation
3rd of September 2021, 14:30. Online and room 473, Jupiter Building Hörselgången 5, University of Gothenburg, Campus Lindholmen
Date of defence
2021-09-03
sergio.garcia@gu.se
Date
2021-08-16Author
García, Sergio
Keywords
Autonomous and (Self-)Adaptive Systems
Service Robots
Robotics Software Engineering
Software Architecture
Empirical Research
Model-Driven Engineering
Domain-Specific Languages
Variability
Publication type
Doctoral thesis
ISBN
978-91-8009-410-8
Series/Report no.
202D
Language
eng