Getting Started with ROS2: Why ROS2?

Part 2 of our “Getting Started with ROS2” Series

Sagar Kumar
Spinor
4 min readMay 9, 2024

--

Welcome, fellow readers, to our series “Getting Started with ROS2”! In this series, we aim to provide you with a comprehensive introduction to ROS2 and will guide you through the fundamentals, its key concepts, and practical applications. If you have never used the Robot Operating System(ROS) before, even ROS1, or if you want a practical and quick refreshment of the basics then this series is for you. Feel free to explore the links provided for a more in-depth understanding of the concepts discussed.

In our first article, “Getting Started with ROS2: An Introduction”, we laid the groundwork by introducing you to the basic concepts of ROS2. Now, in our second article, we dig deeper into the rationale behind using ROS2, exploring its advantages and how it compares to its predecessor, ROS1. So let’s get started!

Difference between ROS1 and ROS2

Here’s a table summarizing the differences between ROS1 and ROS2:

This table provides a concise overview of the differences between ROS1 and ROS2, highlighting the key improvements and changes in ROS2 compared to its predecessor.

As you can see, the improvements over ROS1 are significant, addressing many of the limitations and challenges faced by developers in ROS1. Throughout this series, you’ll have the opportunity to see these improvements in practice, through practical examples and demonstrations.

Why Switch to ROS2?

Switching to ROS2 or starting with it for the first time offers several technical advantages over ROS1:

  1. Improved Performance: ROS2 introduces a more efficient middleware (Fast RTPS) that enhances communication performance between nodes.
  2. Enhanced Real-time Capabilities: ROS2 provides better support for real-time systems, crucial for applications requiring precise timing and responsiveness.
  3. Modular Architecture: ROS2’s modular design allows for more flexibility and better resource management, enabling developers to build more complex and scalable systems.
  4. Cross-Platform Compatibility: ROS2 is designed to work seamlessly across different operating systems and hardware platforms, making it easier to deploy on a variety of systems.
  5. Better Security: ROS2 incorporates security features such as encryption and authentication, ensuring that communication between nodes is secure.
  6. Improved Development Tools: ROS2 comes with a set of improved development tools and libraries, making it easier for developers to create and debug their robotic applications.
  7. Ecosystem Growth: The ROS2 ecosystem is continuously growing, with more libraries, tools, and community support becoming available, enhancing the development experience.
  8. Long-term Support: ROS2 is designed with long-term support in mind, providing a stable platform for developing and deploying robotics applications.
  9. Industry Adoption: ROS2 is gaining increasing adoption in industry and research, making it a valuable skill for robotics developers.
  10. Legacy Support: ROS 2 includes a bridge to ROS 1 that handles bidirectional communication between the two systems. If you have an existing ROS 1 application, you can start experimenting with ROS 2 via the bridge and port your application incrementally according to your requirements and available resources.
  11. Future-proofing: With ROS1 approaching its end-of-life, switching to ROS2 ensures that your robotic systems remain compatible with future technologies and standards.

Let’s understand with an example of a real-life robotics problem that was solved in ROS2, building on the improvements over ROS1:

  • Problem: In a warehouse automation scenario using ROS1, coordinating multiple robots to efficiently pick and place items often led to communication bottlenecks and delays due to the centralized nature of the ROS1 master node.
  • The solution in ROS2: With ROS2, the problem was addressed by leveraging the decentralized nature of the communication infrastructure. Each robot now acts as its own ROS2 node, communicating directly with other robots and the central planning system using the publish-subscribe model. This approach reduces latency and improves overall system performance, allowing for more efficient warehouse operations.

In short, the ROS1 is already Dead!

Conclusion

The transition from ROS1 to ROS2 offers a multitude of benefits for robotics developers and researchers. The improvements in performance, real-time capabilities, security, and cross-platform compatibility make ROS2 a compelling choice for building advanced robotic systems. Additionally, the legacy support provided by bridges ensures a smooth transition for existing ROS1 users. As the ROS2 ecosystem continues to grow, it promises to revolutionize the field of robotics and pave the way for even more innovative applications in the future.

If you’ve made it this far, it means you’re not just interested — you’re committed, and we’re delighted to have you here!

Your interest and engagement inspire us to create more content and share knowledge with fellow learners, the community of robotics, and tech enthusiasts who share our passion.

So, thank you for being a part of this journey with us. Stay tuned for more insightful articles, tutorials, and practical examples as we continue our exploration of ROS2 together.

Additional Reading

  1. Changes between ROS 1 and ROS 2
  2. ROS1 vs ROS2, Practical Overview For ROS Developers
  3. Why ROS 2?

--

--

Sagar Kumar
Spinor
Editor for

Sagar is a computer vision and robotics expert with a focus on Perception & Localization | Twitter: twitter.com/sagarcadet | Linkedin: linkedin.com/in/sagark30