Inhoudsopgave:

Escape Robot: RC Car voor een Escape Game - Ajarnpa
Escape Robot: RC Car voor een Escape Game - Ajarnpa

Video: Escape Robot: RC Car voor een Escape Game - Ajarnpa

Video: Escape Robot: RC Car voor een Escape Game - Ajarnpa
Video: How to Escape a Police Sniffing Dog 2024, Juli-
Anonim
Escape Robot: RC-auto voor een ontsnappingsspel
Escape Robot: RC-auto voor een ontsnappingsspel
Escape Robot: RC-auto voor een ontsnappingsspel
Escape Robot: RC-auto voor een ontsnappingsspel

Het belangrijkste doel van dit project was om een robot te bouwen die zich zou onderscheiden van reeds bestaande robots, en die zou kunnen worden gebruikt in een echt en innovatief gebied.

Op basis van persoonlijke ervaring werd besloten om een autovormige robot te bouwen die zou worden geïmplementeerd in een Escape Game. Dankzij de verschillende componenten kunnen de spelers de auto inschakelen door een raadsel op de controller op te lossen, het traject van de auto besturen en onderweg een sleutel krijgen om uit de kamer te ontsnappen.

Aangezien dit project deel uitmaakte van een opleiding Mechatronica gegeven aan de Université Libre de Bruxelles (U. L. B.) en de Vrije Universiteit Brussel (V. U. B.), België, werden in het begin enkele vereisten voorgesteld, zoals:

  • Gebruiken en combineren van mechanica, elektronica en programmeren
  • Een budget van 200€
  • Een afgewerkte en werkende robot hebben die iets nieuws brengt

En omdat het zou worden gebruikt in real-life escape game-sessies, soms meerdere sessies achter elkaar, moesten er nog een paar vereisten worden vervuld:

  • Autonomie: een manier vinden om de robot semi-autonoom te maken om de spelbeperkingen te respecteren
  • Gebruiksvriendelijk: gebruiksvriendelijk, aanwezigheid van een scherm met feedback van de camera
  • Robuustheid: sterke materialen die de schokken kunnen absorberen
  • Veiligheid: spelers niet in direct contact met robot

Stap 1: Hoofdconcept en motivatie

Zoals uitgelegd in de inleiding, is het belangrijkste concept van dit project het creëren en bouwen van een semi-autonome robot, eerst bestuurd door de spelers van het ontsnappingsspel, en vervolgens in staat om de controle terug te nemen van de spelers.

Het principe is het volgende: Stel je voor dat je met een groep vrienden opgesloten zit in een kamer. De enige mogelijkheid om de kamer uit te komen is door een sleutel te vinden. De sleutel zit verstopt in een doolhof onder je voeten, in een donkere tussenverdieping. Om die sleutel te krijgen, heb je drie dingen in je bezit: een afstandsbediening, een kaart en een scherm. Met de afstandsbediening kunt u een auto besturen die zich al op de tussenverdieping bevindt, door een raadsel op te lossen dat is bedacht op de bestaande bedieningsknoppen van de afstandsbediening. Als je dat raadsel eenmaal hebt opgelost, wordt de auto aangezet (zie Stap 5: Coderen - hoofdfunctie genaamd 'loop()'), en kun je beginnen met het begeleiden van de auto door het doolhof met behulp van de gegeven kaart. Het scherm is er om live weer te geven wat de auto ziet, dankzij een camera die voor de robot is bevestigd, en helpt je daarom de trajecten en, nog belangrijker, de sleutel te zien. Zodra je de sleutel hebt gekregen dankzij een magneet aan de onderkant van de robot, en zodra je het einde van het doolhof hebt bereikt, ben je in staat om de sleutel te pakken en te ontsnappen uit de kamer waarin je was opgesloten.

De belangrijkste componenten van de robot zijn daarom:

  1. Raadsel op te lossen op afstandsbediening
  2. Besturing van de robot door de spelers met afstandsbediening
  3. Bedieningsweergave op basis van live gefilmde video door de camera

