You are on page 1of 30

PROGRAMIRANJE ROBOTA

VEŽBE
NIVOI UPRAVLJANJA

 Najviši nivo sa elementima veštačke


inteligencije
 Strategijski nivo
 Taktički nivo
 Egzekutivni nivo upravljanja
Shema hijerarhije upravljanja

Analiza situacije (okoline), definisanje


zadatka i usvajanje (izbor) rešenja

Strategijski nivo upravljanja:


planiranje trajektorija

off-line rad Robotski jezik

Taktički nivo upravljanja:


preslikavanje iz spoljašnjih u unutrašnje
koordinate

Egzekutivni nivo upravljanja:


ostvarivanje unutrašnjih trajektorija
(servosistemi)

AKTUATORI SENZORI

on-line rad
Najviši nivo
 Najviši nivo upravljačkog sistema manipulacionog robota sadrži elemente
veštačke inteligencije. Ovde se misli na takve elemente veštačkog intelekta
koji omogućavaju obradu senzorske informacije (vizuelne, taktilne,..) sa
raspoznavanjem situacije gde deluju ruke robota i modeliranjem scene u
nekoj od pogodnih formi. Ove informacije se upoređuju sa informacijama koje
se nalaze u memoriji u sklopu globalnog robotskog zadatka, nakon čega se
na ovom, najvišem nivou, usvajaju rešenja radi izvršenja potrebne operacije u
prepoznatoj situaciji. Pri tome se automatski uzima u obzir prethodno iskustvo
rada robota, tj. robot može da poseduje svojstvo samoobučavanja. Najvišem
nivou se dovodi informacija od svih nižih nivoa i od različitih davača koji
kontrolišu kretanje ruku robota i stanje radne sredine.
STRATEGIJSKI NIVO
 Strategijski nivo, u skladu sa generisanim rešenjem
višeg nivoa raščlanjava globalni zadatak na
elementarne operacije. Pojam elementarnosti nije
definisan i zavisi od konkretnih zadataka i sistema. Pod
ovim se može podrazumevati: naći predmet sa zadatim
karakteristikama, uzeti ga, preneti u tačku sa zadatim
koordinatama ili ga dovesti u kontakt sa drugim
definisanim predmetom ili alatom, pričvrstiti ga ili
obraditi i sl. Elementarne operacije mogu da budu i
jednostavnije.
 Na strategijskom nivou se uglavnom planiraju elementarni zahvati
koje treba da ostvari hvataljka robota (na primer, definišu se
pozicije u radnom prostoru gde treba dovesti hvataljku robota da
bi uzeo neki predmet) Koordinate hvatljke robota u odnosu na
apsolutni sistem vezan za osnovu robota nazivaju se spoljašnje
koordinate. Prema tome, na strategijskom nivou planiraju se
trajektorije spoljašnjih koordinata robota. Međutim, kretanje robota
se ostvaruje preko pokretanja pojedinih zglobova robota: najčešće
se svaki zglob robota pokreće preko pojedinih aktuatora. Zato je
neophodno odrediti kako treba da se pokreću zglobovi robota da
bi se ostvarile trajektorije hvataljke planirane na strategijskom
nivou.
TAKTIČKI NIVO
 vrši se preslikavanje iz spoljašnjih koordinata
hvataljke u koordinate zglobova robota
(unutrašnje koordinate robota), tj. zahtevano
kretanje se raspodeljuje po stepenima slobode
(zglobovima) robota. Taktički nivo kao i viši
nivoi ne koristi samo upravljačke signale
odozgo, već i svaku potrebnu informaciju
povratnih sprega nižeg, izvršnog nivoa – od
izvršnih mehanizama i okoline.
EGZEKUTIVNI NIVO
 Na kraju kada se na taktičnom nivou odrede potrebna
kretanja pojedinih zglobova robota, ona se predaju
najnižem egzekutivnom nivou da ih ostvare. Zadatak
egzekutivnog nivoa je da realizuje zadato kretanje
zglobova kako bi se ostvarila željena funkcionalna
kretanja mehanizma robota, zadata od strane
strategijskog nivoa. Na ovom nivou se ostvaruju
povratne sprege po poziciji, brzini i silama u
zglobovima.
ROBOTSKI JEZIK
 Upravljanje i programiranje pojedinačnih robota se danas obavlja
