No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.

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 2020-02-13
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Package Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A package that divides the available environment area among multiple cyber physical systems (CPSs) in a swarm.

Additional Links

Maintainers

  • Micha Sende

Authors

  • Micha Sende

area_division

Build Status

This package divides the available environment area among multiple cyber physical systems (CPSs) in a swarm. It is part of the swarm functions library.

Dependencies

This package depends on the following message definitions: * geometry_msgs * nav_msgs * cpswarm_msgs

The communication between CPSs is based on the CPSwarm Communication Library.

The following packages of the sensing and actuation library are required: * area_provider * *_pos_provider * *_pos_controller

Further required packages are: * roscpp

Execution

Run the launch file

roslaunch area_division area_division.launch

to launch the area_division 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 area_division.yaml that allows to configure the behavior of the area_division node.

Nodes

area_division

The area_division divides the environment area among multiple CPSs. When this node is running, it listens to area division requests by other CPSs to perform the area division. The division can also be triggered locally, by calling the area/assigned service. Once the area division starts, all CPSs that participate in the area division, stop moving, and synchronize in order to achieve the same area division result. The division algorithm is based on the DARP algorithm which tries to divide the area optimally. Each CPS is assigned an equal share of the environment that includes its current position.

Subscribed Topics

Published Topics

Services

  • area/assigned (nav_msgs/GetMap) Provides the map of the area assigned to this CPS.

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.
  • resolution (real, default: 1.0 The grid map underlying the area division will be downsampled to this resolution in meter / cell.
  • ~swarm_timeout (real, default: 5.0) The time in seconds to wait after an area division event before starting the area division.
  • ~visualize (boolean, default: false) Whether to publish the area division on a topic for visualization.
  • ~/optimizer/iterations (integer, default: 10) Maximum number of iterations of the optimization algorithm.
  • ~/optimizer/variate_weight (real, default: 0.01) Maximum variate weight of connected components.
  • ~/optimizer/discrepancy (integer, default: 30) Maximum difference between number of assigned grid cells to each CPS.

Code API

area_division package code API documentation

CHANGELOG

Changelog for package area_division

1.1.0 (2019-10-31)

  • Initial release of area_division
  • Contributors: Micha Sende

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged area_division at answers.ros.org

No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.