gazebosim / gazebosim/sdformat
Change the SDF spec to make <plugin> less gazebo-specific
- Dominant language
- C++
- Stars
- 216
- Forks
- 125
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 14
Description
**Original report ([archived issue](https://osrf-migration.github.io/sdformat-gh-pages/#!/osrf/sdformat/issues/93)) by sylvainjoyeux (Bitbucket: [sylvainjoyeux](https://bitbucket.org/%7B11579fb5-6368-4ec9-a820-10579e368fe7%7D/)).**
----------------------------------------
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](http://answers.gazebosim.org/question/8586/where-can-i-suggest-changes-to-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:
```
libgazebo_thrusters.so
gazebo_thrusters::Task
```
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).
Contributor guide
Research direction
Start by reviewing the current SDF specification and the existing behavior described in this issue. Compare the proposed removal of the file attribute and reserved environment-specific tags with compatibility requirements for Gazebo and other consumers. Done means the specification clearly defines the new plugin structure and how unrelated environments should handle it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, xml
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100