• No results found

Beursopstelling met robot

N/A
N/A
Protected

Academic year: 2021

Share "Beursopstelling met robot"

Copied!
78
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

1

Afstudeerproject :

Beursopstelling met Robot

Versie

:

Eindverslag

Bijgewerkt

:

04-06-2013

Student

:

Hans Jonkers

(2)

2 Inhoud Voorwoord ... 4 Samenvatting ... 5 Aanbevelingen ... 5 1. Inleiding ... 7

2. Analyse van het spel Jenga ... 7

2.1 Uitleg van het spel Jenga ... 7

2.2 Aanpak van de analyse... 8

2.3 Conclusie ... 9

3. De opstelling ... 9

3.1 Eisen aan de opstelling: ... 9

3.2 Concept opstelling ... 9

3.3 De robot met controller ... 10

3.4 De toegepaste blokken ... 10

3.4.1 Plaats van de toren op het speelveld ... 11

3.4.2 Oppakken blokjes na instorten toren ... 11

3.4.3 blokjes uit de toren halen ... 12

3.5 Het Visionsysteem ... 12 3.5.1 Functionele eisen ... 12 3.5.2 Camerakeuze ... 13 3.6 Het werktuig ... 13 3.6.1 De grijper ... 13 4. Flowdiagrammen ... 14 5. De communicatiestructuur ... 18 5.1 Hardware opbouw ... 18 5.2 Communicatie Methode ... 18 5.3 Communicatie Protocol ... 19 6. Software ... 20

6.1 Software voor het verwerken van de beelddata ... 20

6.2 Software voor de user interface(HMI) ... 21

6.3 Software voor het aansturen van de robot ... 24

6.3.1 Tool Center Point (TCP) ... 24

6.3.2 Coördinatenstelsels ... 25

6.3.3 Posities en rotaties ... 26

7. De proefopstelling ... 28

8. Conclusie en aanbevelingen ... 30

(3)

3

8.2 Aanbevelingen ... 30

Nawoord ... 30

Literatuur ... 31

Bijlage 1. PMD ... 32

Bijlage 2. foto’s gemaakt na het instorten van de toren met het originele spel... 40

Bijlage 3. Datasheet IRB1600 ... 42

Bijlage 4. Datasheets IRC5-Controller... 44

Bijlage 5. Samenstelling van het robot systeem ... 46

Bijlage 6. Opdrachtomschrijving aan derden voor de opstelling en het werktuig ... 47

Bijlage 7. Datasheet Time of Flight camera Mesa SR4000 ... 49

Bijlage 8. Resolutie berekeningen voor de camera ... 56

Bijlage 9. Ruiswaarden van de camera ... 58

Bijlage 10. Opdrachtomschrijving aan derden voor ontwerp van het visionsysteem. ... 60

Bijlage 11. Rapid code ... 62

Bijlage 12. Meetmethoden voor visionsystemen ... 72

Bijlage 13. Een weergave van de mogelijke posities en rotaties. ... 74

(4)

4

Voorwoord

Dit rapport is het afstudeerverslag van een hbo student elektrotechniek en beschrijft een opdracht waarvoor de combinatie van vision en robotica is vereist. Vooral lezers die geïnteresseerd zijn in toepassingen van robots in combinatie met een Time of Flight camera kunnen in dit rapport informatie vinden.

Mijn dank gaat uit naar docentbegeleider Peter Klijn, die mij aan de opdracht heeft geholpen en zich heeft ingezet voor het zoeken van studenten die nodig waren voor het uitvoeren van activiteiten met betrekking tot de opdracht. Ook mijn vrouw Jacobien en dochter Elsa wil ik bedanken voor het grammaticaal doornemen van mijn verslag.

Verder wil ik beide bedrijfsbegeleiders Henk Meeuwissen en Robin van Praat danken voor hun kritische en opbouwende kritiek tijdens de voortgangsbesprekingen.

(5)

5

Samenvatting

De opdrachtgever voor dit afstudeerproject is CSi Industries B.V te Raamsdonksveer. CSi is werkzaam in de branche van Automated Material-handling systemen en levert volledig geïntegreerde material handlingsystemen. Hierbij moet gedacht worden aan;

- Conveyorsystemen voor verpakte producten - Verpakkingsmachines

- Palletiseer machines - Pallet handling machines

- Order picking systemen in distributiemagazijnen

CSi is een dynamisch en innovatief bedrijf dat wereldwijd opereert. Eén van de manieren om toekomstige klanten te interesseren voor de producten en mogelijkheden van CSi is via (vak)beurzen. Momenteel worden op beurzen zware, kostbare opstellingen geplaatst. Door de omvang en kosten van deze opstellingen worden ze niet op kleine beurzen geplaatst. Daarom is er binnen CSi behoefte aan een lichte, compacte beursopstelling. Deze opstelling moet makkelijk te vervoeren en te plaatsen zijn en op een leuke, interactieve manier de beursbezoeker prikkelen om de CSi-stand te bezoeken. Tevens moet de opstelling op een representatieve manier de producten en diensten van CSi aan de beursbezoeker laten zien.

De opdracht is om een beursopstelling te maken met een robot en die het spel Jenga te laten spelen. De beursbezoeker geeft de robot opdracht om uit een toren van blokken een blok te pakken en deze weer bovenop de toren te leggen. Dit gaat net zolang door totdat de toren instort. Om te laten zien dat CSi een innovatief bedrijf is en van de nieuwste technieken gebruik maakt, moet voor het weer opbouwen van de toren een visionsysteem worden gebruikt. Dit visionsysteem moet informatie aan de robot geven, zodat deze in staat is uit de chaos van blokken de toren weer opnieuw op te bouwen. De opdracht bestaat uit het ontwerpen van een complete beursopstelling met robot, werktuig en visionsysteem.

Uit de testen met een proefopstelling (hoofdstuk 7) bleek dat de gemaakte routines in robotstudio en de gekozen grijper goed functioneerde. Er is geconstateerd dat de door het visionsysteem gegenereerde 3D-beelddata niet nauwkeurig genoeg is, zie hiervoor bijlage 14. Door deze onnauwkeurigheid worden de posities van de blokken na het instorten van de toren niet goed doorgegeven aan de robot. Dit resulteert in een toren die schots en scheef wordt opgebouwd. In de huidige opzet worden de blokken, bij het spelen van het spel, alleen op basis van coördinaten uit de toren getrokken. Een scheefstelling van de toren tijdens het spelen wordt daardoor niet gesignaleerd. Dit kan betekenen dat de grijper naast een blok grijpt. Dit zou men kunnen oplossen door in het werktuig extra sensoren aan te brengen die de scheefstelling van de toren kunnen meten. Momenteel is er geen terugkoppeling op het werktuig met als gevolg dat de robot niet kan “voelen” of een blokje los zit. Dit zou kunnen betekenen dat na één blok te hebben verwijderd de toren al omvalt. Een terugkoppeling in de vorm van een krachtsensor zou hier een oplossing kunnen bieden. De user interface van de robotcontroller (FlexPendant), die nu wordt gebruikt, is niet geschikt voor een beursopstelling. Hiervoor kan in de toekomst beter een touchmonitor worden gebruikt. De in robotstudio gemaakte routines zijn door middel van de proefopstelling (hoofdstuk 7) in de praktijk getest en kunnen worden gebruikt als start voor een vervolgopdracht.

Aanbevelingen Blokken:

- Doorsnede moet vierkant zijn.

(6)

6 - Oppervlak moet glad zijn.

- Lichte kleur (voorkeur wit). Lange zijden mogen eventueel voorzien zijn van afschuining, kopse kanten absoluut niet.

Tafel:

- Matte witte ondergrond, liefst zo glad mogelijk om te zorgen dat de blokken na het omvallen van de toren zoveel mogelijk vlak komen te liggen.

Werktuig:

- Omdat de blokken tijdens het opbouwen van de toren niet exact in het midden worden opgepakt, moet in het werktuig het blok dusdanig worden gepositioneerd dat de toren recht kan worden opgebouwd.

- Er dient een terugkoppeling naar de robot plaats te vinden, zodat kan worden bepaald of het blok los ligt.

- Er dient een terugkoppeling naar de robot plaats te vinden, zodat kan worden bepaald of het blok is vastgepakt.

Visionsysteem:

- De camera is gevoelig voor direct zonlicht wat resulteert in extra ruis. Extern infrarood licht moet dus voorkomen worden.

- Bij een matte, witte ondergrond werd de minste ruis gegenereerd. Een glimmend oppervlak is niet wenselijk, want dit resulteert in waardes die niet bruikbaar zijn.

(7)

7

1. Inleiding

De opdrachtgever voor het project CSi, te Raamsdonksveer, levert volledig geautomatiseerde material handlingsystemen over de hele wereld. Hierbij moet u denken aan:

 Conveyorsystemen voor verpakte producten.

 Verpakkingsmachines.

 Palletiseer machines.

 Pallet handling machines.

 Order picking systemen in distributiemagazijnen.

