Tietokonepelit ja IoT-tiedonsiirto yhdistävät etäopiskelun ja robottien ohjaamisen

Juho Valkola
Tero Kaarlela
Sami Salo

Rakentamisrobotiikan etäoppimisympäristö – REBO-hankkeessa on kokeiltu virtuaalimaailmaa robotinohjauksen opetteluun. Menetelmä toimii laitteella kuin laitteella, ilman ohjelmistojen asentamista.

Rakentamisrobotiikan etäoppimisympäristö -hankkeessa (engl. REmote online learning environment for construction roBOtics, REBO) keskitytään robotiikan osaamisen parantamiseen Pohjois-Pohjanmaan rakennusalan opiskelijoiden ja alan ammattilaisten joukossa. Hankkeessa parannetaan rakennusalan tietoisuutta erilaisista rakentamiseen tarkoitetuista robottien soveltamismahdollisuuksista. Sen lisäksi myös robottien käyttämisen kouluttaminen internetyhteyksien välityksellä etänä, on ollut alusta alkaen tärkeää hankkeessa asetettujen osaamisen tason nostamisen tavoitteiden saavuttamiseksi. Perinteisesti robotiikan käytön kouluttaminen on ollut vahvasti laite- ja ohjelmistoriippuvaista. Todellisia robotteja ei yleensä ole ollut mahdollista liikutella ja ohjelmoida reaaliajassa muuten kuin paikan päällä käyttäen robotin omaa fyysistä ohjainta. Hankkeessa on käytettävyyden ja oppimiskokemuksen parantamisen takia haluttu kokeilla laite- ja ohjelmistoriippumattomia ratkaisuja robotiikan käytön etäoppimiseen.  

REBO-hakkeessa on otettu käyttöön ja testattu uudenlaisia etäoppimisympäristöjä ja työkaluja robotiikan etäoppimiseen. Yksi näistä on Centria-ammattikorkeakoulun tutkimus-, kehitys- ja innovaatiotoiminnan itse kehittämä virtuaalinen robotiikkalaboratorio, joka on virtuaalinen kopio Centria-ammattikorkeakoulun todellisesta Robo3D Lab -laboratoriosta. Se on toiminut pohjana REBO:n etäoppimiskokeiluille laite- ja ohjelmistoriippumattomalla tavalla. Käytännössä tavoitteena on ollut, että kuka tahansa luvan saanut opiskelija pystyisi millä tahansa omalla tietoliikennelaitteella liittymään virtuaalilaboratorioon ilman, että hänen tarvitsee asentaa ja opetella eri ohjelmistoja robottien käyttöä ja simulointia varten. Yhdessä ja samassa virtuaalilaboratoriossa voi käyttää ja simuloida erilaisia robotteja robottien valmistajista riippumatta. Pelimoottorit, 3D-grafiikat, animoinnin, teollisen internetin (Internet of Things, IoT), tietoliikenneratkaisujen ja tietoturvan yhdistävänä ratkaisuna, Centrian virtuaalinen robotiikkalaboratorio mahdollistaa nämä tavoitteet ja on siksi ideaalinen pohja REBO-hankkeen robotiikan etäoppimisen menetelmien kokeilua varten. 

