Mechanical implementation of reinforcement learning algorithms
MetadataShow full item record
Reinforcement learning is a type of machine learning technique that can be used to solve classical control problems. One key difference between reinforcement learning and classical methods like PD or PID control is that reinforcement learning does not necessarily need a model of the system that is being controlled. Reinforcement learning uses a type of trial and error approach in which a reward function is implemented. The reinforcement learning algorithm focuses on maximizing the reward through a series of actions. In recent years there has been a renewed interest in reinforcement learning as it is a major component in new and even more sophisticated techniques such as "Deep Learning". This thesis aims to implement reinforcement learning in a mechanical system where the goal is to control the angular position and angular velocity of an arm that can rotate freely in a horizontal plane. Forces are applied to the arm via propeller and a pair of rudders controlled by a servo motor. The reward system makes use of an Inertial Measurement Unit to determine the orientation and rotation rate of the arm. A BeagleBone Blue single board computer is used to implement the reinforcement learning algorithm, store and process information about the system's states, and receive information from the onboard sensors. While the basic reinforcement learning algorithm has been around for a long time, implementing it into a physical problem is always a unique challenge. Throughout this thesis the process of transitioning between exploratory and exploitive phases of the machine learning process as well as the discretization of the system's state space will be examined. Finally, unique control objectives will be achieved through the development of reinforcement learning control policies.