GorillaBot de 3D-geprinte Arduino Autonomous Sprint Quadruped Robot - Ajarnpa
GorillaBot de 3D-geprinte Arduino Autonomous Sprint Quadruped Robot - Ajarnpa
Anonim
Image
Image
GorillaBot de 3D-geprinte Arduino Autonomous Sprint Quadruped Robot
GorillaBot de 3D-geprinte Arduino Autonomous Sprint Quadruped Robot

Elk jaar is er in Toulouse (Frankrijk) de Toulouse Robot Race #TRR2021

De race bestaat uit een autonome sprint van 10 meter voor twee- en viervoetige robots.

Het huidige record dat ik verzamel voor viervoeters is 42 seconden voor een sprint van 10 meter.

Dus met dat in gedachten moest ik een plan bedenken om een robot te ontwerpen waarvan ik dacht dat hij die zou kunnen verslaan om de nieuwe regerend kampioen te worden!!!

Op zoek naar wat inspiratie van een mede Instructables-lid "jegatheesan.soundarapandian" en de winnaar van vorig jaar van de Toulouse Robot Race "Oracid 1", die allebei dol lijken te zijn op het ontwerpen en delen van tutorials over het bouwen van viervoeters. Ik ben begonnen met het kopiëren van hun ontwerp en het een beetje groter te maken!

Het ontwerp is gebaseerd op een koppelingsmechanisme met vijf staven voor elk been. 2 servo's voeden elk been voor een totaal van 8 servo's.

De regels stellen dat afgezien van het startsignaal de hele race autonoom door de robot moet worden uitgevoerd, dus ik moest een lichtgewicht systeem bedenken om de robot op het goede spoor te houden in dit geval gebruikte ik een QMC5883L Magnetometer (digitaal kompas) dus het zou trouw kunnen blijven aan zijn oriëntatie, een HC-SR04 ultrasone sensor voor het geval de robot het echt verprutst en de muur begint te raken in een hoek van 90 graden en ik heb zojuist een stappenteller in de code gebruikt om het te vertellen hoeveel stappen het zou moeten doen voor 10 meter.

Als je geïnteresseerd bent in het bouwen van deze robot, maak je dan geen zorgen, deze aap heeft alles doordacht!

100% ondersteuning gratis 3D-afdrukbare body:

Alles behalve de elektronica en schroeven om de elektronica te bevestigen zijn 3D-printbaar, dezelfde kleine kruiskopschroeven zijn de enige die worden gebruikt, alles wat je nodig hebt is een kleine kruiskopschroevendraaier om de robot te monteren

Eenvoudige plug-and-play-elektronica:

geen ingewikkeld solderen nodig

Redelijke afdruktijd:

Hij ziet er misschien groot en imposant uit, maar hij is maar een afdruk van 15 uur (oké een lange tijd voor sommigen:D)

Redelijke vereisten voor het buildvolume:

Hij kan worden afgedrukt op een relatief kleine printer die een bouwvolume nodig heeft van slechts L: 150 mm x B: 150 mm x H: 25 mm

Totale robotkosten:

De robot alleen al kost ongeveer $ 75 om de meegeleverde oplader te bouwen

Een 3D-geprinte controller (optioneel) is vereist als je dezelfde opstelling wilt als ik.

WAARSCHUWING:

De 5V 3A-voeding die ik heb gebruikt, is niet de beste oplossing, want om deze robot te laten lopen, moeten alle 8 servo's tegelijkertijd lopen en dus trekken ze behoorlijk veel stroom. maar verwacht dat de vermogenstransistor behoorlijk opwarmt. Ik raad aan om de robot niet langer dan 2 minuten per keer te gebruiken en hem tussen de runs door af te laten koelen om ongewenste schade aan het servo-schild te voorkomen.

Als iemand van jullie een oplossing voor dit probleem heeft, wordt je input zeer op prijs gesteld!

Benodigdheden

