[Documentation] [TitleIndex] [WordIndex

YAML Format

YAML is a lightweight markup language that supports all parameter types. For more on YAML, see the YAML 1.2 spec. For tips on entering YAML in at the command-line, please see the YAML command line guide.

rosparam uses a 1-to-1 correspondence between Parameter Server types and YAML types. For example:

string: 'foo'
integer: 1234
float: 1234.5
boolean: true
list: [1.0, mixed list]
dictionary: {a: b, c: d}

YAML dictionaries can occur as the argument to the load and set commands of rosparam. Dictionaries in this context are interpreted differently from namespace dictionaries that are set as the value of a parameter (e.g. from a C++ or Python node). Instead of replacing a parameter namespace, dictionaries in rosparam are unpacked into individual parameters to be set on the Parameter Server. Thus, rosparam dictionaries can be thought of as adding new values to a parameter namespace.

There are also special converters for angle radian/degree representations. Any Python-legal mathematical expression can be used with the radian value, with pi used to represent pi.

angle1: rad(2*pi)
angle2: deg(180)


angle1: !degrees 181.0
angle2: !radians 3.14169

In either case, the angle value is converted to radians (float).

roslaunch API

The <rosparam> tag enables the use of the rosparam tool for loading and dumping parameters encoded in YAML files. The <rosparam> tag can be put inside of a <node> tag, in which case the parameter is treated like a private name.

rosparam command-line tool

The rosparam tool enables command-line setting and getting of parameters as well as loading and dumping Parameter Server state to a file. The currently supported commands are:

rosparam set    set parameter
rosparam get    get parameter
rosparam load   load parameters from file
rosparam dump   dump parameters to file
rosparam delete delete parameter
rosparam list   list parameter names

Command-line arguments to rosparam obey the ROS_NAMESPACE environment variable (see Environment Variables). Parameter names that are not globally specified are resolved with respect to ROS_NAMESPACE.

NOTE: get and dump are essentially the same command, as are set and load, with the only difference being whether or not a file is used.

rosparam list

rosparam get

rosparam set

rosparam delete

rosparam dump

rosparam load


rosparam is a stable command-line tool within the ROS core toolchain. No major feature development is currently scheduled for this tool.

See Also

2024-06-15 13:46