ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

AndreasGustavsson's profile - activity

2021-04-04 20:34:21 -0500 received badge  Good Question (source)
2021-02-07 09:55:55 -0500 received badge  Nice Question (source)
2020-07-28 00:07:27 -0500 received badge  Student (source)
2019-05-28 10:18:41 -0500 received badge  Famous Question (source)
2019-02-05 03:51:35 -0500 commented answer Is it safe and efficient for several threads to share a single tf::TransformListener object?

Thank you so much for the answer and tip, Tully (@tfoote). I have managed to redesigned the structure, which is now rely

2019-01-30 09:36:05 -0500 received badge  Enthusiast
2019-01-26 09:16:03 -0500 received badge  Notable Question (source)
2019-01-26 07:34:26 -0500 edited question Is it safe and efficient for several threads to share a single tf::TransformListener object?

Is it safe and efficient for several threads to share a single tf::TransformListener object? I am developing a multi-thr

2019-01-23 13:00:05 -0500 received badge  Popular Question (source)
2019-01-23 05:58:13 -0500 marked best answer Is it safe and efficient for several threads to share a single tf::TransformListener object?

I am developing a multi-threaded ROS (kinetic/melodic) node that will rely on tf::TransformListener to wait until it is possible to perform transformations (using waitForTransform(...)), and then perform the transformations (using lookupTransform(...)), if the transform exists.

My question is whether or not it is safe and efficient for all threads to share a single tf::TransformListener object:

  • Is it safe for several threads to call methods on a single tf::TransformListener object simultaneously?
  • If a thread calls one of the above-mentioned methods, will any other thread be able to call the same (or another) method on the same tf::TransformListener object and run in parallel with the first thread, or will the second thread be blocked until the first thread has finished its call? Having the threads running in parallel, without blocking, is of high importance.
  • In case threads would block (then to avoid threads from blocking), would it be okay to have several tf::TransformListener objects running inside a single node (one listener for each thread inside the node)? My intuition says that the same transformation trees would be built and maintained for each thread, which I think seems very bad from an efficiency point of view.

I apologize for any duplicate posting (I was unable to find the answer in the forum) but would be grateful for any answer you could provide!

2019-01-23 05:58:13 -0500 received badge  Scholar (source)
2019-01-23 05:02:35 -0500 asked a question Is it safe and efficient for several threads to share a single tf::TransformListener object?

Is it safe and efficient for several threads to share a single tf::TransformListener object? I am developing a multi-thr

2018-12-16 07:50:56 -0500 commented answer ROS Message API Documentation

As far as I can tell, this is still an issue and I use hard-coded URLs. I had a look at the code for MsgLink and it see

2018-12-15 14:50:48 -0500 received badge  Supporter (source)