Eén van de manieren om toekomstige klanten te interesseren voor de producten en mogelijkheden van CSi is via (vak)beurzen. Momenteel worden op beurzen zware, kostbare opstellingen geplaatst. Door de omvang en kosten van deze opstellingen worden ze niet op kleine beurzen geplaatst. Om ook voor de kleinere beurzen een opstelling te hebben, is er binnen CSi behoefte aan een lichte, compacte robotopstelling

De opdracht is om een beursopstelling te maken met een robot en die het spel Jenga te laten spelen. Deze beursopstelling moet makkelijk te vervoeren en te plaatsen zijn en op een leuke, interactieve manier de beursbezoeker prikkelen om de CSi-stand te bezoeken. Als interactie met het publiek wordt gekozen voor het spel Jenga. Hierbij wordt de beursbezoeker uitgenodigd de robot opdracht te geven een blok te pakken uit de toren en deze weer bovenop de stapel te leggen. Dit gaat net zolang door totdat de toren instort. Vanuit de chaos van blokken moet de robot nu in staat zijn de toren op te bouwen. Het plaatsen en in gebruik nemen van de opstelling moet ook door niet-technici mogelijk zijn, omdat niet alle medewerkers van CSi, die op de stand staan, een technische opleiding hebben.

Voor het uitvoeren van de opdracht wordt in hoofdstuk 2 eerst een analyse van het spel Jenga gemaakt. De resultaten van deze analyse worden verwerkt in hoofdstuk 3, hier wordt de concept opstelling beschreven. Aan de hand van de gemaakte flowdiagrammen in hoofdstuk 4 wordt het uitwerken van de besturing en de software beschreven in de hoofdstukken 5 en 6. Samen met de resultaten die we hebben gevonden door het uitvoeren van testen op een proefopstelling (hoofdstuk 7) zijn de conclusies en aanbevelingen verwerkt in hoofdstuk 8.

2. Analyse van het spel Jenga

Om de opdracht goed uit te kunnen voeren, moet vooraf worden bekeken hoe het spel moet worden gespeeld en hoe het verloopt. Dit hoofdstuk beschrijft een analyse van het spel Jenga. Hierin wordt proefondervindelijk vastgesteld hoe groot de blokken moeten worden en hoe hoog de toren maximaal kan worden. Ook wordt gekeken hoe een ingestorte toren eruit ziet. De gegevens van deze analyse gaan we gebruiken om te bepalen hoe we de concept opstelling het beste kunnen maken. We moeten hier denken aan de grootte van de speeltafel, de plaats van de toren en met welke posities en rotaties we te maken hebben, na het instorten van de toren, voor het oppakken van de blokken.

2.1 Uitleg van het spel Jenga

Jenga wordt gespeeld met 54 houten blokken. De blokken worden gestapeld in de vorm van een toren. Elke laag bestaat uit drie blokken die plat naast elkaar liggen en elke laag is loodrecht geplaatst op de vorige. Een Jenga toren bestaat dus uit 18 lagen. Zodra de toren is gebouwd, mag de speler die hem heeft gebouwd beginnen. De speler neemt een blok uit een willekeurige laag onder de bovenste laag en legt het blok bovenop de toren. Hierbij mag slechts één hand worden gebruikt. De toren mag ook alleen met één hand tegelijk aangeraakt worden. Hierna is de beurt voorbij. Zo ontstaat in de loop van het spel een steeds hogere en instabielere toren. Als de volgende speler van mening is dat de toren gaat omvallen, mag hij/zij nog 10 seconden wachten voordat de beurt verder gaat. Het spel eindigt als de toren omvalt.

(8)

8

De verliezer is de persoon die de toren om laat vallen (de speler die aan de beurt was toen de toren viel) (Jenga, 2013).

Figuur 1. Een Jenga-toren.

2.2 Aanpak van de analyse

Om het verloop van het spel te kunnen bepalen is het spel tien maal gespeeld en hierbij steeds het aantal lagen geteld net voordat de toren instort. Op deze manier wordt bepaald hoe hoog de toren kan worden. Als aanvang wordt steeds begonnen met 18 lagen, uit de factor laag/18 kan de relatie tussen de hoogste laag en de aanvangslaag worden bepaald. Ook zijn er foto’s genomen van de richting waarin de toren valt. Zie bijlage 2 voor nog meer foto’s.

Tabel 1 Het verloop van het spel

De resultaten van het verloop van het spel

Poging Aantal lagen voor instorten Factor laag/18 1 25 1,4 2 20 1,1 3 21 1,2 4 24 1,3 5 23 1,3 6 25 1,4 7 21 1,2 8 24 1,3 9 24 1,3 10 25 1,4 Gemiddeld 23,2 1,3

(9)

9 Figuur 2. Een ingestorte toren.

2.3 Conclusie

Uit de factor laag/18 blijkt dat de maximale hoogte 1.4 x de beginhoogte is. Aan de hand van de foto’s is te zien dat de toren steeds in een redelijk rechte lijn valt parallel aan een plat vlak van de toren. Ook is te zien dat de blokken volkomen willekeurig vallen en een deel van de toren overeind blijft staan. Doordat de toren steeds op dezelfde plaats wordt opgebouwd, moet dit deel van de tafel worden schoon geveegd. Dit betekent een extra functie voor het werktuig. Verder moet een vangnet ervoor zorgen dat de blokken niet van de speeltafel vallen. Omdat de blokken ongeordend vallen is voor het bepalen van de posities en rotaties van de op te pikken blokken is een visionsysteem vereist, zodat de robot in staat is om met de informatie van het visionsysteem de toren weer op te bouwen.

3. De opstelling

Dit hoofdstuk beschrijft de kaders en eisen voor het ontwerp van de opstelling. De opstelling bestaat uit verschillende onderdelen, zoals het mechanische frame met daarop het speelveld met de blokken, de robotcontroller, de robot met werktuig en het visionsysteem.

3.1 Eisen aan de opstelling:

 De opstelling moet met een bestelbus te vervoeren zijn. Dit betekent maximale afmetingen van 300 x 160 x 190 cm. De maximale massa mag niet meer dan 1200 kilogram bedragen.

 Makkelijk op te stellen: de installatie moet ook door niet- technici kunnen worden opgesteld

.

 Er moet gebruik gemaakt worden van een robot.

 Er moet gebruik gemaakt worden van een visionsysteem.

 Deze moet voldoen aan de veiligheidsnormen.

 Het moet een beurswaardige opstelling worden met een industriële look die vooral de thema’s van CSi uitdraagt zoals: Palletiseren, Product Handling en positioneren.

3.2 Concept opstelling

De opstelling moet in ieder geval bestaan uit een tafel waarop het spel kan worden gespeeld. De grootte van de tafel wordt bepaald door de reikwijdte van de robot. Om manoeuvreerruimte te houden, stellen we de effectieve reikwijdte van de robot op 100 cm. Als gekozen wordt voor een vierkanten tafel dan worden de afmetingen bepaald door de uiterste hoeken. We zouden dan kunnen werken met een tafel van 70 x 70 cm (100/ √2 = 70 cm). Als gekozen wordt voor een ronde tafel dan kunnen we werken met een diameter van 100 cm. Aan de rand van de tafel moeten voorzieningen worden getroffen die voorkomen dat de blokken van de tafel vallen en dat er bezoekers binnen het bereik van de robot kunnen komen. De combinatie van robot en speeltafel moet worden gemonteerd op een frame dat met een heftruck of pompwagen kan worden verplaatst. De controller kan op een plateau met wielen worden geplaatst. Uitgaande van een ronde tafel zou een conceptopstelling er dan uit kunnen zien als in figuur 3.

(10)

10 Figuur 3. Een conceptopstelling.

Deze opzet is met CSi doorgenomen en akkoord bevonden. In overleg met de begeleidende docent is besloten om voor het maken van de opstelling en het werktuig de hulp in te roepen van een mechatronica student. Hiervoor is een opdracht met probleemstelling en functionele eisen gemaakt. In bijlage 6 de bijbehorende opdrachtomschrijving.

3.3 De robot met controller

De robot met controller is voorgeschreven door CSi en wordt een ABB-robot van het type IRB 1600-6/1.45. Het betreft hier een robot met zes bewegingsassen. Hoe meer assen des te groter is de wendbaarheid en flexibiliteit. De toegepaste controller inclusief motordrivers wordt geleverd in een single cabinet uitvoering. De controller kan van meerdere opties worden voorzien. Wat belangrijk voor ons is dat het mogelijk moet zijn om met een PC te communiceren. In de huidige opzet zijn er geen extra analoge of digitale kaarten nodig. Zie voor verdere informatie bijlagen 3, 4 en 5.

3.4 De toegepaste blokken

