Professional Documents
Culture Documents
Programiranje robota
SEMINARSKI RAD
Predmet: Programiranje
1
1.1.ZNAČAJKE ROBOTA SCORBOT ER-4U
2
1.1.1 Manipulativni – radni prostor
Povezane duljine članaka i stupnjevi rotacije određuju manipulativni – radni prostor robota.
Na slikama 1 i 2, prikazane su dimenzije i protezanje granica manipulativnog prostora. Tijelo
robota je učvršćeno na željenu radnu površinu. Robot može biti montiran i na pokretnu
konzolu ili nosač što će rezultirati proširenim radnim opsegom u odnosu na dane slike.
Pet robotskih osi i prihvatnica su pokretane sa istosmjernim servo motorima (EM). Smjer
okretanja motora je određen sa operativnim polaritetom: pozitivni istosmjerni napon okreće
motor u jednu stranu dok negativni napon (ili promjena polariteta) okreće motor u suprotnom
smjeru. Svaki motor je sa enkoderom čini zatvoreni upravljački krug. Konstrukcijska izvedba
EM sa zučastim reduktorom i enkoderom ugrađenog na robotu prikazana je na slici 3.
3
Slika 3. EM u sklopu s enkoderom i prijenosom
Enkoder je senzor položaja (Slika 4). Svaka promjena položaja ili zakretanja svake osi
mjereni se elekto-optičkim enkoderom koji je pričvršćen za vratilo elektro-motora koji
pokreće os. Kada se robotske osi kreću, enkoder generira seriju visokih i niskih električnih
signala. Broj ovih signala proporcionalan je količini (zakretu ili pređenom putu) gibanja.
Sekvence ovih signala direktno su uslovljene gibanjem. Kontroler čita ove signale i određuje
veličinu i smjer kretanja osi.
4
1.1.4 Mikroprekidači
SCORBOT – ER 4u ima pet mikroprekidača (slika 5) – jedan po svakoj osi - koji omogućuju
identifikaciju inicijalnog početnog položaja robota. Kroz proceduru zauzimanja početnog
položaja, robot se giba po jednoj osi u vremenu. Svaka os se giba dok nije aktiviran pripadni
mikroprekidač. Zakretanje osi se odvija nižom brzinom kod status mikroprekidača ne bude
isključen a to odaje stanje osi da je postignu početni položaj. Kada su sve osi u inicijalnom
početnom položaju tada se postiže inicijalno početni status robota (eng. home). Ovo je
referentna (početna) točka za izvršavanje predviđenih tehnoloških (ili inih) zadataka robota.
Uvijek kada je robotski sustav stavljen u status uključen potrebito ga je postaviti u početni
inicijalni položaj, koji se ostvaruje programskom rutinom za početni položaj.
Slika 5. Mikroprekidač
5
Slika 6. Prijenosi gibanja robota
1.3 PRIHVATNICA
SCORBOT – ER 4u ima prihvatnicu (slika 7) pokretanu servo
motorom i paralelnim čeljustima s oblogama (jastučićima) od
gume. Ove obloge mogu biti uklonjene jer predstavljaju dodatke u
opremi prihvatnice kao što su napr. vakumski (usisni) jastučići itd.
Tri povezana stožasta zupčanika omogućavaju gibanje kojom se
ostvaruje pokretanje prihvatnice. Kada su motori 4 i 5 u pogonu u
suprotnom smjeru zglob prihvatnice se pokreće gore i dolje. Kada
su motori 4 i 5 u istom smjeru gibanja, prihvatnica se pokreće u
smjeru kazaljki na satu odnosno u suprotnom smjeru. Prsti
Slika 7. Prihvatnica robota prihvatnice su direktno upravljani motorom br. 6 i omogućuju
stanje: otvoreno i zatvoreno.
2. OBILJEŽJA SCORBASE ZA ROBOT SCORBOT –ER 4u
U ovome pregledu daju se sva obilježja (karakteristike) i operacije za sve razine upravljanja
sa programskim sustavom SCORBASE. SCORBASE za SCORBOT – ER 4u je robotski
upravljački programski paket koji omogućuje programiranje robota i njegovo upravljanje
(slika 8). Ovaj upravljački programski sustav ima sljedeće karakteristike:
• Komunikacija sa robotskim kontrolerom, koristeći USB port,
6
• Upravljanje i «real-time» displej status za svih pet robotskih osi (SSG), prihvatnicu i dvije
periferne osi,
• Potpuno podržava (upravlja) te osigurava «real-time» displej status za svih 8 digitalnih
ulaza, 8 digitalnih izlaza te 2 analogna izlaza i 4 analogna ulaza,
• Definiranje položaja na displeju u trenucima ručne promjene položaja u zajedničkom
koordinatnom sustavu,
• Kartezijeve koordinate (X,Y,Z, «napad», okretanje) su također raspoložive,
• Gibanje robota definiramo kao zajedničko (Joint), linearno (Linear) ili kružni (Circular) sa
10 aktivnih razina brzine,
• Dozvoljeno je postavljanje 1000 položaja i 1000 linija programa,
• Programiranje uvažava implementaciju uvjetnog prekidanja programa uvjetovanog
raspoznavanjem ulaznih digitalnih stanja,
• Varijable za programiranje su definirane u tri odvojene grupe (razine) prema stupnju
složenosti učenja. Ovaj pristup omogućava početnicima početak rada s robotom na niskoj
razini i napredno programiranje koje se postupno uvodi kroz savladavanje i akceptiranje
razine upravljanja.
• Spašavanjem i pozivanjem (učitavanjem) projekata,
• SCORBASE može biti instaliran kao dio programskog rješenja ROBOCELL (interaktivni)
grafički programski paket koji omogućava simulaciju robota s ostalom opremom u radnoj
stanici.
7
Slika 8. Izgred otvorenog programskog prozora
Ako odaberete gumb OK, tada ste potvrdili status rada u modu: Control On ili odabirom
gumba Cancel definirate stanje rada u Control Off modu.
Ako se SCORBASE otvara u Off-line modu ili kontroler nije pronađen, to će značiti rad u
Off-line modu. Samo jedna aplikacija SCORBASE može biti aktivna u trenutnom radu na
računalu.
8
2.1 PREGLED IZBORNIKA – SCORBASE Window
Slika 10. Prikaz glavnih programskih redaka (eng. the main bars)
Title bar - sadržava uobičajene Windows kontrole za definiranje veličine prozora i zatvaranje
aplikacije,
Menu Bar - sadržava izbornike sa SCORBASE komandama,
Tool Bar - sadržava ikonice sa često korištenim SCORBASE naredbama,
Status Bar - prikazan na dnu SCORBASE prozora, omogućuje informativni pregled
definirajući mod operacija, tekuću aktivnost, itd. Kada se pokazivačem miša pokazali na
programsku iconu, njen opis je postavljen u Status Bar linju.
9
Opcije u File izborniku su:
10
2.1.2 EDIT Menu
11
2.1.3 RUN Menu
12
Pause F10 Zaustavlja program poslije izvršenja
tekuće programske linije.
Pause and Stop su programske načini zaustavljanja izvršenja programa. U stvarnim opasno-
hitnim stanjima, koristite STOP tipku na robotskom kontroleru ili ABORT tipku na privjesku
za učenje.
13
koje se odnose na više razine su
nevidljive.
Level 2 Na monitoru se pokazuje lista naredbi
i opcija za naprednu razinu. Naredbe
koje se odnose na višu razinu su
nevidljive.
Pro Na monitoru su prikazane sve
naredbe i opcije.
14
Robot Movements Otvara dijalog box koji prikazuje
robotske osi. Klikanjem
(aktiviranjem) na odabranu os, ona će
biti pokrenuta u odabranom smjeru.
Charts Otvara prozor s dijagramima.
Dialog Bars Aktiviranjem prekidača na displeju
mogu se prikazati sedam sljedećih
dialog bar-ova, i to:
• Joints – Displej prikazuje kutove
zakreta pojedinih od pet elemenata
robota,
• XYZ – Displej prikazuje centar
prihvatnice s položajem i
orjentaciom. Ishodište koordinatnog
sustava je centar robotske osnove na
koju je pričvršćen,
• Digitalni izlazi – Displej prikazuje
stanje digitalnih izlaza 1 – 8 ( tamno
zeleni – isključen; svjetlo zeleni –
uključen).
• Digitalni ulazi - Displej prikazuje
stanje digitalnih izlaza 1 – 8 ( tamno
zeleni – isključen; svjetlo zeleni –
uključen).
• Analogni izlazi – Displej pokazuje
vrijednosti analognih izlaza 1 & 2
(0255) – (0-10 volti).
• Analogni ulazi – Displej pokazuje
vrijednosti analognih ulaza 1 - 4 (0-
255).
• Enkoder
15
«Window izbornik» omogućava izbor
jednog od četiri SCORBASE setup
prozora.
TOOL Bar
16
Alatna traka u programu je definirana prema sljedećoj slici:
Svaki SCORBASE projekt uključuje set predefiniranih položaja i program koji šalje robota iz
jednog položaja u drugi. Prioritet za izvršenje programa su svi definirani položaji korišteni u
programu. SCORBASE nudi nekoliko setova alata za definiranje i memoriranje položaja koji
mogu biti korišteni u programu.
Aktivni dialog box-evi većinom korišteni za definiranje položaja su odabrani unutar Window
izbornika i to: Teach &Edit.
Jedna od sljedeće četri metode mogu biti korištene za definiranje položaja: 1. Apsolutni
položaj zajedničkih koordinata (Moguće razine: 1,2 Pro), 2. Relativni položaji zajedničkih
koordinata (Moguće razine: 2 Pro), 3. Apsolutni položaji u kartezijevim koordinatama
(Moguće razine: 2 Pro), 4. Relativni položaji u kartezijevim koordinatama (Moguće razine: 2
Pro).
Pripomena: Definiranje položaja perifernih jedinica može biti učinjeno samo u PRO razini.
Definiranje položaja u SCORBASE može biti načinjeno koristeći jedan od danih opcija:
zajednički ili kartezijev koordinatni sustav. U oba sustava, položaj robota je definiran
(određen), koristeći pet parametara izvedenih iz podataka isporučenih od encodera s pet osi
(enkoder je senzor gibanja i mjerenja kuta zakreta pridruženog na motor svake osi).
Položaj perifernih jedinica je uvijek definiran koristeći jednu varijablu koja se memorira iz
izlaza senzora (vrijednost enkodera) danog određenim položajem.
17
Slika 11. Prikaz robota u zajedničkim koordinatama
Os 1- Tijelo = (0 °)
Os 2- Rame = (-120 °)
Os 3- Lakat = (približno 95 °)
Os 4- Napad = (približno 88 °)
Os 5- Okretanje = (0 °)
Položaj robota u kartezijevim (slika 12) koordinatama (ili XYZ) definiran je sa pet
parametara. Prva tri parametra su: 1. Udaljenost točke centra alata robota (Tool Center Point -
TCP) od ishodišta koordinatnog sustava (nalazi se u centru tijela robota), uzduž sve tri osi
koje opisuju tro-dimenzionalni prostor (x,y,z); 2. i 3. su kutovi Napada i Okretanja
prihvatnice definirani u jedinicama kuta (stupanj).
18
Slika 12. Prikaz robota u kartezijevim koordinatama
SCORBASE nudi dvije metode za određivanje položaja robota i perifernih jedinica. One su
poznate kao Apsolutni položaj i Relativni položaj. Obje ove metode su primjenjive u
kartezijevim i ulančanim (zajedničkom) koordinatama.
Apsolutni položaj je definiran koristeći svih pet parametara položaja robota. Ako je korišten
ulančani koordinatni sustav, položaj robota određen je koristeći tijelo, rame, lakat, kut napada
i okretanja. U XYZ koordinatnom sustavu, položaj je određen koristeći vrijednosti izražene u
milimetrima za X,Y,Z i stupnjevi za kut napada i okretanja. Apsolutni položaj je uobičajen
fiksni položaj u radnom prostoru.
19
Relativni položaj je položaj koji koordinate definiraju iz koordinata referentnog položaja.
Ako se koordinate referentnog položaja mijenjaju, relativni položaj se mijenja uzduž a
održava se udaljenost. Relativni položaj može biti definiran za obadva koordinatna sustava:
ulančani i kartezijev.
Sljedeća tablica objašnjava kako pritiskom na dijalog box u dnu (ili tipke tipkovnice)
pomičemo osi robota u vremenu, kako je prikazano u Tablici 1.
20
Kada je odabran XYZ, klikanjem na gumb (ili stiskanjem ključnih tipki na tipkovnici)
pomiče se TCP.
21
Klikanjem na sliku osi ili XYZPR gumbe,
robot će se pokretati.
Skraćeni (slika 15) ili prošireni (slika 16) prikaz „Teach Positions dialog box-a” omogućuje
sljedeće:
• Učenje položaja (u ulančanim koordinatama),
• Snimanje položaja (u kartezijevim koordinatama),
• Slanje snimljenih položaja osima (kada program nije pokrenut).
22
Spremanje trenutnog položaja robota (u ulančanim
koordinatama).
Brisanje položaja u polju «position number» iz
memorije.
Expand Otvara Teach Position dialog box u proširenom
obliku.
Absolute/Relative to Odabir položaja koji se definira kao apsolutni ili
relativni.
Go Position Izvršava naredbu GO POSITION. Šalje os u
definiran položaj.
Go Linear Izvršava naredbu GO POSITION. Ova naredba šalje
robotov TCP iz trenutnog položaja u odabrani
položaju uzduž linearnog puta (pravocrtnom
linijom).
Speed Odabire brzinu za sva kretanja.
Duration Definira vrijeme u kojemu će se izvršiti kompletna
naredba kretanja. Vrijeme je definirano u 10-tinkama
sekunde.
Opis Funkcija
X(mm),Y(mm),Z Polje za prikaz promjene kartezijevih koordinata odabranog
(mm),Napad(°),Okretanje(°) položaja.
Get Position Prikaz kartezijevih koordinata odabranog položaja.
Clear Čisti sve položaje koordinata.
Teach Učenje položaja koristi kartezijev koordinatni sustav.
Go Circular Izvršava naredbu Go Cirkular to Position. Ova naredba šalje
robot u kružnu putanju do ciljnog položaja preko položaja
odabranog u polju «Via position»
Via position Odabire prelazne položaje kroz koje se kreće kružno gibanje.
23
Simple Vraća izgled dijalog boksa u jednostavni – kraći oblik.
Klikanjem na mapu otvara se ili zatvara lista grupni naredbi. Dodavanje naredbi u program
ostvaruje se na jedan od sljedećih pristupa:
• Klikom na naredbu (eng. Command) u stablu naredbi,
• Kucanjem na tipkovnicu prva dva slova naredbe,
24
• Klikanjem na ikonu naredbe u programskom prozoru (primjenjivo samo na odabranu
naredbu).
Pripomena: Ako je odabran Insert mod, nova komadna linija će biti dodana iznad tekuće
odabrane (osvjetljene) linije. Ako je odabran Overwrite mod, nova naredba će prepisati
odabranu liniju. Mnoge naredbe otvaraju dijalog boksove za kompletiranje komadne linije
svih parametara. Naredbe za EDITIRANJE:
25
Ova naredba šalje robota u naučen položaj, u
kratkom vremenu, koristeći upravljanje «Točka-
Točka». U ovom upravljanju sva gibanja su
neovisna i nemamo upravljanje praćeno po TCP
putanji. Zahtijevani parametri su: Ciljni položaj
(Target Position) i brzina (Speed). Mod
upravljanja gibanjem se može mijenjati kroz ovaj
prozor
Target Position Odredište gibanja. Unesite broj ili varijablu u ovo polje.
Joint-Provjera ako je prozor otvoren iz Go to Position naredbe. Kada je Joint odabran sva
gibanja su neovisna i nemamo upravljanje praćeno po TCP putanji.
Odaberi: Brzina/Trajanje
2 & Pro Naredba Go Linear to Position šalje robotov TCP (Tool Center Point) iz trenutnog
položaja u ciljni položaj, uzduž linearnog puta (pravocrtna linija). Linearno kretanje
primjenjuje se na robotske osi.
26
2 & Pro Naredba Go Circular to Position šalje robotov TCP (Tool Center Point) iz trenutnog
položaja, kružnim putem u ciljni položaj, preko specifični položaja definiranih u polju Via
Position. Kružno kretanje primjenjuje se samo na robot.
2 & Pro Naredba Jaw giba čeljusti prihvatnice u određeni razmak. Naredba otvara sljedeći
dijalog boks..
2 & Pro Naredba IL je uvjetna naredba skoka. U slučajevima programskog izvršenja skoka na
liniju koja sadrži specifičnu oznaku, ako je odabran mikroprekidač osi i aktiviran (On).
Naredba otvara slijedeći dijalog boks.
27
Unesi broj osi ili varijablu u polje Limit
Switch. Unesi ime oznake u skoku (Jump to)
ns polje.
Pro Kada je izvršena naredba Record Position (kroz izvođenje programa), kontroler snima
podatke o trenutnom položaju kao specifični položaj. Naredba otvara slijedeći dijalog boks.
2, Pro Ova naredba inicijalizira (postavlja na 0) brojač enkodera odabrane osi. Naredba
otvara slijedeći dijalog boks.
Pro Ova naredba pokreće konvejer te upravlja s njegovom brzinom. Gibanje konvejera će se
odvijati kontinuirano sve dok ju ne deaktivira naredba Stop Conveyor (ST). Naredba otvara
slijedeći dijalog boks.
28
Unesi broj osi u polje Axis. Unesi broj ili
varijablu u polje Speed. Odaberi smjer
gibanja (Plus ili Minus).
Pro Ova naredba zaustavlja kontinuirano gibanje konvejera sve dok ne bude inicijalizirana
naredba Start Conveyor.
Ova naredba određuje vrijednost otvaranja prihvatnice kao varijable, izraženoj u milimetrima.
29
Slika 19. Pregled naredbi u grupi za kontrolu toka programa
1,2, Pro Ova naredba zaustavlja izvršenje programa za određeno vrijeme. Naredba otvara
dijalog boks.
1,2, Pro Ovo je naredba bezuvjetnog skoka kojom se programski pokazivač skače na liniju
koja sadrži specifičnu oznaku. Naredba otvara dijalog boks.
30
U polje komentara može se unijeti tekst
duljine do 47 karaktera, uključujući i
praznine.
2, Pro Kod izvođenja ove naredbe producira se kratki zvučni signal (beep).
Pro SCORBASE koristi timer koji mjeri vrijeme u jedinicama koje su jednake desetinki
sekunde. Timer je pokrenut kada je SCORBASE otvoren odnosno pokrenut. Naredba Reset
Time ponovno postavlja vrijednost SCORBASE-ovog timera na 0. Koristeći Timer,
vrijednost timera mora biti određena kao varijabla koristeći naredbu Set Variable. Naredba
otvara dijalog boks.
2, Pro Ovu naredba omogućava određivanje vrijednosti ili izražavanje (rezultata određenog
izračunavanja) kao vrijednosti varijable. Naredba otvara dijalog boks.
Naredba Set Variable omogućuje Vam određivanje vrijednosti integera ili rezultata izračuna
u varijablu. Sljedeći primjer postavlja vrijednost varijable po imenu robot za vrijednost
varijable po imenu fun, pomnožena sa dva.
31
U polju Name, unesite ime varijable.
Prvo slovo imena varijable mora biti
slovo, kao napr. «robot». U polje Value
or Expression, unesite vrijednost ili
izračun. Vrijednost varijable je fiksna
(može se unijeti broj u intervalu
±1000000), ili unijeti ime varijable.
Vrijednost varijable kao rezultat izračuna
unosi se kao string koji sadržava dva
argumenta i operator. Argument može
biti oboje: integer ili varijabla (kao napr.
fun * 2).
& operator i
I operator ili
∧ operator ekskluzivni ili
Rezultati logički opreratora su 1 (Istina - True) ili 0 (Neistina - False). Bilo koji operand sa
vrijednosti koja je različita od nule, smatra se istinom, dok vrijednost nula se smatra kao
neistina.
Operatori komparacije
< manji
> veći
<= manji ili jednak
>= veći ili jednak
<> nejednak
Po defaultu, = je pretpostavljeno da je operator.. Ne možete ga uključiti u polje Value or
Expression.
32
Pro Ova naredba omogućuje definiranje vrijednosti varijabli na četiri načina. Odabirom
naredbe Set
Analog input – Vrijednost varijable odgovara vrijednosti analognog ulaza. Unesite broj
analognog ulaza (1-4). Vrijednost analognog ulaza je integer u području od 0 do 255,
odgovara vrijednosti ulaznog napona od 0 do 10 volti na kontroleru.
2, Pro Ova naredba omogućuje stanje grananja, koja se koristi za određivanje programskog
toka u relaciji sa vrijednosti varijable. Odabirom naredbe If Jump to otvaramo sljedeći
dijalog boks.
33
Primjer:
Ako je vrijednost brojača (Counter) je veća od nule, tada će robot otići na Položaj 1. Ako je
vrijednost brojača jednaka ili manja od nule tada će robot ići u položaj 2.
2, Pro Ova naredba omogućuje kreiranje podprograma. Možete pozvati u jednom programu
do 64 podprograma. Odabirom naredbe Set Subroutine otvaramo sljedeći dijalog boks.
2, Pro Ova naredba omogućuje označavanje kraja podprograma. sljedeći dijalog boks.
2, Pro Ova naredba omogućuje pozivanje podprograma. Odabirom naredbe Call Subroutine
otvaramo sljedeći dijalog boks.
34
Unesite ime podprograma u polje Name.
Pozivanje podprograma vrši se iz glavnog
programa. Vi možete nekoliko puta pozvati isti
podprogram sa različitih mjesta u glavnom
podprogramu. Poslije izvođenja podprograma,
program se vraća na liniju iza one u kojoj je
pozvan podprogram.
1,2, Pro Ova naredba omogućuje označavanje linije u programu na koju će biti upućen sa
Jump naredbom. Ova naredba otvara sljedeći dijalog boks.
2, Pro Ova naredba upućuje SCORBASE da štampa podatke koji sadržavaju stringove,
poruke ili vrijednosti varijabli u log datoteku ili u prozor poruka ili oboje. Ova naredba otvara
sljedeći dijalog boks.
35
Slika 20. Pregled naredbi u grupi za kontrolu stanja ulaza i izlaza
1,2, Pro Ova naredba upućuje skok na oznaku ili pozivpodprogram ako je stanje testiranog
digitalnog ulaza usklađeno sa odabranim statusom (On ili Off). Ova naredba otvara sljedeći
dijalog boks.
Pro Ova naredba na osnovu postavljenog stanje na ulaznu omogućuje prekid odnosno poziv
podprograma koji će se izvršavati sve dok je stanje ulaza zadovoljeno. Ova naredba otvara
sljedeći dijalog boks.
36
Pro Ova naredba omogućuje ulazni prekid te ga postavlja u stanje neaktivan. Kada je prekid
neaktivan, to je stanje zanemareno dok naredba Enable Interrupt ne reaktivira isto. Ova
naredba otvara sljedeći dijalog boks.
Pro Ova naredba omogućuje ulazni prekid te ga postavlja u stanje aktivan. Ova naredba
otvara sljedeći dijalog boks.
Kada je interrupt (prekid) aktivan,
to je stanje čekanja za status
prekida U polje Input Number
unesi broj ulaza, varijable ili riječ
ALL.
1,2, Pro Ova naredba postavlja digitalni izlaz u stanje On . Ova naredba otvara sljedeći
dijalog boks.
37
1,2, Pro Ova naredba postavlja digitalni izlaz u stanje Off.
Pro Ova naredba postavlja određeno stanje analognog izlaza. Ova naredba otvara sljedeći
dijalog boks.
U polje Output Number unijeti broj (1
ili 2), ili varijablu.
38
3. LITERATURA
[1]https://www.scribd.com/document/259898890/Programiranje-Robota(Datum pristupa
24.12.2018 u 10:19h)
[2]http://www.pdfknjige.net/knjige.php?pdf=9-programiranje-c-c++(Datum pristupa
24.12.2018 u 11:13h)
[3]https://pogledkrozprozor.wordpress.com/2009/03/31/ucenje-programiranja-
programiranjem-robota-i-igara/(Datum pristupa 25.12.2018 u 14:10h)
39