Neodroid Playground: Designing environments and tasks for learning robots in virtual reality
Bachelor thesis
Permanent lenke
http://hdl.handle.net/11250/2617888Utgivelsesdato
2019Metadata
Vis full innførselSamlinger
Sammendrag
Denne bacheloroppgaven beskriver et Unity-prosjekt som forsøker å simplifisere utviklingav maskin-lærende robotter sine virtuelle miljøer og oppgaver. Prosjektet er todelt; endel baserer seg på å definere hvordan en bruker kan beskrive en oppgave for en lærenderobot som tar i bruk Reverse Curriculum Learning. Den andre delen går ut på konstruksjon av et rammeverk for å definere moduler og grensesnitt for å beskrive oppgaver, slikat også eksterne utviklere skal være i stand til å bygge på kodebasen med minst muligproblemer i tilfeller hvor eksempelmodulene vi har bygd ikke strekker til. En av de merutfordrende problemstillingene er implisitt konstruksjon av en evalueringsfunksjon forAI-agenten. Vi løste dette i systemet vårt ved å la brukeren beskrive tilstanden de ulikeobjektene skal være i for en måltilstand av miljøet. Dette gjør det mulig å beskrive enhvilken som helst oppgave i VR. Neodroid plattformen er ment for akademisk forskning, da prosjektet er open-source, men det er også et mål å løse problemstillinger i ulikeindustrier.Automasjon innad i ulike industrier har vært et en problemstilling i flere tiår. Deter mange manuelle oppgaver kan bli automatisert hvis en tilstrekkelig løsning fantes.Dette vil føre til reduserte driftskostnader, og i tillegg redusere potensielt skadeomfang ifarlige arbeidsmiljøer. Problemet er at det å automatisere arbeidsoppgaver ikke er enkelt.Et annet problem er at mange arbeidsoppgaver er for kompliserte og dynamiske til at dekan bli hardkodet.En mulig løsning på dette problemet er å simulere robotens trening i et virtuelt miljøslik at det ikke er noen fare å trene den opp ved hjelp av maskin læring i stedet forhardkodet oppførsel. Vårt mål for Neodroid Playground er å generalisere hvordan arbeidsoppgaven beskrives ved hjelp av virtuell virkelighet. This thesis describes a Unity project that aims to simplify the development of machinelearning agents’ environments and tasks. There are two parts of the task. It requiresexternal developers to be able to extend it with relative ease. Users of the system needto be able to load up a scene and annotate a task with the use of VR. One of the moredifficult issues to handle is implicit construction of an evaluation function for the AI. Wesolved this in our system by using conditions that describe what the desired goal state ofthe environment is. This makes it possible to describe any task through our interface inVR. The Neodroid platform is intended for use in academic research, as it is open source,but potentially also to solve issues in the industry.Automation in the industry is something people have been striving towards for several decades. There are a lot of man-hours of manual labour that can be automated ifthere is a reasonable solutiton to them. This will save time and money, but additionally, it will help reduce damage potential for labour that is done in hazardous workingenvironments. However, automating manual labour is not very straightforward, and thestandard in the industry is that simple tasks that do not need any consideration of theenvironment can easily be done by a hard-coded robot. This becomes a problem whenthe tasks have complex issues that are too advanced for hard-coded robots to resolve.A solution to these issues with automation is to simulate the robot in this environment and apply machine learning to it. That way, it will get years of experience througha simulated environment that is approximating the environment the task needs to beautomated within. Our vision for the Neodroid Playground is to simplify and generalizea way to describe these tasks within virtual reality, such that a robot can learn how to doit in the simulated environment.