Om wat meer body aan de opstelling te geven, gaan we grotere blokken toepassen. Er is gekozen voor geschaafde vurenhouten blokken met een afmeting van 43 x 43 x 140 mm. Bij deze keuze heeft een aantal overwegingen een rol gespeeld:

 Geschaafd vurenhout van 43 x 43 mm kan in verschillende lengtes bij elke bouwmarkt worden gekocht. De blokken moeten dan alleen nog op maat worden gemaakt.

 Door hoogte en breedte van de blokken hetzelfde te houden, hoeft er voor het bepalen van de positie geen rekening te houden met een platte of smalle kant.

 De afmetingen zijn zodanig dat ze gemakkelijk door het visionsysteem kunnen worden herkend.

 De afmetingen zijn zodanig dat een grijper ze gemakkelijk kan pakken.

 De massa van 130 gram is geen probleem voor de pay load van de robot.

 De blokken hebben voldoende “body” om de aandacht te trekken van de beursbezoekers. We gaan uit van 30 blokken, waarmee we een toren kunnen bouwen van tien lagen met een hoogte van 43 cm.

(11)

11 3.4.1 Plaats van de toren op het speelveld

Nu de afmetingen van de blokken en het type robot bekend zijn, moeten er afspraken gemaakt worden waar de toren moet worden opgebouwd. Om het volledige bereik van de robot te benutten kan de toren het beste in het midden van de tafel worden geplaatst onder een hoek van 45 graden. De blokken hebben een onderlinge afstand van zeven millimeter. Op die manier kan de robot er altijd bij en hebben de blokken ruimte om te vallen. Verder moeten er nog afspraken worden gemaakt hoe de blokken worden geïdentificeerd. Hiervoor gaan we de toren verdelen in rijen en kolommen. De combinatie van een rij en een kolom bepaalt de plaats van het blok.

Figuur 4. Afspraken voor opbouw toren.

3.4.2 Oppakken blokjes na instorten toren

Na het instorten van de toren kunnen de blokjes in divers posities liggen. Het werktuig moet zo worden geconstrueerd dat het de blokken in alle mogelijke posities kan pakken. In figuur 5 is te zien dat we te maken hebben met drie mogelijke rotaties. Bij het programmeren van de robot moet hier rekening mee worden gehouden. De blokjes worden op de vlakke kant opgepakt en daarna boven op de toren geplaatst.

(12)

12 Figuur 6. Opbouwen toren.

3.4.3 blokjes uit de toren halen

Voor het spelen van het spel moet de beursbezoeker een keuze maken uit welke kolom en uit welke rij het blok moet worden getrokken. Vervolgens trekt de robot dit blok uit de toren. Dit gebeurt door het blok aan de kopse kant te pakken.

Figuur 7.Een blokje wordt uit de toren getrokken. 3.5 Het Visionsysteem

Na het instorten van de toren liggen de blokken door elkaar op het speelveld. Om de toren opnieuw op te kunnen bouwen, moet er gebruik worden gemaakt van een visionsysteem. Dit hoofdstuk beschrijft de mogelijke meetmethoden en er wordt op basis van de functionele eisen en eisen van de klant een keuze gemaakt voor de camera.

3.5.1 Functionele eisen

 Het visionsysteem moet worden gekalibreerd.

 Het visionsysteem moet melden dat de toren is ingestort.

 Het visionsysteem in staat moet zijn om de richting te bepalen waarin de toren is gevallen.

 Het visionsysteem moet melden dat het speelveld vrij is, zodat de toren opnieuw kan worden opgebouwd.

 Het visionsysteem de coördinaten van de gevallen blokken (X, Y, Z, RX, RY, RZ) moet doorgeven aan de robot zodat deze in staat is het blok op te pakken en te verplaatsen.

(13)

13 Als opdrachtgever heeft CSi ook nog extra eisen:

 De camera moet aan de kop van de robot worden gemonteerd.

 Er moet gebruik worden gemaakt van hoogwaardige state of the arttechniek. 3.5.2 Camerakeuze

Om een goede keuze te maken voor de toe te passen camera(‘s) is een onderzoek verricht naar de mogelijke meetmethoden (bijlage 12). Om aan alle eisen te voldoen, is gekozen voor een Time of Flight camera en wel de Mesa SR4000. Deze keuze is genomen op basis van de volgende overwegingen:

 Om de opstelling gemakkelijk in bedrijf te stellen en compact te houden, is het werken met meerdere camera’s niet handig.

 De methode waarbij steeds een scan moet worden gemaakt, valt af vanwege de tijd die dit kost. De opstelling gaat dan niet dynamisch werken.

 Bij Fotometrische stereo 3D bestaat, zeker bij verschillende beursopstellingen, het gevaar voor valse reflecties van andere lichtbronnen.

 De ToF-meetmethode werkt met infrarood. Hierdoor is er geen externe belichting nodig.

 Door de compacte afmetingen is de camera gemakkelijk in een werktuig te integreren.

 De programmeersoftware is vrij te bepalen.

 Er wordt gebruik gemaakt van een methode die voor CSi redelijk nieuw is, maar zeker perspectief biedt voor de toekomst.

Een nadeel is dat de camera duur in aanschaf is (€ 3500,--) maar vanwege de beschikbaarheid bij Avans Hogeschool vormde dat geen belemmering. Deze keuze is met CSi doorgenomen en akkoord bevonden. In bijlage 7 vind je de specificaties van de camera. Bijlage 8 geeft de berekeningen voor de resolutie en bijlage 9 geeft informatie over de ruiswaarden van de camera. In overleg met de begeleidende docent is besloten het visionsysteem als een subsysteem te beschouwen en uit te besteden. Hiervoor is een opdracht met probleemstelling en functionele eisen gemaakt, zie hiervoor bijlage 10.

3.6 Het werktuig

Het werktuig is een belangrijk onderdeel van de robot. Het werktuig wordt aan de kop van de robot gemonteerd en bevat de gereedschappen die de robot nodig heeft om de gewenste functies uit te kunnen voeren.

3.6.1 De grijper

Eén van de onderdelen van het werktuig is de grijper. De grijper moet in staat zijn om de blokken op de platte en kopse kant te pakken, want de blokken kunnen zowel in rechte als in dwarse richting uit de toren worden getrokken. Er moet nog onderzoek worden verricht naar de juiste grijper. Voorlopig wordt uitgegaan van een simpele zuignap zonder intelligentie. Om te bepalen of dit werkt, is er onderzoek verricht met een simpele zuignap van het merk Piab van Pneutec. De verwachting is dat het grijpen op de kopse kant van het blok het moeilijkst is en daarom is de test hierop uitgevoerd. Het resultaat zie je in onderstaande afbeeldingen.

(14)

14 Figuur 8. De zuignap zonder kunststof ring.

Figuur 9. De zuignap met kunststof ring.

Conclusie

Het blokje op de vlakke kant oppakken is geen probleem. Bij het oppakken aan de kopse kant, zonder extra voorzieningen, hangt het blok los te bengelen aan de zuignap. Door het aanbrengen van een kunststof ring wordt ervoor gezorgd dat het blok tegen de ring wordt aangetrokken en zodoende een starre bevestiging vormt met de zuignap. Zie hiervoor figuur 9. Het blok wordt nu gefixeerd en zit stevig vast. Er kan dus in het ontwerp gebruik gemaakt worden van een zuignap mits we maatregelen nemen voor het fixeren van het blok. Deze keuze is met CSi doorgenomen en akkoord bevonden. In overleg met de begeleidende docent is besloten de opstelling en het werktuig als een subsysteem te beschouwen en uit te besteden. Hiervoor is een opdracht met probleemstelling en functionele eisen gemaakt. In bijlage 6 vind je de bijbehorende opdrachtomschrijving.

4. Flowdiagrammen

Dit hoofdstuk beschrijft de verschillende functies die nodig zijn om het spel te spelen en de toren weer op te bouwen. Bij het inschakelen van de opstelling zal eerst het visionsysteem moeten worden gekali-breerd. Daarna kunnen de blokken ongeordend op het speelveld worden geplaatst. Aan de hand van de posities en rotaties die de robot krijgt van het visionsysteem wordt de toren nu opgebouwd. Door middel van bijvoorbeeld een touch monitor geeft de beursbezoeker de opdracht aan de robot om een blokje uit de toren te pakken en bovenop de stapel te plaatsen. Als de toren omvalt, wordt dit gesignaleerd door het visionsysteem. Voordat de toren opnieuw wordt opgebouwd, moet eerst de plaats van de toren worden leeg geveegd. Met behulp van de data van het visionsysteem veegt de robot deze plaats leeg en bouwt de toren weer op. Om alle functies uit te voeren zijn er twee routines nodig. Een routine voor het spelen van het spel en een routine voor het opbouwen van de toren. Voor beide routines is een flowdiagram gemaakt. Om het plaatje duidelijk te houden zijn deze op één pagina geplaatst.

(15)

15 Nee Ja Nee Ja Nee Ja

Figuur 10. Flowdiagram ten behoeve van de robotcontroller voor het opbouwen van de toren

Wacht op START Vraag beelddata Is Bouwplek voor toren vrij? Bepaal veegrichting

Controleer positie blok

Ga naar positie blok

Pak Blok

Plaats blok in toren

Werk blok data bij Positie ok? Liggen er nog

blokken? Verwerk beelddata Ga naar snapshot positie

Veeg veld vrij

