The Platform Economy for Autonomous Mobile Machines Software Development (PEAMS) project is a collaborative effort between industry partners and academic institutions, one of which is the University of Helsinki. Both groups are heavily interested in the Robot Operating System (ROS2), which has been widely adopted by many leading companies in the industry (e.g., NASA) as a technology that facilitates collaboration and rapid development. However, because ROS2 is a relatively young technology, many elements to consider before adopting it are still unknown. This is exactly where our research plays a key role.
Here, at the University of Helsinki, we seek to empower users to assess whether ROS2 is ready for their own usage by evaluating its maturity. Maturity encompasses many diverse aspects, and its definition often varies in research. Nonetheless, we embrace the vagueness and take the initiative to define boundaries of maturity scope for this project based on the needs and feedback of the industry partners.
Our work involves assessing ROS2 from multiple angles. One such aspect comprises the technical qualities of the technology (e.g., reliability). As a result, we have implemented a custom testbed encompassing numerous test cases carefully constructed with the feedback received from the companies allowing us to provide insight into the relevant capabilities and inabilities of ROS2.
Our research also investigated developer experience by focusing on novice users of ROS2. We arranged a project course that simulated real-world software development processes where students had to develop a robotic application. After the project, we carefully interviewed the participants and applied qualitative data analysis methods to understand the pain points of learning and using ROS2 in real-world projects. Such information enabled us to identify what potential development bottlenecks can be expected when ROS2 is adopted by a new user.
Figure 1: Comparison of time interval between sent messages that mimic realt ROS2 message when applying increasing CPU load
Besides that, we took the chance and seized the opportunity to work together with Atostek Oy. Our cooperation produced fruitful results, which yielded a twofold contribution. Initially, we produced a list of existing ROS2-based software development challenges to understand what kind of challenges its users can encounter. After acknowledging the challenges, we applied Atostek Oy’s Flexbot framework, which aims to reduce the development complexity and mitigate some of the challenges with novel development practices. With this work, we demonstrated what issues hinder ROS2 development and how novel practices, in this case, shown by Flexbot, can mitigate some of them and make the process easier and more convenient.
Figure 2: A graph representing the Flexbot framework
We will also put ROS2 into the perspective of larger projects to understand the architectural challenges of ROS2 applications. We will collaborate with the companies to understand how ROS2 architecture is reflected in industry-grade applications and how the technology limits or embraces them. We will also seek to shine a light on ROS2 decentralization capabilities and how well it can support it.
Written by
Niko Mäkitalo
University of Helsinki