• Ei tuloksia

ABB IRB 140 robottisolun käyttöönotto

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "ABB IRB 140 robottisolun käyttöönotto"

Copied!
88
0
0

Kokoteksti

(1)

ABB IRB 140 robottisolun käyttöönotto

Mikko Lindholm

Opinnäytetyö Maaliskuu 2011

Kone- ja tuotantotekniikka Kone- ja laiteautomaatio

Tampereen ammattikorkeakoulu

(2)

TAMPEREEN AMMATTIKORKEAKOULU Kone- ja tuotantotekniikka

Kone- ja laiteautomaatio

Tekijä Lindholm, Mikko

Työn nimi ABB IRB 140 robottisolun käyttöönotto Sivumäärä 69 sivua + 19 liitesivua

Valmistumisaika Maaliskuu 2011

Työn ohjaaja Yliopettaja, TkL Olavi Kopponen

Työn tilaaja TAMK, Laboratorioinsinööri Seppo Mäkelä

Tiivistelmä

Tämän opinnäytetyöni tavoitteena oli saada Trimaster OY:ssä ollut, solustaan purettu robotti käyttökuntoon Tampereen ammattikorkeakoulun opiskelijoiden robotiikka- harjoituksia varten. Työhön kuului robotin saaminen käyttökuntoon ja robottisolun muuttaminen opiskeluympäristöön sopivaksi.

Työni on kaksiosainen. Ensimmäisessä osassa on teoriaosuus, jossa käsitellään robo- tin ohjelmoinnissa käytettyjen käskyjen-, ja ohjelman rakennetta. Osiossa myös pe- rehdytään niiden käyttämiseen esimerkkien avulla. Liikekäsky on purettu auki muo- tokielen muodossa, jolloin siitä näkee kuinka robotti käsittelee käskyä ja minkälai- nen on käskyn rakenne ohjelmoinnissa käytettyjen parametrien osalta.

Työni toisessa osassa on käsitelty robotin käyttöönoton aikana tekemiäni muutoksia ja ongelmia työni aikana. Suurimmat ongelmat koskivat robotin turvallista käsittelyä ja robottisolusta poistettujen ominaisuuksien aiheuttamia muutoksia.

Avainsanat ABB, robotti, käyttöönotto, robotiikka

(3)

TAMK UNIVERSITY OF APPLIED SCIENCES Mechanical and industrial engineering

Machine automation

Writer Mikko Lindholm

Thesis Introduction of ABB IRB 140 robot cell Engineering thesis 69 pages + 19 appendices

Graduating time April 2011 Thesis supervisor Olavi Kopponen

Co-operating Company Tampere University of Applied Sciences

Abstract

The target of my master’s thesis was to build working robot cell for the students to practice with. The robot was disassembled and needed some changes. The main changes to the robot cell were building new tools, adding some safety equipment and removing unnecessary parts. Finally the robot cell was suitable to the studying envi- ronment.

My thesis is in two parts. The first part is a theory, which deals with the program- ming of the robot, and the structures of commands and program used. The section also focuses on their use through examples and one of the main move commands is opened as syntax. It gives the opportunity to see how the robot handles the com- mands.

The second part of my work deals with the changes to the robot and problems that occurred during the process. The main problems occurred in robots safe handling and the changes that occurred while editing the robot cell.

Keywords ABB, robot, robotics, introduction

(4)

Symboliluettelo

I/O In/Out Put Sisä/ulos tulot DI Digital input Tulo

DO Digital output Lähtö

o Asteen merkintätyyli

Sanasto

Resistiivinen kosketusnäyttö

Resistiivinen kosketusnäyttö on tarkempi kuin kapasitiivinen, mutta ei mahdollista moni kosketusta. Lisäksi resistiivistä kosketusnäyttöä voidaan käsitellä myös hanskat kädessä tai kynsillä, kun taas kapasitiivinen tarvitsee ihokosketuksen tai erillisen ohjaintikun.

Servo

Asemointiin tarkoitettu toimilaitteen ohjauspiiri, jossa on takaisinkytkentä asema- anturiin. Mitä kauempana servo-ohjattu laite on tavoiteasemasta, sitä suuremmalla voimalla se pyrkii siihen.

Syntaksi

Lauseoppi, johon sisältyy varattujen sanojen tunnistus.

(5)

Alkusanat

Opinnäytetyön tekeminen Tampereen ammattikorkeakoululle oli minulle luonnolli- nen valinta, koska sain mielenkiintoisen ja haastavan aiheen. Aihe oli minulle henki- lökohtaisesti kiinnostava, koska olen ollut aina kiinnostunut tekniikasta ja nyt pääsin suoraan tutustumaan robottiin alusta alkaen. Suuret kiitokset Tampereen ammatti- korkeakoulun osaaville opettajille, Trimaster OY:lle ja ABB:n Juha Mainiolle, joilta kaikilta sain tukea ja inspiraatiota.

25.03.2011 Mikko Lindholm

(6)

Sisällysluettelo

Johdanto ... 9 

2. Robottijärjestelmä ... 10 

2.1 Robotti IRB-140 ... 11 

2.1.1 Tekniset tiedot Irb-140 ... 13 

2.2 Ohjausmoduuli ... 14 

2.2.1 Käsiajotila ... 15 

2.2.2 Testaustila (100% nopeus)... 16 

2.2.3 Automaattiajotila (tuotantotila) ... 17 

2.2.4 Liitännät ja käyttöpainikkeet... 19 

2.3 Käsiohjain ... 21 

2.4 Robotin käsiajo ... 24 

2.4.1 Lineaarinen käsiajo ... 26 

2.4.2 Askellusliike (inkrementti) ... 27 

3. Ohjelmointi ... 29 

3.1 RAPID-ohjelmointi ... 29 

3.1 Varatut sanat ... 31 

3.2 Ohjelman rakenne ... 32 

3.2.1 Pääohjelma ... 33 

3.2.2 Aliohjelma... 33 

3.2.3 Ohjelmadata ... 34 

3.2.4 Käskyt ... 34 

3.2.5 Modulit ... 34 

3.2.6 Järjestelmämoduuli ... 35 

3.2.7 Ohjelmamoduuli ... 35 

3.5 Ohjelman lataaminen ... 36 

(7)

3.5.1 Ohjelman lataaminen vaiheittain ... 36 

4 Datatyypit ... 39 

4.1 Muuttuja ... 39 

4.1.1 Muuttujan ominaisuudet ... 40 

4.1.2 Muuttujan määrittely ... 40 

4.1.3 Muuttujan arvojen antaminen ... 40 

4.2 Pysyvä muuttuja ... 41 

4.2.1 Pysyvän muuttujan määrittely ... 41 

4.3 Vakio ... 42 

4.3.1 Vakioarvon käyttö ... 43 

5. Käskyjen rakenne... 44 

5.1 Liikekäskyn rakenne ... 44 

5.1.1 Termien selitykset ... 45 

6 Käyttöönotto ... 48 

6.1 Robottisolun kokoaminen ... 49 

6.2 Työkalunvaihtaja ... 52 

6.3 Työkalut ... 53 

6.3.1 Kaksoistarrain ... 53 

6.3.2 Kääntyvätarrain ... 55 

6.3.2 Työkalunvaihtajan teline ... 57 

6.3.3 Paineilmaliitännän lisääminen ... 58 

6.4 Turvaratkaisut ... 61 

6.4.1 Valoverho... 61 

6.4.2 Turvarele ... 62 

6.4.3 Ovien rajakytkimet ... 63 

6.5 Robotin ohjelmiston päivittäminen ... 64 

7 Havaintoja ja ongelmia ... 65 

(8)

8 Yhteenveto ... 67  Lähteet ... 68  Liitteet ... 69 

(9)

Johdanto

Tämän opinnäytetyön tarkoituksena oli ottaa käyttöön Tampereen ammattikorkea- koulun robottiluokassa sijaitseva ABB-robotin robottisolu. Solu oli alun perin käy- tössä messuesittelyissä ja se muokattiin opetuskäyttöön sopivaksi.

Alkuperäisessä sovelluksessa robotti poimi hihnakuljettimelta muistitikun, siirsi sen lasertulostinyksikköön, jossa siihen tulostettiin asiakkaan haluama teksti. Tämän jälkeen muistitikku otettiin lasertulostusyksiköstä pois ja siirrettiin asiakkaan otetta- vaksi. Kappaleen paikantaminen kuljetinhihnalta toteutettiin konenäköohjelmiston ja pulssianturin avulla.

Aikaisempaan kokoonpanoon jouduttiin tekemään huomattavia muutoksia, mm. ko- nenäkö ominaisuuden poisjättämisen ja robotin työkalujen muuttamisen takia. Myös robottisolun rakenteita muutettiin huomattavasti.

Robottijärjestelmää tullaan käyttämään opetustarkoituksessa, laboratoriotöiden yh- teydessä.

(10)

2. Robottijärjestelmä

Robottijärjestelmä on kokonaisuus, jossa robotti poimii tasolta tai kuljettimelta kap- paleita ja siirtää ne haluttuun paikkaan. Tätä kokonaisuutta on mahdollista tulevai- suudessa laajentaa toisella robotilla tai muilla laitteilla. Tässä opinnäytetyössä robot- ti toimii omana yksikkönään kappaleenkäsittelijänä joka poimii kappaleita kuljetti- melta palettiin erilaisten vaihdettavien työkalujen avulla.

