ros2 / ros2/rclcpp

Consider exposing services to update Parameter Descriptor ranges at runtime

Open
#2,118 2 comments 0 reactions 1 assignee View on GitHub

@wjwwood is already working on this.

Since Mar 16, 2023.

Dominant language
C++
Stars
805
Forks
564
Avg merge
1d 17h
Merged PRs (30d)
27

Description

Feature description

It's great that parameter descriptors exist so they can be used for validating values -- however, we have encountered a use case where it would be useful to be able to SET parameter descriptors at runtime in addition to at declaration time.

Our use case is specifically to have UI sliders for parameter values where users can pre-configure their desired min and max values at the UI level. In other words, it's just the bounds we care about, which happen to be in the descriptor.

So, would it be beneficial to expose a similar service / service type to update parameter descriptors at runtime?


Implementation considerations

Think of the rcl_interfaces types available.

  • For parameter values, we have /get_parameters and /set_parameters services available
  • For parameter descriptors, we have /describe_parameters for reading, but nothing for updating the descriptions should we want to.

I understand if there are concerns about the string description, type, and read-onlyness changing, but our use case at least is only concerned with the ranges. So even a service that allows modifying these for floating-point / integer-valued parameters would go a long way.

Thoughts?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.