ROS1 and ROS2 Interoperability Design Question.
Hi ROS-Community, I would like some clarification on how to go about this interoperable design. I will try to be as detailed as possible.
Goal: To have AirSim and ROS communication as real-time as possible.
Current Solution: Airsim-ROS-Pkgs exist that create a bunch of ROS1 nodes to bridge the Airsim-ROS connection.
I am looking to see if I can utilize any of the real-time capabilities of ROS2 to make this more real-time that it is, and to look into the performance and efficiency. Thus far, Airsim and ROS1 work well, making use of the Airsim-ROS-Pkgs.
Questions:
- I know ROS1 and ROS2 can coexist on the same system, but what happens to the tools that go with it? For example, python-
rosdep is for ROS1 and python3-rosdep is for ROS2. The one installed second always overwrites the first one. Are these tools
interoperable? What about rosinstall_generator etc.? - Can ROS1 and ROS2 nodes coexist? If a potential solution to ROS1 and ROS2 interoperability is having two different workspaces, each with their own packages being built and run, can nodes in a ROS1 package talk to nodes in a ROS2 package? What would be the requirement?
- In short, what would be the best way to achieve version interoperability with Airsim ROS1 nodes talking to other ROS2 nodes on a different machine? I know the networking answer to this, I am looking for the interoperability design answer. :)
Quick comment: I'd start by looking at the ros2/ros1_bridge package.
Ah yes, I did look into this, but this answers the communication part of my question, specifically #2. I still am confused about the tool-chain use and such. :) Thank you though.