Innholdsfortegnelse:

ICBob - en Bob Inspired Biped Robot: 10 trinn (med bilder)
ICBob - en Bob Inspired Biped Robot: 10 trinn (med bilder)

Video: ICBob - en Bob Inspired Biped Robot: 10 trinn (med bilder)

Video: ICBob - en Bob Inspired Biped Robot: 10 trinn (med bilder)
Video: I Built Bikini Bottom in a Fish Tank 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 lager kule prosjekter mens vi lærer om elektronikk, datakoding, 3D -design og 3D -utskrift.

Dette prosjektet er vår tilpasning av BoB the BiPed en Arduino -basert robot. Vi redesignet kroppen for å dra nytte av vår favoritt Arduino -strømkilde, Powerbot -telefonens strømbank. Denne rimelige oppladbare 5 volt strømkilden er flott for å drive Arduino -prosjektene våre, og den lades opp med hvilken som helst USB -vegglader. Vi tilpasset også de 3 fotene fra Arduped biped -roboten bare fordi de ser UTROLIG ut. Vi viser deg hvor du får tak i delene du trenger, hvordan du monterer roboten og til og med gir deg en enkel Arduino -kode for å få den til å gå. Vi hadde det kjempebra med å lage våre elleve ICBob -roboter. Fortsett å lese hvis du vil lære å lage en selv.

Trinn 1: Deler og verktøy du trenger

Deler og verktøy du trenger
Deler og verktøy du trenger
Deler og verktøy du trenger
Deler og verktøy du trenger

ICBob er designet for følgende sett med deler. Selv om det er mulig å bytte ut, må du kanskje endre kroppen for å få dem til å fungere. Vår favorittleverandør er Yourduino.com, men for noen varer må du gå til Amazon eller Ebay.

Oppdatering av produkttilgjengelighet- Yourduino bærer ikke lenger Micro Magician og sier at de blir avviklet av Dagu. Dagu -nettstedet har dem fortsatt tilgjengelig https://www.dagurobot.com/goods.php?id=137, og hvis de ikke er tilgjengelige, er S4A EDU -kontrolleren en dråpe i erstatning og fungerer på 5 volt.

Deler

  • 1x- MICRO Magician-kontroller
  • 4x- SG 90 servo
  • 1x- HC-SR04 Ultralydsensor
  • 1x- Powerbot powerbank 2600mAh (3000mAh Powerbot er større i diameter og passer ikke)
  • 1x- kvinnelig MICRO USB til DIP 5-pinners tavle
  • 1x- 20cm 40-pins flat kabel hunnender
  • 1x- 10k motstand
  • 4x- 2-56 x 3/8 selvskruende skruer (alternativt varmt lim)

3D -utskrifter - stl -filene er tilgjengelige på Thingiverse ting: 1313344

  • 1x- kropp
  • 1x- skall
  • 2x- kne
  • 1x- venstre fot
  • 1x- høyre fot

Verktøy

  • datamaskin med Arduino IDE
  • Arduino add on library VarSpeedServo
  • MICRO Magician Driver (nødvendig for noen operativsystemer)
  • 3D -skriver (eller få delene laget)
  • 3D -rengjøringsverktøy
  • Loddesett (bare for pinnene på USB -adapteren)
  • Varm limpistol
  • Liten Philips skrutrekker
  • usb lader

Denne instruksen forutsetter at du har grunnleggende kunnskap om bruk av Arduino. Hvis du er ny på Arduino, kan du lære mer på

For MICRO Magician velger du Board - Arduino Pro eller Pro Mini (3.3V, 8MHz) m/ ATmega328

Du trenger Kormans VarSpeedServo -bibliotek for å bruke skissene våre. Du kan finne ut mer om biblioteket hans her, men bruk nedlastingen nedenfor som er kompatibel med den nyere IDE. Last ned VarSpeedServo.zip -filen nedenfor og pakk den ut til mappen arduino/biblioteker.

Du må kanskje installere MICRO Magician CP210x -driveren hvis systemet ikke gjenkjenner kontrolleren. Dette nettstedet kan hjelpe deg med å installere driveren

