Control policy training for a Simulation-to-Real transfer: Simulation-to-real case study
Tikka, Petri (2022)
Tikka, Petri
2022
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2022-05-11
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202204253566
https://urn.fi/URN:NBN:fi:tuni-202204253566
Tiivistelmä
Robots have been deployed in various fields of the industry, with the expectation of managing more tasks for humans. Simulation-to-real is a relatively new discipline within robotics that offers an alternative approach to the traditional programming methods by training a model of the robot in a simulator and afterwards transferring the knowledge to control the physical counterpart. The knowledge is located in a deep reinforcement learning policy that is carefully selected and tuned for the intended task.
The thesis studied tools and steps that are required to implement a physical system that is trained using the sim-to-real transfer learning. The chosen use case is a Universal Robots UR10e manipulator that is to locate and reach a stationary target in the physical world. Because the scope is to provide a proof-of-concept pipeline for the simulation-to-real process, the only part in the use case requiring adaption is the changing location of the target. However, target reaching is a fundamental task in robotics for which more complex tasks are based upon.
The simulation environment was constructed from a CAD-model of the physical robot cell that was later updated within the chosen simulator CoppeliaSim. For the convenience of having the kinematic chain premade, the manipulator was changed in the simulator to an older version UR10. Also, the gripper was changed to an older version. The control in the simulation environment followed the Markov Decision Process having a manipulator as an agent interacting with the environment. As the agent performed actions in available states, it tried to maximize the total cumulative reward and learned accordingly. The goal was to reach a simulated target that position was randomized along a specified line segment. In practice, the algorithms learned trajectory paths in joint space under given environment constraints while the agent controlled the manipulator with velocity based forward kinematics. The overall process was scripted as Python modules with an interface to the simulator. The considered deep reinforcement learning algorithms were Deep Deterministic Policy Gradient and Soft Actor-Critic.
The algorithms were validated in the simulation and Deep Deterministic Policy Gradient was chosen for the simulation-to-real transfer owing to its better performance. The transfer was based on a zero-shot method where the policy controlled the physical manipulator from the simulation. Control included the joint positions of the simulated manipulator that were forwarded to the physical counterpart via Robot Operating System network. Therefore, the knowledge transfer only considers kinematics. The network conjoined the simulator, the manipulator and the machine vision system, which was responsible of tracking the target, an ArUco marker. The marker position replaced the random position of the simulated target.
The simulation-to-real transfer process demonstrates a working step-by-step pipeline, which at the time of writing this thesis was not publicly provided. The resulted policy learned a redundant kinematics trajectory with geometrical limitations. The manipulator reaches the target within the given precision threshold with a collision free path. At the same time the reality gap between simulation and reality is explained and managed. Although the task related results are not generalizable, the concept of simulation-to-real transfer is applicable to more complex tasks. Robottien määrä on yleistynyt teollisuuden eri aloilla sillä oletuksella, että ne kykenisivät toteuttamaan entistä enemmän ihmisille tarkoitettuja tehtäviä. Perinteisten menetelmien lisäsi robottien ohjelmointia voidaan lähestyä ’simulaatiosta todellisuuteen’ tieteenalan keinoin, joka on suhteellisen uusi robotiikan haara. ’Simulaatiosta todellisuuteen’ perustuu robotin kouluttamiseen simulaatiossa ja koulutetun tiedon siirtämiseen fyysiselle vastinparille. Tieto sijoittuu syvään vahvistelun oppimisen menettelytapaan, joka on huolellisesti valittu ja viritetty aiottua tehtävää varten.
Diplomityössä tutkittiin työkaluja ja vaiheita, joita tarvitaan ’simulaatiosta-todellisuuteen’ siirto-oppimisen avulla koulutetun fyysisen järjestelmän toteuttamiseen. Valittu ympäristö on Universal Robots UR10e-manipulaattori, jonka tehtävänä on paikantaa ja saavuttaa paikallaan oleva kohde fyysisessä maailmassa. Koska työn tarkoituksena on tarjota konsepti ’simulaatiosta todellisuuteen’ prosessille, ainoa mukautumista vaativa osa käyttötapauksessa on kohteen muuttuva sijainti. Huomioitavaa on, että kohteen saavuttaminen on kuitenkin robotiikan perustehtäviä, johon monimutkaisemmat tehtävät perustuvat.
Simulaatioympäristö rakennettiin fyysisen robottisolun CAD-mallista, jota päivitettiin myöhemmin valitussa CoppeliaSim-simulaattorissa. Työn helpottamiseksi, simulaatiossa hyödynnetään vanhempaa manipulaattorimallia UR10:ä, joka sisälsi nativisti kinemaattisen ketjun. Myös tarttuja vaihdettiin vanhempaan malliin simulaattorissa. Simulaatioympäristön ohjaus seurasi Markovin päätösprosessia, jossa agentti eli manipulaattori on vuorovaikutuksessa ympäristön kanssa. Kun agentti suoritti toimintoja mahdollisissa tiloissa, se pyrki maksimoimaan kumulatiivisen kokonaispalkkion ja oppi sen mukaisesti. Simuloidun robotin kohteen paikka vaihteli satunnaisesti työalueella olevalla janalla, ja robotin ohjaus toteutettiin nopeuteen perustuvalla suoralla kinematiikalla. Prosessi toteutettiin Python moduuleilla ja valitut oppivat algoritmit olivat Deep Deterministic Policy Gradient sekä Soft Actor-Critic.
Algoritmit validoitiin simulaatiossa ja Deep Deterministic Policy Gradient valittiin ’simulaatiosta todellisuuteen’ siirtoa varten sen tuottamien vakaampien ja turvallisempien liikeratojen johdosta. Tiedon siirto perustui zero-shot menetelmään, jossa menettelytapa ohjasi fyysistä manipulaattoria simulaation välityksellä. Nivelten paikkatiedot välitettiin simulaatiosta fyysiselle robotille Robot Operating System-verkon kautta. Koska ainoa välitetty tieto simulaatiosta fyysiselle robotille on paikkaperusteista, on kehitetty menetelmä käytännössä vain kinemaattinen. Käytetty tietoverkko yhdisti simulaattorin, manipulaattorin sekä konenäköjärjestelmän, joka vastasi ArUco merkkitunnisteen paikantamisesta. Kyseisen tunnisteen sijainti korvasi simulaatiossa olevan satunnaisesti vaihtelevan kohteen sijainnin.
Esitetty ’simulaatiosta-todellisuuteen’ tiedonsiirtoprosessi osoittaa toimivan vaiheittaisen toteutusketjun, jollaista ei ollut julkisesti saatavilla tätä diplomityötä kirjoitettaessa. Koulutettu algoritmi kykenee vastaamaan geometrisin rajoituksin ja redundanttisten vapausasteiden mukaisen liikkeen suunnittelun ongelmaan. Fyysinen manipulaattori saavuttaa kohteen törmäysvapaalla liikerajalla annetun tarkkuuskynnyksen rajoissa. Samalla simulaation ja todellisuuden välillä olevan todellisuuseron vaikutukset pystytään selittämään ja vaikutukset esittämään. Vaikka kohteen saavuttamistehtävään liittyvät tulokset eivät ole yleistettävissä muihin tehtäviin, on esitetty ’simulaatiosta todellisuuteen’ konsepti sovellettavissa vaativampikin tehtäviin.
The thesis studied tools and steps that are required to implement a physical system that is trained using the sim-to-real transfer learning. The chosen use case is a Universal Robots UR10e manipulator that is to locate and reach a stationary target in the physical world. Because the scope is to provide a proof-of-concept pipeline for the simulation-to-real process, the only part in the use case requiring adaption is the changing location of the target. However, target reaching is a fundamental task in robotics for which more complex tasks are based upon.
The simulation environment was constructed from a CAD-model of the physical robot cell that was later updated within the chosen simulator CoppeliaSim. For the convenience of having the kinematic chain premade, the manipulator was changed in the simulator to an older version UR10. Also, the gripper was changed to an older version. The control in the simulation environment followed the Markov Decision Process having a manipulator as an agent interacting with the environment. As the agent performed actions in available states, it tried to maximize the total cumulative reward and learned accordingly. The goal was to reach a simulated target that position was randomized along a specified line segment. In practice, the algorithms learned trajectory paths in joint space under given environment constraints while the agent controlled the manipulator with velocity based forward kinematics. The overall process was scripted as Python modules with an interface to the simulator. The considered deep reinforcement learning algorithms were Deep Deterministic Policy Gradient and Soft Actor-Critic.
The algorithms were validated in the simulation and Deep Deterministic Policy Gradient was chosen for the simulation-to-real transfer owing to its better performance. The transfer was based on a zero-shot method where the policy controlled the physical manipulator from the simulation. Control included the joint positions of the simulated manipulator that were forwarded to the physical counterpart via Robot Operating System network. Therefore, the knowledge transfer only considers kinematics. The network conjoined the simulator, the manipulator and the machine vision system, which was responsible of tracking the target, an ArUco marker. The marker position replaced the random position of the simulated target.
The simulation-to-real transfer process demonstrates a working step-by-step pipeline, which at the time of writing this thesis was not publicly provided. The resulted policy learned a redundant kinematics trajectory with geometrical limitations. The manipulator reaches the target within the given precision threshold with a collision free path. At the same time the reality gap between simulation and reality is explained and managed. Although the task related results are not generalizable, the concept of simulation-to-real transfer is applicable to more complex tasks.
Diplomityössä tutkittiin työkaluja ja vaiheita, joita tarvitaan ’simulaatiosta-todellisuuteen’ siirto-oppimisen avulla koulutetun fyysisen järjestelmän toteuttamiseen. Valittu ympäristö on Universal Robots UR10e-manipulaattori, jonka tehtävänä on paikantaa ja saavuttaa paikallaan oleva kohde fyysisessä maailmassa. Koska työn tarkoituksena on tarjota konsepti ’simulaatiosta todellisuuteen’ prosessille, ainoa mukautumista vaativa osa käyttötapauksessa on kohteen muuttuva sijainti. Huomioitavaa on, että kohteen saavuttaminen on kuitenkin robotiikan perustehtäviä, johon monimutkaisemmat tehtävät perustuvat.
Simulaatioympäristö rakennettiin fyysisen robottisolun CAD-mallista, jota päivitettiin myöhemmin valitussa CoppeliaSim-simulaattorissa. Työn helpottamiseksi, simulaatiossa hyödynnetään vanhempaa manipulaattorimallia UR10:ä, joka sisälsi nativisti kinemaattisen ketjun. Myös tarttuja vaihdettiin vanhempaan malliin simulaattorissa. Simulaatioympäristön ohjaus seurasi Markovin päätösprosessia, jossa agentti eli manipulaattori on vuorovaikutuksessa ympäristön kanssa. Kun agentti suoritti toimintoja mahdollisissa tiloissa, se pyrki maksimoimaan kumulatiivisen kokonaispalkkion ja oppi sen mukaisesti. Simuloidun robotin kohteen paikka vaihteli satunnaisesti työalueella olevalla janalla, ja robotin ohjaus toteutettiin nopeuteen perustuvalla suoralla kinematiikalla. Prosessi toteutettiin Python moduuleilla ja valitut oppivat algoritmit olivat Deep Deterministic Policy Gradient sekä Soft Actor-Critic.
Algoritmit validoitiin simulaatiossa ja Deep Deterministic Policy Gradient valittiin ’simulaatiosta todellisuuteen’ siirtoa varten sen tuottamien vakaampien ja turvallisempien liikeratojen johdosta. Tiedon siirto perustui zero-shot menetelmään, jossa menettelytapa ohjasi fyysistä manipulaattoria simulaation välityksellä. Nivelten paikkatiedot välitettiin simulaatiosta fyysiselle robotille Robot Operating System-verkon kautta. Koska ainoa välitetty tieto simulaatiosta fyysiselle robotille on paikkaperusteista, on kehitetty menetelmä käytännössä vain kinemaattinen. Käytetty tietoverkko yhdisti simulaattorin, manipulaattorin sekä konenäköjärjestelmän, joka vastasi ArUco merkkitunnisteen paikantamisesta. Kyseisen tunnisteen sijainti korvasi simulaatiossa olevan satunnaisesti vaihtelevan kohteen sijainnin.
Esitetty ’simulaatiosta-todellisuuteen’ tiedonsiirtoprosessi osoittaa toimivan vaiheittaisen toteutusketjun, jollaista ei ollut julkisesti saatavilla tätä diplomityötä kirjoitettaessa. Koulutettu algoritmi kykenee vastaamaan geometrisin rajoituksin ja redundanttisten vapausasteiden mukaisen liikkeen suunnittelun ongelmaan. Fyysinen manipulaattori saavuttaa kohteen törmäysvapaalla liikerajalla annetun tarkkuuskynnyksen rajoissa. Samalla simulaation ja todellisuuden välillä olevan todellisuuseron vaikutukset pystytään selittämään ja vaikutukset esittämään. Vaikka kohteen saavuttamistehtävään liittyvät tulokset eivät ole yleistettävissä muihin tehtäviin, on esitetty ’simulaatiosta todellisuuteen’ konsepti sovellettavissa vaativampikin tehtäviin.