sync_params package from sync_params repo

sync_params

Package Summary

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

Repository Summary

Checkout URI https://github.com/NicksSimulationsROS/sync_params.git
VCS Type git
VCS Version ros-kinetic
Last Updated 2018-02-19
Dev Status DEVELOPED
Released RELEASED

Package Description

Synchronises parameters across multiple masters.

Additional Links

Maintainers

  • Nick Sullivan

Authors

  • Nick Sullivan

sync_params

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

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]

Services

No service files found

Plugins

No plugins found.

Recent questions tagged sync_params at answers.ros.org