ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A

Missing migration tooling for ROS1 to ROS2?

While there are parallel threads on extending ROS1’s lifespan, @adamsj and others have pointed out it is also useful to consider how to help ROS1 projects migrate to ROS2.

Amazon contributed a migration tool a few years ago but it hasn’t been updated lately. It uses libclang to parse C++ sources and help migrate roscpp API calls.

There is also the ros1_bridge package that translates messages between nodes written for different versions of ROS. It needs to know message types at compile-time and requires some configuration, so it is non-trivial to deploy.

My uninformed approach would be something along the lines of automating setup of the ros1_bridge. This might take the form of a tool that integrates with the build system to translate messages definitions, generate a bridge mapping file, and rebuild the bridge every time the messages change.

Certainly some automation around the ros1_bridge could help lower the barrier to entry.

Other ideas:

1 Like

I also have put together magical_ros2_conversion_tool.


This isn’t an April fools day joke, right?