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

Current role nodelets in the ROS ecosystem

asked 2016-09-26 18:06:37 -0500

rexroni gravatar image

I also posted a more technical code-related question about nodelets, but I felt this was a separate question.

As somebody who is used to designing image processing pipelines, nodelets make a lot of sense to me. I have made efforts to minimize the number of data copies across a PCI bus (CPU <--> GPU), so the overhead of copying data between processes through the IP stack seems like a much larger concern.

However, I'm confused as to why the image_transport package does not seem to include any tutorials for using nodelets. Also, the uvc_camera doesn't come with a nodelet version of the driver (althought the 1394 camera does).

So are nodelets not well supported at this time? Or am I looking in all of the wrong places for documentation/examples?

edit retag flag offensive close merge delete

Comments

Additional comment: comms through localhost are very efficient under Linux, so even though it will be more of a performance hit than using nodelets+zero-copy, it's nowhere near as bad as you might think.

gvdhoorn gravatar image gvdhoorn  ( 2016-09-27 04:12:33 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2016-09-26 18:58:58 -0500

ahendrix gravatar image

Nodelets are not mentioned in the image_transport docs because they don't depend on one another. zero-copy in nodelets is automatic, and image_transport is based on standard publishes and subscribers, so if you use image_transport within a nodelet, ROS will use the zero-copy transport; otherwise it will use the standard TCP-based transport.

Most of the camera drivers are maintained by different people or research groups, so they're not all the same. You may want to look for a different USB camera driver that does provide nodelets.

edit flag offensive delete link more

Comments

I had previously tried a simple implementation with image_transport--the sort described in the image subscriber/publisher tutorials--but it refused to work. I tried again, and it worked. Thanks for the explanation.

rexroni gravatar image rexroni  ( 2016-09-26 20:12:20 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2016-09-26 18:06:37 -0500

Seen: 1,138 times

Last updated: Sep 26 '16