Understanding pluginlib
Plugins are a commonly used term in the computer world. They are modular pieces of software that can add a new feature to an existing software application. An advantage of plugins is that we don't need to write all the features in the main software; instead, we can create an infrastructure on the main software to accept new plugins to it. Using this method, we can extend the capabilities of the software to any level.
We need plugins for our robotics applications too. When we are building a complex ROS-based application for a robot, plugins are a good choice to extend the capabilities of the application.
The ROS system provides a plugin framework called pluginlib
to dynamically load/unload plugins, which can be a library or a class. pluginlib
is basically a C++ library that helps to write plugins and load/unload them whenever we need to.
Plugin files are runtime libraries—such as shared objects (.so
) or dynamic-link libraries (.dll
)—...