In the world of modern robotics, the ability to rapidly integrate new components and maintain reliable systems is crucial. Within this context, understanding the transition from ROS to ROS2 is essential as the Robot Operating System (ROS) framework has played a fundamental role for years, both in research and in industrial development. The transition from ROS to ROS2 involves adapting to new technologies and methodologies.
However, with the official end of support for ROS 1 in May 2025, many companies now face an unavoidable decision: the migration to ROS 2.
In this article, we share our firsthand experience and the benefits we observed during the transition from ROS to ROS2, aiming to provide useful recommendations.
ROS: A Framework with limitations
ROS is not a true operating system, but rather a modular communication framework based on the publisher-subscriber paradigm, enabling various software components to communicate with one another. Originally developed in an academic context, it has long served as an open and resource-rich platform.
The ease of dividing code into independent modules facilitated its rapid adoption in the industrial domain as well. However, ROS 1 was not designed with the safety, scalability, and real-time requirements needed for many production-level applications in industry.

ROS 2: From Academia to Industry
ROS 2 was born from the need to overcome the limitations of ROS 1 and to be applicable in industrial processes, providing enhanced flexibility, improved performance, and increased safety.
Unlike ROS 1, it offers:
- A distributed, non-centralized architecture
- A communication system based on DDS (Data Distribution Service), allowing the selection of the most suitable technology for each context
- Significant improvements in security and real-time capabilities
- New features such as lifecycle nodes and advanced Quality of Service (QoS) management

At Aitronik, we had already designed a flexible software architecture
Our code is structured to be ROS-agnostic, with a separate interface layer. Thanks to this approach, we were able to complete the migration to ROS 2 in just one month at the beginning of 2022.
We simply replaced the ROS layer (which constitutes a minor portion of the codebase) with an equivalent ROS 2-based layer during the transition from ROS to ROS2, leaving the rest of the system untouched. This strategic choice proved successful, as the majority of our code remains agnostic to the middleware.
Due to its features, ROS 2 has proven particularly useful in contexts such as:
- Rapid prototyping
- Access to new community-developed functionalities
- Advanced logging and data analysis
- DDS configuration tailored for low-bandwidth applications
However, it must be used with caution. The Quality of Service (QoS) configuration, the absence of a centralized parameter server, and the wide variety of communication layers demand experience and precision to avoid misconfigurations, which can make the transition from ROS to ROS2 more challenging to adopt.
Our Recommendations for Companies Facing the Migration
If you are approaching the transition to ROS 2, consider the following:
- Lack of a centralized structure implies the absence of a global parameter server. While this may initially seem like a drawback, it introduces the opportunity to associate parameters with individual nodes (via namespaces), avoiding conflicts and enabling more organized parameter management.
- Node launch system improvements now support three formats: Python, XML, and YAML. We recommend using Python, as it allows for the integration of additional libraries during the launch process, enabling more customized execution workflows.
- Running multiple nodes within a single process, which in ROS 1 was handled via nodelets, is now achieved using the node composition system. This allows developers to write code once without distinguishing between standard nodes and components. At runtime, it’s then possible to decide whether to assign each node to a separate process or to compose multiple nodes into one.
- DDS offers a wide degree of flexibility and customization, but it requires careful configuration. This makes the transition to ROS 2 particularly challenging in scenarios characterized by limited bandwidth and high communication latency.
Our Commitment as OSRA Members
As official members of OSRA (Open Source Robotics Alliance), we actively contribute to the development of the open-source robotics ecosystem. The Alliance represents an international network of companies and organizations that believe in a transparent, collaborative, and interoperable future for robotics.
Being part of OSRA means:
- Sharing best practices and guidelines with leading global players in the field
- Participating in the definition of future standards
- Contributing to the development of tools, packages, and libraries that benefit the global community
Conclusion
ROS 2 marks a new era in robotics: more flexible, performant, and secure. For a company, investing in a structured and informed transition from ROS to ROS2 is not just a necessity due to ROS 1’s deprecation—it is a strategic choice to remain competitive.
Our experience demonstrates that a proactive and methodical approach not only reduces the risks of transition but also unlocks new opportunities for innovation.
By building scalable architectures with flexibility in mind, we position ourselves to adapt to a constantly evolving market—and simultaneously lay the groundwork for the robotics systems of tomorrow.