Robotissa on käytössä kaksi erilaista paineilmakäyttöistä tartuntatyökalua, joiden avulla saadaan toteutettua kappaleiden siirtäminen erilaisiin asentoihin ja paikkoihin harjoitustöiden vaatimalla tavalla. Järjestelmää on mahdollista laajentaa myös ko- nenäköominaisuudella, mutta järjestelmän laajuuden takia se jätettiin tästä opinnäy- tetyöstä pois. Kappaleiden ominaisuuksien ja paikkatiedon määrittämiseksi järjes- telmään voidaan kehittää lisäämällä erilaisia kappaleen ominaisuuksia tai paikkaa ilmaisevia antureita, mutta ne jätettiin tuleviin kehityshankkeisiin toteutettavaksi.

(11)

Kuvio 1. R

Robottijärj jain ja tiet Ohjainyks tuskäyttöä erilaista pa tavaroita k

2.1 Robo

IRB-140 ( akselinen

Robottijärje

rjestelmä ko tokone.

sikkö ja tieto ä varten tähä aineilmakäy kuljettimelta

otti IRB-14

(Kuvio 2) o robotti. Ro

estelmä

oostuu neljä

okone sijait än robottiin yttöistä tartu a tai tasolta

40

on ABB:n obottia valm

ästä osasta (K

tsevat sivum n hankittiin t

untatyökalu .

toiseksi pie mistetaan sek

Kuvio 1): R

mmalla, eivä työkalunvai ua joiden av

enin kappa kä viiden, e

Robotti, ohja

ätkä siksi nä ihtaja ja rak

ulla robotti

leen käsitte että kuuden

ainyksikkö,

äy Kuviossa kennettiin ka pystyy poim

elyyn tarko n kilogramm

käsioh-

a. Ope- aksi

mimaan

itettu 6- man nos-

(12)

tokyvyllä.

kaikkia ak sulavat liik paikkapist Robotille määrätyss oikeaa ty syöttämäll jolloin rob Nämä paik sä.

Kuvio 2. A

Koululle kseleita voi kkeet. Robo te muuttama voidaan m ä järjestyks ökalua mää lä ne käsin, botti ajetaan kkapisteet t

ABB IRB-1

hankitun ro daan liikutt ottia voidaa alla XYZ-k myös opetta sessä. Tässä ärityksissä , RobotStud n haluttuun a

tallentuvat o

140 robotti

obotin nost taa samaan an ajaa käsi koordinaattej

aa reittipiste ä tapauksess kolarin vä dio ohjelma asentoon ja ohjelmadata

tokyky on aikaan. Tä ajolla joko ja.

eet (flyby), sa on kuiten älttämiseksi an avulla tai

paikkaan s aan ja ovat

kuusi kilo ämä mahdo akseli kerra

joiden kau nkin huomi . Pisteet v i käyttämäl ekä tallenne

kaikkien ru

ogrammaa.

ollistaa teho allaan tai an

utta robotti ioitava, että voidaan ohj llä opetusto etaan paikk utiinien käy

Robotin kkaat ja ntamalla

i kulkee ä käyttää

elmoida imintoa, apiste.

ytettävis-

(13)

2.1.1 Tekniset tiedot Irb-140

Vapausasteita: 6 (Kuvio 3) Suurin kuormitettavuus: 6 kg Toistotarkkuus:0.03mm Ulottuvuus: 810 mm Maksiminopeus: 2500

s mm

Liikeradat:

1-akseli 360o 2-akseli 200o 3-akseli 280o 4-akseli 400o 5-akseli 240o 6-akseli 800o

Paino: käsivarren 98 kg ja koko yksikön 250 kg IP luokitus: 67

Käyttölämpötila: 5-45oC Käyttökosteus: 95 % Maksimi kiihtyvyys: 20 2

s m

Kiihtyvyysaika 0-1 s

m: 0.15 s Verkkojännite 400 AC

Muuntaja 260 VAC

Tasasuuntaaja 260 VAC ja 370 VDC Virtalähde 370 VDC

Robottimoottoreiden virtalähde 370 VDC

(14)

Kuvio 3. R

2.2 Ohja

Ohjausmo nen roboti lähetetään olevassa k millä vaih siajotila, t

Robotin vap

usmoduul

oduuli on ro in ohjaus. T n ohjainyksi

kaapissa. Oh hdetaan ohja

estaustila ja

pausasteet

li

botin ohjau Tietokoneell kölle, jonne hjausmoduu ausyksikön t a automaatti

usyksikkö (K la tai käsioh e ne tallentu ulin etupane tilaa. Käyte iajotila.

Kuvio 4). T hjaimella teh

uvat. Ohjaus eelissa on tä ettävissä ova

ässä osassa hdyt ja muo smoduuli sij ärkeimmät p

at seuraavat

tapahtuu va okatut ohjelm

ijaitsee robo painikkeet ja

t kolme tilaa arsinai- mat otin alla

a avain, a: Kä-

(15)

Kuvio 4. R

2.2.1 Käsi

Käsiajotila (25% mak Käsiajotila tään ohjelm

Kuvio 5. K

Robotin ohj

iajotila

assa robotti ksimi nopeu a valitaan o mien luomi

Käyttötapak

jausyksikkö

voi liikkua udesta).Täss hjainyksikö seen ja robo

kytkin ö

a vain käyttä sä tilassa kä ön käyttötap

ottijärjestelm

ämällä alenn yttö tapahtu pakytkimest mä käyttöön

nettua ja tur uu ainoastaa tä (Kuvio 5) nottoon.

rvallista nop an käsin ohj

). Käsinajoa peutta jaten.

a käyte-

(16)

Robotin se laa käytetä

Käsiajotila - Peruuttaa - Muuttaa - Luoda ja - Muuttaa /1, s 43/

Kuvio 6. S

2.2.2 Test

Täyden no sa, verrattu poinen rob taan ohjain

ervomootto ään useimm

assa voidaa a robottia o I/O-signaal a editoida R

ohjelmoitu

Sallintakytk

taustila (10

opeuden käs una käsiajo botin ja käsi

nyksikön kä

rit aktivoida miten ohjelm

n:

hjelmapolku lien arvoja v RAPID-ohjel

ua paikkapis

kin (”kuolle

0% nopeus

siajoa käyte tilan norma ittelylaitteen äyttötapaky

aan painam maa luotaess

kua pitkin hä vikatilantei lmia steitä

een miehen k

s)

etään ohjelm aaliin alenne n välistä sy ytkimestä (K

malla sallinta sa ja robottij

ätäseis-tilan den jälkeen

kytkin”)

man testaam ettuun nope nkronointia Kuvio 7)

akytkintä (K järjestelmän

nteen jälkeen n

miseen luonn uteen. Täm a testatessa.

Kuvio 6). Kä n käyttööno

n

nollisessa til mä tila on kä

Testaustila

äsiajoti- otossa.

lantees- yttökel- a vali-

(17)

Testaustila tama virhe VAARA Testaamin ihmisiä kä ynnä muut

Kuvio 7. T

2.2.3 Auto

Automaatt ilman ihm tilassa. Ro jaimen I/O ohjelman, otetaan kä Automaatt kimiä turv loissa. /1,

assa voi aja eiden poisto

nen täydellä äynnistäessä

t eivät ole k

Testaustilan

omaattiajo

tiajossa sall misen ohjaam

obottijärjest O signaaleja

aktivoida r äyttöön valit

tiajotilassa vallisuuden

s.44/

aa täydellä n omahdollisu

ä nopeudella äsi ohjelman käytössä ohj

n valinta

