PROJECT 2 - MAZE DRIVE - OFFERTE RICK VAN VONDEREN 13 DECEMBER 2017
Inhoudsopgave 1 Inleiding 2 2 Functioneel Ontwerp 3 2.1 Doel 3 2.2 Functionele eisen 3 2.3 Scenario s 3 3 Technisch Ontwerp 4 3.1 Niet-functionele eisen 4 3.2 Sensoren 4 3.3 Onderdelen lijst 5 3.4 Technische implementatie 5 4 Prototype 8 5 Planning 12 6 Aanbeveling 13 1
Hoofdstuk 1 Inleiding Aan ons als projectgroep is gevraagd een zelfstandig rijdend voertuig te produceren. Naar aanleiding van het verzoek wordt in deze offerte wordt beschreven hoe wij als projectgroep dit voertuig kunnen realiseren. In de komende hooftstukken worden de volgende onderwerpen behandelt; functionele eisen, technische implementatie s, prototype, planning en het laatste hoofdstuk geeft een aanbeveling waarom deze offerte moet worden gekozen. 2
Hoofdstuk 2 Functioneel Ontwerp 2.1 Doel Het doel van het voertuig bestaat uit het oplossen van een doolhof met obstakels. Deze obstakels kunnen zowel voorwerpen als andere zelfstandig rijdende voertuigen zijn. 2.2 Functionele eisen Het voertuig kan zich zonder externe geleiding een weg banen in een willekeurig doolhof. Het voertuig kan op de plaats keren. Het voertuig kan minimaal 5 losse legoblokjes (4x2 standaard) vervoeren. Het voertuig stop automatisch als het eindpunt bereikt is. Het voertuig heeft een ESP8266 als controller. Het voertuig is battery powered. Het voertuig moet in staat zijn om obstakels te vermijden. De muren van het doolhof hebben geen hoogteverschil en worden met zwarte lijnen gemarkeerd. Het voertuig moet deze kunnen detecteren. 2.3 Scenario s De robot begint op het startpunt. De robot zal nu proberen constant de muur aan zijn rechter hand te volgen. De robot komt in een dood eind terrecht. De robot keert om en volgt de nieuwe muur aan zijn rechter hand. De robot komt een kruispunt tegen. De robot zal rechts afslaan en de nieuwe muur aan zijn rechter hand volgen. De robot komt een obstakel tegen. De robot wacht 2 seconde. Het obstakel is er nog. De robot keert om en volgt de nieuwe muur aan zijn rechter hand. De robot wacht 2 seconde. Het obstakel bleek een ander voertuig te zijn die is weg gereden. De robot rijdt verder. De robot heeft het eindput berijkt. De robot stopt. 3
Hoofdstuk 3 Technisch Ontwerp 3.1 Niet-functionele eisen Hier volgen alle eisen van het doolhof. Deze wordt geleverd door een externe groep studenten. Dit doolhof voldoet aan de eisen gesteld in dit document. De minimale breedte van de gangbare gangen is 20cm. De gangranden worden aangegeven met zwarte vlakken van tenminste 4cm breedte. De vloer van het Challenge doolhof is gelijk aan de vloer op de 5 e verdieping. Muren kunnen rechte en afgeronde hoeken hebben. Gangen kunnen een niveauverschil bevatten. Gangen kunnen een fysieke barrière bevatten van tenminste 10 cm hoogte. Het begin en eindpunt van het doolhof worden door rode cirkels aangegeven. 3.2 Sensoren Alle sensoren waar het voertuig gebruik van maakt. De werking van alle sensoren is te vinden in hoofdstuk 4. Ultrasoon (figuur 4.1) De ultrasone sensor maakt gebruik van geluitspulsen en echo tijden om nauwkeurig de afstand tot een voorwerp te bepalen. De sensor heeft 2 digitale pinnen, één voor het afschieten van een geluidspuls en één voor het ontvangen van deze puls. Daarnaast heeft het 2 pinnen (VCC en GND) om de sensor van stroom te voorzien, en wordt op de 5V van de YwRobot aangesloten. De HC-SR04 sensor zal gebruikt worden voor het detecteren van obstakels. Ik heb de ultrasone sensor gekozen omdat deze accuraat is, niet afhankelijk van light is, makkelijk in gebruik is en omdat de kans op storingen vrij klein is. Line tracker module (figuur 4.2) De 4 kanaals line tracker module werkt met infrarood light, dat stelt het in staat om zwart of wit te detecteren. De module gebruikt 4 digitale pinnen, waarbij elk kanaal 1 pin gebruikt. Daarnaast heeft de module 2 pinnen (VCC en GND) voor stroomvoorziening. De module ondersteunt zowel 5V als 3.3V en wordt op de YwRobot aangesloten. Ook 4
is de range in te stellen tussen 1mm en 60cm, waar de dichtere afstand meer accuraat is. De FC-35 zal gebruikt worden voor het detecteren van de muren (zwarte lijnen) van het doolhof. Ik heb de line tracker module gekozen omdat deze vrij makkelijk in gebruik is, weinig pinnen vereist (1 per kanaal) en daarnaast accuraat is. In mijn test met het verschil tussen zwart en hout is de uitkomst zeer stabiel. LDR (figuur 4.3) De LDR (Light Dependent Resistor) is component met een variabele weerstand die veranderd afhankelijk van het licht. Om deze sensor aan te sluiten zijn 2 weerstanden nodig, één van 220 Ohm en één van 10k Ohm, en een witte LED. De sensor zelf moet worden aangesloten op de enige analoge pin van de ESP8266. De LDR zal worden gebruikt om de rode cirkel/lijn te detecteren. Ik heb de LDR gekozen omdat deze spotgoedkoop en vrij accuraat te krijgen is. Daarvoor heb ik een koker om de sensor geplaatst die deze afschermt en het licht alleen van 1 kant binnenlaat. 3.3 Onderdelen lijst ESP8266 NodeMCU 1.0 Parallax ActivityBot frame 5 AA batterijen voor het frame YwRobot power supply HC-SR04, ultrasone sensor FC-35, 4 kanaals line tracker module LDR 3 weerstanden (220, 1k en 10k Ohm) Witte LED Dupont kabels Houten monteerplaat 3.4 Technische implementatie Fritzing aansluitschema: figuur 3.1 Het algoritme die ik gebruik om het doolhof op te lossen heet het Wall Follower Algorithm, dit algoritme werkt door één kant van het voertuig dicht bij één muur van het doolhof te houden. Hiedoor is het voertuig gegarandeerd niet verdwaald te raken en zal hij een andere uitgang berieken als die er is; anders keert het voertuig terug naar de ingang, waarbij het elke gang bij dit aansluitende stuk muur tenminste één keer is afgegaan. 5
Het Parallax ActivityBot frame (figuur 3.2) wordt gebruikt voor de fundering van het voertuig, deze kan op zijn plaats keren en heeft genoeg ruimte voor een kleine container om legoblokjes mee te vervoeren. Het frame bezit een batterij houder voor 5 AA batterijen, inclusief kabel die in de YwRobot past, die derest van de electronica van stroom voorziet. Aan de voorkant wordt de ultrasone sensor geplaatst. Bovenop het frame wordt een houten plaat gemonteerd die wordt uitgesneden in het stadslab. Deze plaat loopt aan beide hoeken aan de voorkant van het voertuig door. Onder elk stuk wordt één line tracker kanaal gemonteerd, in totaal 4. De LDR en de witte LED worden aan de onderkant van het frame geplaatst. Om automatisch te kunnen stoppen bij het eindpunt, wordt de LDR gebruikt, deze kan de rode cirkel/lijn detecteren. De ESP8266 wordt als enige microcontroller gebruikt, en verwerkt alle data van de sensoren. De ESP heeft 1 analoge pin die gebruikt wordt voor de LDR, en 9 digitale pinnen waarvan er 8 in gebruik zijn voor derest van de sensoren. De obstakels in het doolhof worden met de ultrasone sensor gedetecteerd. De muren worden gedetecteerd met de line tracker module die gebruik maakt van infrarood. Figuur 3.1: Fritzing aansluitschema In het schema worden 8 digitale pinnen gebruikt, waaronder de ultrasone sensor, de line tracker module en de servo motoren van het frame. Er is 1 analoge pin aangesloten op de LDR. De witte LED is aangesloten op de 3.3V rail en staat altijd aan. 6
Figuur 3.2: Parallax ActivityBot frame Figuur 3.3: Blokschema van de werking tussen de sensoren en motoren 7
Hoofdstuk 4 Prototype Ultrasone senor: figuur 4.1 Line tracker module: figuur 4.2 LDR: figuur 4.3 8
Figuur 4.1: De ultrasone sensor berekend het aantal centimeters tot een obstakel Duration en distance zijn beide van het type long die globaal zijn gedefineerd. Klik hier om de video te bekijken. 9
Figuur 4.2: De line tracker module detecteert een donkere (zwarte) en lichte ondergrond De linetracker werkt met een simpele digitalread(); Klik hier om de video te bekijken. 10
Figuur 4.3: De LDR detecteert het verschil tussen kleuren door middel van licht De LDR werkt met een simpele analogread(); 11
Hoofdstuk 5 Planning Figuur 5.1: Gantt chart 12
Hoofdstuk 6 Aanbeveling Door dit document weet u wat mijn plannen zijn om dit product te realiseren. De individuele onderdelen zijn vrij eenvoudig te monteren en aan te sluiten, daardoor vereist het onderhoud niet veel technische kennis. De sensoren zijn accuraat en stabiel en dat maakt een betrouwbaar voertuig. Ik kan u aanbevelen om voor deze offerte te kiezen omdat het voertuig eenvoudig te onderhouden is en omdat de sensoren zorgen voor een betrouwbaar voertuig. 13