sync_params package from sync_params repo


Package Summary

Tags No category tags.
Version 1.0.1
License BSD
Build type CATKIN

Repository Summary

Checkout URI
VCS Type git
VCS Version ros-kinetic
Last Updated 2018-02-19
CI status Continuous Integration
Package Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Synchronises parameters across multiple masters.

Additional Links


  • Nick Sullivan


  • Nick Sullivan


This package synchronises parameters between multiple masters. It periodically reads from the parameter server, publishes it to a global topic, then writes to the parameter server. It's intended to work across multiple masters in multimaster_fkie setups. Tested for versions Indigo and Kinetic.

Only new parameters will be written to the parameter server. No parameter will ever be overwritten.

By default, all parameters will be synchronised. The blacklist excludes parameters based on their name. The whitelist parameters are exempt from the blacklist. These can both be regular expressions. For example:

blacklist = ["/*"]
whitelist = [/my_parameter]

Would only synchronise my_parameter.

The parameter use_wall_time is designed for spawning robots in Gazebo. Gazebo pauses the ROS clock when loading a robot, and waits for the robot_description parameter. But that parameter might not get synchronised if sync_params uses the ROS clock.

1. Nodes

1.1 sync_params_node

1.1.1 Subscribed Topics

/params (sync_params/ParameterMsg)

The parameters to be synced.

1.1.2 Published Topics

/params (sync_params/ParameterMsg)

The parameters to be synced.

1.1.3 Parameters

~debug (boolean, default: False)

Whether to print out lots of information

~rate (double, default: 1.0)

The rate to read/publish/write parameters

~death_timer (double, default -1.0)

How many ROS seconds until publishing stops

~use_wall_time (boolean, default: False)

Whether to use computer clock instead of ROS clock. Does not affect death_timer

~blacklist (array, default: [])

List of parameter names to exclude from synchronising

~whitelist (array, default [])

List of parameter names to exclude from the blacklist


Changelog for package sync_params

1.0.1 (2018-02-19)

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Dependant Packages

No known dependants.

Launch files

  • launch/example2.launch
    • Launch twice: roslaunch sync_params example2.launch ns:=A -p 11311 roslaunch sync_params example2.launch ns:=B -p 11312 Then in a third terminal, type: rosparam set param_key param_value If successfull, the parameter will be detected in A, published on /params, then set in B. All parameters will be synchronised unless they are on the blacklist. Being on the whitelist will trump the blacklist. For example: Blacklist WhiteList Result [] [] Everything is synchronised /* [] Everything is blocked /* /my_param Everything except my_topic is blocked The blacklist and whitelist apply to both outgoing and incoming parameter synchronisations.
      • ns [default: B]
  • launch/example1.launch
    • Launch twice: roslaunch sync_params example1.launch ns:=A -p 11311 roslaunch sync_params example1.launch ns:=B -p 11312 Then in a third terminal, type: rosparam set param_key param_value If successful, the parameter will be detected in A, published on /params, then set in B. You can see the parameters with 'rosparam list'.
      • ns [default: A]


No service files found


No plugins found.

Recent questions tagged sync_params at