LEVERINGEN VOOR DE ROBOT:

  • 8x Tower Pro MG90S analoge 180 graden servo (Aliexpress/Amazon)
  • 1x Sunfounder draadloze servobesturingskaart (Sunfounder Store/ RobotShop)
  • 1x Arduino NANO (Aliexpress/Amazon)
  • 1x NRF24L01 Transceiver Module (U hebt dit niet nodig als u de controller niet gebruikt) (Aliexpress/Amazon)
  • 1x Magnetometer (digitaal kompas) QMC5883L GY-273 (Aliexpress/Amazon)
  • 1x Ultrasone sensor HC-SR04 (Aliexpress/Amazon)
  • 2x 18650 3.7V Li-ion batterijen (Aliexpress/Amazon)
  • 1x 18650 dubbele batterijhouder met aan-uitschakelaar (Aliexpress/Amazon)
  • 1x 18650 Li-ion batterijlader (Aliexpress/Amazon)
  • 4x vrouwelijk naar vrouwelijk dupont startkabels 10 cm lang (Aliexpress/Amazon)
  • 4x vrouwelijk naar vrouwelijk dupont startkabels 20 cm lang (Aliexpress/Amazon)
  • 10x schroeven 2 mm x 8 mm (hetzelfde als de schroeven in een pakket servo's) (Aliexpress/Amazon)

CONTROLLER:

Om deze Robot handmatig te besturen heb je de 3D geprinte Arduino Controller nodig (link hier)

De Robot kan ook puur autonoom zijn, dus de controller is niet verplicht.

KUNSTSTOFFEN:

De onderdelen kunnen bedrukt worden in PLA of PETG of ABS.

!! Let op: een spoel van 500 g is meer dan genoeg om 1 robot te bedrukken !!

3D-PRINTER:

Minimaal vereist bouwplatform: L150mm x B150mm x H25mm

Elke 3D-printer zal het doen. Ik heb persoonlijk de onderdelen afgedrukt op de Creality Ender 3, een goedkope 3D-printer van minder dan $ 200. De afdrukken zijn perfect gelukt.

Stap 1: 3D-printen van de onderdelen

3D-printen van de onderdelen
3D-printen van de onderdelen

Dus nu is het tijd om te printen…Yeay!

Ik heb alle onderdelen zorgvuldig ontworpen om in 3D te worden geprint zonder dat er tijdens het printen ondersteunende materialen nodig zijn.

Alle onderdelen zijn beschikbaar om te downloaden op thingiverse (link hier)

Alle onderdelen zijn getest op de Creality Ender 3

  • Materiaal: PETG
  • Laaghoogte: 0,3 mm
  • Invulling: 15%
  • Pijpdiameter: 0.4mm

De onderdelenlijst is als volgt:

  • 1x BASIS ELEKTRONICA
  • 1x BASIS TERUG
  • 1x BASIS VOORZIJDE
  • 8x CIRKELPEN L1
  • 4x CIRKELPEN L2
  • 4x CIRKELPEN L3
  • 4x CIRKELPEN L4
  • 8x DIJSERVO
  • 8x DIJ
  • 8x KALF EXT
  • 8x KALF INT
  • 8x VOET
  • 4x VIERKANTE CLIP
  • 44x CIRKELCLIP

De bestanden zijn beschikbaar als losse delen en groepsdelen.

Voor snel afdrukken drukt u eenvoudig elk afzonderlijk GROUP.stl-bestand één keer af.

Stap 2: Het lichaam van GorillaBot monteren

Image
Image

Alle montage-instructies zijn afgebeeld in de montagevideo hierboven:

  1. Plaats een CIRKEL PIN L1 in het gat van de BASE FRONT linksvoor servohouder
  2. Voer de kabel van een van de MG90S-servo's door de gleuf in de BASE FRONT-servohouder linksvoor
  3. Steek de MG90S-servo op zijn plaats
  4. Zet de MG90S-servo vast met 2 schroeven (niet te vast aandraaien omdat dit de BASE kan beschadigen)
  5. Herhaal hetzelfde proces voor de BASE FRONT linksachter, rechtsvoor en rechtsachter servohouders
  6. Herhaal hetzelfde proces voor de BASE BACK linksvoor, linksachter, rechtsvoor en rechtsachter servohouders
  7. Bevestig de batterijhouder aan de BASE ELECTRONICS met 2 schroeven diagonaal of 4 schroeven
  8. Bevestig de draadloze servobesturingskaart aan de BASE ELECTRONICS met 2 schroeven diagonaal of 4 schroeven
  9. Klem de Arduino nano- en NRF24L01-transceiver op de draadloze servobesturingskaart
  10. Schuif de BASE FRONT op de BASE ELECTRONICS door de USB-poort met 2 vierkante gaten naar achteren gericht
  11. Zet vast met 2 VIERKANTE CLIPS
  12. Schuif de BASE BACK op de BASE ELECTRONICS via de USB-poort met 2 vierkante gaten naar achteren gericht
  13. Zet vast met 2 VIERKANTE CLIPS
  14. Bevestig de magnetometer aan de BASE FRONT met 2 schroeven
  15. Klem de ultrasone sensor op de BASE FRONT
  16. Leid de servokabels naar de Wireless Servo Control Board zoals afgebeeld

Stap 3: De elektronica aansluiten

Robotwedstrijd
Robotwedstrijd

Alle verbindingen zijn afgebeeld in de afbeelding hierboven:

  1. Steek de 4 dupont-kabels van 20 cm in de draadloze servobesturingskaarten Ultrasone pinnen
  2. Sluit het andere uiteinde van de 4 kabels aan op de ultrasone sensor (zorg ervoor dat ze op de juiste manier rond zijn)
  3. Steek de 4 dupont-kabels van 10 cm in de magnetometerpinnen van de draadloze servobesturingskaarten
  4. Steek het andere uiteinde van de 4 kabels in de magnetometer (zorg ervoor dat ze op de juiste manier rond zijn)
  5. Sluit alle servo's aan op hun speciale pinnen in de draadloze servobesturingskaart
  6. Schroef de VIN- en GND-draden van de batterij op de draadloze servobesturingskaart en zorg voor de juiste polariteit

Stap 4: Montage van de benen van GorillaBot

Image
Image

Alle montagestappen zijn afgebeeld in de montagevideo hierboven:

  1. Schuif 1 VOET over 1 CIRKELPEN L4
  2. Schuif het dikkere uiteinde van 1 CALF EXT over de CIRKELPEN L4 met de uitstekende kant van de voet af gericht
  3. Schuif 2 CALF INT over de CIRKELPEN L4
  4. Schuif het dikkere uiteinde van 1 CALF EXT over de CIRKELPEN L4 met de uitstekende kant naar de voet gericht
  5. Schuif 1 VOET over de CIRKELPEN L4
  6. Veilig op zijn plaats met 3 CIRKEL CLIPS
  7. Schuif 1 CIRKELPEN L3 door 1 van de gemonteerde CALF EXT
  8. Schuif 1 DIJ SERVO over de CIRCULAIRE PIN L3 met de uitstekende kant naar de CALF EXT gericht
  9. Schuif 1 DIJ over de CIRKELPEN L3
  10. Schuif de CIRKELPEN L3 door de andere gemonteerde CALF EXT
  11. Veilig op zijn plaats met 3 CIRKEL CLIPS
  12. Schuif 1 DIJ SERVO over 1 CIRKELPEN L2 met de uitstekende kant naar de kop van de CIRKELPEN L2 gericht
  13. Schuif de CIRKELPEN L2 door beide gemonteerde CALF INTS
  14. Schuif 1 DIJ door de CIRKELPEN L2
  15. Veilig op zijn plaats met 3 CIRKEL CLIPS
  16. Herhaal alle processen voor de resterende 3 poten, onthoud dat wanneer de poten op de robot worden gemonteerd, de pennen naar buiten wijzen en de CALF EXTS zich voor de CALF INTS bevinden, zodat de montage van voor naar achter identiek is, maar symmetrisch van links naar rechts.

Stap 5: Arduino installeren

GorillaBot gebruikt C++-programmering om te kunnen functioneren. Om programma's naar GorillaBot te uploaden, gebruiken we Arduino IDE samen met een paar andere bibliotheken die in de Arduino IDE moeten worden geïnstalleerd.

Installeer Arduino IDE op uw computer: Arduino IDE (link hier)

Om de bibliotheken in Arduino IDE te installeren, moet je het volgende doen met alle bibliotheken in de onderstaande links:

  1. Klik op de onderstaande links (hiermee gaat u naar de GitHub-pagina van de bibliotheken)
  2. Klik op de groene knop met de tekst Code
  3. Klik op download ZIP (de download zou in uw webbrowser moeten starten)
  4. Open de gedownloade bibliotheekmap
  5. Pak de gedownloade bibliotheekmap uit
  6. Kopieer de uitgepakte bibliotheekmap
  7. Plak de uitgepakte bibliotheekmap in de Arduino-bibliotheekmap (C:\Documents\Arduino\libraries)

Bibliotheken:

  • Varspeedservo-bibliotheek (link hier)
  • QMC5883L bibliotheek (link hier)
  • RF24 Bibliotheek (link hier)

En daar hebben we het, je zou helemaal klaar moeten zijn om te gaan. Om er zeker van te zijn dat je Arduino IDE correct hebt ingesteld, volg je de volgende stappen

  1. Download hieronder de gewenste Arduino Code (GorillaBot Controller & Autonomous.ino)
  2. Open het in Arduino IDE
  3. Selecteer Gereedschap:
  4. Selecteer bord:
  5. Selecteer Arduino Nano
  6. Selecteer Gereedschap:
  7. Selecteer verwerker:
  8. Selecteer ATmega328p of ATmega328p (oude bootloader), afhankelijk van welke Arduino nano je hebt gekocht
  9. Klik op de knop Verifiëren (vinkje) in de linkerbovenhoek van Arduino IDE

Als alles goed gaat, zou je onderaan een bericht moeten krijgen met de tekst Klaar met compileren.

Stap 6: De code uploaden

Nu is het tijd om de code te uploaden naar het brein van GorillaBot, de Arduino Nano.

  1. Sluit de Arduino Nano aan op uw computer via een USB-kabel
  2. Klik op de uploadknop (pijl naar rechts)

Als alles goed gaat, zou je onderaan een bericht moeten krijgen met de tekst Klaar met uploaden.

Stap 7: De servo's kalibreren

Om de poten correct te monteren, moeten we de servo's naar hun thuispositie brengen.

  1. Plaats 2 Li-ion-batterijen in de batterijhouder
  2. Schakel de robot in en wacht 5 seconden totdat de servo's hun thuispositie hebben bereikt
  3. Schakel de robot uit

Stap 8: Benen aan lichaam monteren

Het aansluiten van de poten op de servo's is vrij eenvoudig, onthoud gewoon dat de CALF EXT voor de CALF INT moet worden geplaatst tijdens de montage met de pennen naar buiten gericht.

  1. Schuif de DIJK van de CALF BUITEN kant van een van de benen over de CIRCULAIRE PIN L1 op de voorste linker servohouder
  2. Veilig op zijn plaats met 1 CIRCULAIRE CLIP
  3. Schuif de THIGH SERVO van de CALF EXT-zijde van hetzelfde been over de servokop op de voorste linker servohouder (zorg ervoor dat de DHIGH SERVO in een hoek van 90 graden met het lichaam staat)
  4. Zet de THIGH SERVO op zijn plaats in een hoek van 90 graden ten opzichte van het lichaam met een servohoorn met één arm en een kleine servoschroef
  5. Herhaal hetzelfde proces voor de servohouder linksvoor met de resterende DIJ- en DIJSERVO van dat been
  6. Herhaal alle voorgaande processen voor de resterende 3 poten

Stap 9: Klaar om te racen!

Dus dat is het, je zou helemaal klaar moeten zijn om te gaan!!!

Handmatige modus:

  • Schakel de robot en de controller in en controleer of de robot goed loopt door de richtingen omhoog, links en rechts van de joystick te gebruiken.
  • Druk op de omlaag-knop en de robot zou een dansje moeten uitvoeren

Als alles goed werkt, zijn de servo's goed gekalibreerd en kun je nu de autonome modus uitproberen.

Autonome modus

De autonome sprintmodus gebruikt de magnetometer om de robot 2,5 meter lang in een constante richting te laten draaien. U kunt de gewenste positie en gewenste correctiehoek programmeren met behulp van de controller

  1. Schakel de robot en controller in
  2. Beweeg de robot in alle richtingen om de magnetometer gedurende 5 seconden te kalibreren
  3. Plaats de robot op de grond in de gewenste positie waarin u hem wilt hebben
  4. Druk op de omhoog-knop om die kop te onthouden
  5. Draai de robot 30-45 graden naar links van de gewenste koers
  6. Druk op de linkerknop om die positie te onthouden
  7. Draai de robot 30-45 graden rechts van de gewenste koers
  8. Druk op de rechterknop om die positie te onthouden
  9. Plaats de robot terug in de gewenste richting
  10. Druk op de joystickknop om de robot te starten

De robot rent 2,5 meter in een constante richting en stopt dan met zitten en doet een overwinningsdans.

Mijn robot deed de 2,5 meter in 7,5 seconden.

Dat geeft me een theoretische tijd van 10 meter in 30 seconden, wat hopelijk genoeg zal zijn om me een goede tijd te bezorgen bij de Toulouse Robot Race

Wens me succes en voor degenen onder u die besluiten deze robot te bouwen, hoor ik graag uw feedback en mogelijke verbeteringen waarvan u denkt dat ze kunnen worden gemaakt!!!

Tweede plaats in de robotwedstrijd