How do you architect your robots? State of the practice and guidelines for ros-based systems

Ivano Malavolta, Grace Lewis, Bradley Schmerl, Patricia Lago, David Garlan

Research output: Chapter in Book / Report / Conference proceedingConference contributionAcademicpeer-review

312 Downloads (Pure)

Abstract

The Robot Operating System (ROS) is the de-facto standard for robotic software. If on one hand ROS is helping roboticists, e.g., by providing a standardized communication platform, on the other hand ROS-based systems are getting larger and more complex and could benefit from good software architecture practices. This paper presents an observational study aimed at (i) unveiling the state-ofthe- practice for architecting ROS-based systems and (ii) providing guidance to roboticists about how to properly architect ROS-based systems. To achieve these goals, we (i) build a dataset of 335 GitHub repositories containing real open-source ROS-based systems, (ii) mine the repositories for extracting the state of the practice about how roboticists are architecting them, and (iii) synthesize a catalog of 49 evidence-based guidelines for architecting ROS-based systems. The guidelines have been validated by 77 roboticists working on real-world open-source ROS-based systems.

Original languageEnglish
Title of host publicationICSE-SEIP 2020
Subtitle of host publicationProceedings of the ACM/IEEE 42nd International Conference on Software Engineering
PublisherIEEE Computer Society
Pages31-40
Number of pages10
ISBN (Electronic)9781450371230
DOIs
Publication statusPublished - Jun 2020
Event42nd ACM/IEEE International Conference on Software Engineering: Software Engineering in Practice, ICSE-SEIP 2020 - Virtual, Online, Korea, Republic of
Duration: 27 Jun 202019 Jul 2020

Publication series

NameProceedings - International Conference on Software Engineering
ISSN (Print)0270-5257

Conference

Conference42nd ACM/IEEE International Conference on Software Engineering: Software Engineering in Practice, ICSE-SEIP 2020
Country/TerritoryKorea, Republic of
CityVirtual, Online
Period27/06/2019/07/20

Funding

This research is partially supported by the Dutch Research Council (NWO) through the OCENW.XS2.038 grant. This material is based upon work funded and supported by the Department of Defense under Contract No. FA8702-15-D-0002 with Carnegie Mellon University for the operation of the Software Engineering Institute, a federally funded research and development center (DM19-0986), and on research sponsored by AFRL and DARPA under agreement nr. FA8750-16-2-0042. The U.S. Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright notation thereon. The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the AFRL, DARPA or the U.S. Government. Thanks to Jarrett Holtz and Selva Samuel for their comments on parts of the paper.

FundersFunder number
Dutch Research Council
U.S. Department of DefenseFA8702-15-D-0002
Defense Advanced Research Projects AgencyFA8750-16-2-0042
Air Force Research Laboratory
Carnegie Mellon UniversityDM19-0986
Nederlandse Organisatie voor Wetenschappelijk OnderzoekOCENW.XS2.038

    Fingerprint

    Dive into the research topics of 'How do you architect your robots? State of the practice and guidelines for ros-based systems'. Together they form a unique fingerprint.

    Cite this