-
Notifications
You must be signed in to change notification settings - Fork 138
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
Bridge parameters #179
Comments
What is the current way to alter simulation properties in ignition/ignition plugins? |
examples: The gazebo_ros_pkgs wheel slip plugin is using ROS parameteres to dynamically reconfigure slip parameters, or the camera plugin is using a ros parameter to dynamically reconfigure the camera update rate. What's the recommended way in ignition to "expose" reconfigurable properties through ignition transport? If there's no current recommended way to do that, I can try to propose one (and a mapping to ROS parameters). |
Nope
We currently have support for doing it through transport topics / services, or directly on C++ through components. I'd say that among all of these, the easiest one to bridge would probably be
The approach we've been taking to expose configurations to the GUI, for example, is to add a service to |
That makes sense. e.g. gazebosim/gz-sim#1123 added a This is probably enough though, e.g. for the wheel slip plugin having the ability to reconfigure the slip parameters is the most important thing. Instronspection can be solved by first calling the service and remembering the last parameters set (assuming that there's no other externsal source modifying the parameters). Regarding how to bridge ignition Mapping them to parameters is going to be a bit cumbersome though. The mapping to ROS service is more natural. |
All the simulation state is held in the So... There isn't a granular way of getting just the visual config, but there's a way to get it.
I wouldn't worry too much about that, the whole philosophy of |
In that case, I think that the most natural way to port things that used dynamic reconfigure parameters in e.g. the wheel slip plugin was used to make the slip parameters available through dynamic reconfigure, and using |
A bit unrelated to the discussion here, but I think it would be nice to have a way to easily get a particular entity. |
A good example would be to bridge the wheel slip parameters after completing gazebosim/gz-sim#1845 |
Desired behavior
ROS parameters provide a convenient way to manipulate properties of a node at runtime. It would be convenient for users to be able to alter simulation properties through ROS parameters.
Alternatives considered
All configuration could be exposed through topics, which can be bridged using
ros_ign_bridge
.Implementation suggestion
It would be interesting to provide a generic "parameter bridge" that provides a parameter interface on the ROS side, and an Ignition Transport service interface on the simulation side.
Additional context
ROS 2 parameters themselves are built using services under the hood. So I think we can translate the same idea to
ros_ign_bridge
.The text was updated successfully, but these errors were encountered: