Robot Epson E2S651 in uporaba robotskega vida

Σχετικά έγγραφα
Diferencialna enačba, v kateri nastopata neznana funkcija in njen odvod v prvi potenci

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 5. december Gregor Dolinar Matematika 1

Robot Stäubli RX90. Robot Stäubli RX90

matrike A = [a ij ] m,n αa 11 αa 12 αa 1n αa 21 αa 22 αa 2n αa m1 αa m2 αa mn se števanje po komponentah (matriki morata biti enakih dimenzij):

Tretja vaja iz matematike 1

MATEMATIČNI IZRAZI V MAFIRA WIKIJU

Funkcijske vrste. Matematika 2. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 2. april Gregor Dolinar Matematika 2

Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 22. oktober Gregor Dolinar Matematika 1

*M * Osnovna in višja raven MATEMATIKA NAVODILA ZA OCENJEVANJE. Sobota, 4. junij 2011 SPOMLADANSKI IZPITNI ROK. Državni izpitni center

Delovna točka in napajalna vezja bipolarnih tranzistorjev

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 21. november Gregor Dolinar Matematika 1

Kotne in krožne funkcije

IZPIT IZ ANALIZE II Maribor,

Gimnazija Krˇsko. vektorji - naloge

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 10. december Gregor Dolinar Matematika 1

Integralni račun. Nedoločeni integral in integracijske metrode. 1. Izračunaj naslednje nedoločene integrale: (a) dx. (b) x 3 +3+x 2 dx, (c) (d)

13. Jacobijeva metoda za računanje singularnega razcepa

CM707. GR Οδηγός χρήσης SLO Uporabniški priročnik CR Korisnički priručnik TR Kullanım Kılavuzu

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 14. november Gregor Dolinar Matematika 1

KODE ZA ODKRIVANJE IN ODPRAVLJANJE NAPAK

8. Diskretni LTI sistemi

ROBOTSKI SISTEMI 1. Definicije

Numerično reševanje. diferencialnih enačb II

Državni izpitni center SPOMLADANSKI IZPITNI ROK *M * FIZIKA NAVODILA ZA OCENJEVANJE. Petek, 10. junij 2016 SPLOŠNA MATURA

V tem poglavju bomo vpeljali pojem determinante matrike, spoznali bomo njene lastnosti in nekaj metod za računanje determinant.

1. Trikotniki hitrosti

Iterativno reševanje sistemov linearnih enačb. Numerične metode, sistemi linearnih enačb. Numerične metode FE, 2. december 2013

Na pregledni skici napišite/označite ustrezne točke in paraboli. A) 12 B) 8 C) 4 D) 4 E) 8 F) 12

Robotika I laboratorijske vaje

Kotni funkciji sinus in kosinus

Podobnost matrik. Matematika II (FKKT Kemijsko inženirstvo) Diagonalizacija matrik

Kontrolne karte uporabljamo za sprotno spremljanje kakovosti izdelka, ki ga izdelujemo v proizvodnem procesu.

Reševanje sistema linearnih

Matematika 1. Gregor Dolinar. 2. januar Fakulteta za elektrotehniko Univerza v Ljubljani. Gregor Dolinar Matematika 1

ploskovnega toka (Density). Solverji - Magnetostatic

Booleova algebra. Izjave in Booleove spremenljivke

p 1 ENTROPIJSKI ZAKON

Osnove elektrotehnike uvod

- Geodetske točke in geodetske mreže

MERITVE LABORATORIJSKE VAJE. Študij. leto: 2011/2012 UNIVERZA V MARIBORU. Skupina: 9

Zajemanje merilnih vrednosti z vf digitalnim spominskim osciloskopom

Splošno o interpolaciji

DISKRETNA FOURIERJEVA TRANSFORMACIJA

1. Definicijsko območje, zaloga vrednosti. 2. Naraščanje in padanje, ekstremi. 3. Ukrivljenost. 4. Trend na robu definicijskega območja