tila (tuotan

lintakytkin ( mista. Tuota elmää voida a. Tulosigna robottijärjes tsemalla käy käytetään m lisäämiseks

nopeudella j uus, mitä tuo

a on vaarall n. Ulkoiset hjelman suor

ntotila)

(Kuvio 6) o annossa rob

aan ohjata k aali voi esim stelmä moot

yttötapakyt monia lisätu si. Nämä lis

ja käytössä otantotilassa

ista. Varmis turvalaittee rittamisen a

on toimeton ottijärjestel kauko-ohjau merkiksi käy ttoreita, ja n kimestä tuo urvalaitteita, säturvalaitte

on myös oh a ei ole.

sta, että turv et, kuten val aikana. /1, s

, jolloin rob mä toimii y uksella, esim ynnistää tai niin edespäin otantotilan a

, kuten valo eet eivät ole

hjelmaeditor

va-alueella loverho, ovi

. 43/

botti voi liik yleensä auto m. käyttämä pysäyttää R n. Tuotanto asento (Kuv overhoa ja ra

käytössä kä rin an-

ei ole irajat,

kkua omaatti-

ällä oh- RAPID- otila vio 8).

ajakyt- äsiajoti-

(18)

Rajoituks Käsiajo ei Automaatt

VAARA!

Automaatt Varmista

Kuvio 8. T sia

i ole mahdo tiajossa voi

- Käy

- Lad

- Peru

- Otta - Pala

- Puh

- Valm

- Suo

titilassa rob a, että turva

Tuotantotila

llinen autom daan:

ynnistää ja p data, käynnis uuttaa robot aa järjestelm auttaa varmu distaa työka mistella ja v rittaa muita

botti voi liik a-alueella e

an valinta

maattitilassa

pysäyttää pr stää ja pysä ttia ohjelma mästä varmu uustallennu aluja vaihtaa työk a prosessiin

kkua ilman e ei ole ihmisi a.

rosesseja äyttää RAPI apolkua pitk uustallennuk uksia

kohteita liittyviä teh

ennakkovar

D-ohjelmia kin hätäseis-

ksia

htäviä

oitusta a

-tilanteen jäälkeen

(19)

2.2.4 Liitännät ja käyttöpainikkeet

Ohjausyksikössä löytyvät seuraavat kytkimet ja käyttöpainikkeet (Kuvio 9):

1. Päävirtakytkin

- Tästä kytketään robottiin virrat päälle

2. Hätäseis nappi

- Hätätilanteessa robotin saa pysäytettyä

3. Kuittausnappi

- Kuitataan, että kaikki on valmista automaattiajoa varten

4. Valintakytkin

- Kytkimestä valitaan haluttu käyttötapa kolmesta eri vaihtoehdosta. Vaih- toehdot ovat käsiajo, käsiajo tuotantonopeudella ja automaattiajo

5. USB-liitin

- varmuuskopioiden ottamista ja ohjelmien siirtämistä varten

6. ”Service pc” ethernet liitin,

- Liitetään robotti online-ohjelmointia varten tietokoneeseen. Tämän liitän- nän kautta myös Picmaster konenäköohjelma käsittelee ja antaa komento- ja robotille. /1, s. 4/

(20)

Kuvio 9. L

Kuvio 10.

Robotti on nikkeen av taa hankal nettaessa o putoamaan

Liitännät ja

. Robotin ja

n myös varu vulla voidaa laan asentoo on huomioit n. Pudottam

käyttöpaini

arrujen vapa

ustettu jarruj an vapauttaa on jumittune tava, että ro minen voi aih

ikkeet

autus

ujen vapautu a robotin ka een robotin obotin käsiv heuttaa hen 1. Pä 2. Hä 3. Ku 4. Va 5. Me 6. US 7. Ve

us painikkee aikkien akse n liikuttamis

vartta ei saa nkilö tai kalu

äävirtakytk ätäseis kyt uittausnapp alintakytkin

erkkivalot SB-liitin erkkoliitin

ella (Kuvio elien jarrut.

en lihasvoim päästää hal ustovahinko

in kin pi n

10). Tämän Tämä mah milla. Napp llitsemattom oja. /1, s. 1

n pai- hdollis-

pia pai- masti

13/

(21)

2.3 Käsiohjain

Ohjausyksikköön liitettiin myös käsiohjain, eli kädessä pidettävä opetusyksikkö (Kuvio 11). Ohjaimessa on suurikokoinen resistiivinen kosketusnäyttö (Kuvio 12) jonka avulla pystytään määrittämään tai muuttamaan robotille ohjelmoituja paikka- pisteitä. Ohjaimessa on myös kolmisuuntainen ohjainsauva (Kuvio 12), jonka avulla voidaan ohjata robottia manuaalisesti ja samanaikaisesti useiden akselien liikettä.

Käsiohjainta käytetään muun muassa paikkapisteiden määrittämiseen, robotin liike- ratojen ja ohjelman toimivuuden testaamiseen, tarvittaessa virhetilanteiden korjaami- seen suoraan robotin vieressä. Tällainen tilanne on esimerkiksi vuorovaikutteinen ohjelman kierto. Tällöin käsiohjaimen näytön avulla tiedustellaan operaattorilta, montako kappaletta tuotetaan. Käsiohjain on erityisesti kätevä silloin, kun tarvitsee päästä kohteen lähelle tarkkailemaan samalla kun ohjataan robottia. /1, s. 8/

Käsiohjaimella tapahtuvaa robotin ajoa varten tulee avain kääntää ohjainyksikössä käsiajotilaan asentoon (Kuvio 5) Tämän lisäksi tulee ohjaimesta painaa kolmiasen- toinen sallintakytkin (Kuvio 6) keskiasentoon, jolloin servot käynnistyvät. Sallinta- kytkin on robottia ohjattaessa pidettävä jatKuviosti keskiasennossa, koska muuten robotin servot sammuvat. Sallintakytkin on varotoimenpide, jolla estetään ohjaavan henkilön puristumien robotin ja jonkin rakenteen väliin. Samalla varmistetaan se, että robotti ei liiku vahingossa painettaessa laitepainikkeita (Kuvio 12).

Lisäksi ohjaimesta löytyy neljä esiohjelmoitavaa nappia, joilla saa valittua lähtöjä päälle tai pois. Näitä nappeja on kätevä käyttää mm. kappaleiden noukkimiseen oi- kean paikkapisteen löytämiseksi (Kuvio 13). /2, s. 44/

(22)

Kuvio 11.

Kuvio 12.

A Ohjausy B Resistiiv C Hätäseis D Kuollee E Kolmisu

. Käsiohjain

. Ohjausyks

yksikön liiti vinen koske s kytkin enmiehen ky

uuntainen o n

sikön laitepa

in

etusnäyttö

ytkin hjaussauva

ainikkeet

(23)

Kuvio 13.

A-D E F G H

Ohjelmoit neeli välil määrittää n mä.

Mikäli val (Kuvio 14 1. Va

2. As

. Ohjausyks

Ohjelmo Aja pain Askellu Askellu Seis pai

tavien pikap ehdeltä. Leh neljälle pik

litaan tyypik 4):

aihto Vaihtaa si

seta arvoksi Asettaa lä

sikön ohjelm

oitavat pika nike

us eteen us taakse

inike

painikkeiden hdeltä valita anäppäimel

ksi lähtö, vo

ignaalin arv

1

hdölle arvo

mapainikkee

apainikkeet

n määrittäm aan ohjelmo lle haluttu ty

oidaan valit

von toiseksi.

on 1

et

1-4

minen tapaht oitavat näpp yyppi: Ei m

ta seuraavis

. Esim. 1

tuu ABB va päimet valik mitään, tulo,

ta tapahtum

0

alikon Ohjau kko, jossa v

lähtö tai jär

mavaihtoehd uspa- voidaan

rjestel-

doista

(24)

3. As

4. Pa

5. Pu

Kuvio 14.

2.4 Robo

Robottia v oikealla kä 16.

Käsiajo ta misuuntai samanaika liikelinjoin

seta arvoksi Asettaa lä

aina/Vapauta Painettaes antaa arvo

ulssi

Signaalin

. Pikanäppä

otin käsiajo

voidaan ohja ädellä. Oike

arkoittaa rob sella ohjaus aisesti kun r na, esimerk

0

hdölle arvo

a

ssa vaihtaa s on 0).

arvo tekee y

äinten ohjelm

o

ata ohjausyk eanlaiset oh

botin tai ulk ssauvalla. K robotti suori kiksi lineaari

oksi 0

signaalin ar

yhden pulss

mointi

ksikön avul hjausyksikön

koisten akse Käsiajo on m

ittaa ohjelm iliikkeenä p

voksi 1 (Hu

sin

lla pitämällä n käsittelyo

lien ohjaam mahdollista v maa. Yleensä paikkapistee

uomioi, että

ä sitä joko v otteet näkyv

mista ohjausy vain käsiajo ä käsiajo su estä A paikk

ä invertoitu

vasemmalla vät kuvioista

yksikön kol o–tiloissa, m uoritetaan su

kapisteeseen

signaali

a tai a 15 ja

l- mutta ei

uorina n B.

(25)

Lineaarilii käyttäjä-, tyy valitta Voit myös kaan kohd tiedot, mik HUOM!

Robotin li ma ohjaa r den paikka seksi. /1, s

Kuvio 15.

Kuvio 16.

ike suhteutu ohjelmasiir avan tehtävä s liikuttaa ro distu mihink

kä voi vaiku

iikerata käsi robottia käy apisteen väl s. 15/

. Ohjausyks

. Ohjausyks

uu valittava rros tai kohd än mukaises

obottia yksi kään koordin

uttaa myöhe

iajossa ei ol yttämään no lillä. Tämä

sikön pitämi

sikön pitämi

aan koordina dekoordinaa sti. /2, s. 42/

i akseli kerr naatistoon.

empiin toim

le yleensä s opeinta ja ly

on huomioi

inen vasem

inen oikeall

aatistoon (m atisto). Vali

/

rallaan. Aks Tällöin men mintoihin.

ama kuin oh yhintä suora

itava mahdo

malla kädel

la kädellä

maailma-, ty ttava koord

eli kerrallaa netetään työ

hjelman ohj aa tai kaarev ollisia törmä

llä

yökalu-, peru dinaatisto m

an liike ei k ökalun kohd

jaama rata.

vaa liikerata äyksien vält

us-, määräy-

kuiten- distus-

Ohjel- aa kah- ttämi-

(26)

2.4.1 Lineaarinen käsiajo

Valittu liike ja/tai koordinaatisto määrittää robotin liikkeet.

Lineaariliikkeessä työkalupiste liikkuu suoria viivoja pitkin avaruudessa esimerkiksi pisteen A ja B välin. Työkalupiste liikkuu valitun koordinaatiston akselien mukaises- ti. /1, s. 16/

A mekaanisen yksikön valinta painike B Valittu mekaaninen yksikkö

C Liiketavan asetukset D Työkaluasetukset E koordinaatisto asetukset

Kuvio 17. Liiketavan valinta B A

C D E

F

(27)

Ohjaussau toina ovat 1. ak 2. ak 3. Lin 4. Uu

Kuvio 18.

Ohjaussau jälkeen. H sikön liike ussauvan l 17/

2.4.2 Aske

Askellusli käännetää netään sek kauan kuin tulee osum

uvan toimin (Kuvio 18) selit 1-3 selit 4-6 neaarinen udelleen ori

. Liikuteltav

uvan liikkeid Huomioi kui

esuuntaa. V liikkeitä, va

ellusliike (i

iikettä voida än, robotti si

kunnin tai p n ohjaussau ma rakenteis

ta määräyty ):

entointi

vien akselie

den toimint tenkin, että armista aina armistaakse

inkrementt

aan käyttää iirtyy yhden idempään, n uvaa pidetää

siin. /1, s. 19

yy valitun li

en valitsemi

ta näkyy ikk ohjaussauv a liikesuunn si mekaanis

ti)

robotin pai n askeleen ( niin robotti än käännetty

9/

iiketavan m

nen

kunassa ohja van suunta e

nan oikeelli sen yksikön

kantamisee inkrementti askeltaa (1 ynä, robotin

ukaan (Kuv

aussauvan s ei aina vasta suus käyttä n todellisen l

n. Aina kun i). Mikäli oh

0 askelta se n liikerata sa

vio 17). Vai

suunnat val aa mekaanis ämällä lyhyi

liikesuunna

n ohjaussauv hjaussauvaa ekunnissa) n aavuttaa raj

ihtoeh-

linnan sen yk- itä ohja- an. /1, s.

vaa a kään- niin

ansa tai

(28)

Kuvio 19.

Käytössä o

Askelko

Pieni Keskisu Suuri Käyttäjä lemä

. Inkrement

olevat askel

oko

uuri

än määritte it

lkoot liittye

Matk (mm 0,05 1 5

e- 0,5-

en kuvioon

ka m)

K

5 0

0 0

10,0 A

U 0

19.

Kulmaliike

0,005 0,02 0,2

Akselit 0,01

Uudelleen 0,50

(astetta)

1-0,20

orientointi 0,03-

(29)

3. Ohjelmointi

Tässä kappaleessa käsitellään Rapid-ohjelmointiin liittyvää ohjelmarakennetta. Ra- kenteeseen kuuluu oleellisesti varattuja sanoja, joita ei tule käyttää ohjelman osien nimeämiseen. Lisäksi käsittelen muita robotin ohjelmoinnin mahdollistavia ohjelmia ja niiden puutteita verrattuna RAPID editoriin.

3.1 RAPID-ohjelmointi

Mikäli haluat tietokoneen tekevän jotain, tarvitaan ohjelma. RAPID on ohjelmakieli, kuten C-kieli, joita käytetään ohjelman kirjoittamiseen. Tietokoneen perusohjelma sisältää vain ykkösiä ja nollia. Tätä ohjelmatyyppiä on ihmisten mahdotonta ymmär- tää. Tämän vuoksi tietokoneiden ohjelmoinnin helpottamiseksi on kehitetty erilaisia korkeantason ohjelmointi kieliä. RAPID on yksi tällainen korkeantason ohjelmointi- kieli. Se sisältää joitakin englanninkielisiä sanoja, kuten (IF ja FOR), jotta siitä on saatu helpommin ymmärrettävä. /3/ s.11

RAPID ohjelmointia on mahdollista tehdä usealla eri ohjelmalla. Kaikkein helpointa se on RobotStudion liitetyllä RAPID Editor nimisellä ohjelmaeditorilla. Tätä käytet- täessä editori näyttää esimerkiksi MoveL käskyn jälkeen sallitut lisäkomennot (Ku- vio 20). Toinen yksinkertainen tapa muokata ohjelmaa on käyttää käsiohjaimen oh- jelmaeditoria (Kuvio 21), jolloin ohjelma itsessään pitää huolen muotokielen oikeel- lisuudesta.

Molemmat ABB:n ohjelmaeditorit ehdottavat seuraavaa käskyyn liittyvääparamet- ria, mitä tarvitaan käskyn suorittamiseen ja sisältävät myös virheenkorjaus toimin- non, joka näyttää missä kohdassa ohjelmaa on muotokielen (syntaksin) vastainen osa.

RobotStudiota käytettäessä on myös mahdollista simuloida robotin toimintaa ja liik- keitä kuten myös tehdä törmäystarkastelu, mikäli ohjelmaan on tuotu esimerkiksi

(30)

autocad:ill simuloinn RobotStud ollaan yht on aktivoi män omin jelmoinnin Ohjelmia Notepad. T ohjelmoin tieditoriss ohjelmia, j arvoja mu

Kuvio 20.

lä tehtyjä ka nin ja työkie

dion avulla eydessä eth itu kyseinen naisuuden m n, ilman että on mahdoll Tällöin pitä ntikieltä ymm

a. Notepad jossa useiss uutellaan. /5

. RAPID Ed

appaleita. T rron hiomis on myös m hernet yhtey n ominaisuu maksua vasta

ä operaattor ista kirjoitta ää olla tarkk

märtävää vi on hyvin su sa soluissa k

/

ditor

Tämä mahdo sen mahdoll mahdollista te

yden avulla.

us. Jokaiseen aan käyttöön ri on fyysise aa ja muoka kana tekstin irheenkorjau uosittu tapa käytetään sa

ollistaa tuot lisimman hy ehdä Online Tämä kuite n ABB:n va n. Online-o esti läsnä ro ata myös pe muotopuol usta ei ole k

editoida yk aman ohjelm

annon koko yväksi.

e ohjelmoin enkin edelly almistamaan hjelmointi m obotin luona erustason tek

esta (syntak käytettävissä ksinkertaisia man pohjaa

o prosessiva

ntia, eli robo yttää, että ro n robottiin s mahdollista a.

kstieditorill ksi), koska R

ä normaalis a kappaleen ja vain joita

aiheen

ottiin obottiin saa tä- aa oh-

la kuten RAPID ssa teks- n siirto-

akin

(31)

Kuvio 21.

3.1 Vara

Alla oleva telmässä. N käyttää ide Listassa on funktioille sanojen kä he- tai jop

. Käsiohjaim

tut sanat

aan listaukse Niillä on er entifioimise n myös jouk e ja ohjeille

äyttäminen pa vaaratilan

men ohjelm

een on kerä rityinen tark een.

kko ennalta . Näitä ei sa muissa, kui nteita ohjelm

maeditori

ätty sanat, jo koitus RAPI

a määrättyjä aa missään t in sanoille t maa suoritet

otka ovat va ID ohjelmoi

ä nimiä eri d tapauksessa tarkoitetuiss ttaessa. /4, s

arattuja robo intikielessä,

datatyypeille a käyttää nim

sa toiminnoi s. 17/

otin ohjausj , eikä niitä s

e, systeemi meämiseen.

issa, aiheutt ärjes- saa

datalle, Näiden taa vir-

(32)

ALIAS AND BACKWARD CASE

CONNECT CONST DEFAULT DIV

DO ELSE ELSEIF ENDFOR

ENDFUNC ENDIF ENDMODULE ENDPROC

ENDRECORD ENDTEST ENDTRAP ENDWHILE

ERROR EXIT FALSE FOR FROM FUNC GOTO IF

INOUT LOCAL MOD MODULE

NOSTEPIN NOT NOVIEW OR

PERS PROC RAISE READONLY

RECORD RETRY RETURN STEP

SYSMODULE TEST THEN TO

TRAP TRUE TRYNEXT UNDO

VAR VIEWONLY WHILE WITH

XOR

3.2 Ohjelman rakenne

Ohjelma koostuu robottia ja oheislaitteita määrätyllä tavalla ohjaavasta RAPID- kielellä ohjelmoiduista käskyistä ja datasta.

Ohjelma muodostuu yleensä neljästä erilaisesta osasta (Kuvio 22):

Päärutiini (pääohjelma)

Useita alirutiineja (aliohjelmia) Ohjelmadata

Järjestelmämoduleista

(33)

Kuvio 22.

3.2.1 Pääo

Ohjelman yksinkerta Tällöin oh Päärutiini

3.2.2 Alio

Aliohjelm osiin, jollo taan pääru man suorit

. Ohjelman

ohjelma

suoritus alk aisena ja hel hjelmaa on y

koostuu us

ohjelma

maa käytetää oin muodos utiinista tai m

tus palaa ku

rakenne

kaa aina pää lposti luetta yksinkertais eista alirutii

än ohjelman tuu helposti muista aliru utsuneen rut

ärutiinista. P avana, eli te

sempi lukea ineista, jotk

n jakamiseks i luettava m utiineista. K tiinin seuraa

Päärutiini o hdä kaikki a ja muokata ka vastaavat

si pienempi modulaarinen Kun rutiini o

avaan käsky

n hyvä pitä ohjelmat ain a virhetilant t robotin työ

in ja helpom n ohjelma. A n suoritettu yyn.

ää mahdollis na alirutiine teiden sattu ökiertoa.

mmin luetta Alirutiineja u loppuun, o

simman eiksi.

uessa.

aviin a kutsu- ohjel-

(34)

3.2.3 Ohjelmadata

Dataa käytetään sijaintien, numeraalisten arvojen (rekisterien, laskurien, ym.), koor- dinaattijärjestelmien, jne. määrittämiseen. Dataa voidaan muuttaa manuaalisesti, mutta se voi muuttua myös ohjelman toimesta (esimerkiksi laskurit). Datatyyppejä on useita, joista tärkeimmän esittely kappaleessa 3.3 Datatyypit.

3.2.4 Käskyt

Käsky määrittää tietyn toiminnan, joka täytyy tapahtua käskyä suorittaessa. Esimer- kiksi robotin liikuttaminen (MoveJ), lähtöarvon asettaminen (reg1:=5;), datan muut- taminen, jne. Ohjelman käskyt suoritetaan yksi kerrallaan siinä järjestyksessä, missä ne on ohjelmoitu.

3.2.5 Modulit

