-
Notifications
You must be signed in to change notification settings - Fork 52
Description
Hello!
I am looking for a way to separate parameters in certain node to several groups, in a way similar to ROS1 functionality.
Defining the parameters in YAML file allows nesting parameters in subgroups, and these groups can be defined using dot in parameter names, e.g: node.declare_parameter("group_a.param_b")
I have created the example node to demonstrate the issue. https://gist.github.com/yossioo/c20d2966c9e27e57a3153d9ec176e896
I can see the declared parameters:
$ ros2 param list
/node_w_params:
group_a.param_b
group_a.param_c
param_a
use_sim_time
Checking the list of parameters shows that the prefixes are indeed recognized by ROS2:
$ ros2 service call /node_w_params/list_parameters rcl_interfaces/srv/ListParameters
waiting for service to become available...
requester: making request: rcl_interfaces.srv.ListParameters_Request(prefixes=[], depth=0)
response:
rcl_interfaces.srv.ListParameters_Response(result=rcl_interfaces.msg.ListParametersResult(names=['use_sim_time', 'param_a', 'group_a.param_b', 'group_a.param_c'], prefixes=['group_a']))
And yet, the parameters are not grouped in the rqt_reconfigure
interface and are simply presented in a single alphabetically ordered list.
Is there a proper way to define parameters so they will be displayed in groups?