Ros1 - ros2 migration

In a few years, every company using ROS should migrate to ROS2. However, it’s disappointing that there aren’t enough resources to assist the community in transitioning from ROS1. While there are numerous tutorials on ROS bridges, they often fall short of being truly helpful. Consider a major company with all its code in Python2 and Ubuntu 16, now facing the challenge of migrating its entire codebase from Kinetic to ROS2 Humble. What’s the best approach? Should we completely rewrite the codebase in ROS2? Or should we follow a more gradual path from Kinetic to Noetic, then use ros1_bridge to transition to Foxy and finally to Humble? Another possibility is leveraging docker networking; can we connect a Kinetic container to a Humble container? The real solution remains elusive, as it seems many in the ROS community are avoiding a definitive answer to this complex issue. Is there a real solution?

I agree that this is a difficult task and that ultimately, is needed unless people do something like “dockerizing” all their applications. This removes the issue of Noetic not being compatible after Ubuntu 20.

However, I don’t think there is a one-fits-all solution since it depends so much on the needs of the people maintaining and developing their code.

I personally don’t recommend over-relying on the ros1_bridge since I’ve experienced perfomance issues with it, so I lean more towards a “if it’s not broken, don’t fix it” mentality.

Here are the tips the ROS org provides: Migrating from ROS 1 to ROS 2 — ROS 2 Documentation: Humble documentation

At the end of the day, migrating means work. In my opinion, people should look at their specific circumstances and decide whether to do it or not.

1 Like

This topic was automatically closed 5 days after the last reply. New replies are no longer allowed.