[ros-users] Nodelets

Radu Bogdan Rusu rusu at willowgarage.com
Sat Dec 4 02:36:56 UTC 2010


On 12/02/2010 01:54 PM, Patrick Bouffard wrote:
> Cool. One way to go would be a tutorial on how to transform a node
> into a nodelet. It seems to be a fairly simple recipe, modulo the
> blocking and threading stuff:
> - add the necessary #includes
> - get rid of int main()
> - subclass nodelet::Nodelet
> - move code from constructor to onInit()
> - add the PLUGINLIB_DECLARE_CLASS macro
> - add the<nodelet>  item in the<export>  part of the package manifest
> - create the .xml file to define the nodelet as a plugin
> - make the necessary changes to CMakeLists.txt (comment out a
> rosbuild_add_executable, add a rosbuild_add_library)

Great, I added this as a starting point to http://www.ros.org/wiki/nodelet/Tutorials/Porting%20nodes%20to%20nodelets . 
Can we all please fill in the page when we get a chance with more content?

> But, does a nodelet run as standalone basically run just as well as an
> ordinary node? If the overhead of the standalone nodelet is zero in
> terms of speed and small in terms of memory footprint (are those valid
> assumptions?), then creating a node from the beginning as a nodelet
> seems like the way to go as you can easily combine it with a nodelet
> manager down the road, without a recompile.


Yup!

$ rosrun nodelet nodelet standalone pcl/MovingLeastSquares /pcl_MovingLeastSquares/input:=/camera/points2

This should also go into the main documentation of the wiki page.


Cheers,
Radu.
--
http://pointclouds.org



More information about the ros-users mailing list