Documentation Status

dynamic_reconfigure

Package Summary

Documented

This package provides a class to facilitate dynamic node reconfiguration. This package is still under development, and should be considered unstable except for features that are explicitely marked as stable in the documentation.

Package Summary

Released Continuous integration Documented

This unary stack contains the dynamic_reconfigure package which provides a means to change node parameters at any time without having to restart the node.

Package Summary

Released Continuous integration Documented

This unary stack contains the dynamic_reconfigure package which provides a means to change node parameters at any time without having to restart the node.

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.

Report a Bug

Use trac to report bugs or request features. [View active tickets]

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):

reconfigure_gui.png

Selecting a node displays its parameters with editors for modifying their values:

reconfigure_gui_node.png

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.

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.

Report a Bug

Use GitHub to report bugs or submit feature requests. [View active issues]

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 is now provided in rqt.For more info check out rqt_reconfigure.

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.

Wiki: dynamic_reconfigure (last edited 2013-08-13 23:39:29 by TullyFoote)