FAKULTETA ZA STROJNIŠTVO Matematika 4 Pisni izpit 22. junij Navodila

NAVODILA ZA UPORABO SPLETNE APLIKACIJE ZA TRANSFORMACIJE KOORDINATNIH SISTEMOV. SiTraNet v2.10.

Frekvenčna analiza neperiodičnih signalov. Analiza signalov prof. France Mihelič

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 12. november Gregor Dolinar Matematika 1

Definicija. definiramo skalarni produkt. x i y i. in razdaljo. d(x, y) = x y = < x y, x y > = n (x i y i ) 2. i=1. i=1

Poglavje 7. Poglavje 7. Poglavje 7. Regulacijski sistemi. Regulacijski sistemi. Slika 7. 1: Normirana blokovna shema regulacije EM

1 Fibonaccijeva stevila

Termovizijski sistemi MS1TS

PROCESIRANJE SIGNALOV

Matrike. Poglavje II. Matrika je pravokotna tabela realnih števil. Na primer: , , , 0 1

ΠΡΙΤΣΙΝΑΔΟΡΟΣ ΛΑΔΙΟΥ ΑΕΡΟΣ ΓΙΑ ΠΡΙΤΣΙΝΙΑ M4/M12 ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ - ΑΝΤΑΛΛΑΚΤΙΚΑ

Varjenje polimerov s polprevodniškim laserjem

vezani ekstremi funkcij

POROČILO. št.: P 1100/ Preskus jeklenih profilov za spuščen strop po točki 5.2 standarda SIST EN 13964:2004

Državni izpitni center SPOMLADANSKI IZPITNI ROK *M * NAVODILA ZA OCENJEVANJE. Sreda, 3. junij 2015 SPLOŠNA MATURA

osnovni koraki Matija Lokar in Srečo Uranič V 0.9 oktober 2008

7. VAJA IZ MEHANIKE TRDNIH TELES. (tenzor deformacij II) (tenzor majhnih deformacij in rotacij, kompatibilitetni pogoji)

PONOVITEV SNOVI ZA 4. TEST

Osnove matematične analize 2016/17

primer reševanja volumskega mehanskega problema z MKE

Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 15. oktober Gregor Dolinar Matematika 1

NEPARAMETRIČNI TESTI. pregledovanje tabel hi-kvadrat test. as. dr. Nino RODE

SKUPNE PORAZDELITVE VEČ SLUČAJNIH SPREMENLJIVK

Elementi spektralne teorije matrica

Začetni tečaj MATLAB. Avtorja: Poldi Herman, univ. dipl. inž. el. Andraž Žertek, univ. dipl. inž. el.

Analiza 2 Rešitve 14. sklopa nalog

Linearna algebra. Bojan Orel Fakulteta za računalništvo in informatiko

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

MATEMATIKA 1 UNIVERZITETNI ŠTUDIJSKI PROGRAM BIOKEMIJA 1. LETNIK

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

Osnove linearne algebre

3. VAJA IZ TRDNOSTI. Rešitev: Pomik v referenčnem opisu: u = e y 2 e Pomik v prostorskem opisu: u = ey e. e y,e z = e z.

Domače naloge za 2. kolokvij iz ANALIZE 2b VEKTORSKA ANALIZA

SATCITANANDA. F = e E sila na naboj. = ΔW e. Rudolf Kladnik: Fizika za srednješolce 3. Svet elektronov in atomov

VEKTORJI. Operacije z vektorji

1.4 Tangenta i normala

LADISK Laboratorij za dinamiko strojev in konstrukcij. Višja dinamika. Rešene naloge iz analitične mehanike. Dr. Janko Slavič. 22.

Kvadratne forme. Poglavje XI. 1 Definicija in osnovne lastnosti

Z Matlabom ali Octave v Numerične metode

Uporabna matematika za naravoslovce

( , 2. kolokvij)

Linearna algebra 2 prvi kolokvij,

Uvod v R. 13. oktober Uvodni primer 3

ADS sistemi digitalnega snemanja ADS-DVR-4100D4

Tadeja Kraner Šumenjak MATEMATIKA. Maribor, 2010

Matematika 2. Diferencialne enačbe drugega reda

1. Έντυπα αιτήσεων αποζημίωσης Αξίωση αποζημίωσης Έντυπο Πίνακας μεταφράσεων των όρων του εντύπου...

Vaje iz MATEMATIKE 2. Vektorji

cot x ni def. 3 1 KOTNE FUNKCIJE POLJUBNO VELIKEGA KOTA (A) Merske enote stopinja [ ] radian [rad] 1. Izrazi kot v radianih.

UNIVERZA V MARIBORU FAKULTETA ZA KEMIJO IN KEMIJSKO TEHNOLOGIJO MATEMATIKA II

Poliedri Ines Pogačar 27. oktober 2009

1. VAJA IZ TRDNOSTI. (linearna algebra - ponovitev, Kroneckerjev δ i j, permutacijski simbol e i jk )

CO2 + H2O sladkor + O2

Navodila za uporabo ESCMS sistema Kazalo

Vaja: Odbojnostni senzor z optičnimi vlakni. Namen vaje

Transcript:

Robot Epson E2S651 in uporaba robotskega vida Cilj naloge 1. del Na mizo v delovnem prostoru robota postavite zamašek in ga z robotskim prijemalom primite. Prijetega odnestite nad poljubno ustje plastenke in ga privijte. Po krajšem premoru ga odvijte in odnesite na začetno pozicijo, kjer ga spustite, robot pa umaknite. Začetno postavitev vidimo na sliki 1. Slika 1: Začetna postavitev v delovnem prostoru robota za 1. del naloge

2. del Z uporabo robotskega vida in robota Epson E2S651 določite pozicijo zamaškov na mizi v delovnem prostoru robota in jih privijte na ustrezna ustja plastenk. Pri nalogi je potrebno izvesti kalibracijo kamere glede na robot, torej je potrebno določiti ustrezno homogeno transformacijo med koordinatnim sistemom objekta in referenčnim koordinatnim sistemom robota. Za izračun potrebnih transformacij uporabite okolje Matlab, za gibanje robota pa razvojno okolje Epson RC+. Na mizo postavite vsaj 7 zamaškov, situacijo pa prikazuje slika 2. Slika 2: Postavitev v delovnem prostoru robota za 2. del naloge

Navodila za vaje Vaja: Robot Epson E2S651 in uporaba robotskega vida Robot Epson E2S651 Robot Epson E2S651 je robot tipa SCARA srednje velikosti. Njegove najpomembnejše prednosti so: hitrost, dobra ponovljivost pozicije in rotacije, preprosta namestitev in programiranje (PC-based kontroler). Model robota Oblika Maksimalna obremenitev Doseg osi Hitrost Ponovljivost T1 + T2 Z U T1 + T2 Z U T1 + T2 (skupaj) Z U E2S651 SCARA 4 Axis AC Servo 5 kg Vztrajnostni moment (U os 5Kg ) 0.120 kg m 2 Masa 650 mm 170/320 mm (čisti prostori: 150/300 mm) ±360 6300 mm/s 1100 mm/s 1870 /s ±0.015 mm ±0.01 mm ±0.020 20 kg; (različni načini pritrditve: 22 kg) Uporabniška vodila 15 električnih, 3 pnevmatska, votla zadnja os Tabela 1: Lastnosti robota Epson E2S651 Slika 3: Robot Epson E2S651 Stran: 5/46

