-
Notifications
You must be signed in to change notification settings - Fork 48
Description
Describe the bug
I have two devices connected by ethernet, on the client side some nodes are running that consume their topics and services from the host (router), both the host and the client run the bridge, but unexpectedly the topics may stop publishing and the services stop responding, this can also occur at the beginning of the execution of both bridges and the only way to solve it is to restart both bridges with the inconvenience that it can happen again.
Iperf test (client):
iperf3 -c 172.16.40.254
Connecting to host 172.16.40.254, port 5201
[ 5] local 172.16.40.141 port 57828 connected to 172.16.40.254 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 12.1 MBytes 101 Mbits/sec 0 209 KBytes
[ 5] 1.00-2.00 sec 11.3 MBytes 94.9 Mbits/sec 0 209 KBytes
[ 5] 2.00-3.00 sec 11.3 MBytes 94.9 Mbits/sec 0 209 KBytes
[ 5] 3.00-4.00 sec 11.3 MBytes 94.9 Mbits/sec 0 209 KBytes
Bridge node working correctly:
# ros2 node info /zenoh_bridge_ros2dds_peripherals_server
/zenoh_bridge_ros2dds_peripherals_server
Subscribers:
/gary/emergency: raya_emergency_msgs/msg/Emergency
Publishers:
/gary/emergency: raya_emergency_msgs/msg/Emergency
/gary/leds/leds_engine/status: raya_status_msgs/msg/ComponentStatus
/gary/odom/mileage: sensor_msgs/msg/Range
/gary/odom/odom: nav_msgs/msg/Odometry
/gary/sensors/button_states: gary_sensors_msgs/msg/DurationBool
/gary/sensors/chest_button: raya_primitive_msgs/msg/RaYaFloat32
/gary/sensors/relay_state: gary_sensors_msgs/msg/DurationBool
/gary/sensors/serialized_sensors: gary_sensors_msgs/msg/SerializedSensors
/gary/sensors/srf_1: sensor_msgs/msg/Range
/gary/sensors/srf_2: sensor_msgs/msg/Range
/gary/sensors/srf_3: sensor_msgs/msg/Range
/gary/sensors/srf_4: sensor_msgs/msg/Range
/gary/sensors/srf_5: sensor_msgs/msg/Range
/gary/sensors/srf_6: sensor_msgs/msg/Range
/gary/sensors/status: raya_status_msgs/msg/ComponentStatus
/gary/sound/speaker/status: raya_status_msgs/msg/ComponentStatus
/gary/status/battery: sensor_msgs/msg/BatteryState
/gary/status/battery_bms: sensor_msgs/msg/BatteryState
/rosout: rcl_interfaces/msg/Log
Service Servers:
/gary/odom/restart_odometry: gary_sensors_msgs/srv/RestartOdometry
/gary/status/set_battery_level: gary_sensors_msgs/srv/SetBatteryLevel
Service Clients:
Action Servers:
/gary/leds/leds_play_animation: gary_leds_msgs/action/LedsPlayAnimation
/gary/sensors/set_relay_state: gary_sensors_msgs/action/SetRelayState
Action Clients:
Same node after restart client (connection was successful).
# ros2 node info /zenoh_bridge_ros2dds_peripherals_server
/zenoh_bridge_ros2dds_peripherals_server
Subscribers:
Publishers:
/gary/emergency: raya_emergency_msgs/msg/Emergency
/gary/leds/leds_engine/status: raya_status_msgs/msg/ComponentStatus
/gary/odom/odom: nav_msgs/msg/Odometry
/gary/sensors/status: raya_status_msgs/msg/ComponentStatus
/gary/sound/speaker/status: raya_status_msgs/msg/ComponentStatus
/gary/status/battery: sensor_msgs/msg/BatteryState
Service Servers:
Service Clients:
Action Servers:
/gary/leds/leds_play_animation: gary_leds_msgs/action/LedsPlayAnimation
Action Clients:
Architecture
To reproduce
- Start server with
zenoh-bridge-ros2dds -c /robot/config/sensors/ZENOH_BRIDGE_CONFIG_SERVER.json5in host computer - Start client with
zenoh-bridge-ros2dds -c /robot/config/sensors/ZENOH_BRIDGE_CONFIG_CLIENT.json5in client computer - Wait until it stops publishing or the client reconnects
I attach logs of the last test reconnecting the client
Configuration files
ZENOH_BRIDGE_CONFIG_CLIENT.txt
ZENOH_BRIDGE_CONFIG_SERVER.txt
System info
Host - Jetson Orin AGX
NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
Linux MINIGARY001 5.10.104-tegra # 1 SMP PREEMPT Sun Mar 19 07:55:28 PDT 2023 aarch64 aarch64 aarch64 GNU/Linux
Client - Raspberry pi CM4 with Raspberry Pi OS
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
Linux RPI1 6.12.20+rpt-rpi-v8 # 1 SMP PREEMPT Debian 1:6.12.20-1+rpt1~bpo12+1 (2025-03-19) aarch64 GNU/Linux
Zenoh bridge
zenoh-bridge-ros2dds v1.3.4
