Unmanned aerial vehicles (UAVs) have numerous applications, but their efficient and optimal flight can be a challenge. Reinforcement Learning (RL) has emerged as a promising approach to address this challenge, yet there is no standardized library for testing and benchmarking RL algorithms on UAVs. In this paper, we introduce PyFlyt, a platform built on the Bullet physics engine with native Gymnasium API support. PyFlyt provides modular implementations of simple components, such as motors and lifting surfaces, allowing for the implementation of UAVs of arbitrary configurations. Additionally, PyFlyt includes various task definitions and multiple reward function settings for each vehicle type. We demonstrate the effectiveness of PyFlyt by training various RL agents for two UAV models: quadrotor and fixed-wing. Our findings highlight the effectiveness of RL in UAV control and planning, and further show that it is possible to train agents in sparse reward settings for UAVs. PyFlyt fills a gap in existing literature by providing a flexible and standardised platform for testing RL algorithms on UAVs. We believe that this will inspire more standardised research in this direction.
翻译:无人机的高效和优化飞行是一个挑战,强化学习已成为解决该问题的一种有希望的方法。然而,目前没有标准化的测试和基准化RL算法的UAV库。本文介绍了PyFlyt,这是一个基于Bullet物理引擎构建的平台,具有原生的Gymnasium API支持。PyFlyt提供了简单构件的可扩展实现,如电动机和升降面,允许实现任意配置的UAV。此外,PyFlyt包括多种任务定义和每种飞行器类型的多种奖励函数设置。我们通过训练两种UAV模型(四旋翼和固定翼),展示了PyFlyt的有效性。我们发现RL在UAV控制和规划方面非常有效,并进一步证明了可以在UAV稀疏奖励设置下训练智能体。PyFlyt为现有文献中提供了一个灵活和标准化的平台,用于在UAV上测试RL算法。我们相信,这将激励更多关于这一领域的标准化研究。