preko specijalizovanih robotskih jezika. Preko robotskog jezika se
zadaju elementarni zahvati koje robot treba da obavi. Robotski
jezici su uključeni u robotske kontrolere. Zato se strategijski nivo
upravljanja često vezuje za robot preko jezika, te ovaj nivo treba
da izda naredbe robotu preko predviđenog skupa instrukcija u
datom robotskom jeziku. Međutim, podnivo robotskog jezika ima
zadatak i da izvrši proveru zadatih elementarnih zahvata u smislu
njihove konzistentnosti.
NIVOI PO GENERACIJAMA

 Prva generacija:egzekutivni i taktički nivo


 Druga generacija:egzekutvni, taktički i
strategijski nvo
 Treća generacija: sva četiri nivoa
SHEMA HIJERARHIJE -TIP 2
Robotski jezik

Strategijski nivo upravljanja: Vizuelni i drugi senzori


planiranje trajektorija

Trajektorije u spoljašnjim
koordinatama

Taktički nivo upravljanja:


transformacija iz spoljašnjih
u unutrašnje trajektorije

Trajektorije zglobova

Egzekutivni nivo upravljanja:


servosistemi koji obezbeđuju
praćenje željenih trajektorija

Upravljački signali

Aktuatori
ROBOT PROGRAM

 Program robota se definiše kao putanja u


prostoru koju prati manipulator, uz kombinaciju
sa sporednim (perifernim) akcijama koje
podržavaju radni ciklus.
PERIFERNE AKCIJE

 otvaranje i zatvaranje gripera


 logičko odlučivanje
 komunikacija sa drugim delovima opreme ćelije
robota
KAKO SE ROBOT PROGRAMIRA?

 Unošenjem programerskih komandi u


memoriju kontrolera
 Stari način: podešavanjem graničnika i
prekidača – ručno podešavanje
 Savremeni način: digitalni kompjuteri kao
kontroleri i odgovarajuća memorija
METODI PROGRAMIRANJA

 Leadthrough programiranje
 Computer like programiranje
 Off line programiranje
LEADTHROUGH PROGRAMIRANJE

 datira od 60-ih godina kada kompjutersko


upravljanje nije bilo zastupljeno
 slične osnovne metode se i danas koriste za
kompjuterski upravljane robote
 zadatak: manipulator se vodi kroz zahtevani
ciklus kretanja sa istovremenim unošenjem
programa u memoriju kontrolera za kasnije
ponavljanje
 dve metode procedure učenja:
1) pogonsko vođenje i 2) ručno vođenje
 Pogonsko se koristi za upravljanje kretanjem
od tačke do tačke
 Ručno vođenje za nestandardne kontinualne
putanje
PREDNOSTI I NEDOSTACI

 lako učenje od strane komercijalista


 logičan način učenja robota,nepotrebno
poznavanje kompjuterskog jezika
 prekid redovne proizvodnje (bolje korišćenje za
duže proizvodne cikluse)
 nedostatak logičkog odlučivanja
 nisu kompatibilni sa CAD-CAM tehnologijama
ROBOTSKI JEZICI
 upotreba jezika uslovljena korišćenjem kompjutera za upravljanje
robotima, složenijim zahtevima, uvođenjem logičkog odlučivanja
 poboljšavaju mogućnosti senzora, uključujući korišćenje
analognih i digitalnih ulaza i izlaza
 poboljšavaju izlazne sposobnosti za upravljanje eksterne opreme
 logika programa je daleko iznad logike kod leadthrough
programiranja
 proračuni i preocesiranje podataka su slični kompjuterskim
programskim jezicima
 komunikacija sa drugim računarskim sistemima
Primeri robotskih jezika

 Svaki proizvođač ima svoj robotski jezik


 Mitsubishi
 Seiko
 IBM
Komande kretanja

 DP -pomeranje na prethodnu poziciju


 DW -pomeranje alata od tačke do tačke
 HE -podešavanje trenutne pozicije u poziciju labele
 HO -podešavanje kartezijanskih referentnih koordinata
 IP -pomeranje na sledeću poziciju
 MA -pomeranje sa trenutne pozicije na novu
 MC -izvršavanje kontinualnog kretanja
 MJ -pomeranje zgloba pod određenim uglom
 MO -pomeranje alata na određenu lokaciju
 MP -pomeranje ruke u poziciju
 MS -pomeranje po pravoj liniji
 MT -pomeranje alata na određenu udaljenost
 NT -povratak na glavni koordinatni početak
 OG -pomeranje na kartezijanske referentne koordinate
 PA -definisanje palete
 PC -definisanje pozicije u memoriji
 PL - brisanje promenljivih za poziciju u memoriji
 PD -kopiranje pozicije promenljivih
 PT -proračunavanje nove pozicije palete
 PX -zamena dve vrednosti promenljivih pozicije
 SF -pomeranje promenljivih pozicije kroz prostor
 SP -podešavanje brzine robota
 TI -pauza za neki period vremena
 TL -postavljanje duzine alata
