I have a simple action server that currently runs a simple procedure : it just generates 10 random numbers and publishes each of them as feedback, after that it publishes a result. I then have a simple action client that has some callback functions, which just print out the values received.
For some reason though, not all feedback sent is received by the client, or it doesn't activate the callback, even though it is all published to the /feedback topic. To be clear, I publish feedback 10 times in my server. I can see 10 feedback messages in /feedback topic, but the callback in the client is only called around 4 times.
I thought this might have something to do with the callback queue size in the client, so I added the following lines to my server code:
nh_.setParam("actionlib_client_sub_queue_size", 30);
nh_.setParam("actionlib_client_pub_queue_size", 30);
I understand that the ActionClient looks for these parameters to set the queue size, am I correct? Setting them made no difference unfortunately, even though I have verified that the param is being set correctly.
Am I misunderstanding something? Is there another way to set the queue size for the ActionClient?
Could there be another reason for this behavior? Clearly the client and server are connected properly, since some of the feedback is received.
Any help would be greatly appreciated.
Originally posted by campergat on ROS Answers with karma: 11 on 2018-10-03
Post score: 1
Original comments
Comment by l4ncelot on 2018-10-04:
We need to see your code to debug anything. The queue size plays part only if the publishing rate of the message is greater then subscribing rate.