Cargando…
Software variability in service robotics
Robots artificially replicate human capabilities thanks to their software, the main embodiment of intelligence. However, engineering robotics software has become increasingly challenging. Developers need expertise from different disciplines as well as they are faced with heterogeneous hardware and u...
Autores principales: | , , , , , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
Springer US
2022
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9789375/ https://www.ncbi.nlm.nih.gov/pubmed/36588914 http://dx.doi.org/10.1007/s10664-022-10231-5 |
_version_ | 1784858939279540224 |
---|---|
author | García, Sergio Strüber, Daniel Brugali, Davide Di Fava, Alessandro Pelliccione, Patrizio Berger, Thorsten |
author_facet | García, Sergio Strüber, Daniel Brugali, Davide Di Fava, Alessandro Pelliccione, Patrizio Berger, Thorsten |
author_sort | García, Sergio |
collection | PubMed |
description | Robots artificially replicate human capabilities thanks to their software, the main embodiment of intelligence. However, engineering robotics software has become increasingly challenging. Developers need expertise from different disciplines as well as they are faced with heterogeneous hardware and uncertain operating environments. To this end, the software needs to be variable—to customize robots for different customers, hardware, and operating environments. However, variability adds substantial complexity and needs to be managed—yet, ad hoc practices prevail in the robotics domain, challenging effective software reuse, maintenance, and evolution. To improve the situation, we need to enhance our empirical understanding of variability in robotics. We present a multiple-case study on software variability in the vibrant and challenging domain of service robotics. We investigated drivers, practices, methods, and challenges of variability from industrial companies building service robots. We analyzed the state-of-the-practice and the state-of-the-art—the former via an experience report and eleven interviews with two service robotics companies; the latter via a systematic literature review. We triangulated from these sources, reporting observations with actionable recommendations for researchers, tool providers, and practitioners. We formulated hypotheses trying to explain our observations, and also compared the state-of-the-art from the literature with the-state-of-the-practice we observed in our cases. We learned that the level of abstraction in robotics software needs to be raised for simplifying variability management and software integration, while keeping a sufficient level of customization to boost efficiency and effectiveness in their robots’ operation. Planning and realizing variability for specific requirements and implementing robust abstractions permit robotic applications to operate robustly in dynamic environments, which are often only partially known and controllable. With this aim, our companies use a number of mechanisms, some of them based on formalisms used to specify robotic behavior, such as finite-state machines and behavior trees. To foster software reuse, the service robotics domain will greatly benefit from having software components—completely decoupled from hardware—with harmonized and standardized interfaces, and organized in an ecosystem shared among various companies. |
format | Online Article Text |
id | pubmed-9789375 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2022 |
publisher | Springer US |
record_format | MEDLINE/PubMed |
spelling | pubmed-97893752022-12-27 Software variability in service robotics García, Sergio Strüber, Daniel Brugali, Davide Di Fava, Alessandro Pelliccione, Patrizio Berger, Thorsten Empir Softw Eng Article Robots artificially replicate human capabilities thanks to their software, the main embodiment of intelligence. However, engineering robotics software has become increasingly challenging. Developers need expertise from different disciplines as well as they are faced with heterogeneous hardware and uncertain operating environments. To this end, the software needs to be variable—to customize robots for different customers, hardware, and operating environments. However, variability adds substantial complexity and needs to be managed—yet, ad hoc practices prevail in the robotics domain, challenging effective software reuse, maintenance, and evolution. To improve the situation, we need to enhance our empirical understanding of variability in robotics. We present a multiple-case study on software variability in the vibrant and challenging domain of service robotics. We investigated drivers, practices, methods, and challenges of variability from industrial companies building service robots. We analyzed the state-of-the-practice and the state-of-the-art—the former via an experience report and eleven interviews with two service robotics companies; the latter via a systematic literature review. We triangulated from these sources, reporting observations with actionable recommendations for researchers, tool providers, and practitioners. We formulated hypotheses trying to explain our observations, and also compared the state-of-the-art from the literature with the-state-of-the-practice we observed in our cases. We learned that the level of abstraction in robotics software needs to be raised for simplifying variability management and software integration, while keeping a sufficient level of customization to boost efficiency and effectiveness in their robots’ operation. Planning and realizing variability for specific requirements and implementing robust abstractions permit robotic applications to operate robustly in dynamic environments, which are often only partially known and controllable. With this aim, our companies use a number of mechanisms, some of them based on formalisms used to specify robotic behavior, such as finite-state machines and behavior trees. To foster software reuse, the service robotics domain will greatly benefit from having software components—completely decoupled from hardware—with harmonized and standardized interfaces, and organized in an ecosystem shared among various companies. Springer US 2022-12-24 2023 /pmc/articles/PMC9789375/ /pubmed/36588914 http://dx.doi.org/10.1007/s10664-022-10231-5 Text en © The Author(s) 2022 https://creativecommons.org/licenses/by/4.0/Open AccessThis article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/ (https://creativecommons.org/licenses/by/4.0/) . |
spellingShingle | Article García, Sergio Strüber, Daniel Brugali, Davide Di Fava, Alessandro Pelliccione, Patrizio Berger, Thorsten Software variability in service robotics |
title | Software variability in service robotics |
title_full | Software variability in service robotics |
title_fullStr | Software variability in service robotics |
title_full_unstemmed | Software variability in service robotics |
title_short | Software variability in service robotics |
title_sort | software variability in service robotics |
topic | Article |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9789375/ https://www.ncbi.nlm.nih.gov/pubmed/36588914 http://dx.doi.org/10.1007/s10664-022-10231-5 |
work_keys_str_mv | AT garciasergio softwarevariabilityinservicerobotics AT struberdaniel softwarevariabilityinservicerobotics AT brugalidavide softwarevariabilityinservicerobotics AT difavaalessandro softwarevariabilityinservicerobotics AT pelliccionepatrizio softwarevariabilityinservicerobotics AT bergerthorsten softwarevariabilityinservicerobotics |