Development of a Flight Control Program using Reinforcement Learning
Create an agent that flies to the target while avoiding obstacles
Goal of the project
The goal of this project was to provide Maya, a small unmanned aerial vehicle for ground observation at the university, with an obstacle avoidance function.
There are various methods to achieve obstacle avoidance, but our group decided to use reinforcement learning.
Result
Since the original control program of Maya was implemented in Simulink, I decided to use Matlab/Simulink for reinforcement learning.
There are two main methods using Matlab.
One is to create classes in m.files and learn them there.
The second method is using Simulink.
As a first step, I created a vertical-only class modeled after a small airplane, Cessna, in an m.file.
In this model, engine throttle and elevation rudder are used as actions.
These manipulation quantities are said to be low-level and directly affect the behavior of the aircraft.
The green ellipse shows the obstacle and the red dot shows the goal point.
Due to the low-level manipulation volume, the agent had to learn to fly first. Therefore the learning process was very unstable.
In the above gif image, it can be seen that the aircraft turned up abruptly and the episode ended suddenly.