Walbi: Een Stable Tweevoetige Robot Gebouwd met Arduino en LX-16A Servo's
Onderdelen en Benodigdheden
| Onderdeel | Aantal |
|---|---|
| Arduino Nano R3 | 1 |
| LX-16A Servo | 10 |
| Debug Board | 1 |
Nodige Tools en Machines
- 3D-printer (generic)
Apps en Online Services
- Arduino IDE
Over Dit Project
Zou het niet geweldig zijn als we een tweevoetige robot konden maken met enkele servo's? De Inner Geek dacht dat ook en dit is het resultaat…
Dit is Walbi, de WALink BIped, een robot die we creëerden voor een machine learning-project dat nooit van de grond kwam (noch Walbi, maar dat is omdat het met beide voeten stevig op de grond staat).
Walbi gebruikt een Arduino Nano als "hersenen", LX-16A servo's als "spieren" en 3D-geprinte plastic onderdelen als "botten". De LewanSoul LX-16A servo's zijn ideale servo's voor kleine robotica-projecten: ze zijn licht, leveren meer dan 19 kg·cm en zijn verbonden met een enkele kabel die van servo naar servo loopt, wat het bekabelen van de robot een kinderspel maakt.
Walbi is een 2:1 schaal humanoïde en zijn benen zijn 55 cm hoog (21,7 inch) van hiel tot taille en wegen 1,1 kg (2,4 lbs). De witte delen van zijn lichaam zijn 3D-geprint, maar hadden net zo goed van lichtgewicht stevig hout gemaakt kunnen worden.
Het programmeren van Walbi is heel simpel. Je kunt de twee benodigde programma's voor motion capture en playback hieronder downloaden, en daarmee kun je Walbi laten lopen, kruipen, klimmen, springen of dansen! Je hoeft alleen de benen in een gewenste houding te brengen, die houding op te nemen, Walbi in een andere houding te brengen, die op te nemen, enzovoort. Zodra je de complete reeks hebt opgenomen, kun je achterover leunen en kijken hoe het de geleerde bewegingen vakbekwaam uitvoert.
Misschien leer je de jouwe riverdansen 😀
De Walbi Bouwen
Walbi is in PLA geprint met een FlashForge Creator Pro printer. Je kunt de STL-bestanden van Thingiverse downloaden, of een alternatieve methode gebruiken om de voeten, been "botten" en taille te bouwen uit hout of metaal. De servo-steunen bevestigen aan deze onderdelen, aan de servo's en aan elkaar.
Je hebt metaalsteunen van vier verschillende typen nodig om de servo's aan de geprinte onderdelen en aan elkaar te bevestigen (meer informatie en foto's beschikbaar op de Release The Inner Geek blog).
Bekabeling
Om de LX-16A servo's te sturen heb je een LewanSoul Debug Board nodig.
Deze ontvangt commando's via een seriële poort op de Arduino Nano. Omdat we de hardware seriële poort van de Arduino gebruikten om met de computer te communiceren, gebruikten we de SoftwareSerial bibliotheek om een tweede seriële poort op de Nano te maken voor de verbinding met het Debug Board.
De bekabeling is geminimaliseerd dankzij seriële servo's. Er loopt een kabel van elke servo naar de volgende (seriële kabel geleverd met de servo's) en de servo's in de taille steken direct in het Debug Board. Je computer verbindt met de USB-poort van de Arduino en de Arduino is via drie draadjes (TX, RX en GND) verbonden met het Debug Board, aangesloten op de Arduino-pinnen die je voor SoftwareSerial configureert – we gebruikten pinnen 10 en 1 in de code.
De servo's gebruiken een baudrate van 115200 (als je weet hoe je dat kunt veranderen, laat het ons weten, want dit is te hoog). Deze baudrate is hoog voor SoftwareSerial, dus we moesten foutcontrole en herprober-functionaliteit implementeren. In sommige gevallen was uitdauering nodig om een correcte waarde te lezen.
Voeding
De servo's leveren 19,5 kg·cm bij 7,4 V. We gebruikten 6 V en de stroom bij geblokkeerde as was onder de 3 ampère.
Programmeren
Je kunt de Arduino-code in de GitHub-repository van het project vinden.
Twee programma's worden gebruikt voor motion capture en replay, een techniek die vergelijkbaar is met die in films. Je begint met het vormgeven van de robot in een houding. Omdat de servo's standaard op "motor uit" staan, kun je de servo's met de hand draaien. Zodra de robot in de gewenste houding is, gebruik je het Walbi_record-programma om alle servo-hoeken uit te lezen en weer te geven. Je voert die hoeken dan in de poseAngles-variabele in Walbi_play in, en speelt de reeks opgenomen houdingen af met een snelheid ingesteld via de timeToMove-variabele (in milliseconden).
We hopen dat je het project leuk vond. Deel gerust je enthousiasme door een reactie te achterlaten, de blog te abonneren of op welke manier dan ook. We waarderen het!
Inner Geek Nuggets (Tips & Trucs)
- De steunen voor de LX-16A passen maar op ÉÉN manier op de servo, dus het is heel makkelijk ze verkeerd te monteren, vooral aan de 3D-geprinte onderdelen. We moesten Walbi een paar keer herdemonteren om montagefouten te corrigeren die lastig te spotten waren.
- De servo's hebben standaard ID 1. Wijs elke servo een uniek ID toe voordat je ze op de robot monteert, anders is communicatie met meerdere seriële servo's met hetzelfde ID onmogelijk.
- Kabelbinders verbeteren het uiterlijk aanzienlijk.
- De servo's worden geleverd met de schroeven om de horens aan de servo's en de horens aan de steunen te bevestigen. De steunen worden geleverd met schroeven om ze aan de servo's te bevestigen. Je moet apart schroeven kopen voor steun-tot-steun verbindingen en steun-tot-plastic verbindingen. We gebruikten DIN912 M2-6 en M2-10 schroeven en moeren.
- Je kunt de tractie verbeteren door siliconen voetzolen onder de robotvoeten te plakken.
- Het is beter om metalen servo-horens te gebruiken, want de plastic horens die bij de servo's horen scheuren als (wanneer) de benen tijdens tests in elkaar boten. Als de horens scheuren, krijgt de robot spel en wordt de nauwkeurigheid van het afspelen van bewegingen verminderd (wat anders verrassend goed is).
Code
Arduino-programma's voor beweegcontrole en playback
https://github.com/ptavaressilva/Walbi
Custom Onderdelen en Behuizingen
STL-bestanden voor 3D-geprinte onderdelen
Oorspronkelijk geprint op een Flash Forge Creator Pro. CAD-bestand op thingiverse.com.
Productieproces
- Machinefalen voorkomen: De "morgen" mentaliteit in smeringonderhoud overwinnen
- Waarom snell prototypen essentieel is voor succesvolle productontwikkeling
- Professionele temperatuurbewaking met Raspberry Pi en DS18B20
- Real-time Pan/Tilt gezichtsvolging op een Raspberry Pi – Praktische Gids
- Drone Pi: Een Dual-Mode Multiwii & Raspberry Pi Quadcopter voor Smartphone en Remote Besturing
- Archimedes: De Emotie-Detecterende AI Robot Uil
- Top bladblazers 2024: Vind het perfecte model voor uw tuin
- De 555 Geïntegreerde Circuit: Een Tijdloze Referentie in Analoog Ontwerp
- De ABC-Formule: Een Betrouwbare Tool voor het Oplossen van Tweedegraads Vergelijkingen
- Hoe Live TV Zich Transformeert: De Compute-gedreven Toekomst van Broadcasting
- UGI® 4313 +A: Hoogpresterend Laagkoolstof Nikkellegerd Martensitisch Roestvrij Staal