Omdat in dergelijke spellen tijd de belangrijkste beperking is (in de meeste escape-spellen heb je tussen de 30 minuten en 1 uur om eruit te komen om te slagen), is er een sensor bevestigd en aangesloten aan de basis van de robot zodat als je als spelers overschrijdt een bepaalde tijd (in ons geval 30 minuten), neemt de robot de controle terug en voltooit het parcours zelf, zodat je een kans hebt om de sleutel van de kamer te krijgen voordat de timer van het spel afgaat (in ons geval 1 uur)

Omdat de auto zich in een volledig donkere kamer bevindt, zijn LED's niet ver van de sensor bevestigd om het signaal van de grond te helpen lezen.

De wens achter dit groepsproject was om ons te baseren op wat er al op de markt is, het te wijzigen door een persoonlijke waarde toe te voegen en het in een leuk en interactief veld te kunnen gebruiken. Nadat we in contact waren geweest met een succesvolle Escape Room in Brussel, België, ontdekten we trouwens dat escape-games niet alleen steeds bekender worden, maar dat ze vaak geen interactiviteit hebben en dat klanten klagen dat ze niet genoeg "deel uitmaken van " het spel.

We hebben daarom geprobeerd een idee te bedenken van een robot die aan de gestelde eisen zou voldoen en de spelers zou uitnodigen om echt deel uit te maken van het spel.

Hier is een samenvatting van wat er in de robot gebeurt:

- Het niet-autonome deel: een afstandsbediening is via een ontvanger aan Arduino gekoppeld. Spelers besturen de afstandsbediening en daarmee de Arduino die de motoren bestuurt. De Arduino wordt ingeschakeld voordat het spel begint, maar het gaat naar de hoofdfunctie wanneer spelers een raadsel oplossen op de afstandsbediening. Een draadloze IR-camera is al ingeschakeld (wordt tegelijkertijd met het "geheel" (aangestuurd door de Arduino) ingeschakeld wanneer het in-/uitschakelen is ingeschakeld). Spelers besturen de auto met een afstandsbediening: ze regelen de snelheid en de richting (cfr. Stap 5: stroomschema). Wanneer de timer die start wanneer de hoofdfunctie wordt ingevoerd gelijk is aan 30 minuten, wordt de besturing van de controller uitgeschakeld.

- Het autonome deel: de besturing wordt dan beheerd door de Arduino. Na 30 minuten begint de IR-lijntrackersensor een lijn op de grond te volgen om het parcours af te maken.

Stap 2: Materiaal & Gereedschap

Materiaal & Gereedschap
Materiaal & Gereedschap
Materiaal & Gereedschap
Materiaal & Gereedschap
Materiaal & Gereedschap
Materiaal & Gereedschap

MATERIAAL

Elektronische onderdelen

  • Microcontroller:

    • Arduino UNO
    • Arduino motorschild - Reichelt - 22.52€
  • Sensoren:

    IR-lijntracker - Mc Hobby - 16.54€

  • Batterijen:

    6x 1.5V batterij

  • Ander:

    • Protobord
    • Draadloze camera (ontvanger) - Banggood - 21.63 €
    • Afstandsbediening (zender + ontvanger) - Amazon - 36.99€
    • Oplaadstation (Qi-ontvanger) - Reichelt - 22.33€ (niet gebruikt - zie Stap 7: Conclusie)
    • LED - Amazon - 23.60€

Mechanisch onderdeel

  • DIY auto chassis kit - Amazon - 14.99 €

    • Gebruikt:

      • 1x schakelaar
      • 1x zwenkwiel
      • 2x wielen
      • 2x DC-motor
      • 1x batterijhouder
    • Niet gebruikt:

      • 1x autochassis
      • 4x M3*30 schroef
      • 4x L12 afstandhouder
      • 4x bevestigingsmiddelen
      • 8x M3*6 schroef
      • M3 moer
  • Magneet - Amazon - 9.99€
  • Bouten, moeren, schroeven

    • M2*20
    • M3*12
    • M4*40
    • M12*30
    • alle respectieve noten
  • 3D geprinte stukken:

    • 5x veren
    • 2x motorbevestiging
    • 1x L-vormige lijntracker fixatie
  • Lasergesneden stukken:

    • 2x ronde platte plaat
    • 5x rechthoek klein plat bord