Vraag beelddata

Verwerk beelddata Ga naar snapshot positie

Geef foutmelding Wacht op reset

(16)

16 Nee Ja Nee Ja

Figuur 11. Flowdiagram ten behoeve van de robotcontroller voor het spelen van het spel.

Wacht op START

Speel Jenga

Ga naar snapshot positie

Vraag beelddata

Toren overeind

Wacht op INPUT HMI

Controleer keuze

Pak blokje uit toren

Werk blok data bij Keuze ok?

Plaats blok op toren

Werk blok data bij Verwerk beelddata

(17)

17

Hieronder volgt een beschrijving van de verschillende blokken in het flowdiagram. De robot wacht op het startcommando.

De robot wacht op input van de beursbezoeker. Dit kan zijn een keuze voor het spelen van het spel, het opbouwen van de toren of het kiezen van de positie van het te pakken blok. De beursbezoeker geeft hiervoor een kolom en een rij in voor het blok dat hij uit de toren wil trekken. Het uitgangspunt is dat de camera op de kop van de robot wordt gemonteerd. Op het moment dat de camera een snapshot moet maken, moet de robotkop in een positie worden gebracht, zodat het deel

waarvan de snapshot wordt genomen volledig in het beeld van de camera is.

Hier stuurt de robotcontroller een verzoek naar de server om een snapshot te nemen.

De 3D-beelddata wordt hier toegekend aan de variabelen in robotstudio. Nadat de toren is ingestort wordt uit de beelddata de veegrichting bepaald. Deze richting is nodig om te voorkomen dat de blokken over de rand van de tafel worden geschoven.

Het stukje van het speelveld waar de toren moet worden opgebouwd wordt hier door middel van een veegbeweging vrij gemaakt.

Deze functie controleert of de ontvangen coördinaten en rotaties binnen het bereik van de robot vallen.

Geeft een foutmelding op de user interface wanneer na de controle van de coördinaten en rotaties van het blok een fout wordt geconstateerd. Nadat de gebruiker de fout die is opgetreden na de controle van de positie van het blok heeft hersteld, kan het opbouwen van de toren worden hervat.

De robot wordt naar de positie gestuurd volgens de ontvangen coördinaten en rotaties.

Het werktuig krijgt de opdracht om het blok te pakken. Het blok dat is opgepakt, wordt op de toren geplaatst.

Na het plaatsen of verwijderen van een blok in of uit de toren moet worden bijgehouden welke plaatsen er nog gekozen mogen worden door de beursbezoeker en vanaf welke rij en kolom de toren moet worden opgebouwd. Dit gebeurt door middel van een array.

Wacht op INPUT HMI

Ga naar snapshot positie

Vraag beelddata

Verwerk beelddata Bepaal veegrichting

Veeg veld vrij

Controleer positie blok

Ga naar positie blok

Pak Blok Plaats blok op toren

Werk blok data bij Geef foutmelding

Wacht op reset Wacht op START

(18)

18

Hier wordt gecontroleerd of de keuze die de beursbezoeker heeft gemaakt een juiste is. Als een blok wordt gekozen dat al verwijderd is, dient een nieuwe keuze gemaakt te worden.

De robot trekt het door de beursbezoeker opgegeven blokje uit de toren.

5. De communicatiestructuur

Voor het uitvoeren van de opdracht hebben we een camera, een robot, een PC en software nodig. In dit hoofdstuk wordt beschreven hoe de verschillende componenten met elkaar communiceren, welke methode van communiceren er is gebruikt en hoe het communicatieprotocol eruit ziet

5.1 Hardware opbouw

Figuur 12. De Hardwarestructuur.

De hardware bestaat uit zes onderdelen. De camera is verbonden met de router. Deze stuurt beeldinformatie naar de computer wanneer die daar om vraagt. De computer is verbonden met de router. Deze verwerkt de beeldinformatie van de camera en stuurt op verzoek van de controller de verwerkte 3D-beelddata door. Via de HMI, hiervoor kan een touch monitor worden gebruikt, vindt de interactie plaats met de beursbezoeker en de robot. De controller is verbonden met de router. De controller vraagt de 3D-beelddata op van de computer en stuurt de robot aan. De FlexPendant is verbonden met de controller en wordt in de test fase als user interface gebruikt.

5.2 Communicatie Methode

De toegepaste communicatiemethode is socket messaging. Een socket is een universeel communicatie- kanaal dat onafhankelijk is van het netwerkprotocol dat wordt gebruikt. Met deze methode zijn we in staat data tussen computers uit te wisselen door gebruik te maken van het TCP/IP netwerkprotocol.

Controleer keuze

(19)

19 Algemene opzet

Figuur 13. De opbouw van data uitwisseling met socket messaging (ABB, 2004-2009) .

Eerst wordt zowel bij de server als de cliënt een socket aangemaakt. De server gaat nu wachten totdat de cliënt verbinding maakt. De verbinding wordt gemaakt door de actieve partner (cliënt) en wordt geaccep- teerd door de passieve partner (server). De actieve partner kan nu data gaan versturen en krijgt hierop een bevestiging met data terug. De communicatie is dus een voortdurend vraag- en antwoordspel en blijft duren zolang de verbinding bestaat.

5.3 Communicatie Protocol

Uit de gemaakte flowdiagrammen kan de informatie worden gehaald die de controller uit de 3D-beelddata moet halen. De gehele boodschap wordt gevormd als een reeks van getallen gescheiden door een uitroepteken. In deze string wordt de data in een vooraf bepaalde volgorde verzonden. In robotstudio wordt deze string door middel van parsing weer ontrafeld.

(20)

20

Tabel 2 Het communicatie protocol tussen Computer en Controller

Het communicatie protocol

Plaats Aantal karakters

Naam Type Waarde Omschrijving

1 2 Errorcode Num 0 / 99 Errorcode

2 4 PosX Num 0 / 1000 X – coördinaat van blokje

3 4 PosY Num 0 / 1000 Y – coördinaat van blokje

4 4 PosZ Num 0 / -500 Z – coördinaat van blokje

(negatief is omhoog)

5 4 RotX Num 0 - 90 Rotatie over X

6 4 RotY Num -45/+45 Rotatie over Y

7 4 RotZ Num -180/+180 Rotatie over Z

8 1 Bouwplekvrij num 0/1 Is er plaats voor bouwen

toren?

0 = Nee 1 = Ja

9 1 Speelveldleeg Num 0/1 Liggen er nog blokken

0 = Nee 1 = Ja

10 1 Torenok Num 0/1 Staat de toren nog overeind

0 = Nee 1 = Ja

11 1 Veegrichting Num 0/1 Welke kant moet er geveegd

worden?

0 = Links naar Rechts 1 = Rechts naar Links

Figuur 14. Weergave van de originele string voor en na het parsen. 6. Software

Nu de hardware opbouw bekend is, moet nog software worden geschreven. Het betreft hier de software voor het verwerken van de beelddata, de software voor de user interface en de software voor de robot. 6.1 Software voor het verwerken van de beelddata

Voor het omzetten van de beeldinformatie van de camera naar posities voor de robot moet software worden geschreven. Deze software draait op een computer die deel uitmaakt van het netwerk. Het schrijven van deze software is uitbesteed. Hiervoor is een opdracht met probleemstelling en functionele eisen gemaakt. In bijlage 10vind je de bijbehorende opdrachtomschrijving.

(21)

21 6.2 Software voor de HMI

De HMI is bedoeld om het als gebruiker mogelijk te maken een machine te bedienen. Vanuit de HMI kunnen processen worden gestart, gestopt en gemonitord. Er is nog niet concreet over de invulling van de HMI nagedacht, maar uiteindelijk is het de bedoeling dat de HMI wordt uitgevoerd in de vorm van een touch monitor.

Voor testdoeleinden is er voor gekozen om de IRC5 FlexPendant als user interface te gebruiken. Dit is een PC met Microsoft software en wordt standaard gebruikt als interface tussen de operator en de IRC5 controller van ABB. In robotstudio kun je gebruik maken van de applicatie screenmaker om snel een eerste schermindeling te maken, te testen en aan te passen. Dit is vooral in de testfase handig, want in deze fase wordt de user interface nog voor een groot deel voor debug doeleinden gebruikt

Figuur 15. De IRC5 FlexPendant.

(22)

22

Aan de hand van de flowdiagrammen is bekeken welke informatie relevant is voor debug doeleinden en daar is het scherm van de FlexPendant op ingericht.

Hieronder volgt een gedetailleerde beschrijving van de opbouw van het scherm van de FlexPendant: Reset

Voor het op NUL zetten van next Kolom en next Rij. Next Kolom

Geeft aan in welke kolom het volgende blok in de toren wordt geplaatst. Next Rij

Geeft aan in welke rij het volgende blok in de toren wordt geplaatst Build

Geeft opdracht voor het opbouwen van de toren.

Keuze Kolom

Dit is een getal tussen 0 en 3 en geeft de kolom aan van waaruit het blok uit de toren getrokken moet worden.

Keuze Rij

