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

ROS high performance nodelet CUDA OpenMP OpenCV [closed]

asked 2017-04-13 07:51:40 -0600

Mondi gravatar image

updated 2017-04-13 10:00:40 -0600

Hallo community,

I will start to write a nodelet in ROS that should perform heavy image processing. To utilize the capabilities of modern hardware platforms like Jetson TX2 (GPU, Multicore CPU) I want use CUDA, multithreading and CUDA enabled OpenCV.

Now my question is how to design a nodelet that can receive a depth map and a rgb image (sync with message_filter) and than perform the image processing? In general I think it is a good idea to only perform the receiving process in the message callback and the image processing is than performed outside the callback (see ).

How to handle the problem that the processing can be slower as the publish rate of the depth and rgb image? The best solution will be to get the newest available messages and ignore all messages as long as the image processing runs. How this kind of behaviour can efficiently be achieved?

Or is it better to have one main thread that receive the images and than transfer it to a number of worker threads with a fixed policy like this for example: image description

How is it possible to use OpenMP or other libraries to speed up the computation by utilizing multiple threads within a ROS nodelet? Perhaps you can name example nodelets where they do nearly the same or name tutorials that cover my problem.

Perhaps my Questions are to general so if more information from my side are necessary, please ask.

Best Regards,


edit retag flag offensive reopen merge delete

Closed for the following reason question is off-topic or not relevant. Please see for more details. by tfoote
close date 2017-04-19 14:57:43.818235



This question is completely open ended and has many sub questions and is unanswerable without more application specific information. Your questions are mostly about general multithreaded software design, using the ROS specific implementations of those primitives.

tfoote gravatar image tfoote  ( 2017-04-19 14:57:31 -0600 )edit

1 Answer

Sort by » oldest newest most voted

answered 2017-04-19 08:31:10 -0600

Mondi gravatar image

No one a idea or a repo where they do nearly the same?

Best Regards,


edit flag offensive delete link more

Question Tools

1 follower


Asked: 2017-04-13 07:51:40 -0600

Seen: 676 times

Last updated: Apr 19 '17