PEDRA is a programmable engine for Drone Reinforcement Learning (RL) applications. The engine is developed in Python and is module-wise programmable. PEDRA is targeted mainly at goal-oriented RL problems for drones, but can also be extended to other problems. The engine interfaces with Unreal gaming engine using AirSim to create the complete platform. PEDRA comes equip with a list of rich 3D realistic environments created using Unreal Gaming Engine that can be used for the underlying drone problem. Different level of details are added to make the environments look as realistic as possible. Once the environment is selected, it is interfaced with PEDRA using AirSim. AirSim is an open source plugin developed by Microsoft that interfaces Unreal Engine with Python. It provides basic python functionalities controlling the sensory inputs and control signals of the drone. PEDRA is built onto the low level python modules provided by AirSim creating higher level python modules for the purpose of drone RL applications
PEDRA comes equip with a library of 3D realistic environments that can be used for drone applications. The environments fall into two categories. Indoor environments, and Outdoor environments
PEDRA comes equip with three different drone models. The action space of these drones can be defined by user
PEDRA uses Tensorflow as it's ML platform. Other ML platforms can be used by editing specific python modules
PEDRA comes equip with three different drone models. The action space of these drones can be defined by user
During training PEDRA displays GPU and system stats such as utilzation, memory etc using tensorboard
PEDRA supports DeepQLearning and REINFORCE. More algorithms are being added.
This version of PEDRA supports single drone. This is particularly useful for those who are not concerned about distributed algorithms and want simple things to be carried out on single drone
This version of PEDRA supports multiple drones in the same environement. The number of drones is a user defined parameter. This version is helpful for those looking into distributed algorithms
If you find this repository useful for your research please use the following bibtex citations
This work was supported in part by C-BRIC, one of six centers in JUMP, a Semiconductor Research Corporation(SRC) program sponsored by DARPA