sync_params package from sync_params reposync_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 |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
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 for package sync_params
1.0.1 (2018-02-19)
- added tests
- Merge branch 'master' of https://github.com/NicksSimulationsROS/sync_params
- cpp time to wall time
- Update package.xml
- Update example1.launch
- Update example2.launch
- Create README.md
- first commit
- Contributors: Nick Sullivan
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
roslaunch | |
catkin | |
message_generation | |
message_runtime | |
roscpp | |
std_msgs | |
master_discovery_fkie | |
master_sync_fkie |
System Dependencies
Dependant Packages
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]