Understanding and creating a Gazebo plugin
Gazebo
plugins help us to control the robot models, sensors, world properties, and even the way Gazebo
runs. As with pluginlib
and nodelets
, Gazebo
plugins are a set of C++ code that can be dynamically loaded/unloaded from the Gazebo simulator.
Using plugins, we can access all the components of Gazebo
, which are independent of ROS so that they can be shared with people who are not using ROS (that is, the components). We can mainly classify the plugins as follows:
- The world plugin: Using the world plugin, we can control the properties of a specific world in
Gazebo
. We can change the physics engine, the lighting, and other world properties using this plugin. - The model plugin: The model plugin is attached to a specific model in
Gazebo
and controls its properties. The parameters, such as the joint state of the model, control of the joints, and so on, can be controlled using this plugin. - The sensor plugin: The sensor plugins...