Autonome transportrobot Analyse – Increment 1
Datum: 17 November 2010 Versie: 0.5
HAN Hogeschool van Arnhem van Nijmegen Automagic
Document historie: Versie
Aanpassingen
Datum:
Naam:
0.1
Initieel document
11-11-2010
Vincent Bergervoet
0.2
Gedrag rijden + stakeholders
16-11-2010
Vincent Bergervoet
0.3
Noodstop
16-11-2010
Jurgen Reintjes
0.4
Stakeholders + Usecases
17-11-2010
Vincent Bergervoet
0.5
Eisen
17-11-2010
Jurgen Reintjes
0.6
Eisen heringedeeld en onderlinge afhankelijkheden aangegeven.
23-11-2010
Stefan Zwanenburg
0.7
Eisen uitgebreid met een “meetbaarheid” onderdeel.
23-11-2010
Stefan Zwanenburg
1-2
HAN Hogeschool van Arnhem van Nijmegen Automagic
Voorwoord: Voor het analysedocument is de opdracht onderzocht en zijn er in een gesprek met de opdrachtgever eisen opgesteld en gespecificeerd. Om deze eisen te realiseren in het prototype hebben we gekeken welke mogelijkheden er zijn. In increment 1 hebben we puur naar de eenvoudige functionaliteit gekeken van de robot, in de komende incrementen breiden we deze functionaliteit uit met meerdere incrementen.
1-3
HAN Hogeschool van Arnhem van Nijmegen Automagic
Inhoudsopgave Document historie: ............................................................................................................. 1-2 Voorwoord: ........................................................................................................................ 1-3 1 Probleemstelling ........................................................................................................ 1-6 1.1 Increment 1 – Rijden en ontwijken ....................................................................................... 1-6 2 Stakeholders .............................................................................................................. 2-7 2.1 Baco .................................................................................................................................................... 2-7 2.2 Automagic ........................................................................................................................................ 2-7 2.3 Wetgeving ........................................................................................................................................ 2-7 3 Eisen .......................................................................................................................... 3-8 3.1 Functionality ................................................................................................................................... 3-8 F1. Rijden .................................................................................................................................................... 3-8 F2. Draaien ................................................................................................................................................ 3-8 F3. Obstakels ontwijken ....................................................................................................................... 3-8 F4. Banen volgen ..................................................................................................................................... 3-8 F5. Kruispunten herkennen ................................................................................................................ 3-9 F6. Zelfstandig van A naar B.............................................................................................................. 3-9 F7. Banen onthouden ............................................................................................................................ 3-9 3.2 Usability ............................................................................................................................................ 3-9 U1. Zelflerend ............................................................................................................................................ 3-9 U2. Eenvoudig te programmeren..................................................................................................... 3-9 U3. Afmetingen ...................................................................................................................................... 3-10 3.3 Reliability ...................................................................................................................................... 3-10 R1. Noodstop .......................................................................................................................................... 3-10 R2. Willekeurige beginpositie......................................................................................................... 3-10 3.4 Performance................................................................................................................................. 3-10 P1. Kortst mogelijke route ............................................................................................................... 3-10 3.5 Supportability.............................................................................................................................. 3-11 S1. Gebruikershandleiding .............................................................................................................. 3-11 S2. Onderhoudshandleiding ............................................................................................................ 3-11 4 Gedrag ..................................................................................................................... 4-12 4.1 Rijden .............................................................................................................................................. 4-12 4.1.1 Sturen................................................................................................................................................. 4-12 4.1.2 Voorkeur ........................................................................................................................................... 4-12 4.2 Detectie obstakels voor en achter de robot .................................................................... 4-12 4.2.1 Afstandssensoren .......................................................................................................................... 4-12 4.2.2 Druksensoren ................................................................................................................................. 4-12 4.2.3 Voorkeur ........................................................................................................................................... 4-12 4.3 Ontwijken ...................................................................................................................................... 4-13 4.3.1 Om het obstakel heen ................................................................................................................. 4-13 4.3.2 Andere route ................................................................................................................................... 4-13 4.3.3 Voorkeur ........................................................................................................................................... 4-13 4.4 Noodstop ....................................................................................................................................... 4-14
1-4
HAN Hogeschool van Arnhem van Nijmegen Automagic 5 Use Cases ................................................................................................................. 5-16 5.1 Actoren ........................................................................................................................................... 5-16 5.2 Stakeholders ................................................................................................................................ 5-16 5.3 Usecase 1 – Rijden ..................................................................................................................... 5-16 5.4 Usecase 2 – Ontwijken ............................................................................................................. 5-17 5.5 Usecase Diagram ........................................................................................................................ 5-17
1-5
HAN Hogeschool van Arnhem van Nijmegen Automagic
1 Probleemstelling Assemblagebedrijf BaCo bouwt boven op onderstellen een carrosserie voor touringcar- en openbaar vervoerbedrijven. Het transport van carrosseriedelen vanuit het magazijn naar de assemblagelijnen gebeurt momenteel met vorkheftrucks. BaCo heeft geconstateerd dat er een reële kans op ongelukken bestaat door bijvoorbeeld aanrijdingen en onderdelen die van de heftruck of stellingen kunnen vallen. Baco wil hun magazijn om deze reden hun magazijn automatiseren en denkt zelf hierbij aan een robot die het werk van de vorkheftrucks overneemt. Het werk dat de magazijnrobot moet overnemen is het zelfstandig halen en brengen van onderdelen die door de productieafdeling opgevraagd worden, dit op een zo efficiënt en veilig mogelijke manier.
1.1 Increment 1 – Rijden en ontwijken
Om onderdelen door het magazijn te kunnen transporteren moet de robot kunnen rijden. Om te kunnen rijden heeft de robot aandrijving en wielen of rupsbanden nodig. Rijden omvat het hele proces om van A naar B te komen. Voor dit increment wordt het echter beperkt tot de robot te laten rijden en het ontwijken van obstakels. In de komende incrementen wordt de functionaliteit van rijden uitgebreid met het volgen van een lijn en het navigeren door een magazijn. De definitie van ontwijken is ‘uit de weg gaan’. In het magazijn kan de robot een obstakel of persoon tegenkomen. Een persoon kan zelf uit de weg gaan voor de robot, zodat deze door kan rijden. Een object kan dat echter niet, en zal dus de robot zelf uit de weg moeten gaan. De robot zal een nieuwe route moeten zoeken door het magazijn.
1-6
HAN Hogeschool van Arnhem van Nijmegen Automagic
2 Stakeholders Er zijn verschillende partijen die aandeel hebben in de ontwikkeling van de magazijnrobot, deze mensen worden de stakeholders genoemd. Stakeholders zijn naast de opdrachtgever die de eisen op stelt, ook experts die verstand hebben van bijvoorbeeld veiligheidseisen. Stakeholders zijn op te delen in de groepen: BaCo, Automagic en wetgeving.
2.1 Baco
B.1 De opdrachtgever De opdrachtgever is de directeur van BaCo, Leon Bronckers. Dhr. Bronckers bepaalt welke eisen uitgevoerd dienen te worden. Aan eisen goedgekeurd door Leon Bronckers moet worden voldaan. B.2 Het management Het management van BaCo waar de opdrachtgever ook deel van is, kan beslissen over eisen over veiligheid en kosten van de robot. B.3 Technisch personeel Het technische personeel heeft verstand van machines en aan wat er mogelijk is met sensoren en actuatoren. Deze groep kan het prototype evalueren op de technische aspecten. B.4 Magazijn/productie medewerkers Deze medewerkers zijn de mensen die in de toekomst met de magzijnrobot gaan werken. Daarbij weten zij het best hoe de huidige situatie in elkaar zit op de werkvloer en tegen welke problemen zij oplopen.
2.2 Automagic
A.1 Projectbegeleider De projectbegeleider houdt het verloop van het project in de gaten en kan adviseren over onderdelen van het project. A.2 Projectleider De projectleider zorgt ervoor dat de eisen haalbaar zijn en ook gerealiseerd worden.
2.3 Wetgeving
W.1 Veiligheidseisen In de wetgeving zijn er meerdere artikelen opgenomen die over veiligheid gaan binnen een magazijn, bedrijf en over autonome robots. Omdat dit de wetgeving in Nederland is moet er aan deze eisen voldaan worden.
2-7
HAN Hogeschool van Arnhem van Nijmegen Automagic
3 Eisen De eisen zijn opgesteld volgens FURPS+, FURPS+ bestaat uit vijf hoofdcategorieën met eisen namelijk: Functionality, Usability, Reliability, Perfomance en Supportability. De eisen zijn bedoeld voor de uiteindelijke robot, voor het prototype zullen een aantal eisen niet uitvoerbaar zijn. De eisen die in dit project uitgevoerd worden hebben een kopje met een groene achtergrond.
3.1 Functionality F1.
Rijden
Prioriteit:
MUST HAVE
Afhankelijkheden:
-
Omschrijving:
De robot kan zich voortbewegen.
Meetbaarheid:
De robot verplaatst zich in een rechte lijn.
F2.
Draaien
Prioriteit:
MUST HAVE
Afhankelijkheden:
F1
Omschrijving:
De robot kan draaien, om zo een bocht te kunnen maken.
Meetbaarheid:
De robot kan minimaal 90° draaien.
F3.
Obstakels ontwijken
Prioriteit:
MUST HAVE
Afhankelijkheden:
F1
Omschrijving:
Wanneer de robot een obstakel detecteert dient het deze te ontwijken.
Meetbaarheid:
De robot rijdt hooguit tegen een obstakel, waarna het een actie onderneemt waardoor het het obstakel niet meer raakt (zoals achteruit rijden).
F4.
Banen volgen
Prioriteit:
MUST HAVE
Afhankelijkheden:
F1, F2, F3
Omschrijving:
De robot kan witte kleurbanen op een zwarte vloer herkennen en volgen.
Meetbaarheid:
De robot wijkt niet verder dan 5cm van de baan af.
3-8
HAN Hogeschool van Arnhem van Nijmegen Automagic
F5.
Kruispunten herkennen
Prioriteit:
MUST HAVE
Afhankelijkheden:
F1, F2, F3, F4
Omschrijving:
De robot herkent kruispunten tijdens het rijden op de witte kleurbanen.
Meetbaarheid:
-
F6.
Zelfstandig van A naar B
Prioriteit:
MUST HAVE
Afhankelijkheden:
F1, F2, F3, Fout! Verwijzingsbron niet gevonden., F5
Omschrijving:
De robot kan zelf een weg vinden vanaf zijn huidige locatie tot de opgegeven bestemming. Onderweg moet het obstakels ontwijken.
Meetbaarheid:
De robot weet van zijn huidige locatie tot de opgegeven bestemming te komen.
F7.
Banen onthouden
Prioriteit:
SHOULD HAVE
Afhankelijkheden:
F1, F2, F3, Fout! Verwijzingsbron niet gevonden., F5, Fout! Verwijzingsbron niet gevonden.
Omschrijving:
De robot onthoudt de banen dat het tijdens het uitvoeren van opdrachten tegenkomt.
Meetbaarheid:
-
3.2 Usability U1.
Zelflerend
Prioriteit:
SHOULD HAVE
Afhankelijkheden:
F1, F2, F3, Fout! Verwijzingsbron niet gevonden., Fout! Verwijzingsbron niet gevonden., F4
Omschrijving:
De robot leert zelf zijn omgeving kennen, zonder dat interactie met een persoon noodzakelijk is.
Meetbaarheid:
-
U2.
Eenvoudig te programmeren
Prioriteit:
COULD HAVE
Afhankelijkheden:
F7
Omschrijving:
Een gebruiker kan de robot voorzien van een kaart van het magazijn. Dit moet voor de gebruiker zo simpel mogelijk zijn.
3-9
HAN Hogeschool van Arnhem van Nijmegen Automagic Meetbaarheid:
U3.
-
Afmetingen
Prioriteit:
MUST HAVE
Afhankelijkheden:
-
Omschrijving:
De afmetingen van de robot dienen zodanig te zijn dat:
Meetbaarheid:
Het lager is dan het laagste punt boven de banen Er twee robots langs elkaar op één baan kunnen.
Hoogte: maximaal 390cm Breedte: maximaal 140cm
3.3 Reliability R1.
Noodstop
Prioriteit:
MUST HAVE
Afhankelijkheden:
-
Omschrijving:
De robot moet voorzien zijn van een duidelijk herkenbare knop. Wanneer deze knop ingedrukt wordt, worden de werkzaamheden per direct onderbroken.
Meetbaarheid:
De robot stopt alle werkzaamheden binnen 0,5s.
R2.
Willekeurige beginpositie
Prioriteit:
SHOULD HAVE
Afhankelijkheden:
F1, F2, F3, F4, F5, Fout! Verwijzingsbron niet gevonden., F4
Omschrijving:
De robot kan zijn werkzaamheden uitvoeren vanuit elke mogelijke beginpositie.
Meetbaarheid:
-
3.4 Performance P1.
Kortst mogelijke route
Prioriteit:
SHOULD HAVE
Afhankelijkheden:
F1, F2, F3, F4, F5, Fout! Verwijzingsbron niet gevonden., F4
Omschrijving:
De robot bepaalt en gebruikt de kortste weg vanaf zijn beginpositie tot de opgegeven bestemming.
Meetbaarheid:
De robot rijdt de kortst mogelijke route tot de opgegeven bestemming. De kortste route kan van tevoren met de hand bepaald worden. Als de route van de robot en de met de hand bepaalde route overeenkomen, dan wordt aan deze requirement voldaan.
3-10
HAN Hogeschool van Arnhem van Nijmegen Automagic
3.5 Supportability S1.
Gebruikershandleiding
Prioriteit:
SHOULD HAVE
Afhankelijkheden:
-
Omschrijving:
Er moet een handleiding aanwezig zijn waarmee een persoon kan leren hoe de robot te gebruiken. Onder gebruiken wordt verstaan:
Meetbaarheid:
S2.
Opdrachten geven Opdrachten onderbreken/stoppen Noodstopvoorziening gebruiken Werkzaamheden hervatten na een noodstop
Er is een gebruikershandleiding aanwezig met een uitleg voor elke in de omschrijving genoemde taak.
Onderhoudshandleiding
Prioriteit:
SHOULD HAVE
Afhankelijkheden:
-
Omschrijving:
Er moet een handleiding aanwezig zijn waarmee een persoon kan leren hoe de robot te onderhouden. Onder ‘onderhouden’ wordt verstaan:
Meetbaarheid:
Het vervangen van onderdelen
Er is een onderhoudshandleiding aanwezig met een uitleg voor elke in de omschrijving genoemde taak.
3-11
HAN Hogeschool van Arnhem van Nijmegen Automagic
4 Gedrag 4.1 Rijden
Rijden is als algemene term een ingewikkeld proces, in het rijden zit namelijk het navigeren door het magazijn en het ontwijken van obstakels bij in. In dit subhoofdstuk analyseren we de basis van rijden, de robot vooruit laten bewegen. Om de robot te laten rijden heeft deze één of twee motoren nodig. Deze motoren sturen respectievelijk een wiel-paar of één wiel per motor aan, waardoor de robot beweegt.
4.1.1 Sturen Bij de aansturing met twee motoren is er geen apart stuurmechanisme nodig omdat er met de wielen gestuurd kan worden. Door het rechter wiel vooruit en het linkerwiel achteruit te laten draaien of stil te laten staan maakt de robot een bocht naar links. Bij de aansturing van één motor en een wiel-paar moet er een apart stuursysteem ontwikkeld worden die de robot kan sturen. Omdat de robot volledig automatisch is, heeft dit systeem een motor nodig die naar links en naar rechts kan sturen.
4.1.2 Voorkeur Onze voorkeur gaat uit naar een oplossing met twee motoren die elk één wiel aansturen. De magazijnrobot moet zich behendig door het magazijn weten te navigeren, met de besturing met twee wielen kan de robot kortere bochten maken.
4.2 Detectie obstakels voor en achter de robot
Voor het detecteren hebben we twee keuzes voor sensoren: afstandssensoren en druksensoren.
4.2.1 Afstandssensoren De magazijnrobot kan met behulp van afstandssensoren de afstand meten tussen de robot zelf en objecten of muren die zich voor hem begeven. Als deze afstand kleiner dan een gespecificeerde waarde is kan de robot stoppen, doordat de robot niet tegen objecten aanrijdt kan deze harder rijden, er zal altijd voldoende stopafstand zijn.
4.2.2 Druksensoren Bij het gebruik van druksensoren zal de robot voor het detecteren van obstakels door er zacht tegen aan te botsen. Echter kan de robot niet hard rijden aangezien de robot in zeer korte afstand moet kunnen stoppen, de robot staat immers bij detectie al tegen het obstakel aan.
4.2.3 Voorkeur BaCo heeft aangegeven dat het niet erg is als de robot tegen obstakels aanrijdt, mits op gepaste snelheid zodat er niets beschadigd raakt. Onze voorkeur gaat hierdoor uit naar druksensoren, deze zijn betrouwbaarder in detectie omdat je geen rekening hoeft te houden met verstoring van het signaal door externe factoren.
4-12
HAN Hogeschool van Arnhem van Nijmegen Automagic
4.3 Ontwijken
Ontwijken kan op verschillende manieren, de robot kan proberen om het obstakel heen te rijden of de robot kan een andere route gaan zoeken.
4.3.1 Om het obstakel heen Om een obstakel heen te rijden moet de robot kunnen onderzoeken of hij er om heen kan en vervolgens aan de juiste kant eromheen te rijden. De robot kan pas weer terug naar zijn rijbaan als deze voorbij het obstakel is en zal dus regelmatig moeten kijken of het obstakel zich niet langer meer naast de robot bevindt.
4.3.2 Andere route Als er een obstakel voor de robot staat, betekend dit dat de gang waar de robot op dat moment in rijdt afgesloten is. De robot zal dus een andere route moeten zoeken in het magazijn, de robot zal dus in tegenovergestelde richting moeten wegrijden.
4.3.3 Voorkeur Omdat het om een obstakel heen rijden een intensief proces is en door de geringe ruimte vaak ook niet mogelijk zal zijn, gaat onze voorkeur uit naar het zoeken van een andere route. De robot rijd bij het tegenkomen van een obstakel de andere kant op om vervolgens een nieuwe weg door het magazijn te zoeken.
4-13
HAN Hogeschool van Arnhem van Nijmegen Automagic
4.4 Noodstop Een noodstop is een essentieel en door de regelgeving vereist. Door deze regelgeving zijn er ook vereisten aan een noodstop. RICHTLIJN 2006/42/EG VAN HET EUROPEES PARLEMENT EN DE RAAD VAN 17 MEI 2006 BETREFFENDE MACHINES EN TOT WIJZIGING VAN RICHTLIJN 95/16/EG Een machine moet zijn voorzien van één of meer noodstopinrichtingen waarmee reële of dreigende gevaar- lijke situaties kunnen worden afgewend. Dit geldt niet voor: — machines waarbij het risico niet verminderd zou worden door de noodstopinrichting, hetzij omdat deze de normale tijd waarbinnen de machine stopt niet vermindert, hetzij omdat deze het niet mogelijk maakt de in verband met het risico vereiste bijzondere maatregelen te nemen, — met de hand vastgehouden en/of met de hand geleide draagbare machines. De inrichting moet: — duidelijk herkenbare, goed zichtbare en snel bereikbare bedieningsorganen hebben, — stopzetting van een gevaarlijk proces binnen de kortst mogelijke tijd bewerkstelligen zonder extra risico's te scheppen, — indien nodig, bepaalde veiligheidsbewegingen in gang zetten of mogelijk maken dat deze in gang worden gezet.NL Wanneer de werking van de noodstopinrichting wordt beëindigd nadat een stopbevel is gegeven, moet het stopbevel door inschakeling van de noodstopinrichting gehandhaafd blijven totdat deze wordt opgeheven; inschakeling van de inrichting zonder dat deze een stopbevel genereert, mag niet mogelijk zijn. Het uitscha- kelen van de inrichting mag alleen door een passende handeling kunnen geschieden en mag de machine niet in werking stellen, maar mag alleen het opnieuw in werking stellen mogelijk maken. De noodstopfunctie moet te allen tijde beschikbaar en operationeel zijn, ongeacht de bedrijfsmodus. Noodstopinrichtingen dienen ter ondersteuning van andere veiligheidsmaatregelen, niet ter vervanging ervan Volgens de hierboven beschreven regelgeving, moet de magazijnrobot een noodstopknop hebben die volledig lost staat van het besturingscircuit. Deze stopknop moet er dus voor zorgen dat voeding losgekoppeld word van besturing.
4-14
HAN Hogeschool van Arnhem van Nijmegen Automagic probleem wat in deze situatie optreed is dat de wielen/aansturing nog niet vrij staan waardoor de magazijnrobot niet te verplaatsen is. Als er dus iemand klemzit kan deze niet meer vrij gemaakt worden. Dus de beste oplossing voor de noodstop is:
• Noodstop Ingedrukt • Hoofd Aanstuurcircuit word losgekoppeld van de voeding • Robot remt • Aandrijving komt vrij te staan • Robot ontkoppeld zich volledig van de voeding
4-15
HAN Hogeschool van Arnhem van Nijmegen Automagic
5 Use Cases 5.1 Actoren
De actoren voor increment 1 zijn medewerkers en obstakels. Medewerker - Een medewerker zet de robot aan of uit en kan in een later increment de robot opdrachten geven. Obstakels - Een obstakel is een object of mens die het pad kruist met de magazijnrobot. De robot kan dit obstakel detecteren en hierop reageren.
5.2 Stakeholders
Hier staan nogmaals alle stakeholders met hun codes, in de usecases maken we gebruik van deze codes. Toelichting per stakeholder is te vinden in hoofdstuk 2. Code B.1 B.2 B.3 B.4 A.1 A.2 W.1
Stakeholder De opdrachtgever/Directeur BaCo Het management van BaCo Technische medewerkers Magazijn/productie personeel Projectbegeleider Projectleider Veiligheidseisen
5.3 Usecase 1 – Rijden Usecase: Rijden Preconditions Postconditions Actors Stakeholders Actor: Obstakel 1. De robot detecteert of er een obstakel in de weg staat.[False]
Actor: Obstakel 1a. De robot detecteert of er een obstakel in de weg staat.[True]
De robot is gestart. Er is minstens 10% spanning in de batterij De robot is verplaatst. Obstakel B.1 Main flow System responsibility 2. De blijft dezelfde richting uitrijden 3. Stap 1 herhalen. Alternative flow System responsibility 1b. Robot start ontwijken [UC2]
5-16
HAN Hogeschool van Arnhem van Nijmegen Automagic
5.4 Usecase 2 – Ontwijken Usecase: Ontwijken Preconditions
De robot is gestart De robot heeft een object gedetecteerd De robot heeft nog 10% batterij Postconditions De robot rijdt verder Actors Obstakel Stakeholders B.1 Main flow Actor: Obstakel System responsibility 1. De robot wacht 2,5 seconden. 2. De robot detecteert of het obstakel 3. Verander rijrichting naar de nog voor de robot staat. [True] tegenovergestelde richting. 4. Robot rijdt verder [UC1] Alternative flow Actor: Obstakel System responsibility 2a. De robot detecteert of het ob2b. Robot rijdt verder in dezelfde richting [UC1] stakel nog voor de robot staat. [False]
5.5 Usecase Diagram
Medewerker
Rijden
Ontwijken
Obstakel
5-17