Learning to Recharge: UAV Coverage Path Planning through Deep Reinforcement Learning

Mirco Theile, Harald Bayerlein, Marco Caccamo, Alberto L. Sangiovanni-Vincentelli
9/6/2023
cs.ROcs.LG

No official code found. Best implementation: theilem/uavSim (165 stars, BSD-3-Clause, last commit 2025-05-26).

Abstract

Coverage path planning (CPP) is a critical problem in robotics, where the goal is to find an efficient path that covers every point in an area of interest. This work addresses the power-constrained CPP problem with recharge for battery-limited unmanned aerial vehicles (UAVs). In this problem, a notable challenge emerges from integrating recharge journeys into the overall coverage strategy, highlighting the intricate task of making strategic, long-term decisions. We propose a novel proximal policy optimization (PPO)-based deep reinforcement learning (DRL) approach with map-based observations, utilizing action masking and discount factor scheduling to optimize coverage trajectories over the entire mission horizon. We further provide the agent with a position history to handle emergent state loops caused by the recharge capability. Our approach outperforms a baseline heuristic, generalizes to different target zones and maps, with limited generalization to unseen maps. We offer valuable insights into DRL algorithm design for long-horizon problems and provide a publicly available software framework for the CPP problem.

View on arXivView PDF

Code Implementations(1)

theilem/uavSimCommunity100%
BSD-3-Clause
16530PythonOct 20, 20201 years agoBSD-3-Clause

Similar Papers

Cite this paper

@article{theile2023learning,
  title  = {Learning to Recharge: UAV Coverage Path Planning through Deep Reinforcement Learning},
  author = {Mirco Theile and Harald Bayerlein and Marco Caccamo and Alberto L. Sangiovanni-Vincentelli},
  year   = {2023},
  eprint = {2309.03157},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2309.03157v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2309.03157.svg)](https://codeofpaper.com/paper/2309.03157)

Discussion