Skip to content

this helps to communication between two ros2 nodes running over different network or anywhere in the world

License

Notifications You must be signed in to change notification settings

ia969/ros2-communication-between-different-networks

Repository files navigation

Remote Communication between Two ROS2 Devices Connected over Different Networks (tested on Ubuntu 18.04 and ROS2 dashing)

Introduction

In order to enable ROS2 communication over two different internet networks you must need to have the Public IP and enable the Port Forward on the host pc.

This documentation provides a step-by-step guide for enabling remote communication between two ROS2 devices connected over different networks using Zenoh. The process involves downloading Zenoh on both devices, setting up routers (obtaining public ip and opening port) for host PC, and running ROS packages with Zenoh plugins.

Step 1: Clone respository, need to be done on both devices Host and Client

clone the repositry using git clone
cargo build --release -p zplugin-dds
cargo build --release -p zenoh-bridge-dds
rosdep install --from-paths . --ignore-src -r -y
colcon build --packages-select zenoh_bridge_dds --cmake-args -DCMAKE_BUILD_TYPE=Release

For more details are updated version, refer to Zenoh Plugin DDS GitHub - Zenoh DDS for ROS 2

Step 2: Set Up Routers, Need to done only for the router connected with Host Note: We used Fritz box router and telekom network

Connect to the FritzBox router and log in to the GUI. Navigate to Internet > Account Information > Settings. write any name for "Internet service provider." Enter "internet.t-d1.de" in the "APN" text box. Press Apply and wait for the public IP.

Now, Go to Internet > Permit Access > Port Sharing. Set port forwarding for 7440

Step 3: Run Zenoh Plugins and ros exectuable.
For Host PC

./target/release/zenoh-bridge-dds -l tcp/0.0.0.0:7448
ros2 run turtlesim turtlesim_node

For Client PC

./target/release/zenoh-bridge-dds -e tcp/<Public Ip of host pc or DNS>:7440
ros2 run turtlesim turtle_teleop_key 

About

this helps to communication between two ros2 nodes running over different network or anywhere in the world

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published