Dit is een getal tussen 0 en 10 en geeft de rij aan van waaruit het blok uit de toren getrokken moet worden.

Play

Geeft opdracht om het blok op de plaats van keuze kolom en keuze rij uit de toren te trekken.

POS.

Geeft de coördinaten van X, Y en Z verkregen uit de beelddata van de camera weer. Het is ook mogelijk om hier zelf een waarde in te geven. ROT.

Geeft de rotaties van X, Y en Z verkregen uit de beelddata van de camera weer. Het is ook mogelijk om hier zelf een waarde in te geven.

GoPos

Bij het indrukken van deze knop pakt de robot het blok op bovenstaande positie. Deze knop is voor testdoeleinden en vervalt in de definitieve versie.

Snap

Bij het indrukken van deze knop gaat de robot naar de snapshot positie en geeft de server opdracht voor het maken van een snapshot. Deze knop is bestemd voor testdoeleinden en vervalt in de definitieve versie.

(23)

23 Status

De statusmelding geeft informatie over de toestand van de robot en het programma. In de statusmelding kun je zien met welke routine of opdracht de controller bezig is.

Error en Errorcode

De errormelding geeft informatie over fouten die tijdens een opdracht op kunnen treden. De errorcode is een getal dat hoort bij een errormelding. Het is namelijk in een programma makkelijker een getal af te vragen dan een string. Voorlopig zijn de volgende errorcodes met bijbehorende melding bekend.

00 = Geen fouten

01 = Object buiten bereik

Dit treedt op als de coördinaten buiten het speelveld vallen. Dit wordt gecontroleerd in de routine controleer positie blok.

02 = Data niet ok

Dit treedt op als de verstuurde beelddata niet overeenkomt met het afgesproken protocol. Dit is nog niet geïmplementeerd.

03 = Camera niet gecalibreerd

Deze foutmelding wordt meegestuurd met de beelddata. Dit wordt gecontroleerd in de beelddata software.

04 = Geen blok op deze positie

Dit treedt op als de beursbezoeker een blok uit de toren wil trekken dat al is verwijderd. Deze check wordt gemaakt in de routine controleer keuze.

(24)

24 6.3 Software voor het aansturen van de robot

In dit hoofdstuk worden eerst de algemene begrippen zoals die van toepassing zijn in de robotica beschreven, namelijk Tool Center Point, coördinatenstelsels, posities en rotaties. Daarna worden de flowdiagrammen gebruikt om de verschillende procedures in de software te ontwikkelen. Het gebruikte softwarepakket voor het programmeren van de ABB robot is Robotstudio en wordt gebruikt voor simulatie en offline programmeren van ABB-robots. De simulaties in Robotstudio gedragen zich hetzelfde als de “echte” robot. Met Robotstudio kunnen wijzigingen en simulaties worden uitgevoerd op een reeds geschreven programma zonder dat de robot of het productieproces moet worden stilgezet. Je kunt van tevoren bekijken hoe dat er in de praktijk uit gaat zien. In bijlage 11 de volledige code.

6.3.1 Tool Center Point (TCP)

In een eenvoudige toepassing kan het toolcoördinatenstelsel worden gebruikt om de oriëntatie van het gereedschap te definiëren. Dit coördinatenstelsel kan niet worden gewijzigd en is als volgt gedefinieerd ten opzichte van de montageflens van de robot.

• De oorsprong is het midden van de montageflens.

• De x-as wijst in tegengestelde richting van het gat voor de paspen.

• De z-as valt samen met as 6 van de robot en staat loodrecht op de montageflens.

Figuur 17. het toolcoördinatenstelsel

De bewegingen die een robot maakt zijn in principe bewegingen van het gereedschapmiddelpunt, oftewel het Tool Center Point. Het TCP wordt normaal ergens gedefinieerd op het gereedschap, bijvoorbeeld in het mondstuk van een lijmpistool of in het midden van een grijper. De positie en oriëntatie van het TCP liggen vast ten op zichte van het toolcoördinatenstelsel van de robot en het TCP beweegt mee met de hand van de robot. Indien geen TCP gedefinieerd wordt door de programmeur ligt dit op het toolcoördinatenstelsel. Het is mogelijk meerdere TCP's vast te leggen voor een robot. Echter één daarvan kan slechts actief zijn. Meerdere TCP's zijn belangrijk en gemakkelijk wanneer een robot verschillende bewerkingen of werkzaamheden moet uitvoeren met verschillende gereedschappen (VDL Steelweld, 2009).

(25)

25 Figuur 18. Toegepaste TCP in robotstudio

6.3.2 Coördinatenstelsels

Coördinatenstelsels worden toegepast om het joggen en programmeren van de robot te vereenvoudigen. In de onderstaande figuur zijn de belangrijkste coördinatenstelsels weergegeven.

Figuur 19. De verschillende coördinatenstelsels

Het base- en het tool coördinatenstelsel kunnen niet aangepast worden. Echter ten opzichte van het base coördinatenstelsel kunnen in de "vaste wereld" verschillende hulpstelsels aangemaakt worden. Ten opzichte van het tool coördinatenstelsel kunnen met de robot meebewegende gereedschapscoördinaten (TCP’s) worden gedefinieerd. De coördinatenstelsels kunnen worden geprogrammeerd door numerieke waarden te specificeren of door de robot langs een aantal posities te joggen. Hieronder volgt een omschrijving van de belangrijkste stelsels en hun toepassing.

Het base coördinatenstelsel bevindt zich in de basis van de robot: • Het begin bevindt zich in het snijpunt van as 1 en het sokkeloppervlak. • Het XY-vlak is hetzelfde als het sokkeloppervlak.

• De X-as wijst naar voren.

• De Y-as wijst naar links (vanuit de robot gezien). • De Z-as wijst naar boven.

Als de robot op de vloer gemonteerd is, kan men simpel weg programmeren in het base coördinatenstelsel. Als de robot ondersteboven opgehangen is, wordt het programmeren in het base coördinatenstelsel moeilijker, omdat de richtingen van de assen niet hetzelfde zijn als de hoofdrichtingen in de werkruimte. Het kan gemakkelijk zijn een gemeenschappelijk worldframe te definiëren wanneer

(26)

26

meerdere robots in een werkruimte moeten samenwerken. Indien een robot op een slede wordt gebruikt, kan het eveneens gemakkelijk zijn een worldframe aan te maken. Het world coördinatenstelsel valt samen met het base coördinatenstelsel indien het niet specifiek is bepaald. Een robot kan werken met verschillende bevestigingen of werkoppervlakken die verschillende posities en oriëntaties hebben. Voor elke bevestiging kan een user coördinatenstelsel worden gedefinieerd. Indien alle paden ten opzichte van dit user coördinatenstelsel zijn opgeslagen, hoeft niet opnieuw geprogrammeerd te worden als een bevestiging wordt verplaatst of verdraaid. Door het user coördinatenstelsel even veel te verplaatsen of te verdraaien zullen alle geprogrammeerde posities de bevestiging volgen. Indien een bevestiging of werkoppervlak meerdere werkobjecten bevat die door de robot moeten worden verwerkt of behandelt, is het raadzaam gebruik te maken van object coördinatenstelsels. Op deze manier is het programma gemakkelijk aan te passen indien het object wordt verplaatst of indien een nieuw object, op een andere plaats moet worden geprogrammeerd (VDL Steelweld, 2009).

In de simulatie voor de Jenga robot zijn twee user coördinatenstelsels aangemaakt Wobj_Veld en Wobj_Toren. Wobj_Veld wordt gebruikt als referentie(nul)punt om in combinatie met de camera de posities en rotaties van de blokken te bepalen nadat de toren is ingestort. Wobj_Toren wordt gebruikt als referentiepunt voor bewerkingen die met het opbouwen van de toren en het pakken van blokken uit de toren te maken hebben.

Figuur 20. Een weergave van de gebruikte user coördinatenstelsels.

6.3.3 Posities en rotaties

Naast de posities X, Y en Z kunnen de blokken drie mogelijke rotaties hebben zoals in onderstaande figuur is te zien. Een rotatie in het platte vlak (Z-rotatie) een rotatie in de lengte van het blok (Y-rotatie) en een rotatie in de breedte van het blok (X-rotatie) en een combinatie van deze drie.

(27)

27

Voordat de software wordt gerealiseerd, moeten er eerst afspraken tussen het visionsysteem en de robotcontroller worden gemaakt. Er moet worden bepaald hoe het coördinatenstelsel eruit gaat zien en hoe de rotaties worden gedefinieerd. Voor het coördinatenstelsel worden de volgende afspraken gemaakt. Coördinaat (0,0) ligt linksonder in de hoek. De y-posities liggen op de horizontale as en de x-posities op de verticale as. De z-positie (de hoogte) wordt nu negatief gezien ten opzichte van de tafel. Uiteindelijk is het speelveld de rode cirkel. Er moeten dus maatregelen worden genomen om ervoor te zorgen dat alleen de posities binnen de cirkel valide zijn. Ook moet er rekening worden gehouden met de minimale en maximale X-, Y- en Z-posities en rotaties in verband met de reikwijdte van de robot.

