state_exchanger package from swarm_functions repoarea_division coverage_path kinematics_exchanger state_exchanger swarm_functions target_monitor task_allocation |
|
Package Summary
Tags | No category tags. |
Version | 1.1.0 |
License | Apache License 2.0 |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/cpswarm/swarm_functions.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2021-01-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
- Micha Sende
Authors
- Micha Sende
state_exchanger
This package exchanges behavioral states between multiple cyber physical systems (CPSs) in a swarm.
Dependencies
This package depends on the following message definitions:
The communication between CPSs is based on the CPSwarm Communication Library.
The state that is exchanged is read from a SMACH state machine.
Further required packages are:
Execution
Run the launch file
roslaunch state_exchanger state_exchanger.launch
to launch the state_exchanger
node.
The launch file can be configured with following parameters:
-
id
(integer, default:1
) The identifier (ID) of the CPS used for name spacing in simulation. -
output
(string, default:screen
) Whether to show the program output (screen
) or to write it to a log file (log
).
In the param
subdirectory there is the parameter file state_exchanger.yaml
that allows to configure the behavior of the state_exchanger
node.
Nodes
state_exchanger
The state_exchanger
node publishes behavioral states of this CPS to the rest of the swarm and publishes the state received from the other swarm members locally. The state is taken from a locally running SMACH state machine. If the CPS is in multiple states, only the first one is considered.
Subscribed Topics
-
smach_server/smach/container_status
(smach_msgs/SmachContainerStatus) The current state of this CPS. -
bridge/events/state
(cpswarm_msgs/StateEvent) The current state of another CPS. Messages are exchanged between CPSs using the CPSwarm Communication Library.
Published Topics
-
state
(cpswarm_msgs/StateEvent) The current state of this CPS that is forwarded by the CPSwarm Communication Library to the other swarm members. -
swarm_state
(cpswarm_msgs/ArrayOfStates) The states of the other swarm members received through the CPSwarm Communication Library.
Parameters
-
~loop_rate
(real, default:1.5
) The frequency in Hz at which to run the control loops. -
~queue_size
(integer, default:10
) The size of the message queue used for publishing and subscribing to topics. -
~timeout
(real, default:20.0
) The time in seconds after which another CPS is considered to have left the swarm. -
~sm_path
(string, default:/SM_TOP
) The path of the smach state machine whose state shall be exchanged.
Code API
Changelog for package state_exchanger
1.1.0 (2019-10-31)
- Initial release of state_exchanger
- Contributors: Micha Sende
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
roscpp | |
smach_msgs | |
cpswarm_msgs |
System Dependencies
Dependant Packages
Name | Deps |
---|---|
swarm_functions |
Launch files
- launch/state_exchanger.launch
-
- id [default: 1]
- output [default: log]