This package depends on the following message definitions:

The following packages of the sensing and actuation library are required:

  • area_provider
  • *_pos_provider
  • *_pos_controller

Further required packages are:



The position library provides position related functionalities. These functionalities can be grouped into three categories: calculations, retrieval of sensor data, and setting of actuators. The calculations include distance measurements, checking whether a position is in the defined environment, and calculation of goal positions. The sensor data includes absolute and relative bearing as well as local position. The actuators to be controlled is locomotion by providing a goal position waypoint.

Subscribed Topics

pos_provider/pose (geometry_msgs/PoseStamped)
  • Position and orientation of the CPS.

Published Topics

pos_controller/goal_position (geometry_msgs/PoseStamped)
  • The goal waypoint where the CPS shall move to.

Services Called

area/out_of_bounds (cpswarm_msgs/OutOfBounds)
  • Check whether a coordinate is within the defined environment area.


~loop_rate (real, default: 5.0)
  • The frequency in Hz at which to run the control loops.
~queue_size (integer, default: 1)
  • The size of the message queue used for publishing and subscribing to topics.
~goal_tolerance (real, default: 0.1)
  • The distance in meter that the CPS can be away from a goal while still being considered to have reached that goal.
~visualize (boolean, default: false)
  • Whether to publish the goal waypoint on a topic for visualization.


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

Wiki: swarm_behaviors_position (last edited 2020-01-23 18:28:29 by MichaSende)