Gazebo Plugin Video Tutorial Series

ROS Gazebo Plugins Tutorial

In this YouTube series, we will learn how to make a gazebo plugin step by step using simple explanations. And slowly we will introduce ros in the gazebo plugin.

If you ever felt that the gazebo plugin is difficult .
If you ever wondered how, when, and what function, class or message to use to code it.
Then this is the place where we will together make it easy through a series of YouTube lectures.

YouTube Playlist: https://youtube.com/playlist?list=PLOQhCaBjYnseDMTpd-b52spLSq7hg0ar1

Tutorial Content:

1. How Gazebo Plugin Works?
2. Some C++ Concepts For Gazebo Plugin.
3. Gazebo World Plugin.
4. Gazebo Subscriber Plugin.
5. Gazebo Model Plugin.
6. ROS Gazebo Model Plugin (Simple & Advance).
7. Light Move Model Plugin.
8. ROS Light Control Plugin.
9. Gazebo Joint Control Plugin.

3 Likes

This information is sometimes hard to find. Nice Job.
In what way is it implementable with ROS2. Any big changes?

Although I have never tried ROS2 In Gazebo Plugin.

But I can explain how ros is added on gazebo plugin.
C++ code for ros publisher subscriber that we know. Just that exact code when you added on to gazebo plugin than that becomes ros gazebo plugin. It’s that simple. Details Video Explanation

Same way, I think if you know how to make publish subscriber in ros2 than you can easily use that to make a ros2 gazebo plugin.

Some useful links:

If I start working on ros2 than I will certainly make video explanation on ros2 gazebo plugin.

Happy Learning!!!

how to make a plugin in gazebo gargen

1 Like

Have you found any useful information on that?

Start with reading this documentation on system plugins and this section on terminology (entities, components, ECM, etc).

Then read the code of some system plugins. Typically the header files document what the plugin does and which parameters it reads from the SDF, but you’ll need to read the code to understand the ‘how’.

I can recommend this rather simple plugin as a starter: waste bin plugin. The official plugins are here, some are more elaborate than others, so some are more difficult to understand. What you need to learn obviously depends on what you need for your simulation task.

If you have specific questions, ask them on the Robotics Stack Exchange.

I also strongly advise to download the Gazebo source code (follow the source install instructions) and to use VSCode to read through it. This allows you to get type info by hoovering over variables and methods, allows you to jump to declarations, etc.