Line Following Robot

From Hackerspace ACKspace
Revision as of 08:56, 23 April 2018 by Xopr (talk | contribs) (nickname fixed)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Project: Line Following Robot
Featured: No
State Planned
Members xopr, Jetse, Coolepascal
GitHub No GitHub project defined. Add your project here.
Description Hackchallenge Line Following Robot
Picture
No project picture! Fill in form Picture or Upload a jpeg here

Om een gezamelijke activiteit waar ook onze jongste deelnemers aan mee kunnen doen te promoten,
hebben xopr en CoolePascal een viertal kits voor het bouwen van een robot wagentje gesponsort.
Dat wil zeggen een verzameling van onderdelen waarmee een basis voor zo'n voertuig gelegd is.
Er is echter behoorlijk wat uitdaging want:

  • Niets vooraf gespecificeerd
  • Er is geen documentatie
  • Er zijn geen fatsoenlijke voorbeelden
  • Niets past
  • De hele rommel in de kits horen niet echt bij elkaar
  • Het past allemaal niet
  • De afmetingen kloppen niet
  • de onderdelen passen niet op hun plek
  • Had ik al gezegd dat het allemaal niet past ?

Welnu,
De opdracht is om alleen of met een team een Line Following Robot te bouwen,
Die vervolgens ook nog in staat moet zijn om autonoom een aantal opdrachten uit te voeren.
Dat hoeft niet allemaal in een keer, maar doelen kunnen in stapjes worden bereikt.

Hieronder volgen een aantal doelen evenals een aantal specificaties waaraan het wagentje moet voldoen.

Wellicht dat we nog een hall of fame kunnnen introduceren over wie of welk team welke doelen behaald hebben.
Lack of competietief gedrag is de hacker echter niet vreemd dus dat hoeft voor mij niet per se'.

Doelen Line Folowing Robot

  1. In staat zijn een route gemarkeerd door een zwarte lijn (zie specificaties) te kunnen volgen.
  2. In staat zijn de positie op de route te bepalen op basis van een codering in de baan (zie specificaties)
  3. In staat zijn op basis van de bepaalde positie in staat zijn de een afslag op de route te kunnen nemen
    en zodoende een vooraf bepaalde weg te volgen.
  4. In staat zijn op basis van het eerder bereikte, in staat zijn een bierblikje van punt A naar punt B te kunnen verplaatsen. Dit kan bijvoorbeeld door het blikje te duwen maar ook een meer technisch uitdagende oplossing is toegestaan.
    Het gaat bij deze opdracht om het uitvoeren van de opdracht, indien gewicht een probleem is, mag het blikje ook leeg zijn.
  5. In staat zijn om te gaan met een tegenligger op de route.
    Dit kan bijvoorbeeld door uitwijken (zie specificaties route) maar een andere oplossing is ook toegestaan.
    Wel gelden er de volgende beperkingen:
    • Er mag bij deze opdracht geen fysiek contact tussen de twee voertuigen ontstaan.
    • Het moet hier altijd gaan om twee voertuigen van verschillende teams. Overleg hierover tussen de teams is uiteraard wel toegestaan

Specificaties

  • Hoe het voertuig verder gebouwd wordt en welke technologie er verder wordt toegepast is vrijwel geheel vrij.
    Er mag ook een ander chassis worden toegepast maar het voertuig dient wel zelf gebouwd te zijn (LegoMindStorms is een NoGo !)
    De inteligentie om de hele boel aan te sturen is vrij, dus als je een heel serverpark in de cloud zet om aan de benodigde
    rekenkracht te komen mag dat vermits het voertuig dan draadloos verbonden wordt.
  • De breedte van de voertuigen is gebaseerd op de kits welke beschikbaar zijn gesteld. De maximale lengte stellen we op twee maal de lengte van zo'n kit.
  • Het voertuig moet autonoom en zonder draadverbinding naar een vast station kunnen opereren, draadloze verbindingen zijn wel toegestaan.
  • Het voertuig moet duidelijk herkenbaar voor het team zijn.
    Pimpen dus die hap !
  • De route moeten worden gevolgd op een baan waarvan de te volgen lijn ZWART van kleur op een WITTE ondergrond is.
    De te volgen lijn zal ongeveer 5mm breed zijn zodat deze met goedkope sensoren eenvoudig te herkennen en te volgen is
  • Voor opdracht 1 is de te volgen lijn is over de gehele route ononderbroken.
    Voor het uitvoeren van opdracht 2 is er in deze lijn een verderop gespecificeerde code verwerkt.
  • Afslagen worden door de genoemde code vooraf aangekondigd, echter bij de afslag zelf zal de lijn zich gewoon splitsen in twee lijnen van beiden weer 5mm breedte
  • Naast de lijn zal aan beide kanten een smallere lijn zijn die de breedte van de weg aangeeft.
  • De afstand tussen de smallere lijnen aan de kant van de weg zal zodanig gekozen worden dat twee voertuigen welke over deze lijn in tegengestelde richting rijden elkaar probleemloos kunnen paseren.
  • Uitwijken voor een tegenligger dient altijd naar rechts te gebeuren.
  • Codering
    De routecodering bestaat uit een patroon van in totaal 32 bits.
    Elk bit heeft een lengte van 5mm (net zo lang als re route lijn breed is)
    De codering van de bits is als volgt.
    De code wordt in geluid door een van de volgende patronen A 01010011 of B 01011100
    Na dit patroon volgen 8 bits welke een wegdeel specificeren.
    Vervolgens komt exact het zelfde patroon in spiegelbeeld.
    Waneer een patroon begint met code A dan eindigd deze met patroon B en omgekeerd.
    Op deze manier is vanuit beide rijrichtingen te bepalen waar het voertuig is en in welke richting deze rijdt.
    Verdere specificaties hierover aanvragen bij Jetse.