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

Revision history [back]

click to hide/show revision 1
initial version

Nodelets use the same ROS interface as Nodes. The major difference is that they are dynamically loaded into the same process. This is done because when run in the same process using publish and subscribe with boost const shared pointers roscpp will not serialize and deserialize and will simply pass the pointer to the subscriber.

Thus if you have a nodelet it can be run in it's own process or loaded into another process using a nodelet loader.

There are a few options to optimize the swiss ranger driver. As you stated you could make the swiss ranger driver into a nodelet like the openni_camera nodelet. The other option is to simply add a nodelet loader into the swissranger driver node into which you can load other nodelets. The first is noteably more work, but makes the system more flexible in the future.