robotology / gazebo-fmi

FMI import plugins for the Gazebo Simulator.
GNU Lesser General Public License v3.0
24 stars 5 forks source link

Investigate support for Ignition Gazebo #65

Open traversaro opened 5 years ago

traversaro commented 5 years ago

Open Robotics is currently developing the next generation of the Gazebo simulator and related environment, in an effort called "Ignition Robotics" (https://ignitionrobotics.org/) that also contains Ignition Gazebo, the next generation version of Gazebo.

Ignition Gazebo it is currently under development in https://bitbucket.org/ignitionrobotics/ign-gazebo/src/default/. Despite the simulator goes by "Gazebo" name, it is basically a complete rewrite of the Gazebo simulator, using a Entity–component–system pattern.

This issue will contain the initial brainstorming and ideas related on how to integrate FMI and Ignition Gazebo, and more in general the Ignition Robotics libraries.

Related links

traversaro commented 3 years ago

This is a good example of Ignition Gazebo plugin that could be make "general" by modifying it to support loading the specific hydrodynamic model via FMI: https://github.com/ignitionrobotics/ign-gazebo/pull/748/files, similar to what we already do in https://github.com/robotology/gazebo-fmi/tree/master/plugins/single-body-fluid-dynamics for Gazebo Classic.

traversaro commented 3 years ago

This is a good example of Ignition Gazebo plugin that could be make "general" by modifying it to support loading the specific hydrodynamic model via FMI: https://github.com/ignitionrobotics/ign-gazebo/pull/748/files, similar to what we already do in https://github.com/robotology/gazebo-fmi/tree/master/plugins/single-body-fluid-dynamics for Gazebo Classic.

The PR has now been moved to https://github.com/ignitionrobotics/ign-gazebo/pull/749 . A preliminary doubt for re-using exactly the same architecture for future FMI-based plugins is that while it communicates with the rest of Ignition Gazebo systems via shared memory (ECM), for setting the value of the thrust the use of Ignition Transport topics is hardcoded, preventing the composability of several of this system at the memory level without using a network interface, that is in general non-deterministic and can introduce instabilities in simulation.