Figuur 22. Het toegepaste coördinatenstelsel

De z-rotatie heeft een bereik tussen de +180˚ en -180˚. De z-rotatie wordt voor een groot deel bepaald door de y-rotatie. Wanneer de y-rotatie 0˚ is, dus het blok in het platte vlak ligt, maakt het niet uit of je de positie hoek of de tegenover liggende negatieve hoek pakt.

(28)

28

Voor de definitie van de y-rotatie gelden de volgende afspraken. De y-rotatie heeft een bereik van 0˚ tot 90˚.

Figuur 24. Y-rotatie

Voor de definitie van de x-rotatie gelden de volgende afspraken. De x-rotatie heeft een bereik van +45˚ tot -45˚. In bijlage 13 een weergave van de mogelijke posities en rotaties.

Figuur 25. X-rotatie

In de software wordt, nadat de beelddata is binnen gehaald, gecontroleerd of de posities en rotaties hun grenzen niet overschrijden en binnen het speelveld vallen. Wanneer dit het geval is wordt een melding gegeven en het programma gepauzeerd. Nadat het probleem is opgelost kan het programma worden hervat.

7. De proefopstelling

Eind februari 2013 kregen we bij Avans de beschikking over een ABB IRB120-robot. Met deze robot hebben we een testopstelling gemaakt. Hiermee hebben we testen verricht in combinatie met de ToF-camera, de grijper en de blokken. Voor mij als afstudeerder een welkome aanwinst, want nu kunnen de geschreven routines voor de robot in de praktijk worden getest en het gaf mij de kans om met een ABB-controller te werken. Om de werking van de grijper (zuignap par3.6.1) te testen, is de routine voor het opbouwen van de toren gebruikt. In eerste instantie werd de toren opgebouwd vanaf een vast pickpoint. Dit werkte meteen. Na het opbouwen van de toren, door de robot, is de routine play Jenga getest. Hier bleek dat de grijper ook geschikt was om blokken aan de kopse kant uit de toren te trekken. Eerst werden hiervoor de blokken gekozen die los in de toren zaten. Ook de blokken die vast zaten in de toren werden probleemloos door de grijper uit de toren getrokken. Dit resulteerde wel in het scheef trekken van de toren. Het boven op de toren plaatsen nadat het blok uit de toren was getrokken ging ook goed. Deze routines zijn allemaal in robotstudio gemaakt en gesimuleerd, een teken dat robotstudio erg goed overeenkomt met de werkelijkheid. Daarna is er verbinding gemaakt met de PC voor het ophalen van de 3D-beelddata. Het communicatieprotocol zoals beschreven in hoofdstuk 5 werkte probleemloos. Bij het doorgeven van de 3D-beelddata liepen we tegen de beperkingen van de robot aan wat betreft reikwijdte. Onze testen konden alleen maar uitgevoerd worden in het gebied voor en deels naast de opbouwplek van de toren. Als eerste zijn er testen uitgevoerd in het platte vlak met alleen een Z-rotatie. De door de PC gegenereerde 3D-beelddata kwam steeds goed binnen, maar er zat een behoorlijke afwijking in de X-, Y-,

(29)

29

en Z-coördinaten. De afwijking in de Z-rotatie bedroeg maar 2°. Door de afwijkingen in de posities werden de blokken helemaal niet of niet goed door de robot opgepakt. Ondanks de onnauwkeurigheid in positie werd besloten om door te gaan met het verder testen van twee rotaties. Ook hier hadden we weer hetzelfde probleem; rotaties in Z- en Y-richting nauwkeurig, X-,Y- en Z-posities niet. De resultaten van de testen hebben geleid tot de conclusies en aanbevelingen in hoofdstuk 8. Er wordt nog gewerkt aan de 3D-beelddata om de posities nauwkeuriger door te geven.

(30)

30

8. Conclusie en aanbevelingen 8.1 Conclusies

De beperkte resolutie van de camera zorgt ervoor dat de blokken tijdens het opstapelen niet altijd exact in het midden worden opgepakt. Dit resulteert in een toren die schots en scheef wordt opgebouwd. De grijper functioneert goed, maar doordat de blokjes uit de toren worden getrokken kan niet worden “gevoeld” of een blok los zit. Dit zou kunnen betekenen dat na één blok te hebben verwijderd de toren al omvalt. In de huidige opzet worden de blokken alleen op basis van coördinaten uit de toren getrokken. Een scheefstelling van de toren tijdens het spelen wordt niet gesignaleerd. Dat kan betekenen dat de grijper naast een blok grijpt. Nadat de toren is omgevallen moet zeker worden gesteld dat de blokken binnen het bereik van de robot liggen tijdens het opbouwen van de toren. Verder is gebleken dat de geschreven routines in robotstudio goed werken en geschikt zijn om te gebruiken als uitgangspunt voor een vervolgopdracht.

8.2 Aanbevelingen Blokken:

- Doorsnede moet vierkant zijn.

- Om het spel goed te kunnen spelen uitvoeren met verschillende toleranties.

- Lichte kleur (voorkeur wit). Lange zijden mogen eventueel voorzien zijn van afschuining, kopse kanten absoluut niet.

Tafel:

- Matte witte ondergrond, liefst zo glad mogelijk om te zorgen dat de blokken na het omvallen van de toren zoveel mogelijk vlak komen te liggen.

Werktuig:

- Omdat de blokken tijdens het opbouwen van de toren niet exact in het midden worden opgepakt, moet in het werktuig het blok dusdanig worden gepositioneerd dat de toren recht kan worden opgebouwd.

- Er dient een terugkoppeling naar de robot plaats te vinden, zodat kan worden bepaald of het blok los ligt.

- Er dient een terugkoppeling naar de robot plaats te vinden, zodat kan worden bepaald of het blok is vastgepakt.

Visionsysteem:

- De camera is gevoelig voor direct zonlicht wat resulteert in extra ruis. Extern infrarood licht moet dus voorkomen worden.

- Bij een matte witte ondergrond werd de minste ruis gegenereerd. Een glimmend oppervlak is niet wenselijk, want dit resulteert in waardes die niet bruikbaar zijn.

Nawoord

Vanaf 23 april 2013 is er binnen CSi een project gestart voor het realiseren van de opstelling. De bedoeling is dat in oktober 2013 een volledig werkend systeem op een beurs wordt tentoongesteld. Er is tot nu toe uitgegaan van een ABB IRB1600-robot. Dit lijkt tot een te grote opstelling te leiden. De komende weken moet worden onderzocht of de robot niet kleiner kan worden. Dit zal ook afhangen van de minimale afmetingen van de blokken die nog te detecteren zijn door de camera. Wat betreft de geschreven software in robotstudio levert dat geen problemen op.

(31)

31

Literatuur

Jenga (2013). Verkregen van: http://nl.wikipedia.org/wiki/Jenga VDL Steelweld (2009). Industriële robots. Verkregen van:

http://www.induteq.nl/induteq/bestanden/Training%20Robottechniek.pdf

ABB (2004-2009).Application manual Robot communication and I/O control. Verkregen van: control

http://lecture.sccsc.edu/amt/AMT%20206%20Electricity%20and%20Automation/ABB %20IRB%20140%20Robot/files/3HAC020435-001_revF_en.pdf

(32)

32 Bijlage 1. PMD

PROJECT MANAGEMENT DOCUMENT

Project: Beursopstelling met Robot

Versie: 8

Bijgewerkt : 26-10-2012

Startdatum: 01-08-2012

Einddatum: juni 2013

Akkoord Bedrijf Akkoord Hogeschool Opsteldatum:

Student : Hans Jonkers Studentnr: 2025890

(33)

33

Uitvoeringsgegevens

Bedrijfsgegevens:

CSi Netherlands

Lissenveld 41

4941VL Raamsdonksveer

Nederland

Tel: +31 162 575000

E-mail: info@csiweb.nl

Bedrijfsbegeleiding:

Henk Meeuwissen

Tel: 0162-575197

06-20435081

E-mail: henkmeeuwissen@csiweb.nl

Robin van Praat

E-mail: RobinvanPraat@csiweb.nl

Onderwijsinstelling:

Avans Hogeschool

Academie voor Technologie en Management

Adres:

Postadres:

Lovensdijkstraat 61-63

Avans Hogeschool

4818AJ Breda

Postbus 90.116

Receptie 076- 525 05 00

4800 RA Breda

Hogeschoolbegeleiding:

Peter Klijn

Tel: 076-5238549

E-mail: plaj.klijn@avans.nl

Student

Hans Jonkers

Kortendijksestraat 99

4706CC Roosendaal

Tel: 076-5250592

06-10157397

(34)

34

Bedrijfskarakteristiek

Branche

De branche waar CSi zich in bevindt is Automated Material-handling systemen.

CSi industries B.V levert volledig geïntrigeerde material handlingsystemen en heeft installaties

geleverd over de hele wereld.

hierbij moet u denken aan;

- Conveyorsystemen voor verpakte producten

