[ros2] sensor message publisher does not abandon old data
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.