HULPMIDDEL

  • Machines:

    • 3D-printer
    • Lasersnijder
  • Schroevendraaiers
  • Handboor
  • Limoen
  • Elektronica soldeer

Stap 3: (Laser)snijden & (3D) Printen

Image
Image
(Laser)snijden & (3D) Printen
(Laser)snijden & (3D) Printen
(Laser)snijden & (3D) Printen
(Laser)snijden & (3D) Printen

We hebben zowel lasersnijden als 3D-printtechnieken gebruikt om sommige van onze componenten te verkrijgen. U kunt alle CAD-bestanden vinden in het bestand.step hieronder

Lasersnijder

De twee belangrijkste bevestigingsstukken van de robot zijn lasergesneden:(Materiaal = MDF-karton van 4 mm)

- 2 ronde platte schijven om de basis (of chassis) van de robot te maken

- Verschillende gaten in de twee schijven om plaats te bieden aan mechanische en elektronische componenten

- 5 rechthoekige kleine platen om de veren tussen de twee chassisplaten te bevestigen

3D-printer (Ultimakers & Prusa)

Verschillende elementen van de robot werden 3D-geprint om ze tegelijkertijd weerstand en flexibiliteit te geven:(Materiaal = PLA)-5 veren: merk op dat de veren worden afgedrukt als blokken, zodat het nodig is ze te vijlen om te geven ze hun 'lente' vormen !

- 2 rechthoekige uitgeholde delen om de motoren te bevestigen

- L-vormig stuk voor de Line-tracker

Stap 4: Montage van de elektronica

De elektronica monteren
De elektronica monteren
De elektronica monteren
De elektronica monteren
De elektronica monteren
De elektronica monteren

Zoals je op de elektronische schetsen kunt zien, is de Arduino zoals verwacht het centrale onderdeel van het elektronische deel.

Connexion Arduino - Line tracker:(cfr. corresponderende volgerschets)

Connexion Arduino - Motoren:(cfr. overeenkomstige algemene schets - links)

Connexion Arduino - Afstandsbediening-ontvanger:(cfr. overeenkomstige algemene schets - omhoog)

Connexion Arduino - LED's:(cfr. overeenkomstige algemene schets - links)

Een protoboard wordt gebruikt om het aantal 5V- en GND-poorten te vergroten en alle verbindingen te vergemakkelijken.

Deze stap is niet de gemakkelijkste, omdat deze moet voldoen aan de hierboven genoemde vereisten (autonomie, gebruiksvriendelijk, robuustheid, veiligheid), en omdat elektrische schakelingen bijzondere aandacht en voorzorg vereisen.

Stap 5: Coderen

codering
codering

Het coderingsgedeelte betreft de Arduino, motoren, afstandsbediening, lijntracker en LED's.

U vindt op de code:

1. Declaratie van variabelen:

  • Verklaring van pin gebruikt door RC-ontvanger
  • Verklaring van pin gebruikt door DC Motors
  • Verklaring van pin gebruikt door LED's
  • Declaratie van variabelen gebruikt door functie 'Riddle'
  • Verklaring van pin gebruikt door IR-sensoren
  • Declaratie van variabelen gebruikt door IR Deck

2. Initialisatiefunctie: initialiseer de verschillende pinnen en LED's

Functie 'setup()'

3. Functie voor motoren:

  • Functie 'turn_left()'
  • Functie 'turn_right()'
  • Functie 'CaliRobot()'

4. Functielijnvolger: gebruikt de vorige 'CaliRobot()'-functie tijdens het semi-autonome gedrag van de robot

Functie 'Volger()'

5. Functie voor afstandsbediening (raadsel): bevat de juiste oplossing voor het raadsel dat aan de spelers wordt gepresenteerd

Functie 'Riddle()'

6. Hoofdlusfunctie: stelt de spelers in staat om de auto te besturen zodra ze de oplossing voor het raadsel hebben gevonden, start een timer en schakelt de invoer van digitaal (op afstand bestuurbaar) naar digitaal (autonoom) zodra de timer boven de 30 minuten komt

Functie 'loop()'

Het hoofdproces van de code wordt uitgelegd in het stroomschema hierboven, met de belangrijkste functies gemarkeerd.