- Verpakkingsmachines

- Palletiseer machines

- Pallet handling machines

- Order picking systemen in distributiemagazijnen

Geschiedenis

CSi, in 1964 opgericht in Rotterdam, is al meer dan 45 jaar actief op de markt, aanvankelijk als

kleine transportbandleverancier, maar het bedrijf groeide en werd uiteindelijk in de jaren ‘70,

een deel van de Zweedse PLM-groep.

Tijdens de jaren ’80 werd het een zelfstandig bedrijf, dat uiteindelijk werd gekocht door het Stork

concern. Na verschillende pogingen om de Stork Group te herstructureren, vond er een

management buy-out plaats. Vanaf 2001 werd CSi weer een onafhankelijk bedrijf.

In 2003 werd het bedrijf Ridder Packaging Systems aangekocht en samengevoegd met CSi. Ook

werd de merknaam Ivanhoe op de markt gebracht. Hieronder zouden vanaf dat moment

gestandaardiseerde palletiseeroplossingen verkocht worden. In 2005 werd een nieuwe

productievestiging in Roemenië geopend. CSi Ramania voor het vervaardigen van logistieke

systemen en AlphaLas voor het fabriceren van apparatuur voor derden.

Organisatie

De hoofdvestiging bevindt zich te Raamsdonksveer in Nederland, daar zetelt ook het algemene

bestuur. Het management team bestaat uit 5 personen.

CSi heeft in totaal ongeveer 400 mensen in dienst en realiseert een jaaromzet van ongeveer 50

miljoen.

Product, diensten en assortiment

CSi heeft een enorm breed scala aan producten die toegespitst zijn op de marktgebieden waar

deze voor zijn ontwikkeld. Voor elk marktgebied worden aparte producten en diensten

aangeboden. Dit komt omdat CSi een geheel probleem aanpakt en vervolgens de oplossing

turnkey aanlevert bij de klant. Het bedrijf heeft dus het gehele project in handen van begin tot

eind.

(35)

35

Diensten

Consultancy

Om de klanten te helpen hun weg naar automatisering soepel te laten verlopen biedt CSi een

reeks van consultancy activiteiten aan.

Turnkey oplossingen

Door ervaring in verschillende industrietakken heeft CSi kennis opgebouwd om een grote

verscheidenheid aan machines met de nieuwste technologieën aan te bieden.

Life Cycle Services

CSi biedt haar klanten een grote verscheidenheid aan diensten aan om tijdens de volledige

levenscyclus van het material handlings systeem aan alle behoeftes te voldoen.

Leasing

Via de divisie CSi Financial Services biedt CSi de mogelijkheid om een project op basis van

lease-overeenkomsten te leveren in plaats van via een rechtstreekse aankoop.

Producttransport

CSi is een van ’s werelds grootste toonaangevende leveranciers van conveyorsystemen voor

primair verpakte producten.

Verpakken

CSi is trots op de nauwe partnerschappen die ze vormen met hun klanten. Hierdoor zijn ze in

staat om de meest geschikte verpakkingstechnologie te zoeken die beschikbaar is op de markt.

Paktransport

CSi is gespecialiseerd in het ontwerpen en vervaardigen van conveyorsystemen voor secundair

verpakte goederen.

Palletiseren

Palletiseersystemen besparen tijd en maken zware handmatige palletiseerhandelingen aan het

einde van de verpakkingslijn overbodig.

Orderpicken en opslagsystemen

CSi’s hoge capaciteit zone picking conveyors bieden mogelijkheden om klantspecifieke bakken

naar de juiste locatie in het magazijn te vervoeren.

Sorteren

CSi biedt een scala aan sorteertechnologieen die is afgestemd op de individuele behoeften van

elke klant.

(36)

36

Beleid (huidige beleidsdoelen)

Bedrijfsfilosofie

CSi streeft er voortdurend naar de prettigste, meest gerespecteerde en hoogst gewaardeerde

producent van intelligente product handling systemen te zijn.

Doel is er voor te zorgen dat de contacten met de klanten langdurig en plezierig zijn.

Innovatie

Het aanbieden van de best mogelijke oplossing aan de klanten vereist een hoog niveau van

innovatie. CSi ontwikkelt voortdurend nieuwe producten en diensten om aan de eisen van hun

klanten te voldoen.

Veiligheid, gezondheid en milieu

CSi heeft het VG&M- beleid hoog in het vaandel staan, het vormt de kern van CSi’s

duurzaamheidsaanpak.

Duurzaamheid

CSi beleid hierin is eenvoudig; ze willen de negatieve effecten die voortvloeien uit hun

activiteiten actief verminderen, vanaf het initiele concept en gedurende de gehele levenscyclus

van hun diensten en producten.

De stichting Peter Pan is een liefdadigheidsinstelling, opgericht door CSi, die kansarme kinderen

in vele landen ondersteunt. Bij de activiteiten van de stichting spelen directie en medewerkers

een belangrijke rol.

Probleemstelling van het project

CSi is een dynamisch en innovatief bedrijf dat wereldwijd met klanten heeft te maken. Eén van de

manieren om de toekomstige klanten te interesseren voor de producten en mogelijkheden van

CSi is via (vak)beurzen. Momenteel worden op beurzen zware, kostbare opstellingen geplaatst.

Door de omvang en kosten van deze opstellingen worden ze niet op kleine beurzen geplaatst.

Daarom is er binnen CSi behoefte aan een lichte, compacte robotopstelling. Deze robotopstelling

moet makkelijk te vervoeren en te plaatsen zijn en op een leuke, interactieve manier de

beursbezoeker prikkelen om de CSi-stand te bezoeken. Tevens moet de robotopstelling op een

representatieve manier de producten en diensten van CSi aan de beursbezoeker laten zien.

Omdat niet alle medewerkers van CSi die op de stand staan technisch zijn, moet het plaatsen en

in gebruik nemen ook door een niet-technisch iemand mogelijk zijn.

(37)

37

Doelstelling

- Het realiseren van een compacte beurs-robotopstelling.

- De opstelling moet op een leuke, interactieve manier de beursbezoeker prikkelen om de

CSi-stand te bezoeken en zodoende kennis te nemen van de producten en diensten van

CSi.

- Als middel voor de interactie met het publiek wordt het spel jenga

(nl.wikipedia.org/wiki/Jenga) gebruikt. De beursbezoeker geeft hierbij opdracht aan de

robot om een blokje uit de stapel te pakken en bovenop de toren te leggen.

-

De opstelling moet makkelijk te verplaatsen zijn en in bedrijf gesteld kunnen worden.

Globaal tijdschema

Maand Handeling

Augustus

- Opstellen van PMD

- Opstellen functionele eisen vision opdracht voor studenten van de

minor embedded

-

September

- Taken verdelen en plannen mijlpalen studenten embedded

- Conceptschets maken van totale opstelling

- Analyseren van toe te passen grijper

-

Oktober

- Definitief ontwerp van totale opstelling.

- Ontwerpen werktuig.

- Testen van opgeleverde producten van studenten.

-

November

- Programmeren van Robotstudio en Flex Pendant.

-

December

- Testen van proefopstelling

-

Januari

- Bijstellen mogelijkheden vision systeem aan de hand van oplevering

van opdracht door studenten minor embedded.

- Tussenverslag inleveren

-

Februari

- Testen van proefopstelling

- Demo geven aan belanghebbenden

-

Maart

- Analyseren mogelijkheden HMI als vervanging van Flex Pendant

-

April

- Realiseren definitieve HMI

- Realiseren definitieve opstelling

-

Mei

- Testen van beurswaardigheid van opstelling

-

Juni

- Opleveren van verslag en Beursopstelling met Robot

-

(38)

38

Eisen (randvoorwaarden)

1. Externe voorwaarden

: dit zijn onveranderbare eisen die van buiten komen

2. Functionele eisen

: hoe moet het projectresultaat straks functioneren

3. Bedrijfseigen beperkingen

: bijvoorbeeld gebruikelijke procedures.

4. Risicoanalyse

Externe voorwaarden

De opstelling kan als een machine worden beschouwd en moet dus voldoen aan de

machinerichtlijn.

Functionele eisen

- De robot kan een willekeurig object uit een bestaande toren nemen, waarvan de positie

volledig bekend is (dus van het object ook).

- Nadat de toren is ingestort, maakt de robot eerst het speelveld vrij.

- Als het speelveld vrij is, wordt met behulp van camera’s en sensoren uit de chaos een

nieuwe toren gebouwd.

Bedrijfseigen beperkingen

- Als CSi een voorgeschreven werkprotocol op hardware en software gebied heeft, dient dit

protocol te worden gevolgd.

- Bij voorkeur moeten de componenten worden gekocht bij leveranciers waar CSi al een

relatie mee heeft.

- In verband met afschrijving moet de robot elk jaar worden gewisseld met een nieuwe.

Risicoanalyse

- De opstelling wordt gebruikt in een drukke, publieke omgeving. Om de veiligheid van

beursbezoekers te waarborgen moet te allen tijde gevaar voor beursbezoekers worden

