ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
The idea behind message_filters
is that it only invokes callbacks when it has messages in its queues for all subscriptions and those messages make the associated predicates true (ie: for an ApproximateTimeSynchronizer
all stamps
fall within a certain range of time).
Your callbacks not getting called when one of the datastreams is no longer carrying messages would seem to be expected (and desired) behaviour.
Perhaps message_filters
is not the best approach for your use-case: if you could describe what you're trying to do with a little more detail, perhaps we can suggest an alternative.
2 | No.2 Revision |
The idea behind message_filters
is that it only invokes callbacks when it has messages in its queues for all subscriptions and those messages make the associated predicates true (ie: for an ApproximateTimeSynchronizer
all stamps
fall within a certain range of time).
Your callbacks not getting called when one of the datastreams is no longer carrying messages would seem to be expected (and desired) behaviour.
Perhaps message_filters
is not the best approach for your use-case: if you could describe what you're trying to do with a little more detail, perhaps we can suggest an alternative.
Edit: you could perhaps implement your own filter that behaves like you describe, using the infrastructure of message_filters
. And perhaps take a look at fkie_message_filters, which offers some additional / alternative functionality.