How does interactive_marker_client work?

asked 2019-08-21 19:16:04 -0500

peci1 gravatar image

I can find a lot of tutorials an examples on interactive_marker_server. However, I feel the need to use interactive_marker_client, and it shows that I do something wrong. I only found an example in rviz source code, but it wasn't enough for me to understand everything.

Why I think I need IM client: I have a node that handles interactive markers and controls a planner interface. Then I made an RViz tool which should be able to add markers which should ideally be also handled by the node. So I thought I should add an IM client to the node, listen on the init/update callbacks, and relay them to the planner.

I added the client to the node with correct namespace, and I can see (at least some) init messages on the update_full topic published by the tool. I registered all of initCb, updateCb, resetCB and statusCb, but the only thing I get is a few initCb callbacks and the statusCb callbacks, which tell me that the client is receiving messages, and it even tells me about the inits and updates. However, my callback registered to updateCb gets never called, even if I move the marker in RViz. I also tried calling setCallback with the "remote" marker name in the node server, but that doesn't seem to work (does the server only handle update callbacks from its own messages)?

edit retag flag offensive close merge delete