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.
Cite
CITATION STYLE
Malavolta, I., Lewis, G., Schmerl, B., Lago, P., & Garlan, D. (2020). How do you architect your robots? State of the practice and guidelines for ros-based systems. In Proceedings - International Conference on Software Engineering (pp. 31–40). IEEE Computer Society. https://doi.org/10.1145/3377813.3381358
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.