Hi ROS users, I have a question regarding the nodelets. At TUM we are using the plugin-lib in our highlevel-perception bridge (cognitive_perception (CoP) package). We initially introduced the plugins to abstract from closed-source third party dependencies. Now we are planning a new release to tum-ros-pkgs since we finished for IROS a new demonstration, and wanted to clean up the code before (you know how "deadline code" looks like). On cleaning up I had a closer look to the new nodelet concept and I now want to know if i can replace my current plugins with nodelets. I though it might be possible since most of the my plugin types have one major function (~ a service) that is used for online data exchange between CoP and the plugin. (Example: highlevel asks "locate me a cup", CoP finds out, we have a list of CAD models assigned to the semantic concept "cup" and calls the plugin "ShapeBased3D" passing it the best available Sensor and a CAD model and expects a position back). I want to make it possibly to execute groups of plugins on another machine This is necessary because we have different machines acquiring sensor data and we are running at the CPU limits (fully parallelized). We dont want to transport sensor data over network, e.g. 4 Megapixel RGB images @ 30 Hz => 2 Gbit/s is not possible without compression. Now the questions: - Can a nodelet handle services, too? - Can I create an architecture with nodelet which actually collects more than one of those plugins and either links them directly to my program or combines them in one node on another machine? Again an example: The central instance of CoP should run on a dedicated machine, the 2D vision mechanism on another and the 3D stuff on a third machine. All three instances contain a set of loaded Plugins of the classes LocateAlgorithm and Sensor, the central instance should decide which part is started up initially on which machine. In the online phase a CoP selects an optimal combination of Sensors+LocateAlgorithm and calls the central function of the LocateAlgorithm. The central function should get the last sensor data and execute the matching, but this part should run on the same machine, best in the same process, including e.g. the camera driver, caused by performance requirements. Of course, I can make this architecture myself, but I think the nodelet concept sounds mighty enough to support this kind of architecture. I hope, I expressed my problem clear enough, feel free to ask for details. Hope to hear from you. Uli -- Ulrich Klank klank@in.tum.de Technische Universität München | Boltzmannstr 3 | 85748 Garching bei München | Germany www9.in.tum.de/people/klank | Tel: +49 89 289 - 17777