Opseg i primena mašinskog vida u industrijskoj automatizaciji i robotici u poslednjih je nekoliko godina u porastu. Projektanti proizvodnih linija sve se češće opredeljuju za mašinski vid umesto namenske periferne opreme za ponovljivo pozicioniranje komada, prikupljanje podataka i nadzor nad kvalitetom proizvodnog procesa. Uz pomoć mašinskog vida moguće je znatno smanjiti cenu automatizacije u proizvodnji i povećati fleksibilnost proizvodnih linija, čemu doprinosi i integracija robotskih sistema u proces.

Algoritmi zaduženi za snimanje i obradu slike postaju sve složeniji i brži, što je prvenstveno posledica brzog razvoja ugradnih sistema. Mašinski vid postaje sve jednostavniji za korištenje upravo radi jednostvne i brze implementacije s obzirom da većina podržava komunikaciju preko širokopojasne Ethernet mreže. Tako preduzeća mogu razvijati kompleksne sisteme za nadzor proizvodne linije, praćenje kvalitete proizvoda te izmenu komada. Ako u mrežu dodamo i robote, gotovo da možemo vršiti nadzor cele proizvodne linije od kuće.

masinski vid1

Slika 1: Slika aplikacije

Aplikacija
Za prikaz i demonstraciju rada mašinskog vida u ćeliji s robotom korištena je kamera proizvođača Cognex, kontroler, robot i operaterski panel su Mitsubishijevi. Sva tri uređaja podržavaju sve popularniju Ethernet komunikaciju. Integracija različitih uređaja ili sistema u jedan zajednički sistem sa svim funkcijama pojedinih uređaja često je problematično, pogotovo kada ne možemo za cijelu aplikaciju koristiti opremu istog proizvođača. U tom slučaju najčešće govorimo o kompleksnim sistemima i ako oprema proizvođača nije međusobno kompatibilna, izvoenje aplikacije zahteva će znatno više vremena i novca. Zato je trenutni trend da se mnogo proizvođača različite opreme međusobno povezuju. Tako dobijamo veći izbor uređaja različitih proizvođača koji su međusobno kompatibilni.  Isti je slučaj sa partnerstvom između Cognexa i Mitsubishija gdje je osigurana kompatibilnost alata i niza funkcija koje podržava pojedini uređaj. Na primer programski jezik Melfa Basic V, koji se koristi za programiranje robota, sadrži gotove naredbe za rad s Cognex kamerama pa tako i kamera osigurava da se podaci poslati robotskom kontroleru pravilno interpretirani od strane robota. Kamera također podržava funkciju slanja snimljenih slika na operatorski panel Mitsubishi GOT. Na taj način dobijamo pregled slika na samoj liniji u realnom vremenu i možemo izvršiti korekcije bez većih zastoja proizvodne linije.

masinski vid 2

Slika 2: Šema komunikacije

Za preuzimanje slike zadužena je kamera Cognex 7402, koja sadrži svu potrebnu mašinsku opremu za obradu slike i slanje podataka na mrežu ostalim uređajima. Kamera prima sliku rezolucije 1280×1024, s do 102 slike u sekundi. Brzina snimanja slike zavisi od vremena snimanja slike i podržana je naprednim algoritmom PatMax, koji znatno pojednostavnjuje traženje i analizu komada.

Robot RV-4FLM-Q i robotski kontroler CR750-Q rade na Mitsubishijevoj iQ platformi koja na jednom mestu objedinjuje PLC-e, servo pojačavače, robote i robotske kontrolere te ostale module u Mitsubishijevoj ponudi čime je zaokružena celina za industrijsku automatizaciju.

Osnovna povezanost sistema vrlo je jednostavna, potrebno nam je 24V napajanje za kameru te mrežni razdelnik. Na razdelnik priključujemo robotski kontroler, kameru i operatorski panel Mitsubishi GOT na kojem prikazujemo slike sa kamere. Na sve uređaje se povezujemo pomoću osebnog računara. Pri povezivanju je potrebno paziti da su IP adrese postavljene tako da su svi uređaji u istoj mreži mogu međusobno i komunicirati.

Za implementaciju algoritama na kameri koristimo lako dostupno programsko okruženje In-Sight Explorer, a za programiranje robota koristimo programski paket Mitsubishi RT ToolBox2.

Prvo što treba učiniti je uspostaviti vezu između robota i kamere. Pri tome nam pomažu već pripremljeni parametri robota u koje unosimo IP adresu kamere, koju određujemo sami, te broj komunikacijskog kanala. Zatim moramo definisati koordinatni sistem kamere te njegov položaj. Za robota je najvažniji položaj kamere u prostoru s obzirom na bazni koordinatni sastav robota, tako znamo gdje se kamera nalazi, sa položaja kamere preko kalibracije kamere izračunamo tačke u vidnom polju kamere koje nas zanimaju te ih snimamo kao pozicione varijable u robotu. U protivnom su podaci dobijeni iz kamere relativno neupotrebljivi. Kalibraciju kamere vršimo tako da kameri odredimo koordinatni sistem pomoću kalibracijske liste s kojom zapravo određujemo ravan prepoznavanja kamere  te  poravnavamo taj koordinatni sistem s referentnom tačkom na robotu pri čemu uzimamo u obzir i smer oba koordinatna sistema te koordinatni sistem robota.

