swarm_functions: area_division | coverage_path | kinematics_exchanger | state_exchanger | target_monitor | task_allocation

Package Summary

A package that exchanges behavioral states between multiple cyber physical systems (CPSs) in a swarm.

  • Maintainer status: developed
  • Maintainer: Micha Sende <sende AT lakeside-labs DOT com>
  • Author: Micha Sende <sende AT lakeside-labs DOT com>
  • License: Apache License 2.0
  • Source: git https://github.com/cpswarm/swarm_functions.git (branch: kinetic-devel)

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.

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)

Published Topics

state (cpswarm_msgs/StateEvent) swarm_state (cpswarm_msgs/ArrayOfStates)

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.

Acknowledgements

This work is supported by the European Commission through the CPSwarm H2020 project under grant no. 731946.

Wiki: state_exchanger (last edited 2019-11-05 16:02:49 by MichaSende)