[ros2] sensor message publisher does not abandon old data

asked 2019-08-23 17:45:35 -0500

johnconn gravatar image

I am streaming small pointclouds over wifi for navigation2 using opensplice as my dds impl.

Sometimes, I get messages like these for minutes at a time:

[world_model-4] [INFO] [global_costmap.global_costmap_rclcpp_node]: [signalFailure] Drop message: frame 'camera_depth_optical_frame' at time 1566597372.636 for reason(1)

I looked into what reason(1) is and saw that it is 'OutTheBack'.

I then started echoing the pointcloud data and my tf data to my terminal.

When my system is working well, both topics are publishing data at >10Hz with real-time time stamps .

However, sometimes my system enters a state where the pointcloud data is still publishing fast (>10Hz) but it starts to lag behind real-time, until it gets so bad that my most recent pointcloud data is 10 seconds stale compared to my most recent transform data.

I believe this is what's causing my 'OutTheBack' error.

What can I do to fix this? Currently, my publisher and subscriber are set to 'sensor' quality of service, with a depth of 10.

I recently moved from fastRTPS as my dds impl, where I had never hit this 'OutTheBack' error. This is why I don't believe there is a logic error in the time stamp construction of the message.

edit retag flag offensive close merge delete