Professional Documents
Culture Documents
MAŠINSKI FAKULTET
MEHATRONIKA
ZAVRŠNI RAD
prvog ciklusa studija
Mentor: Student:
Dr.sc. Elvedin Trakić, docent Edin Muhedinović
ZAVRŠNI RAD
prvog ciklusa studija
Mentor: Student:
Dr.sc. Elvedin Trakić, docent Edin Muhedinović
Razvoj sistema robotskih ćelija započeo je paralelno sa razvojem tehničke grane robotike. Do danas su
se početni koncepti upravljanja takvim sistemima značajno izmjenili te i dalje teže sve većem stepenu
autonomnosti i inteligencije.U ovom radu, temeljem iste ideje, izrađena je robotska ćelija za detekciju
i sortiranje objekata koja se sastoji iz dozatora, obrtnog stola i robotske ruke . Za potrebe upravljanja
robotske ruke razvijena je programska podrška u Arduino IDE, a za detekciju objekata, razvijena je
programska podrška u LabView programskom jeziku primjenom USB kamere koja se nalazi u sklopu
dozatora. Širok spektar mogućnosti ovog sistema primjenom navedenih elemenata predstavlja odličnu
platformu za ostvarivanje sličnih zadataka uz mogućnost proširenja i daljnjeg unapređivanja sistema
dodavanjem novih elemenata.
Development of robotic cells has started simultaneously with beginning of robotic system
development. Initial concepts for controlling such systems were significantly changed until now and
they aim to have even higher degree of autonomy and intelligence.In this paper, based on the same
idea, robotic cell for detection and sorting objects is made which consists of a dispenser, a rotary table
and a robotic arm. This program is developed in Arduino IDE language and it's used for control
purposes of a robotic arm, and for the detection of objects, software support was developed in the
LabView programming language using a USB camera located within the dispenser.A wide range of
possibilities of this system with using all mentioned elements represent excellent platform for
realization more similar tasks and possibility for future system upgrade and further improvement.
Key words: robotics, automatic control, industrial robotic arm, Arduino, Labview
Sadržaj
1. Uvod .......................................................................................................................................... 4
2. Historijski razvoj robota ............................................................................................................. 5
3. Definicije robota......................................................................................................................... 9
4. Podjela robota........................................................................................................................... 10
4.1 Vrste pogona................................................................... Error! Bookmark not defined.
4.2 Geometrija radnog prostora ............................................ Error! Bookmark not defined.
4.2.1 Horizontalna pregibna ruka ............................................ Error! Bookmark not defined.
4.3 Načini upravljanja kretanjem ......................................................................................... 14
5. Industrijski robot ...................................................................................................................... 15
5.1 Područja primjene robota ................................................................................................... 17
5.1.1 Robotska ćelija za prijenos materijala i opsluživanje mašinaError! Bookmark not defined.
5.1.2 Robotske ćelije za procesne operacije.......................................................................... 21
5.1.3 Robotske ćelije za poslove montaže ........................................................................... 23
5.1.4 Robotske ćelije na poslovima kontrole proizvoda ...................................................... 24
6. Digitalna akvizicija i obrada slike u robotici ........................................................................... 25
6.1 Boja u kompjuterskoj viziji ............................................ Error! Bookmark not defined.
6.2 HSL prostor boja ............................................................ Error! Bookmark not defined.
7. Pogled na Labview ................................................................... Error! Bookmark not defined.
7.1 Osnovni koncepti Labview-a.......................................................................................... 31
7.2 Mogućnosti Labview-a .................................................. Error! Bookmark not defined.
7.3 Prednosti Labview-a...................................................... Error! Bookmark not defined.
8. Osnovne komponente sistema.................................................................. Error! Bookmark not defined.
8.1 USB video kamera .................................................................. Error! Bookmark not defined.
8.2 RC servo motor ....................................................................... Error! Bookmark not defined.
8.2.1. Konstrukcija RC servo motora ................................ Error! Bookmark not defined.
8.3 Arduino ................................................................................... Error! Bookmark not defined.
8.4 LED diode................................................................................ Error! Bookmark not defined.
8.4.1 Pojam diode .......................................................................... Error! Bookmark not defined.
8.4.2 Karakteristike LED dioda ................................................................................................... 40
8.4.3 Oblici i veličine dioda ........................................................................................................ 41
9. Izrada praktičnog modela ...................................................................................................................... 42
9.1 Detekcija boje primjenom USB video kamere ..................................................................... 42
9.2 Serijska komunikacija .......................................................................................................... 43
9.3 Gravitacioni dozator sa rotacionim mehanizmom za izbacivanje komadaError! Bookmark not
defined.
9.4 Rotacioni sto ............................................................................................................. 46
9.5 Robotski manipulator .......................................................................................................... 47
9.5.1 Programiranje putanje robotskog manipulatora postupkom vođenja ............................. 48
9.6 Elektronika šema ................................................................. Error! Bookmark not defined.
10. Zaključak .......................................................................................................................................... 51
LITERATURA ............................................................................................................................................ 52
Prilog ........................................................................................................................................ 53
Popis slika
1. UVOD
Vidni sistem čovjeka sastoji se od oka, očnog živca i mozga. Oko služi za primanje slike, a očni
živac za prijenos slike do mozga u kojem se vrši obrada slike. Računalni vid je pokušaj oponašanja
ljudskog vidnog sistema s ciljem davanja vida računalu. Računalni vid obuhvaća procedure i
metode za primanje, procesiranje, analiziranje i prevođenje slika iz stvarnog svijeta u računalu
prihvatljive matematičke ili simboličke informacije iz kojih računalo može, na temelju
programiranog algoritma, odlučiti koju će programiranu radnju izvršiti.
Glavni razlog uvođenja vizijskih sistema u industriju je taj da ljudi ne mogu osigurati potrebnu
ponovljivost pri obavljanju monotonih poslova čime narušavaju krajnju kvalitetu proizvoda.
Pravilno projektiran robotski sistem koji informacije prima s vizijskog sistema može obavljati
monotone poslove bez ikakve pogreške. Drugi razlog uvođenja je humanizacija rada.
Humanizacija rada zahtijeva da se ljudska ili životinjska radna snaga zamijeni mašinama, kod svih
poslova koji mogu dovesti dovesti u direktnu vezu s narušavanjem zdravlja.
Kako bi čovjeka izbacili iz procesa detekcije i sortiranja objekata. u ovom projektu razvijena je
robotska ćelija koja obezbjeđuje tačnost i brzinu rada. Ovaj projekat uključuje USB kameru koja
otkriva boju objekta a zatim šalje informaciju Arduino UNO-u koji se nalaze pored robotske ruke.
Robotska ruka ima zadatak prihvata objekta sa obrtnog stola a zatim u zavisnosti od boje, vršit će
se sekvence paljenja servo motora robotske ruke a sve u cilju sortiranja objekata na pojedino
mjesto. Poslije svakog sortiranja,robotska ruka,obrtni stol kao i dozator vraćaju se u nulti položaj.
Ova robotska ćelija razvijena je u svrhu da se prikaže kako primjena robota nastoji minimizirati
troškove, optimizirati produktivnost i smanjiti ljudske greške.
4
Edin Muhedinović Završni rad
Za početke razvoja robota ili njemu sličnih automatiziranih sistema potrebno je vratiti se u antičku
Grčku. U njihovim mitovima spominjalo se kako je bog Hefest stvorio mehaničke djeve od zlata sa
darom govora,a i navodi se tvrdnja da je oko 400 godine p.n.e. grčki filozof Arhitas od Tarentuma
izgradio mehaničkog goluba, vjerojatno pogonjeno parom koji je mogao letjeti. Među početke
robotike ubrajaju se i vodeni satovi, čiji je najpoznatiji predstavnik Ctesibiusov vodeni sat.
Interesa za automate skoro nije ni bilo u srednjevjekovnoj Europi ili nisu zabilježeni. Leonardo Da
Vinci je 1495. godine dizajnirao čovjekolikog automata u viteškom oklopu za potrebe zabave, ali
ne zna se da li je dizajn ikada izrađen.
U periodu između 1500. - 1800. godine izrađeni su mnogi automati, uključujući one sposobne da
glume, crtaju, lete i sviraju muziku. U to vrijeme izrađena je i nekolicina mehaničkih računara, a
svojevrsni vrhunac u tom periodu predstavlja "Probavljajuća patka" Jacquesa de Vaucansona.
Vaucansonova patka mogla je oponašati pravu patku mašući krilima, jedući zrnje, probavljajući ga i
izbacujući ga iz sistema. Patka se pokretala pomoću utega.
5
Edin Muhedinović Završni rad
6
Edin Muhedinović Završni rad
Prvi roboti napravljeni su u Fordovoj tvrtci radi povećanja učinkovitosti proizvodnje automobilskih
dijelova. To su bili numeričke vođene mašine za obradu kovina, u početku programirani pomoću
bušenih kartica, a poslije elektroničkim računalom. Visoku proizvodnost u tako automatiziranoj
programiranoj proizvodnji kočio je prijenos dijelova koji se do tada ručno obavljao.
Engelbergerovi roboti nisu pobudili preveliko zanimanje u njegovoj državi, ali srećom je naišao na
vrlo dobar prijem u Japanu, gdje je 1970. u funkciju ušao prvi industrijski robot koji je radio kao
zavarivač u Nissanovoj tvornici.
Industrijski se robot od svojih roditelja razlikuje po tome što je, suprotno manipulatoru programski
upravljan, a za razliku od NC – alatne mašine, ima mogućnost hvatanja. Ustvari, industrijski je robot
utemeljen na poznatim znanstvenim i tehničkim disciplinama: kretanju mehanizama, energetskim
pogonima, kompjuterskom upravljanju, senzorici. Tek kad su ta područja dosegla određeni stepen
razvoja, mogao se pojaviti industrijski robot u sadašnjem obliku. Slično je bilo i s digitalnim
računalima: tek s pronalaskom tranzistora i mikroprocesorskih čipova računala su dobila i današnje
značenje.
7
Edin Muhedinović Završni rad
Zemlja koja se najviše koristi robotikom je Japan čiji znanstvenici i danas predvode u razvoju moćnih
robotskih sistema. Ekonomski moćna društva su, nakon brzog rasta računarstva uložila velika sredstva
u razvoj robotike kao tehnologije za budućnost. Zanimljivo je da je od 1972. do 2002. broj robota u
svijetu porastao s hiljadu na oko milijun ili 1000 puta u 30 godina.
Kao još jednu zanimljivost treba istaknuti da se roboti najčešće koriste u automobilskoj industriji, gdje
obavljaju veliki dio posla u sastavljanju automobila. Kao potporu toj tvrdnji stoji podatak da se oko
70% robota u SAD-u koristi upravo u automobilskoj industriji. Potpora navedenim tvrdnjama jest i
podatak da su u Sjevernoj Americi 2003. godine domaći proizvođači robotske tehnologije udruženi u
RIA-u (Robotic Industries Association) zaprimili 19 % više narudžbi nego 2002. godine. Cijela
vrijednost poslova za naše prilike iznosi vrtoglavih 876,5 milijuna USD, dok je ukupan broj jedinica
12 367. Zanimljiv je i podatak da je vrijednost narudžbi iz ostatka svijeta samo 26,5 milijuna USD.
Navedeni podaci potkrepljuju tvrdnje o važnosti američkog tržišta koje je drugo u svijetu (odmah iza
japanskog).
Iako u društvu prevladava mišljenje da su roboti čovjekoliki strojevi, to nije tačno. Oblik robota
prilagođava se zadacima koje bi trebao obavljati, ali i estetici. Većina današnjih
robota su specijalizirani strojevi u tvornicama, ali koriste se i u drugim djelatnostima (istraživanja,
medicina, vojska, itd.).
8
Edin Muhedinović Završni rad
3. Definicije robota
Postoji mnogo različitih definicija robota, ovisno o mjestu i načinu primjene. U Sjedinjenim
Američkim Državama robot se najčešće definira kao automat prilagođen složenoj okolini koji obavlja
ili dopunjava jednu radnju ili više radnji čovjeka, dok se u Japanu pod robotom podrazumijeva
automat s promjenjivim programom koji se koristi za automatizaciju ručnih operacija.
Robot se u općem slučaju može definirati kao tehnički uređaj sa svrhom obavljanja nekih kretanja i
funkcija koje obavlja čovjek, pri čemu se odlikuje određenom samostalnošću, tj. autonomnošću u
radu. U tom smislu može se koristiti i ova, donekle konkretnija definicija robota: Robot je programski
upravljan mehanički uređaj koji se koristi senzorima za vođenje jednog završnog mehanizma ili više
njih po unaprijed određenoj putanji u radnoj okolini s ciljem manipuliranja fizičkim objektima.
Manipulator (lat. manipulus – šaka; lat. manus – ruka) najčešće je stroj za obavljanje pomoćnih
operacija, koje se odnose na promjenu položaja materijala pri obradi i montaži. U automatiziranim
proizvodnim sistemima pod manipulatorom se podrazumijeva industrijski robot.
Rezultati istraživanja rezultiraju robotima koji su mehanički sve savršeniji i imaju sisteme
upravljanja koji uključuju sve više umjetnih čula i elemenata umjetne inteligencije.
Čak i kad su roboti bili relativno primitivni, njihova je uloga bila ključna u podizanju produktivnosti
i konkurencije zapadnih zemalja za osvajanje globalnog tržišta. Danas se u svijetu koristi preko
1.000.000 različitih robota. Razvija se nova generacija pametnih i autonomnih robota, koji mogu
planirati vlastite akcije, opažati i analizirati okolinu i djelovati, na visokom nivou, uz minimalano
učešće čovjeka. Na stotine instituta robotike proučavaju specifična područja koja produbljuju znanja o
ovom relativno novom području znanosti.
Roboti se primjenjuju i u prostorima koji su krajnje negostoljubivi prema čovjeku. Tako su u nizu
svemirskih istraživanja sudjelovala robotizirana vozila koja uzimaju uzorke tla ili obavljaju razna
ispitivanja. Slično je i s podmorskim istraživanjima, u kojima se na dno okeana šalju podmornice s
robotiziranim rukama koja prikupljaju uzorke tla ili izvršavaju određene radne operacije.
9
Edin Muhedinović Završni rad
4. Podjela robota
Manipulatori se mogu podijeliti s obzirom na vrstu pogona, geometriju radnog prostora i načine
upravljanja kretanjem.
10
Edin Muhedinović Završni rad
Radni prostor robota je skup tačaka u trodimenzionalnom prostoru koje se mogu dohvatiti ručnim
zglobom robota na koji je pričvršćen završni mehanizam. Veličina radnog prostora robota ovisi o
broju i tipu zglobova robota, dužinama članaka te o postojećim fizičkim ograničenjima, koja su
neposredno povezana s konkretnom građom i izgledom robota. Na slici 4.2. prikazan je primjer radnog
prostora industrijskog robota ABB IRB 1600.
Osi prvih triju zglobova robota određuju položaj ručnog zgloba, a osi preostalih triju zglobova
utvrđuju orijentaciju alata. Tako tipovi zglobova upotrijebljenih za prve tri osi određuju geometriju
radnog prostora robota. Kod industrijskih robota koriste se dva osnovna tipa zglobova: rotacijski i
translacijski. Rotacijski zglob rotira oko osi, a translacijski se linijski kreće po osi.
Različitim kombinacijama rotacijskih (R) i translacijskih (T) zglobova za prve 3 osi određene su ove
konfiguracije robota:
a) pravougaona (TTT),
b) cilindrična (RTT),
c) sferna (RRT),
11
Edin Muhedinović Završni rad
d) rotacijska (RRR),
e) robot tipa SCARA (engl. selective compliance assemly robot arm) – RTR, TRR ili RRT
građe.
Radni prostor robota s pravougaonom konfiguracijom je prizma. Kod tih robota postoji neposredna
veza između varijabli zglobova i prostornih koordinata alata.
Ako se prvi zglob kod pravougaone konfiguracije robota zamijeni rotacijskim zglobom, dobiva se
robot cilindrične konfiguracije. Radni prostor takvog robota zbog ograničenog translacijskog kretanja
jednak je zapremini između dvaju vertikalnih koncentričnih plaštova valjaka.
Ako se drugi zglob cilindrične konfiguracije robota zamijeni rotacijskim zglobom, dobiva se robot
sferne konfiguracije. Ako postoji ograničenje translacijskog kretanja, radni je prostor tog tipa robota
zapremina između dvije koncentričnih sfera, a uz ograničenje svih kretanja radni je prostor dio
12
Edin Muhedinović Završni rad
zapremine između dviju koncentričnih sfera. RRT – struktura ima veliku fleksibilnost u pristupu
određenoj lokaciji, a srednje je nosivosti. Robot takve strukture primjenjuje se za tačkasto zavarivanje
i za opsluživanje.
Uza sva tri rotacijska zgloba, robot ima rotacijsku konfiguraciju, koja se još naziva laktasta,
antropomorfna ili zglobna. Ako ne postoji ograničenja rotacijskih kretanja, tada je radni prostor tog
robota kugla, a uz ograničenja to je dio kugle složenog oblika čiji je presjek sa strane najčešće u obliku
polumjeseca. Kako pogoni ne opterećuju podnožje, robot te strukture može se montirati u raznim
položajima. Ima manju nosivost, a primjenjuje se za zavarivanje, bojenje i motažu.
Takvu strukturu ima robot na slici 13. Razvijen je 1981. godine u Japanu, a na tržištu je poznat pod
nazivom SCARA (Selected Compliance Assembly Robot Arm). Razvoj računala omogućio je
programiranje složenih algoritama vođenja. On ima dva rotacijska i jedan translacijski zglob.
13
Edin Muhedinović Završni rad
Pri kretanju od tačke do tačke alat se kreće po ciljnim tačkama u radnom prostoru i pri tome nije bitna
putanja između tačaka, ali je važna točnost pozicioniranja. Takav način kretanja koristi se za diskretne
operacije kao što su tačkasto zavarivanje te podizanje i spuštanje predmeta.
Pri kontinuiranom kretanju po putanji završni mehanizam mora se kretati po unaprijed određenoj
putanji u trodimenzionalnom prostoru i pri tome su bitne trajektorija i tačnost pozicioniranja. Roboti
kod kojih se upravlja trajektorijom kretanja mogu se koristiti za bojenje, šavno zavarivanje ili
lijepljenje.
14
Edin Muhedinović Završni rad
5. Industrijski robot
Industrijski se robot od svojih roditelja razlikuje po tome što je, suprotno manipulatoru, programski
upravljan, a za razliku od numerički upravljanog stroja, ima mogućnost hvatanja. Ustvari, industrijski
je robot utemeljen na poznatim znanstvenim i tehničkim disciplinama:
• kretanje mehanizama
• energetski pogon
• kompjutersko upravljanje
• senzorika
Tek kad su ta područja dosegla određeni stepen, mogao se pojaviti industrijski robot u sadašnjem
obliku. Slično je bilo i s digitalnim računalima: tek s pronalaskom tranzistora i mikroprocesorskih
čipova računala su dobila i današnje značenje.
Industrijski se robot temelji na poznatim spoznajama, ipak se za njega može reći da je suma poznatih
znanja stvorila novu kvalitetu. A da je to doista nova kvaliteta, dokazuje dalekosežnost robotizacije:
industrijski roboti rješavaju osnovnu proturječnost savremene industrijske proizvodnje u kojoj su
osnovni obradni procesi i strojevi uvelike automatizirani, a za rukovanje i pokretanje predmeta nema
općih i dobrih rješenja.
Industrijski robot je službeno definiran prema ISO standardu kao automatski kontrolirani,
reprogramabilni, multifunkcionalni manipulator programabilan u tri ili više osi. Tipični poslovi koje
robot obavlja obuhvaćaju zavarivanje, bojanje, spajanje, premještanje, paletiziranje, kontrola i
testiranje a sve to obavlja sa visokom izdržljivošću, brzinom i tačnošću.
15
Edin Muhedinović Završni rad
Blok - shema industrijskog robota data je na slici 5.2. Vidljivo je da upravljački uređaj (najčešće
mikroračunalo) djeluje na pogone (motori, cilindri) koji pokreću mehanizam robota da bi njegova
prihvatnica (hvataljka, alatka ili senzor) došla u određeni položaj u odnosu prema objektu odnosno
okolini. Mjerenjem položaja i brzine vrha prihvatnice (sistem za mjerenje položaja), preko unutrašnje
povratne veze dobije se informacija kojom se može upravljati kretanje. Crtkano je prikazano kako se
preko vanjske povratne veze mogu dobiti informacije iz okoline (senzori), a sistem za raspoznavanje u
kombinaciji s moćnim računalom osigurava mnogo višu razinu informacija (umjetna inteligencija).
Najčešće korišteni oblici robota su artikulirani roboti, SCARA roboti i Kartezijski koordinatni roboti.
Roboti posjeduju razne oblike autonomije:
• neki roboti su programirani da vjerno izvršavaju zadane pomake ponovno i ponovno bez
varijacije i visokim stepenom preciznosti
• drugi roboti su mnogo fleksibilniji prema orijentaciji objekta na kojem vrše neku akciju te
posjeduju sisteme koji djeluju kao «oči» koje su povezane sa snažnim računalima i
kontrolerima. Ta vrsta umjetne inteligencije postaje važan čimbenik u modernoj robotici
• broj osi – dvije osi potrebne su za dostići bilo koju tačku u ravnini; tri osi potrebne su za
dostići bilo koju tačku u prostoru. Za potpunu kontrolu kraja ruke potrebne su još tri osi.
• stepeni slobode – obično robot posjeduje isti broj stepeni slobode koliko ima i osi.
• radno područje – prostor koji robot može doseći.
• kinematika – položaj krutih članova i zglobova u robotu koji određuju kretanje robota.
• nosivost – masa koju robot može podići.
• brzina – koliko brzo može robot pozicionirati vrh ruke.
• ubrzanje – koliko brzo može ubrzati os. Ovo je limitirajući faktor i robot ne može dostići svoju
maksimalnu brzinu na maloj udaljenosti ili kompleksnoj putanji koristeći stalnu promjenu
smjera.
• tačnost – koliko tačno se može pozicionirati robot u odnosu na zadanu poziciju. Tačnost može
varirati s brzinom i pozicijom u sklopu ovisno o radnom području i opterećenju.
16
Edin Muhedinović Završni rad
17
Edin Muhedinović Završni rad
• Fleksibilni proizvodni sistem može se opisati kao sistem sastavljen od više ćelija povezanih
automatiziranim transportnim sistemom. Kako često neku od zahtijevanih radnih operacija
može izvršiti više ćelija, posao će preuzeti ona koja je u određenom trenutku slobodna. Stoga
izradak putuje trakom dok ne dođe do ćelije koja će ga obrađivati. Preuzima ga robot i po
utvrđenom redoslijedu nosi ga u alatnu mašinu. Po završetku obrade u jednoj ćeliji izradak se
vraća na traku, odakle ide u drugu ćeliju ili kao gotov proizvod ide u sistem za kontrolu
kvalitete. Umjesto linijskim transporterom, promet izradaka moguć je i automatskim
pokretnim kolicima ili mobilnim robotom kao što je prikazano na slici 5.5.
Upravljanje sistemom zahtijeva središnje računalo koje omogućuje upravljanje podsistemima (ćelije,
transport, kontrola).Računalom integrirana proizvodnja sadržava spomenute sisteme dopunjene i
18
Edin Muhedinović Završni rad
Prijenos materijala potreban je u svakom proizvodnom pogonu. Pod pojmom materijal podrazumijeva
se ili poluproizvod koji ulazi u pogon, ili djelomično obrađen izradak te konačno potpuno obrađen
proizvod koji izlazi iz pogona. Uvijek je potrebno prenositi materijal od mjesta izvršenja jedne radne
operacije do mjesta sljedeće radne operacije.
Nosivost, preciznost i ostale karakterisitke moraju biti prilagođene zadatku.Često se elementi prenose
u većim količinama složeni u spremnike (palete).Takav transport čest je u mnogim, osobito procesnim
industrijama.
Upravljanje robotom za poslove premještanja kada se primjenjuje paletiranje složenije je nego kada
robot treba premještati pojedinačne predmete. Kako svaki predmet zauzima određeno mjesto na paleti,
potrebno je pamtiti sve položaje predmeta. No to je pamćenje olakšano pravilnim rasporedom
predmeta na paleti.
Opsluživanje mašina pripada u kategoriju poslova prenošenja materijala. Izradak se uzima najčešće sa
stola ili sa pokretne trake i postavlja na određeno mjesto obradnog stroja kao što je prikazano na slici
5.6.
19
Edin Muhedinović Završni rad
Potreba za prenošenjem materijala javlja se u nekoliko tehnoloških procesa od kojih se, kao prikladni
za robotizaciju ističu:
• Lijevanje – Lijevanje metala i injekcijsko presanje polimera zahtijevaju od robota prilično
veliku brzinu, ali ne pretjeranu preciznost. Robotski sistem mora biti neosjetljiv na prašinu i
povišenu temperaturu, a ti su elementi „negostoljubive radne sredine“ bili vjerojatno presudni
za donošenje odluke o robotizaciji spomenutih tehnoloških procesa
20
Edin Muhedinović Završni rad
Roboti za opsluživanje alatnih strojeva moraju biti velike prilagodljivosti, brzine i preciznosti.
Kretanja su najčešće jednostavna pa je i programiranje razmjerno jednostavno. Od robota se nadalje
zahtjeva visoka ponovljivost te jednostavna izmjenljivost hvataljke.
Elektrolučno zavarivanje je postupak spajanja metalnih dijelova taljenjem. Izvor topline je električna
energija što se u električnom luku između elektrode i osnovnog materijala pretvara u toplinu.
Od niza postupaka za robotizaciju je najprikladniji i najviše se primjenjuje u metaloprerađivačkoj
industriji - MAG postupak. Pri tom se postupku elektroda u obliku žice kontinuirano topi u zaštitnom
sloju plina. Spojevi se izvode s jednim ili više prolaza s njihanjem ili bez njihanja elektrode.
Kvalitetan spoj zahtijeva određenu orijentaciju zavarivačke glave, a potrebo je pravilno izabrati niz
parametara zavarivanja (napon i jačinu struje, primjer, mehanička svojstva i hemijski sastav žice,
brzinu zavarivanja, količinu i sastav zaštitnog plina). Najvažniji elementi kvalitetnog automatskog
elektrolučnog zavarivanje jesu:
- ispravni „dotok“ elektrode- žice
- najbolja udaljenost između elektrode i žice, tj. brzina zavarivanja
- ispravna brzina – napredovanje elektrode i izratka
21
Edin Muhedinović Završni rad
Slika 5.9. Faze zavarivanja: a) pristup zavaru, b) početak zavarivanja, c) kraj zavarivanja, d) povratak u
početni položaj
Upravljački uređaj robota mora omogućiti praćenje kontinuirane putanje, ali i usklađivati parametre
zavarivanja. Roboti za zavarivanje starije generacije, a još ih ima na tržištu, programirali su se
vođenjem. Robot je „pamtio“ putanju i ponavljao je pri zavarivanju. Za pravocrtni šav (spoj, zavar)
zadavale su se početna i krajnja tačka, a od robota se zahtijevala odgovarajuća interpolacija. Takvi su
roboti ograničeni na zavarivanje tačno postavljenih dijelova jednostavnih oblika. Pritom je potrebno
rješavanje niza problema, a ti problemi su prvenstveno: odstupanje linije spoja od programirane
(netačna montaža, dimenzijska odstupanja, deformacije), promjene napona i jačina struje luka u
odnosu na programirane vrijednosti, te netačnost robotskog sistema.
Stoga se nameće potreba za opskrbom robota kvalitetnim vanjskim senzorima koji će omogućiti
raspoznavanje i praćenje željene putanje. Senzori moraju biti integrirani s robotom i uređajem za
zavarivanje, što kompletnom sistemu daje svojstvo prilagodljivosti (adaptabilnosti).
Senzori moraju dati informacije što se odnose na praćenje linije zavara i parametara zavarivanja, dakle
podatke o stanju prije, ali i za vrijeme zavarivanja. Uz brojna rješenja koja se danas primjenjuju ni
22
Edin Muhedinović Završni rad
jedno potpuno ne zadovoljava istovremene zahtjeve za tačno utvrđivanje pozicije, tačno vođenje duž
spoja te pouzdanost, a uz podnošljivu cijenu. Najširu primjenu imaju senzori temeljeni na osobinama
luka. Senzor tipa elektrode s kontaktom omogućuje određivanje početne pozicije i početni položaj
linije šava –spoja upotrebljavajući elektrodu, žicu za zavarivanje, prije početka zavarivanja.
Savremenije rješenje je beskontaktni senzor. Mjerenjem napona i struje električnog luka određuje se
odstupanje od sredine šava. Tako se približavanje šavu ispituje promjenama električnih karakteristika
luka umjesto dodirom.
Lasersko zavarivanje, sve češće u savremenoj proizvodnji , jest postupak prirodno blizak robotizaciji.
Najčešće se upotrebljavaju tzv. plinski laseri. Rade na području infracrvenog zračenja, a prijelazi
energije omogućuju se vibracijama molekula plina. Laser omogućuje usmjeravanje velike količine
energije na malu površinu. To svojstvo služi za zagrijavanje metala na vrlo visoku temperaturu pa se
spoj izvodi brzo i precizno, bez deformacija i oštećenja spojnih elemenata.
Lasersko zavarivanje zahtijeva robote sličnih svojstava kao i za elektrolučno zavarivanje. No kako
lasersko zavarivanje omogućuje znatno brži tijek procesa, potreban je robot veće pokretljivosti i
brzine, uz zadržavanje svojstava visoke tačnosti i ponovljivosti.
Pojam montaže obuhvaća spajanje (rastavljivo ili nerastavljivo) više elemenata koji tvore sklop. Taj
sklop može biti završni ili podsklop koji se daljnjom montažom pretvara u završni sklop. Poslovi
montaže uključuju velik broj radnika i često su velika stavka u troškovima proizvodnje. Stoga su već u
ranoj fazi razvoja automatizacije i poslovi montaže bili automatizirani. Radilo se o tzv. čvrstoj
automatizaciji isplativoj tek pri velikim serijama. Težnja za fleksibilnosti proizvodnje rezultirala je sve
većom primjenom robota na poslovima montaže. Pri formiranju sklopa javljaju se poslovi različitih
osobina (pričvršćivanje elemenata, doprema odnosno transport elemenata i sastavljanje elemenata u
sklop). Stoga će i roboti potrebni na spomenutim poslovima biti različitih karakteristika.
Smatra se važnim da se već u fazi projektiranja vodi računa o specifičnostima koji će olakšati
robotizaciju. Tako se nastoji smanjiti broj dijelova, a time i broj operacija pri montaži. Nastoji se da
elementi koji „dolaze“ robotu uvijek imaju pravilan i poznat položaj i orijentaciju.
O poslovima koje će obavljati robot u procesu montaže ovisit će i njegove ososbine. Općenito će se
zahtijevati velika brzina i preciznost, opremljenost vizualnim senzorima te senzorima sile. Upravljanje
robotima može biti od tačke do tačke ili kontinuirano praćenje putanje.
23
Edin Muhedinović Završni rad
U završnoj fazi procesa proizvodnje istaknuto mjesto zauzima kontrola proizvoda. Postupci kontrole
mogu se podijeliti u dvije skupine:
- kontrola geometrijskih i fizikalnih osobina
- funkcionalna kontrola
U prvu skupinu pripada kontrola dimenzija, mase, kvalitete površine, ali i provjera homogenosti
materijala, kvalitete zavara i slično. Oblik i dimenzije mogu se nadzirati različitim vizualnim
sistemima ili s pomoću ticala. Računalo dobiva mjerne podatke i vrednuje ih uz pomoć programskog
modula. Savremena rješenja uključuju laserske optičke senzore koji mogu služiti sa kontrolu
dimenzija, ali i za utvrđivanja stanja površinske hrapavosti. Prikaz mjernog uređaja - portalnog robota
dan je na slici 24.
Funkcionalna kontrola proizvoda svodi se na provjeru karakteristike proizvoda prema tome kakva mu
je namjena. Uređaji za takvu kontrolu različite su složenosti – od onih koji provjeravaju primjerice
vodljivost žice do provjere funkcioniranja električnih kola na tiskanim pločicama.
24
Edin Muhedinović Završni rad
Akvizicija slike je prvi korak kod aplikacije za prepoznavanje objekata zasnovano na viziji gde se
digitalna kamera koristi kao osnovni izvor informacija koje sadrže scenu u kome se nalazi objekat
interesovanja. Nakon toga pristupa se segmentaciji slike, gde se slika "pojednostavljuje" i priprema za
prepoznavanje objekata, odnosno uopšteno gledano razumjevanje digitalne slike . Segmentacija slike
se obično vrši u tri koraka, preprocesiranje slike, sama segmentacija i post-procesiranje slike. Pre-
procesiranje se vrši u cilju poboljšanja kvaliteta slike (najčešće primenom raznih filtera) ili kako bi se
odredila oblast interesovanja (engl. Region of Interest - ROI) tj. smanjila oblast segmentacije. Nakon
primene adekvatnog algoritma segmentacije, moguće je vršiti post-procesiranje čime bi se npr.
uklonili elementi koji nisu od interesa za klasifikaciju ili se mogu primeniti filteri koji obezbeđuju
bolju rekonstrukciju objekata
Proces percipiranja i interpretiranja boje u ljudskom mozgu je psiho-fiziološki fenomen koji nije još
sasvim shvaćen, ali se priroda boje može opisati na formalnoj bazi koja je poduprta eksperimentalnim
i teoretskim rezultatima. Prvo ozbiljno istraživanje boje zabeleženo je u 17- om veku kada je Isak
Njutn otkrio da kada sunčeva svijetlost obasja staklenu prizmu, na izlazu iz nje ne dobijamo isto
obojenu svjetlost već cijeli spektar boja od ljubičaste do crvene, kao što se vidi na slici 6.2.
25
Edin Muhedinović Završni rad
Otkriveno je da vidljivu svjetlost koju ljudi mogu percipirati čini relativno uzak spektar frekvencija u
elektromagnetnom spektru koji se može videti na slici 6.3.
Ono što ljudi i neke životinje percipiraju kao boju je zapravo reflektovana svetlost s površine nekog
objekta. Zbog toga je izučavanje svjetlosti izuzetno bitno kako za nauku o bojama, tako i za korišćenje
boje u kompjuterskoj viziji. Ako svjetlost nije obojena, tada je ona ahromatska i promatramo je
isključivo kao intenzitet.
Sistemi kompjuterske vizije za akviziciju podataka iz okoline uglavnom koriste digitalne kamere
bazirane na CCD ili CMOS tehnologijama koje pretvaraju svetlost koja pada na senzor kamere prvo u
analogni signal, a nakon toga u digitalni. Senzori u digitalnim kamerama se sastoje od 3 tipa
fotoosetljivih filtera (R, G i B) raspoređenih u određenom obrascu da bi se što bolje aproksimovao rad
ljudskog oka. Primer obrasca filtera je npr. Bajerov filter koji možemo videti na sledećoj slici, a čiji
obrazac sadrži 50% zelenih, 25% crvenih i 25% plavih ćelija (Slika 6.4.)
26
Edin Muhedinović Završni rad
U RGB prostoru boja svaka boja je sastavljena od primarnih spektralnih komponenti crvene, zelene i
plave boje. Ovaj se model bazira na Dekartovom koordinatnom sistemu kao što je prikazano na slici
6.5.
Kao što se može videti na slici 7.5., primarne boje RGB prostora se nalaze na osama koordinatnog
sistema dok su na uglovima sekundarne boje (cijan, magenta i žuta). Koordinatni početak predstavlja
crnu boja, dok je njemu najudaljeniji ugao bijela boja. Zbog svoje jednostavnosti RGB prostor boja je
najrašireniji u upotrebi, ali radi se o prostoru koji nije perceptualno uniforman što znači da euklidska
udaljenost između dvije boje u tom prostoru ne odgovaraju perceptualnoj udaljenosti tih dviju boja
kod ljudske percepcije boja, niti je ovakav prostor boja intuitivan s obzirom na ljudski način
razmišljanja o bojama.
Ovaj prostor boja uveo je 1978 godine Alvy Ray Smith a temelji se na načinu na koji umjetnici
mješaju boje na svojim paletama. Ovo je jako važan prostor jer opisuje boje najsličnije ljudskoj
27
Edin Muhedinović Završni rad
percepciji. To svojstvo može ovaj prostor učiniti boljim izborom od RGB prostora za pretraživanje
slika.
Sjajnost (intezitet) je komponenta koja se u prostoru HSL odvaja od informacija o boji. Ova osobina je
uvod ka još boljoj reprezentaciji neovisno od varijacija inteziteta svjetlosti. Međutim kroma (nijansa i
zasićenje) ravan se ne može koristiti da se predstave crna i bijela boja koje se najčešće koriste kao
pozadinske boje kod mnogih aplikacija u mašinskoj viziji.
Svaki od elemenata u nizu spektra boja odgovara odgovarajućem binu (ograđenom mjestu) boja u
HSL prostoru boja. Posljednja dva elementa niza predstavljaju crnu i bijelu boju respektivno. Slika
6.7. prikazuje kako je prostor boja podjeljen u binove. Prostor sjajnosti je podjeljen na nekoliko
jednakih sektora, a svaki od sektora je dalje podjeljen na dva dijela od kojih jedan dio predstavlja dio
sa visokim vrijednostima zasićenja a drugi dio sa niskom vrijednostima zasićenja. Svaki od ovih
dijelova pripada odgovarajućem binu (element u nizu spektra boja).
28
Edin Muhedinović Završni rad
Parameter osjetljivosti boje određuje broj sektora koji je prostor nijanse podjeljen. Slika a) prikazuje
prostor nijanse kada je osvjetljenost jednaka 128. Slika b) prikazuje prostor nijanse podjeljen u
nekoliko sektora, ovisno o željenoj osjetljivosti boje. Slika c) prikazuje svaki sektor koji je dalje
podjeljen na binove sa visokom i niskom količinom zasićenja. Prag zasićenja određuje radijus
unutarnjeg kruga koji razdvaja svaki sektor u binove.
Slika 6.8 prikazuje korespodenciju između elemenata spektra boja i binova u prostoru boja. Prvi
element u nizu spektra predstavlja visoko zasićeni dio u prvom sektoru,drugi element predstavlja
nisko zasićeni dio,treći element predstavlja visoko zasićeni dio drugog sektora i tako dalje. Ako
postoji n binova u prostoru boja, niz spektra boja sadrži n+2 elemnata. Posljednja dva elementa u
spektru boja predstavlja crnu i bijelu boju.
Spektar boja sa većim brojem binova (elemenata) daje informacije o boji na slici sa više detalja kao
što je je veća rezolucija boje nego spektar sa manjim brojem binova. U IMAQ Visionu možemo
odabrati između tri postavke osjetljivosti boja: niska ,srednja i visoka.
Niska osjetljivost djeli prostor nijanse u sedam sektora davajući ukupno 2 × 7 + 2 = 16 bina. Srednja
osjetljivost dijeli prostor nijanse u 14 sektora davajući ukupno 2 × 14 + 2 = 30 bina. Visoka
osjetljivost dijeli prostor nijanse u ukupno 28 sektora davajući ukupno 2 × 28 + 2 = 58 bina.
Vrijednost svakog elementa u spektru boja označava postotak piksela slike u svakom od binova.
Nakon što je broj binova podešen prema parametru osjetljivosti boje, softver mašinske vizije broji
broj piksela koji je pridružen odgovarajućem binu i pohranjuje omjer ukupnog broja piksela na slici u
odgovarajući element unutar spektra boja. Softver takođe primjenjuje poseban adaptivni algoritam
učenja koji utvrđuje jesu li pikseli crni ili bijeli prije nego li se dodijele odgovarajućem binu.
29
Edin Muhedinović Završni rad
Slika 6.9. b predstavlja spektar boja niske osjetljivosti slike a. Visina svakog od elemenata histograma
predstavlja postotak piksela slike koji pripadaju odgovarajućem binu. Spektar boja sadrži korisne
informacije o distribucije boje u slici. Takođe možemo analizirati spektar boja kako bi smo dobili
informacije o najdominantnoj boji na slici čiji element posjeduje najveću vrijednost u spektru boja.
30
Edin Muhedinović Završni rad
7. Pogled na LabVIEW
LabVIEW je u potpunosti grafički program koji izgleda poput crteža elektroničke sheme s jedne strane
i stila električkih mjernih uređaja iz pedesetih godina dvadesetog stoljeća. To čini koncept blok
dijagrama (blok diagram) i prednje ploče (front panel). LabVIEW je hijerarhijski program u tom
smislu da se bilo koji virtualni instrument (bilo koja potpuna funkcionalna cjelina naziva se virtualni
instrument te se gotovo uvijek označava kao VI) koji se programira može brzo pretvoriti u modul koji
može biti potprogram drugog VI. To je u potpunosti analogno konceptu programiranja kod
konvencionalnih programskih jezika. LabVIEW je dizajniran osim toga tako da se može proširivati.
Mogu se dodavati moduli pomoću različitih sredstava. Proizvođač mjerne kartice ili nekog mjernog
instrumenta može pogramirati LabVIEW driver koji se ponaša kao VI koji predatavlja mjernu karticu i
njenu funkcijonalnost u LabVIEW okruženju. Korisnik može također sam napisati LabVIEW modul i
koristiti ga kao VI u drugim programima ili može napisati modul koji se sučeljavalju s LabVIEWom u
drugim jezicima kao što su C i C++ . Oni su poznatu i kao podVI (subVI) i ne razlikuju se od VI osim
što je šučelje određeno za slijedeći nivo. PodVI u C ili C++ su vrlo korisni ukoliko je potrebno izvesti
vrlo složeni numerički postupak na podacima koji nisu pokriveni u standardnoj LabVIEW rutini.
Kontrole mogu imati mnoštvo oblika. Mnogi od tih oblika su virtualne «slike» realnih kontrol K a
koje se koriste kod stvarnih instrumenata kao rotirajući gumb (knob) na primjer. Ostali imaju digitalni
koncept. Sve kontrole imaju neku vrstu vizualne informacije na osnovu koje korisnik uvijek zna u
kojem se stanje nalaze. To jako pomaže jer se ne mora pri programiranje eksplicitno programirati i
stanje pojedine kontrole. Drugo vrlo korisno svojstvo kontrola je to da se može odrediti njihova
reakcija ukoliko je postavljena ulazna vrijednost nestabilana. U specifičnom slučaju, ukoliko ulazna
kontrola može poprimiti samo cjelobrojne vrijednosti u opsegu od 0 do 10 može se specificirati što se
31
Edin Muhedinović Završni rad
treba dogoditi ukoliko se unese ulazna vrijednost 3,5 ili -1 ili «nula» (zero) kao tekstualna naredba.
Programski riješiti tu vrstu problema zahtijeva previše programerskog vremena tako da se ovom
opcijom štedi na vremenu.
Indikatori imaju mnoštvo različitih oblika. Neki od njih su preslik stvarnih indikatora (instrumenata i
sl.) a neki su dizajnirani prikladnije za zaslon računala. Koncept indikatora uključuje grafove (graphs)
i prikaze (charts) što je druga važna ušteda u vremenu jer se ti pokazivački elementi ne moraju
dizajnirati zasebno. Slika 7.2. Blok dijagram predstavlja pozadinu njegove prednje ploče koji
prikazuje kako su sve kontrole i indikatori povezani međusobno kao i skrivene module gdje se odvija
sva programska obrada podataka. Izgleda na neki način poput elektroničkog shematskog dijagrama i
barem je konceptualno ožičen na isti način. Takav prikaz često izgleda vrlo složen kao u elektroničkoj
shemi stvarnog elektroničkog mjernog instrumenta. Stoga je jedno od najvažnijih svojstava u
LabVIEW programiranju odrediti timing i redoslijed operacija. U konvencionalnom programskom
jeziku to je ostvareno redoslijedom naredbi i korištenjem različitih programskih petlji (FOR, WHILE
itd.). LabVIEW radi na potpuno isti način jedino sto je način na koji se određuje redoslijed izvršenja
naredbi profinjeniji. Koncept korišten u LabVIEWu je dataflow – radnja se na nekom elementu
izvršava kad su svi njegovi ulazi na raspolaganju. To znači paralelnost u izvršenju radnje (ili barem
pseudoparalelizam). Uobičajeno izvršavanje radnji je s lijeva na desno jer su ulazi obično na lijevom
dijelu elementa a izlazi na desnom dijelu. Međutim to nije zahtjev već samo stvar dogovora.
Programske petlje i redoslijed kojim se odvijaju naredbe odvija se pomoću struktura koje izgledaju
poput knjiga s brojevima stranica ili kao odsječci filmske trake.
32
Edin Muhedinović Završni rad
Pomoću LabVIEW-a se može upravljati sistemom i vršiti prikaz rezultata preko interaktivnog
grafičkog front panela. Na raspolaganju su brojne opcije za manipulisanje podacima - smještanje
podataka na disk ili direktno u bazu podataka, mrežno povezivanje između dvije ili više aplikacija,
povezivanje na internet ili štampanje izvještaja, direktno ili pomoću Microsoft Office-a.
Prikupljanje podataka i kontrola se vrši pomoću akvizicionih i upravljačkih modula. Podaci se mogu
zabilježiti u file-ovima (ASCII, binarni, …) ili u bazi podataka. Takođe, podaci se mogu slati preko
lokalne mreže ili interneta, ili preuzimati na isti način. Nakon prikupljanja podataka mjerenja, rezultati
se mogu obrađivati primjenom snažnih alata za analizu i vizualizaciju. LabVIEW pojednostavljuje i
skraćuje razvoj kompletnog sistema metodologijom intuitivnog programiranja i brojnim neophodnim
funkcijama integrisanim u razvojno okruženje.
LabView je orijentisan prema mjernim sistemima i industrijskoj kontroli. Ima veliki broj gotovih
biblioteka za mjerenje, obradu i analizu podataka. Ovo olakšava i ubrzava razvoj aplikacija sa
faktorom 4 do 10 puta. Jednostavniji programi za akviziciju se mogu napraviti u roku od samo
nekoliko minuta. Takođe, izrada programa je olakšana za one korisnike koji nemaju iskustva u
programiranju, jer se
LabVIEW sadrži, osim programskog jezika G, i okruženja za izradu korisničkog interfejsa i veliki
broj gotovih primjera, biblioteka, driver-a, zatim okruženje za izradu projekta, compiler i automatsku
izradu instalacione verzije programa, sa velikim brojem parametara koje korisnik može postaviti kako
želi. Ovo omogućava korisniku jednostavnu izradu profesionalnih aplikacija za treće lice koje nema
LabView okruženje. Veliki broj LabVIEW-ovihadd-on softverskih paketa omogućava realizaciju
kompleksnih zadataka, kao što je slanje podataka na internet, akvizicija slike, programiranje baze
podataka i slično, jednostavnim integrisanjem ovih paketa u LabVIEW razvojno okruženje.
33
Edin Muhedinović Završni rad
Digitalni video koristi principe ljudskog vida koji su poznati još od početaka analogne TV i video
tehnike. Bilo koja boja spektra može se dobiti miješanjem određenih iznosa osnovnih boja. Analogne
video kamere proizvode tri različita kontinuirana signala: po jedan za R, G i B komponentu. Ova tri
signala (crveni, zeleni i plavi) mogu se pretvoriti u druga tri: signal luminacije (osvjetljenja ili
intenziteta) Y, koji sadrži informaciju o osvjetljenju, a druga dva su signali za razlikovanje boja (R-Y,
G-Y). Kako je ljudsko oko manje osjetljivo na boju nego na osvjetljenje, signali boja mogu se
prenositi i prikazati sa manjom preciznošću od luminantnih signala. Signal osvjetljenja i signali razlike
boja izračunati su iz RGB signala pomoću pojednostavljene linearne transformacije. U digitalnoj
tehnici, iz tog razloga, signali boja mogu biti uzorkovani na nižim frekvencijama od luminantnog
signala. Spomenuta tehnika se naziva poduzorkovanje (subsampling). Primjerice, omjer 4:1 ukazuje
da je svaka razlika boje uzorkovana na četvrtinu frekvencije od luminacije. Za DV u studijskoj
kvaliteti, prema ITU-R BT.601, luminantni signal ima 720 uzoraka po liniji i 486 do 576 aktivnih
linija po sličici, a horizontalna brzina uzorkovanja signala razlikovanja boja je prepolovljena.
Poduzorkovani omjer time je 4:2:2, što je čest slučaj kod mnogih profesionalnih sistema. High
34
Edin Muhedinović Završni rad
Definition video koristi omjer 4:2:0, NTSC digital video 4:1:1, a neki Highend video formati
podržavaju omjer 4:4:4.
Još uvijek je aktualna standardna DVD rezolucija od 768 x 576 piksela. HDV modeli endemska su
vrsta, njihovu malobrojnu ponudu prati i viša cijena, no prosječni korisnici time nisu zakinuti -
standardna DV rezolucija ima još štošta za ponuditi, snimanje i uređivanje zapisa je poprilično
pojednostavljeno, a konačan rezultat je kvalitetan DVD medij, čak i za zahtjevnijeg korisnika. Osnova
uspjeha digitalnog videa sastoji se u tzv. simetričnoj kompresiji, odnosno sposobnosti komprimiranja
videozapisa u dva smjera na magnetnu traku, te dekomprimiranja sa nje u realnom vremenu
upotrebom jeftinog hardvera dostupnog najširem broju korisnika. Unaprijeđeni MPEG2 algoritam
koristi DCT transformaciju, s namjenom pretvaranja i kompresije video signala u osnovne frekvencije.
DCT, diskretna kosinusna transformacija to čini pretvaranjem vrijednosti slike u koeficijentnu matricu
od 8 x 8 piksela, pri čemu se koriste tri signala, X, Y i Z (X i Y predstavljaju koordinate piksela na
zaslonu a Z vrijednost pojedinog piksela, od 0 do 255). Upotreba većih blokova u spomenutoj matrici
(16 x 16, 64 x 64 ili većih) nema većeg smisla, jer bi se time vrijeme obrade i procesorsko vrijeme
znatno povećalo, a kvaliteta komprimirane slike umanjila.
Servo motori su rotacioni aktuatori koji se koriste u aplikacijama gde je potrebno upravljanje ugaonom
pozicijom, brzinom i ubrzanjem. Sastoje se od odgovarajućeg motora u kombinaciji sa senzorom koji
daje informaciju o poziciji. Servo motori takođe sadrže i relativno sofisticirani kontroler, često
odvojen modul, namenjen za upotrebu sa servo motorima. RC (Radio Control) servo motori se
najčešće koriste u aplikacijama sa daljinskim upravljanjem (mali roboti, daljinski upravljani
automobili, avioni, brodovi itd).
35
Edin Muhedinović Završni rad
RC Servo motor poseduje tri priključka, jedan upravljački i dva preko kojih se motoru dovodi
napajanje. Upravljački signal se koristi za upravljane ugaonom pozicijom izlazne osovine i najčešće je
to PWM (Puls-Width Modulation) signal. Trajanje impulsa PWM signala određuje poziciju osovine.
Dok god je upravljački signal prisutan, servo motor zadržava poziciju svoje izlazne osovine. Pri pojavi
signala, motor rotira osovinu u smeru u kom će se najpre ostvariti zadata pozicija. Kada se pozicija
ostvari, osovina se zaustavlja i zadržava poziciju osovine. Upravljački signali servo motora uglavnom
imaju period od 20 ms. Faktor ispune impulsa unutar periode će se odraziti na poziciju izlazne
osovine. Na primer, ako želimo da osovinu dovedemo u ugao od -45° potrebno je da impuls
upravljačkog signala traje 1 ms (faktorom ispune od 5%); kako bi se osovina pozicionirala u neutralni
položaj (0°), širina impulsa treba da je 1,5 ms (faktor ispune 7,5%); ukoliko pak želimo da osovinu
pozicioniramo na ugao od 45° potrebna širina impulsa je 2 ms (faktor ispune 10%).
Širina impulsa je najčešće 1 do 2 ms za kretanje osovine od 90°, mada mnogi servo mogu i preko
toga. Sredina opsega kretanja osovine je najčešće na 1,5 ms. Kraći impulsi okreću osovinu u smeru
kazaljke na satu, a duži suprotno, što se može videti na slici 8.4.
Slika 8.4. Smijer rotacije RC servo motora u zavisnosti od širine impulsa upravljačkog signala
36
Edin Muhedinović Završni rad
RC servo motori su sastavljeni iz tri dela: motora sa reduktorom, uređaja povratne sprege i
upravljačke ploče. Kod RC servoa, uređaj povratne sprege čini najčešće potenciometar. Motor, preko
niza zupčanika (koji čine reduktor), okreće izlaznu osovinu i potenciometar istovremeno. Upravljački
modul “očitava” otpornost potenciometra i na taj način utvrđuje trenutnu poziciju izlazne osovine.
Šematski prikaz strukture RC servo motora prikazan je na slici 8.5.
8.3. Arduino
37
Edin Muhedinović Završni rad
Arduino hardver se programira koristeći programski jezik zasnovan na Wiring jeziku (sintaksa i
biblioteke). U osnovi je sličan C++ programskom jeziku sa izvjesnim pojednostavljenjima i
izmjenama. Integrisano razvojno okruženje je zasnovano na Processingu.
Arduino ploču čine 8-bitni Atmel AVR mikrokontroler sa pripadajućim komponentama koje
omogućavaju programiranje i povezivanje sa drugom elektronikom. Bitan aspekt Arduino projekta je
standardizovan raspored konektora koji omogućava lako povezivanje sa dodatnim modulima,
poznatijim kao shieldovi. Ove dodatne module, štitove, poizvode razni proizvođači širom svijeta.
Zvanične Arduino ploče uglavnom koriste megaAvr seriju čipova, konkretno ATmega8, ATmega168,
ATmega328, ATmega1280 i ATmega2560. Većina ploča posjeduje 5V linearni naponski regulator i
16MHz kristalni oscilator (ili keramički rezonator u nekim verzijama). Arduino mikrokontroleri se
isporučuju sa programiranim bootloader-om koji pojednostavljuje postupak prebacivanja prevedenog
koda u fleš memoriju na čipu. Drugi mikrokontroleri obično zahtijevaju zaseban programator.
Originalni Arduino hardver proizvodi italijanska kompanija Smart Projects. Neke od Arduino ploča
je dizajnirala američka kompanija SparkFun Electronics. Za sada postoji ukupno trinaest zvaničnih
Arduino ploča koje se proizvode u komercijalne svrhe:
1. Serial Arduino, programira se preko DE-9 serijskog konektora i koristi ATmega8 mikrokontroler
4. Arduino Nano, najmanja, USB Arduino verzija, koristi površinski montirani ATmega168
(ATmega328 u novijim verzijama)
10. Arduino Duemilanove ("2009"), koristi ATmega168 (ATmega328 za novije verzije) a napaja se
preko USB/DC napajanja uz automatsko prebacivanje
11. Arduino Mega, koristi površinski montiran ATmega1280 za dodatne ulaze i izlaze, kao i dodatnu
memoriju
12. Arduino Uno, koristi isti ATmega328 kao i Duemilanove model, ali umesto FTDI čipseta za USB,
Uno koristi ATmega8U2 programiran kao serijski konvertor
13. Arduino Mega2560, koristi površinski montiran ATmega2560, proširujući raspoloživu memoriju
na 256 kB. Takođe sadrži i novi ATmega8U2 USB čipset.
38
Edin Muhedinović Završni rad
LED diode (Light–emitting diode) su poluprovodnički izvori svetlosti koji se prvenstveno koriste
kao indikatorske lampice na mnogim uređajima, mada sve više pronalaze primenu i u drugim vrstama
osvetljenja. Kao elektronska komponenta prvi put se pojavljuju 1962. godine kao crveno svetlo niskog
intenziteta, da bi današnje, moderne verzije bile dostupne u vidljivom, infracrvenom i ultraljubičastom
spektru talasnih dužina, veoma visokog stepena osvetljenja. Kada je svetlosna dioda polarisana
elektroni su u mogućnosti da se kombinuju sa elektronskim šupljinama unutar uređaja oslobađajući
energiju u obliku fotona. Ovaj efekat se naziva elektroluminiscencija, a boja svetla (odgovara energiji
fotona) određena je vrstom poluprovodnika, kao i njegovih primesa, i varira od ultraljubičastog do
infracrvenog spektra.
Dioda je elektronska komponenta koja dozvoljava protok struje u jednom smeru bez otpora(ili
sa veoma malim otporom)dok u suprotnom smeru predstavlja beskonačan (ili veoma velik) otpor.
Dioda ima provodan i neprovodan smer.Može se smatrati da za proticanje struje u provodnom smeru
dioda ima otpornost koliko i sama žica provodnika (nula), dok se u neprovodnom smeru može
posmatrati kao prekid provodnika (beskonačno).
Dioda je sastavljena iz P–Nspoja, gdje se priključak (pin) P spoja naziva anoda, a priključak N
spoja katoda. Struja teče od P ka N–oblasti ili od anode ka katodi.P–N spoj je kristal poluprovodnika
koji na jednom kraju ima visoku koncentraciju šupljina, a na drugom kraju visoku koncentraciju
elektrona. Oba tipa ovog materijala su dijelovi istog kristala, čiji su delovi dopirani različitim
primjesama.
39
Edin Muhedinović Završni rad
LED dioda predstavlja specijalan tip poluprovodničke diode koja je sastavljena iz LED čipa
sa dopiranim primesama u strukturi P–N spoja, katode i anode, kao i reflektora. Kao i kod drugih vrsta
dioda i kod LED–a električna struja se lako kreće sa P–strane, ili anode, ka N– strani, katodi, ali ne i u
suprotnom smeru. Kada elektron popuni šupljinu njen energetski nivo opada i oslobađaju se fotoni,
tačnije dolazi do katodne luminiscencije elektrona ili grupe elektrona koje usmerenim kretanjem u
pravcu elektroda različitih napona prelaze sa višeg na niži energetski nivo.Tako dolazi do emitovanja
svijetlosnih talasa.
Talasna dužina emitovane svetlosti, a samim tim i boja svetlosti zavisi od prirode grupa
elekrona formiranog P–N spoja.Što je niža frekvencija diode veća je njena efikasnost, pa je za efekat
jednake jačine svetla raznih dioda potrebno povećavati jačinu struje kod dioda viših frekvencija. Ovo
se još više komplikuje činjenicom da je ljudsko oko najosetljivije na svetlost koja je negde između
plave i zelene.
Napon diode zavisi od talasne dužine fotona i nalazi se u rasponu 1.2V za crvenu boju, do 2.4V
za ljubičastu.
40
Edin Muhedinović Završni rad
Led diode se proizvode u različitim oblicima i veličinama. Boja plastičnog omotača je često
iste boje kao i sama svetlost, ali ne mora uvek biti. Na primer, purpurna boja kućišta se mnogo koristi
kod IR dioda, dok se za plave uglavnom koriste bezbojna.
Osnovne vrste LED–a su minijaturne LED, LED srednje i visoke snage, i diode različitog
dizajna kao što su alfanumeričke ili sa više boja.
Minijaturne diode se uglavnom koriste zasebno, najčešće kao indikatorske lampice i veličine
su od 2mm do 8mm. Mogu se montirati u kružne otvore ili na površini uređaja. U najvećem broju
slučajeva nemaju posebne rashladne delove pa su zbog svoje veličine ograničene na niske jačine
struja, od 1mA do 20mA. Oblici ovih dioda mogu biti različiti, pa tako postoje okrugle sa kupolom ili
ravnim vrhom, pravougaone sa ravnim vrhom i u obliku trougla ili kvadrata sa ravnim vrhom.
Omotači im mogu biti bezbojni ili obojeni kako bi poboljšali kontrast i ugao vidljivosti. Postoje tri
glavne kategorije minijaturnih dioda:
Minijaturne diode mogu raditi i na višim naponima, ali tada im se dodaje otpornik
odgovarajuće jačine.
LED diode srednje snage su uglavnom montirane u otvorima i koriste se kada je potrebno
dobiti osvjetljenje od nekoliko lumena. Ponekad se spajaju sa četiri žice (dve ka katodi i dve ka anodi)
zbog boljeg provođenja toplote. Pošto sadrže velike količine metala mogu izdržati i veće jačine struje
(oko100mA). Ove diode se najčešće koriste za svijetlosne panele, pomoćna svijetla i zadnja svijetla na
automobilima.
Diode visoke snage svijetlosnog emitovanja mogu provoditi struje od nekoliko stotina mA do
1A, a neke od njih mogu emitovati i preko hiljadu lumena svijetlosti. Pošto ovako visoke struje
proizvode preveliku toplotu, na ove uređaje mora biti montirana neka vrsta rashladnog uređaja za
njeno odvođenje. Ako toplota ne bi uspela da se ukloni ovi uređaji bi otkazali posle svega nekoliko
sekundi. Samo jedan HPLED (high–power light–emitting diodes) može zameniti običnu sijalicu, a
ukoliko bi se više njih smestilo u niz dobila bi se veoma moćna LED lampa. Danas, kako njihova
cijena opada, ove diode najčešće služe kao zamena za klasične sijalice, halogene, pa čak i
fluorescentne lampe.
41
Edin Muhedinović Završni rad
Na slici je prikazan gotov model robotske ćelije koja se sastoji iz gravitacionog dozatora
(dispensera) sa rotacionim izbacivanjem komada iz bunkera dozatora, rotacionog stola za
pomjeranje dijelova od dozatora do radnog prostora robotske ruke i izvršnog sistema za
pomjeranje objekata (robotska ruka) do odgovarajućeg mjesta. Da bi smo razumili proces
detekcije i sortiranja objekata, potrebno je sistem robotske ćelije, čija je uloga sortiranje
objekata na osnovu boje, rastaviti na osnovne sisteme koje ćemo opisati u sljedećim
poglavljima.
Zbog problema prepoznavanja boja RGB metodom u izradi rada implementiran je algoritam
prepoznavanja boja pomoću HSL metode.
42
Edin Muhedinović Završni rad
Kao što je ranije rečeno, svaki od elemenata u nizu spektra boja odgovara odgovarajućem binu
(ograđenom mjestu) boja u HSL prostoru boja.. Prostor sjajnosti je podjeljen na nekoliko jednakih
sektora, a svaki od sektora je dalje podjeljen na dva dijela od kojih jedan dio predstavlja dio sa
visokim vrijednostima zasićenja a drugi dio sa niskom vrijednostima zasićenja. Svaki od ovih dijelova
pripada odgovarajućem binu (element u nizu spektra boja). Vrijednost svakog elementa u spektru boja
označava postotak piksela slike u svakom od binova. Nakon što je broj binova podešen prema
parametru osjetljivosti boje, u našem slučaju to je ‘LOW’, Labview kao softver mašinske vizije broji
broj piksela koji je pridružen odgovarajućem binu i pohranjuje omjer ukupnog broja piksela na slici u
odgovarajući element unutar spektra boja odnosno u zeleni, crveni i plavi element spektra.
43
Edin Muhedinović Završni rad
Informacije o boji se dostavljaju u obliku Booleanove logike tj. TRUE ili FALSE. Kako bi
Arduino IDE softver imao mogućnost djelovanja u zavisnosti od boje, od krucijalnog značaja
prebacivanje iz domene Booleanove logike tj.TRUE ili FALSE u 16-bitnu integer vrijednost 0
ili 1. Integer vrijednost 0 ili 1 će se množiti sa odgovarajućim brojem, a sve u cilju slanja
odgovarajuće naredbe Arduino IDE.
44
Edin Muhedinović Završni rad
Ukoliko Labview softver šalje preko COM porta naredbu koja odgovara ‘5’ , u Arduino
memoriji je pohranjeno da ‘5’ odgovara plavoj boji, odnosno ‘6’ odgovara crvenoj i ‘7’
odgovara zelenoj boji. Ukoliko se komanda šalje u obliku broja ‘8’, manipulator ima zadatak
da izbaci kuglicu koja je neutvrđene boje. Na osnovu ovih vrijednosti Arduino će imati
mogućnost slanja naredbi izlaznim uređajima, a sve u cilju sortiranja objekata na
odgovarajuće mjesto.
45
Edin Muhedinović Završni rad
objekat ne može doći na potrebno mjesto detekcije sve dok čitava sekvenca sortiranja prethodnog
objekta nije izvršena.
Rotacioni indeksirani stolovi imaju namjenu pomjeranja objekata u i izvan radnog prostora
robota u odgovarajućem intervalu. Mnogi od namjenskih sistema su izgrađeni oko rotacionog
stola. U ovom slučaju,više čvorova se nalaze oko periferije rotacionog stola i oprema
neophodna za svaku operaciju je grupisana u pojedinim tačkama oko stola. Obrtni stol će
izvršiti rotiranje za određeni ugao kada su sve operacije završene, pomjerajući dio na sljedeću
operaciju.
U našem slučaju rotacioni stol ima zadatak prenošenja detektovanih objekata sa dozatora do
radnog prostora robotske ruke. Na ovaj način predmet će se nalaziti bliže robotskoj ruci a i
osiguran je jednostavniji prihvat objekata.
46
Edin Muhedinović Završni rad
Robotska ruka –manipulator je takođe kinematički lanac tj. sastoji se iz triju kinematičkih parova. Na
donjem kraju robotske ruke pričvršćen je završni mehanizam-šaka robota ili prihvatnica. Osnovni
dijelovi koji su bili potrebni za formiranje robotske ruke u ovom projektu su sljedeći:
-servo motori
-vodilice i hvataljka
-mehanički profili
-vijci za učvršćivanje
Robotski manipulator posjeduje tri SG90 mikro servo motora mase 9 grama i tri TowerPro MG995
servo motora mase 55 grama. Primjenom ovih motora, ovaj robotski manipulator osvaruje pet stepeni
slobode kretanja, a napajanje svih motora se ostvaruje 5 V napojnom jedinicom.
47
Edin Muhedinović Završni rad
Ideja ovog pristupa je da se u fazi obučavanja robot vodi putanjom koja se zahteva pri
izvršenju zadatka. Tada robot pamti izvršeno kretanje i ponavlja ga kada se to od njega zahteva
tj. u fazi praktičnog rada.Ovo je bila osnovna ideja, dakle obučavanje pokazivanjem. U našem
slučaju iskorištena je metoda posrednog vođenja.
Posredno vođenje je savremeniji način programiranja robota. Robot se kreće sledeći komande
koje čovek-operator zadaje pomoću jedne vrste upravljača (najčešći engleski termin je: teach
pendant). Za upravljanje radom robotske ruke u Labview softverskom paketu razvijen je
program koji igra ulogu digitalnog upravljača a sve u cilju dobivanje potrebnih uglova
zakretanja servo motora koje su neophodne za postavljanje robotske ruke u određenu poziciju.
Za vođenje robota koristićemo šest dugmadi. Svakim od dugmadi vodimo po jedan zglob
robota. Okretanjem dugmeta u desnu stranu zglob se obrće u pozitivnom smeru, a okretanjem
dugmeta na lijevu stranu u negativnom. Na ovaj način, vođenjem jednog po jednog zgloba,
dovešćemo završni uređaj u položaj koji se zahteva.Taj položaj ćemo zapamtiti i unijeti u
Arduino softver.
Sada robot vodimo do drugog položaja koji se pamti, a postupak se ponavlja dok se u
potpunosti ne definiše zadatak. Brzina vođenja može se podešavati u Arduinovom softveru
zbog primjene VarSpeedServo biblioteke. Na ovaj način je omogućeno definisane pojedinih
koordinata kretanja robotskog manipulatora bez primjene inverzne kinematike.
48
Edin Muhedinović Završni rad
Na sljedećoj slici je prikazana elektronska šema spajanja komponenti korištenih pri izradi
završnog rada
49
Edin Muhedinović Završni rad
Na slici 9.9 prikazan je način spajanja komponenti sa Arduinom. Kako MG995 servo motori
zahtjevaju jaču struju koja se može kretati i do 1000 mA bilo je potrebno koristiti napojnu
jedinicu koja u određenom trenutku može isporučiti minimalno 5 A jer Arduino ploča ne bi
mogla izdržati takvu konsumpciju električne struje. Na ovu napojnu jedinicu je bilo potrebno
spojiti i tri SG90 servo motora sa konsumpcijom električne struje koja u određenom trenutku
može iznositi i do 500 mA. Drugo napajanje potiče od same Arduino ploče koja je imala zadatak
napajanje RGB LED-a za indikaciju detektovane boje u procesu rada robotske ćelije. RGB LED
posjeduje 4 izlaza od kojih se 3 spaja na pinove Arduina dok je jedan izlaz zadužen za
uzemljenje. Svaki od izlaza RGB LED koji ulazi u Arduino pinove je bilo potrebno spojiti na
330 Ω otpornik. Osim servo motora, na 5V napojnu jedinicu bilo je i potrebno spojiti 4 diode čiji
je zadatak bio osvjetljenje objekta manipulacije a sve u cilju pravilne detekcije boje objekta a na
kraju i samog sortiranja.
50
Edin Muhedinović Završni rad
10.ZAKLJUČAK
Vizijski sistemi sve se više koriste u industriji gdje zamjenjuju različite kontaktne i
bezkontaktne senzore te ljudski rad. Pomoću njih procesi proizvodnje i montaže mogu se uvelike
pojednostaviti i ubrzati. Problem vizijskih sustava jest taj da je vizijski sistem toliko dobar koliko
je dobra kamera koja se koristi za akviziciju slike.
U ovom radu programiran je i eksperimentalno provjeren vizijski sistem robotske ćelije. Kao
kamera vizijskog sustava korištena je web-kamera koja se u određenim uvjetima pokazalo lošom
opremom tj. odabirom. Neki od nedostataka korištene web-kamere su: uveliko je ovisna o
osvjetljenju – bolje radi tijekom dana kada je prisutno prirodno svjetlo nego navečer i noću;
nema mogućnosti samopodešenja fokusa – moguće je pretraživati područje samo s jedne visine s
malim odstupanjima, što je loše jer je nemoguće obaviti približavanje i detaljniju inspekciju
pronađenog objekta; rezultat njene unutarnje funkcije kojom prepoznaje boje mogu biti
iskrivljene vrijednosti boja, čime se onemogućava prepoznavanje boja objekta.
51
Edin Muhedinović Završni rad
Literatura:
3. Abduli R.: Elektrohidraulički servosistemi, Vojno izdavački i novinski centar, Beograd 1988.
8. Arduino https://www.arduino.cc/
52
Edin Muhedinović Završni rad
#include <VarSpeedServo.h>
VarSpeedServo rotacioni;
VarSpeedServo servo1;
VarSpeedServo servo2;
VarSpeedServo servo3;
VarSpeedServo servo4;
VarSpeedServo servo5;
VarSpeedServo hvataljka;
int redPin=12;
int bluePin=10;
int greenPin=11;
void setup() {
pinMode(bluePin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(redPin, OUTPUT);
pinMode(13,OUTPUT);
digitalWrite(13,LOW);
dozator.attach(2);
rotacioni.attach(3);
servo1.attach(4);
53
Edin Muhedinović Završni rad
servo2.attach(5);
servo3.attach(6);
servo4.attach(7);
servo5.attach(8);
hvataljka.attach(9);
Serial.begin(9600);
delay(5);
delay(5);
delay(5);
delay(5);
delay(5);
delay(5);
delay(5);
delay(5);
54
Edin Muhedinović Završni rad
analogWrite(redPin, redValue);
analogWrite(greenPin, greenValue);
analogWrite(bluePin, blueValue);
void loop() {
if(Serial.available()>0)
digitalWrite(greenPin, LOW);
delay(1500);
delay(250);
55
Edin Muhedinović Završni rad
delay(250);
delay(250);
delay(500);
delay(500);
digitalWrite(greenPin, HIGH);
56
Edin Muhedinović Završni rad
delay(5);
delay(5);
if (data=='6')
digitalWrite(redPin, LOW);
delay(1500);
delay(250);
delay(250);
delay(250);
57
Edin Muhedinović Završni rad
delay(500);
digitalWrite(redPin, HIGH);
delay(500);
delay(5);
delay(5);
delay(5);
58
Edin Muhedinović Završni rad
delay(5);
delay(5);
if (data=='5')
digitalWrite(bluePin, LOW);
delay(1500);
delay(250);
delay(250);
delay(250);
delay(500);
59
Edin Muhedinović Završni rad
digitalWrite(bluePin, HIGH);
delay(500);
delay(5);
delay(5);
delay(5);
delay(5);
60
Edin Muhedinović Završni rad
delay(5);
delay(5);
if (data=='8')
delay(1500);
delay(250);
delay(250);
delay(250);
delay(500);
61
Edin Muhedinović Završni rad
delay(500);
delay(5);
delay(5);
delay(5);
delay(5);
delay(5);
62
Edin Muhedinović Završni rad
63