Navodila za vaje Vaja: Robot Epson E2S651 in uporaba robotskega vida Programsko okolje Epson RC+ Krmilnik robota je zasnovan na industrijskem PC-ju. Osi robota krmilijo neodvisni namenski procesorji, uporabniški vmesnik Epson RC+, ki predstavlja delovno okolje za vse robote Epson, pa teče v operacijskem sistemu Windows 2000. Vse komponente krmilnika, vključno s končnimi stopnjami ojačevalnikov, se nahajajo v standardnem 19 ohišju. Pisanje robotskih aplikacij poteka v programskem jeziku SPEL (izpeljanka BASICa), ki nudi široke možnosti komunikacije in vpenjanja v aplikacije, razvite s splošno namenskimi programskimi jeziki (vmesnik ActiveX, TCP/IP itd.). Izgled vmesnika RC+ prikazuje slika 5. Glavno okno Orodna vrstica Menuji Okno za pisanje programov Hierarhično drevo projekta Koda programa ( komentarje pričnemo z znakom ' ) Statusno okno Statusna vrstica Slika 5: Glavno okno programskega okolja Epson RC+ Stran: 8/46

Izvedba 1. dela vaje 1) Ustvarimo nov projekt (Projects\StudentskeVaje in vpišemo poljubno ime projekta). 2) V oknu za programiranje kreiramo funkcijo Main. 3) Robot ne sme imeti vključenega napajanja pogonskih motorjev (Slika 7). 4) Odpremo okno Jog and Teach (Slika 10). 5) Odpremo okno I/O Monitor (Slika 9) in preverimo, da je prijemalo odprto (izhodni naslov 0 ne sme biti izbran). 6) Na mizo v delovnem prostoru robota postavite zamašek. 7) Robot z roko (Slika 4) postavite v poljubno točko v delovnem prostoru robota. 8) V oknu Jog and Teach (Slika 10) shranimo trenutno lego robota v točko P0. 9) Robot z roko (Slika 4) postavite tako, da lahko prime zamašek (lega, kateri sledi samo še prijem). 10) V oknu Jog and Teach (Slika 10) shranimo trenutno lego robota v točko P1. 11) V oknu I/O Monitor (Slika 9) kliknite na naslov izhodnega digitalnega signala 0, da primemo zamašek. 12) Robot s prijetim zamaškom z roko (Slika 4) pripeljite tik nad ustje željene plastenke. 13) V oknu Jog and Teach (Slika 10) shranimo trenutno lego robota v točko P2. 14) Zadnjo os robota s prijetim zamaškom z roko (Slika 4) rotirajte in vertikalno translirajte (pomik navzdol), da privijete zamašek. 15) V oknu Jog and Teach (Slika 10) shranimo trenutno lego robota v točko P3. 16) V oknu I/O Monitor (Slika 9) kliknite na naslov izhodnega digitalnega signala 0, da spustimo zamašek. 17) Robot z roko umaknemo iznad ustja plastenk. 18) Napišite program, da bo robot iz točke P0 odšel v točko P1, prijel zamašek in ga odnesel nad ustje plastenke v točki P2. Sledi privijanje v točko P3. Po krajši pavzi dosedanje postopke obrnemo in odložimo zamašek na izhodiščno pozicijo, robot pa naj se vrne v izhodiščno točko P0. Vsaka operacija prijemanja in spuščanja zamaška zahteva kratke premore, zato uporabite ukaz Wait.

Namig: primer dela programa (točke se nanašajo na navodila na prejšnji strani) Function main Motor On ' Omogočimo napajanje motorjev Power Low ' Izberemo nizko moč delovanja Speed 20 ' Določimo hitrosti gibanja na 20% največje Accel 20, 20 ' Določimo pospešek in pojemek Fend Off 0 ' Preventivno odpremo prijemalo Jump P1 ' Premaknemo robot v točko prijema pokrovčka Wait 0.2 ' Počakamo 0.2 sekunde On 0 ' Primemo pokrovček Wait 0.2 ' Počakamo 0.2 sekunde Jump P0 ' Pokrovček odnesemo v poljubno točko v prostoru Go P1 ' Pokrovček odnesemo nazaj v izhodiščno točko, vendar na drugačen način Wait 0.2 ' Počakamo 0.2 sekunde Off 0 ' Odpremo prijemalo Wait 0.2 ' Počakamo 0.2 sekunde Jump P0 ' Robot odmaknemo v poljubno točko v prostoru

Matlab in umetni vid Matlab s svojo široko paleto funkcij omogoča učinkovito delo z umetnim vidom. 1) Image Acquisition Toolbox skrbi za zajem slike in videa ter strojno podporo 2) Image Processing Toolbox skrbi za nadaljnjo obdelavo slike, razpoznavanje vzorcev, transformacije, ugotavljanje najrazličnejših lastnosti slik itd. Matlab je v osnovi namenjen za numerično računanje, še posebej matričnih funkcij. Sliko lahko predstavimo kot matriko. Sivinske slike predstavljajo M N matrike (Slika 14), barvne slike pa so predstavljene kot M N 3 matrike, kjer tretja dimenzija predstavlja posamezno RGB komponento (Slika 15). 233 233 255 42 255 M 255 255 169 255 210 78 255 201 255 28 N Slika 14: Primer matrike sivinske slike dimenzije M N 233 233 255 42 255 233 255 42 255 233 255 42 255 255 255 169 255 210 255 169 255 210 255 169 255 210 M 78 255 201 255 28 78 255 201 255 28 78 255 201 255 28 3 N Slika 15: Primer matrike barvne slike dimenzije M N 3

Video sistem Firewire vodilo Kamera Objektiv Slika 16: Video sistem nad mizo robota Karakteristike video sistema (Slika 16): kamera The Imaging source DMK 21AF04 s Firewire (IEEE-1394) vodilom, slikovni senzor CCD velikosti 640 480 slikovnih elementov, 256 sivinskih odtenkov, digitalen zajem in prenos slike, objektiv z 8 mm goriščno razdaljo.

Postopek (uporabite okolje Matlab): 1) Delo v okolju Matlabu pričnete tako, da se postavite v vašo delovno mapo (c:\matlab7\work\epson_kamera\) in v ukazni vrstici zaženete Camera Calibration Toolbox, ki bo v pomoč pri kalibraciji kamere. To storite z ukazom: >> calib_gui (Enter) Toolbox vsebuje funkcije za eksperimentalno ugotavljanje parametrov kamere oz. uporabljenega objektiva (uporaba kalibracijskih vzorcev itd.). Po potrditvi ukaza calib_gui se odpre okno, kjer kliknemo gumb Standard (all the images are stored in memory). Potopek je že opravljen, zato kliknite gumb Load in s tem naložite rezultate zadnje kalibracije. Toolbox zapustite s klikom na gumb Exit. 2) V naslednjem trenutku moramo zajeti sliko s kamere in z ravnokar naloženimi parametri odstraniti popačenje objektiva. To storimo tako, da v ukazno vrstico okolja Matlab vpišemo: >> snapcalib (Enter) Če je kamera pravilno priključena, se na zaslon izpišejo parametri kamere, takoj zatem pa se pojavi okno z živo sliko, kakršno vidi kamera. Postavite kalibracijski list v vidno polje kamere, tako da bodo na sliki vse tri točke. Sliko zajamete s tipko <Enter>. Slika se shrani kot calib_image.tif, opravi se transformacija za odstranjevanje popačenja objektiva in popravljena slika se shrani kot calib_image_rect.tif. 3) Na zajeti in binarizirani sliki je potrebno ročno pokazati, kje se označene pike koordinatnega sistema na listu (O, X, Y) nahajajo. Zato v ukazni vrstici okolja Matlab izvršimo ukaz: >> select_dots (Enter)

