Learning to Navigate in Turbulent Flows with Aerial Robot Swarms: A Cooperative Deep Reinforcement Learning Approach
arXiv:2306.04781 · doi:10.1109/LRA.2023.3280806
Abstract
Aerial operation in turbulent environments is a challenging problem due to the chaotic behavior of the flow. This problem is made even more complex when a team of aerial robots is trying to achieve coordinated motion in turbulent wind conditions. In this paper, we present a novel multi-robot controller to navigate in turbulent flows, decoupling the trajectory-tracking control from the turbulence compensation via a nested control architecture. Unlike previous works, our method does not learn to compensate for the air-flow at a specific time and space. Instead, our method learns to compensate for the flow based on its effect on the team. This is made possible via a deep reinforcement learning approach, implemented via a Graph Convolutional Neural Network (GCNN)-based architecture, which enables robots to achieve better wind compensation by processing the spatial-temporal correlation of wind flows across the team. Our approach scales well to large robot teams -- as each robot only uses information from its nearest neighbors -- , and generalizes well to robot teams larger than seen in training. Simulated experiments demonstrate how information sharing improves turbulence compensation in a team of aerial robots and demonstrate the flexibility of our method over different team configurations.
References in corpus (8)
- Adam: A Method for Stochastic Optimization
- Auto-Encoding Variational Bayes
- Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor
- Graphs, Convolutions, and Neural Networks: From Graph Filters to Graph Neural Networks
- Geometric Adaptive Control for a Quadrotor UAV with Wind Disturbance Rejection
- FluidDyn: a Python open-source framework for research and teaching in fluid dynamics
- FluidFFT: common API (C++ and Python) for Fast Fourier Transform HPC libraries
- FluidSim: modular, object-oriented Python package for high-performance CFD simulations