Masterproef Ontwerp en aansturing van een visiesysteem voor een industriële robot
Studiegebied Industriële wetenschappen en technologie Opleiding Master in de industriële wetenschappen: elektromechanica Academiejaar 2009-2010
Jelle Delrue
Academische bachelor- en masteropleidingen, Graaf Karel de Goedelaan 5, 8500 Kortrijk
Voorwoord Voor het behalen van het diploma Master in Industriële Wetenschappen afstudeerrichting Elektromechanica, minor Automatisering, draag ik deze masterproef voor. Het creëren van een thesis is een ernstige opdracht die veel tijd en energie vergt. Deze twee factoren zijn vaak moeilijk te combineren met een drukke academische agenda. Het is de kunst een evenwicht te vinden tussen deze verschillende taken. Soms lukt dit, soms niet. Gelukkig heb ik beroep kunnen doen op verschillende personen die mij hierbij enorm hebben bijgestaan. Daarom wil ik ook in eerste plaats mijn externe promotor dhr. Bart Wyns, uitdrukkelijk bedanken voor zowel zijn professionele als persoonlijke steun gedurende het volledige academiejaar. Dankzij de vakgroep Elektrische Energie, Systemen en Automatisering van de Universiteit Gent (UGent) kon deze thesis verwezenlijkt worden. Uiteraard dank ik eveneens mijn interne promotor ing. Tom Gurdebeke, voor zijn wetenschappelijke ondersteuning van dit eindwerk, alsook de Hogeschool West-Vlaanderen departement Kortrijk, Graaf Karel de Goedelaan en mijn medestudenten. Als laatste, maar niet het minste, een dankjewel aan mijn familie en vriendin voor de mentale ondersteuning. Deze thesis loopt als een rode draad van tijdsinvesteringen doorheen het voorbije academiejaar (2009-2010). Dit gaat van studie en ontwerp, montage, programmatie, het onder de knie krijgen van het visiesysteem, naar het realiseren van de doelstellingen. Naderhand bekeken brengt zo’n onderzoek een heleboel werk met zich mee: het concept opstellen, de nodige mensen inlichten, levertijden van fabrikanten in acht nemen, tijdsdruk en opzoekwerk. Vanzelfsprekend moet dit afgelegde traject nog in een verzameling van woorden en zinnen worden gegoten, namelijk in deze thesis. Veel leesplezier
Robotic Arm Edge Trainer Kit.......................................................................11
2.6.2
Robot arm Constructie kit (Movit).................................................................12
2.6.3
Joinmax Digital Smart Arm...........................................................................13
2.6.4
De Lynxmotion robots AL5...........................................................................14
2.7 3
Besluit...................................................................................................................16 Het visiesysteem en camera .........................................................................................17
Abstract Nowadays robot manipulators are often used in car assembly to execute a deterministic predefined action as quickly as possible. By mounting a camera on the robot arm, an increased degree of autonomy and intelligence is passed. This has a very positive impact on the deployment of robots in various application were precise localization of objects is needed. The coupling of the camera to the robot arm and the tracking of objects is further explored in this thesis. Because of cost-efficiency, this thesis only concentrates on robotic arms or manipulators, more specifically, a scale model of an industrial robot arm. The objectives of this study are two-fold. Firstly, a study of commercially available models of a robot arm and vision system will be made and a comparative analysis for different robot arm kits and cameras is performed. Secondly, a demo setup is built, which includes the necessary software to solve the problem and illustrates the approach as described in this thesis. The final objective in the context of the thesis is to demonstrate that a practical vision system on a robotic arm will be useful. For example, the arm is able to detect an object and to adjust its trajectory in relation to its initial preset position. The literature study describes general information in connection with regard to an industrial robot. This part of the thesis focuses on the robot’s history, axles, drive, control panel and the application. Also the selection of the appropriate robot arm kit is discussed. Another important choice is the of the camera component to use it in the vision system. The image process is based on image information and comprises two steps, namely image acquisition and analysis. A demo model will be built to show that the robot can follow an object. Finally, a Pick & Place application in combination with the vision system is demonstrated. Just before the robot arrives at his pre-programmed initial position (close to the object), the image processing program is started. The software controller of the robot will be able to see the error displacement and can independently adjust his trajectory by analyzing the images.
Jelle Delrue
Academiejaar 2009-2010
IV
Gebruikte symbolen en afkortingen -
PC LED SDK e.g. i.e. PWM RIOS TCP ASCII CR SSC
= Personal Computer = Light Emitting Diode = Software Development Kit = bijvoorbeeld = dat wil zeggen = Pulse Width Modulation = Robotic Arm Interactive Operating System = Transmission Control Protocol = American Standard Code for Information Interchange = Carriage Return = Seriële Servo Controller
Figurenlijst / tabellen Figuren Figuur 1: Robotarm bij transportband .....................................................................................1 Figuur 2: Mechanische eend ...................................................................................................4 Figuur 3: Overzicht van mogelijke kinematische bouwvormen ...............................................7 Figuur 4: Het PWM-signaal bepaalt de stand van de servo [5] ................................................8 Figuur 5: Een aantal commercieel verkrijgbare servo’s...........................................................8 Figuur 6: Werking van Harmonic Drive..................................................................................9 Figuur 7: Serieproductie auto's .............................................................................................10 Figuur 8: Robotic Arm Edge Trainer kit [7]..........................................................................11 Figuur 9: USB interface Velleman [7] ..................................................................................12 Figuur 10: Movit met overzicht componenten [6] .................................................................12 Figuur 11: Seriële multifunctionele I/O-controller met seriële verlengkabel..........................13 Figuur 12: Joinmax Digital Smart Arm.................................................................................13 Figuur 13: AL5DC-KT .........................................................................................................14 Figuur 14: WRU-LW............................................................................................................14 Figuur 15: Serieel naar USB kabel........................................................................................15 Figuur 16: Industriële toepassingen van visiesystemen .........................................................17 Figuur 17: Overzicht nodige elementen visiesysteem............................................................20 Figuur 18: Werking visiesysteem..........................................................................................20 Figuur 19: Overzicht toepassingen........................................................................................22 Figuur 20: Logitech webcam's [10].......................................................................................24 Figuur 21: USB-Video omvormer.........................................................................................29 Figuur 22: Draadloze cameraset [11] ....................................................................................29 Figuur 23: Montage camera op robotarm ..............................................................................30 Figuur 24: Poort instellingen robotarm .................................................................................33 Figuur 25: Lynx SSC-32 Terminal........................................................................................33 Figuur 26: SSC-32 Configuration van RIOS .........................................................................34 Figuur 27: User Interface ‘Moves/Motions’ ..........................................................................34 Figuur 28: Coördinatenstelsel robotarm ................................................................................35 Figuur 29: User Interface 'Play'.............................................................................................35 Figuur 30: Server instellen....................................................................................................36 Jelle Delrue
Academiejaar 2009-2010
VI
Figuur 31: Grafisch User Interface eigen software client.......................................................36 Figuur 32: Flowchart Pick & Place .......................................................................................38 Figuur 33: Flowchart beeldverwerking .................................................................................39 Figuur 34: Opstartscherm beeldverwerking...........................................................................40 Figuur 35: Zone van camerabeeld .........................................................................................41 Figuur 36: Grijsafbeelding van camerabeeld .........................................................................41 Figuur 37: Wazige afbeelding van grijsafbeelding ................................................................41 Figuur 38: Threshold van afbeelding ....................................................................................42 Figuur 39: Grafisch Threshold binary type............................................................................42 Figuur 40: Contour van Thresholdafbeelding........................................................................42 Figuur 41: Rand pixel detectie [16].......................................................................................43 Figuur 42: Threshold afbeeldingen met een getekende rechthoek.........................................44 Figuur 43: Grafische weergave berekening middelpunt.........................................................44 Figuur 44: User Interface beeldverwerking met gegevens voor server...................................45 Figuur 45: Grafisch user interface Demo Robotarm ..............................................................46 Figuur 46: Flowchart robotcorrectie......................................................................................47
1 Inleiding 1.1 Een industriële robot met visiesysteem In de industrie wordt hedendaags heel veel gebruik gemaakt van robots. In allerhande toepassingen en sectoren zijn ze terug te vinden. Robotarmen worden bijvoorbeeld in fabrieken gebruikt bij een transportband om onderdelen aan elkaar te lassen of om lasten te verplaatsen. Ook in de ruimtevaart, attractieparken, militaire operaties en in een huis, tuin en keuken omgeving zijn ze terug te vinden. Grasmaaiers, kinderspeelgoed, schoonmaaktoestellen etc. zijn ook robots, maar deze thesis concentreert zich enkel op robotarmen, meer specifiek een schaalmodel van een industriële robotarm. Industriële robots zijn een essentieel onderdeel in vele geautomatiseerde industriële processen. Dergelijke robots zijn geprogrammeerd om een wel bepaalde taak uit te voeren vaak met een hoge snelheid en precisie. Deze taak wordt strikt opgevolgd zonder te klagen of te staken. Maar deze taak is dan ook de enige die deze robots uitvoeren. Om de probleemstelling nader toe te lichten, kan een voorbeeld van een robotarm opgesteld bij een transportband (Figuur 1) genomen worden. Deze robot zal steeds op dezelfde geprogrammeerde plaats zijn bewerking uitvoeren. Het object waarmee / waarop een handeling wordt uitgevoerd, zal echter niet altijd dezelfde positie innemen op de transportband, bv. onder invloed van onnauwkeurigheden. Hierdoor zal de robotarm zijn handeling naast het voorwerp uitvoeren wat tevens niet de bedoeling is.
Figuur 1: Robotarm bij transportband
In vele gevallen zal dit productiefouten leveren. Hierbij kan gedacht worden aan het uitvoeren van een puntlas of een boring op een verkeerde plaats. Het gevolg hiervan is dat een operator bij het probleem wordt geroepen. Deze zal de robot resetten en terug opstarten. Hierbij zal de technieker er dan ook voor zorgen dat het te bewerken onderdeel terug in de juiste positie staat. Bij de ingreep moet de technieker er van bewust zijn dat er in een onveilige zone
Jelle Delrue
Academiejaar 2009-2010
1
gewerkt wordt. Om beide problemen (productiefouten omwille van verkeerd gepositioneerde transportband en veiligheid van de technieker) te voorkomen kan een visiesysteem op de robotarm geplaatst worden. Een modernere visie op dit probleem is de zgn. “actieve controle”. Hiermee wordt bedoeld dat de robots hun taak uitvoeren en het traject van de bewegende delen (“end effectors”) van de robot “on the fly” aangepast wordt, m.a.w. zonder de robots halt te doen houden. Aan de hand van een camera kan het traject van de robot aangepast worden. Hierdoor wordt met andere woorden een verhoogde graad van intelligentie en autonomie meegegeven met de robot en niet meer bij de sensoren van de transportband. De sturing van de robot zal dan zelf de fout kunnen zien en door analyse van het beeld zijn traject autonoom kunnen aanpassen. Voordelen van dit systeem zijn: - Geen productiefouten meer door misplaatsen van objecten - Inactiviteit van de robot zal minder vaak voorkomen - De productie zal niet worden tegengehouden - De technieker zal minder frequent (tot minimaal) bij de robot aanwezig zijn - De robot wordt ‘slim’ en kan zelf bepalen waar een werkstuk zich bevindt. - Een exacte positie van een werkstuk is nog steeds wenselijk maar niet absoluut nodig. Het spreekt voor zich dat hierbij een aantal extra problemen de kop opsteken: precieze detectie van de voorwerpen, algoritme voor de controle/sturing, efficiënte datacommunicatie en niet te versmaden het ware tijdsaspect van het geheel.
1.2 Voorstelling van het bedrijf Deze masterproef werd uitgevoerd voor de vakgroep Elektrische Energie, Systemen en Automatisering binnen de faculteit Ingenieurswetenschappen van de Universiteit Gent. De Universiteit Gent definieert zichzelf als volgt op zijn website: “De Universiteit Gent, kortweg UGent, is een van de belangrijkste universitaire instellingen in het Nederlandse taalgebied. De UGent bekleedt een eigen positie in het Vlaamse onderwijs als een open, sociaal geëngageerde en pluralistische universiteit in een internationaal perspectief.” [1] De vakgroep Elektrische Energie, Systemen en Automatisering (EESA) bestaat uit twee afzonderlijke onderzoeksgroepen: EELAB, het laboratorium voor elektrische energie enerzijds en SYSTeMS, het labo voor onderzoek naar systemen, regeltechniek en automatisering anderzijds. Deze masterproef werd uitgevoerd binnen SYSTeMS. Op zijn website beschrijft de vakgroep zichzelf:
Jelle Delrue
Academiejaar 2009-2010
2
“De vakgroep omvat twee verschillende onderzoeksgroepen: de groep Electrical Energy Laboratory (EELAB) en de onderzoeksgroep SYSTeMS. De onderzoeksgroep EELAB is actief op verschillende domeinen met als kenniscentrum elektrische energieomzetting. Zij bestuderen onder andere elektrische aandrijvingen (elektrische machines, elektronica voor de aansturing en regeling ervan), berekening van elektromagnetische velden (ontwikkeling van FE software voor deze berekeningen en de toepassing ervan op elektromagnetische toestellen), modellering en karakterisatie van magnetische materialen, elektrische hoogspanningsnetten (evenals transformatoren). De onderzoeksgroep SYSTeMS van de vakgroep EESA heeft gedurende de laatste jaren de belangen van het onderzoek op verschillende gebieden van de stabiliteit en de stabilisatie, optimalisatie van dynamische systemen, modellering en de regulering van Lagrangiaanse en Hamiltoniaanse systemen, machine learning, data mining, evolutionaire optimalisatie, synchronisatie van oscillatoren, Controle van discrete event systemen, terugkoppeling voor on-line beheer van netwerken en onnauwkeurig waarschijnlijkheden als kennis voorgesteld.” [2] Door de samenwerking met de Hogeschool West-Vlaanderen departement Kortrijk, Graaf Karel de Goedelaan die deel uitmaakt van de associatie Universiteit Gent is er de mogelijkheid om in dit instituut een masterproef en stage uit te voeren.
1.3 Doelstelling van het project Het doel van dit eindwerk is het ontwerpen en bouwen van een robotarm voorzien van een visiesysteem. Deze opstelling dient aan enkele minimum vereisten te voldoen. Belangrijk in de masterproef zijn volgende onderdelen: - Literatuurstudie - Geregistreerde beelden automatisch analyseren - Gewenste gegevens uit het beeld halen en ze gebruiken - In quasi “ware tijd” het traject van de robotarm aanpassen. - Wisselwerking tussen beeld en beweging robotarm realiseren - Proefopstelling ontwerpen om te demonstreren Bijhorende belangrijke prestatie-indicatoren zijn: - Kennis van de werking en connectiemogelijkheden van de camera - Kennis van beeldverwerking - Kennis van het aansturen van een robotarm - Kennis over synchronisatie / coördinatie beeld en beweging robotarm - Praktische uitvoering van de opstelling
Jelle Delrue
Academiejaar 2009-2010
3
Hierbij is de grote vraag hoe er gegevens uit een beeld kunnen gehaald worden en hoe ze daarna te gebruiken. Belangrijk in de masterproef is de wisselwerking tussen het beeld en de beweging van de robotarm, het aansturen van de robot en het verwerken van de beeldgegevens. Hierbij wordt een keuze gemaakt van een robot en van een visiesysteem. Ook de montage van de robot en het visiesysteem wordt in detail besproken. De einddoelstelling in kader van de masterproef is praktisch. Het kunnen aantonen dat een visiesysteem op een robotarm nuttig zal zijn. Zo zal bijvoorbeeld een voorwerp herkend worden en het traject van de robotarm aangepast worden ten opzichte van zijn initieel voorgeprogrammeerde positie. Om dit op te lossen wordt op verschillende domeinen gewerkt waarvan de twee voornaamste beeldverwerking en robotsturing. Deze masterproef is een overzicht van hoe te werk is gegaan om aan de doelstelling te voldoen.
2 Industriële robotarm 2.1 Geschiedenis robot en definitie Een wereld zonder robots klinkt ontzettend ouderwets, hoewel mechanische wezens al meer dan tweeduizend jaar oud zijn. In de tijd van de Griekse oudheid bouwen uitvinders al mechanische eenden (Figuur 2), hanen en poppen. Deze automaten zijn een basis voor de robots die vandaag de dag gekend zijn.
Figuur 2: Mechanische eend
In de 18e eeuw werden in Europa mechanische poppen gebouwd. Deze poppen waren speelgoed om kinderen te vermaken. Robots werden later vooral gebruikt bij toneeluitvoeringen en als keukenhulp. In 1801 werd door Joseph Maria Jacquard een automatisch weefgetouw uitgevonden. Het woord “robot” werd als eerste gebruikt in de jaren 1920 door de Tsjechische toneelschrijver "Karel Capek" in zijn toneelstuk R.U.R. "Rossum's Universal Robots". Het woord Robot is afgeleid van het Tsjechische woord "robota” wat verschillende betekenissen heeft zoals slavenarbeid, dwangarbeid en eentonig werk. Industriële robots werden gebouwd tijdens de jaren 1950 en 1960. Dit tijdstip valt samen met het tijdperk van de automatisering. Gedurende die tijd zag Isaac Asimov, een Russische schrijver, dat robots een grote toekomst hebben en maakte enkele basisregels voor het ontwerpen van een robot. De wetten van Robotica zijn expliciet ingebouwde, dwingende gedragsregels.
Jelle Delrue
Academiejaar 2009-2010
4
Oorspronkelijk waren er drie wetten: - Een robot mag een mens geen letsel toebrengen of door niet te handelen toestaan dat een mens letsel oploopt behalve als dit de Nulde Wet zou schenden. - Een robot moet de bevelen uitvoeren die hem door mensen gegeven worden, behalve als die opdrachten in strijd zijn met de Nulde Wet of de Eerste Wet. - Een robot moet zijn eigen bestaan beschermen, voor zover die bescherming niet in strijd is met de Nulde, Eerste of Tweede Wet. Later kwam een nulde wet bij. Deze naam werd zo gekozen zodanig omdat de wet boven de eerste staat. Deze wet had gevolgen voor de andere wetten. De aanpassingen zijn hierboven terug te vinden in een grijze kleur. Deze wetten worden nog steeds gebruikt in de roboticaindustrie. - Een robot mag geen schade toebrengen aan de mensheid, of toelaten dat de mensheid schade toegebracht wordt door zijn nalatigheid. De meeste mensen kennen robots echter uit de sciencefiction, zoals in boeken of films. Vaak hebben deze robots een lichaam dat lijkt op dat van een mens (al dan niet gemaakt uit metaal), en een vergaande vorm van kunstmatige intelligentie als beslissingsmodel. Dergelijke robots die op mensen lijken worden ‘humanoïde robots’ genoemd. Als robots niet of nauwelijks van mensen te onderscheiden zijn, wordt gesproken van androïden. Een wezen welk gedeeltelijk bestaat uit organische en mechanische onderdelen wordt Cyborg genoemd. Mensen worden wel eens beticht van robotachtig gedrag, wat emotieloos inhoud, wat robots ook zijn. [3] Door de geschiedenis heen zijn heel wat filosofische vragen ontstaan. - Is de maatschappij er wel klaar voor dat overal robots verschijnen? - Mogen robots wel als slaven behandeld worden? - Kan een robot menselijk zijn? Zullen mensen robots worden? - Worden robots aantrekkelijk voor de mensen? - Wat met robotten met emoties? Kunnen robots moreel leren leven? - Worden ze misschien zelfs onze liefdespartners? Of zijn ze te eng en onnatuurlijk? - Is een robot ook maar een mens? Conclusie: Het ontwikkelen van robots moet voorzichtig en geleidelijk gebeuren. Veel van deze vragen werden maar gesteld eens ze er zijn, m.a.w. veel te laat. Veel mensen denken, bij het horen van het woord ‘robot’ aan een soort pop, een mens voor zich. Maar dat is niet zo! Een robot kan een soort auto zijn, een insect, een hond, … Een robot is een machine, tot nu toe door de mens gemaakt, die beschikt over een stoffelijke vorm ('lichaam') en een beslissingsmodel (programma). Dit beslissingsmodel kent nagenoeg altijd een structuur van waarneming en een daarop volgende reactie. De tak van de wetenschap die zich hierin verder verdiept en op onderzoek gaat in verband met het ontwikkelen en het besturen van robots heet robotica. [3]
Jelle Delrue
Academiejaar 2009-2010
5
Van eenarmige fabrieksrobots tot humanoïde’s, robots zijn alomtegenwoordig. Toch staat het onderzoek naar robots na tientallen jaren eigenlijk nog steeds in de kinderschoenen. Tot de dag van vandaag is er toch al heel wat gerealiseerd maar als er gedacht wordt aan het zo getrouw mogelijk nabootsen van menselijke bewegingen/gedragingen is er inderdaad nog wat werk aan de winkel. Een industriële robotarm kan ook gedefinieerd worden als een programmeerbare machine, die meerdere en verschillende taken kan uitvoeren. In de praktijk betekent dit dat een robot voor verschillende producten kan worden ingezet, waar een numerieke machine slechts een (deels variabele) taak kan uitvoeren. De robot heeft de mogelijkheid om te wisselen van gereedschap/grijper, om verschillende taken en controles uit te voeren en meldingen aan de gebruiker door te geven. [3] Al deze handelingen kunnen uitgevoerd worden terwijl een robot niet steeds bediend moet worden. De belangrijkste drijfveren voor het invoeren van robots kan onderverdeeld worden in zes onderling samenhangende punten: - Vervangen van menselijke arbeid - Elimineren van onaangenaam werk (zogenaamde service robots) - Besparing op de arbeidskosten - Elimineren van de onzekerheden rond menselijke arbeid - Verbetering van de productiviteit - Betere kwaliteitsbeheersing
2.2 Assen van een robotarm De toepassingsmogelijkheden en de flexibiliteit van een robotarm worden, naast de mogelijkheden die de besturing biedt, hoofdzakelijk bepaald door het werkgebied van de robotarm, het draagvermogen, de bewegingsmogelijkheden en de nauwkeurigheid Iedere toepassing stelt weer andere eisen aan het robotsysteem. Dit heeft als gevolg dat er een groot gamma aan uitvoeringsvormen op de markt beschikbaar zijn. Een robotarm is een mechanische manipulator met vergelijkbare functionaliteit als een menselijke arm. Een robotarm bestaat uit een aantal segmenten dat met elkaar verbonden is door gewrichten, en waartussen translaties (T) en/of rotaties (R) mogelijk zijn. Deze delen vormen samen een kinematische keten. De wijze waarop de onderdelen met elkaar verbonden zijn en hoe ze onderling kunnen bewegen bepaalt het aantal vrijheidsgraden van de robotarm [3]. Een classificatie op basis van de drie hoofdassen van de robot leidt tot een indeling zoals in Figuur 3 wordt aangegeven.
Jelle Delrue
Academiejaar 2009-2010
6
Figuur 3: Overzicht van mogelijke kinematische bouwvormen
Om niet alleen de positie van een voorwerp in de ruimte te kunnen veranderen, maar ook de oriëntatie, zijn er nog extra vrijheidsgraden nodig. Deze vrijheidsgraden, gelegen in de pols van de robotarm, bestaan allemaal uit rotaties. Aan het einde van de robotarm bevindt zich het gereedschap waarmee de robot een taak kan uitvoeren, zoals iets vastnemen, verplaatsen of draaien.
2.3 Aandrijving De mechanische aandrijving bij robots wordt verzorgd door kleine elektromotoren of perslucht. In de meeste toepassingen worden servomotoren als aandrijving gebruikt. Bij de servosystemen worden onder andere elektrische en hydraulische servomotoren gebruikt. Voor iedere vrijheidsgraad van een robot is een aandrijfsysteem nodig. De aandrijving bestaat uit: - Een aandrijfmotor met bijhorende energiebron - Een overbrenging, die kan bestaan uit tandwielen, tandriem- overbrengingen of, veel gebruikt bij robots, een harmonic drive - Bij lineaire bewegingsassen: een omzetting van rotatie naar translatie door middel van een schroefspil Bij de robots zijn vrijwel alleen elektrische servosystemen aanwezig. Alleen in speciale toepassingen worden hydraulische servosystemen gebruikt. Pneumatische systemen worden niet ingezet voor toepassingen met servosystemen vanwege de samendrukbaarheid van lucht. In de behuizing is er vaak een reductie (Harmonic Drive) aanwezig.
2.3.1 Servo’s Een servomechanisme is een apparaat om automatisch een mechanisch systeem te regelen, zonder directe mechanische verbindingen. Deze verbinding kan elektrisch gebeuren. Het servomechanisme gebruikt het concept van terugkoppeling uit de regeltechniek. De output van het mechanisme is een functie van het verschil tussen de gewenste en de gemeten stand van het mechanisch systeem, op een zodanige manier dat de fout bijgewerkt wordt.
Jelle Delrue
Academiejaar 2009-2010
7
De servo’s die gebruikt worden in het schaalmodel, mogen niet verward worden met de industriële servomotoren. Het zijn kleine DC motoren met een uitgaande as met een daaraan gekoppelde potentiometer en regelelektronica. (Figuur 5) Deze motoren zijn bijzonder compact. Ze kunnen niet continu draaien, maar hebben een zekere werkhoek. De as kan via het versturen van een gecodeerd signaal op een specifieke hoekpositie geplaatst worden. Als het gecodeerde signaal verandert zal de hoekpositie van de as veranderen. In de servo wordt een referentiesignaal opgewekt. Deze verwachten een PWM-signaal (Pulse Width Modulation Signal) en vergelijken voortdurend het stuursignaal met het referentiesignaal. Als het circuit van oordeel is dat de hoek niet juist is, zal blijken dat de motor in de juiste richting draait tot de gewenste hoek bereikt wordt. M.a.w. zodra er een verschilsignaal is, laat de regelaar de motor linksom of rechtsom draaien. Hierdoor wordt de potentiometer aangepast en dus ook het referentiesignaal. Zodra het verschilsignaal nul is, stopt de servomotor, en houdt de servo die positie aan. Afhankelijk van de pulsbreedte van het signaal nemen de servo’s een bepaalde hoekpositie in (Figuur 4). [4][5] De hoeveelheid stroom op de motor is evenredig aan de af te leggen afstand. Als de as een grote afstand moet afleggen, zal de motor op volle snelheid draaien. Als de afstanden klein zijn, zal de motor draaien op een lagere snelheid. Deze regeling wordt ook de proportionele regeling genaamd. Het voordeel van deze regeling is dat de uitslag beperkt kan worden en traploze regeling mogelijk is. De hoek wordt bepaald door de duur van een puls (Figuur 4). De overeenkomsten tussen de pulslengte en de hoek is servo en product afhankelijk. Bij de gebruikte servo’s is er geen terugkoppeling/feedback over hun hoekstand naar de controller.
Figuur 4: Het PWM-signaal bepaalt de stand van de servo [5]
Figuur 5: Een aantal commercieel verkrijgbare servo’s
Jelle Delrue
Academiejaar 2009-2010
8
2.3.2 Harmonic drive Deze reductor is relatief onbekend. Oorspronkelijk komt de harmonic drive uit het toepassingsgebied van de robotica. Daar wordt de Harmonic drive gebruikt om het hoge toerental van een servomotor om te zetten in de zwaaibeweging van een robotarm. Door zijn heel grote reductie (vb. 300:1 in één trap) wordt deze reductor weinig gebruikt in lineaire positioneerapplicaties. Toch kan deze reductor de oplossing zijn in sommige specifieke gevallen. De werking kan afgeleid worden uit Figuur 6. De harmonic drive bestaat principieel uit drie onderdelen: een vaste uitwendige schijf met inwendige vertanding, een ingangsas en een flexibele uitgangsas met uitwendige vertanding (aansluitend rond de ingangsas). De uitgangsas bevat enkele tanden minder dan de vaste schijf. Door het ingrijpen in de uitwendige schijf en het vervormen rond de ingangsas verdraait de uitgangsas het aantal tanden dat het minder heeft dan de vaste schijf bij een omwenteling van de ingangsas. De reductie is afhankelijk van de verhouding van het aantal tanden van de vaste schijf en de uitgangsas.
Figuur 6: Werking van Harmonic Drive
2.4 Besturing en bedieningspaneel Omdat er zoveel verschillende robotconfiguraties zijn, is er ook een grote verscheidenheid aan uitvoeringen van besturingssystemen. Deze software wordt veelal meegeleverd met de robotarm zelf. Aan programmeersystemen kunnen volgende algemene eisen gesteld worden: - de programmeertechniek moet eenvoudig aan te leren zijn - gebruiksvriendelijkheid & samenwerking met andere machines en apparatuur - bewerkmogelijkheden - structurering & universeel karakter Veelal gebeurt het in de industrie dat een robot in zijn algemene term bediend wordt van op afstand. Dit via een bedieningspaneel waarop geprogrammeerd wordt. Dit bedieningspaneel is draagbaar en bevat alle nodige functies om cyclussen, stappen, bewegingen en commando’s in te voeren. Deze software kan ook terug gevonden worden op een computer om vanaf een
Jelle Delrue
Academiejaar 2009-2010
9
vaste plaats de applicatie te programmeren. In vele gevallen kan de robot ook gestuurd worden vanuit diezelfde computer. Het draagbare bedieningspaneel is vaak toch nodig om de robot te bedienen, omdat alle knopen, schakelaars en indicaties daar voorhandig zijn. Dit bedieningspaneel verhoogt de veiligheid bij het bedienen van de robot. Hierdoor kan de operator zijn positie aanpassen en zich indien nodig dichter bij de robot plaatsen om zodanig een overzicht te behouden voor een correcte programmering. Deze nauwkeurigheid kan niet bereikt worden door van op een vaste plaats op afstand de handeling uit te voeren.
2.5 Toepassingen Het bekendste toepassingsgebied van een industriële robotarm is de industrie. Ze worden ingezet bij productie van goederen om het proces te automatiseren. Robotarmen worden bijvoorbeeld in fabrieken gebruikt bij een transportband om onderdelen aan elkaar te lassen of om zware lasten te verplaatsen. Robotarmen worden ook gebruikt in de ruimtevaart om bijvoorbeeld taken uit te voeren bij onbemande ruimtetuigen. Ook worden tegenwoordig robotarmen gebruikt in attractieparken, militaire operaties en in het huishouden (ouderenzorg en beveiliging). Voor de verschillende taken van een robot bestaan er verschillende grijpers. Sommige hebben drie of meer vingers om iets te kunnen opnemen/vasthouden, anderen een schroevendraaier, een lasapparaat of een pons. [3] Industriële robots zijn vaak de meest eenvoudige robots uit de robotfamilie. Hoewel ze er zeer divers uit zien beschikken ze allemaal minimaal over deze vijf onderdelen: sensoren, effectoren, actuatoren, processoren en armen. De fabrieksrobots hoeven ook niet ingewikkeld te zijn. Ze krijgen immers één specifieke taak om op te knappen die vaak bestaat uit één enkele handeling. Maar die handeling moet wel telkens op dezelfde, perfecte manier worden uitgevoerd.
Figuur 7: Serieproductie auto's
Dit soort industriële robots zijn terug te vinden op de meest uiteenlopende plaatsen: bij het laden en lossen van containerschepen tot in medische toepassingen zoals het routinematig behandelen van keelkanker. Ze bouwen auto’s (Figuur 7), bespelen muziekinstrumenten en verkennen zelfs andere planeten.
Jelle Delrue
Academiejaar 2009-2010
10
2.6 Robotarm bouwpakketten Aan de andere kant zijn robotbouwpakketten populairder dan ooit. Vooral in Japan, waar voor fanatieke robotbouwers kampioenschappen worden georganiseerd met verscheidene disicpline’s zoals robotvoetbal, dans en gevecht. Deze kampioenschappen zijn een leuk voorbeeld van uiteenlopende taken waarvoor robots geschikt zijn. [14] Om een robotarm met een camera te voorzien, zijn enkele basismaterialen nodig. Om te beginnen is hiervoor een robotarm en een camera nodig. Op de markt (online te bestellen) worden robotarmen in kitvorm teruggevonden om na bestelling zelf te assembleren. Het ontwerpen van een robot is dus niet nodig. Mogelijke robotkits zijn hieronder voorgesteld met hun belangrijkste punten. Hieruit kan dan besloten worden welke robotarm het beste systeem is voor het project. Een minimum vereiste is dat de robot via een computer programmeerbaar is. Hierbij wordt een kit gezocht die zo dicht mogelijk bij een werkelijke industriële robotarm aanleunt. Het ideale zou een professionele industriële robot zijn (Producenten zoals Kuka, Fanuc, ABB…) als deze geen veel duurder prijskaartje zou hebben. De speelgoedmodellen worden achterwege gelaten en er wordt enkel gekeken naar bouwpakketten voor semiprofessioneel gebruik.
2.6.1 Robotic Arm Edge Trainer Kit Aan de hand van commando’s kan de grijper geopend en gesloten worden, de robothand 120 graden worden rondgedraaid, de elleboog 300 graden, en de basis 270 graden roteren. In totaal zijn vijf servo’s aanwezig. In de grijper is een zoeklicht geïntegreerd. Om deze robot te besturen, wordt gebruik gemaakt van een controller die verbonden is via draden. Deze afstandsbediening bevat vijf schakelaars om de vijf motoren te bedienen (Figuur 8). -
Assemblage grootte: 23cm x 16cm x 38cm Verticale reikwijdte: 38 cm Horizontale reikwijdte: 32 cm Gewicht van de eenheid: 658g Maximaal hefgewicht: 100 gram Nodige batterijen: 4 x 'D'
Figuur 8: Robotic Arm Edge Trainer kit [7]
Jelle Delrue
Academiejaar 2009-2010
11
Bij deze robot kan een USB interface kit KSR10 (Figuur 9) aangekocht worden. Aan de hand van de geleverde software kan de robot aangestuurd worden via de PC.
Figuur 9: USB interface Velleman [7]
2.6.2 Robot arm Constructie kit (Movit) De vijffunctie robotset introduceert de fundamenten van robotachtige bewegingen. Niet alleen is het stevig en krachtig gemaakt, maar verhinderd beschadiging van zichzelf doordat het ontworpen is uit polycarbonaat en alles afgeschermd is. De robotarm wordt geleverd als een zelfbouwpakket (Figuur 10). LED-verlichting in de transparante behuizingen van de robotarm signaleren welke actor (motor) op het moment precies actief is. Deze robotarm wordt geleverd met een vijfschakelaars bedieningspaneel waarmee alle onderdelen van de arm gecontroleerd kunnen worden. Deze kit verbruikt 300mA (4 x D batterijen) en heeft een maximum hefvermogen van 130 gram. Grootte: maximaal uitgestrekte hoogte is 510 mm, reikwijdte van 360 mm.
Figuur 10: Movit met overzicht componenten [6]
Optioneel kan de robotarm ook met de PC worden bestuurd en geprogrammeerd. Nodig daarvoor is een controller (de seriële multifunctionele I/O-controller) die als afgewerkt apparaat of als bouwpakket leverbaar is (Figuur 11). De meeste interfaces connecteren met de printerpoort.
Jelle Delrue
Academiejaar 2009-2010
12
Figuur 11: Seriële multifunctionele I/O-controller met seriële verlengkabel
De robotarm interface kit verbindt de Robotic Arm Trainer aan de computer via de printerpoort. De software voor de interface laat ‘real time’ controle toe en bevat een ingebouwd programma die het schrijven tot maximaal 99 individuele robotarm functies toelaat (inclusief pauzes). De programma’s kunnen geopend en opgeslagen worden net zoals gelijk welk ander standaard computerbestand. De Robotic Arm PC interface creëert een plezierige leerweg en experimenteel te werken met computergestuurde automatisering. De mogelijkheid bestaat ook om een kabel te kopen die een printerpoort interface omzet naar een usb aansluiting. (zie Lynxmotion)
2.6.3 Joinmax Digital Smart Arm Een wat gesofisticeerde robot dan de Movit is de Joinmax Digital Smart robot (Figuur 12). Deze bezit zeven miniservomotors, waardoor zes vrijheidgraden aanwezig zijn. Samen met de controlekaart kan de servo’s aangestuurd worden via de pc. Deze arm heeft een hefgewicht van 300gram en bij opstarten 85gram. Het koppel van de servomotoren bedraagt 3 kg.cm. De reikwijdte van de robotarm is ongeveer 30cm.
Figuur 12: Joinmax Digital Smart Arm
Jelle Delrue
Academiejaar 2009-2010
13
2.6.4 De Lynxmotion robots AL5 De Lynxmotion AL5-serie bestaat uit 4 modellen van vijf assige aluminium robotarmen. Door het gebruik van aluminium en krachtige servo's kan deze arm zwaardere voorwerpen tillen dan de oude Lynx armen. De robotarm biedt snelle en nauwkeurige bewegingen die continu herhaald kunnen worden. De vijf assen zorgen voor een bewegingsvrijheid waardoor ze toepasbaar zijn in vele applicaties. De bewegingen worden mogelijk gemaakt door Hitec servomotoren. De motoren worden aangestuurd door een PC of een microcontroller. [8][9] Robotic Arm Combo Kit AL5 bouwpakket bestaan uit: - Robotarm aluminium onderdelen - grijper - Draaibare basis met houder voor de elektronica - Hitec servo’s - SSC-32 Servo Controller - Seriële Data Kabel - RIOS Arm Controle Software - Europese voeding AL5DC-KT: AL5D Robotic Arm Combo Kit (Figuur 13)
Aantal assen = 4 + grijper, optioneel draaibaar Hoogte = 48,6 cm Bereik = 26,2 cm Grijperopening = 3,2 cm Hefgewicht = 360 gram
€ 387,70 (€ 461,36 incl. btw) Figuur 13: AL5DC-KT
WRU-LW: Arm Wrist Rotate Upgrade (Light Weight) De arm kan met mechanica en een servo uitgebreid worden, zodat de grijper draaibaar wordt (Figuur 14). € 27,07 (€ 32,21 incl. btw) Figuur 14: WRU-LW
Jelle Delrue
Academiejaar 2009-2010
14
Op dit model bestaan verschillende varianten die zich uitten via een lichter draagvermogen en een kleinere reikwijdte. De voorgestelde variant heeft de grootste reikwijdte en het grootste draagvermogen aanwezig tussen de verschillende robotarmen. De USB-RS232 interfacekabel van FTDI/EasySync is ideaal voor het aansluiten van een seriële randapparatuur op de USB-poort van de computer. Deze omzetter biedt het juiste RS232 spanningsniveau, is geschikt voor industriële toepassingen en ondersteund hardware en software stappencontrole. De omzetter is geschikt voor alle toepassingen die werken met de COM-poort van de computer. Er kunnen meerdere op één PC worden aangesloten, waarbij iedere omvormer zijn eigen COM-poort nummer kan krijgen. Zo zijn er nog enkele voorbeelden om RS232 toepassingen aan te sluiten aan een computer, zoals de Parallax ‘USB to Serial (RS-232) adapter’. De UC232R-10 Economy/Budget kabel (Figuur 15) heeft een kabellengte van 100 cm en kost ongeveer € 41,65. Deze kabel is voorzien van LED’s voor de indicatie van het zenden en ontvangen.
Figuur 15: Serieel naar USB kabel
Jelle Delrue
Academiejaar 2009-2010
15
2.7 Besluit Aangezien er binnen de UGent nog niet veel kennis aanwezig is betreffende een robotarm met visiesysteem, wordt gestart met een basisuitrusting die onderstaande verwachtingen moet inlossen: - De industriële robot moet eenvoudige bewegingen kunnen uitvoeren, i.e. dat een traject gevolgd kan worden - De robotarm is een bouwpakket, i.e. geen al te zware gewichten kunnen getransporteerd worden zoals bij een industriële robot - Aansluiting van PC naar robot moet mogelijk zijn - De robot moet bestuurbaar zijn vanaf een computer - De robot moet eenvoudig te programmeren zijn - De camera zal op de robotarm gemonteerd worden De meeste robots worden gemanipuleerd met een aangeboden controller of met manuele bediening. De keuze is al snel gevallen dat het een robot van Lynxmotion wordt. Dit door hun meegeleverde software met de mogelijkheid om eenvoudig te programmeren via de computer. Onder deze vorm zijn dan nog steeds verschillende bouwvormen mogelijk. De robot zou van op afstand moeten kunnen kijken waar het product zich bevindt. Deze positie moet dan ook haalbaar zijn voor deze robot. Daardoor wordt gekozen voor een robot dat een redelijk grote reikwijdte bezit. De robot zou ook moeten beschikken over voldoende draagvermogen, omdat een visiesysteem op de robotarm moet gemonteerd worden. Hoewel dit maar een klein gewicht wordt, kan dit toch doorslaggevend zijn. Hierdoor zal zijn maximale hefgewicht groter mogen zijn. De robot die voor deze toepassing zal gebruikt worden is de AL5D met de WRU-LW arm waarbij het groter hefgewicht van de robot doorslaggevend was. Deze heeft dan ook de grootste reikwijdte die aangeboden was onder de robotarmkits.
Jelle Delrue
Academiejaar 2009-2010
16
3 Het visiesysteem en camera Machine visie is een kapstok term die wordt gebruikt voor verschillende types van visiesystemen. Algemeen wordt een machine visiesysteem gebruikt in een geautomatiseerd proces om afbeeldingen uit een industriële omgeving te analyseren aan de hand van een wiskundig model. Dit is een deelgebied van techniek dat computerwetenschappen, optica, machinebouw en industriële automatisering omvat. Het doel van een inspectie machine visiesysteem is meestal om te controleren op de naleving van een proefstuk aan bepaalde eisen, zoals voorgeschreven afmetingen, serienummers, aanwezigheid van componenten, enz. [13] Machines de mogelijkheid geven om te “zien” – machine visie – is een van de sterkst groeiende en snelst evoluerende automatiseringstechnologieën van dit moment. De (economische) nood aan vergaande procesautomatisering, e.g. bij automatische zero defect kwaliteitsbewaking van productielijnen en bij geavanceerde roboticaprojecten, is een drijvende kracht achter deze groei. Enkele industriële voorbeelden van een robotarm waar een visiesysteem nuttig is, worden voorgesteld in Figuur 16. De technologie is nog steeds zo ‘matuur’ dat ze een ongekend groot scala aan nieuwe toepassingsmogelijkheden blijft openen.
Figuur 16: Industriële toepassingen van visiesystemen
3.1 Geschiedenis Machine visiesystemen voor de industrie kwamen voor het eerst onder serieuze aandacht in het midden van de jaren zeventig. In de jaren tachtig ontwikkelden machine visiesystemen langzaam, onder impuls van academische onderzoeken, maar er was slechts een beperkte interesse van de industrie. In het midden van de jaren tachtig kwam de grote boost in de ontwikkeling en interesse in machine visiesystemen. Deze boost kwam er door de grote
Jelle Delrue
Academiejaar 2009-2010
17
interesse van Amerikaanse autofabrikanten (General Motors, Ford, Chrysler...). Daarna kwam een periode van ontgoocheling in de Verenigde Staten door een groot aantal kleine bedrijven die de invoering van het visiesysteem niet overleefden. In de late jaren tachtig en vroege jaren negentig groeide de interesse opnieuw, grotendeels door de vooruitgang die werd gemaakt in snelle beeldverwerking en processing hardware. Midden de jaren negentig wordt de rol van de algemene processor herzien en vervangen door een RISC processor, welke een hogere processor snelheid biedt op een standaard platvorm die vandaag de dag nog steeds gebruikt worden. Vanaf deze periode is het visiesystemen vertegenwoordigd in alle grote sectoren van de productie industrie. Een van de redenen voor de momentele groei van machine visiesystemen in de procesindustrie is de dalende kost van de computer. Dit heeft geleidt tot een spreiding van technologie en maakt het mogelijk voor middelgrote bedrijven de stap naar machine visiesystemen te maken. [17]
3.2 Definitie Er bestaan een aantal definities voor machine visie. Een mogelijke definitie is: De automatische, contactloze verwerving van beelden en hun analyse om zo de gewenste gegevens te controleren voor gebruik in een proces of activiteit. In deze zin worden enkele belangrijke sleutelwoorden samengevat die de betekenis van de machinevisie benadrukken: - Beelden: deze vormen de basis van een machine visiesysteem - Verwerving en analyse: beide zijn belangrijke stappen om nuttige informatie uit geregistreerde beelden te halen. Voorbeelden hiervan zijn het wegfilteren van ruis, detectie van contouren en textuur, etc. - Contactloos: Geen behoefte aan mechanisch contact om het voorwerp te inspecteren is één van de voordelen van een visiesysteem. - Gewenste gegevens: Het ontwerp van een visiesysteem gebeurt met een zeer duidelijk doel. Visiesystemen zullen zelf belangrijke gegevens kunnen selecteren, maar tot die tijd is het nodig om de gewenste gegevens te leveren aan het visiesysteem. - Controleren: de output van het systeem dient om andere activiteiten te beïnvloeden. Zo is het mogelijk om een onderdeel te inspecteren op fouten en afwijkingen of zijn exacte positie bepalen.
Jelle Delrue
Academiejaar 2009-2010
18
3.3 Waarom visiesysteem In de industrie worden visiesystemen gebruikt in plaats van andere traditionele sensoren en meetapparatuur vanwege de unieke capaciteiten die traditionele hulpmiddelen niet bezitten. Stel dat er op een transportband 120 onderdelen per minuut voorbij komen waarvan telkens de afmetingen worden bepaald. Dit zal met traditionele meetapparatuur zoals een schuifmaat niet mogelijk zijn. De gewenste snelheid om in een korte tijd elk onderdeel te meten, is niet haalbaar. Ook schade door mechanisch contact kan een gevolg zijn. Bovendien hebben visiesystemen een beter meetnauwkeurigheid dan traditionele meetapparatuur. Machine visie is dus een van de technieken die de handmatige inspectie vervangt of aanvult met digitale camera’s. Om een machine visiesysteem te integreren in een applicatie moet de vraag worden gesteld, is machine visie nodig om het probleem op te lossen? Verschillende indicatoren helpen hierbij: - is de applicatie op te lossen met visie? - is er een financiële reden voor investering in machine visie? - is er een budget voor het project? - welke visietechnologie moet er worden gebruikt? - hoe kan het systeem worden geïmplementeerd? - welke problemen kunnen er ontstaan? Aan de hand van deze eenvoudige vragen kunnen de voor- en nadelen van een specifieke implementatie van een visiesysteem onderzocht worden. Indien de bekomen implementatie aantoont dat een visiesysteem zal opbrengen bij de bestudeerde toepassing, dan wordt er best overgestapt op het gebruik van een visiesysteem.
3.4 Opbouw visiesysteem Machine visie is een tak van engineering dat verschillende onderdelen omvat zoals, computertechnologie, optica, mechanische engineering en industriële automatisering. Juist zoals menselijke inspecteurs, gaat machine visie de kwaliteit, toestand, bereikbaarheid, eigenschap van het product controleren aan de hand van digitale camera’s, smart camera’s en beeldverwerking met software. [3] Moderne visiesystemen zijn opgebouwd uit één of meerdere van de volgende componenten (Figuur 17): - digitale of analoge zwart-wit of kleuren camera’s met geschikte lenzen en filters - belichting - microprocessor - computer software: om de beelden te analyseren en metingen uit te voeren - synchronisatie sensor: voor het starten van de beeldopnamen - digitale I/O hardware (RS-232): om de resultaten door te sturen
Jelle Delrue
Academiejaar 2009-2010
19
Figuur 17: Overzicht nodige elementen visiesysteem
3.5 Werking Onderstaand schema (Figuur 18) toont het functioneren van een machine visiesysteem en is gebaseerd op het verwerven van beelden en het analyseren. Beeldverwerving gebeurt altijd in 3 stappen: 1. De vorming van het beeld. Dit gebeurt door de belichting en bijhorend lenzenstelsel 2. Detecteren van het beeld. Dit is de functie van de beeldsensor in de camera 3. Omzetten van het analoge beeld naar digitale waarden door een processor
Figuur 18: Werking visiesysteem
Beeldanalyse bestaat uit 4 stappen. In sommige toepassingen zijn niet alle stappen noodzakelijk en worden de stappen niet altijd in dezelfde volgorde doorlopen.
Jelle Delrue
Academiejaar 2009-2010
20
De 4 stappen zijn: 1. Voorverwerking van de beelden. Het digitaal beeld wordt verbeterd zodat het beeld kan overgaan naar een volgende stap, e.g. het filtreren van ruis in een beeld. 2. Opdeling (segmentatie) van de beelden in kleine deeltjes/ regio’s/ segmenten. Elk deeltje bevat maar 1 object van het totaal beeld, wat de volgende stap makkelijker maakt. 3. Het bepalen van eigenschappen van de objecten in de beeldsegmenten. Visiesystemen kunnen eigenschappen bepalen zoals de grootte, de kleur en positie van het voorwerp of object. 4. Eigenschappen analyseren voor het bepalen van de output van het visiesysteem, e.g. het goed- of afkeuren van een voorwerp.
3.6 Toepassingsgebieden Eén van de domeinen waar zeer frequent machine visie wordt gebruikt is de inspectie van geproduceerde goederen in de auto-industrie, farmaceutica, voedingsindustrie. Het hoofdtoepassingsgebied voor industriële visiesystemen worden aangetroffen in de automatische inspectie en metingen. Bovendien zorgen kwaliteit gerelateerde controleapplicaties zoals inspectie, meting en herkenning voor meer dan de helft van de machine visie markt. Figuur 19 toont nog een uitgebreid overzicht van de mogelijkheden van een machine visiesysteem. [12] - Bepaling van locatie en oriëntatie: Het visiesysteem kan de positie van een voorwerp op een transportband nauwkeurig bepalen. - Afmetingen: Hier zit het groot verschil tussen een visiesysteem en het menselijk oog. Het oog kan enkel een ruwe schatting maken van de afmetingen van een voorwerp, terwijl visiesystemen de afmetingen zeer nauwkeurig (tot op enkele honderdsten van een millimeter) kunnen bepalen, dit bij een hogere snelheid. - Foutdetectie: Visiesystemen zijn in staat om fouten aan een onderdeel op te sporen. - Verificatie: Visiesystemen kunnen ontbrekende onderdelen opsporen en kunnen gemakkelijk controleren als bijvoorbeeld een dop/sluitstuk al dan niet aanwezig is op een fles. - Identificatie: Visiesystemen identificeren voorwerpen door het uitvoeren van optische karakterherkenning of door het lezen van 2D-codes. - Herkenning: Het is mogelijk om onderdelen te herkennen op basis van hun vorm en andere karakteristieken. - Volgen van voorwerpen: Het detecteren van bewegingen van voorwerpen doorheen het beeld. Op die manier worden robots voorzien van belangrijke informatie, zodat die correct worden gestuurd naar het voorwerp toe.
Jelle Delrue
Academiejaar 2009-2010
21
Figuur 19: Overzicht toepassingen
3.7 Voordelen Visiesystemen worden tegenwoordig meer en meer gebruikt. Dit komt omdat ze belangrijke voordelen realiseren ten opzichte van andere systemen. Een visiesysteem realiseert echter niet alle voordelen tegelijk. Wanneer de keuze gemaakt wordt om een machine visie systeem te gebruiken zijn volgende voordelen zeker aan de orde: - dalende arbeidskosten (manuele arbeidskosten zijn vaak hoger dan visiesystemen) - vermindering van productiekosten - verhoging van productierendement en productiesnelheid - verbetering van procescontrole - verbetering van productkwaliteiten, nauwkeurigheden door geen mechanisch contact - verbeterd materiaalmanagement - beter gebruik van het kapitaal - verbetering in de werkomstandigheden - technologische vooruitgang, uitbreidbaarheid - Reduceren ontwerpkosten bij nieuwe ontwikkeling
Tegenover al deze mogelijke voordelen staan ook nadelen. De verwerkingssnelheid van de beelden kan een doorslaggevende factor zijn alsook de kostprijs van een visiesysteem. Dit door hoogtechnologische apparatuur die nodig is om de verwerkingssnelheid zo hoog mogelijk te krijgen.
Jelle Delrue
Academiejaar 2009-2010
22
3.8 Camera’s en toebehoren Het selecteren van een camera is een niet zo voor de hand liggende taak. Er is een grote verscheidenheid van soorten camera's en het kiezen van de beste is niet steeds eenvoudig. Om de juiste camera te kiezen, is het definiëren van de camera eisen belangrijk die resolutie, gevoeligheid, kleur, camera-interface, software overwegingen, enz. omvatten. [15] Resolutie: De laagste resolutie wordt gekozen die zal voldoen aan de eisen. Dit is belangrijk voor een aantal redenen. Ten eerste, hoe hoger de resolutie, hoe meer beeldverwerking en verwerking van hoge resolutie er uitgevoerd moet worden door de computer, terwijl ze beter gebruikt worden voor het uitvoeren van de machine visiefuncties. Hiermee wordt bedoeld dat bij een hoge resolutie heel wat data uitgewisseld wordt tussen de camera en de computer waardoor niet alleen de tijd nodig is om het beeld in te lezen, maar ook de duurtijd van alle operaties nadien sterk zal oplopen. Anderzijds is het wel zo dat de resolutie moet toelaten de gewenste textuur/contour/etc. te kunnen detecteren met een voldoende nauwkeurigheid. Gevoeligheid In bijna alle toepassingen is een hogere gevoeligheid beter. Hogere gevoeligheid betekent dat kortere belichtingstijden, lagere gain-instellingen en goedkopere optica kan gebruikt worden. Kortere blootstellingtijden zijn erg belangrijk in bewegende toepassingen. Kleur: Indien een zwart-wit beeld voldoende informatie biedt om het probleem op te lossen, wordt er beter een zwart-wit camera gekocht wegens de beperkte omvang van de beelden. Het gebruik van kleur voegt een niveau van complexiteit toe dat moet worden vermeden, tenzij de toepassing kleur echt nodig heeft. Kleurencamera's produceren grotere hoeveelheden data dan zwart-wit camera’s en hierdoor ook meer beeldverwerkende lasten. Interface: Het kiezen van een camera op basis van deze eis betekent soms minder integratieen onderhoudskosten. Software: Er zijn eigenlijk twee categorieën van software. De eerste categorie is het gebruik maken van een visiesoftware pakket om de visie taak te vervullen. Een tweede mogelijkheid is een software development kit (SDK) gebruiken als interface naar eigen software. Als eigen software ontwikkeld wordt, dan is een goede camera SDK (Software Development Kit) van essentieel belang. Systeemintegratie is de grootste kost van een visiesysteem, dus het loont om de best mogelijke SDK te krijgen. In deze toepassing wordt Visual Studio 2008 gebruikt. In principe kunnen alle camera’s gebruikt worden. Onder dit deel wordt maar een selectie van deze camera’s vermeld. Camera’s die gebruikt worden voor beveiliging zijn ook mogelijk om te gebruiken in het systeem. Deze zijn veelal voorzien met een drie- of viertal bedradingen voor audio/video signaal. Meestal zijn dit grotere camera’s, waardoor deze in onze toepassing
Jelle Delrue
Academiejaar 2009-2010
23
niet mogelijk zijn om te gebruiken. Er wordt een zo klein mogelijke camera gekozen om op de robotarm te monteren. Ook kleinere camera’s zijn terug te vinden, met of zonder behuizing. Sommige zijn uitgerust met extra LED’s voor belichting, andere kunnen ook audio-signalen ontvangen. De mogelijke camera’s worden onderverdeeld en voorgesteld in drie grote klassen.
3.8.1 De webcam Als camera kan gebruik gemaakt worden van een gewone webcam (Figuur 20). Dit is een invoerapparaat dat uitgerust is met een kleine camera met veelal een beperkte resolutie en is bedoeld om via internet beelden te verzenden of om beelden op te nemen. Aan de hand van een webcam kunnen personen al videofonen. Webcams zijn in principe minicameraatjes, die ongeveer 30 beelden per seconde kunnen verwerken. De webcam beschikt tegenwoordig over de nodige software om één frame uit de videostroom te halen, maar er moet gezegd worden dat de kwaliteit minder is vergeleken met andere digitale camera's. Toch is er het voordeel dat deze camera’s Plug-and-play zijn. Hierdoor is het beeld zonder veel omwegen onmiddellijk zichtbaar op de computer. Een gewone webcam kost rond de 50 €.
Figuur 20: Logitech webcam's [10]
3.8.2 Mini zwart / wit camera In de volgende tabel bevindt zich een overzicht van een reeks mogelijke minicamera’s. Deze tabel is geen eindige reeks met mini camera’s, i.e. er bestaan nog vele verschillende andere types die niet vermeld worden. Tabel 1 toont een lijst aan de hand waarvan de keuze voor deze masterproef wordt gemaakt.
Jelle Delrue
Academiejaar 2009-2010
24
Tabel 1: Overzicht zwart-wit camera's VC-190SP
CAMZWM
CAMZWCM
CAMZWCHA2
dia 19 x 42 mm 85 gram 0,05 Lux / F2,0 1/3" B/W CCD 510 (H) x 493 (V) / / € 100,00
32 x 32 mm 12 gram 0,5 Lux / F2,0 1/3" Samsung B/W CCD 500 5h) x 582 (V) 70° / € 60,00
16 x 27 x 27 mm 10 gram 1 lux / F1,4 1/3" B/W CMOS image sensor / 90° / € 84,00
30 x 23 x 58 mm 40 gram 0,5 Lux / F1,4 1/4" ZW CMOS camera 100 K / / € 60
CAMZWCMM
CAMZWCM2
CAMZWBLA3
CAMZWAL
14 x 14 x 17 mm 15 gram 0,5 lux / F1,4
17 x 27,5 x 28 mm 10 gram 0,2 lux / F1,2
54 x 38 x 28 mm 21 gram 0,1 lux / F1,2
1/3" B/W CMOS image sensor
/
628 x 582 92° / € 67
352 (H) x 288 (V) 90° IR LED's € 30
32 x 32 mm 28 gram 0,5 Lux / F2,0 1/3" Samsung Z/W CCD beeldsensor 500 (H) x 582 (V) 92° / € 60,00
Afbeelding
afmetingen gewicht min. Verlichting opneemelement Pixels Lenshoek info Prijs
Afbeelding
afmetingen gewicht min. Verlichting
opneemelement 1/4" interline CMOS image sensor Pixels Lenshoek info Prijs
Jelle Delrue
352 (H) x 288 (V) 65° / € 72,00
Academiejaar 2009-2010
25
CAMZWBLAH2N
CAMZWMHA
CAMZWMBLAH2N
afmetingen gewicht min. Verlichting
60 x 32 x 56 mm 115 gram 0,1 lux F1,2
opneemelement
1/4" B/W CMOS sensor
Pixels Lenshoek info Prijs
352 (H) x 288 (V) 92° LED's & microfoon € 34,90
36 x 36 x 15 mm 105 gram 0,5 lux / F 2,0 1/3" Z/W CCD beeldsensor 500 (H) x 582 (V) 90° met microfoon € 75,00
38 x 38 x 32 mm 68 gram 0,1 lux F1,2 1/4" B/W CMOS sensor 352 (H) x 288 (V) 60° Microfoon /
Afbeelding
De eerste reeks met camera’s zijn dus zwart / wit- camera’s. In deze lijst zijn heel wat camera’s terug te vinden die monteerbaar zijn op de robotarm. Indien er nog enkele uitbreidingsmogelijkheden worden gehouden, zoals kleurherkenning, wordt voor toekomstig gebruik nu geopteerd voor het gebruiken van een kleurencamera. Hieruit is eenvoudig een grijswaarde beeld te halen.
3.8.3 De mini kleurencamera’s Op de volgende pagina wordt Tabel 2 voorgesteld met enkele vaak voorkomende mini kleurencamera’s. Ook deze lijst is niet limitatief. Er wordt gezocht naar een kleine camera die een laag gewicht heeft. Dit omdat deze camera op de robotarm gemonteerd moet worden. Graag wordt ook een camera gebruikt die al een scherp beeld levert bij weinig verlichting. Hoewel de camera op de robotarm gemonteerd wordt, zal de grootte van de lenshoek ook een bepaalde rol spelen. Een ander belangrijk onderwerp is het opneemelement van het beeld en het aantal pixels. Al deze parameters bepalen het selectiecriteria welke terug te vinden zijn in de tabel. Niet onbelangrijk is de kostprijs van de camera. De meeste camera’s in de volgende lijst zijn camera’s die te koop zijn bij Velleman. Camera’s die veelal gebruikt worden in roboticatoepassingen, (zoals CMUCAM) werden in deze lijst niet vermeld. Dit omdat deze camera’s te grote afmetingen hebben om op de robotarm te monteren.
Jelle Delrue
Academiejaar 2009-2010
26
Tabel 2: Overzicht kleurencamera's CAMCOLMHA
CAMCOLMHA2
CAMCOLMHA3
VC-2224
Kleuren Bullet Camera
36 x 36 x 30 mm 105 gram 1 lux / F2,0 1/4" Sharp colour CCD image sensor 512 (H) x 582 (V) 70° Microfoon € 120
42 x 42 x 40 mm 90 gram 5 lux at F1,4 1/4" colour CCD image sensor 525 (H) x 582 V) 72° Microfoon € 75,00
34 x 40 x 30 mm 85 gram 5 lux at F1,4 1/3" colour C-MOS image sensor 510 (H) x 492 (V) 72° Microfoon € 35
25 x 25 mm 64 gram 0,5 Lux / F1,2
30 x 56 mm 65 gram 1,5 lux / F2,0
1/4" sony CCD
1/3" Colour CMOS
501 x 582 / Microfoon /
628 (H) x 582 (V) 52° Met videoadapter € 49,95
Afbeelding
afmetingen gewicht min. Verlichting opneemelement Pixels Lenshoek info Prijs
CAMCOLMHA4
CAMCOLMHA5
CAMCOLMHA7
CAMCOLBUL19
TSL1401
TC S230-DB
26 x 21 x 18 mm 26 gram 1,5 lux / F2,0
36 x 36 x 14 mm 105 gram 0,3 lux / F2,0 1/3" colour CCD image sensor 512 (H) x 582 (V) 92° Microfoon € 69,95
26 x 68 mm 95 gram 0,5 Lux / F2,0 1/3" sony kleuren super HAD CCD 512 (H) x 582 (V) 92° / € 99,50
34,3 x 34,3 x 31 mm / F2,4
35 x 35 x 35 mm / / TAOS TCS230 Color Sensor / / white LED's € 40,80
Afbeelding
afmetingen gewicht min. Verlichting
40 x 40 mm 90 gram 5 lux / F1,4 1/3" colour CCD image opneemelement sensor Pixels 512 (H) x 582 (V) Lenshoek 45° info Microfoon Prijs 89,95
1/*4" sony kleuren HAD CMOS camera 628 (H) x 582 (V) 92° / € 50,00
1/3" colour HAD CMOS image sensor 628 (H) x 586 (V) 76,6° / € 59,95
Afbeelding
afmetingen 32 x 32 mm gewicht 23 gram min. 5 lux / F1,4 Verlichting Opneem 1/4" kleuren CCD element camera Pixels 512 x 582 Lenshoek 81° info microfoon Prijs € 99,95
3.8.4 USB/Video omvormer Aan de hand van een omvormer, kan de camera aangesloten worden aan een USB-poort. Deze is eenvoudig te gebruiken met de inbegrepen software. De omvormer wordt gevoed aan de hand van een USB 2.0-poort en heeft dus geen extra voeding nodig. Controle in verband met helderheid, contrast, tint en verzadiging is mogelijk. Deze omzetter is zeer klein van formaat en hierdoor gemakkelijk meeneembaar. Ook dit apparaat (PCUSBVC) is plug-andplay en kost € 36,50. Deze is zeker nodig om het beeld van de camera via USB te kunnen ontvangen op de computer (Figuur 21).
Jelle Delrue
Academiejaar 2009-2010
28
Figuur 21: USB-Video omvormer
3.8.5 Draadloze camera’s Ook draadloze camera’s kunnen toegepast worden. De kleinste draadloze mini USB camera ter wereld heeft een grote van 2 x 2 x 2 cm en een mooi scherp beeld met uitgebreid kleurenpallet (Figuur 22). Door zijn kleine formaat biedt deze camera enorme mogelijkheden en is ideaal voor onopvallend cameratoezicht. In plaats van de normale analoge uitgangen beschikt deze ontvanger over een USB aansluiting. Hierdoor is het mogelijk om deze cameraset direct op een PC of laptop aan te sluiten. Met de meegeleverde software kunnen beelden onmiddellijk op PC of laptop bekeken en opgenomen worden. Er kan zelfs voor gekozen worden om alleen op te nemen zodra er daadwerkelijk iets in het beeld beweegt. Daarbij kan deze set ook als webcam gebruikt worden. De hoek waarvan beelden opgenomen worden bedraagt 62° en heeft een resolutie van 628x582 pixels. De draadloze verbinding heeft een bereik van 100 meter in open veld en 50 meter bij muren. De lichtsterkte moet minimaal 1 lux bedragen. De camera heeft een voeding van 9 Volt nodig, die geleverd wordt via een adapter. Deze set kost ongeveer € 150.
Figuur 22: Draadloze cameraset [11]
Jelle Delrue
Academiejaar 2009-2010
29
3.9 Besluit Het selecteren van een camera voor deze applicatie is een niet zo voor de hand liggende taak. Er is een grote verscheidenheid van soorten camera's en het kiezen van de beste is niet steeds eenvoudig. De hoge kostprijs van de draadloze camera is een zware dobber. Hierdoor wordt de keuze gemaakt uit de lijst van de kleurencamera’s. De keuze is gevallen op de CAMCOLMHA5. Het is een pinhole camera. Met andere woorden een camera zonder lens maar in de plaats wordt een klein gaatje (Engels: pinhole) gebruikt. Deze camera voldoet aan de eisen die voorop gesteld zijn bij het overzicht van de mini kleurencamera’s, i.e. kleurencamera, klein van afmeting, licht van gewicht, relatief weinig lichtsterkte nodig voor mooi beeldresultaat te verkrijgen, hoog aantal pixels en een redelijk brede lenshoek. Het beeld hoeft niet te scherp zijn, m.a.w. het beeld mag minder nauwkeurig zijn. Belangrijk hierbij is ook dat de adapter meegeleverd wordt en alle audio/video aansluitklemmen aanwezig zijn. Een extra pluspunt is de betrekkelijk lage kostprijs. Meer informatie over deze camera is terug te vinden in het kleurencamera overzicht. Extra informatie is terug te vinden in de uitgebreide datasheet bijlage 7.1. De reden van de zoekactie naar een kleine camera is omdat deze op een eenvoudig manier op de robotarm gemonteerd en gedemonteerd moet worden. De bevestiging gebeurd aan de hand van twee geplooide plaatjes die bevestigd worden met bout en moer aan de robotarm. De twee plaatjes worden verbonden met elkaar met behulp van twee bouten en moeren om zodanig de camera er tussenin te klemmen (Figuur 23). Door de camera te monteren op de robotarm kan via het beeld steeds gevolgd worden waar de robotarm zich naar richt. Bewegingsaanpassingen kunnen ook gebeuren via een vast geplaatste camera op afstand, maar dan zal steeds de robotarm zelf in het beeld aanwezig zijn. Om dit systeem uit te breiden naar het bewegen in een 2de vlak (vb. verticaal) zal dit onmiddellijk leiden tot het gebruiken van twee camera’s, de ene voor een zijaanzicht en de andere voor een bovenaanzicht. Door het toegepaste principe (camera op robotarm) kunnen robotbewegingen gewijzigd worden met horizontale en verticale waarden van de camera. Deze toepassing is eerder productiegericht. Vanuit het standpunt van de robotgrijper onderzoeken waar het object zich bevindt.
Figuur 23: Montage camera op robotarm
Jelle Delrue
Academiejaar 2009-2010
30
4 Software 4.1 Robotarm commando’s Via de meegeleverde software kan deze robot aangestuurd worden op een zeer eenvoudige manier. In de handleiding van de robotarm is verdere uitleg over de code’s terug te vinden. Toch worden de belangrijkste elementen even aangehaald. Het aansturen van de robotarm gebeurt via ASCII-code’s (American Standard Code for Information Interchange). Iedere aansturing moet achteraan het enter-commando bevatten (ASCII 13). De positie wordt bepaald door middel van het versturen van een PWM signaal(Pulse Width Modulation). Om een servo een beweging te laten uitvoeren, is het voldoende om door te zenden naar welke positie de servo moet. Deze positie komt overeen met een zekere pulsbreedte. Bij het aansturen van een servo wordt veelal de hoek waaronder de servo moet staan gehanteerd. Hiervoor is een korte omrekening nodig zoals in Tabel 3. Een hoek van 0° komt overeen met een pulsbreedte van 1500µs. De andere uithoeken zijn respectievelijk -90° (500µs) en +90° (2500µs). Hieruit kan opgemerkt worden dat ongeveer 2000µs 11,11 µs ( ) een hoek van 1° is. Het volledig bereik van de servomotor is lineair 180 geschaald. Ten opzichte van de referentie zal een hoek van 45° overeenkomen met een pulsbreedte van ( 1500µs (45 11,11) ) 2000µs. Ook is de omgekeerde berekening mogelijk zodat bij een pulsbreedte van 600µs een hoek van -81° hoort. Let hierbij wel op dat bij het gebruiken van de software het teken omgekeerd kan zijn afhankelijke van de inversie. Tabel 3: Omvorming hoek en pulsbreedte Hoek (°) 0 -90 90 45 Pulsbreedte (µs) 600