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 item in the 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