-
 

Package Summary

Tags No category tags.
Version 1.3.0
License Apache License 2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/cpswarm/swarm_behaviors.git
VCS Type git
VCS Version kinetic-devel
Last Updated 2021-02-04
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

A package that performs optimal coverage with a swarm of unmanned aerial vehicles (UAVs). The UAVs optimally divide the area to be covered among each other.

Additional Links

Maintainers

  • Micha Sende

Authors

  • Micha Sende

uav_optimal_coverage

Build Status

This package performs coverage with a swarm of unmanned aerial vehicles (UAVs). The UAVs optimally divide the area to be covered among each other. It is part of the swarm behaviors library.

Dependencies

This package depends on the following message definitions:

The following library packages of the swarm behaviors library are required:

  • swarm_behaviors_position

The following packages of the swarm functions library are required:

  • area_division
  • coverage_path
  • target_monitor (only if single_target=true)

Further required packages are:

Execution

Run the launch file

roslaunch uav_optimal_coverage uav_optimal_coverage.launch

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

Nodes

uav_optimal_coverage

The uav_optimal_coverage performs coverage with a swarm of UAVs. The coverage is optimal in a sense that the area to be covered is divided among the UAVs to avoid overlapping regions to be covered multiple times. Within each region, the assigned UAV sweeps the area using simple back and forth (boustrophedon) motion. Once the region has been sweeped completely, it aborts the coverage. When the parameter single_target is set to true, it succeeds once a target has been found and returns the target ID and position. The area division and coverage path generation are provided by the swarm functions library.

Action Goal

  • uav_coverage/goal (cpswarm_msgs/CoverageGoal) A goal that starts the optimal coverage behavior. It contains the altitude at which to operate.

Action Result

Subscribed Topics

  • target_found (cpswarm_msgs/TargetPositionEvent) Position and ID of a target detected by the target monitor. Only subscribed when single_target is set to true.

Services Called

Parameters

  • ~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.
  • ~single_target (boolean, default: true) Whether the algorithm will succeed / terminate once a target has been found.

Code API

uav_optimal_coverage package code API documentation

CHANGELOG

Changelog for package uav_optimal_coverage

1.3.0 (2020-01-03)

1.2.0 (2019-12-29)

  • Changed: Refactor library structure
  • Changed: Use position setpoint
  • Changed: Return state aborted once coverage finishes
  • Changed: Use current position to determine next waypoint
  • Changed: Targets handled by swarm functions library
  • Fixed: Correctly handle state of behavior algorithm
  • Fixed: Stop moving when behavior finishes
  • Fixed: Completely traverse path
  • Fixed: Force C++11
  • Fixed: Returning of target
  • Initial release of uav_optimal_coverage
  • Contributors: Micha Sende

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Name Deps
swarm_behaviors

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged uav_optimal_coverage at Robotics Stack Exchange