Moduulia voi ajatella eräänlaisena hakemistona tai kansiona, joka sisältää ohjelmia ja ohjelmadataa. Moduuleita voidaan tallentaa erikseen ja tarpeettomat moduulit voi- daan poistaa robotin käyttömuistista. Jos moduuleita ei ole erikseen tallennettu ja ne poistetaan muistista, häviävät moduulit pysyvästi.

(35)

3.2.6 Järjestelmämoduuli

Robotin muistiin on tallennettu järjestelmämoduuli, joka sisältää järjestelmässä tar- vittavia toistuvia toimintoja. Näitä toimintoja ovat muun muassa Työkalujen määrit- telyt, kotiasemaan ajot, työkalun esimerkiksi tarraimen ohjaus ja työkalunvaihtoru- tiinit. Nämä tiedot eivät häviä robotin muistista ohjelmia poistettaessa.

3.2.7 Ohjelmamoduuli

Ohjelmamoduuleita voi olla ohjaimeen ladattuna useita samalla hetkellä, mutta vain yksi voi olla nimeltään main, eli pääohjelma. Myöskään muiden moduulien välillä ei saa esiintyä nimiristiriitoja, eli samoja nimiä kahteen tai useampaan kertaan. Ohjel- mamoduuli sisältää ohjelmadataa ja ohjelmia.

Robotin ohjelma voidaan jakaa ohjelmamoduuleihin, joista jokainen sisältää joukon rutiineja ja dataa. Tämän lisäksi voidaan käyttää aina läsnäolevia järjestelmämoduu- leita.

Moduulit voivat sisältää esimerkiksi:

Yleisiä rutiineja monille eri asennuksille CAD:lla tuotettuja sijainteja

Oheislaitteille, esimerkiksi työkappaleen käsittelijälle, tarkoitettuja ru- tiineja.

Järjestelmämoduulit voivat sisältää kaikkien robotin ohjelmien käyttämää dataa (työkaludata).

Sekä järjestelmä että ohjelmamoduulit toimivat samalla tavalla, kun ne on ladattu muistiin. Kaikkia moduuleita voidaan normaalisti editoida ohjelmointiyksiköstä,

(36)

mutta järjestelmämoduulin ollessa normaalisti kirjoitussuojattu, täytyy suojaus ensin poistaa.

3.5 Ohjelman lataaminen

Tässä luvussa kerrotaan, kuinka ohjelma ladataan robotille. Ohjelma muodostuu yleensä kolmesta osasta: päärutiinista (mikä on aina mukana), joukosta alirutiineja ja ohjelmadatasta. Ohjelmassa voi olla vain yksi päärutiini.

3.5.1 Ohjelman lataaminen vaiheittain

Seuraavaksi kuvataan aiemmin luodun ohjelman lataaminen vaihe vaiheelta.

ABB-valikossa paina Ohjelmaeditori Paina Taskit ja ohjelmat

Mikäli tehtäväikkunassa ei ole ladattua ohjelmaa, dialogi-ikkuna avautuu (Kuvio 23).

Paina Uusi, ellei ohjelmaa ole ja uusi ohjelma luodaan.

Paina Lataa, jos aikaisemmin kirjoitettu ohjelma käytetään.

Tilan tekemiseksi uudelle ohjelmalle, vanha ohjelma on ensin poistettava.

Käytä tiedostonhaku työkalua ladattavan ohjelmatiedoston hakemiseen (Kuvio 24).

(37)

Kuvio 23.

Kuvio 24.

Paina Ok.

. Ohjelman

. Ohjelman .

lataaminen

lataaminen n

n 2

(38)

Kun ohjelm

Kuvio 25.

ma on latau

. Ohjelma la

utunut, näytö

adattuna

össä näkyy esimerkiksi seuraavaa a (Kuvio 25)).

(39)

4 Datatyypit

Seuraavissa kappaleissa on esitetty tärkeimmät datatyypit. Datatyypeistä käydään läpi niiden ominaisuuksia ja käyttötarkoituksia.

4.1 Muuttuja

Numeraaliset (Num)

Voivat sisältää kokonaislukuja tai desimaalilukuja. Esimerkiksi 10 tai 3.14159

Jono (String)

Tekstijono esim. “tämä on merkkijono”. Voi sisältää korkeintaan 80 merkkiä

Boolen muuttuja (Bool)

Boolen muuttuja. Voivat saada vain arvot TRUE (tosi) tai FALSE (epätosi)

Kaikki robottiohjelmoinnissa käytettävät muut datatyypit (Liite 1) perustuvat näihin kolmeen eri datatyyppiin (Num, String ja Bool). Mikäli ymmärrät näiden datatyyp- pien käyttämisen ohjelmoinnissa, mahdollistaa se muiden mutkikkaampien data- tyyppien käytön. /3, s. 12/

(40)

4.1.1 Muuttujan ominaisuudet

Muuttuja sisältää data-arvon. Jos ohjelma on pysäytetty ja aloitettu uudelleen, muut- tuja pitää arvonsa. Mutta mikäli ohjelman osoitin on siirretty päärutiiniin, niin ole- massa ollut data arvo menetetään. Esimerkiksi työpäivän aikana valmiiksi saatujen kappaleiden lukumäärä menetetään ja laskuri aloittaa laskemisen taas alusta. /3, s.

12/

4.1.2 Muuttujan määrittely

Muuttujaa määriteltäessä on tapana määrittää nimi ja datatyyppi, jota muuttuja käyt- tää. Muuttuja määritetään käyttämällä avainsanaa VAR, välttääksemme ohjelmavir- heitä. /3, s. 12/

VAR datatyyppi nimi Esimerkki

VAR num length;

VAR string name;

VAR bool finished;

4.1.3 Muuttujan arvojen antaminen

Arvo annetaan muuttujalle käyttämällä käskyä :=

length := 10;

name := "John"

finished := TRUE;

(41)

Huomaa, että := ei ole matematiikassa käytetty yhtä suurta tarkoittava merkki. Se tarkoittaa, että lauseke oikealla ohjaa muuttujaa vasemmalla. := merkin vasemmalla puolella voi olla vain muuttuja.

Esimerkiksi, alla olevat ovat virheettömiä RAPID koodeja jolla reg1 saa arvon 3.

reg1 := 2;

reg1 := reg1 + 1;

Määrittely voidaan myös tehdä samaan aikaan muuttujan määrittelyn kanssa.

VAR num length := 10;

VAR string name := "John";

VAR bool finished := TRUE;

4.2 Pysyvä muuttuja

Pysyvä muuttuja (Persistent variables) )on yksinkertaisuudessaan samanlainen kuin tavallinen muuttuja. Tärkein ero on, että tämä muuttuja muistaa arvonsa, vaikka oh- jelma lopetettaisiin ja aloitettaisiin taas alusta päärutiinista. /3, s. 13/

4.2.1 Pysyvän muuttujan määrittely

Pysyvä muuttuja on eritelty avainsanalla PERS. Käskyssä alkuperäinen arvo on il- moitettava

Esimerkki.

Tarkastele seuraavaa koodiesimerkkiä.

PERS num nbr := 1;

PROC main()

(42)

nbr := 2;

ENDPROC

Jos tämä ohjelma suoritetaan, olemassa oleva arvo on vaihdettu kahdeksi (2). Seu- raavan kerran kun ohjelma suoritetaan, ohjelman koodi tulee näyttämään tältä:

PERS num nbr := 2;

PROC main() nbr := 2;

ENDPROC

4.3 Vakio

Vakio (Constants) sisältää arvoja, kuten muuttuja, mutta arvo on aina annettu määrit- telynä (esim. 3.14 tai 9.81), arvoa ei voi sen jälkeen enää muuttaa ohjelman aikana.

Vakioarvoa voidaan käyttää muuten ohjelmassa samalla lailla kuin muuttujaa. /3, s.

14/

Vakioarvo on määritetty avainsanalla CONST, jota seuraa datatyppi, identifiointi ja määritetty arvo.

CONST num gravity := 9.81;

CONST string greating := "Hello"

(43)

4.3.1 Vakioarvon käyttö

Käyttämällä vakioarvoa muuttujana, varmistutaan siitä, että arvo ei muutu jossakin vaiheessa ohjelmassa. On parempi käyttää pysyvää muuttujaa, mikäli ohjelmaa tar- vitsee päivittää jollakin muulla pysyvän muuttujan arvolla. Tällöin tarvitsee muuttaa vain yhteen paikkaan arvo ja voit olla varma, että et ole unohtanut päivittää arvoa minnekään muualle ohjelmaan. /3, s. 14/

(44)

5. Käskyjen rakenne

Tässä kappaleessa käsittelen liikekäskyn rakennetta hieman perusteellisemmin. Kap- paleessa on avattu käskyn syntaksi ja kerrottu mitä käsky pitää sisällään robotin oh- jelmoinnin näkökulmasta.

5.1 Liikekäskyn rakenne

Esimerkissä käyn läpi robotin yhdistetyn liikekäskyn syntaksin eli muotokielen.

MoveJ – Liikuttaa robottia yhdistetyllä liikkeellä

MoveJ [\Conc] ToPoint [\ID] Speed [\V] | [\T] Zone [\Z] [\Inpos]

Tool [\WObj]

Yläpuolella oleva teksti on robotin liikekäskyn malli, minkä mukaan robotin operaat- tori määrittää haluamansa toiminnot. Seuraavaksi teksti kertoo mitä mikäkin käskyn osa pitää sisällään robotin kannalta (syntaksi). Suluissa lihavoituna olevan osan jäl- keen näkyy muuttajan tallennusmuoto. /6, s.249/

MoveJ

[ ’\’ Conc ’,’ ]

[ ToPoint’ :=’ ] < expression (IN) of robtarget >

[ ’\’ ID ’:=’ < expression (IN) of identno >]’,’

[ Speed ’:=’ ] < expression (IN) of speeddata >

[ ’\’ V ’:=’ < expression (IN) of num > ]

| [ ’\’ ’:=’ < expression (IN) of num > ] ’,’

[Zone ’:=’ ] < expression (IN) of zonedata >

[ ’\’ Z ‘:=’ < expression (IN) of num > ]

[ ’\’ Inpos’ :=’ < expression (IN) of stoppointdata > ] ´,’

(45)

[ Tool’ :=’ ] < persistent (PERS) of tooldata >

[ ’\’ WObj’ :=’ < persistent (PERS) of wobjdata > ] ’;’

5.1.1 Termien selitykset

[\Conc] (Rinnakkainen suoritus) Datatyyppi switch Myöhemmät käskyt toteutetaan, robotin yhä ollessa liikkeessä. Argumenttia ei yleensä käytetä. Sitä voidaan kuitenkin käyttää, välttääkseen ei haluttuja pysähdyk- siä. Nämä pysähdykset johtuvat robotin prosessorin ylikuormituksesta, kun käyte- tään liikeratapisteitä. Tämä komento on käytännöllinen, kun ohjelmoidut pisteet ovat lähellä toisiaan ja robotti liikkuu kovalla nopeudella. Toinen käyttökohde on, kun kommunikoidaan ulkoisten akselien kanssa ja synkronointi ulkoisen akselin ja robo- tin välillä ei ole välttämätöntä.

Kun käytetään argumenttia \Conc, jaksossa olevat liikekäskyt ovat rajattu viiteen.

Ohjelmaosuus, joka sisältää Storepath-Restorepath argumentteja, \Conc argumentin käyttö on kielletty.

Jos tämä argumentti on jätetty pois ja kohdepiste ei ole pysähdyspaikka, niin seuraa- vat käskyt suoritetaan hieman ennen, kuin robotti on saavuttanut ohjelmoidun alueen (zone).

ToPoint (kohdepiste) Datatyyppi: Robtarget Kohdepiste robotille ja ulkoisille akseleille. Se on määritetty nimettynä kohteena (esim. p_koti) tai ohjelmoitu suoraan ohjeesta (merkattu *)

(46)

[\ID] (Synkronointi ID) Datatyyppi: identno

Tätä argumenttia täytyy käyttää Moniajo systeemissä (Useamman robotin välisessä), mikäli koordinoidaan synkronoitua liikuttelua. Ei ole sallittu missään muussa tapa- uksessa.

Määrätty ID numero pitää olla sama kaikissa yhteistyö ohjelma taskeissa. Id numero takaa sen, etteivät liikkeet eivät sekoitu ajon aikana.

Speed (nopeus) Datatyyppi: speeddata

Nopeusdata, jota sovelletaan liikkeeseen. Nopeusdata määrittää työkalun keskipis- teen nopeuden, työkalun uudelleen orientoitumiselle ja ulkoisille akseleille.

[\V] Velocity Datatyyppi: num

Tätä argumenttia on käytetty määräämään nopeutta TCP:lle (Tool Center

Point/työkalupiste) suoraan ohjeissa. Se korvaa siten nopeuden, joka on määritetty nopeusdatassa (speed data).

[\T] Time Data type: num

Tätä argumenttia käytetään määrittämään kokonaisaikaa sekunteina jonka robotti käyttää liikkumiseen. Se korvaa siten nopeuden nopeusdatassa (speeddata).

Zone alue Data type: zonedata

Aluedata liikkeelle. Aluedata Kuvioa generoidun liikeradan tarkkuutta (minkä alueen sisällä robotti tekee halutun liikkeen liikepolulla).

(47)

[\Z] Data type: num

Argumenttia käytetään spesifioimaan paikan virheettömyys TCP:lle suoraan ohjeis- sa. Säde on annettu millimetreinä ja se vastaa aluetta joka on määrätty alue datassa (zone data). Esimerkiksi Z50 tarkoittaa että robotin työkalupiste kulkee 50 mm sisäl- lä ohjelmoidusta pisteestä.

[\Inpos] In position (kohteessa) Data type: stoppointdata

Argumenttia käytetään spesifioimaan lähestymiskriteeriä robotin TCP:lle pysäytys pisteessä. Pysäytys pistedata (stop point data) vastaa alueparametria.

Tool (työkalu) Data type: tooldata

Työkalu, jota käytetään robotin liikkuessa. Työkalun keskipiste liikkuu määrättyyn kohdepisteeseen.

[\WObj] Work Object (työkohde) Data type: wobjdata

Työkohde (koordinaatisto systeemi), johon robotin asento ja kohdistus liittyy. Tämä argumentti voidaan jättää pois, jolloin asento on yhteydessä maailmakoordinaatis- toon. Mikäli käytetään liikkumatonta työkalupistettä (TCP), tai koordinoidut ulkoiset akselit ovat käytössä, tämä argumentti pitää olla määritelty.

(48)

6 Käyttö

Tämä osio tään muok mioita ja o Tamperee Oy:n halli tio ympäri lusta, kosk Oy:ssä.

Kehitysha ja toimima

Kuvio 26.

öönotto

o pitää sisäll kkaamaan k ongelmia m n ammattik issa (Kuvio istönä erilai ka sitä oli te

anke alkoi o attomana.

. Robotti so

lään varsina koulun tarko mitä projektin

korkeakoulu 26). Solun isissa messu estattu erilai

saltani Trim

lusta purett

aisen työn o oitukseen so n aikana ilm un ostama kä alkuperäise utapahtumis isissa kappa

master Oy:n

tuna

osuuden, jos opivaksi. Os maantui.

äytetty robo enä tarkoituk

ssa. Tämän j aleenkäsitte

n hallissa, m

ssa vanhaa j sio pitää sisä

ottisolu oli p ksena oli to jälkeen rob ly tarkoituk

missä robotti

järjestelmää ällään myös

purettuna T oimia demon botti oli pure ksissa Trima

isolu oli pur

ä lähde- s huo-

rimaster nstraa- ettu so- aster

rettuna

(49)

Kuvio 27.

6.1 Robo

Robottisol irtotavarat seinämä p päätettiin poistettiin Robotti ol soluosa ol tamalla ha

. Tuleva alu

ottisolun k

lun kokoam t solun sisäp purettiin ja ta asentaa valo n myös viisi

li hallissa pa livat irrotett allinosturin

usta

okoamine

misen aloitin puolelta poi arpeettomia overho este halogeeniv akattuna siir tu toisistaan

avulla robo en

n raivaamall is (Kuvio 27 a tukirakent eettömän ko valaisinta ja

rtolavalle (K n (Kuvio 28) ottisolun ohj

la kaikki irr 7). Tämän j teita poistett

ulutuskäytö aikaisemm Kuvio 26). M

). Robottiso jainkaapin p

otetut johdo älkeen solu tiin. Hajana ön mahdolli in käytössä Myös robot olun kokoam

päälle. Täm

ot, pultit yn un yksi hajan

aisen seinän istamiseksi.

ä olleita työt tin ohjauska misen aloitin män jälkeen I

na muut nainen n tilalle Solusta tasoja.

aappi ja n nos- Itse

(50)

robotti nos jatkettiin y

Koska rob nenäkösov semmaksi käytettiin Koululle t tiin pois tä

Kuvio 28.

stettiin paik ylimääräiste

botti oli ollu velluksissa, . Kaikki joh vanhoja tul tullessa robo ästä työstä a

. Robotin oh

koilleen solu en osien poi

ut käytössä a ei I/O kytk hdot kytkett ojen ja läht ottisolussa o aiheen laaju

hjauskaappi

uun (Kuvio istamista (K

aikaisemmi kentöjä tehty

tiin vanhoih töjen nimiä.

oli vielä käy uuden takia.

i

29), tehtiin Kuvio 30).

ssa projekte y aluksi mit hin I/O paik

ytössä kone

n tarvittavat

eissa ja nim enkään kou koihin ja ro

näkötoimin

sähkökytke

menomaan ko ulua ajatelle obotin testau

nto, mutta se

ennät ja

o- n loogi- uksessa

e jätet-

(51)

Kuvio 29.

Kuvio 30.

. Robotti kii

. Solun siist

innitettynä a

timistä

alustaansa

(52)

6.2 Työk

Robottisol työkalunv va vaihtaja tisolussa. T liitäntä) ja paineilmal miseen. /7

Kuvio 31.

Robottisol kentaa om huomioita

kalunvaiht

lun monikäy vaihtaja (Ku

a (M0107-1 Työkalunva a neljälle ele liitäntää, mu 7, s. 5/

. Työkalunv

luun hankitt ma työkalu li ava paineilm

aja

yttöisyyden vio 31). Täm 1) mahdollis

aihtaja sisäl ektroniselle

utta kaksi n

vaihtaja

tiin neljä ad iitäntöjen m maliitäntöjen

n parantamis mä RSP rob staa useiden ltää mahdoll liitännälle niistä on var

dapteriosaa mahdollistav n toiminta. L

seksi robott bot system:s n erilaisten t lisuuden ne (M8). Järje rattu työkalu

(Kuvio 32) valla tavalla Liitännät to

tisoluun pää sin 20 kg:n työkalujen k eljälle painei

stelmässä it un kiinnipitä

, joihin joka . Työkaluja imivat pare

