INHOUDSOPGAWE:

ICBob - 'n Bob -geïnspireerde tweevoetige robot: 10 stappe (met foto's)
ICBob - 'n Bob -geïnspireerde tweevoetige robot: 10 stappe (met foto's)

Video: ICBob - 'n Bob -geïnspireerde tweevoetige robot: 10 stappe (met foto's)

Video: ICBob - 'n Bob -geïnspireerde tweevoetige robot: 10 stappe (met foto's)
Video: Jeremy Corbell: Nieuwe beelden van Lazar & Fravor [Deel 2] 2024, Julie
Anonim
Image
Image
ICBob - 'n Bob -geïnspireerde tweevoetige robot
ICBob - 'n Bob -geïnspireerde tweevoetige robot

Ons is die Teen Imagineering Club van die Bridgeville Delaware Public Library. Ons maak oulike projekte terwyl ons leer oor elektronika, rekenaarkodering, 3D -ontwerp en 3D -drukwerk.

Hierdie projek is ons aanpassing van BoB the BiPed 'n op Arduino gebaseerde robot. Ons het die liggaam herontwerp om voordeel te trek uit ons gunsteling Arduino -kragbron, die Powerbot -telefoonbank. Hierdie goedkoop herlaaibare 5 volt kragbron is ideaal om ons Arduino -projekte aan te dryf en kan met elke USB -muurlaaier herlaai word. Ons het ook die 3 voet van die Arduped biped robot aangepas net omdat hulle AWESOME lyk. Ons sal jou wys waar om die onderdele wat jy nodig het, te kry, hoe om die robot te monteer en selfs 'n paar maklike Arduino -kode te gee om dit aan die gang te kry. Ons het dit baie geniet om ons elf ICBob -robotte te maak. Hou aan om te lees as u wil leer hoe u dit self kan maak.

Stap 1: Onderdele en gereedskap wat u benodig

Onderdele en gereedskap wat u benodig
Onderdele en gereedskap wat u benodig
Onderdele en gereedskap wat u benodig
Onderdele en gereedskap wat u benodig

ICBob is ontwerp vir die volgende stel onderdele. Alhoewel vervangings moontlik is, moet u die liggaam moontlik verander om dit te laat werk. Ons gunsteling verskaffer is Yourduino.com, maar vir sommige items moet u na Amazon of Ebay gaan.

Opdatering van produkbeskikbaarheid- Yourduino dra nie meer die Micro Magician nie en sê dat dit deur Dagu gestaak word. Die Dagu -webwerf het dit nog steeds beskikbaar https://www.dagurobot.com/goods.php?id=137 en as dit nie beskikbaar is nie, is die S4A EDU -beheerder 'n afname in vervanging en werk dit op 5 volt.

Dele

  • 1x- MICRO Magician-beheerder
  • 4x- SG 90 servo
  • 1x- HC-SR04 Ultrasoniese sensor
  • 1x- Powerbot powerbank 2600mAh (die 3000mAh Powerbot is groter in deursnee en pas nie)
  • 1x- vroulike MICRO USB tot DIP 5-speldbord
  • 1x- 20cm 40-pins plat kabelwyfie-ente
  • 1x- 10k weerstand
  • 4x- 2-56 x 3/8 self-tappende skroewe (alternatiewe warm gom)

3D -afdrukke - Die stl -lêers is beskikbaar op Thingiverse ding: 1313344

  • 1x- lyf
  • 1x- dop
  • 2x knie
  • 1x- linkervoet
  • 1x- regtervoet

Gereedskap

  • rekenaar met Arduino IDE
  • Arduino voeg by biblioteek VarSpeedServo
  • MICRO Magician Driver (benodig vir sommige bedryfstelsels)
  • 3D -drukker (of laat die onderdele maak)
  • Skoonmaakmiddels vir 3D -onderdele
  • Soldeerkit (slegs vir die penne op die USB -adapter)
  • Warm gom geweer
  • Klein Philips skroewedraaier
  • usb laaier

Hierdie instruksies veronderstel dat u 'n basiese kennis het van die gebruik van Arduino. As u nog nie nuut is in Arduino nie, kan u meer leer op

Kies die Board - Arduino Pro of Pro Mini (3.3V, 8MHz) met ATmega328 vir die MICRO Magician

U benodig Korman se VarSpeedServo -biblioteek om ons sketse te gebruik. U kan hier meer te wete kom oor sy biblioteek, maar gebruik ons aflaai hieronder wat versoenbaar is met die nuwer IDE. Laai die VarSpeedServo.zip -lêer hieronder af en pak dit uit na u arduino/biblioteke -lêergids.

