Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compatibility with YARP-style configuration files #53

Closed
traversaro opened this issue Jan 19, 2014 · 1 comment
Closed

Compatibility with YARP-style configuration files #53

traversaro opened this issue Jan 19, 2014 · 1 comment

Comments

@traversaro
Copy link
Member

Currently the yarp configuration files (.ini) for a given model are loaded from the conf/ directory of the SDF gazebo model (actually, this is what we usually do in our iCub/COMAN modeles, in the code [1] we just assume that the configuration file path is specified by a valid Gazebo URI [2] ).
This imply that if the user wants to modify some parameters of the yarp plugins (for example the PID gains) he has to directly modify the content of the gazebo model directory.

In Yarp the common practice is to use a way to clearly separate default configuration files (i.e. installation provided) and the user-modified configuration files (and possibly having multiple versions of the same configuration file installed at the same time, simplifying the switching). [3]

A first way to support the yarp-style configuration is to add the possibility to specify the yarpConfigurationFile tag in the SDF as yarp-style filename. We can do that without adding special tag, but just checking the yarpConfigurationFile argument: if it starts with "model://", "file://" or "http://" it specify the configuration filename with a Gazebo URI, otherwise we assume that it is a yarp-style filename, that we can find with the yarp::os::ResourceFinder class. Another possibility is to use a custom "yarp:://" prefix for yarp-style configuration files.

The next desirable features could be:

  • start the Gazebo simulation/model using arbitrary contexts (this kind of behaviour is obtained in Ros-Gazebo integration using roslaunch, a yarp style way of doing this is not clear to me).
  • handle also world simulation specific parameters (such as simulation timestep) or model specific parameters (with parts to simulate, fixed or floating robot) using yarp contexts.

All this changes can be implemented without affecting the users that want to continue to use gazebo_yarp_plugins in the way as it is currently used, with Gazebo "pure" models.

[1] : https://github.com/robotology/gazebo_yarp_plugins/blob/master/src/gazebo_plugins/ControlBoard.cc#L59
[2] : http://gazebosim.org/wiki/Uri
[3] : http://wiki.icub.org/yarpdoc/yarp_resource_finder_tutorials.html

cc @lornat75 @EnricoMingo @barbalberto

@traversaro
Copy link
Member Author

The yarp:// prefix idea could be easily implemented using the API introduced in https://bitbucket.org/osrf/gazebo/pull-requests/2479 .
However in three years of use of gazebo-yarp-plugins, I never found a user that complained that we wanted to use the YARP workflow for managing the configuration file used by the Gazebo models, so I think it is safe to close this issue.

cc @randaz81 @Yeshasvitvs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants