Robotsko simulacijsko okolje ABB RobotStudio

Univerza v Ljubljani
Fakulteta za elektrotehniko
Robotsko simulacijsko okolje
ABB RobotStudio
Navodila za delo pri laboratorijskih vajah iz Osnov robotike
Roman Kamnik
Ljubljana, 2009.
RobotStudio je simulacijski programski paket, ki omogoča grafično prostorsko simulacijo delovanja
robotskih celic. Programski paket omogoča:
• prostorsko modeliranje robotske celice, ki lahko vključuje več robotov hkrati, periferijo ter ostale
naprave v celici. Model robota vključuje kinematični model robota, ki omogoča vodenje v zunanjih
in v notranjih koordinatah, kakor tudi model programskega jezika in okolja krmilnika.
• načrtovanje trajektorij gibanja (pri načrtovanju poti je v primerjavi z realnim sistemom dobrodošla
možnost načrtovanja glede na geometrijo predmetov v celici),
• simulacijo delovanja,
• kreiranje robotskega programa.
Namen in prednosti uporabe robotske simulacije so:
• Vizualizacija ideje o avtomatizaciji določene delovne naloge.
• Preverjanje ustreznosti različnih tipov robotov še pred odločitvijo o nakupu, kar omogoča knjižnica
modelov robotov.
• Off-line programiranje: Robotski program se v tem primeru razvije na simulacijskem paketu na modelu celice, za prenos na realno celico v proizvodnji pa je potreben le minimalen čas zaustavitve.
Zagon programskega paketa RobotStudio:
Robot studio zaženite s klikom na ikonco v namizju ali pod
Start>Programs>ABB Industrial IT>Robotics IT>Robot Studio
1
1
DELOVNO OKOLJE RobotStudio
Manipulacija delovnega okolja:
• kolešček miške: približevanje/oddaljevanje (zoom in/zoom out)
• srednja tipka miške (STM) + desna tipka miške (DTM): rotacija točke pogleda
• tipka Control + leva tipka miške (LTM): translacijski pomik točke pogleda.
Izbira objektov: krivulja, površina, objekt, skupina objektov, ...
Lovljenje kurzorja na: mreži, v centru, v sredini med oglišči, na oglišču, na robu
(enako z View>Snap Mode)
Ob hkratnem držanju tipke Alt se prikazuje trenutna izbira.
Učenje koordinathih sistemov,
točk in trajektorij
Brskalnik
Layout
Aktivno orodje in koordinatni sistem
Premikanje objekov in robota
Način prikaza
Načini izbire objektov, krivulj,
lovljenje kurzurja
Brskalnik
Paths&
Targets
Parametri ukazov za gibanje
Statusno okno
Delovno okno
Slika 1: Delovno okolje simulacijskega paketa RobotStudio
2
Status krmilnika
2
NAČRTANJE SIMULACIJSKEGA MODELA ROBOTSKE
CELICE
V otvoritvenem oknu izberite Recent Stations > New Station ali v zgornjem levem kotu izberite gumb
RobotStudio Button>New Station (Station je model robotske celice)
Izberite Empty Station in ne spreminjajte ničesar.
Shranite prazno celico pod svojim imenom File>Save Station As v mapo u:\or\RobotStudio\ime_moje_mape
V prazen prostor robotske celice dodajte robot IRB1600-7/145 s krmilnikom preko ikonce Robot System
in menija Quick System
izberite robot, ki je enak realnemu robotu v laboratoriju LRBT. Ob vprašanju izberite tip robota IRB1600_7_145_01
V celico dodajte podstavek na katerem stoji robot preko Modelling>Import Geometry - v mapi
u:\or\RobotStudio\PERIFERIJA (oz. //robo/student/or/RobotStudio/PERIFERIJA) izberite podstavek.sat.
podstavek se znajde na ravnini nič robotskega krmilnika, zato ga premaknite za -370 mm navzdol:
v brskalniku Layout na levi strani izberite podstavek in z desno tipko na miški (DTM) izberite Set
Position, z = -370 mm
Izklopite prikaz ničelne ravnine robotskega krmilnika:
RobotStudio Button>RobotStudio Options>Graphics>Appearance - izklopite Show floor in Grid
V celico na enak način dodajte še mizo (datoteka miza.sat) in na njo namestite kocko (kocka.sat). Kocka
bo na višini 483.5 mm poravnana z ravnino mize.
Objekte v celici lahko premikate na več načinov: v brskalniku Objects izberite objekt in nato:
•
objekt premikate s pomočjo ikonc Move in Rotate ter puščic, ali
•
objekt premikate tako, da v brskalniku izberete DTM>Set Position, >Rotate ali >Place
Kreirajte orodje robota.
1.
Najprej naložite geometrijski model orodja preko File>Import Geometry - izberite orodje3.sat.
(Objekt se po vključitvi nahaja pod robotom in zato ni viden. Predno ga premikate oz. izvlečete
izpod robota, ga obvezno definirajte kot orodje.)
2.
Nato geometrijski model definirate kot orodje: Modelling>CreateTool
- izberite opcijo Use Existing in izberite orodje3,
- vnesite položaj težišča: (-1.27, -1.27, 39.35) mm, maso 1 kg, vztrajnostni moment lahko izberete
poljubno,
- v naslednjem oknu določite vrh orodja tj. Tool Center Point ali TCP, ki je določen glede na
koordinatni sistem orodja. Vnesete koordinate (55.53, 0, 116.21) in rotacijo 50o okoli osi y.
Definirano točko dodate v spisek točk s pušcico v desno in zaključite.
- definicijo orodja je možno popravljati v brskalniku
Layout>Celica>MyNewTool DTM>ModifyToolData,
- definirano orodje pripnite na robot: v brskalniku Objects z miško primite MyNewTool in ga povlecite na objekt IRB1600_7_145_01_2. Odgovorite negativno na vprašanje ali želite zadržati
trenutno pozicijo in orodje se mora znajti pripeto na zadnjem robotskem segmentu.
Načrtan model robotske celice shranite.
3
3
ROČNO VODENJE ROBOTA
Robot lahko ročno vodite na več načinov:
1. Preko orodnega menija Freehand z Jog Joint, Jog Linear ali JogReorient in robot premikate z uporabo
puščic.
2. V brskalniku Layout izberete robot IRB1600_7_145_01_4 in z DTM izberete Mechanism Joint Jog
ali Mechanism Linear Jog. V teh dveh načinih lahko ročno vnašate želene koordinate ali premikate
robot po korakih.
3. Zaženete virtualno ročno učilno napravo z Ctrl-F5 ali v brskalniku Paths&Targets>, izberite ikonco
Krmilnik IRB1600_7kg_1 in z DTM izberete Virtual FlexPendant. Ključ preklopite v ročni način
(gornji položaj), izberete glavni meni ABB v glavnem oknu, izberete Jogging>Joystick lock None,
omogočite gibanje z izbiro Enable ter Hold to Run in robot s pomočjo krmilne palice robot ročno
vodite kot na realnem sistemu.
Naloga: preizkusite vse možne načine ročnega vodenja!
4
KREIRANJE DELOVNEGA OBJEKTA (Work object)
Delovni objekt, ki je v bistvu koordinatni sistem pripet na določen objekt, kreiramo z namenom, da točke
gibanja učimo relativno glede na ta objekt. V primeru, da se objekt premakne, ostane naučen položaj točk
relativno na objekt enak.
Delovni objekt kreiramo tako, da najprej kreiramo koordinatni sistem in sicer s pomočjo orodne ikonce
Frame>Frame from Three Points s čimer se odpre okno Create Frame:
- izberemo opcijo Three Point, ki omogoča definicijo koordinatnega sistem s tremi točkami. Prva točka
predstavlja izhodišče, druga določa smer x osi, tretja pa smer y osi. Kadar definiramo lego koordinatnega sistema glede na nek objekt je najprimerneje, da koordinate točk določimo v t.i. Snap
načinu:
•
•
•
•
kurzor postavimo v okno za vpis koordinat točke,
v delovnem oknu izberemo način lovljenja koordinat v ogljiščih objekta Snap End,
z držanjem tipke Alt dobimo prikaz lovljenja kurzorja glede na objekt,
z miško izberemo želeno ogljišče in koordinate se zapišejo v okno za definicijo koordinatnega
sistema.
- ko določimo koordinate vseh treh točk, zaključimo definicijo koordinatnega sistema s Create in dobimo
izrisan nov koordinatni sistem.
- koordinatni sistem pretvorimo v delovni objekt Workobject z izbiro imena koordinatnega sistema v brskalniku Layout ter z izbiro DTM>Convert Frame to Workobject
- ustvarjen delovni objekt se znajde v brskalniku Paths&Targets
Delovni objekt lahko tudi direktno kreiramo pod orodno ikonco Workobject:
- delovni objekt poljubno poimenujemo ali pustimo nespremenjeno,
- opcijo Robot holds workobject izberemo False,
- opcijo Moved by mechanical unit pustimo prazno,
- opcijo Programmed izberemo True (ker ne gre za premikajoči se koordinatni sistem),
- določimo koordinatni system pod User Frame:
• pozicijo in orinetacijo določimo tako, da izberemo izpis koordinat, kliknemo v eno, in nato v
celici kliknemo na želeno točko (prej pravilno izberemo Snap mode),
4
• orientacijo koordinatnega sistema določimo ali z vnosom želenih zasukov ali pa z opcijo Frame
by points, kjer z izbiro treh točk določimo zasuk koordinatnega sistema,
• izberemo Create in dobimo izrisano nov koordinatnih sistem.
Delovni objekt lahko popravljamo tako, da ga v brskalniku Paths&Targets izberete in preko DTM>Modify
Workobject popravite želene parametre.
Naloga: Za vajo določite delovni objekt na objektu z izhodiščem v enem od vogalov!
5
KREIRANJE UPORABIŠKEGA KOORDINATNEGA SISTEMA
(User Coordinate System - UCS)
Uporabniški koordinatni sistem definiramo, kot poljubni koordinatni sitem v prostoru. Uporaben je, če
želimo določevati položaj točk ali lego nekega objekta gleda nanj. Npr. če v brskalniku Layout izberemo
določen objekt in z DTM>Set as UCS določimo koordinatni sistem kot je koordinatni sistem tega objekta.
Glede nanj lahko določamo lego točk.
5
6
KREIRANJE CILJNIH TOČK (Target points - TCP)
Ciljne točke so lege vzdolž katerih se robot giblje. Tudi ciljne točke je možno kreirati na več načinov:
1. Robot ročno vodimo v želen položaj z uporabo enega od opisanih načinov in v želenem položaju
izberemo Target>Teach Target.
V brskalniku Paths&Targets se pojavi nova točka v delovnem objektu (Paths&Targets>Workobject),
ki je trenutno izbran kot aktiven, kar pomeni, da so koordinate točke določene glede na ta delovni
objekt (ta trenutek lahko izbiramo med wobj0, ki je bazni ks in Workobject_1, ki je ks mize oz.
objekta).
2. Lahko pa točke učimo glede na geometrijo objektov, ki so prisotni v celici, in sicer:
• izberemo želen način lovljenja kurzorja (Snap mode). Namig: s hkratnim držanjem tipke Alt
vidimo ulovljen položaj kurzorja.
• točko - TCP kreiramo s Target>Create Target, odpre se nastavitveno okno:
- izberemo koordinatni sistem, glede na katerega definiramo točko Reference,
- izberemo pozicijo, tako da kliknemo v koordinato in nato kliknemo na objekt,
- orientacijo lahko ročno vpišemo ali jo popravljamo kasneje,
- novo točko, ki se pojavi v delovnem objektu, kreiramo s Create,
• nova točka, ki je določena preko geometrije nima določene konfiguracije robota, kar je potrebno
naknadno določiti. (To se vidi v brskalniku Paths&Targets, kjer se pri točki nahaja rumen
trikotnik s klicajem)
• orientacijo orodja v naučeni točki preverimo tako, da v brskalniku Paths&Targets izberemo
točko in z DTM>View Tool at Target dobimo prikaz lege orodja v točki. Vključimo tudi opcijo
View Robot at Target in s tem dobimo prikaz lege robota v točki.
• orientacijo v naučeni točki popravljamo z Paths&Targets>DTM>Modify Target, Rotate ali ostale
opcije, npr. Set Normal to Surface, ali Align Target Orientation z izbrano osjo(izbrana naj bo
opcija Local za koordinatni sistem).
Orientacijo ni potrebno nastavljati za vsako točko posebej. Lahko jo kopiramo z ene točke s
Copy orientation in Apply orientation v brskalniku Paths&Targets in DTM.Lahko jo določimo
samo nekaj točkam, vmesnim pa jo določi funkcija Interpolate.
• ko je nastavljena želena orientacijo, konfiguracijo robota določimo z
Paths&Targets>izbrana točka>DTM>Jump to Target. Izberemo želeno konfiguracijo in pri tem
opazujemo notranje spremenljivke sklepov. Po potrditvi pri točki izgine trikotnik s klicajem.
• Konfiguracijo se da določiti tudi za vse točke poti hkrati. Pod Paths&Targets>path>DTM izberemo Auto Configuration.
Naloga: načrtaj dve ciljni točki na dveh vogalih mize!
6
7
NAČRTOVANJE TRAJEKTRORIJ GIBANJA (Create Path)
Trajektorijo načrtamo z naučenimi točkami ali s pomočjo krivulj na geometrijskih objektih:
1. načrtanje trajektorije s pomočjo naučenih točk TCP
• izberemo orodno ikonco Empty Path. Pod Paths&Targets se pojavi nova trajektorija.
• v statusni vrstici čisto spodaj desno izbiramo želen način gibanja npr. MoveJ ali MoveL ter
ostale parametre instrukcij za gibanje
• instrukcije vrivamo z izbiro orodne ikonce Teach Instruction ali pa točke TCP v brskalniku
Paths&Targets v pravilnem zaporedju kliknemo in jih povlečemo v trajektorijo.
• posamezne instrukcije za gibanje lahko popravljamo pod DTM>Modify Instruction
2. načrtanje ukaza za gib brez naučene TCP
• izberemo orodno ikonco Move Instruction in vnesemo želene koordinate položaja vrha robota
3. načrtanje krožnega gibanja
• za gibanje po krožnem loku morata biti na voljo začetna in vmesna točka TCP
• kreiramo pot s Empty Path in v pot povlečemo točki,
• v brskalniku Paths&Targets izberemo hkrati oba ukaza za gib v točki in ju z DTM>Convert to
Move Circular pretvorimo v ukaz krožni gib.
4. načrtanje poti s pomočjo krivulj na geometrijskih objektih
(a) najprej iz geometrije ustvarimo krivuljo in sicer v Modeling načinu s pomočjo Curves menija.
V tem meniju lahko kreiramo razne geometrijske oblike (ravno črto, krog, elipso, kvadrat,...) ali
uporabimo Create Border Between Bodies - krivulja, ki je meja med dvema objektoma, če sta v
dotiku
Create Border Arround Surface - krivulja okoli površine (izbira lovljenja kurzorja naj bo površina (Surface))
Create Border From Points - krivulja, ki jo tvorijo točke
(b) krivuljo pretvorimo v pot v meniju Home>Path From Curve (pazite, da je izbran želen način
gibanja) odpre se nastavitveno okno:
• s klikom izberemo krivuljo, ki jo želimo pretvoriti v pot
• izberemo opcijo Create on curve
- izberemo Delovni objekt (glede na katerega je pot določena) - Workobject_1
• za Target Parameters izbiramo:
Approach(deg) - orientacija okoli x osi
Travel - orientacija okoli y osi
Spin - orientacija okoli z osi
Approach - približevanje začetni točki na krivulji
Depart - odmik od končne točke na krivulji
Local Target Offset - odmik posamezne točke vzdolž krivulje
• za Approximation Parameters izbiramo:
Max chord dev - maksimalna dovoljena deviacija poti od krivulje
Nižja izbrana toleranca pomeni več kreiranih ciljnih točk.
Line/circular - linearna ali krožna interpolacija med točkami poti
7
Min dist - minimalna reazdalje med točkami - velja samo za linearno interpolacijo
Max rad - makismalni radij, ki velja za krožno interpolacijo med točkami.
Na ta način načrtane točke poti nimajo določene orientacije in konfiguracije. Orientacijo lahko določimo
ročno preko menija Modify Target ali orientacijo kopiramo iz ostalih točk (Copy orientation in Apply orientation). Konfiguracijo robota v točkah lahko ročno določimo za vsako točko posebej (menija Jump to
Target ali Configuration) ali pa uporabimo meni Autoconfiguration za celotno trajektorijo.
Priporočljivo je, da načrtano pot tudi interpoliramo z vmesnimi točkami, s čimer se izgonemo sporočilom
o napakah v zvezi s konfiguracijo robota (meni DTM> Path>Interpolate Path).
Načrtano pot je mogoče rotirati ali translirati (v brskalniku Paths&Targets izberemo pot>DTM>Path),
ali pa obrniti vrstni red izvajanja gibanja (v brskalniku Paths&Targets izberemo pot>DTM>Modify Path>Reverse
Path>Simple ali Advanced).
Naloga: Načrtajte pot po zunanjem robu kocke in pot po krogu izvrtine na kocki!
8
PREVERJANJE KOLIZIJE Z DRUGIMI OBJEKTI
(Collision Detection)
Preverjanje kolizije je možno samo med simulacijo ali ves čas. Opcijo vključimo na naslednji način: S
Simulation>Create Collision Set ustvarimo dve množici objektov za kateri se bo preverjala kolizija. V
brskalniku Layout v množico ObjectsA z miško povlečemo npr. robot in orodje, v množico ObjectsB pa
ostale elemente v celici. Ob koliziji objekti spremenijo barvo.
Z DTM>Modify Collision Set izbiramo toleranco in barvo obarvanja. Pod RobotStudio Button>RobotStudio
Options>Simulation>Collision nastavljamo ostale nastavitve.
9
KREIRANJE ROBOTSKEGA PROGRAMA
Program v RobotStudio sinhroniziramo z virtualnim krmilnikom ali obratno (v Robot Studio se nahajajo
želene trajektorije gibanja, v virtualnem krmilniku pa ustrezni robotski ukazi programskega jezika RAPID).
Program sinhroniziramo (s čimer kreiramo robotske ukaze) preko menija Offline>Sinhronize to VC. Opcija
je tudi preko brskalnika Paths&Targets, kjer izberemo T_ROB1 in z DTM>Sinhronize to VC.
10
SIMULACIJA IZVAJANJA
Izvajanje posameznih gibov lahko preverimo tako, da v brskalniku Paths&Targets izberemo posamezen
segment in gib preverimo z DTM>Execute Move Instruction, izvajanje posamezne poti pa z Move Along
Path
Izvajanje celotnega že sinhroniziranega robotskega programa pa simuliramo s simulatorjem. Parametre
simulacije nastavimo v meniju Simulation>Simulation Setup, tu v srednje okno povlečemo vse želene poti,
katerih gibanje želimo simulirati. Ustrezno izberemo parameter Entry Point. Izvajanje simulacije poženemo
z izbiro Simulation>Play.
11
TEKSTOVNO UREJANJE ROBOTSKEGA PROGRAMA
Kreirane programske vrstice lahko vidimo in ročno urejamo s pomočjo tekstovnega urejevalnika RAPID
Editor, ki ga zaženemo preko menija Offline>RAPID Editor. Program se nahaja v direktoriju z imenom
RAPID>Program Modules.
8
Spremembe v programu potrdite s tipko Apply Changes.
Program lahko preizkušate v s pomočjo vrivanja ustavitvenih točk in izvajanja po korakih.
Program shranite v datoteko pod želenim imenom tako, da v brskalniku izberete program in preko menija
Program>Save Program As ali DTM>Save Program As shranite datoteko s končnico .pgf. Najbolje, da si
program shranite v svoj lasten direktorij na mrežnem disku U: na direktoriju U:\or\RobotStudio.
Na spodnji sliki je prikazano delovno okno urejevalnika programa RAPID Editor, z brskalnikom v levem
oknu, statusom aktivnega krmilnika v gornjem oknu in robotskimi ukazi v desnem oknu.
Slika 2: Delovno okolje urejevalnika programa RAPID Editor
9
12
PRENOS ROBOTSKEGA PROGRAMA NA ROBOTSKI
KRMILNIK, POPRAVLJANJE PROGRAMA IN
PRILAGODITEV KOORDINATNIH SISTEMOV
Prenos robotskega programa na realni sistem opravite pod menijem Online, ki je namenjen komuniciranju
z robotskim krmilnikom. Da aktivirate povezavo uporabite ikonco Add Controller. Do aktivnega krmilnika
dostopate levo v brskalniku.
Iz okolja RobotStudio>Online zahtevajte dostop do krmilnika preko Request Write Access, kar morate
potrditi na ročni učilni napravi.
Program, ki je trenutno aktiven v robotskem krmilniku se nahaja v direktoriju z imenom RAPID. Program
odprete z DTM>RAPID Editor. Popravke, ki jih opravite v delovnem oknu programa, pa potrdite in s tem
prenesete v krmilnik z izbiro tipke Apply Changes (Ctrl+Shift+S).
Nov program naložite v krmilnik preko menija Online>Load Program, kjer izberete ime datoteke .pgf,
dodatno pa morate naložiti še programski modul in sicer preko menija Online>Load Modul, kjer izberete
ime pripadajoče datoteke .mod.
Prilagoditev koordinatnih sistemov simulacijskega in realnega okolja opravite s pomočjo nove definicije
koordinatnega sistema objekta, glede na katerega so bile naučene točke v simulacijskem okolju. Koordinatni
sistem oz. Workobject na novo definirate na robotskem krmilniku s pomočjo ročne učilne naprave:
• V Jogging meniju izberete Workobject, ki ga želite popravljati in z dolgim pritiskom izberete meni
Definition.
• Izberete User definition in izberete način določitve s tremi točkami (3 points)
• Robot ročno vodite najprej v izhodišče koordinatnega sistema, nato v točko na osi x in nato v točko
na osi y. Vsako točko ustrezno potrdite. Po končani proceduri krmilnik izračuna lego novega koordinatnega sistema in s tem lego vseh točk, ki so naučene glede na ta koordinatni sistem.
10