Virtuaalilaboratoriossa on käytettävissä Centrian Robo3D Labin todellisten robottien digitaalisia kaksosia. Tämä tarkoittaa sitä, että virtuaalisten robottien toiminta matkii robottien todellista käyttöä ja että virtuaalinen robotti lähettää tietoa todelliselle robotille ja päinvastoin. Virallisena määritelmänä digitaalinen kaksonen (Digital Twin, DT) on virtuaalinen esitys fyysisestä tuotteesta tai prosessista, jota synkronoidaan tietyllä taajuudella ja tarkkuudella (Digital Twin Consortium).  Opiskelija voi harjoitella robotin käyttöä virtuaalisesti ilman huolta virheistä ja turvallisuusriskeistä. Parhaimmillaan oppiminen menee niin, että harjoittelun jälkeen opiskelija yhdistää virtuaalisella robotilla harjoitellut liikkeet todellisen robotin liikeradoiksi reaaliajassa. Opiskelijan on mahdollista liikuttaa virtuaalista robottia ja nähdä videoyhteyden avulla, miten todellinen robotti seuraa liikkeissään virtuaalista robottia. Hankkeen aikana virtuaalilaboratorioon on tehty oppimisharjoituksia ja virtuaalilaboratorion käytettävyyttä opetustarkoitukseen on parannettu monin eri tavoin. Hankkeessa virtuaalilaboratoriossa tehdyt toimenpiteet tähtäävät siihen, että virtuaalisista oppimiskokemuksista saataisiin mahdollisimman intuitiiviset ja todellisuutta vastaavat. Seuraavissa kappaleissa käydään läpi virtuaalilaboratorion ominaisuuksia, jotka mahdollistavat näiden toimenpiteiden toteuttamisen. 

Digitaalisen kaksosen synkronointi 

Virtuaalilaboratoriosovelluksessa todellisen robotin liikkeiden seuraaminen ja etäohjaus on toteutettu erillisillä 3D-robottimalleilla. Yksi malli toimii digitaalisena kaksosena ja matkii todellisen robotin liikkeitä. Toinen läpikuultava ”varjorobotti” on käyttäjän liikutettavissa, ja sitä käytetään todellisen robotin ohjaamiseen (KUVA 1). 

Robotin virtuaalimalli, jossa on tietokoneella käytettäviä ohjauspisteitä.
KUVA 1. Todellisen robotin liikkeiden seuraamiseen ja etäohjaukseen käytettävät virtuaalirobotit. (Kuva: Sami Salo 2023.)

Sovellus avaa käynnistysvaiheessa yhteyden verkon yli todellisiin robotteihin, joiden liikkeitä simuloidaan digitaalisilla kaksosilla. Todellisilta roboteilta vastaanotettavat nivelarvot eivät ole yksiyhteen virtuaalimallin nivelten arvojen kanssa, joten niitä ei voi suoraan asettaa 3D-mallin nivelille. Siksi niihin tehdään ensin robotti- ja nivelkohtaiset korjaukset. 

Aluksi selvitettiin erot todelliseen robottiin; kääntyvätkö nivelet saman suuntaisesti 3D-mallissa ja, osoittavatko robottien raajat samaan suuntaan nivelten ollessa nollakohdassa. Robottien vertailu tehtiin Robo3DLab-laboratoriossa liikuttamalla todellisen robotin niveliä yksi kerrallaan, ja sovelluksessa haettiin kokeilemalla sopivat säädöt, joilla 3D-mallin liike saatiin vastaamaan todellista robottia.  

Tarpeen mukaan sovelluksessa vastaanotettavia nivelarvoja muutetaan käänteisiksi korjaamaan nivelen kiertosuunta 3D-mallissa ja niihin lisätään offset-arvo korjaamaan poikkeama nollakohdasta. Osa todellisista roboteista käyttää nivelten arvoina radiaaneja, jotka muutetaan 3D-mallien niveliä varten asteiksi. Jotta 3D-malli saadaan vastaamaan todellisen robotin liikkumista, nivelarvoja vastaanotetaan jatkuvasti lyhyin aikavälein ja ne asetetaan korjattuina 3D-mallin nivelille. 

Todellisen robotin etäohjaus 

3D-robottimallin liikuttamiseen on käytössä kaksi tapaa: eteenpäin suuntautuva kinematiikka (engl. forward kinematics, FK) ja käänteinen kinematiikka (engl. inverse kinematics, IK). Ensin mainitussa tavassa käyttäjä valitsee yksitellen robotin niveliä ja kääntää ne haluttuun asentoon. Toisessa tavassa käyttäjä liikuttaa robotin edessä olevaa kohdepistettä X-, Y- ja Z-akseleilla ja robottiin liitetty koodi laskee käänteisen kinematiikan avulla sopivat nivelten arvot, joilla robotin kärkiosa asettuu kohteeseen. 