vermeden.

- Om imagoschade te voorkomen dient de opstelling volgens genormeerde

veiligheidsnormen te opereren.

Kwaliteitsbewaking

Het functioneren en alle werkzaamheden van de student zullen als eerste worden gecontroleerd

door bedrijfsbegeleider Henk Meeuwissen. Deze zal alle documenten die worden geproduceerd

controleren op de kwaliteit en eisen waar het aan moet voldoen. Daarnaast zal hij toezicht houden

op de vordering van het project door middel van voortgangsgesprekken.

Voor technische vragen over de uitvoering van het project kan bedrijfsbegeleider Robin van Praat

worden benaderd.

(39)

39

Organisatie

Afspraken Avans:

- Levert afstudeerder voor maximaal 2 dagen per week gedurende een jaar.

- Biedt expertise en ondersteuning vanuit het lectoraat mechatronica.

- Levert studenten voor ondersteuning.

Afspraken CSi

- Heeft budget voor aanschaffen van componenten.

- Biedt afstudeerder de mogelijkheid om in ieder geval 2 dagen per week op hun locatie te

werken.

- Biedt expertise en ondersteuning aan afstudeerder op het gebied van bij voorbeeld:

o Machineveiligheid

o Robotbesturing

o Elektrische realisatie van opstelling

o Mechanische realisatie van opstelling

Informatie

Alle informatie en documentatie die tijdens het project wordt gegenereerd, zal tijdens het project

worden beheerd door Hans Jonkers. Bij beëindiging van het project wordt alle beschikbare

informatie overgedragen aan Henk Meeuwissen, bedrijfsbegeleider bij CSi.

De voor dit project noodzakelijke documentatie zal op gezette tijden tijdens het project ter inzage

worden aangeboden. Deze documenten zullen, afhankelijk van de inhoud, worden aangereikt aan

Henk Meeuwissen en Peter Klijn.

Alle documenten zullen tijdens het project digitaal worden verzonden en slechts op verzoek worden

afgedrukt. Aan het einde van het project zullen alle documenten worden gebundeld en zowel

digitaal als in hardcopy aan de benodigde partijen worden uitgereikt.

Persoon

Bedrijf

E-mail

Soort informatie

Henk Meeuwissen

CSi

henkmeeuwissen@CSiweb.nl Alle

Robin van Praat

CSi

RobinvanPraat@csiweb.nl

Alle

(40)

40

(41)
(42)

42 Bijlage 3. Datasheet IRB1600

(43)
(44)

44 Bijlage 4. Datasheets IRC5-Controller

(45)
(46)

46 Bijlage 5. Samenstelling van het robot systeem

Optie Code Omschrijving

Second language 644-1 Frans

Third language 645-7 Nederlands

DeviceNet# Lean 748-1 Communicatie met DeviceNet kan worden toegepast

Fieldbus adapters 840-2 PROFIBUS module aanwezig

MultiFunction 824-1 Meerdere functies kunnen tegelijkertijd worden uitgevoerd

Multitasking 623-1 Zie Multifunction

Flexpendant Interface 617-1 Nodig voor het gebruik van FlexPendant Interface

PC interface 616-1 Nodig voor communicatie met een externe PC FTP and NFS client 614-1 Nodig voor communicatie via ethernet

Path Recovery 611-1 Extra feature voor robot

World Zones 608-1 Optie voor gebruiken van World zones binnen rapid.

Accessories

FlexPendant 701-1 FlexPendant met 10 m snoer Digitale I/O kaart 716-1 Digital 24V 16In/16Out 1 EA

(47)

47

Bijlage 6. Opdrachtomschrijving aan derden voor de opstelling en het werktuig Aanleiding

Het lectoraat Mechatronica ontwikkelt in samenwerking met het bedrijf CSi een robot die het spel Jenga kan spelen. Het spel Jenga bestaat uit een toren van gelijkvormige blokjes, waarbij de spelers om de beurt (op een willekeurige plaats) een blok uit de toren moeten trekken en bovenop de toren plaatsen. Het spel eindigt als de toren instort. Voor deze toepassing wordt gebruik gemaakt van een industriële robot van ABB die informatie krijgt van een TOF-camera. Deze robot en camera moeten uiteraard in een opstelling verwerkt worden. Deze opstelling moet een aantrekkelijk uiterlijk hebben, omdat het de bedoeling is dat deze als beursopstelling gebruikt gaat worden. Van de opstelling is al een eerste opzet bekend. Deze opstelling moet echter nog geconstrueerd worden (inclusief berekening qua sterkte en stabiliteit). Verder moet de robot nog voorzien worden van een werktuig waarmee blokjes vastgegrepen en geplaatst kunnen worden en het speelveld kan worden leeggeveegd.

Opdracht

Het construeren van de opstelling en het ontwerpen en construeren van een werktuig waarmee de Jenga-blokken gehanteerd kunnen worden.

Voorgeschreven componenten

 Een ABB robot van het type IRB 1600-6/1.45.

 De bijbehorende IRC5 controller in single cabinet uitvoering.

 Als TOF-camera de Mesa SR4000.

 Als grijper wordt in eerste instantie uitgegaan van een zuignap. Toegepaste blokken

 Materiaal : Geschaafd vuren hout

 Afmetingen : 43x43x140 mm

 Gewicht : 130 gram Het Frame

Het frame moet aan een aantal eisen voldoen. Deze eisen zijn:

 Compact: de installatie moet door een dubbele deur kunnen.

 Licht in gewicht: de installatie moet te verplaatsen zijn door een pompwagen of heftruck.

 Makkelijk te vervoeren: de installatie moet in een bestelbusje passen.

 Makkelijk op te stellen: de installatie moet ook door niet- technici kunnen worden opgesteld.

 Uitdragen waar CSi voor staat.

 Opereren volgens genormeerde veiligheidsnormen: om imagoschade te voorkomen.

De tafel met het speelveld

Op de tafel wordt het spel gespeeld. Er is gekozen voor een ronde tafel met een diameter van 100 cm en een hoogte van 80 cm. De diameter van de tafel wordt hierbij bepaald door de reikwijdte van de robot en de hoogte is een standaard hoogte voor een werkbank. Om te voorkomen dat de blokken van de tafel vallen, moet er een opvangrand met een minimale hoogte van 30 cm. rondom de rand van het tafelblad worden gemonteerd.

(48)

48

Het frame voor de controller

De controller wordt op een plateau met wielen geplaatst en kan in de nabijheid van de robot uit het zicht van de beursbezoekers worden opgesteld.

Functionele eisen voor het werktuig:

- Moet de onderste laag van de toren kunnen pakken. - Moet de toren van alle kanten kunnen benaderen.

- Moet de mogelijkheid bieden voor het schoonvegen van het speelveld.

- Voorlopig wordt er uitgegaan van een pneumatische grijper daarom moet er plaats zijn voor een zuignap.

- Moet plaats bieden aan de TOF-camera

- Bij het ontwerp moet rekening worden gehouden met de bewegingen voor het uitvoeren van de verschillende functies, zodat slangen en snoeren niet kapot worden getrokken.

Veiligheidseisen

 Om imagoschade te voorkomen dient de opstelling volgens genormeerde veiligheidsnormen te opereren.

 Bij voorkeur houden we de opstelling zo open mogelijk, maar indien de veiligheid in het geding is, moet ook worden gedacht aan een fysieke afscherming

Voor extra informatie kun je contact opnemen met Hans Jonkers

Lokaal 61.228

(49)

49 Bijlage 7. Datasheet Time of Flight camera Mesa SR4000

(50)
(51)
(52)
(53)
(54)
(55)

Referenties

GERELATEERDE DOCUMENTEN

Daarnaast moet het aluminium worden beschermd tegen verdere oxidatie, dit kun je realiseren door gebruik te maken van inert gas (TIG of MIG lassen)..

Jij en je collega’s gaven één of meerdere cliënten van jullie locatie op als deelnemer aan een logeerperiode voor sociale robot Phi.. Hiermee dragen jullie en cliënten bij

• Technologie is niet exogeen: rol voor overheid, ingenieurs, bonden en werkgevers….3.

Over de hele wereld worden momenteel militaire robots ontwikkeld en duizenden robots zijn al actief in Irak en Afghanistan.. Het gaat dan bijvoorbeeld om onbemande

Dit betekent dat met de gekozen karakteristieke waarde van de spleetbreedte (2,8 mm,   1,64  ), de ontwerpwaarde van de soortelijke massa (2300 kg/m 3 ) en verder

Jullie gaan een robot maken die aan één belangrijke eis moet voldoen: hij moet stevig kunnen staan?. Lees kopieerblad 2: Het begin van robots uit Van oerknal tot robot voor aan

Iedereen legt om de beurt (met de klok mee) 4 houten blokken op elkaar, zodat de toren steeds hoger wordt.. Vorm

10.5 Indien en voor zover een reclamatie door Robot gegrond wordt bevonden, dan is Robot uitsluitend verplicht naar keuze het/de gebrek(en) te herstellen dan wel de