![]() |
state_exchanger package from swarm_functions repoarea_division battery_exchanger collision_avoidance coverage_path kinematics_exchanger roi_assignment 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 | noetic-devel |
Last Updated | 2023-06-01 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
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: * flexbe_msgs * cpswarm_msgs
The communication between CPSs is based on the CPSwarm Communication Library.
The state that is exchanged is read from a FlexBE state machine.
Further required packages are: * roscpp
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 FlexBE state machine. Each state is represented by a behavior ID, a checksum representing a specific version of a behavior.
Subscribed Topics
-
flexbe/status
(flexbe_msgs/BEStatus) The checksum of 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.
Code API
Changelog for package state_exchanger
1.1.0 (2019-10-31)
- Initial release of state_exchanger
- Contributors: Micha Sende
Wiki Tutorials
Source Tutorials
Dependant Packages
Launch files
- launch/state_exchanger.launch
-
- id [default: 1]
- read_only [default: false]
- output [default: log]
Messages
Services
Plugins
Recent questions tagged state_exchanger at answers.ros.org
![]() |
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 | No 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: * smach_msgs * cpswarm_msgs
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: * roscpp
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
Source Tutorials
Package Dependencies
Deps | Name | |
---|---|---|
1 | catkin | |
2 | roscpp | |
1 | smach_msgs | |
1 | cpswarm_msgs |
System Dependencies
Dependant Packages
Name | Repo | Deps |
---|---|---|
swarm_functions | github-cpswarm-swarm_functions |
Launch files
- launch/state_exchanger.launch
-
- id [default: 1]
- output [default: log]