Uli,

You are correct that nodelets are basically a thin layer on top of pluginlib.  The goal of nodelets is to facilitate composition of higher level algorithms maintaining the ROS interface for compatability.  And with forthcoming roscpp improvements, messages can be passed intraprocess with zero copies.  And you can have arbitrarily many nodelets in a single process. 

For your specific questions:
 - Likely you would want to convert each of your plugins into a nodelet. 
 - As Radu stated, nodelets don't put any restrictions on what you can do inside of them, service calls and servers are definitely fine. 
 - For "linking" nodelets directly with a node, all you have to do is create a nodelet::NodeletLoader class in the node into which you want to load the nodelets.  Then you can address the node as a nodelet manager, just like a standalone manager. 

Tully 

PS please see my last email about stability.  Keep in mind that nodelets are still in the early developmental stage and will be changing.  http://www.ros.org/wiki/StackVersionPolicy

On Mon, Mar 15, 2010 at 7:41 AM, Radu Bogdan Rusu <rusu@willowgarage.com> wrote:
Hi Uli,

Think about a nodelet as a C++ class with a ROS interface, sitting on top of pluginlib. There aren't a lot of
constraints right now, so you can do pretty much what you want. That being said, the nodelets themselves are just a
small part of a bigger architectural change that we are pushing, that also includes roscpp optimizations, etc.

The nodelet and nodelet_topic_tools are already released under common 1.1, so you can already give them a try.

We are working on constructing a set of library layers on top of nodelets, including stacks for 3D point cloud
processing (PCL), 2D image processing (IPL?), and machine learning (MLL?). PCL has already been released with
point_cloud_perception 0.1, while the others are being developed right now. These stacks/packages should provide good
examples on how to use the nodelets architecture for 2D/3D processing and learning.

Cheers,
Radu.
--
| Radu Bogdan Rusu | http://rbrusu.com/
_______________________________________________
ros-users mailing list
ros-users@code.ros.org
https://code.ros.org/mailman/listinfo/ros-users



--
Tully Foote
Systems Engineer
Willow Garage, Inc.
tfoote@willowgarage.com
(650) 475-2827