Prikaže se binarna slika, na kateri z dvojnim klikom izberete pike v naslednjem vrstnem redu: 1 točka O, 2 točka X in 3 točka Y. Pri izbiranju točk ni potrebna velika točnost, pomembno je le, da kliknete v območje pike, saj program sam izračuna središče. Po izbranih vseh treh točkah program središča točk obarva z rdečo piko. Če središča odstopajo preveč izven belega področja pik, postopek iz te točke ponovite. Koordinate točk v slikovnih elementih se shranijo v vektor g. ( O g = ( X ( Y X X X, OY ), X ) Y, Y ) Y 4) V okolju Matlab kreirajte novo.m datoteko (File New M-File). Poimenujte jo zamaski.m, nato pa vpišite naslednje vrstice kode: % Izračunamo faktor pretvorbe št. slikovnih elementov v 1 mm (pixel/mm) Kp = 180/sqrt( ( g(2,1) - g(1,1) )^2 + ( g(2,2) - g(1,2) )^2); Kp = 180 2 2 ( g(2,1) g(1,1)) + ( g(2,2) g(1,2)) % Koordinate točk O,X,Y iz slikovnih elementov pretvorimo v metrične enote (mm) D_KO = g*kp; % Zaradi nazornosti izluščimo koordinate za točko O Dx = D_KO (1,1); Dy = D_KO (1,2); % Izračunamo kot zasuka koordinatnega sistema objekta (O,X,Y) glede na k.s. kamere (Slika 19) fiko = atan( (D_KO (2,2) - D_KO (1,2) ) / (D_KO (2,1) - D_KO (1,1) ) ); % Zapišimo transformacijo s translacijo D(XO, YO) in rotacijo okrog osi Z za kot fio (Slika 20) T_obj2cam = [ cos(fiko), -sin(fiko),0, Dx; sin(fiko), cos(fiko), 0, Dy; 0,0,1,0; 0,0,0,1 ];

Določitev T_cam2ref Da bi lahko s pomočjo robotskega vida iskali in pobirali objekte, potrebujemo še matriko T_cam2ref, ki predstavlja lego kamere v referenčnem k.s. in matriko T_grip2obj, ki predstavlja lego vrha (prijemala) glede na objekt. V trenutku, ko prijemalo zagrabi objekt, morata biti k.s. objekta in vrha poravnana, torej mora biti transformacija T_grip2obj enaka enotski matriki 4x4 (I), zato jo lahko iz nadaljnjih izračunov preprosto izpustimo. Enačba za lego vrha se tako poenostavi: EndEff = T_cam2ref T_obj2cam V tem trenutku je znana transformacija T_obj2cam, rabimo pa transformacijo EndEff ali T_cam2ref. Najlažje določimo transformacijo EndEff, in to po naslednjem postopku. 1) V ustje robota namestimo špico (Slika 21). Špico čim točneje pozicioniramo glede na središče krogcev O in X koordinatnega sistema objekta na listu papirja (Slika 21). V okolju Epson RC+ v oknu Jog and Teach preberemo in si zapišemo trenutno pozicijo O(x 0, y 0 ) in X(x 1, y 1 ) v World koordinatnem sistemu (Slika 11). Slika 21: V ustje robota nameščena špica, ki smo jo pozicionirali v središče točke O

2) Da lahko določimo kot zasuka koordinatnega sistema objekta okrog Z osi referenčnega koordinatnega sistema, določimo kot (ϕ RO ) med osema X R in X O (Slika 22, desno). Odčitana točka O(x 0, y 0 ) nam predstavlja pozicijo koordinatnega sistema objekta glede na referenčni koordinatni sistem (Slika 22, levo). 3) V okolju Matlab smo že prej kreirali novo.m datoteko, zato nadaljujemo vpis kode kar naprej: % V vektor D_RO vpišemo prej odčitane koordinate O(xO,yO) in X(xO,yO) D_RO = [x0, y0; x1, y1]; % Zaradi nazornosti izluščimo koordinate za točko O Dx = D_RO(1,1); Dy = D_RO(1,2); % Izračunamo kot zasuka koordinatnega sistema objekta (O,X,Y) glede na referenčni k.s. (Slika 22) firo = atan( ( D_RO(2,2) - D_RO (1,2) ) / (D_RO (2,1) - D_RO (1,1) ) ); % Zapišimo transformacijo s translacijo D(XO, YO) in rotacijo okrog osi Z za kot fio (Slika 22) EndEff = [ cos(firo), -sin(firo),0, Dx; sin(firo), cos(firo), 0, Dy; 0,0,1,0; 0,0,0,1 ];