Upravljačke komande
 CP -upoređivanje brojača sa vrednostima
 DC -smanjenje vrednosti brojača
 ED -kraj
 EQ -napraviti skok ako je uslov ispunjen (jednak)
 GS -odlazak na potprogram
 GT -odlazak na broj linije
 IC -povećanje vrednosti brojača za jedan
 LG -grananje ako je veće
 NE -grananje ako nije jednako
 NX -sledeći korak u RC petlji
 RC -ponavljanje ciklusa određeni broj puta
 RT -povratak iz GS tj. potprograma
 SC -postavljanje vrednosti brojača
 SM -grananje ako je vrednost manja
Ulazno-izlazne komande
 GC -zatvaranje gripera
 GF -proveravanje statusa gripera
 GO -otvaranje gripera
 GP -podešavanje maksimalnog pritiska pri zatvaranju pritiska
 ID -registrovanje stanja ulaza
 IN -unos paralelnih podataka
 OB -postavljanje izlaznog bita
 OD -izlazni podaci na portu
 OT -izlazni paralelni podaci
 TB -postavljanje bita za testiranje
Primer definisanja tačaka
10 NT; pomeranje u neutralnu poziciju
20 OG;pomeranje u referentnu ili nultu poziciju
30 TL 20;postavljanje duzine alata na 20mm
40 PD 3,0,350,250,-10,-20;definisanje pozicije #3 sa uglovima
50 MO 3;pomeranje robota u poziciju #3
60 DW 20,20,0; kartezijansko pomeranje u pravcu x 20 i u pravcu y 20 mm
70 HE 4;cuvanje trenutne lokacije kao pozicije #4
80 IP;pomeranje alata na poziciju #5
90 MC 6,10;kontinualno kretanje kroz pozicije 6,7,8,9 i zaustavljanje u poziciji #10
100 DP;pomeranje u poziciju #9 i zaustavljanje
110 PD 11,0,0,10,0,0; definisanje vektora (tacka #11) sa samo z komponentom
120 MA 9,11,0;pomeranje sa #9 u #11 sa otvorenim griperom
130 MJ 10,10,0,0,0;pomeranje zglobova 10 stepeni
140 MP 10,20,30,40,50;
150 SP 3;postavljanje brzine robota
160 MS 8,5;pravolinijsko kretanje fo tacke #8
170 MT 8,-40;pomeranje alata 40 mm od tacke #8
Primer korišćenja palete
20 PA 2,3,4; definisanje palete #2 sa 3 kolone i 4 vrste
30 SC 21,1; postavljanje brojaca za kolone na 1
40 SC 22,2; postavljanje brojaca za vrste na 2
50 PT 2; izracunavanje tacke za paletu #2 u koju se treba pomeriti robot
60 MO 2; pomeranje u tacku #2
70 SC 22,3; postavljanje brojaca za vrstu na 3
80 PT 2; izracunavanje nove pozicije
90 MO 2; pomeranje na novu poziciju
Primer I/O komandi
10 GC; zatvaranje gripera
20 GO; otvaranje gripera
30 GP 5,2,3; definise silu gripera 5, silu drzanja 2, i 3/10 kasnjenja dok se griper podesi
40 GC; zatvaranje gripera
50 OB -7; iskljucivanje sedmog izlaznog bita
60 TB +6,50; ako je sesti ulazni bit ukljucen idi na liniju 50
PRIMERI
 1. ZADATAK: Potrebno je napisati program koji će pokupiti deo sa
pozicije T1,pomeriti se u poziciju T2, i dopuniti tim delom
paletu.Nakon toga robot treba da se vrati u poziciju A, pokupi
sledeći deo i ponovo dopuni paletu i sve tako dok paleta ne bude
popunjena. Početni podaci:
 T1=(300,300,20)
 T2=(-300,300,0)
 Paleta ima 6 vrsta i 7 kolona
 Koordinatni pocetak palete T3=(300,0,0)
 Kraj vrste palete T4=(350,0,0)
 Kraj kolone palete T5=(300,60,0)
Rešenje 1. Zadatka

10 PD 1,300,300,20,0,0
20 PD 2,-300,300,0,0,0
30 PD 30,300,0,0,0,0
40 PD 32,350,0,0,0,0
50 PD 31,300,60,0,0,0
60 PA 3,7,6
70 GO
80 SC 31,0
90 RC 7
100 SC 32,0
110 RC 6
120 PT 3
130 MO 1
140 CG
150 MO 2
160 MO 3
170 GO
180 IC 32
190 NX
200 IC 31
210 NX

You might also like