ROS1 and ROS2 Interoperability Design Question.

asked 2020-05-12 20:26:11 -0500

adwaraki gravatar image

updated 2022-01-22 16:10:33 -0500

Evgeny gravatar image

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:

  1. 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.?
  2. 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?
  3. 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. :)
edit retag flag offensive close merge delete

Comments

Quick comment: I'd start by looking at the ros2/ros1_bridge package.

gvdhoorn gravatar image gvdhoorn  ( 2020-05-13 02:56:17 -0500 )edit

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.

adwaraki gravatar image adwaraki  ( 2020-05-13 09:38:22 -0500 )edit