You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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.
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:
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
The text was updated successfully, but these errors were encountered: