0
$\begingroup$

Gazebo Answers logo

I am writing a visual plugin to display an image stream inside of gazebo. Unfortunately, AFAIK the Image Transport API does not provide an API to change the callback queue, as is done in most gazebo plugins for ROS. Using the global callback queue seems to be working fine.

Since I only stream images sporadically, I can drop ImageTransport and use the standard subscribtion approach to use an alternate callback queue. However, is there an advantage to doing so?

Thanks!!


Originally posted by piyushk on Gazebo Answers with karma: 138 on 2013-03-20

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Gazebo Answers logo

You should be fine with the global roscpp callback queue.

I believe that we started using custom callback queues in the Gazebo plugins within the drcsim package in an effort to minimize latency in handling of incoming messages. We were specifically trying to provide a fast update loop for certain command messages used to control the Atlas robot. Even in that situation, we probably overused them, relative to the performance gains that we made.


Originally posted by gerkey with karma: 1414 on 2013-07-15

This answer was ACCEPTED on the original site

Post score: 2


Original comments

Comment by Johannes Meyer on 2013-07-16:
Per-plugin callback queues have been used in Gazebo plugins long before DRC and I asked a similar question more than a year ago on ROS answers, and again in this forum in January: http://answers.gazebosim.org/question/962/callback-queues-and-locking-in-gazebo/. I would be glad if someone could comment on the more specific questions 2. and 3. there. The IMHO unnecessary callback queue constructs are still actively used in the latest version of gazebo_ros_pkgs for the upcoming hydro release.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.