Trinn 2: La oss begynne å bygge - Monter bena

La oss begynne å bygge - Monter bena
La oss begynne å bygge - Monter bena
La oss begynne å bygge - Monter bena
La oss begynne å bygge - Monter bena
La oss begynne å bygge - Monter bena
La oss begynne å bygge - Monter bena

For dette trinnet trenger du 2 - 3D -trykte knær og 4 servopakker.

Start med å rengjøre knærne. De 2 servohornhullene må passe til de ensidige servohornene. Vi rengjorde dem med en bokstav L (.290) i størrelse. Det ene svinghullet må passe til svinget på foten. Vi rengjorde dem med en # 2 (.220) størrelse.

Monter de 4 servohornene i knærne. Fest hornet med en av de større skruene som fulgte med servopakken. Trekk skruen gjennom fra knesiden og stram til en av de små hullene på servohornet. For den ene skruen må du stramme med skrutrekkeren i en vinkel, men det er mulig. Du kan klippe skruepunktene som stikker ut med sidekutter hvis du vil.

De 4 servospindlene må sentreres før de festes til knærne. Du kan gjøre dette manuelt ved å bevege spindelen forsiktig gjennom rotasjonen for å finne halvveis. En bedre måte er å feste en servo til pin 12. Last ned filen icbob_servo_center.zip nedenfor. Pakk ut til Arduino -katalogen. Kjør deretter denne Arduino -skissen for hver servo.

Start med å montere hofte (øvre) servoer til knærne. Fest hofteservoen parallelt med kneet uten å flytte spindelen med ledningene vendt mot det andre servohornet (foran). Fest med en liten skrue fra servopakken. Gjenta for det andre kneet.

Nå for ankelservoene. HUSK at du skal ha høyre og venstre ankler, så beina blir speilbilder av hverandre. Du må spre kneet litt for å montere ankelservoen, så orienter servoen som på bildet før du klemmer den inn. Husk å ikke rotere spindelen. Fest med en liten skrue. Gjenta med det andre kneet slik at du avslutter med høyre og venstre ben.

Trinn 3: Bygging - Fest ben til kroppen

Bygning - Fest ben til kroppen
Bygning - Fest ben til kroppen
Bygning - Fest ben til kroppen
Bygning - Fest ben til kroppen
Bygning - Fest ben til kroppen
Bygning - Fest ben til kroppen

Du trenger de to benene og den 3D -trykte basen for dette trinnet. Du trenger også (4) 2-56x3/8 selvskruende skruer eller varmt lim.

Benmonteringen festes til basen ved hjelp av hofteservoene. Før først de 2 servotrådene opp gjennom bunnen av basen. Vær oppmerksom på rettigheter og venstre. Som tegningen viser ankeltråden ender opp i halvmånen cutout, men du må ha ankeltråden inn før servoen festes. Du må vippe servoen slik at hoftetråden (der den kommer inn i servoen) går først gjennom det rektangulære hullet (foran). Det sitter tett, men bakenden skal bare gli inn. Snu nå basen og fest servoen med 2 skruer, eller alternativt bør varmt lim virke. Gjenta prosessen for det andre benet.

Trinn 4: Bygging - Fest føttene

Bygning - Fest føttene
Bygning - Fest føttene
Bygning - Fest føttene
Bygning - Fest føttene

For dette trinnet trenger du en venstre fot og høyre fot for å legge til enheten. De er varmlimt på, så fyr opp limpistolen.

Sørg for å rengjøre hullene i føttene godt. Test forsiktig at servoen sitter på foten etter rengjøring. Sørg for at svinghullet i kneet passer inn i svingtappen på foten. Det er best å bruke en tynn skrutrekker mellom servoen og foten for å lirke foten av igjen hvis den er stram. Etter at du har fått en god testtilpasning, legg en klump med varmt lim på foten og trykk servoen mot foten. Unngå å få lim i nærheten av svingområdet. Gjenta for den andre siden slik at boten din kan stå på egne bein.

Trinn 5: Kabling - Servoer og strøm

Kabling - Servoer og strøm
Kabling - Servoer og strøm
Kabling - Servoer og strøm
Kabling - Servoer og strøm
Kabling - Servoer og strøm
Kabling - Servoer og strøm

I dette trinnet trenger du MICRO Magician -kontrolleren, mikro -USB -adapterkortet med toppstifter, flatkabelen og din stående bot. Du vil lodde og varme liming i dette trinnet, så ha verktøyene klare.

Powerbot powerbank kommer med en kort USB til mikro USB -kabel. For lading av batteriet kobles mikro -USB til ladeåpningen på batteriet, og USB går til veggladeren. Du vil gjenbruke denne kabelen for å drive ICBob. Batteriutgang er via USB, så vi kobler til via mikro -USB -adapterkortet for å få strøm til boten.

La oss først få montert adapteren. Se bildet for de neste trinnene. Du vil bare bruke de to utvendige pinnene (gnd og V+) for å drive boten. Skyv forsiktig de 2 utvendige pinnene i overskriften slik at kortsiden stikker ut ca 3/16 tommer. Med en tang bøyer du de 2 lange pinnene 60 grader eller så. Bøy før lodding ettersom platene er skjøre. Sett inn toppteksten som vist og lodd alle pinnene på baksiden for å få styrke. Klipp alle ubrukte pinner så korte som mulig både foran og bak. Før vi limer adapteren til fatet, fest mikro -USB -kabelen slik at du får nok klaring. Legg en stor klump med varmt lim på baksiden av adapteren, og legg den deretter i posisjonen som er vist på fatet. Hold til det stivner.

Fest deretter de 4 servokontaktene til kontrolleren. Vi liker MICRO Magician fordi den har 3 -pinners kontakter ombord for enkel servokobling. Den mørkere fargetråden (brun?) Går mot brettkanten. De medfølgende Arduino -skissene bruker følgende pinner.

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

For strømtilkobling til brettet trekker du ut et par ledninger fra flatkabelen. Du vil bruke mer av denne flatkabelen til ekkoloddledninger. Koble den ene enden av paret til mikro -USB -adapteren. Pinnen som er nærmere forsiden av boten er malt og den andre V+. Den andre enden festes til kontrolleren i nærheten av bryteren. V+ -ledningen kobles til pinnen merket 'Battery IN' i dokumentasjonen. Koble jordledningen til 'gnd' -pinnen litt over' Battery IN' -pinnen.

VIKTIG! - Det er en 'V+ select' genser like over D1 -pinnersettet. Denne genseren må være på innsiden av pinnene, ellers fungerer ikke servoene.

Rengjør til slutt kontrollersporet på basen slik at kontrolleren sitter godt. Du kan koble til batteriet og slå på kontrolleren for å kontrollere at det slås på.

Trinn 6: Programmering - Hjemmekalibreringskode

Noen få ord om våre programmeringsvalg

Da vi bygde prototypen for dette prosjektet brukte vi How to teach your BoB Biped for å flytte opplæringen over på Let's Make Robots. Bob Poser -programvaren var kul, og vi koste oss med den. Problemet var at 600+ kodelinjer i navigasjonsskissen var godt over tenårings kunnskapsnivå. For å gjøre dette prosjektet til en mer lærerik opplevelse for dem bestemte vi oss for å hente noen ideer fra Poser -koden og deretter starte på nytt med en tom side. Tenårene hadde allerede brukt VarSpeedServo -biblioteket mens de lærte om servoer i våre Arduino -laboratorier. Vi bestemte oss for å se om VarSpeedServo kunne håndtere timingen og hastighetsoppgavene for servoene, slik at vi bare kunne konsentrere oss om posisjonene. Den resulterende koden fungerer bra, og hele walk_avoid_turn -skissen har mindre enn 100 linjer med kode. De eneste nye konseptene tenåringene trengte å lære om var todimensjonale matriser og hvordan man får tilgang til dataene med kode. Nyt!

Hjemskalibrering

Du sentrerte servospindlene når du monterte dem. Nå vil du se hvor nært du kom og finjustere hjemmeposisjonene. Sørg for at du har VarSpeedServo -biblioteket fra trinn 1 installert. Last ned filen icbob_home_calibration.zip nedenfor og pakk den ut til Arduino -katalogen. Åpne skissen i Arduino IDE. Slå på MICRO Magician med batteriet. Koble datamaskinen til kortet og last opp kode. Sjansen er for at servo -hjemmeposisjonene ikke vil være perfekte. Finn følgende seksjon i koden. Fortsett å justere og laste opp til du får det riktig.

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

// Start med 4 hm array -memmerne satt til 90 grader. juster deretter // disse innstillingene slik at knærne er rett frem og føttene er flate int hm [4] = {90, 90, 90, 90}; // array for å holde hjemmeposisjonen for hver servo RH, RA, LH, LA // …………………………………………………….

Hvis noen av tallene dine er mindre enn 50 eller større enn 130, må du spole tilbake og demontere beina og få spindlene nærmere midten.

Når du har en god hjemmeposisjon, skriver du ned tallene. Du trenger disse tallene for resten av skissene.

Trinn 7: Programmering - Flytt generatorkode

Programmering - Move Generator Code
Programmering - Move Generator Code

Nå for å få boten din i bevegelse. Last ned filen icbob_move_generator.zip nedenfor og pakk ut til Arduino -katalogen. Åpne skissen i Arduino IDE. Finn følgende del av koden. Sett hjemmeposisjonene du registrerte for boten din i skissen.

// sett medlemmene for arrayet hm til hjemmeposisjonene for roboten din

// de kan bli funnet ved å bruke icbob_home_calibration sketch const int hm [4] = {95, 95, 85, 90}; // array for å holde hjemmeposisjonen for hver servo RH, RA, LH, LA

Følgende del av koden er hvor flyttesekvensene legges inn. Hver linje har posisjoner for de 4 servoene (RH, RA, LH, LA) i forhold til hjemmeposisjonen.

// mv array data. Hver linje er en 'ramme' eller posisjon satt for de 4 servoene

// Flere linjer oppretter en gruppe bevegelser som kan sløyfes til // lage gåing, sving, dans eller andre bevegelser const int mvct = 6; // Gjør dette tallet lik antallet linjer i matrisen const int mv [mvct] [4] = {{0, -40, 0, -20}, // Disse forhåndslastede tallene bør gi en fremovergang {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0},};

Dette er koden som gjør mv -arraydata til servo slowmoves

void loop () // loop gjentas for alltid

{// Flytt sekvensen for (int x = 0; x <mvct; x ++) {// bla gjennom antallet RH.sowmove (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); }}

Last opp til boten. Boten vil gå til utgangsposisjonen i 2 sekunder og deretter starte en spasertur fremover. Det fungerer best hvis bordet ikke er for glatt.

Når du blir lei av å se ham gå, kan du prøve dine egne trekk. Bruk "lagre som" for å gi nytt navn til skissen. Spill deretter med tallene og se hva du kan gjøre. Hold tallene mellom +50 og -50, ellers kan du belaste servoen. Husk at hvis du legger til eller trekker fra linjer, må du endre mvct -verdien for å gjenspeile endringen. Ha det gøy!

Trinn 8: Kabling - HC -SR04 ekkoloddsensor (øyne)

Kabling - HC -SR04 ekkoloddsensor (øyne)
Kabling - HC -SR04 ekkoloddsensor (øyne)
Kabling - HC -SR04 ekkoloddsensor (øyne)
Kabling - HC -SR04 ekkoloddsensor (øyne)

For dette trinnet trenger du icbob_shell 3D-utskrift, ultralydssensoren HC-SR04, flatkabelen og en 10k ohm motstand. Dette bør fullføre delene på listen vår. Ja!

Rengjør først sensorhullene i skallet for en middels tett passform. Ikke legg for mye press på sensoren når du tester. Fjern fra skallet for ledninger.

Trekk deretter av 4 tråder fra flatkabelen. Koble de fire ledningene til sensorene HC-SR04.

MICRO Magician fungerer internt på 3,3 volt, og pinnene kan bare ta et 3,3 volt signal. Problemet er at HC-SR04 fungerer på 5 volt. Den kan bruke en 3,3 volt inngang som "trigger" -signal, men når den sender et "ekko" -signal, er den 5 volt, og den vil skade kontrollerinngangen hvis den kobles til direkte. Vi må sette en 10k ohm strømbegrensende motstand på 'ekko' ledningen for å beskytte inngangen.

OPPDATERING: Selv om vi ikke har hatt problemer med bare 10K -motstanden inline, ble det påpekt i kommentarene at beste praksis indikerer at en spenningsdelerkrets bør brukes her. I tillegg til 10K -motstanden bør en 15K -motstand plasseres mellom 'ekko' og 'jord'.

Klipp motstanden til 0,5 tommer. Motstanden går inn i 'ekko' ledningen på flatkabelen. Vi legger en dråpe superlim på tilkoblingen for å hjelpe den med å holde seg.

Skissen bruker pin 13 for trigger og pin 3 for ekko. Bruk pinne 13 -gruppen på kontrolleren for 'gnd', 'vcc', 'trig' i den rekkefølgen som arbeider fra kanten mot midten. Du må krysse noen ledninger her for å få det riktig. 'Echo' ledningen med motstanden plugges inn i hunkontakten 3.

Hvis du vil sjekke ut sensoren før du går videre til neste trinn, kan du bruke den første skissen på denne siden https://arduino-info.wikispaces.com/UltraSonicDistance for å teste den. Du trenger batteriet tilkoblet. Du kan se avstandsavlesningen på den serielle skjermen. Sørg for at du setter 'trigger_pin' til 13 og 'echo_pin' til 3 i skissen.

Den beste måten å installere sensoren i skallet er med pinnene pekende mot toppen og ledningene brettet og ført mellom sensorens øyne og skallet.

Trinn 9: Programmering - Walk_Avoid_Turn -kode

Sette alt sammen. Alle delene er satt sammen. Vi er klare til å laste inn hele koden, sette på skallet og se det gjøre sitt.

Du kjenner rutinen. Last ned filen icbob_walk_avoid_turn.zip nedenfor og pakk den ut til Arduino -katalogen. Åpne skissen i Arduino IDE. Finn følgende del av koden. Sett hjemmeposisjonene du registrerte for boten din i skissen.

// sett medlemmene for hm -arrayet til hjemmeposisjonene for roboten din

// de kan bli funnet ved å bruke icbob_home_calibration sketch const int hm [4] = {95, 95, 85, 90}; // array for å holde hjemmeposisjonen for hver servo RH, RA, LH, LA

Denne skissen legger til et andre trekkarray og et andre sett med sakte bevegelseskode for 'sving' trekk.

// videresende matrisedata

const int fwdmvct = 6; // Gjør dette tallet lik antallet linjer i matrisen const int fwdmv [fwdmvct] [4] = {{0, -40, 0, -20}, // gå fremover for å flytte 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; // Gjør dette tallet lik antallet linjer i matrisen const int trnmv [trnmvct] [4] = {{-40, 0, -20, 0}, // snu flytte rammer {-40, 30, -20, 30}, {0, 30, 0, 30}, {30, 0, 30, 0}, {0, 0, 0, 0},};

Vi la til sonarhinderdeteksjonskode samt en 'if' 'else' -erklæring for å avgjøre om vi går rett eller svinger.

Sluttmontering og oppstart

La batteriet være frakoblet og last opp skissen. Koble fra programmeringsledningen. Kontroller at strømbryteren på kontrolleren er i ned -på -posisjon. Skyv skallet forsiktig inn på basen med USB -strømledningen stikkende gjennom det øverste hullet. Sett inn batteriet. Koble den til. ICBob -en din skal begynne å bevege seg og snu for å unngå hindringer nærmere enn 7 tommer.

Trinn 10: Avslutning

Vi håper du har det like gøy å bygge din ICBob som vi bygde vår. Gi oss beskjed hvis du har spørsmål eller kommentarer. Hvis du bygger en, gi oss beskjed her eller over på Thingiverse.

Anbefalt: