Litcius/Paper detail

How do you architect your robots?

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

202032 citationsDOIOpen Access PDF

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-of-the-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.

Topics & Concepts

RobotDe factoOpen sourceArchitectureComputer scienceSoftwareState (computer science)Open source softwareSoftware engineeringSoftware architectureHuman–computer interactionArtificial intelligenceOperating systemLawPolitical scienceAlgorithmArtVisual artsSoftware System Performance and ReliabilitySoftware Engineering ResearchAdvanced Software Engineering Methodologies
How do you architect your robots? | Litcius