PROGRAMIRANJE ROBOTA VEBE NIVOI UPRAVLJANJA l l Najvii
PROGRAMIRANJE ROBOTA VEŽBE
NIVOI UPRAVLJANJA l l Najviši nivo sa elementma 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 on-line rad SENZORI
Najviši nivo l 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 l Strategijski nivo, u skladu sa generisanim rešenjem višeg nivoa raščlanjava globalni zadatak na elementarne operacije. Pojam elemntarnosti 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.
l 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 l 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čni nivo kao i viši nivoi ne koristi samo upravljačke signale odozgo, već i svu potrebnu informaciju povratnih sprega nižeg, izvršnog nivoa – od izvršnih mehanizama i okoline.
EGZEKUTIVNI NIVO l 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 l 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 l l l 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 Vizuelni i drugi senzori Strategijski nivo upravljanja: 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 l 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 l l l otvaranje i zatvaranje gripera logičko odlučivanje komunikacija sa drugim delovima opreme ćelije robota
KAKO SE ROBOT PROGRAMIRA? l l l 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 l l l Leadthrough programiranje Computer like programiranje Off line programiranje
LEADTHROUGH PROGRAMIRANJE l l l 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
l l l 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 l l lako učenje od strane komercijalista logičan način učenja robota, nepotrebno poznavanje compjuterskog 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 l l l 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 l l Svaki proizvođač ima svoj robotski jezik MItsubishi Seiko IBM
Komande kretanja l l l l DP DW HE HO IP MA MC MJ MO MP MS MT NT OG -pomeranje na prethodnu poziciju -pomeranje alata od tačke do tačke -podešavanje trenutne pozicije u poziciju labele -podešavanje kartezijanskih referentnih koordinata -pomeranje na sledeću poziciju -pomeranje sa trenutne pozicije na novu -izvršavanje kontinualnog kretanja -pomeranje zgloba pod određenim uglom -pomeranje alata na određenu lokaciju -pomeranje ruke u poziciju -pomeranje po pravoj liniji -pomeranje alata na određenu udaljenost -povratak na glavni koordinatni početak -pomeranje na kartezijanske referentne koordinate
l l l l l PA PC PL PD PT PX SF SP TI TL -definisanje palete -definisanje pozicije u memoriji - brisanje promenljivih za poziciju u memoriji -kopiranje pozicije promenljivih -proračunavanje nove pozicije palete -zamena dve vrednosti promenljivih pozicije -pomeranje promenljivih pozicije kroz prostor -podešavanje brzine robota -pauza za neki period vremena -postavljanje duzine alata
Upravljačke komande l l l l CP DC ED EQ GS GT IC LG NE NX RC RT SC SM -upoređivanje brojača sa vrednostima -smanjenje vrednosti brojača -kraj -napraviti skok ako je uslov ispunjen (jednak) -odlazak na potprogram -odlazak na broj linije -povećanje vrednosti brojača za jedan -grananje ako je veće -grananje ako nije jednako -sledeći korak u RC petlji -ponavljanje ciklusa određeni broj puta -povratak iz GS tj. potprograma -postavljanje vrednosti brojača -grananje ako je vrednost manja
Ulazno-izlazne komande l l l l l GC GF GO GP ID IN OB OD OT TB -zatvaranje gripera -proveravanje statusa gripera -otvaranje gripera -podešavanje maksimalnog pritiska pri zatvaranju pritiska -registrovanje stanja ulaza -unos paralelnih podataka -postavljanje izlaznog bita -izlazni podaci na portu -izlazni paralelni podaci -postavljanje bita za testiranje
Primer definisanja tačaka 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 NT; pomeranje u neutralnu poziciju OG; pomeranje u referentnu ili nultu poziciju TL 20; postavljanje duzine alata na 20 mm PD 3, 0, 350, 250, -10, -20; definisanje pozicije #3 sa uglovima MO 3; pomeranje robota u poziciju #3 DW 20, 0; kartezijansko pomeranje u pravcu x 20 i u pravcu y 20 mm HE 4; cuvanje trenutne lokacije kao pozicije #4 IP; pomeranje alata na poziciju #5 MC 6, 10; kontinualno kretanje kroz pozicije 6, 7, 8, 9 i zaustavljanje u poziciji #10 DP; pomeranje u poziciju #9 i zaustavljanje PD 11, 0, 0, 10, 0, 0; definisanje vektora (tacka #11) sa samo z komponentom MA 9, 11, 0; pomeranje sa #9 u #11 sa otvorenim griperom MJ 10, 0, 0, 0; pomeranje zglobova 10 stepeni MP 10, 20, 30, 40, 50; SP 3; postavljanje brzine robota MS 8, 5; pravolinijsko kretanje fo tacke #8 MT 8, -40; pomeranje alata 40 mm od tacke #8
Primer korišćenja palete 20 30 40 50 60 70 80 90 PA 2, 3, 4; definisanje palete #2 sa 3 kolone i 4 vrste SC 21, 1; postavljanje brojaca za kolone na 1 SC 22, 2; postavljanje brojaca za vrste na 2 PT 2; izracunavanje tacke za paletu #2 u koju se treba pomeriti robot MO 2; pomeranje u tacku #2 SC 22, 3; postavljanje brojaca za vrstu na 3 PT 2; izracunavanje nove pozicije MO 2; pomeranje na novu poziciju
Primer I/O komandi 10 20 30 40 50 60 GC; zatvaranje gripera GO; otvaranje gripera GP 5, 2, 3; definise silu gripera 5, silu drzanja 2, i 3/10 kasnjenja dok se griper podesi GC; zatvaranje gripera OB -7; iskljucivanje sedmog izlaznog bita TB +6, 50; ako je sesti ulazni bit ukljucen idi na liniju 50
PRIMERI l l l l 1. ZADATAK: Potrebno je napisati program koji će pokupiti deo sa pozicije T 1, pomeriti se u poziciju T 2, 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: T 1=(300, 20) T 2=(-300, 0) Paleta ima 6 vrsta i 7 kolona Koordinatni pocetak palete T 3=(300, 0, 0) Kraj vrste palete T 4=(350, 0, 0) Kraj kolone palete T 5=(300, 60, 0)
Rešenje 1. Zadatka 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 PD 1, 300, 20, 0, 0 PD 2, -300, 0, 0, 0 PD 30, 300, 0, 0 PD 32, 350, 0, 0 PD 31, 300, 60, 0, 0, 0 PA 3, 7, 6 GO SC 31, 0 RC 7 SC 32, 0 RC 6 PT 3 MO 1 CG MO 2 MO 3 OG IC 32 NX IC 31 NX
- Slides: 30