Deep Reinforcement Learning (DRL) for AUAVs - UE Integration
Providing Machines the Ability to Learn from Experience
in PhotoRealistic Environments
ROLE: AI Software & Simulation Engineer
SKILLS UTILIZED: DRL model training & evaluation, DRL policy design, Environment Design & Development, 3D Modeling & Animation (Maya), Networking, Sensor Simulation, Data Collection, Data Processing, Data Analysis, Coding (C++, Python)
SOFTWARE: Unreal Engine, OpenAI Stable Baselines, OpenAI Gym, ROS 2, Substance Painter & Designer, Maya, TensorFlow, DJI SDK
Many tasks are not easily defined and/or too complex for supervised machine learning approaches. For these reasons, a technique known as reinforcement learning has grown in popularity. With this technique, agents learn from experience and eventually gain the ability to effectively perform a given task. However, even reinforcement learning has it's limits when applied to tasks with high dimensionality, thus large action and/or observation spaces.
Deep reinforcement learning (DRL), a version of reinforcement learning which utilizes deep neural networks is able to address the more complex tasks that standard RL can not. An excellent usecase of such a task is an UAV autonomously navigating through the center of a racing gate. For this project, Open AI's popular Baselines DRL library was integrated with Unreal Engine. Neural network hyperparameters are directly configurable through the user interface, allowing engineers to quickly iterate and test out various configurations. All of OpenAI's standarly available DRL networks are available for use with this Unreal Engine integration. Trained models are automatically saved to a dedicated directory on the machine running the simulator, and can easily loaded within the editor.
The DRL AUAV system's performance was tested using the autonomous gate navigation task, with the resultant model able to reach a 98.3% success rate during exploitation after approximately 10,000 episodes of training/exploration.