Segmentation of Kinesthetic Demonstrations into End-User Robot Programs
Loading...
URL
Journal Title
Journal ISSN
Volume Title
Sähkötekniikan korkeakoulu |
Master's thesis
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Authors
Date
2020-10-19
Department
Major/Subject
Control, Robotics and Autonomous Systems
Mcode
ELEC3025
Degree programme
AEE - Master’s Programme in Automation and Electrical Engineering (TS2013)
Language
en
Pages
63
Series
Abstract
The increase of robots in working environments has created a demand for workers who are capable of programming new tasks for them. Previously, the programming has been done exclusively by expert users due to the complexity of the process. The fields of End-User Programming and Programming by Demonstration have shared a goal of creating user-friendly approaches so that novice users may also participate in this programming process. Such approaches involve creating robot programs from user demonstrations using methods such as kinesthetic teaching and interaction with a Graphical User Interface. The approaches of Programming by Demonstration involve fluent and uninterrupted demonstrations, while the end results often include models, which are difficult to comprehend for end-users. On the other hand, the end results of End-User Programming have an understandable structure, but the demonstration process can be seen tedious. This tediousness results from the constant switching between demonstrating the task and interacting with the Graphical User Interface. This thesis proposes a program creation framework that shares desired characteristics from both End-User Programming and Programming by Demonstration. It aims to combine the seamless style of demonstration from Programming by Demonstration with the user-friendly programs of End-User Programming. The programs of this thesis were created based on given user demonstrations as a set of parametrized actions, primitives. As the demonstrations were given in uninterrupted fashion, a segmentation algorithm was needed in order to identify said primitives from the demonstration. This algorithm included segmentation of gripper-related primitives and the trajectory as well as a program validation step which allowed for postponed modification of the program. For the segmentation of the trajectory, two different algorithms were proposed. The conducted experiments examined the functionality of the program creation framework as well as differences between the two trajectory segmentation algorithms. The results of these experiments showed not only that the framework was capable of creating programs from demonstrations but also that both proposed trajectory segmentation algorithms were viable for program creation.Robottien yleistyminen työympäristöissä on luonut tarpeen työntekijöille, jotka kykenevät ohjelmoimaan niihin uusia työtehtäviä. Aikaisemmin, prosessin monimutkaisuuden vuoksi tähän ovat kyenneet pelkästään alan asiantuntijat. Alat, jotka tutkivat loppukäyttäjille suunnattua ohjelmointia sekä ohjelmointia demonstraation kautta, ovat yhdessä pyrkineet luomaan ratkaisuja mitkä mahdollistaisivat loppukäyttäjien osallistumisen tähän robottien ohjelmointiprosessiin. Kyseiset ratkaisut luovat ohjelmia roboteille käyttäjien demonstraatioista käyttäen mm. kinesteettistä opetusta sekä graafisia käyttöliittymiä. Sujuvat ja keskeytymättömät demonstraatiot ovat tyypillisiä ohjelmoidessa demonstraation kautta, mutta siitä syntyvät lopputulokset ovat rakenteeltaan hankalia ymmärtää loppukäyttäjien näkökulmasta. Sen sijaan loppukäyttäjille suunnattu ohjelmointi tuottaa ohjelmia, joiden rakenne on helppo ymmärtää mutta itse demonstraatioprosessia saatetaan pitää pitkäveteisenä. Tämä pitkäveteisyys johtuu toistuvasta vaihtelusta työtehtävän demonstroinnin ja graafisen käyttöliittymän käytön välillä. Tämä diplomityö esittää ohjelmistokehyksen, joka tarjoaa haluttuja ominaisuuksia sekä loppukäyttäjille suunnatusta ohjelmoinnista että ohjelmoinnista demonstraation kautta. Se pyrkii yhdistämään vaivattomat demonstraatiot, jotka ovat ominaisia ohjelmoinnille demonstraation kautta sekä loppukäyttäjille suunnatun ohjelmoinnin tarjoamat käyttäjäystävälliset ohjelmat. Tämän diplomityön ohjelmat luotiin joukkona parametrisoituja toimintoja, primitiivejä, käyttäjien ohjeistamien demonstraatioiden mukaan. Annetun demonstraation lajittelu primitiiveiksi vaati segmentaatioalgoritmin, sillä kyseiset demonstraatiot esitettiin ilman keskeytyksiä. Tämä algoritmi sisälsi segmentaation robotin liikeradalle ja sen tarttujan primitiiveille sekä ohjelman validointiosuuden, missä käyttäjä pystyi tekemään pieniä muutoksia ohjelmaan sen luomisen jälkeen. Liikeradan segmentointia varten, tämä diplomityö esittää kaksi eri algoritmia. Suoritetut kokeet tutkivat ohjelmien luomiseen käytettävän ohjelmistokehyksen toimivuutta sekä vertaavat eroja edellä mainittujen liikeradan segmentointialgoritmien välillä. Kokeiden tulokset osoittivat, että luotu ohjelmistokehys pystyy luomaan ohjelmia demonstraatioista. Lisäksi, kumpikin liikeradan segmentointialgoritmi osoittautui käyttökelpoiseksi tätä ohjelmien luomista varten.Description
Supervisor
Kyrki, VilleThesis advisor
Racca, MattiaKeywords
robotics, end-user programming, programming by demonstration, trajectory segmentation