FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

ttechnick/Decentralized_mCPP: Final Project for the ATIC Course at ETH Zurich: Decentralized Communication and Energy-Aware Multi-UAV Coverage Path Planning · GitHub

Repository files navigation

Communication and Energy-Aware Multi-UAV Coverage Path Planning

This repository implements a distributed multi-UAV coverage path planning system for networked operations based on our paper:

"Decentralized Communication and Energy-Aware Multi-UAV Coverage Path Planning"
Felix Muller and Nick Truttmann
ETH Zurich, 2025

License

This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.



Overview

This project addresses the challenge of deploying multiple UAVs to efficiently cover an area while maintaining network connectivity and minimizing energy consumption. We implement a novel approach combining:

  1. Distributed centroid Voronoi partitioning: Divides the workspace evenly among UAVs while accounting for their relative capabilities
  2. Spanning Tree Coverage (STC): Generates efficient coverage paths within each partition
  3. Communication Radius estimation: Uses GHS algorithm to create a minimum spanning tree (MST) to estimate the required communication range.
  4. Distributed Bayesian Optimization via Thompson Sampling: Optimizes starting positions and seeds to minimize both energy consumption and communication radius

The system is implemented as a distributed multi-agent ROS2 application where each UAV operates independently while maintaining network connectivity.

Results

Our approach achieves:

  • Balanced area assignment among homogenous UAVs
  • Complete coverage with minimal path overlap
  • Optimized energy efficiency
  • Scalability to multiple UAVs

Usage

Launch the system with four UAVs:

ros2 run controller controller

Monitoring and cleanup:

ros2 node list

killall -9 uav_agent

Implementation Details

Each agent uses multiple mixins:

  • PartitionMixin: Implements distributed power diagram partitioning
  • STCMixin: Implements Spanning Tree Coverage algorithm
  • RadiusMixin: Handles communication radius calculations
  • EnergyMixin: Computes energy consumption for paths

About

Final Project for the ATIC Course at ETH Zurich: Decentralized Communication and Energy-Aware Multi-UAV Coverage Path Planning

Resources

Stars

6 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages


Back | FazBrowse Home | New Git URL