At present, the focus of dynamic_reconfigure is on providing a standard way to expose a subset of a node's parameters to external reconfiguration. Client programs, e.g., GUIs, can query the node for the set of reconfigurable parameters, including their names, types, and ranges, and present a customized interface to the user. This is especially useful for hardware drivers, but has broader applicability.
Contents
Report a Bug
<<KforgeTracLink(dynamicreconfig dynamic_reconfigure)>>
API Stability
This package is still under development and is expected to change significantly. However, the following features will be supported:
- reconfigure_gui will continue to exist, but the details of the interface are likely to evolve.
- dynparam's usage is stable.
- The python client API is stable.
Utilities
reconfigure_gui
The reconfigure_gui tool provides a GUI interface to reconfigurable nodes.
To run reconfigure_gui, type:
$ rosrun dynamic_reconfigure reconfigure_gui
To choose a node to reconfigure, click on the drop-down to list all reconfigurable nodes (in alphabetic order):
Selecting a node displays its parameters with editors for modifying their values:
dynparam command-line tool
The dynparam tool enables command-line reconfiguration of nodes as well as loading and dumping their configuration to a file. To run dynparam, type:
$ rosrun dynamic_reconfigure dynparam COMMAND
The currently supported commands are:
dynparam list : list configurable nodes
dynparam get : get node configuration
dynparam set : configure node
dynparam set_from_parameters : copy configuration from parameter server
dynparam dump : dump configuration to file
dynparam load : load configuration from file
dynparam list
list
list all reconfigurable nodes (in alphabetic order).
$ rosrun dynamic_reconfigure dynparam list
dynparam get
get node_name
Get the configuration of a reconfigurable node.
$ rosrun dynamic_reconfigure dynparam get /node
-t secs
- Timeout in seconds.
dynparam set
set node_name parameter_name parameter_value
Set the configurable parameter of a node to a value.
$ rosrun dynamic_reconfigure dynparam set /node parameter_name value
OR
set node_name yaml_dictionary
Set multiple configurable parameters of a node to a value.
$ rosrun dynamic_reconfigure dynparam set wge100_camera "{'camera_url':'foo', 'brightness':58}"
-t secs
- Timeout in seconds.
dynparam set_from_parameters
set_from_parameters node_name
Load the configuration for a node from the Parameter Server.
$ rosrun dynamic_reconfigure dynparam set_from_parameters /node
-t secs
- Timeout in seconds.
dynparam dump
dump node_name file.yaml
Dump the configuration of a reconfigurable node to a file.
$ rosrun dynamic_reconfigure dynparam dump /node dump.yaml
-t secs
- Timeout in seconds.
dynparam load
load node_name file.yaml
Load a configuration for a node from a file.
$ rosrun dynamic_reconfigure dynparam load /node dump.yaml
-t secs
- Timeout in seconds.
Python API
The dynamic_reconfigure.client module can be used to reconfigure dynamically reconfigurable nodes. Please refer to the Code API for the detailed API, and this tutorial for details on how to use this module.