4) Določeni imamo obe transformaciji T_obj2cam in EndEff, zato lahko po spodnjem izrazu določimo T_cam2ref. EndEff = T_cam2ref T_obj2cam / z desne možimo z inv(t_obj2cam) EndEff inv(t_obj2cam) = T_cam2ref T_obj2cam inv(t_obj2cam) T_cam2ref = EndEff inv(t_obj2cam) 5) V.m datoteko zapišemo naslednje vrstice. Prva vrstica je izračun transformacije T_cam2ref, ostale pa so potrebne za nadaljevanje naloge in jih samo dopišemo: % Zapišimo izračun transformacije T_cam2ref T_cam2ref = EndEff * inv(t_obj2cam); % Koordinate središč razpoznatih objektov na sliki pretvorimo v metrične enote Objekti = centers * Kp; % Določitev koordinat razpoznatih objektov v referenčnem koordinatnem sistemu % Ker imamo opraviti samo s pozicijami središč pokrovčkov, ni potrebno izvajati nikakršne % rotacije in zato transformacijske matrike vsebujejo samo translacijski del for i = 1:size(centers,1) T_obj2cam = [ 1, 0, 0, Objekti(i,1); 0, 1, 0, Objekti(i,2); 0,0,1,-132; 0,0,0,1 ]; % -132 je vrednost koordinate Z robota, ko se le-ta s prijemalom skoraj dotakne mize EndEff(:,:,i) = T_cam2ref * T_obj2cam; end % Iz serije transformacijskih matrik EndEff izluščimo samo koordinate sredin zamaškov v % referenčnem koordinatnem sistemu koord_zamaskov; 6) Datoteko s končnico.m shranimo pod poljubnim imenom, recimo zamaski.m.

Izvedba 2. dela naloge 1) Vsi dosedanji postopki določanja transformacijskih matrik EndEff, T_obj2cam, T_cam2ref in zapisanih nekaj vrstic kode v datoteki zamaski.m, morajo biti zapisani! 2) V vidno polje kamere postavimo nekaj zamaškov (recimo 7), še prej pa odstranite kalibracijsko špico, umaknite robot iz vidnega področja kamere in odstranite list s kalibracijskim koordinatnim sistemom. 3) V Matlab ukazni vrstici zaženemo ukaz: >> extobject (Enter) Pojavi se okno s kamere, kjer lahko bolje pozicioniramo zamaške. Ko smo s pozicijo zamaškov zadovoljni pritisnemo tipko Enter. Čez določen čas se v ukazni vrstici okolja Matlab izpiše število prepoznatih objektov in izriše se slika s slike 23. Če niste zadovoljni z razpoznavo objektov, ta korak ponovite. 4) V ukazni vrstici okolja Matlab poženemo.m datoteko, ki smo jo sami napisali (ime zamaski.m). >> zamaski (Enter) 5) V Epson RC+ okolju moramo v mapi Projects\ odpreti že prej pripravljen projekt z imenom Epson_kamera. 6) Odprt projekt zaženemo s tipko F5 (Slika 13) in pritisnemo na gumb Start tcpipcomm..

Slika 23: Razbrani zamaški iz slike ter določeni njihovi centri 7) OPOZORILO! Pred zagonom avtomatskega pobiranja zamaškov in njihovega privijanja na ustja plastenk je potrebno zagotoviti, da v delovnem prostoru ni osebe ali predmeta, s katerim bi lahko robot trčil. 8) V ukazni vrstici okolja Matlab izvršimo ukaz: >> zamaski_tcp (Enter)