Skip to content

ROS1 - ROS2 High latency for large message #169

@MaxandreOgeret

Description

@MaxandreOgeret

Hello,
I have set up the Integration Service to bridge ROS1 and ROS2 on my local machine.

Here is my configuration file :

systems:
  ros1: {type: ros1}
  ros2: {type: ros2}

routes:
  ros1_to_ros2: { from: ros1, to: ros2 }
  ros2_to_ros1: { from: ros2, to: ros1 }

topics:
  tmp_ros1_ros2: { type: "sensor_msgs/Temperature", route: ros1_to_ros2 }
  tmp_ros2_ros1: { type: "sensor_msgs/Temperature", route: ros2_to_ros1, ros1 : { queue_size: 10, latch: false } }
  img_ros1_ros2: { type: "sensor_msgs/Image", route: ros1_to_ros2 }
  img_ros2_ros1: { type: "sensor_msgs/Image", route: ros2_to_ros1, ros1 : { queue_size: 10, latch: false } }

And I run the integration service like so :

integration-service conf.yaml

It works well for small messages in both ways, but the latency gets very high for larger messages. (More than 2s for images)

I noticed that the integration-service executable always outputs the content of the forwarded messages. For example :

[Integration Service][INFO] [is::sh::ROS2] Sending message from Integration Service to ROS 2 for topic 'tmp_ros1_ros2': [[ Structure: <sensor_msgs/Temperature>
    [header] Structure: <std_msgs/Header>
        [stamp] Structure: <stamp>
            [sec] <int32_t>  1635431021
            [nanosec] <uint32_t>  155081033
        [frame_id] <std::string>  
    [temperature] <double>  0
    [variance] <double>  0
 ]]

I believe that this output could pose problem for larger messages. Do you know how to disable it or am I missing something ?

Thanks for the help !

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions