Indholdsfortegnelse:

ICBob - en Bob Inspired Biped Robot: 10 trin (med billeder)
ICBob - en Bob Inspired Biped Robot: 10 trin (med billeder)

Video: ICBob - en Bob Inspired Biped Robot: 10 trin (med billeder)

Video: ICBob - en Bob Inspired Biped Robot: 10 trin (med billeder)
Video: Bob Just Laughs | The Walking Dead #Shorts 2024, Juli
Anonim
Image
Image
ICBob - en Bob Inspired Biped Robot
ICBob - en Bob Inspired Biped Robot

Vi er Teen Imagineering Club fra Bridgeville Delaware Public Library. Vi laver fede projekter, mens vi lærer om elektronik, computerkodning, 3D -design og 3D -print.

Dette projekt er vores tilpasning af BoB the BiPed en Arduino -baseret robot. Vi redesignede kroppen til at drage fordel af vores foretrukne Arduino strømkilde, Powerbot telefonens powerbank. Denne billige genopladelige 5 volt strømkilde er fantastisk til at drive vores Arduino -projekter, og den oplades med enhver USB -vægoplader. Vi tilpassede også de 3 fod med fødderne fra Arduped biped -robotten, bare fordi de ser AWESOME ud. Vi viser dig, hvor du får fat i de dele, du har brug for, hvordan du samler robotten og endda giver dig en let Arduino -kode for at få den til at gå. Vi havde det sjovt med at lave vores elleve ICBob -robotter. Fortsæt med at læse, hvis du vil lære at lave en til dig selv.

Trin 1: Dele og værktøjer, du får brug for

Dele og værktøjer, du får brug for
Dele og værktøjer, du får brug for
Dele og værktøjer, du får brug for
Dele og værktøjer, du får brug for

ICBob er designet til følgende sæt dele. Selvom udskiftninger er mulige, skal du muligvis ændre kroppen for at få dem til at fungere. Vores foretrukne leverandør er Yourduino.com, men for nogle varer skal du gå til Amazon eller Ebay.

Opdatering af produkttilgængelighed- Yourduino bærer ikke længere Micro Magician og siger, at de afbrydes af Dagu. Dagu -webstedet har dem stadig tilgængelige https://www.dagurobot.com/goods.php?id=137, og hvis de ikke er tilgængelige, er S4A EDU -controlleren et fald i udskiftning og fungerer ved 5 volt.

Dele

  • 1x- MICRO Magician controller
  • 4x- SG 90 servo
  • 1x- HC-SR04 Ultralydssensor
  • 1x- Powerbot powerbank 2600mAh (3000mAh Powerbot er større i diameter og passer ikke)
  • 1x- Kvinde MICRO USB til DIP 5-benet tavle
  • 1x- 20cm 40 pin fladkabel hunender
  • 1x- 10k modstand
  • 4x- 2-56 x 3/8 selvskærende skruer (alternativ varm lim)

3D -udskrifter - Stl -filerne er tilgængelige på Thingiverse ting: 1313344

  • 1x- krop
  • 1x- skal
  • 2x- knæ
  • 1x- venstre fod
  • 1x- højre fod

Værktøjer

  • computer med Arduino IDE
  • Arduino tilføjelse til bibliotek VarSpeedServo
  • MICRO Magician Driver (nødvendig for nogle operativsystemer)
  • 3D -printer (eller få delene lavet)
  • 3D del rengøringsværktøjer
  • Loddesæt (kun til benene på USB -adapteren)
  • Varm limpistol
  • Lille Philips skruetrækker
  • usb oplader

Denne instruks forudsætter, at du har en grundlæggende viden om brug af Arduino. Hvis du er ny i Arduino, kan du lære mere på

Til MICRO Magician vælg Board - Arduino Pro eller Pro Mini (3.3V, 8MHz) m/ ATmega328

Du skal bruge Kormans VarSpeedServo -bibliotek for at bruge vores skitser. Du kan finde ud af mere om hans bibliotek her, men brug vores download herunder, som er kompatibel med den nyere IDE. Download VarSpeedServo.zip -filen herunder, og pak den ud til din arduino/biblioteksmappe.

Du skal muligvis installere MICRO Magician CP210x -driveren, hvis dit system ikke genkender controlleren. Dette websted kan hjælpe med at installere driveren

Trin 2: Lad os begynde at bygge - Saml benene

Lad os begynde at bygge - Saml benene
Lad os begynde at bygge - Saml benene
Lad os begynde at bygge - Saml benene
Lad os begynde at bygge - Saml benene
Lad os begynde at bygge - Saml benene
Lad os begynde at bygge - Saml benene

Til dette trin skal du bruge 2 - 3D -trykte knæ og 4 servopakker.

Start med at rense knæene. De 2 servohornhuller skal passe til de ensidige servohorn. Vi rensede dem med en bogstav L (.290) i størrelse. Det ene drejehul skal passe til drejen på foden. Vi rensede dem med en # 2 (.220) størrelse bor.

Monter de 4 servohorn i knæene. Fastgør hornet ved hjælp af en af de større skruer, der fulgte med servopakken. Sæt skruen igennem fra knæsiden og stram til i et af de små huller på servohornet. For den ene skrue skal du stramme med skruetrækkeren i en vinkel, men det er muligt. Du kan klippe de skruepunkter, der stikker ud med sidetang, hvis du vil.

De 4 servospindler skal centreres, før de fastgøres til knæene. Du kan gøre dette manuelt ved forsigtigt at flytte spindlen gennem dens rotation for at finde halvvejs. En bedre måde er at vedhæfte en servo til pin 12. Download filen icbob_servo_center.zip herunder. Pak ud til dit Arduino -bibliotek. Kør derefter denne Arduino -skitse for hver servo.

Start med at samle hofte (øvre) servoer til knæene. Uden at bevæge spindlen fastgøres hofte -servoen parallelt med knæet med ledningerne vendt mod det andet servo -horn (foran). Fastgør med en lille skrue fra servopakken. Gentag for det andet knæ.

Nu til ankel servoer. HUSK du kommer til at have højre og venstre ankler, så benene bliver spejlbilleder af hinanden. Du bliver nødt til at sprede knæet lidt for at samle ankleservoen, så orienter servoen som på billedet, før du klemmer den ind. Husk ikke at dreje spindlen. Fastgør med en lille skrue. Gentag med det andet knæ, så du afslutter med et højre og venstre ben.

Trin 3: Bygning - Fastgør benene til kroppen

Bygning - Fastgør benene til kroppen
Bygning - Fastgør benene til kroppen
Bygning - Fastgør benene til kroppen
Bygning - Fastgør benene til kroppen
Bygning - Fastgør benene til kroppen
Bygning - Fastgør benene til kroppen

Du skal bruge de 2 bensamlinger og den 3D -printede base til dette trin. Du skal også bruge (4) 2-56x3/8 selvskærende skruer eller varm lim.

Benmonteringen fastgøres til basen ved hjælp af hofteservoerne. Før først de 2 servotråde op gennem bunden af basen. Pas på rettighederne og venstrefløjen. Som tegningen viser ankeltråden ender i halvmånens udskæring, men du skal have ankeltråden i, før servoen sættes på. Du skal vippe servoen, så hoftewiren (hvor den kommer ind i servoen) først går gennem det rektangulære hul (fremad). Det sidder tæt, men bagenden skal bare glide ind. Vend nu basen og fastgør servoen med 2 skruer, eller alternativt skal varm lim fungere. Gentag processen for det andet ben.

Trin 4: Bygning - Fastgør fødderne

Bygning - Fastgør fødderne
Bygning - Fastgør fødderne
Bygning - Fastgør fødderne
Bygning - Fastgør fødderne

Til dette trin skal du bruge en venstre fod og højre fod for at tilføje til din samling. De er varmlimet på, så fyr op med limpistolen.

Sørg for at rengøre åbningerne i fødderne godt. Test forsigtigt servoen til foden efter rengøring. Sørg for, at svinghullet i knæet passer ind i drejestiften på foden. Det er bedst at bruge en tynd skruetrækker mellem servoen og foden til at lirke foden tilbage, hvis den er stram. Når du har fået en god testtilpasning, skal du placere en klot med varm lim på foden og derefter trykke servoen til foden. Undgå at få lim i nærheden af drejeområdet. Gentag for den anden side, så din bot kan stå på egne ben.

Trin 5: Ledningsføring - Servoer og strøm

Ledningsføring - Servoer og strøm
Ledningsføring - Servoer og strøm
Ledningsføring - Servoer og strøm
Ledningsføring - Servoer og strøm
Ledningsføring - Servoer og strøm
Ledningsføring - Servoer og strøm

I dette trin skal du bruge MICRO Magician -controlleren, mikro -USB -adapterkortet med headerstifter, det flade kabel og din stående bot. Du vil blive loddet og limet i dette trin, så hav disse værktøjer klar.

Powerbot powerbank leveres med et kort USB til mikro USB kabel. Til opladning af batteriet sættes mikro -USB i opladningsstikket på batteriet, og USB går til vægopladeren. Du genbruger dette kabel til at drive ICBob'en. Batteriudgang er via USB, så vi opretter forbindelse via mikro -USB -adapterkortet for at få strøm til botten.

Lad os først samle adapteren. Se foto for de næste trin. Du vil kun bruge de 2 udvendige ben (gnd og V+) til at drive bot. Skub forsigtigt de 2 udvendige stifter i overskriften, så kortsiden stikker ca. 3/16 in. Med en tang bøjes de 2 lange stifter 60 grader eller deromkring. Bøj før lodning, da brædderne er skrøbelige. Indsæt hovedet som vist, og lod alle stifter på bagsiden for at styrke. Klip alle ubrugte stifter så korte som muligt både for og bag. Inden vi limer adapteren til tønden, skal du tilslutte mikro -USB -kablet, så du ender med nok afstand. Læg en stor kugle varm lim på bagsiden af adapteren, og anbring den derefter i den position, der er vist på cylinderen. Hold, indtil det hærder.

Sæt derefter de 4 servostik på controlleren. Vi kan godt lide MICRO Magician, fordi den har 3 -polede stik ombord til nem servoledning. Den mørkere farvetråd (brun?) Går mod brættets kant. De medfølgende Arduino -skitser bruger følgende stifter.

  • Højre hofte (RH) - pin 9
  • Højre ankel (RA) - pin 10
  • Venstre hofte (LH) - pin 11
  • Venstre ankel (LA) - pin 12

For strømtilslutning til kortet trækkes et par ledninger fra det flade kabel. Du vil bruge mere af dette flade kabel til sonarkabler. Tilslut den ene ende af parret til mikro -USB -adapteren. Stiften, der er tættere på botens forside, er slebet og den anden V+. Den anden ende fastgøres til controlleren nær kontakten. V+ -tråden forbindes til stiften mærket 'Batteri IN' i dokumentationen. Tilslut jordledningen til 'gnd' -stiften lige lidt over' Batteri IN' -stiften.

VIGTIG! - Der er en 'V+ select' jumper lige over D1 pin -sættet. Denne jumper skal være på det indvendige sæt af ben, ellers fungerer servoerne ikke.

Rengør til sidst controllerens slot på basen, så controlleren sidder tæt. Du kan tilslutte batteriet og tænde for controlleren for at sikre, at det tændes.

Trin 6: Programmering - hjemmekalibreringskode

Et par ord om vores programmeringsvalg

Da vi byggede prototypen til dette projekt, brugte vi How to teach your BoB Biped til at flytte tutorial over på Let's Make Robots. Bob Poser -softwaren var cool, og vi havde det sjovt med at lege med den. Problemet var, at 600+ kodelinjer i navigationsskitsen var et godt stykke over teenagernes vidensniveau. For at gøre dette projekt mere til en læringsoplevelse for dem besluttede vi at samle et par ideer fra Poser -koden og derefter starte forfra med en tom side. Teenagerne havde allerede brugt VarSpeedServo -biblioteket, mens de lærte om servoer i vores Arduino -laboratorier. Vi besluttede at se, om VarSpeedServo kunne håndtere timingen og hastighedsopgaverne for servoerne, så vi bare kunne koncentrere os om positionerne. Den resulterende kode fungerer godt, og den fulde walk_avoid_turn -skitse har mindre end 100 linjer kode. De eneste nye koncepter, teenagerne havde brug for at lære om, var 2 -dimensionelle arrays og hvordan man får adgang til disse data med kode. God fornøjelse!

Hjemskalibrering

Du centrerede servospindlerne, da du samlede dem. Nu vil du se, hvor tæt du kom og finjustere deres hjemmepositioner. Sørg for, at du har VarSpeedServo -biblioteket fra trin 1 installeret. Download filen icbob_home_calibration.zip herunder, og pak den ud til dit Arduino -bibliotek. Åbn skitsen i Arduino IDE. Tænd for MICRO Magician med batteriet. Tilslut computeren til kortet, og upload kode. Chancerne er, at servo -hjemmepositionerne ikke vil være perfekte. Find følgende afsnit i koden. Fortsæt med at justere og uploade, indtil du får det rigtigt.

//…………………………………………………….

// Start med de 4 hm array memmbers indstillet til 90 grader. juster derefter // disse indstillinger, så knæene er lige frem og fødderne er flade int hm [4] = {90, 90, 90, 90}; // array til at holde hjemmeposition for hver servo RH, RA, LH, LA // ………………………………………………………….

Hvis et af dine tal er mindre end 50 eller større end 130, skal du bakspore og adskille benene og få spindlerne tættere på midten.

Når du har en god hjemmeposition, skal du skrive tallene ned. Du skal bruge disse tal til resten af skitserne.

Trin 7: Programmering - Move Generator Code

Programmering - Move Generator Code
Programmering - Move Generator Code

Nu for at få din bot i gang. Download filen icbob_move_generator.zip herunder, og pak den ud til dit Arduino -bibliotek. Åbn skitsen i Arduino IDE. Find følgende afsnit af koden. Sæt de hjemmepositioner, du har registreret til din bot, i skitsen.

// indstil medlemmerne for arrayet hm til hjemmepositionerne for din robot

// de kan findes ved hjælp af icbob_home_calibration sketch const int hm [4] = {95, 95, 85, 90}; // array til at holde hjemmeposition for hver servo RH, RA, LH, LA

Det følgende afsnit af koden er, hvor bevægelsessekvenserne indtastes. Hver linje har positioner for de 4 servoer (RH, RA, LH, LA) i forhold til hjemmepositionen.

// mv array data. Hver linje er en 'ramme' eller position indstillet til de 4 servoer

// Flere linjer opretter en gruppe bevægelser, der kan loopes til // opretter gang, drejning, dans eller andre bevægelser const int mvct = 6; // Gør dette tal lig med antallet af linjer i arrayet const int mv [mvct] [4] = {{0, -40, 0, -20}, // Disse forudindlæste tal skal give en fremadgående gåtur {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0},};

Dette er koden, der gør mv -arraydata til servo slowmoves

void loop () // loop gentages for evigt

{// Flyt rækkefølgen for (int x = 0; x <mvct; x ++) {// gennemgå antallet af RH.slowmove (hm [0]+mv [x] [0], svsp); // linjer 'rammer' i arrayet RA.slowmove (hm [1] + mv [x] [1], svsp); LH.slowmove (hm [2] + mv [x] [2], svsp); LA.lowmove (hm [3] + mv [x] [3], svsp); forsinkelse (framedelay); }}

Upload til bot. Bot vil gå til udgangspositionen i 2 sekunder og derefter starte en gå fremad loop. Det fungerer bedst, hvis bordet ikke er for glat.

Når du er blevet træt af at se ham gå, kan du prøve dine egne træk. Brug 'gem som' til at omdøbe skitsen. Spil derefter med tallene og se, hvad du kan gøre. Hold tallene mellem +50 og -50, eller du kan belaste servoerne. Husk, at hvis du tilføjer eller fratrækker linjer, skal du ændre mvct -værdien for at afspejle ændringen. Hav det sjovt!

Trin 8: Kabelføring - HC -SR04 ekkolodssensor (øjne)

Ledninger - HC -SR04 ekkolodssensor (øjne)
Ledninger - HC -SR04 ekkolodssensor (øjne)
Ledninger - HC -SR04 ekkolodssensor (øjne)
Ledninger - HC -SR04 ekkolodssensor (øjne)

Til dette trin skal du bruge icbob_shell 3D-print, HC-SR04 ultralydssensor, det kvindelige flade kabel og en 10k ohm modstand. Dette skulle afslutte delene på vores liste. Ja!

Rengør først sensorhullerne i skallen for en medium stram pasform. Undgå at lægge for meget pres på sensoren, når du tester montering. Fjern fra skallen til ledninger.

Træk derefter 4 tråde af det flade kabel. Sæt de 4 ledninger i sensorstifterne HC-SR04.

MICRO Magician arbejder internt på 3,3 volt, og benene kan kun tage et 3,3 volt signal. Problemet er, at HC-SR04 fungerer ved 5 volt. Det kan bruge en 3,3 volt indgang som 'trigger' signal, men når det sender et 'ekko' signal er det 5 volt, og det vil beskadige controller input hvis det tilsluttes direkte. Vi skal sætte en 10k ohm strømbegrænsende modstand på 'ekko' ledningen for at beskytte input.

OPDATERING: Selvom vi ikke har haft problemer med kun 10K -modstanden inline, blev det påpeget i kommentarerne, at bedste praksis indikerer, at et spændingsdelerkredsløb skal bruges her. Ud over 10K modstanden skal der placeres en 15K modstand mellem 'ekko' og 'jord'.

Skær modstanden fører til.5 tommer. Modstanden går ind i 'ekko' ledningen på dit flade kabel. Vi lagde en dråbe superlim på forbindelsen for at hjælpe den med at blive siddende.

Skitsen bruger pin 13 til trigger og pin 3 til ekko. Brug gruppen pin 13 på controlleren til 'gnd', 'vcc', 'trig' i den rækkefølge, der arbejder fra kanten mod midten. Du bliver nødt til at krydse nogle ledninger her for at få det rigtigt. 'Echo' ledningen med modstanden sættes i hunstik 3 -stikket.

Hvis du vil tjekke sensoren, før du går videre til det næste trin, kan du bruge den første skitse på denne side https://arduino-info.wikispaces.com/UltraSonicDistance for at teste den. Du skal bruge batteriet tilsluttet. Du kan se afstandsaflæsning på den serielle skærm. Sørg for at indstille 'trigger_pin' til 13 og 'echo_pin' til 3 i skitsen.

Den bedste måde at installere sensoren i skallen er med stifterne, der peger mod toppen, og ledningerne foldes og føres mellem sensorens øjne og skallen.

Trin 9: Programmering - Walk_Avoid_Turn -kode

Samler det hele. Alle dele er samlet. Vi er klar til at indlæse hele koden, sætte skallen på og se den gøre sit.

Du kender rutinen. Download filen icbob_walk_avoid_turn.zip herunder, og pak den ud til dit Arduino -bibliotek. Åbn skitsen i Arduino IDE. Find følgende afsnit af koden. Sæt de hjemmepositioner, du har registreret til din bot, i skitsen.

// indstil medlemmerne for hm -arrayet til hjemmepositionerne for din robot

// de kan findes ved hjælp af icbob_home_calibration sketch const int hm [4] = {95, 95, 85, 90}; // array til at holde hjemmeposition for hver servo RH, RA, LH, LA

Denne skitse tilføjer et andet træk array og et andet sæt langsom bevægelses kode til 'turn' træk.

// videresend matrixdata

const int fwdmvct = 6; // Gør dette tal lig med antallet af linjer i arrayet const int fwdmv [fwdmvct] [4] = {{0, -40, 0, -20}, // gå fremadgående rammer {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0},}; // turn array data const int trnmvct = 5; // Gør dette tal lig med antallet af linjer i arrayet const int trnmv [trnmvct] [4] = {{-40, 0, -20, 0}, // drej bevægelsesrammer {-40, 30, -20, 30}, {0, 30, 0, 30}, {30, 0, 30, 0}, {0, 0, 0, 0},};

Vi tilføjede sonar -forhindringsdetekteringskode samt en 'if' 'else' -erklæring for at afgøre, om vi går lige eller drejer.

Slutmontering og opstart

Lad batteriet være afbrudt, og upload skitsen. Tag programmeringsledningen ud. Sørg for, at tænd / sluk -knappen på controlleren er i den nedadgående position. Skub forsigtigt skallen på basen med USB -netledningen stikker gennem det øverste hul. Sæt batteriet i. Sæt den i. Din ICBob skal begynde at bevæge sig og dreje for at undgå forhindringer tættere på end 7 tommer.

Trin 10: Afslutning

Vi håber, at du har det lige så sjovt med at bygge din ICBob, som vi gjorde med at bygge vores. Lad os vide, hvis du har spørgsmål eller kommentarer. Hvis du bygger en, lad os vide det her eller her på Thingiverse.

Anbefalede: