Skip to content

Change the SDF spec to make <plugin> less gazebo-specific #93

@osrf-migration

Description

@osrf-migration

Original report (archived issue) by sylvainjoyeux (Bitbucket: sylvainjoyeux).


I am sorry if this is not the right place. I asked on answers.gazebo.org about where to create a proposal to change the SDF spec and someone suggested here. Since it seemed to be as good a suggestion as any, here I am.

The current tag requires that a library name is given, and that library name must be a gazebo plugin. Plugin tags without a valid gazebo plugin generate an error.

I'm in a situation where we use SDF as an overall scene/world/robot description format in a robot framework (Rock, http://rock-robotics.org). We naturally started creating gazebo plugins for things that were missing (e.g. underwater thursters) but also wanted to add "plugins" for dealing externally with some things (for reasons that are beyond this proposal, we for instance want to simulate cameras outside of gazebo). We even had cases (the thrusters) where some parts of the infrastructure need to load plugins of their own, and need to know about the parameters given to the gazebo plugin.

In any case, to me, this is a matter of making SDF less gazebo-specific and more a general-purpose format, something it is already pretty good at. What I want to propose is to remove the 'file' attribute and instead define reserved tags within the element:

<plugin name='thrusters'>
   <gazebo>libgazebo_thrusters.so</gazebo>
   <!-- name of the Rock task that can export this plugin to the outside world -->
   <rock>gazebo_thrusters::Task</rock>
</plugin>

A software environment would simply ignore a plugin tag which does not have the required inside tag (i.e. gazebo would ignore plugin elements that do not have a element and so on).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions