Understanding the ROS nodelets
ROS provides nodelets as an execution unit; these are a type of ROS node that allow you to run multiple nodes in an umbrella of a single process. They correspond to threads and processes in the Linux system, and they're called threaded nodes. These could communicate with each other efficiently without overloading the network transport layer between two nodes. Moreover, these threaded nodes can also communicate with external nodes.
In the ROS framework, nodelets are used when the volume of data transferred among nodes is very high, for example, when transferring data from laser sensors or when a camera points to an object like a cloud, respectively.
Getting ready
In the previous section, we experienced the dynamic loading of a class with pluginlib
. Similarly, in the case of nodelets, we will dynamically load each class as a plugin, which must have a separate namespace. Every loaded class can work as separate nodes, called nodelets, which execute on a single process...