ätettiin hank nostokyvyn käytön robo ilmalähdöll tsessään on tämiseen / ir

aiseen voida a suunnitelta eittain, jollo

kkia n omaa- ot- le (M5

kuusi rrotta-

aan ra- aessa on

in käy-

(53)

tettäessä e tukittava, löytyvät li

Kuvio 32.

6.3 Työk

Robottiin kiinteästi a vaihtajan k liittämistä

6.3.1 Kak

Kaksoistar mallisia pa taa opetus harjoittelu serleikattu

esimerkiksi paineilman iitteestä 2.

. Työkalunv

kalut

suunniteltii asennettuna kanssa oli m ä työkaluun.

ksoistarrain

rraimessa (K aineilmatoim skäytössä m un oppimisy una HT-lase

vain kahta p karkaamise

vaihtajan ad

in kokonaan a kääntyväv mahdotonta,

n

Kuvio 34) t misia tarttuj monipuolisien

ympäristössä erilla ja koot

paineilmali en estämise

dapteriosa

n uudet työk vartinen tarr

, koska vanh

tarttujina kä ujia. Kahden n liikeratoje ä. Kaksoista ttiin koulull

itäntää on k ksi. Työkal

kalut, koska ain. Tämän ha rakenne

äytettiin SM n tarttujan ra

en ja tehokk arraimen ru la. Tarttujan

kaksi jäljelle unvaihtajan

a vanhassa r työkalun k ei mahdolli

MC:n MHZ2 akenne työk kaan objekti unko (Kuvio n tiedot löyt

e jäänyttä pa n mitat ja tie

rakenteessa käyttö työka istanut pain

2-16D2 (Kuv kalussa mah

ien poimim o 35) teetetti

tyvät liittee

aikkaa edot

oli alun- neilman

vio 33) hdollis- misen

iin la- stä 3.

(54)

Kuvio 33.

Kuvio 34.

. Tarttuja M

. Kaksoistar

MHZ2-16D2

rrain

2

(55)

Kuvio 35.

6.3.2 Kää

Robottisol tarrain. Tä sen alkupe vaihtajan k Alkuperäi kiinnitys t van adapte työkalunv esineiden

. Kaksoistar

äntyvätarra

lussa oli alu ätä työkalua eräinen rake

kanssa.

nen kääntyv työkalunvai

erin (Kuvio vaihtajan ada

poimimisen

rraimen suu

ain

un perin vain a päätettiin k

enne ei suor

vä tarrain pi htajaan sop 36), mikä m apteriosaan n erilaisista

unnitelma

n yksi työk käyttää hyv raan mahdo

iti aluksi pu pivaksi. Ratk

mahdollisti . Tämä uusi asennoista

alu, joka oli väksi niin pa ollistanut työ

urkaa kokon kaisuna pää

vanhan työ i työkalu (K

verrattuna k

i kiinteästi a aljon kuin m ökalun käytt

naan ja suun ädyttiin teke ökalun rungo Kuviot 37 ja

kiinteään ka

asennettu k mahdollista,

ttämistä työk

nnitella tartt emään siihen

on kiinnittä a 38) mahdo

aksoistarraim ääntyvä

vaikka kalun-

tujan n sopi- ämisen ollistaa

meen.

(56)

Kuvio 36.

Kuvio 37.

. Adapteri

. Kääntyvä ttarrain sivuusta

(57)

Kuvio 38.

6.3.2 Työk

Robottisol ta voidaan vaihtajaan pohjalta ro Telineen k

. Kääntyvä t

kalunvaiht

luun suunni n varastoida n hankittava obottisoluun koon määrä

tarrain edes

tajan teline

iteltiin työk a erilaisia ty aksi tarkoite n suunnitelt si valmiiden

stä

e

kalunvaihtaj yökaluja. Su ettujen työka

tiin oma nel n kiinnitysr

aa varten te uunnittelussa

alunpitimien lipaikkainen reikien paikk

eline, johon a käytettiin n rakennetta n työkalutel

ka robottiso

työkalunva hyväksi työ a (Kuvio 39 line (Kuvio olun pohjale

aihtajas- ökalun- 9), jonka

40).

evyssä.

(58)

Kuvio 39.

Kuvio 40.

6.3.3 Pain

Koska rob soluun mi usyksikön nään porat ras, koska

. Alkuperäin

. Nelipaikka

neilmaliitä

bottisolussa etittävä liitä n ovien viere ttiin reikä ja a se mahdoll

nen työkalu

ainen työka

ännän lisä

ei ollut mit ännälle hyvä estä hyvä pa a kiinnitettii listi luontev

uteline

aluteline

ääminen

tään mielekk ä paikka ja aikka paine in sopiva pi vimman kiin

käästi toteu toteutus. So ilmaletkun ikaliitin (Ku nnityksen hu

utettua paine olun ulkopu kiinnittämis uvio 41). Tä uoltoyksikö

eilmaliitäntä uolella löyty seksi. Solun ämä paikka ölle.

ää, oli yi ohja-

n sei- oli pa-

(59)

Kuvio 41.

Solun ohja ilmankuiv estää ylipa telmään. P robotin pa

. Paineilmal

auskaapin s vaimen ja pa

aineen muo Paineeksi sä aineilmaliitä

letkun kiinn

isäpuolelle aineenalenn dostumisen äädettiin 7 b äntään (Kuv

nitys

kiinnitettiin nusventtiilin n ja kosteude

baarin paine vio 43).

n huoltoyks n (Kuvio 42)

en kertymis e. Huoltoyks

ikkö. Huolt ), joidenka t sen robotin p

siköstä johd

toyksikkö si tarkoituksen paineilmajä dettiin käytt

isältää na on ärjes- töpaine

(60)

Kuvio 42.

Kuvio 43.

. Huoltoyks

. Paineilmal sikkö

liitäntä robootille

(61)

6.4 Turvaratkaisut

Robottisolun turvallisuusasiat ovat ensiarvoisen tärkeitä, jotta vältytään robotin kä- sittelyn aikana onnettomuuksilta. Robottisolun turvallista käyttöä lisääviä turvarat- kaisuja ovat muun muassa: turvareleet, valoverhot, rajakytkimet ja muut robotin lii- kealueelle menemistä estävät esteet. Tässä kappaleessa käsitellään robottisolussa käytettäviä turvaratkaisuja.

6.4.1 Valoverho

Koska robottisolusta poistettiin yksi robotin työskentelyalueelle pääsyn estävä muo- viseinä, päätettiin robotin työskentelyalueelle pääsyä ja koulutuskäyttöä helpotta- maan hankkia turvallisuusratkaisuksi valoverho (Kuvio 44).

Erilaisia vaihtoehtoja katsottaessa ja robottisolun hankintaan varatussa budjetissa päädyimme rahavaroja hallinnoivan tahon kanssa Omronin MS-4800 malliseen va- loverhoon. Tämä turvakategorian luokan neljä valoverhona (sormisuojaus) on riittä- vä tämän robottisolun suojaamiseksi henkilövahingoilta (maksimi etäisyys 7m, reso- luutio 14mm). Valoverhon kytkentäkaavio löytyy liitteestä 4.

(62)

HUOM!

Valoverho

Kuvio 44.

6.4.2 Turv

Robottisol kö (Kuvio AS (Amer lempia AS työstä. Tu releen tied

o ei ole käy

. Valoverho

varele

luun hankitt o 45). Yksik rgy Stop) pi S-piirejä lau urvarele lisät dot löytyvät

ytössä käsia

o

tiin ensin O kköä liitettäe

iirin laukeam ukaistua sam

ttiin toisena t liitteestä 5.

ajotilassa

Omronin G9 essä robotti minen. Kos maan aikaan a oppilastyö

.

SB-200-d m in ongelmak ka kyseisell n, jätettiin ky önä robottiso

mallinen kap ksi muodos lä turvarele yseinen turv oluun. Käyt

pea turvarel stui robotin eellä ei saatu

varele pois tössä olleen

leyksik- toisen u mo-

tästä n turva-

(63)

Kuvio 45.

6.4.3 Ovie

Alkuperäi sena on es Ovikytkim on Omron

. Omronin t

en rajakytk

seen robotti stää henkilö met jätettiin n D4DS-15F

turvareleyks

kimet

isolun oviin övahingot, m

robottisoluu FS (Kuvio 4

sikkö

n oli kytkett mikäli ovet a uun toimivan 46). Ovirajo

tynä kaksi o avataan kes na turvaratk oen toiminta

ovikytkintä.

ken ohjelm kaisuna. Ovi akaavio löyt

Näiden tark man suorittam ikytkimien tyy liitteestä

koituk- misen.

mallina ä 6.

(64)

Kuvio 46.

6.5 Robo

Robotin oh hankittu si tin ohjelm Päivitys to päivitykse mallisesti alue, jonka Aluksi van maantuess Tämän jäl avulla uud välityksell jolloin rob liitteestä 7

. Ovien raja

otin ohjelm

hjelma päiv illä edellyty maversio oli oteutettiin y en kanssa ro robotin kol a ulko-, tai nhasta koko sa saataisiin lkeen puheli den järjestel

lä. Uuden jä botin uusi oh 7. /8/

akytkimet

miston päiv

vitettiin uusi yksellä, että hankittaess yhteistyössä obottiin lisät aroimisen r sisäpuolelle oonpanosta n solu taas to

inohjeistuks lmä kokoon ärjestelmän hjelmisto tu

vittäminen

impaan ver ä siinä on uu

sa 5.08.820.