Miskien moet u die MICRO Magician CP210x -bestuurder installeer as u stelsel die beheerder nie herken nie. Hierdie webwerf kan help met die installering van die bestuurder

Stap 2: Kom ons begin bou - maak die bene bymekaar

Kom ons begin bou - maak die bene bymekaar
Kom ons begin bou - maak die bene bymekaar
Kom ons begin bou - maak die bene bymekaar
Kom ons begin bou - maak die bene bymekaar
Kom ons begin bou - maak die bene bymekaar
Kom ons begin bou - maak die bene bymekaar

Vir hierdie stap benodig u 2 - 3D -gedrukte knieë en 4 servopakkette.

Begin deur die knieë skoon te maak. Die 2 servohoringgate moet by die enkelkantige servohorings pas. Ons het dit skoongemaak met 'n boorpunt van letter L (.290). Die een spilpunt moet by die draaipunt aan die voet pas. Ons het hulle skoongemaak met 'n boorpunt van # 2 (.220).

Sit die 4 servohorings in die knieë. Bevestig die horing met een van die groter skroewe wat by die servopakket kom. Draai die skroef deur die knie en draai dit vas in een van die klein gaatjies op die servohoring. Vir die een skroef moet u die skroewedraaier skuins draai, maar dit is haalbaar. U kan die skroefpunte wat met 'n sytang uitsteek, knip as u wil.

Die 4 servospindels moet gesentreer word voordat hulle aan die knieë vasgemaak word. U kan dit handmatig doen deur die spil saggies deur die draai te beweeg om die halfpadpunt te vind. 'N Beter manier is om 'n servo aan pen 12 te heg. Laai die icbob_servo_center.zip -lêer hieronder af. Pak die rits uit na u Arduino -gids. Voer dan hierdie Arduino -skets vir elke servo uit.

Begin deur die heup (boonste) servo's aan die knieë te monteer. Sonder om die spil te beweeg, bevestig die heup servo parallel met die knie met die drade na die ander servo horing (voor). Bevestig met 'n klein skroefie uit die servopakket. Herhaal vir die ander knie.

Nou vir die enkel servo's. ONTHOU dat u regter- en linker enkels sal hê, sodat die bene spieëlbeelde van mekaar sal wees. U sal die knie effens moet sprei om die enkelservo aanmekaar te sit, so oriënteer die servo soos op die foto voordat u dit indruk. Onthou om nie die spil te draai nie. Bevestig met 'n klein skroef. Herhaal met die ander knie sodat u eindig met 'n regter- en linkerbeen.

Stap 3: Bou - Heg bene aan die lyf vas

Gebou - Heg bene aan die lyf vas
Gebou - Heg bene aan die lyf vas
Gebou - Heg bene aan die lyf vas
Gebou - Heg bene aan die lyf vas
Gebou - Bevestig bene aan die lyf
Gebou - Bevestig bene aan die lyf

Vir hierdie stap benodig u die 2 -been -samestellings en die 3D -gedrukte basis. U benodig ook (4) 2-56x3/8 selfskroefskroewe of warm gom.

Die pote word aan die basis vasgemaak deur middel van die heup servo's. Trek eers die 2 servodrade deur die onderkant van die basis. Let op die regte en linkses. Soos die tekening toon, beland die enkeldraad in die halfmaan -uitsny, maar u moet die enkeldraad inhou voordat die servo vasgemaak word. U moet die servo kantel sodat die heupdraad (waar dit in die servo ingaan) eers deur die reghoekige gat (na voor) gaan. Sy pas goed, maar die agterkant moet net inglip. Draai nou die basis om en maak die servo vas met 2 skroewe, anders kan warm gom werk. Herhaal die proses vir die ander been.

Stap 4: Bou - Heg die voete vas

Gebou - Heg die voete vas
Gebou - Heg die voete vas
Gebou - Heg die voete vas
Gebou - Heg die voete vas

Vir hierdie stap benodig u 'n linker- en regtervoet om by te voeg tot u vergadering. Hulle is warm vasgeplak, so steek die gomgeweer aan.

Maak seker dat u die gleuwe in die voete goed skoonmaak. Toets die servo versigtig aan die voet nadat dit skoongemaak is. Maak seker dat die spilgat in die knie in die spilpen op die voet pas. Dit is die beste om 'n dun skroewedraaier tussen die servo en die voet te gebruik om die voet terug te trek as dit styf is. Nadat u 'n goeie toets gekry het, plaas 'n klomp warm gom op die voet en druk die servo teen die voet. Vermy gom naby die spilpunt. Herhaal vir die ander kant sodat u bot op sy eie voete kan staan.

