Proxying ROS communications -- enabling containerized ROS deployments in distributed multi-host environments
This work addresses a specific problem for robotics developers using ROS in complex, multi-host setups, representing an incremental improvement by adapting existing proxy techniques to ROS networking needs.
The paper tackled the challenge of enabling containerized ROS deployments in distributed multi-host environments by analyzing ROS communication protocols and proposing a layer 7 transparent proxy server architecture to facilitate bidirectional communication between containerized and non-containerized ROS nodes.
With the ability to use containers at the edge, they pose a unified solution to combat the complexity of distributed multi-host ROS deployments, as well as individual ROS-node and dependency deployment. The bidirectional communication in ROS poses a challenge to using containerized ROS deployments alongside non-containerized ones spread over multiple machines though. We will analyze the communication protocol employed by ROS, and the suitability of different container networking modes and their implications on ROS deployments. Finally, we will present a layer 7 transparent proxy server architecture for ROS, as a solution to the identified problems. Enabling the use of ROS not only in containerized environments, but proxying ROS between network segments in general.