ä ABB:n Juh ttiin uutena rakenteiden e robotin kä otettiin varm oimimaan v sen kanssa l npanon. Uud latauksen j uli toimivak n

sioon 5.12.

usimmat saa

ha Mainion optiona wo kanssa. Täl äsivarsi ei sa muuskopio, vanhalla ohj loin robot st den aktivoin älkeen robo ksi. Päivitety

1021.01 kos atavilla olev

kanssa puh orldzones, m

llöin robotil aa mennä m , jotta ongel elmistolla.

tudion Syst ntiavaimen s otti käynnist yn ohjelmis

ska robottis vat ohjelmat

helintukena.

mikä estää o lle määritet missään tilan

lmatilanteid

tem Builder sain puhelim tettiin I-star ston tiedot lö

solu oli t. Robo-

Saman ohjel-

ään nteessa.

den il-

r kohdan men rtilla, öytyvät

(65)

7 Havaintoja ja ongelmia

Robottisolun käyttöönotossa ilmeni useita ongelmia. Ongelmat johtuivat pääsääntöi- sesti siitä, että käyttöönotossa pyrittiin käyttämään mahdollisimman paljon olemassa olevia asetuksia ja välineitä.

Robottisolussa oli oikaistu useissa I/O kytkennöissä, koska robottisolua oli käytetty pääsääntöisesti messuesittelyissä. Ovien turvakytkimet olivat kytketty sarjaan, vaik- ka molempien ovien kytkimet olisi pitänyt kytkeä erikseen robotille. Näin oli toimit- tu sen takia, että robotille ei tarvinnut asentaa muun muassa turvarelettä ja robot- tisolu oli saatu nopeasti toimintakuntoon messuesittelyjä varten. Koska robottisolus- sa ei ollut muita turvallisuuteen vaikuttavia kytkimiä, oli robotti silloin helppo oh- jelmoida toimimaan oikein.

Nämä kytkennät aiheuttivat ongelmia turvareleen kanssa, kun robottisoluun oli lisät- ty valoverho. Kun ovi tai valoverho laukaisi hälytyksen kesken robotin automaat- tiajon, laukaisi se vain toisen AS (Amergy stop) piirin. Tällöin robotti ilmoitti vir- heilmoituksena että vain toinen piiri on lauennut, vaikka molemmat näyttivät olevan lauenneet (Kuvio 47). Syy ilmoitukseen oli, että molempien piirien piti laueta samal- la hetkellä.

Tätä ongelmaa ei saatu korjattua ensimmäiseksi ostetulla turvareleellä, koska mo- lemmat AS piirit tulisi laukaista yhtä aikaa, riippumatta siitä aiheuttiko ovet vai va- loverho hälytyksen. Hankittu turvarele sisälsi vain yhden kanavan, jolloin molempi- en AS piirien laukaisemista ei pystytty toteuttamaan minkäänlaisella kytkennällä kyseisellä releellä (Kuvio 48). Turvarele korvattiin oppilastyönä tehtynä ohjelmoita- valla turvareleellä.

Toinen ongelma oli robottisolussa käytetty konenäköominaisuus. Robotissa oli aikai- sempien ohjelmointien seurauksena melkein kolmekymmentä hankalasti nimettyä I/O:ta, joiden nimeämistä ei voinut muuttaa opetuskäyttöön sopiviksi, koska silloin konenäkö ei toiminut oikein. Tämän takia konenäköominaisuus jätettiin tästä työstä pois ja samalla I/O:t saatiin nimettyä opetuskäyttöön paremmin sopiviksi. Ko-

(66)

nenäköohj va kyseise

Kuvio 47.

Kuvio 48.

jelmisto mä ellä kokoonp

. AS piirien

. AS piirien

ääräsi tarkas panolla.

n merkkivalo

n kytkentä p

sti miten eri

ot

aikka

i laitteet pitäää nimetä, jotta se olisii toimi-

(67)

8 Yhteenveto

Työn valmistuttua voidaan sanoa, että se oli huomattavasti haasteellisempi, kuin osa- sin odottaa. Aihe oli minulle entuudestaan vähän vieras ja manuaaleista opiskelu ei heti tuottanut toivottua tulosta. ABB:n Juha mainion pidettyä koulutuspäivän robotin toiminnoista ja ohjelmoinnin peruskomentojen selvittyä alkoi työ vasta toden teolla edistyä.

Työn olisi voinut toteuttaa muillakin tavoilla, mutta koska tarkoitus oli saada robot- tisolu toimimaan opetusympäristössä käyttäen mahdollisimman paljon robottisolun vanhoja tarvikkeita päädyin nykyiseen ratkaisuun.

(68)

Lähteet

/1/ IRC5 ohjelmoinnin perusteet /2/ IRCwithFlexPendant

/3/ Introduction to RAPID /4/ Technical reference manual

/5/ Keskustelut Trimaster Oy:n henkilöstön kanssa /6/ Rapid reference manual

/7/ Product Manual Swivel with Tool Changer 20 kg /8/ Puhelinkeskustelu ABB:n Juha Mainion kanssa

(69)

Liitteet

1. Muut käytettävissä olevat datatyypit 2. Työkalunvaihtaja

3. Tarttujan tiedot

4. Valoverhon kytkentä

5. Turvareleen tiedot

6. Ovirajojen toiminta ja tiedot 7. Robotin ohjelmiston tiedot

(70)

Liite 1: Muut käytettävissä olevat datatyypit

aiotrigg - Analog I/O trigger condition btnres - Push button result data

busstate - State of I/O bus buttondata - Push button data byte - Integer values 0 - 255 clock - Time measurement

confdata - Robot configuration data

corrdescr - Correction generator descriptor datapos - Enclosing block for a data object dionum - Digital values (0 - 1)

dir - File directory structure dnum - Double numeric values errdomain - Error domain errnum - Error number errstr - Error string errtype - Error type

event_type - Event routine type exec_level - Execution level

extjoint - Position of external joints handler_type - Type of execution handler icondata - Icon display data

(71)

identno - Identity for move instructions intnum - Interrupt identity

iodev - Serial channels and files iounit_state - State of I/O unit 3.27 jointtarget - Joint position data listitem - List item data structure loaddata - Load data

loadidnum - Type of load identification loadsession - Program load session mecunit - Mechanical unit

motsetdata - Motion settings data opcalc - Arithmetic Operator opnum - Comparison operator orient - Orientation

paridnum - Type of parameter identification paridvalidnum - Result of ParIdRobValid pathrecid - Path recorder identifier

pos - Positions (only X, Y and Z) pose - Coordinate transformations progdisp - Program displacement rawbytes - Raw data

restartdata - Restart data for trigg signals

rmqheader - RAPID Message Queue Message header

(72)

rmqmessage - RAPID Message Queue message rmqslot - Identity number of an RMQ client robjoint - Joint position of robot axes

robtarget - Position data

shapedata - World zone shape data signalxx - Digital and analog signals socketdev - Socket device

socketstatus - Socket communication status speeddata - Speed data

stoppointdata - Stop point data stringdig - String with only digits switch - Optional parameters symnum - Symbolic number

syncident - Identity for synchronization point System data - Current RAPID system data settings taskid - Task identification

tasks - RAPID program tasks testsignal - Test signal tooldata - Tool data

tpnum - FlexPendant window number trapdata - Interrupt data for current TRAP triggdata - Positioning events, trigg triggios - Positioning events, trigg

(73)

triggstrgo - Positioning events, trigg tunetype - Servo tune type

uishownum - Instance ID for UIShow wobjdata - Work object data

wzstationary - Stationary world zone data wztemporary - Temporary world zone data zonedata - Zone data

(74)

Liite 2: Tyyökalunvaihhtaja

(75)
(76)

Liite 3: Taarttujan tieddot

(77)

Liite 4: Vaaloverhon kkytkentä

(78)

Liite 5: Tuurvareleen ttiedot

(79)
(80)
(81)
(82)
(83)
(84)
(85)
(86)

Liite 6: Ovvirajojen toiminta ja tieedot

Viittaukset

LIITTYVÄT TIEDOSTOT

Robotin toiminta-alue voidaan esimerkiksi suojata siten, että me- no alueelle robotin ollessa toiminnassa, estetään kokonaan esimerkiksi turva-aidoilla, joiden ovissa

Kappaleen paikoituksen jälkeen kappaleesta määritetään haluttu työstettävä alue, jolle lasketaan robotin liikerata skannaamaan robotin ranteeseen kiinnitetyllä

Tulossa olevat turvaohjaimet, robotin voiman tarkka hallinta ja monet uudet anturitekniikat antavat lupauksia uusista ihmisen ja robotin yhteistyön mahdollisuuksista.

Tulossa olevat turvaohjaimet, robotin voiman tarkka hallinta ja monet uudet anturitekniikat antavat lupauksia uusista ihmisen ja robotin yhteistyön mahdollisuuksista.

Maailmakoordinaatisto on robotin työskentely-ympäristöön, esimerkiksi rakennukseen, kuljettimeen tai robotin oheislaitteisiin sidottu robotin ulkopuolinen koordinaatisto

ABB Robot, ABB Robot Studio, Visual Components Premium, IRB 2400, RAPID... 1

Automaattitilassa on ehdotonta, ettei robotin työalueella ole ketään, sillä robotin liikkeet voivat olla äkillisiä ja toimiessaan robotti voi aiheuttaa

Tuotteen vaihto on raskaampi prosessi kuin kopiomuotin vaihto, sillä siinä muo- tin vaihdon lisäksi vaihdetaan myös raaka-aine, robotin ohjelma sekä tarttuja.. Myös