Molemmissa ohjaustavoissa hyödynnetään ”varjorobottia”, jota käyttäjä voi vapaasti liikuttaa. Käytännössä varjorobotti liikutetaan haluttuun asentoon ja nivelten arvot, joilla tämä asento saatiin aikaan, lähetetään todelliselle robotille (KUVA 2). Erot 3D-mallin ja todellisen robotin nivelissä otetaan huomioon lähetettävissä nivelarvoissa, jotta ne voidaan asettaa suoraan todellisen robotin käyttöön. 

Liikuteltavalta varjorobotilta lähetetään nivelten asentotiedot todelliselle robotille, joka lähettää todellisia nivelten arvoja todellista robottia matkivalle toiselle virtuaalirobotille.
KUVA 2. Todellisen robotin etäohjaus ja asentojen synkronointi 3D-mallille. (Kuva: Sami Salo 2023.)

Käyttäjä voi liikuttaa todellista robottia lähettämällä napin painalluksella senhetkisen varjorobotin asennon, mutta jos halutaan suorittaa useampi liike peräkkäin, on käyttäjän mahdollista tallentaa varjorobotin asentoja listalle ja sopivassa kohdassa lähettää kaikki tallennetut asennot. Sovellus lähettää listalle tallennetut asennot yksi kerrallaan ja odottaa ”valmis”-kuittauksen todelliselta robotilta ennen seuraavan asennon lähetystä. Koska toista 3D-robottimallia synkronoidaan jatkuvasti vastaamaan todellista robottia, sen kautta peilautuvat myös varjorobotilta lähetetyt asennot. 

Varjorobotille ei ole määritetty törmäysfysiikoita, ja sen liikettä rajoitetaan vain niveliin määritellyillä ääriarvoilla, joten käyttäjä saa liikuttaa sitä vapaasti, myös pöydän pinnan läpi. Koska todellisen robotin ohjaus vastaavaan asentoon vahingoittaisi robottia ja sen ympäristöä, tämän välttämiseksi varjorobotin asento tarkistetaan ennen asennon lähetystä todelliselle robotille. Näissä tilanteissa käyttäjälle annetaan sovelluksessa myös visuaalinen palaute virheellisestä varjorobotin asennosta. 

Tarvittaessa käyttäjä voi simuloida listalle tallennettujen asentojen ajoa varjorobotilla ennen niiden lähettämistä todelliselle robotille. Simuloitaessa tallennettuja asentoja varjorobottiin liitetty koodi liikuttaa 3D-mallin niveliä interpoloimalla niiden arvoja asennosta toiseen, jolloin liike ei aina vastaa ihan todellista tilannetta mutta antaa hyvän arvion todellisen robotin liikeradoista. 

Tiedonsiirto 

Tiedonsiirrolla on suuri merkitys etäohjausratkaisujen toimivuudessa, koska viiveetön ja katkoksia sietävä tiedonsiirto mahdollistaa robottien ohjaamiseen Internetin yli. Etäohjauksessa viiveellä on suuri merkitys, sillä ohjauskäskyjen ja videokuvan viive tekee ohjauksesta kömpelöä. Virtuaalisen Robo3D Labin toteutuksessa hyödynnetään IoT-sovelluksista tuttua MQTT-protokollaa ohjauskäskyjen ja tilatietojen tiedonvälityksessä sekä WebRTC-protokollaa videokuvan välittämisessä. MQTT on kevyt tiedonsiirtoprotokolla, jonka IBM kehitti öljy- ja kaasuputkien tiedonkeräämistä varten. Koska öljy- ja kaasuputket sijaitsevat usein syrjäseuduilla, tarvittiin protokolla, joka toimii hitailla yhteyksillä ja sietää katkoksia yhteyksissä. MQTT vastaa tähän tarpeeseen ja on sittemmin yleistynyt suosituksi IoT-laitteiden tavaksi viestiä.    

Googlen kehittämää WebRTC-protokollaa hyödynnetään useissa videokonferenssisovelluksissa tarjoamaan videokuvaa pienellä viiveellä. WebRTC-sovelluksissa pieni viive saavutetaan sovittamalla videokuvan laatu yhteyden laatuun sopivaksi. Pienen viiveen vuoksi WebRTC soveltuu hyvin protokollaksi esimerkiksi videoneuvotteluihin ja etäohjaukseen, joissa reaaliaikaisuus on tärkeämpää kuin kuvanlaatu. Asia on päinvastainen kuin esimerkiksi live-tapahtumien tai elokuvien striimauksessa; näissä sovelluksissa kuvanlaatu on viivettä tärkeämpää, koska niissä ei tarvita käyttäjän toimia tai puuttumista tilanteeseen.  

Etäohjauksessa kokonaisviive muodostuu ohjauskäskyn lähettämisestä ja muuttuneen tilanteen päivittämisestä käyttäjälle. Käytännön kokemuksen kautta olemme havainneet alle puolen sekunnin kokonaisviiveen olevan hyväksyttävä robottien etäohjauksessa. Tätä suurempi viive on käyttäjälle epämukava ja aiheuttaa väärien käskyjen lähettämistä. Edellä mainitut protokollat mahdollistavat alle puolen sekunnin viiveet ja ovat siten osoittautuneet käyttökelpoisiksi etäohjauksen toteuttamisessa.     

Opiskelija on virtuaalimaailman kautta reaaliaikaisessa yhteydessä todelliseen robotiikkalaboratorioon internetin välityksellä.
    KUVA 3. Etäohjaustoteutuksen periaate. (Kuva: Tero Kaarlela 2023.)

Yhteenveto 

Tietokonepelikehityksestä ja pelimaailmoista tuttu 3D-mallinnus, virtuaaliset ympäristöt ja animointi yhdistettyinä tarkoituksenmukaiseen tiedonsiirtoon ovat mahdollistaneet REBO-hankkeessa virtuaalisten robottien liikkeiden yhdistämisen todellisten robottien liikkeisiin. Näitä olemassa olevia työkaluja hyödyntäen REBO-hankkeessa on saatu otettua käyttöön opetukseen soveltuvia digitaalisia kaksosia, joilla voidaan korvata paikan päällä tapahtuvaa robotiikan opiskelua. Tässä vaiheessa tämä digitaalinen kaksonen soveltuu parhaiten robotiikan perusteiden opetteluun. Tulevaisuudessa virtuaalisille roboteille kehitetään todellisten robottien ohjaamisesta tuttuja ohjelmointitapoja ja käyttöominaisuuksia, joten suurempi osa robottien toiminnallisuuksista voidaan opettaa virtuaalisesti. Näillä kokeilluilla ohjelmisto- ja laiteriippumattomilla ratkaisuilla, digitaalisten kaksosten entistä laajemmalle hyödyntämiselle teollisuudessa on pienempi kynnys. Pidemmälle vietynä REBO-hankkeessa kokeillut tekniikat mahdollistavat robottien ohjelmoinnin, vianmäärityksen ja käynnissäpidon etätyönä myös todellisissa tuotantokäyttöympäristöissä.  

Lähde 

Digital Twin Consortium. Glossary of Digital Twins. Saatavissa: https://www.digitaltwinconsortium.org/glossary/glossary/. Viitattu 25.11.2023. 

Juho Valkola
TKI-asiantuntija
Centria-ammattikorkeakoulu
p. 050 560 1389

Tero Kaarlela
Lehtori (sähkö- ja automaatiotekniikka)
Centria-ammattikorkeakoulu
p. 040 489 7513

Sami Salo
TKI-kehittäjä
Centria-ammattikorkeakoulu
p. 040 729 9959

Facebooktwitterlinkedinmail