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.