ROBOTIIKKA SISÄLLYSLUETTELO:



Samankaltaiset tiedostot
ROBOTIN ADAPTIIVINEN OHJAUS


Mitä ovat yhteistyörobotit. Yhteistyörobotit ovat uusia työkavereita, robotteja jotka on tehty työskentelemään yhdessä ihmisten kanssa.

Nykyaikainen robotiikka Kenttä- ja palvelurobotit

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:

Palauta jokainen funktio-tiedosto. Esitä myös funktiot vastauspaperissasi.

Autonomisen liikkuvan koneen teknologiat. Hannu Mäkelä Navitec Systems Oy

Taso 1/5 Sisältö ESITIEDOT: vektori, koordinaatistot, piste, suora

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

Matematiikan tukikurssi

Lineaarialgebra MATH.1040 / voima

Avaruuden kolme sellaista pistettä, jotka eivät sijaitse samalla suoralla, määräävät

Laboratoriotyö. 1. Laitteisto. 1.1 Kamera

Matematiikka ja teknologia, kevät 2011

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on

9. Vektorit. 9.1 Skalaarit ja vektorit. 9.2 Vektorit tasossa

3 Suorat ja tasot. 3.1 Suora. Tässä luvussa käsitellään avaruuksien R 2 ja R 3 suoria ja tasoja vektoreiden näkökulmasta.

Vektoreita GeoGebrassa.

Suorista ja tasoista LaMa 1 syksyllä 2009

STATIIKKA. TF00BN89 5op

Ota tämä paperi mukaan, merkkaa siihen omat vastauksesi ja tarkista oikeat vastaukset klo 11:30 jälkeen osoitteesta

Luento 4: Kiertomatriisi

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

Luento 3: 3D katselu. Sisältö

2.3 Voiman jakaminen komponentteihin

Tuotantosolun simulointi

16.9. RFID-tekniikka. Kari Hänninen, Finn-ID Oy. Konenäkö. Harri Ahlroth, Oy Delta-Enteprise Ltd.

PRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA

BM20A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 4, Syksy 2016

Suorat ja tasot, L6. Suuntajana. Suora xy-tasossa. Suora xyzkoordinaatistossa. Taso xyzkoordinaatistossa. Tason koordinaattimuotoinen yhtälö.

Muodonmuutostila hum

Lauseen erikoistapaus on ollut kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa seuraavassa muodossa:

Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 2017 Insinöörivalinnan matematiikan koe , Ratkaisut (Sarja A)


Insinöörimatematiikka D, laskuharjoituksien esimerkkiratkaisut

etunimi, sukunimi ja opiskelijanumero ja näillä

Yleistä vektoreista GeoGebralla

1. Olkoot vektorit a, b ja c seuraavasti määritelty: a) Määritä vektori. sekä laske sen pituus.

ROBOTIIKKA (2016) 1. JOHDANTO JA HISTORIAA

Suora 1/5 Sisältö ESITIEDOT: vektori, koordinaatistot, piste

FlyMarker PRO merkintälaite. Mark like a Professional

DYNAMIIKKA II, LUENTO 5 (SYKSY 2015) Arttu Polojärvi

Robotteja liikenteessä

VALMISTUSTEKNIIKAN JATKOKURSSI 2006 Koneistettavan kappaleen mallintaminen ja työstön ohjelmointi

Teoreettisia perusteita II

RYHMÄKERROIN ÄÄNILÄHDERYHMÄN SUUNTAAVUUDEN

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 4 / vko 47

MIKKO KASARI TUOTANTOLAITOKSEN LAVAUSJÄRJESTELMÄN KEHITTÄMI- NEN. Diplomityö

LIITE. asiakirjaan. komission delegoitu asetus

3D animaatio: liikekäyrät ja interpolointi. Tommi Tykkälä

Altus RTS. 1 Tekniset tiedot: 2 Lähetin: Telis 1 Telis 4 Centralis RTS

Suora. Määritelmä. Oletetaan, että n = 2 tai n = 3. Avaruuden R n suora on joukko. { p + t v t R},

S11-09 Control System for an. Autonomous Household Robot Platform

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla

Harjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006

Luento 10: Työ, energia ja teho. Johdanto Työ ja kineettinen energia Teho

Tekijä Pitkä matematiikka Suoran pisteitä ovat esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4).

Satelliittipaikannus

Ohjelmistoradio. Mikä se on:

Vektorit. Kertausta Seppo Lustig (Lähde: avoinoppikirja.fi)

2 Pistejoukko koordinaatistossa

I Geometrian rakentaminen pisteestä lähtien

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

MATEMATIIKKA 5 VIIKKOTUNTIA. PÄIVÄMÄÄRÄ: 8. kesäkuuta 2009

Tuotteen hitsattavuuden testaus robottisimulointiohjelmalla. Kari Solehmainen Savonia Ammattikorkeakoulu HitSavonia

Luento 6: 3-D koordinaatit

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

Numeeriset menetelmät

TigerStop Standard Digitaalinen Syöttölaite / Stoppari

Talousmatematiikan perusteet: Luento 10. Lineaarikuvaus Matriisin aste Determinantti Käänteismatriisi

Integrointialgoritmit molekyylidynamiikassa

Robottien etäohjelmointiprojektin toteutus

Keräilyrobotit. Helander, Koskimäki, Saari, Turunen. Aalto-yliopisto Insinööritieteiden korkeakoulu Kon Tuotantoautomaatio

TIETOJEN TUONTI TIETOKANNASTA + PIVOT-TAULUKON JA OLAP-KUUTION TEKO


Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Jouni Huotari OLAP-ohjetekstit kopioitu Microsoftin ohjatun OLAP-kuution teko-ohjeesta. Esimerkin kuvaus ja OLAP-määritelmä

Määrittelydokumentti

Neliömatriisi A on ortogonaalinen (eli ortogonaalimatriisi), jos sen alkiot ovat reaalisia ja

Aki Taanila LINEAARINEN OPTIMOINTI

Oppimistavoitematriisi

Digikamera. Perustietoa digikamerasta ja kuvien siirtämisestä tietokoneelle

Robotiikan tulevaisuus ja turvallisuus

NC-koneet ja niiden ohjelmointi

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Ristitulolle saadaan toinen muistisääntö determinantin avulla. Vektoreiden v ja w ristitulo saadaan laskemalla determinantti

0, niin vektorit eivät ole kohtisuorassa toisiaan vastaan.

Hiab 211W Kapasiteetti 21 tm

Ensimmäinen osa: Rautalankamallinnus. Rautalankamallinnus

KÄÄNTÖPUOMINOSTURIT. TEOLLISUUSNOSTURIT Ydinvoimalanosturit. Raskaat haarukkatrukit KÄÄNTÖPUOMINOSTURIT

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

Ohjeita fysiikan ylioppilaskirjoituksiin

4. Käyrän lokaaleja ominaisuuksia

Kokoonpanorobotisointi konepaja- teollisuudessa Assembly robotics in industry

Suorien ja tasojen geometriaa Suorien ja tasojen yhtälöt

kaikki ( r, θ )-avaruuden pisteet (0, θ ) - oli θ

Transkriptio:

ROBOTIIKKA SISÄLLYSLUETTELO: 1. JOHDANTO JA HISTORIAA...2 2. ROBOTTITYYPIT JA RAKENTEET...5 2.1 Yleistä... 5 2.2 Robottityypit ja rakenteet... 1 2.2.1 Suorakulmaiset robotit... 1 2.2.2 Scara - robotit... 11 2.2.3 Kiertyväniveliset robotit... 11 2.2.4 Sylinterirobotti... 12 2.2.5 Rinnakkaisrakenteiset robotit... 12 2.2.6 Robottien koordinaatistojärjestelmät ja kehykset... 13 2.3 Kinematiikkaa ja robotin geometriset riippuvuudet... 15 2.3.1 Johdanto... 15 2.3.2 Robotiikan matematiikkaa (http://www.cat.csiro.au/ict/staff/pic/robot)... 17 2.3.3 Robotiikan suora- ja käänteinen kinematiikka... 24 2.4 Robotin ohjausjärjestelmät... 29 3. ROBOTTIEN OHJELMOINTI...34 3.1 Yleistä... 34 3.2 Johdattamalla ohjelmointi... 35 3.3 Opettamalla ohjelmointi... 35 3.4 Etäohjelmointi (off-line)... 37 4. ROBOTTITARRAIMET, TYÖKALUT JA AISTINJÄRJESTELMÄT...42 4.1 Tarraimet ja työkalut... 42 4.2 Aistinjärjestelmät... 49 5. ROBOTISOINNIN PERUSTEET JA ROBOTTISOVELLUTUKSET...52 5.1 Yleistä... 52 5.2 Yleisimmät robotisointikohteet... 53 5.3 Robotisointiprojektin suunnittelu ja toteutus... 61 6. TURVALLISUUS...64 6.1 Yleistä... 64 6.2 Robotisoinnin luomat uudet työtehtävät... 66 6.3 Robottijärjestelmän suunnittelussa huomioitavia asioita... 67 6.4 Robotin aiheuttamat tyypillisimmät vaaratilanteet... 72 6.5 Robotin pysäytystoiminnot... 74 6.6 Tulevaisuuden turvalaitteet ihmisen ja robotin välisessä vuorovaikutuksessa... 74 1

ROBOTIIKKA (28) 1. JOHDANTO JA HISTORIAA Roboteista muodostunut mielikuva on usein peräisin tieteiselokuvista, niin nuorilla kuin ehkä vanhemmillakin. Robotiikkaan liittyvien tekniikoiden kehittyminen on ollut nopeaa, ja robotit ovat tulleet ihmisille paljon arkipäiväisimmiksi mm. palvelurobotiikan ansiosta. Valtaosa roboteista on toki vielä teollisuuden tarpeisiin tehtyjä. Teollisuuteen sijoitetut robotit ovat tärkeä osa sen toimintaa, ja ilman niitä monen yrityksen kilpailukyky ei olisi riittävä kovassa kansainvälisessä kilpailussa. Tärkein lenkki robottien käytössä on kuitenkin ihminen. Ihminen suunnittelee järjestelmät, kokoaa ne, ohjelmoi laitteet ja pitää ne kunnossa. Robotiikkaan liittyy paljon asioita, jotka tulevat esille eri tekniikan alojen kursseilla. Robotiikassa yhdistyy useiden eri alojen tietämys ja osaaminen. Kappaleenkäsittelyn automaatiosovellutuksissa käytettiin aikaisemmin mekaanisia, hydraulisia ja pneumaattisia toimilaitteita, jotka rakennettiin sovellutuskohtaisiksi. Koneiden asetukset kestivät useita päiviä, mikäli asetuksia voitiin lainkaan muuttaa ilman laitteiden täydellistä uusimista. Koneiden panostus, kappaleiden siirrot työnvaiheiden välillä koneessa ja valmiiden tuotteiden purku koneesta olivat tyypillisiä automatisointikohteita. Nämä automatisointiratkaisut soveltuivat suurien sarjojen ja pitkäikäisten tuotteiden valmistukseen. Tuotanto oli tavallisimmin varastotuotantoa, jolloin valmistettiin pitkälle vakioituja tuotteita. Vaatimukset tuotannon joustavuudesta, asiakasmyötäisyydestä ja pienien sarjojen yleistyminen edellyttivät, että tuotantoautomaatiossa otettiin käyttöön ohjelmallisesti muunneltavat toimi- ja kappaleenkäsittelylaitteet. Servo-ohjatut ohjelmoitavat robotit ovat ideaalinen ratkaisu piensarjatuotannon kappaleenkäsittelyn ongelmiin. 198- ja 199 luvuilla robottisovellutukset vastasivat joustavuudeltaan aikaisempia manipulaattori- ja toimilaiteautomatisointeja. Robottien hankala ja työläs ohjelmointi esti robottien joustavuuden hyödyntämisen piensarjatuotannossa. Nykyisten robottien käyttövarmuus ja luotettavuus on hyvä. Robottien ohjelmointi on kehittynyt myös ripeästi. Korkean tason ohjelmointikielet helpottavat ja nopeuttavat robottien ohjelmien tekoa. Robotteihin liitetyt anturit mahdollistavat älykkäiden ympäristön muutoksiin automaattisesti sopeutuvien ja reagoivien robottien käytön entistä vaativammissa sovellutuksissa. Yksittäisten automaatiosaarekkeiden lisäksi robotteja käytetään laajempien joustavien automaattisten tuotantojärjestelmien osana. Kansainvälisen robottiyhdistyksen määritelmän mukaan robotti on uudelleen ohjelmoitavissa oleva monipuolinen vähintään kolminivelinen mekaaninen laite, joka on suunniteltu liikuttamaan kappaleita, osia, työkaluja tai erikoislaitteita ohjelmoitavin liikkein monenlaisten tehtävien suorittamiseksi teollisuuden sovelluksissa. Uudelleen ohjelmoitavuus on siis olennaista, mutta nykyaikaisissa aistinohjatuissa robottisovelluksissa pelkkä uudelleen ohjelmoitavuus ei riitä, vaan robotit on saatava muodostamaan tuotteiden suunnittelutiedoista ja ympäristömallista liikeratansa, jota päivitetään prosessia tarkkailevien antureiden avulla. 2

Yksinkertaistettuna teollisuusrobotti on mekaaninen kone, joka siirtää työkalun kiinnityslaippaa halutulla tavalla. Liikerata voi olla kokonaan etukäteen määritetty, toimintaympäristön tapahtumien perusteella valittava tai antureiden perusteella liikkeiden aikana luotu. Robotin jalustan ja työkalun välissä on tukivarsia, joita nivelet liittävät toisiinsa. Niveliä liikuttavat takaisinkytketysti ohjattavat servotoimilaitteet. Seuraavat tilastot ovat Suomen robotiikkayhdistyksen julkaisemia. (http://www.roboyhd.fi) Robotiikan historiaa: ensimmäinen robottilaite, autopilotti 1913, robottisana 1923 (näytelmässä RUR) ensimmäinen teollisuusrobotti USA 1962 teollisuusrobotit yleistyivät 7-luvulla, lähinnä autoteollisuudessa (hitsaus) vuonna 198 maailmassa noin 8 teollisuusrobottia vuonna 1995 maailmassa noin 65 teollisuusrobottia Suomessa robotisointi käyntiin 7-luvulla, pääpaino 7-luvulla maalausrobotiikassa 8-luvulla hitsaus ja kappaleenkäsittely 1984-1987: hitsaussovelluksia 5 %, kokonaismäärä noin 5 kpl 1988...1991, uusia sovelluksia mm. laserleikkaus, robotteja yhteensä noin 1 kpl, 1996 robotteja Suomessa noin 165, vuonna 2 robottien määrä oli 3193 ja vuonna 27 jo 5821 kpl. Kuva 1.1 Robottien käyttökohteiden jakautuminen Suomessa sekä jakauma vapausasteen mukaisesti. 3

Kuva 1.2 Teollisuusrobottitilastot 27 4

Teollisuusrobotteja on tähän mennessä valmistanut ainakin viisisataa yritystä. Kunkin valikoimaan on koko ajan kuulunut useita robottimalleja. Yhden mallin elinkaari on kestänyt keskimäärin neljä vuotta. Lisäksi rakenteita on jouduttu erilaistamaan patenttien ja eri sovellusten vuoksi. Joten erilaisia teollisuusrobotteja on suunniteltu useita tuhansia. Markkinoiden keskittyessä on vaihtoehtojen kirjo hieman supistunut, mutta jatkuvasti ilmaantuu uusiakin robottien valmistajia. Standardi ISO 8373 määrittelee teollisuusrobottien sanastoa ja myös yleisemmät robottimallit mekaanisen rakenteen mukaan. Merkittäviä robottivalmistajia: ABB (http://www.abb.com/robotics) Motoman (http://www.motoman.com) Fanuc (http://www.fanucrobotics.co.uk) KUKA (http://www.kuka.com/en) Kawasaki (http://www.kawasakirobot.de/en). Yleisimmät rakenteet: Suorakulmainen robotti Sylinterirobotti Napakoordinaatisto robotti Scara-robotti Kiertyvänivelinen robotti Rinnakkaisrakenteinen robotti Robottien jakaminen voidaan myös tehdä tehtävän mukaan: Maalausrobotit (nopeita, tarkkuus ei ole tärkeää) Prosessirobotit (nopeita, tarkkoja, mutta jäykkiä ) Kokoonpanorobotit (nopeita, suuri tarkkuus, alhainen kappaleenkäsittelykyky ) 2. ROBOTTITYYPIT JA RAKENTEET 2.1 Yleistä Varsinaisten teollisuusrobottien lisäksi on olemassa erilaisia erikoisrobotteja. Tietokoneiden ohjaamia ajoneuvoja ja työkoneita kutsutaan liikkuviksi roboteiksi (mobiilirobotit). Vihivaunut (Automatically guided vehicle, AGV) ovat olleet käytössä teollisuudessa ja varastoissa jo 197-luvulta lähtien. Liikkuvien robottien sovellusalueita ovat: kuljetukset, rakentaminen, palontorjunta- ja pelastustehtävät, kaivokset, maa- ja metsätalous, vartiointi, siivous, satelliittien kokoonpano- ja huoltotehtävät ja sodan käynti. Nykyään näiden navigoinnin apuna käytetään myös GPS- järjestelmää (Global Positioning System). Perinteisesti robotiikka on sovellettu tuotantolinjoilla, mutta yhä enemmän robotiikka on myös valtaamassa palvelutehtäviä, jolloin puhutaan palvelurobotiikasta. Esimerkkeinä tällaisista ovat robottipölynimurit, lentokoneiden pesurobotit, vanhusten hoitoon tarkoitetut robotit, 5

lypsykonerobotit jne.. Omana erittäin vaativana robotiikan alana ovat ns. ihmisrobotiikka eli humanoid robotics. Kuva 2.1 36 -vapausasteen humanoidirobotti Kuva 2.2 Motoman:n kahdella käsivarrella varustettu robotti baarimestarina. Kuva 2.3 Mobiilirobotteja. 6

Palvelurobotiikka Laajasti ymmärrettynä on robotiikkaa, jonka sovellusalue kattaa muut työt kuin perinteiset tehdastyöt ja palveluroboteilla on myös hyvä liikkuvuus. Tärkeimmät sovellukset alueet: Työkoneteknologia rakentamisessa ja luonnonvarojen hyödyntämisessä. Avaruudentutkiminen(kuu, planeetat, asteroidit,). Palvelutoiminnot (yksitoikkoiset, raskaat tai terveydelle vaaralliset työt, kotiapu, vammaisteknologia) Sotilasteknologia Katastrofien jälkihoito, ydinteknologian purkaminen Viihde Erot tehdasrobotiikkaan: Tehtaissa usein työt liikkuvat ja robotit pysyvät paikoillaan. Palvelurobottien tapauksessa töitä ei voida useinkaan liikuttaa, vaan robotin on liikuttava työn luokse. Tehtaissa robotin työympäristö on usein järjestäytynyt ja voidaan olettaa tunnetuksi, mikä helpottaa ohjausta. Tehtaiden ulkopuolella palvelurobottien työympäristö on usein järjestäytymätön, usein etukäteen vähän tunnettu, mikä vaatii kehittyneitä ohjaus- ja aistinjärjestelmiä. Ihmisten läsnäoloa ei voida valvoa robottien toiminta-alueilla! Palvelurobotin osajärjestelmät: Energiajärjestelmä Liikuntajärjestelmä Liikkeenohjausjärjestelmä(pilotti) Navigointijärjestelmä Aistinjärjestelmä Toiminnansuunnittelu ja ohjausjärjestelmä Työjärjestelmä Ihminen-robottiliittymä Suurimmat haasteet tutkimuksessa ja teknologian kehittämisessä: Liikuntajärjestelmät ovat edelleen pullonkaula monissa sovellutuksissa kaukana siitä, mitä luonto on kehittänyt, erityisesti kävely on vielä tehotonta. Energiajärjestelmä saattaa rajoittaa autonomisuutta huomattavasti (sähkönvarastointi) Ympäristön aistinta kyky vielä riittämätön moniin sovellutuksiin. Ihminen-koneliitäntäpinta tulisi kehittää tasolle, jossa robotti ja ihminen kommunikoivat ihmisen ehdoilla Taitoa vaativien työtehtävien opettaminen ja suorittaminen robotilla vastaa vielä eloa kivikaudella ihmiskunnan kehityksessä Kaupalliset palvelurobotit tekevät tuloaan Imurit Seuralaiset, jne. 7

Joka kodin imurointirobotti lienee lähimpänä kaupallista läpimurtoa. Useat yritykset ovat julkistaneet oman versionsa, joilla on mm. seuraavia ominaisuuksia: Välttää esteitä, kuumia paikkoja ja portaita aistijärjestelmän avulla Säätää ajo nopeutensa pölymäärän mukaan Toiminta-aika noin 6 min. Kuva 2.4 Japanilaisen Matshushitan (Panasonic) imurirobotti. Kuva 2.5 Hondan Asimo-robotti, joka painaa 13 kg, kiihtyvyys 1m/s, hyötykuorma 5 kg ja toiminta-aika 15 min. Keskellä lemmikkirobotti ja oikealla Mitsubishi Wakamaru yleiskäyttöinen kotirobotti, puhuu perheensä kanssa, tarjoaa tietoa (internetistä), valvoo kotia kun muut ovat poissa, hinta 14$ (http://www.mhi.co.jp/kobe/wakamaru/english/about/index.html) 8

Teollisuusrobottityypit: Robotin määritteleminen yksikäsitteisesti on vaikeaa. Teollisuusrobotti voidaan määritellä toimilaitteiden, ohjelmointitavan, nivelrakenteen- ja käyttötarkoituksen perusteella monella tavalla. Tässä yhteydessä: "Teollisuusrobotti on ohjelmoitava monitoimilaite, joka on suunniteltu sekä käsittelemään että kuljettamaan osia tai työkaluja ja tarkoitettu muunneltavine, ohjelmoitavine ratoineen erilaisiin tuotantotehtäviin". Pelkkää yksinkertaista toimilaitekäsivartta, joka panostaa ja purkaa konetta ei voida kutsua robotiksi, ellei sitä voida ohjelmoida uudelleen toiseen tehtävään. Japanilaisen määritelmän mukaan teollisuusrobotteja ovat: manuaalinen manipulaattori kiinteän sekvenssin robotti muunneltavan sekvenssin robotti johdattamalla ohjelmoitava robotti numeerisesti ohjattu robotti älykäs, havainnoiva robotti Suomessa roboteiksi luokitellaan neljä viimeistä tyyppiä. Määritelmän kirjavuus aiheuttaa vaikeuksia, kun tulkitaan kansainvälisiä, maittain tehtyjä robottitilastoja. Japanilaisten väljä robotin määrittely selittää osan Japanin ylivoimaisista robotisointimääristä. Robottien rakenteessa on usein yritetty matkia ihmisen nivelien toimintaa ja robotin rakenteessa on ihmisen käsivartta, rannetta ja kouraa vastaavat nivelliikkeet. Robotin käyttäjää ei välttämättä kiinnosta analogia ihmisen liikkeisiin eikä robotin liikkeiden taustalla oleva koordinaatistojen matemaattinen hallinta eivätkä liikenopeuksien laskemiseksi käytetyt algoritmit. Käyttäjä on kiinnostunut ainoastaan siitä suoriutuuko robotti sille suunnitellusta käsittely- ja siirtotehtävästä. Robottien käyttösovelluksissa robotin tarkkuus on olennainen tekijä. Lähes kaikkien robottien tarkkuus on rakenteesta riippumatta +- 1 mm, mutta nykyisin yleensä paljon parempi. Kokoonpanorobotilta vaaditaan parempaa tarkkuutta, jolloin robotin on pystyttävä +.5....1 mm:n asemointitarkkuuteen. Robottien kappaleenkäsittelykyky vaihtelee laajoissa rajoissa: pienet robotit on suunniteltu 1... 5 kg kappaleiden käsittelyyn, suurimmat teollisuusrobotit nostavat jopa satojen kilojen taakkoja. Käsivarsien liikeratojen lisäksi myös robotin ranne voi kiertyä tavallisesti kolmen akselin ympäri. Kiertyvän ranteen ohella robotin tarttujaan voidaan liittää ylimääräisiä liikeakseleita, joilla siirrettävien kappaleiden asemointia on mahdollista säätää ja tarkentaa. Ranteen nivelliikkeiden käytölle asettavat rajoja tarttujan Robotit seisovat tavallisesti omalla kiertyvällä jalustallaan. Robotin käyttö on monipuolisempaa, kun robotti asennetaan lineaariradalle, jolloin yhdellä robotilla voidaan palvella useita etäällä toisistaan olevia työasemia. Robotti on mahdollista ripustaa myös ylösalaisin roikkumaan portaaliin. Työpisteen yläpuolelle kiinnitetty robotti tarjoaa katveettoman ja laajan työskentelyalueen. 9

Kuva 2.6 Robottien rakenteita, kinematiikkaa ja työalueita. 2.2 Robottityypit ja rakenteet 2.2.1 Suorakulmaiset robotit Suorakulmaisten robottien kolme ensimmäistä vapausastetta ovat lineaarisia. Tyypillisintä edustajaa kutsutaan yleensä portaalirobotiksi. Sen rakenne on tuettu työalueen nurkista palkeilla. Kuva 2.7 Yleiskuva portaalirobotista (ABB, robottiesitteet). 1

2.2.2 Scara - robotit Kuva 2.8 Scara robotti Scara - robotissa (Selective Compliance Assembly Robot Arm) on tiettyyn suuntaan joustava kokoonpanorobottikäsivarsi ja kolmella kiertyvällä nivelellä työkalu saadaan tietyllä tasolla oikeaan kohtaan ja kiertymäkulmaan. Neljäs lineaarinen pystyliike on työtason normaalin suuntainen. Scara-robotti muistuttaa ihmisen vaakatasossa liikkuvaa käsivartta, mutta ranteeseen on asennettu pystyjohde. 2.2.3 Kiertyväniveliset robotit Kiertyvänivelisessä robotissa kaikki vapausasteet ovat kiertyviä. Nämä ovat tavallisimpia teollisuusrobotteja. Vapausasteita on yleensä kuusi tai neljä. Kuva 2.9 ABB:n IRB 64R kiertyvänivelinen teollisuusrobotti 1 kg: kantokyvyllä., 4-vapausasteen paletointi- ja pakkausrobotti (ABB, robottiesite) ja Motoman:n uusi käsivarsirakenne. 11

Nykyiset teollisuusrobotit perustuvat lähes poikkeuksetta tähän mekaniikkaan, jossa tukivarret on kytketty peräkkäin. Tästä johtuu, että robottien kuormankantokyky on melko pieni, mutta työalue (ulottuvuus) suurehko. Kehitteillä ovat sellaiset robottikäsivarret, joissa on yli kuusi vapausastetta paremman kurottelukyvyn saavuttamiseksi. Tällöin robotin on esimerkiksi mahdollista kurottua ikkuna-aukosta auton sisälle, liikuttaa työkalua halutulla tavalla ja samalla väistellä ikkunoiden reunoja. 2.2.4 Sylinterirobotti Sylinterirobotin nimitys on luonnollisesti peräisin sylinterikoordinaatistosta. Kuva 2.1 Perinteinen sylinterirobottirakenne. 2.2.5 Rinnakkaisrakenteiset robotit Suuria voimia robotit saadaan kestämään kytkemällä joitain robotin vapausasteita (tai pikemminkin toimilaitteita) rinnakkain. Tällöin rakennekin tukevoituu, kuten Neos - robotilla. Työalue tosin rajoittuu pieneksi. Kuva 2.11 Rinnakkaisrakenteinen robotti työstötehtäviin. Erästä perusratkaisua, jossa kahden levyn välistä asemaa muutetaan kuudella kumpaankin levyyn kytketyllä lineaarisella toimilaitteella, kutsutaan nimellä `Stewartin alusta'. Erittäin 12

nopeita robotteja valmistetaan kytkemällä rinnakkain ultrakevyitä rakenteita, kunhan vain työkohteen ympärillä riittää vapaata työaluetta. Kuva 2.12 ABB:n IRB 34 robotti soveltuu hyvin elintarviketeollisuuden pakkauslinjalle. Suljetun kinemaattisen rakenteen idea on jakaa tukivoimat toisiaan tukevien rakenteiden avulla, jolloin robotista tulee kestävä. Keveys ja mahdollisuus suuriin voimiin ovatkin rakenteen suurimmat edut. Näitä robottirakenteita on tutkittu ja suunniteltu vasta 199-luvulta alkaen. Ne ovat yleistymässä työstötehtävissä, esimerkiksi karaa liikuttavina rakenteina. Kytkemällä mekaanisia vapausasteita eri tavalla yhteen ja varioimalla vapausasteiden liikematkoja saadaan lukuisia erilaisia robotteja. 2.2.6 Robottien koordinaatistojärjestelmät ja kehykset Robottien akselit (vapausasteet) eli nivelet voivat olla rakenteeltaan hyvin monenlaisia kuten suoraviivaisia, kiertyviä, pallomaisia tai liukuvia liikkeitä suorittavia. Robottien yleisimmät liikemuodot ovat kiertyvät ja suoraviivaiset liikkeet. Toimilaitteina lineaariliikkeille ovat yleensä pneumaattiset tai hydrauliset sylinterit sekä sähköiset lineaaritoimilaitteet. Kiertyvät liikkeet on yleensä toteutettu sähköisillä servomoottoreilla, mutta myös sähköisillä askelmoottoreilla sekä pneumaattisilla tai hydraulisilla vääntömoottoreilla voidaan kiertoliikkeet toteuttaa. Robottien konfiguraatiossa sen käyttämä koordinaatistojärjestelmä on yhdenmukainen sen mekaanisen rakenteen kanssa. Kuvassa 2.13 nähdään kaikki yleisimmät koordinaatistojärjestelmät: Suorakulmainen (Cartesian), sisältää kolme lineaarista nivelakselia Sylinterimäinen (Cylindrical), sisältää yhden kiertyvän ja kaksi lineaarista nivelakselia Pallomainen (Spherical), sisältää kaksi kiertyvää ja yhden lineaarisen nivelakselin Nivelmäinen (Articulated), sisältää kolme ihmiskäden kaltaista kiertyvää nivelakselia SCARA (Selective Compliance Assembly Robot Arm), sisältää kaksi rinnakkaista vaakatason suuntaisen liikkeen mahdollistavaa kiertyvää nivelakselia sekä yhden pystysuoran suuntaisen liikkeen mahdollistavan lineaarisen nivelakselin 13

Kuva 2.13 Robottien yleisimmät koordinaatistojärjestelmät. Robotteja liikutetaan suhteessa erilaisiin koordinaatistokehyksiin. Liikkeiden toteutukset ovat erilaisia, riippuen minkälaisen koordinaatistokehyksen mukaan liike toteutetaan (kuva 2.14). Maailmakoordinaatiston mukaisessa kohdekehyksessä robotti liikkuu pääakselien x-, y-, tai z akselien suuntaisesti, jolloin samanaikaisesti voi useampi robotin nivelistä suorittaa oman liikkeensä. Nivel- eli peruskoordinaatiston mukaisessa kohdekehyksessä liikutetaan robotin jokaista yksittäistä niveltä erikseen. Työkalukoordinaatiston mukaisessa kohdekehyksessä on luotu työkalun mukainen koordinaatisto, jonka mukaisesti robotti suorittaa liikkeensä, mutta erona maailmankoordinaatiston mukaiseen liikuttamiseen on se, että työkalukoordinaatisto liikkuu myös robotin liikkeen mukana. Työkalukohdekehyksen käyttö on hyödyllistä robotin ohjelmoinnissa, jossa robotin on liikuttava eri kohteiden välillä tai osien kokoonpanossa. Kuva 2.14 Robotin kohdekoordinaatistot. 14

2.3 Kinematiikkaa ja robotin geometriset riippuvuudet 2.3.1 Johdanto Robottihan koostuu useista tukivarsista, joista kaksi liikkuu toistensa suhteen joko jonkin suoran suuntaisesti tai suoran ympäri (kiertoliike). Usein tätä akselia kutsutaan robotin niveleksi. Näiden nivelien avulla tukivarret muuttavat keskinäisiä asentojaan ja asemiaan. Tätä robotin perusliikettä eli siis niveltä kutsutaan robotin vapausasteeksi (DOF, degree of freedom). Nykyisissä roboteissa on yleensä kuusi tai neljä vapausastetta. Yleisin mekaaninen rakenne robotissa on siis sellainen, jossa tukivarsi aina kytketään edellisen perään (serial linked). Tätä rakennemuotoa kutsutaan avoimeksi kinemaattiseksi rakenteeksi (kuva 2.15). Tukivarret voidaan myös kytkeä rinnakkain, jolloin rakennetta kutsutaan suljetun kinematiikan rakenteeksi (kuva 2.16). A B A B O1 O2 O1 O2 Kuva 2.15 Yhden vapausasteen suljetun kinematiikan rakenne. Tällaisessa rakenteessa annettaessa arvo tietylle nivelen kulmamuuttujalle määrätään samalla automaattisesti muidenkin kulmamuuttujien arvot. Normaalisti roboteissa halutaan kuitenkin antaa itsenäisesti jokaiselle nivelelle omat arvonsa, mikä suljetun kinematiikan rakenteissa on mahdotonta. Suljetun kinematiikan robottirakenteet ovatkin harvinaisempia, mutta kuitenkin nykyään on markkinoilla myös näitä rakenteita, kun halutaan erikoisen nopeaa toimintaa tai todella jäykkiä mekaanisia rakenteita. A B C O1 Kuva 2.16 Kolmen vapausasteen avoimen kinematiikan rakenne. Normaalisti robottien rakenne perustuu siis avoimen kinematiikan rakenteeseen, jossa jokaiselle nivelmuuttujalle voidaan antaa omat arvonsa, mutta käytännössä ei ole kuitenkaan mitään varmuutta, että robotin end-effector eli työkalun kärki on tarkoitetussa asemassa. 15

Robotin ohjausjärjestelmän tärkein tehtävä on hallita työkalunsa asemaa ja liikettä annettujen ohjearvojen mukaisesti. Robotin on siis osattava laskennallisesti muuttaa haluttu työkalun asema robotin oikeiksi vapausasteiden paikkaohjearvoiksi. Tätä tehtävää sanotaan käänteiseksi kinemaattiseksi tehtäväksi (inverse kinematics). Suora kinemaattinen (forward kinematics) tehtävä on työkalun aseman määritys paikka-arvojen perusteella. Teollisuusrobotin koordinaatistot: Yleisesti käytössä ovat suorakulmaiset ortonormeeratut oikeakätiset koordinaatistot. Maailman koordinaatisto on robotin työskentely-ympäristöön sidottu robotin ulkopuolinen koordinaatisto. Peruskoordinaatisto on robotin jalustaan sidottu koordinaatisto. Tässä on yleisesti käytetty toteutusta, jossa robotin z-akseli yhtyy ensimmäisen vapausasteen akseliin, x-akseli osoittaa ensimmäisen nivelen työalueen keskikohtaan ja xy -taso yhtyy lattiaan (kuva 2.17). Kuva 2.17 Robotin peruskoordinaatisto ja oikealla kuvattu robotin työkalulaipan ns. TOOL-työkalukoordinaatisto. Työkalukoordinaatisto on suorakulmainen koordinaatisto, joka sidotaan työkalumäärityksellä kiinni haluttuun kohtaan robotin työkalua verrattuna alkuperäiseen (TOOL ) työkalulaippaan sidottuun koordinaatistoon (kuva 2.17). 16

2.3.2 Robotiikan matematiikkaa (http://www.cat.csiro.au/ict/staff/pic/robot) Matriiseja voidaan käyttää kuvaamaan pisteitä, vektoreita, kehyksiä, siirroksia, kiertoja ja muunnoksia. Näitä ominaisuuksia hyödynnetään myös robotiikassa. Pisteen esitysmuoto 3D-avaruudessa: Kuva 2.18 Pisteen esitys 3-ulotteisessa avaruudessa. Vektorin esitysmuoto 3-ulotteisessa avaruudessa: Vektori voidaan määritellä sen alku- ja loppupisteiden koordinaateilla. Esimerkiksi vektorin alkupiste on A ja loppupiste on B, niin saadaan vektori: P = ( B A )ˆ i + ( B A ) ˆj + ( B A ) kˆ AB X X Y Y Vektorin alkupisteen ollessa origossa saadaan vektori: P = a Yleensä aina vektorit esitetään robotiikassa matriisimuodossa: a X P = b Y cz Z Z X iˆ + b ˆj + c kˆ Tätä esitystä voidaan vielä kehittää ottamalla mukaan skaalauskerroin w, jolloin kyseinen X vektori on muodossa: P = Y, jossa ax = x/w, by= y/w ja cz= z/w Z w Muuttuja w voi olla mi kä luku tahansa, jolloin sillä voidaan muuttaa vektorin suuruutta. Tietokoneen kuvan zoomaus perustuu juuri tähän esitysmuotoon. Jos w on suurempi kuin 1, niin kaikkia vektorin komponentteja kasvatetaan ja jos se vastaavasti on pienempi kuin 1, niin niitä pienennetään. Vektorin suuntavektorin esityksessä w =, jolloin vektorin pituudella ei ole merkitystä. Y Z 17

Kuva 2.19 Vektorin esitys 3-ulotteisessa avaruudessa. Esimerkiksi jos vektorina on P 3 iˆ + 5 ˆj + 2 x Y Z kˆ = ja skaalauskerroin on 2, niin vektorin esitys 6 3 1 5 matriisimuodossa on: P = ja sen suuntavektori matriisimuodossa: P =. 4 2 2 Yksikkövektoria varten on ensin laskettava vastaava yksikkövektorin pituus: λ = 2 2 2 p + p + p = 6.16, jossa 3 487 5 p = =. X Y Z X, p = =. 811 6.16 Y jne. 6.16.487.811 ja yksikkövektori: P =.324 Origoon kiinnitetyn kehyksen esitysmuoto: Kolmella vektorilla voidaan myös esittää kehys, jonka oma origo yhtyy peruskoordinaatiston origoon. Yleensä nämä kolme vektoria ovat kohtisuorassa toisiaan vasten ja niitä merkitään yksikkövektoreilla n, o, a kuvaamaan normaali-, orientaatio- ja asentovektoreita. Kaikki kolme yksikkövektoria määritellään kolmella komponentilla, joten kehys Frame voidaan matriisimuodossa esittää seuraavasti: n Frame = n n X Y Z o o o X Y Z a a a X Y Z Kuva 2.2 Peruskoordinaatiston origoon kiinnitetty kehys. Omalla origolla varustetun kehyksen esitysmuoto: Jos kehys ei yhdy peruskoordinaatiston origoon, niin tällöin ilmoitetaan myös kehyksen origon etäisyys peruskoordinaatiston origosta, minkä tehtävän suorittaa vektori, jonka alkupiste on peruskoordinaatiston origossa ja loppupiste kehyksen origossa (kuva 2.21). Tällöin kehys voidaan määritellä kolmella yksikkövektorilla ja neljäs vektori määrittelee sen sijainnin: 18

nx n = Y Frame nz o o o X Y Z a a a X Y Z PX P Y PZ 1 Kuva 2.21 Peruskoordinaatisto suhteessa kehykseen. Kuten yllä olevasta matriisikuvauksesta voidaan todeta, niin nämä kolme vektoria ovat suuntavektoreita (w=) kuvaten kolmen yksikkövektorin n, o, a suuntia ja neljäs vektori (w=1) ilmoittaa kehyksen origon sijainnin peruskoordinaatiston origosta. Tämän neljännen vektorin pituus on tärkeä informaatio ja siksi käytössä on skaalauskertoimelle w arvo 1. Esimerkiksi kehyksen Frame origo sijaitsee 3,5,7 yksikön etäisyydellä perus-koordinaatiston origosta ja sen n-akseli on yhdenmukainen x-akselin kanssa, o-akseli on 45º kulmassa suhteessa y-akseliin ja a-akseli on 45º kulmassa suhteessa z-akseliin. Tällöin tämä kehys voidaan matriisin avulla määritellä seuraavasti: 1 Frame =.77.77.77.77 3 5 7 1 Kuva 2.22 Esimerkki kehyksen määrittelytä 3D-avaruudessa. Homogeeninen siirrosmatriisi: Jos kehyksen siirto avaruudessa tehdään ilman orientaation (kierron) muutosta eli kehyksen suuntavektorit eivät muutu, voidaan pelkkä siirto esittää matriisin muodossa seuraavasti: 1 X 1 Y T =, jossa vektorilla d ilmoitetaan sen komponenttien x, y ja z 1 Z 1 etäisyyden muutokset alkuperäisestä asemasta. d d d 19

Lopullinen kehyksen uusi asento saadaan seuraavasti: + + + = = 1 1 1 1 1 1 2 d P a o n d P a o n d P a o n P a o n P a o n P a o n d d d Z Z Z Z Z Y Y Y Y Y X X X X X Z Z Z Z Y Y Y Y X X X X Z Y X Frame Kuva 2.23 Kehyksen siirto (ei kiertoa) 3D-avaruudessa. Esimerkiksi siirrettäessä kehystä F yhdeksän yksikköä x-akselin suunnassa ja viisi yksikköä z- akselin suunnassa saadaan F:lle uusi sijainti seuraavasti: = 1 13.643.766 3.439.819.369 14.628.527.527 F alkup. F d d d F alkup z y x uusi Trans.,,, ) ( = = = 1 13.643.766 3.439.819.369 14.628.527.527 1 8.643.766 3.439.819.369 5.628.527.527 1 5 1 1 9 1 F Kiertoliike x-akselin ympäri: Kuva 2.24 Pisteen P sijainti ennen kiertoa x-akselin ympäri ja sijainti kulman θ verran x-akselin ympäri. 2

Yllä olevissa kuvissa on esitetty pisteen P kierto x-akselin ympäri kehyksessä, jonka origo yhtyy peruskoordinaatiston origoon ja lisäksi sen akselit ( n, o, a ) yhtyvät lähtötilanteessa x-, y- ja z-akseleihin. Kiertävä piste P (Px, P y ja Pz) kiertyy siis kierrettävän kehyksen mukana. Alla olevassa kuvassa on tarkasteltu pisteen P koordinaattipisteitä (P y ja Pz) 2D-tasossa x- akselin suhteen. Kuva 2.25 Pisteen P sijainti suhteessa alkuperäiseen kehykseen katsottuna x-akselin suunnasta (2D -näkymä). Uusiksi koordinaattiarvoiksi pisteelle P saadaan: Px = Pn P = l 1 l = y 2 P Pa P = l + 3 l = z 4 P + Pa cosθ sinθ sinθ cosθ Samat matriisimuodossa: P P P x y z 1 = cosθ sinθ sinθ cosθ P P P n o a Yksinkertaistettu kaavamuoto on seuraavasti: U P = U T x R P xyz P = Rot ( x, θ ), mutta se esitetään robotiikassa yleensä noa R P, jossa U TR on kehyksen R siirros kehyksen U (universaali) suhteen R P on (piste P kehyksen R suhteen) Pnoa U P on Pxyz (piste P kehyksen U suhteen) Kiertomatriisi x-akselin ympäri: 1 Rot(x, θ ) = cosθ sinθ sinθ cosθ Kiertomatriisi y-akselin ympäri: cosθ Rot( y, θ ) = sinθ 1 sinθ cosθ 21

Kiertomatriisi z-akselin ympäri: = 1 cos sin sin cos ), ( θ θ θ θ θ z Rot Esimerkiksi piste P on kiinnitetty kierrettävään kehykseen, jota kierretään x-akselin suhteen 9º. Pisteen P uuden koordinaattiarvot saadaan seuraavasti: T (2,3,4) = = = 3 4 2 1 1 1 cos sin sin cos 1 4 3 2 P P P P P P a o n z y x θ θ θ θ Yhdistettyjen siirrosten ja kiertojen toteutus: Esimerkiksi tehtäessä samanaikaisesti seuraavat toiminnot: Kierto x-akselin ympäri kulman α verran P P noa xyz x Rot = ), (, 1 α Lisäksi siirros [l1, l2, l3] x, y ja z-akselien suhteen P l l l P l l l P noa xyz xyz x Rot Trans Trans = = ), ( ),, ( ),, ( 3 2 1 1, 3 2 1, 2 α Näiden lisäksi vielä kierto y-akselin ympäri kulman β verran P l l l P P P noa xyz xyz xyz x Rot Trans y Rot y Rot = = = ), ( ),, ( ), ( ), ( 3 2 1 2,, 3 α β β Esimerkiksi tehtäessä ensin 9º kierto z-akselin ympäri ja seuraavaksi 9º kierto y-akselin ympäri sekä lopuksi siirros [4,-3,7] saadaan lopulliseksi asennoksi: P P noa xyz z Rot y Rot Trans ),9 (,9) ( 3,7) 4, ( = = = 1 1 4 6 1 2 3 7 1 1 1 1 1 1 1 1 1 7 1 3 1 4 1 Siirrosmatriisin käänteismatriisi: Robotiikan useissa määrittelytehtävissä tarvitaan käänteismatriisia. Alla olevassa kuvassa kuvataan tilannetta, kun halutaan paikoittaa TOOL1(E) kohde-koordinaatistoon P, esimerkiksi käytännössä halutaan porata reikä kohde-koordinaatistossa P olevaan kappaleeseen työkalulla E. Robotin peruskoordinaatiston suhdetta maailman koordinaatistoon U kuvataan kehyksellä R. Porattavan reiän sijainti maailman koordinaatistoon nähden saadaan: E P P U E H H R R U E U T T T T T T = = 22

josta työkalun E sijainti kohdekoordinaatistossa saadaan siirroksena U P ja P E tai vaihtoehtoisesti siirroksina U R, R H ja H E. Kuva 2.26 Maailman (Universal) koordinaatisto, robotin peruskoordinaatisto (R), työkalukoordinaatistot TOOL(H) ja TOOL1(E) sekä kohdekoordinaatisto(p). Todellisessa tilanteessa robotin peruskoordinaatiston R siirros suhteessa maailman koordinaatiston U tiedetään, esimerkiksi asennettaessa robotti tuotantosoluun. Myös työkalukoordinaatiston H TE siirros on tiedossa, esimerkiksi määriteltäessä käytettävä työkalu TOOL:n suhteen. Myös kohde-koordinaatiston U TP siirros on tiedossa, esimerkiksi asennettaessa työpöytä maailman koordinaatiston suhteen. P TE on myös tiedossa, koska meidän täytyy tietää mihin esimerkiksi kappaleessa reikä porataan. Lopulta ainoa etukäteen tuntematon siirros on R TH eli työkalulaipan eli ns. TOOL:n siirros robotin peruskoordinaatistoon nähden, mikä onkin robottiohjaimen päätehtävä eli sen on laskettava robotin akseleiden asennot saavuttaakseen haluttu loppuasema. Tähän tarvitaan käänteismatriiseja seuraavasti: ( U 1 U R H H 1 U 1 U P H 1 U 1 U T R) ( TR TH TE ) ( TE ) = ( TR ) ( TP TE ) ( TE ), mutta koska ( TR ) ( TR ) = 1 ja H 1 H TE ) ( TE ) = 1 saadaan R R U 1 U P H 1 TH seuraavasti: TH = TR TP TE TE ( Käänteismatriisin käytöstä esimerkkinä lasketaan seuraavaksi rotaatio eli kääntö x-akselin ympäri. 1 Rotaatiomatriisihan oli: Rot(x, θ ) = cosθ sinθ sinθ cosθ Käänteismatriisin määrittelemiseksi tarvitaan: laskettava matriisin determinantti matriisin transpoosi korvataan saadun transpoosimatriisin elementit alideterminanteilla(minor) jaetaan saatu matriisi determinantilla 23