masinski vid 3

Slika 3: Primer uslikanog komada

Po završenoj kalibraciji na kameri postavljamo režime traženja i analize komada, pri čemu možemo dodeliti različite nazive algoritmima za različite proizvode te ih pozivamo i izabiremo pojedinačno sa programom koji se izvodi na robotu. Zbog promena osvetljenja, ukoliko nemamo mogućnost zatamniti ćeliju, možemo pozivati različite algoritme za prepoznavanje istih komada u različitim smenama pri promenjenim uslovima osvetljenja na samoj kameri. Cognex nudi i posebno osvetljenje koje kamera sama aktivira pri slikanju te nam tako daje istaknute geometrijske detalje tela. Podatke koje sa kamere želimo poslati na robota biramo u posebnoj kartici »Communications« gde možemo odabrati Mitsubishijeve robote i odabiremo što sve želimo imati na robotu i po potrebi na operaterskom panelu GOT. Kada imamo pripremljene algoritme za prepoznavanje, kamera je gotovo spremna za korištenje. Kamera u tzv. online režimu rada čeka naredbu za aktivaciju koja je već integrisana u sami programski jezik Melfa Basic V.

masinski vid 4

Slika 4: Izbor podataka koje želimo da dobijamo kamerom

masinski vid 5

Slika 5: Poslati podaci

Brzina kojom kamera po aktivaciji vraća vrednost robotu prvenstveno zavisi od broja korišćenih alata te vremena snimanja slike. Pre snimanja slike moramo u programu robota inicijalizovati potreban broj varijabli u koj ćemo kasnije pri prikupljanju podataka smestiti vrednosti dobijene od kamere. Sve varijable su istog tipa podataka float, Melfa Basic na taj način omogućuje konverziju među tipovima podataka. Podaci o položaju komada, ukoliko je kamera pravilno kalibrisana, predstavljaju odstupanje od koordinatnog ishodišta kamere i poznate tačke na robotu. Položaj je smešten u varijablu koja predstavlja tačku robota te se ona kasnije pri hvatanju ili manipulaciji jednostavno dodaje tački koju smo utvrdili pri usklađivanju koordinatnih sistema kamere i robota.  U slučaju da nam kamera prepoznaje komade na pokretnoj traci, moramo uključiti i tzv. tracking function, koja je implementirana u Mitsubishi robotima. Dobra je praksa da aktivaciju kamere te obradu podataka vršimo u programu koji se izvršava paralelno s glavnim programom. Tako možemo smanjiti vrijeme ciklusa rada robota i preduzeću osigurati povraćaj investicije u automatizaciju procesa u kraćem roku.

masinski vid 6

Slika 6: Programski kod robota u RTToolBox2 za slanje i preuzimanje podataka iz kamere

Kamera takođe omogućuje slanje snimljenih slika na FTP server za pregled i praćenje kvaliteta proizvoda u realnom vremenu. FTP server možemo uključiti i preko operaterskog panela Mitsubishi GOT te tako prikazati trenutnu sliku s kamere sa svim podacima koje je kamera poslala robotu. Zaslugom zajedničke Mitsubishi iQ platforme možemo jednostavno pristupiti unutrašnjim registrima robota i sačuvanim podacima preko operaterskog panela GOT, a pomoću FTP servera možemo prikazati i sliku tako da dodatna mašinska oprema nije nužna.

masinski vid 7

Slika 7: Prikaz podataka na operaterskom panel

Odluka
Oprema za mašinski vid danas omogućava fabrikama cenovno pristupačna rešenja za kontrolu kvaliteta proizvoda na samoj proizvodnoj liniji u realnom vremenu te tako omogućuju smanjenje troškova usled mogućih grešaka u proizvodnji. Treba priznati da je ponekad brže komade na liniji unapred ponovljivo pripremiti da robot izvrši manipulaciju istima. Kamere su vrlo osetljive na uslove osvjetljenja u okruženju te se upravo radi toga sistem integratori odlučuju za zatemnjivanje ćelija ili za različite algoritme prepoznavanja u različitim uslovima osvetljenja. Integracija mašinskog vida sa Mitsubishi Electric opremom relativno je jednostavna te omogućuje velik broj dodatnih mogućnosti kao npr. jednostavnu zamenu programa kamere.

masinski vid 8

Slika 8: Položaj robotske ruke trenutak pred podizanje komada


Više informacija: INEA SR d.o.o., Ul. Karadjordjeva 12/217, 11300 Smederevo, Republika Srbija, Telefon: + 381 64 68 55 187 ili +381 69 1722 724, http://www.inea.rs

Aleksandar Dakić
Follow me