-
Notifications
You must be signed in to change notification settings - Fork 88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added queue_size option as required in Indigo to prevent warning #38
Added queue_size option as required in Indigo to prevent warning #38
Conversation
The default behavior was not changed in order to not potentially breaking existing code. For more information please take a look at ros/ros_comm#346. |
Ah, I had only read the paragraph with the keyword I edited the section title for clarity. Thanks for the explanation, makes a lot of sense. I assume 10 is a good value? |
Depends on how fast you publish and how long you want "old" values to be queued. 😉 |
(more change-specific comment in next comment) First though - Thanks a bunch @davetcoleman for the PR's! Definitely appreciate the contributions, one more thing off the list for next release, which means room to squeeze one other thing in ;) Minor favor before we merge - Could you please branch (/rebase) your commits off the latest |
We've been discussing whether the Publisher More background: Generation Robots told us that the joint action server / control performed much better when they changed the Meanwhile, the "interaction", indicator, I/O commands could have a larger queue size (e.g. digital_io, etc). I also don't know of any references for a "good value", or are there any recommended testing procedures to determine if a value works well? (We run most loops at 100Hz by default, and often test our control loops at around 500Hz too, though I don't know what most users run at...?) |
Will address after ICRA deadline... |
Good to be back! We used Baxter a lot for some unrelated experiements using the changes in this PR and did not notice any problems. I don't know what the best values would be though - I leave that to you guys to decide. I guess you could just leave it as the previous default (which is not recommended by OSRF)... Let me know what value it should be and I can rebase the PR, or feel free to do it yourself. |
+1 thanks for this. I vote for a queue_size of None for now in maintaining current behavior. Also, do you mind rebasing and pulling against development instead of master as Rob mentioned above? @rethink-imcmahon - After merged, can you & QA investigate implications of using an actual queue_size/asynch comm? |
It seems passing None explicitly will still warn. This is in contradiction to what the actual warning says.. The 'queue_size' argument is explicitly provided. A more logical synchronous value/default should be chosen. |
Since |
thanks for the involvement guys! @dirk-thomas it would be nice if someone with a good understanding of the general implications of different values for queue_size would document that on the wiki to help everyone upgrading to indigo. this is in my opinion a classic example of ROS becoming harder for the average user to understand and use. my specialty and interest is not in message passing |
There is no magic formula to select the value. It all depends on publish frequency, system load and responsiveness of the subscriber. The description in the wiki is as good as it gets - I couldn't come up with more information. |
Moving discussion to ros/ros_comm#507 |
I agree with @rethink-rlinsalata's comment on which values to use. Side note, I documented how to choose a good queue_size: http://wiki.ros.org/rospy/Overview/Publishers%20and%20Subscribers#Choosing_a_good_queue_size |
Thanks for the pull request @davetcoleman. Merged after some tweaks #40 |
Thanks! |
Fix for RethinkRobotics/baxter_examples#32
I'm not 100% sure if it should be value
10
orNone
, butNone
doesn't remove the warning message@dirk-thomas why does not suppress the error even though it was the default in groovy and earlier? Do you know why was this change made in Indigo anyway when it makes ROS a bit more complicated?
Thanks!