Je kunt de hele code voor dit project ook vinden in het bijgevoegde bestand.ino, dat is geschreven met behulp van de ontwikkelinterface Arduino IDE.

Stap 6: Montage

in elkaar zetten
in elkaar zetten
in elkaar zetten
in elkaar zetten
in elkaar zetten
in elkaar zetten

Zodra we alle componenten hebben lasergesneden, 3D-geprint en klaar: we kunnen het hele ding monteren!

Eerst bevestigen we de 3D-geprinte veren op hun lasergesneden rechthoekige platen met bouten met een diameter die gelijk is aan de diameter van de gaten in de veren.

Zodra de 5 veren op hun kleine platen zijn bevestigd, kunnen we deze met kleinere bouten op de onderste chassisplaat bevestigen.

Ten tweede kunnen we de motoren bevestigen aan de 3D-geprinte motorbevestigingen, onder de onderste chassisplaat met kleine bouten.

Zodra deze zijn bevestigd, kunnen we de 2 wielen op de motoren komen bevestigen in de gaten van de onderste chassisplaat.

Ten derde kunnen we het zwenkwiel, ook onder de onderste chassisplaat, vastzetten met kleine bouten zodat de onderste chassisplaat horizontaal staat

We kunnen nu alle andere componenten repareren

  • Onderste chassisplaat:

    • Onderstaand:

      • Lijntracker
      • LED
    • Over:

      • Afstandsbediening ontvanger
      • Arduino & Motorschild
      • LED
  • Bovenste chassisplaat:

    • Onderstaand:

      Camera

    • Over:

      • Batterijen
      • Aan / uit knop

Ten slotte kunnen we de twee chassisplaten aan elkaar monteren.

Let op: Wees voorzichtig bij het monteren van alle componenten! In ons geval is een van de kleine platen voor de veren beschadigd geraakt tijdens het monteren van de twee chassisplaten, omdat deze te dun was. We zijn opnieuw begonnen met een grotere breedte. Zorg ervoor dat u sterke materialen gebruikt bij het lasersnijden (evenals de 3D-printer) en controleer de afmetingen zodat uw stukken niet te dun of te kwetsbaar zijn.

Stap 7: Conclusie

Image
Image
Conclusie
Conclusie
Conclusie
Conclusie

Zodra alle componenten zijn gemonteerd (zorg ervoor dat alle componenten goed vastzitten en niet het risico lopen eraf te vallen), de ontvanger van de camera aangesloten op een scherm (dwz tv-scherm) en de batterijen (6x 1.5V) op de batterijhouder, je bent klaar om het hele ding te testen!

We hebben geprobeerd het project nog een stap verder te brengen door de batterijen (6x 1.5V) te vervangen door een draagbare batterij, door:

  • het bouwen van een laadstation (draadloze oplader bevestigd in een lasergesneden laadstation (zie foto's));
  • het toevoegen van een ontvanger (Qi-ontvanger) op de draagbare batterij (zie foto's);
  • het schrijven van een functie op de Arduino en de robot vragen om de lijn op de grond in de tegenovergestelde richting te volgen om het laadstation te bereiken en de batterij op te laden, zodat de hele robot autonoom klaar is voor de volgende spelsessie.

Aangezien we problemen ondervonden bij het vervangen van de batterijen door een draagbare batterij vlak voor de deadline van het project (herinnering: dit project werd begeleid door onze professoren van de ULB/VUB, we hadden dus een deadline die we moesten respecteren), konden we de definitieve versie niet testen. robot. U kunt hier niettemin een video vinden van de robot die wordt gevoed door de computer (USB-verbinding) en wordt bestuurd door de afstandsbediening.

Desalniettemin hebben we alle toegevoegde waarden kunnen bereiken die we voor ogen hadden: - Robuustheid - Ronde vorm - Inschakelbaar raadsel - Bedieningsschakelaar (afstandsbediening -> autonoom) Als dit project uw aandacht en nieuwsgierigheid heeft vastgehouden, zijn we daarom zeer nieuwsgierig om te zien wat je hebt gedaan, om te zien of je sommige stappen anders hebt gedaan dan wij, en om te zien of je erin bent geslaagd het autonome laadproces te doen!

Aarzel niet om ons te vertellen wat u van dit project vindt!

Aanbevolen: