PyFlyt -- UAV Simulation Environments for Reinforcement Learning Research

Jun Jet Tai,Jim Wong,Mauro Innocente,Nadjim Horri,James Brusey,Swee King Phang
2023-04-04
Abstract: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.
Robotics
What problem does this paper attempt to address?
The problem that this paper attempts to solve is the challenge of efficient and optimal flight of unmanned aerial vehicles (UAVs). Although Reinforcement Learning (RL) has emerged as a promising method to address this challenge, there is currently a lack of a standardized library to test and benchmark RL algorithms on UAVs. Therefore, the paper introduces PyFlyt - a platform built on the Bullet physics engine that supports the native Gymnasium API. PyFlyt provides a modular implementation of simple components (such as motors and lifting surfaces), allowing for the implementation of UAVs in any configuration. In addition, PyFlyt also includes various task definitions and multiple reward function settings for each type of aircraft. The effectiveness of PyFlyt is demonstrated by training different RL agents in experiments on two UAV models (quadrotor and fixed - wing). The research results emphasize the effectiveness of RL in UAV control and planning and further indicate that agents of UAVs can be trained in sparse - reward settings. PyFlyt fills the gap in the existing literature and provides a flexible and standardized platform for testing RL algorithms on UAVs, which is expected to inspire more standardized research directions. In short, the main contributions of the paper are: - Providing a flexible and standardized platform (PyFlyt) for testing and evaluating RL algorithms on UAVs. - Supporting multiple UAV configurations, including multi - rotor and fixed - wing aircraft. - Including rich task definitions and reward function settings to meet different research needs. - Verifying the effectiveness and potential of RL in UAV control and planning through specific cases.