Stap 5: Bedrading - servo's en krag

Bedrading - servo's en krag
Bedrading - servo's en krag
Bedrading - servo's en krag
Bedrading - servo's en krag
Bedrading - servo's en krag
Bedrading - servo's en krag

In hierdie stap benodig u die MICRO Magician -beheerder, die mikro -USB -adapterbord met kopstukke, die plat kabel en u staande bot. U sal in hierdie stap soldeer en warm plak, sodat die gereedskap gereed is.

Die Powerbot -kragbank het 'n kort USB -na -mikro -USB -kabel. Vir die laai van die battery word die mikro -USB in die laai -gleuf op die battery gekoppel en die USB gaan na die muurlaaier. U sal hierdie kabel hergebruik om die ICBob van krag te voorsien. Die batterylewe is deur die USB, sodat ons via die mikro -USB -adapterbord aansluit om die bottel krag te kry.

Laat ons eers die adapter saamstel. Raadpleeg die foto vir die volgende stappe. U sal slegs die 2 buitepennetjies (gnd en V+) gebruik om die bot aan te dryf. Skuif die 2 buitepennetjies versigtig in die kop sodat die kort kant ongeveer 3/16 duim uitsteek. Buig die twee lang penne 60 grade of so met 'n tang. Buig voor soldeer, aangesien die planke broos is. Plaas kop soos aangedui en soldeer alle penne aan die agterkant vir sterkte. Knip alle ongebruikte penne so kort as moontlik voor en agter vas. Heg die mikro -USB -kabel vas voordat u die adapter aan die vat plak, sodat u genoeg speling kry. Plaas 'n groot klomp warm gom aan die agterkant van die adapter en plaas dit in die posisie wat op die vat is aangedui. Hou vas totdat dit hard word.

Heg dan die 4 servokonneksies aan die kontroleerder. Ons hou van die MICRO Magician, want dit het die 3 -pins aansluitings aan boord vir maklike servo -bedrading. Die donkerder kleurdraad (bruin?) Gaan na die rand van die bord. Die ingesluit Arduino -sketse gebruik die volgende penne.

  • Regterheup (RH) - pen 9
  • Regter enkel (RA) - pen 10
  • Linkerheup (LH) - pen 11
  • Linker enkel (LA) - pen 12

Trek 'n paar drade van die plat kabel af vir die kragverbinding met die bord. U sal meer van hierdie plat kabel gebruik vir sonarkabels. Koppel die een kant van die paar aan die mikro -USB -adapter. Die pen wat nader aan die voorkant van die bot is, word gemaal en die ander V+. Die ander kant word aan die kontroleerder naby die skakelaar geheg. Die V+ -draad sluit aan by die pen met die naam 'Battery IN' in die dokumentasie. Koppel die gronddraad aan die 'gnd' -pen net 'n bietjie bokant die' Battery IN' -pen.

BELANGRIK! - Daar is 'n 'V+ select' trui net bokant die D1 -penstel. Hierdie trui moet aan die binnekant van die penne wees, anders werk die servo's nie.

Maak laastens die kontroleursleuf op die basis skoon sodat die kontroleerder goed pas. U kan die battery aanheg en die beheerder aanskakel om seker te maak dat dit aanskakel.

Stap 6: Programmering - tuiskalibreringskode

'N Paar woorde oor ons programmeringskeuses

Toe ons die prototipe vir hierdie projek bou, gebruik ons die How to teach your BoB Biped om die tutoriaal by Let's Make Robots oor te plaas. Die Bob Poser -sagteware was cool en ons het lekker daarmee gespeel. Die probleem was dat die 600+ reëls kode in die navigasie -skets ver bo die kennisvlak van tieners was. Om hierdie projek meer 'n leerervaring vir hulle te maak, het ons besluit om 'n paar idees uit die Poser -kode te haal en dan weer met 'n leë bladsy te begin. Die tieners het reeds die VarSpeedServo -biblioteek gebruik terwyl hulle leer oor servo's in ons Arduino -laboratoriums. Ons het besluit om te kyk of VarSpeedServo die tydsberekening en spoed van die servo's kan hanteer, sodat ons net op die posisies kan konsentreer. Die gevolglike kode werk uitstekend en die volledige walk_avoid_turn -skets het minder as 100 reëls kode. Die enigste nuwe konsepte waaroor tieners moes leer, was tweedimensionele skikkings en hoe om toegang tot die data te kry met kode. Geniet dit!

Tuis kalibrasie

U het die servo -spilpunte gesentreer toe u dit bymekaargemaak het. Nou sal u sien hoe naby u gekom het en hul tuisposisies verfyn. Maak seker dat u die VarSpeedServo -biblioteek vanaf stap 1 geïnstalleer het. Laai die icbob_home_calibration.zip -lêer hieronder af en pak dit uit na u Arduino -gids. Maak die skets oop in die Arduino IDE. Skakel die MICRO Magician met die battery aan. Koppel die rekenaar aan die bord en laai kode op. Die kans is goed dat die servo -tuisposisies nie perfek sal wees nie. Soek die volgende afdeling in die kode. Gaan voort om aan te pas en op te laai totdat u dit regkry.

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

// Begin met die 4 hm array memmbers wat op 90 grade gestel is. pas dan hierdie instelling aan sodat die knieë reguit vorentoe is en die voete plat is int hm [4] = {90, 90, 90, 90}; // skikking om die tuisposisie te behou vir elke servo RH, RA, LH, LA // ………………………………………………………….

As een van u getalle minder as 50 of groter as 130 is, moet u die bene terugtrek en uitmekaar haal en die spindels nader aan die middel kry.

As u 'n goeie tuisposisie het, skryf die getalle neer. U benodig hierdie nommers vir die res van die sketse.

Stap 7: Programmering - Skuifgeneratorkode

Programmering - skuifgeneratorkode
Programmering - skuifgeneratorkode

Nou om u bot aan die gang te kry. Laai die icbob_move_generator.zip -lêer hieronder af en pak dit uit na u Arduino -gids. Maak die skets oop in die Arduino IDE. Soek die volgende kode -afdeling. Plaas die tuisposisies wat u vir u bot aangeteken het, in die skets.

// stel die lede vir die skikking hm in op die tuisposisies vir u robot

// hulle kan gevind word deur die icbob_home_calibration sketch const int hm [4] = {95, 95, 85, 90} te gebruik; // array om die tuisposisie te behou vir elke servo RH, RA, LH, LA

Die volgende gedeelte van die kode is waar die bewegingsreekse ingevoer word. Elke lyn het posisies vir die 4 servo's (RH, RA, LH, LA) relatief tot die tuisposisie.

// mv skikking data. Elke reël is 'n 'raam' of posisie wat vir die 4 servo's gestel is

// Meervoudige lyne skep 'n groep bewegings waarmee 'n lus gemaak kan word om // loop, draai, dans of ander bewegings te skep const int mvct = 6; // Maak hierdie getal gelyk aan die aantal reëls in die skikking const int mv [mvct] [4] = {{0, -40, 0, -20}, // Hierdie vooraf gelaaide getalle moet 'n vorentoe loop gee {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0},};

Dit is die kode wat die data van die mv -skikking in servo slowmoves verander

leemte lus () // lus herhaal vir ewig

{// Beweeg volgorde vir (int x = 0; x <mvct; x ++) {// blaai deur die aantal RH.slowmove (hm [0]+mv [x] [0], svsp); // lyne 'rame' in die skikking RA.slowmove (hm [1] + mv [x] [1], svsp); LH. stadiger beweeg (hm [2] + mv [x] [2], svsp); LA.verskuiwing (hm [3] + mv [x] [3], svsp); vertraging (framedelay); }}

Laai op na die bot. Die bot gaan vir 2 sekondes na die tuisposisie en begin dan met 'n loop vorentoe. Dit werk die beste as die tafel nie te glad is nie.

As u eers moeg is om hom te sien loop, kan u u eie bewegings probeer. Gebruik 'stoor as' om die skets te hernoem. Speel dan met die getalle en kyk wat u kan doen. Hou die getalle tussen +50 en -50, anders kan u die servo's druk. Onthou dat as u reëls optel of aftrek, u die mvct -waarde moet verander om die verandering te weerspieël. Hê pret!

Stap 8: Bedrading - HC -SR04 Sonarsensor (oë)

Bedrading - HC -SR04 Sonarsensor (oë)
Bedrading - HC -SR04 Sonarsensor (oë)
Bedrading - HC -SR04 Sonarsensor (oë)
Bedrading - HC -SR04 Sonarsensor (oë)

Vir hierdie stap benodig u die icbob_shell 3D-afdruk, die HC-SR04 ultrasoniese sensor, die vroulike platkabel en een 10k ohm weerstand. Dit behoort die dele op ons lys te voltooi. Ja!

Maak eers die sensorgate in die dop skoon vir 'n medium stywe pas. Moenie te veel druk op die sensor plaas tydens die toetspassing nie. Haal uit die dop vir bedrading.

Trek dan 4 drade van die plat kabel af. Steek die vier drade in die HC-SR04 sensorpenne.

Die MICRO Magician werk intern op 3.3 volt en die penne kan slegs 'n 3.3 volt sein neem. Die probleem is dat die HC-SR04 op 5 volt werk. Dit kan 'n 3,3 volt -ingang gebruik as die 'sneller' -sein, maar as dit 'n' eggo 'sein stuur, is dit 5 volt en dit sal die ingang van die beheerder beskadig as dit direk aangeskakel word. Ons moet 'n 10k ohm stroombeperkende weerstand op die 'eggo' draad plaas om die insette te beskerm.

UPDATE: Alhoewel daar geen probleme was met slegs die 10K -weerstand nie, is daar in die kommentaar daarop gewys dat die beste praktyk daarop dui dat 'n spanningsverdelerkring hier gebruik moet word. Benewens die 10K weerstand moet 'n 15K weerstand tussen 'eggo' en 'grond' geplaas word.

Sny die weerstand lei tot.5 duim. Die weerstand gaan in die 'eggo' draad op u plat kabel. Ons sit 'n druppel supergom op die verbinding om dit te help bly.

Die skets gebruik pen 13 vir sneller en pen 3 vir eggo. Gebruik die pen 13 -groep op die kontroleerder vir die 'gnd', 'vcc', 'trig' in die volgorde wat van die rand na die middel werk. U sal 'n paar drade hier moet kruis om dit reg te kry. Die 'eggo' draad met die weerstand sluit in die vroulike pen 3 -aansluiting.

As u die sensor wil bekyk voordat u na die volgende stap gaan, kan u die eerste skets op hierdie bladsy https://arduino-info.wikispaces.com/UltraSonicDistance gebruik om dit te toets. U benodig die battery. U kan die afstandaflees op die seriële monitor sien. Stel die 'trigger_pin' op 13 en die 'echo_pin' op 3 in die skets.

Die beste manier om die sensor in die dop te installeer, is deur die penne na bo te wys en die drade gevou en tussen die sensor se oë en die dop gedraai.

Stap 9: Programmering - Walk_Avoid_Turn -kode

Alles bymekaar te sit. Al die onderdele is saamgestel. Ons is gereed om die volledige kode te laai, sit die dop op en kyk hoe dit sy ding doen.

U ken die roetine. Laai die icbob_walk_avoid_turn.zip -lêer hieronder af en pak dit uit na u Arduino -gids. Maak die skets oop in die Arduino IDE. Soek die volgende kode -afdeling. Plaas die tuisposisies wat u vir u bot aangeteken het, in die skets.

// stel die lede vir die hm -skikking in op die tuisposisies vir u robot

// hulle kan gevind word deur die icbob_home_calibration sketch const int hm [4] = {95, 95, 85, 90} te gebruik; // skikking om die tuisposisie te behou vir elke servo RH, RA, LH, LA

Hierdie skets voeg 'n tweede skuifskikking en 'n tweede stel stadige skuifkode by vir die 'draai' -skuif.

// skikkingsdata vorentoe

const int fwdmvct = 6; // Maak hierdie getal gelyk aan die aantal reëls in die skikking const int fwdmv [fwdmvct] [4] = {{0, -40, 0, -20}, // loop vorentoe beweeg rame {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; // Maak hierdie getal gelyk aan die aantal reëls in die skikking const int trnmv [trnmvct] [4] = {{-40, 0, -20, 0}, // draai skuifraamwerke {-40, 30, -20, 30}, {0, 30, 0, 30}, {30, 0, 30, 0}, {0, 0, 0, 0},};

Ons het sonar -hindernisopsporingskode, sowel as 'n 'as' 'anders' -verklaring bygevoeg om te besluit of ons reguit gaan of draai.

Finale byeenkoms en aanvang

Laat die battery ontkoppel en laai die skets op. Ontkoppel die programmeerkoord. Maak seker dat die aan / uit -skakelaar op die beheerder in die af -aan -posisie is. Skuif die dop versigtig op die basis met die USB -netsnoer deur die boonste gat. Sit die battery in. Koppel dit aan. Jou ICBob moet begin beweeg en draai om hindernisse nader as 7 duim te vermy.

Stap 10: Sluit af

Ons hoop dat u net soveel plesier het om u ICBob te bou as ons bouwerk. Laat weet ons as u enige vrae of kommentaar het. Laat weet ons hier of hier op Thingiverse as u een bou.

Aanbeveel: