Gazebo | Ignition | Community
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

In my opinion, most common use case is Gazebo combined with ROS. Since they share common history in development, they are quite tightly connected and they work together well.

In general, Gazebo is used for defining the physics, models and some base functionality (via Gazebo plugins written in C++). Then, ROS is used for most of I/O, data processing, logic, agent planning/control, etc. In ROS you can use both C++ and Python, just pick what you prefer. I would discourage you from trying to use Gazebo plugins for create graphs or high level control. Plugins are meant to be used more for low-level, regular and quickly processed tasks (joint regulation, collision detection, sensors, ...). For example graphs can be really easily done by already existing tools like rqt_graph and others. ROS has its own logging mechanism and I could continue.

Try to check out some existing projects which use both ROS and Gazebo plugins to achieve the goal and get inspired by the structure.

This is probably not a complete answer, but I hope it will clear some things for you.