I'm not sure how up-to-date it is (especially with the recent releases of newer versions in the 7.x
and 8.x
series of Gazebo), but gazebosim.org/Tutorial: Ros Plugins would seem to be the "hello world" of writing Gazebo plugins that integrate with ROS (with gazebosim.org/Tutorial: Using Gazebo plugins with ROS showing how to configure your urdf/sdf to include the plugins in a model/sim).
I would also recommend to take a look at gazebo_ros_pkgs (source: ros-simulation/gazebo_ros_pkgs) as that package provides most of the standard Gazebo-ROS plugins. Personally I find reading other peoples sources very informative.
Originally posted by gvdhoorn with karma: 86574 on 2018-03-31
This answer was ACCEPTED on the original site
Post score: 0
Original comments
Comment by Akash Purandare on 2018-04-01:
You could also refer to Gazebo API in the following link. http://gazebosim.org/api.html
Comment by fozzy-b on 2019-11-22:
It appears as if the velodyne tutorial is out of date - the gazebo plugins do not include a velodyne plugin, and the plugins as of kinetic / melodic appear to follow camel casing, rather than the Pythonic underscore (looked in /usr/lib/x86_64-linux-gnu/gazebo-x/plugins