Applying Reinforcement Learning for Controller Scheduling
Description
Full text not available
Abstract
Målet med denne masteroppgaven er å undersøke bruken av reinforcement learning for svitsjing mellom regulatorer. For å gjøre dette så er et reguleringsproblem som involverer to forskjellige regulatorer valgt. Det valgte systemet går ut på å balansere to parallelle og separate pendler som er fastmontert på en vogn. Den ene regulatoren er en energibasert regulator som er designet med den hensikt at den skal svinge begge pendlene opp mot toppen. Den andre regulatoren (LQR) er brukt for å stabilisere pendlene på toppen. Når det skal svitsjes mellom pendlene er uklart. Derfor er en reinforcement learning agent trent opp for å finne dette svitsjeområdet, når pendlene starter fra forskjellige initialbetingelser.
Reinforcement learning metoden Q-læring er brukt for å løse reguleringsproblemet. Istedenfor å bruke en tabell for å lagre Q-verdiene, så er et nevralt nettverk brukt for å estimere Q-verdiene. Forskjellige konfigurasjoner av tilstander ble observert for å finne ut av hvor mye informasjon agenten trengte å få fra miljøet. Resultatet ble sammenlignet med en intuitiv løsning for reguleringsproblemet.
Agenten klarte å svinge pendlene opp og stabilisere dem fra å starte hengende rett ned, og klarte å stabilisere dem 63,9 % av gangene når pendlene startet fra forskjellige vinkler. Resultatet var bedre enn den intuitive løsningen. Allikevel var det klart fra treningen at agenten hadde rom for forbedringer. En enkel mekanisme for svitsjing virket ikke til å eksistere med de gitte regulatorene og agenten produserte et svitsjeområde som var vanskelig å tolke. Det involverte mye mer svitsjing enn det som var antatt.
Fra testing var det klart at agenten hadde en uforutsigbar oppførsel slik at i reguleringsproblemer hvor dette er et problem, så er metoden ikke velegnet. Det gikk også en god del tid på å tune parameterne knyttet til reinforcement learning slik at det kan argumenteres, at for tiden som ble brukt, kunne man heller ha funnet svitsjeområdet manuelt ved hjelp av prøving og feiling for dette reguleringsproblemet. The aim of this thesis in to investigate the use of reinforcement learning for controller scheduling. To do this, a control problem that involves the use of two different controllers is selected. The chosen system is known as the parallel double inverted pendulum system, where the goal is to stabilize two separate pendulums that are mounted on a cart. An energy-based regulator is designed to swing up the pendulums near the upright position, and a linear quadratic regulator (LQR) is designed to stabilize both pendulums at the top. When to switch between the controllers is however not clear. Therefore a reinforcement learning agent was trained to find the switching areas, when the pendulums are starting at different initial conditions.
The reinforcement learning method Q-learning is used to solve this problem. Instead of using a table to store the Q-values, a neural network is used to estimate the Q-values.Different combination of states were observed to find how much information the agent needed about the environment.The result was compared with an intuitive solution to the control problem.
The agent was able to swing-up and stabilize the pendulums from a downright position, and succeeded 63.9 % of the time when initiating at different angles. This result was better than the intuitive approach. However, from testing it was clear that the agent could improve its performance. A simple switching mechanism did not seem to exist with the given regulators and the agent provided a switching area that was difficult to interpret. This involved much more switching than what was expected.
From testing it was clear that the agent behaved rather unpredictable such that in control problems where this is a concern, the proposed method is not ideal. Also a lot of time went in to tuning the reinforcement learning parameters such that it can be argued that for the time spent, finding the switching areas could have be done manually with a trial and error method for this control problem.