Hi everyone,
I've just started working with ros, this is my first post here :-)
I'd like to ask a question: I have a publisher that publishes a kinect stream at a certain rate.
Until now I've always needed to process every snapshot, so I just subscribed to the topic and process each message in my callback.
I was thinking that sometimes it could be useful for a client to get single messages, sporadically, from a periodic publisher. Is there an easy way to do that?
I could skip messages in my callback until I want to grab one, but I'd like to avoid the overhead of the calls I don't need.
I guess I could play with subscribe/ubsubscribe on demand, but I imagine it would be very slow.
The better way that I was able to think is to modify the publisher, adding a service that, when called, returns just the last message. This way it could be possible to have a periodic publisher that could also be used as a "sporadic" publisher. Is this the best solution, or there's something simpler, that doesn't need to modify the publisher?
To simplify, I want to use the same publisher as sporadic for some clients, as periodic for some others.
Thank you :-)
Originally posted by Kilin on ROS Answers with karma: 56 on 2012-12-10
Post score: 0