sync_parameter_server package from sync_parameter_server repo


Package Summary

Tags No category tags.
Version 1.0.1
License Apache 2.0
Build type AMENT_CMAKE

Repository Summary

Checkout URI
VCS Type git
VCS Version main
Last Updated 2024-01-27
CI status No Continuous Integration
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

TODO: Package description

Additional Links

No additional links.


  • Tatsuro Sakaguchi


No additional authors.


ROS2 package for managing the synchronization of parameters between multiple nodes.


This package provides synchronization of parameter values between ROS2 parameters. While ROS2 allows for dynamic changes of parameters, the management of these parameters is done on a per-node basis. Therefore, even if they are set to maintain relationships with parameters of other nodes by default, depending on how they are used, these relationships can be disrupted. This package addresses this issue by having the SyncParameterServer handle parameter change events and synchronize them with parameters of other registered nodes, thereby enhancing the system's adaptability to dynamic changes in parameters.

Furthermore, by setting up the SyncParameterServer, it is possible to clarify the dependencies between parameters. This can make it easier for users to understand the intentions of the parameter adjusters.


The SyncParameterServer is a class that manages the synchronization of parameters between multiple nodes. If the default value is changed using the set_parameters service call to this node, the parameters to be synchronized with other nodes will also be changed.


  • sync_parameters (string_array, default: []): Group names of parameters to be synchronized.
  • [sync_group_name].params (string_array, default: []): Parameter names to be synchronized. The parameter name is specified in the form of path/to/node/parameter_name.
  • [sync_group_name].type (string, default: ''): Type of parameter to be synchronized. The type of parameter is available in the following types.
    • bool
    • integer
    • double
    • string
    • bool_array
    • integer_array
    • double_array
    • string_array
  • [sync_group_name].default (any): Default value of parameter to be synchronized.
  • [sync_group_name].[parameter_name].scale (double, default: 1.0, optional): Scaling factor of parameter to be synchronized. This parameter is only valid if [sync_group_name].type is double or integer.
  • [sync_group_name].[parameter_name].offset (double, default: 0.0, optional): Offset of parameter to be synchronized. This parameter is only valid if [sync_group_name].type is double or integer.

Please refer to sample.yaml for the sample.


Changelog for package sync_parameter_server

1.0.1 (2024-01-27)

  • Fix buildtool_depend
  • Fix secret name
  • Add release CI
  • Contributors: Tatsuro Sakaguchi

1.0.0 (2024-01-12)

  • Add scale and offset to integer
  • Add document
  • Add sync parameter server node
  • Initial commit
  • Contributors: Tatsuro Sakaguchi

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

No launch files found


No message files found.


No service files found


No plugins found.

Recent questions tagged sync_parameter_server at Robotics Stack Exchange