Innehållsförteckning:

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

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

Video: ICBob - en Bob Inspired Biped Robot: 10 steg (med bilder)
Video: How to Moonwalk 2024, Juli
Anonim
Image
Image
ICBob - en Bob Inspired Biped Robot
ICBob - en Bob Inspired Biped Robot

Vi är Teen Imagineering Club från Bridgeville Delaware Public Library. Vi gör coola projekt samtidigt som vi lär oss om elektronik, datorkodning, 3D -design och 3D -utskrift.

Detta projekt är vår anpassning av BoB the BiPed en Arduino -baserad robot. Vi gjorde om kroppen för att dra nytta av vår favorit Arduino -strömkälla, Powerbot -telefonens powerbank. Denna billiga laddningsbara 5 volts strömkälla är utmärkt för att driva våra Arduino -projekt och laddas med valfri USB -väggladdare. Vi anpassade också de tre foten från Arduped biped -roboten bara för att de ser fantastiska ut. Vi kommer att visa dig var du kan få delarna du behöver, hur du monterar roboten och till och med ger dig en enkel Arduino -kod för att få den att gå. Vi hade det bra att göra våra elva ICBob -robotar. Fortsätt läsa om du vill lära dig att göra en själv.

Steg 1: Delar och verktyg du behöver

Delar och verktyg du behöver
Delar och verktyg du behöver
Delar och verktyg du behöver
Delar och verktyg du behöver

ICBob är utformad för följande uppsättning delar. Även om substitutioner är möjliga kan du behöva ändra kroppen för att få dem att fungera. Vår favoritleverantör är Yourduino.com men för vissa artiklar måste du gå till Amazon eller Ebay.

Uppdatering av produkttillgänglighet- Yourduino bär inte längre Micro Magician och säger att de avbryts av Dagu. Dagus webbplats har dem fortfarande tillgängliga https://www.dagurobot.com/goods.php?id=137 och om de inte är tillgängliga är S4A EDU -regulatorn en minskning av ersättningen och fungerar med 5 volt.

Delar

  • 1x- MICRO Magician controller
  • 4x- SG 90 servo
  • 1x- HC-SR04 Ultraljudssensor
  • 1x- Powerbot powerbank 2600mAh (3000mAh Powerbot är större i diameter och passar inte)
  • 1x- Kvinna MICRO USB till DIP 5-Pin Pinboard
  • 1x- 20cm 40-pins platt kabelhona
  • 1x- 10k motstånd
  • 4x- 2-56 x 3/8 självgängande skruvar (alternativt varmt lim)

3D -utskrifter - STL -filerna är tillgängliga på Thingiverse -sak: 1313344

  • 1x- kropp
  • 1x-skal
  • 2x- knä
  • 1x- vänster fot
  • 1x- höger fot

Verktyg

  • dator med Arduino IDE
  • Arduino tillägg på biblioteket VarSpeedServo
  • MICRO Magician Driver (behövs för vissa operativsystem)
  • 3D -skrivare (eller låt delarna tillverkas)
  • 3D -rengöringsverktyg
  • Lödkit (endast för stiften på USB -adaptern)
  • Lim pistol
  • Liten Philips skruvmejsel
  • usb laddare

Denna instruktion förutsätter att du har en grundläggande kunskap om Arduino -användning. Om du är ny på Arduino kan du lära dig mer på

För MICRO Magician välj Board - Arduino Pro eller Pro Mini (3.3V, 8MHz) w/ ATmega328

Du behöver Kormans VarSpeedServo -bibliotek för att använda våra skisser. Du kan läsa mer om hans bibliotek här men använd vår nedladdning nedan som är kompatibel med den nyare IDE. Ladda ner filen VarSpeedServo.zip nedan och packa upp den till din arduino/bibliotek -mapp.

Du kan behöva installera MICRO Magician CP210x -drivrutinen om ditt system inte känner igen styrenheten. Denna webbplats kan hjälpa till med att installera drivrutinen

Steg 2: Låt oss börja bygga - Montera benen

Låt oss börja bygga - montera benen
Låt oss börja bygga - montera benen
Låt oss börja bygga - montera benen
Låt oss börja bygga - montera benen
Låt oss börja bygga - montera benen
Låt oss börja bygga - montera benen

För detta steg behöver du 2 - 3D -tryckta knän och 4 servopaket.

Börja med att rengöra knäna. De 2 servohornhålen måste passa de ensidiga servohornen. Vi rengjorde dem med en bokstav L (.290) i storlek. Det enda svänghålet måste passa svängen på foten. Vi rengjorde dem med en # 2 (.220) stor borr.

Montera de 4 servohornen i knäna. Fäst hornet med en av de större skruvarna som följde med servopaketet. Dra igenom skruven från knäsidan och dra åt i ett av de små hålen på servohornet. För den ena skruven måste du dra åt med skruvmejseln i vinkel men det går att göra. Du kan klippa skruvpunkterna som sticker ut med sidotång om du vill.

De 4 servospindlarna måste centreras innan de fästs på knäna. Du kan göra detta manuellt genom att försiktigt flytta spindeln genom dess rotation för att hitta halvvägspunkten. Ett bättre sätt är att fästa en servo på pin 12. Ladda ner filen icbob_servo_center.zip nedan. Packa upp till din Arduino -katalog. Kör sedan denna Arduino -skiss för varje servo.

Börja med att montera höft (övre) servon till knäna. Utan att flytta spindeln fäst höftservon parallellt med knäet med trådarna vända mot det andra servohornet (fram). Säkra med en liten skruv från servopaketet. Upprepa för andra knä.

Nu till fotleden servos. KOM ihåg att du kommer att ha höger och vänster fotled så att benen blir spegelbilder av varandra. Du måste sprida knäet något för att montera fotleden, så orientera servon som på bilden innan du klämmer in den. Kom ihåg att inte rotera spindeln. Säkra med en liten skruv. Upprepa med andra knä så att du avslutar med höger och vänster ben.

Steg 3: Bygga - Fäst benen på kroppen

Byggnad - Fäst benen på kroppen
Byggnad - Fäst benen på kroppen
Byggnad - Fäst benen på kroppen
Byggnad - Fäst benen på kroppen
Byggnad - Fäst benen på kroppen
Byggnad - Fäst benen på kroppen

Du behöver de två benenheterna och den 3D -tryckta basen för detta steg. Du behöver också (4) 2-56x3/8 självgängande skruvar eller varmt lim.

Benenheten fästs på basen med höftservon. Dra först de 2 servotråden upp genom basen. Tänk på rättigheter och vänster. Som ritningen visar ankelkabeln hamnar i halvmånen, men du måste ha vristtråden i innan servon fästs. Du måste luta servon så att höftledningen (där den kommer in i servon) går först genom det rektangulära hålet (framåt). Det sitter tätt men bakänden ska bara glida in. Vänd nu basen och säkra servon med 2 skruvar eller alternativt kan varmt lim fungera. Upprepa processen för det andra benet.

Steg 4: Bygga - Fäst fötterna

Byggnad - Fäst fötterna
Byggnad - Fäst fötterna
Byggnad - Fäst fötterna
Byggnad - Fäst fötterna

För detta steg behöver du en vänster fot och höger fot för att lägga till din enhet. De är varmlimmade så elda upp limpistolen.

Se till att du rengör spåren i fötterna väl. Testa försiktigt servon på foten efter rengöring. Se till att svänghålet i knät passar in i vridstiftet på foten. Det är bäst att använda en tunn skruvmejsel mellan servon och foten för att bända av foten om den är tät. När du fått en bra testpassning placerar du en klotstorlek varmt lim på foten och trycker sedan på servon mot foten. Undvik att få lim nära svängområdet. Upprepa för andra sidan så att din bot kan stå på egna ben.

Steg 5: Kabeldragning - Servos och ström

Kabeldragning - Servos och ström
Kabeldragning - Servos och ström
Kabeldragning - Servos och ström
Kabeldragning - Servos och ström
Kabeldragning - Servos och ström
Kabeldragning - Servos och ström

I det här steget behöver du MICRO Magician -styrenheten, mikro -USB -adapterkortet med huvudstiften, den platta kabeln och din stående bot. Du kommer att lödas och varmlimas i det här steget, så ha verktygen redo.

Powerbot powerbank levereras med en kort USB till mikro USB -kabel. För laddning av batteriet ansluts mikro -USB till laddningsplatsen på batteriet och USB går till väggladdaren. Du kommer att återanvända denna kabel för att driva ICBob. Batteriet går via USB så att vi ansluter via mikro -USB -kortet för att få ström till botten.

Låt oss först montera adaptern. Se fotot för nästa steg. Du kommer bara att använda de två yttre stiften (gnd och V+) för att driva boten. Skjut försiktigt de 2 yttre stiften i rubriken så att kortsidan sticker ut ca 3/16 tum. Med tång böjer du de två långa stiften 60 grader eller så. Böj före lödning eftersom brädorna är ömtåliga. Sätt i huvudet som visas och löd alla stift på baksidan för styrka. Kläm fast alla oanvända stift så kort som möjligt både fram och bak. Innan vi limmar adaptern på fatet ska du fästa mikro -USB -kabeln så att du får tillräckligt med utrymme. Lägg en stor klot hett lim på baksidan av adaptern och placera den i positionen som visas på fatet. Håll tills det stelnar.

Anslut sedan de 4 servokontakterna till styrenheten. Vi gillar MICRO Magician eftersom den har 3 -poliga kontakter ombord för enkel servokabling. Den mörkare färgtråden (brun?) Går mot brädans kant. De medföljande Arduino -skisserna använder följande stift.

  • Höger höft (RH) - stift 9
  • Höger fotled (RA) - stift 10
  • Vänster höft (LH) - stift 11
  • Vänster fotled (LA) - stift 12

För strömanslutning till kortet, dra av ett par ledningar från den platta kabeln. Du kommer att använda mer av denna platta kabel för ekolodsledningar. Anslut ena änden av paret till mikro -USB -adaptern. Stiftet som ligger närmare botens framsida är slipat och den andra V+. Den andra änden ansluts till styrenheten nära omkopplaren. V+ -tråden ansluts till stiftet märkt "Battery IN" i dokumentationen. Anslut jordkabeln till 'gnd' -stiftet strax ovanför' Battery IN' -stiftet.

VIKTIG! - Det finns en 'V+ select' bygel strax ovanför D1 -stiftet. Den här bygeln måste vara på insidan av stiften, annars fungerar inte servon.

Rengör slutligen regulatorplatsen på basen så att regulatorn sitter tätt. Du kan ansluta batteriet och slå på '' kontrollen '' för att se till att det startar.

Steg 6: Programmering - Hemkalibreringskod

Några ord om våra programmeringsval

När vi byggde prototypen för detta projekt använde vi How to teach your BoB Biped to move tutorial over at Let's Make Robots. Bob Poser -programvaran var cool och vi hade kul att spela med den. Problemet var att 600+ kodrader i navigationsskissen låg långt över kunskapsnivån för tonåringar. För att göra projektet mer lärorikt för dem bestämde vi oss för att ta några idéer från Poserkoden och sedan börja om med en tom sida. Tonåringarna hade redan använt VarSpeedServo -biblioteket medan de lärde sig om servon i våra Arduino -laboratorier. Vi bestämde oss för att se om VarSpeedServo kunde hantera timing- och hastighetsuppgifterna för servona så att vi bara kunde koncentrera oss på positionerna. Den resulterande koden fungerar utmärkt och hela walk_avoid_turn -skissen har mindre än 100 rader kod. De enda nya koncept som tonåringarna behövde lära sig om var tvådimensionella matriser och hur man får tillgång till data med kod. Njut av!

Hemkalibrering

Du centrerade servospindlarna när du monterade dem. Nu kommer du att se hur nära du kom och finjustera deras hemmapositioner. Se till att du har VarSpeedServo -biblioteket från steg 1 installerat. Ladda ner filen icbob_home_calibration.zip nedan och packa upp till din Arduino -katalog. Öppna skissen i Arduino IDE. Sätt på MICRO Magician med batteriet. Anslut datorn till kortet och ladda upp koden. Chansen är att servohempositionerna inte kommer att vara perfekta. Hitta följande avsnitt i koden. Fortsätt att justera och ladda upp tills du får rätt.

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

// Börja med 4 hm array memmbers inställd på 90 grader. justera sedan // dessa inställningar så att knäna är raka fram och fötterna är plana int hm [4] = {90, 90, 90, 90}; // array för att hålla hempositionen för varje servo RH, RA, LH, LA // …………………………………………………….

Om något av dina nummer är mindre än 50 eller större än 130 måste du backa och demontera benen och få spindlarna närmare mitten.

När du har en bra utgångsläge skriver du ner siffrorna. Du behöver dessa nummer för resten av skisserna.

Steg 7: Programmering - Move Generator Code

Programmering - Move Generator Code
Programmering - Move Generator Code

Nu för att få din bot i rörelse. Ladda ner filen icbob_move_generator.zip nedan och packa upp den till din Arduino -katalog. Öppna skissen i Arduino IDE. Hitta följande avsnitt av koden. Lägg hempositionerna du spelade in för din bot i skissen.

// ställ in medlemmarna för arrayen hm till hempositionerna för din robot

// de kan hittas med hjälp av icbob_home_calibration sketch const int hm [4] = {95, 95, 85, 90}; // array för att hålla hempositionen för varje servo RH, RA, LH, LA

Följande avsnitt av kod är där flyttsekvenserna anges. Varje rad har positioner för de 4 servon (RH, RA, LH, LA) i förhållande till utgångsläget.

// mv array data. Varje rad är en "ram" eller position för de fyra servona

// Flera linjer skapar en grupp rörelser som kan loopas till // skapa promenader, svängningar, dans eller andra rörelser const int mvct = 6; // Gör det här talet lika med antalet rader i matrisen const int mv [mvct] [4] = {{0, -40, 0, -20}, // Dessa förinstallerade nummer bör ge en framåtgående promenad {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0},};

Detta är koden som förvandlar mv -arraydata till servo slowmoves

void loop () // loop upprepas för alltid

{// Flytta sekvensen för (int x = 0; x <mvct; x ++) {// bläddra igenom antalet RH.slowmove (hm [0]+mv [x] [0], svsp); // rader 'ramar' i arrayen RA.slowmove (hm [1] + mv [x] [1], svsp); LH.slowmove (hm [2] + mv [x] [2], svsp); LA.lowmove (hm [3] + mv [x] [3], svsp); fördröjning (framedelay); }}

Ladda upp till boten. Bot kommer att gå till utgångsläget i 2 sekunder och sedan starta en promenad framåt slinga. Det fungerar bäst om bordet inte är för halt.

När du tröttnat på att se honom gå kan du prova dina egna drag. Använd "spara som" för att byta namn på skissen. Lek sedan med siffrorna och se vad du kan göra. Håll siffrorna mellan +50 och -50 eller du kan anstränga servon. Kom ihåg att om du lägger till eller subtraherar rader måste du ändra mvct -värdet för att återspegla ändringen. Ha så kul!

Steg 8: Kabeldragning - HC -SR04 ekolodsgivare (ögon)

Kabeldragning - HC -SR04 ekolodsgivare (ögon)
Kabeldragning - HC -SR04 ekolodsgivare (ögon)
Kabeldragning - HC -SR04 ekolodsgivare (ögon)
Kabeldragning - HC -SR04 ekolodsgivare (ögon)

För detta steg behöver du icbob_shell 3D-utskrift, ultraljudssensorn HC-SR04, den platta honkabeln och ett 10k ohm motstånd. Detta bör slutföra delarna på vår lista. Ja!

Rengör först sensorhålen i skalet för en medium tät passform. Tryck inte för mycket på sensorn när du testar. Ta bort från skalet för kabeldragning.

Dra sedan av 4 trådar från den platta kabeln. Anslut de fyra ledningarna till sensorstiften HC-SR04.

MICRO Magician fungerar internt på 3,3 volt och stiften kan bara ta en 3,3 volt signal. Problemet är att HC-SR04 fungerar med 5 volt. Den kan använda en 3,3 volt ingång som "trigger" -signal, men när den skickar en "ekosignal" är den 5 volt och den kommer att skada styringången om den ansluts direkt. Vi måste sätta ett 10k ohm strömbegränsande motstånd på 'ekotråden' för att skydda ingången.

UPPDATERING: Även om vi inte har haft några problem med bara 10K -motståndet inline, påpekades det i kommentarerna att bästa praxis indikerar att en spänningsdelare ska användas här. Förutom 10K -motståndet bör ett 15K -motstånd placeras mellan "eko" och "jord".

Skär motståndsledningarna till 0,5 tum. Motståndet går in i”ekot” -tråden på din platta kabel. Vi lägger en droppe superlim på anslutningen för att hålla den kvar.

Skissen använder stift 13 för utlösare och stift 3 för eko. Använd stift 13 -gruppen på styrenheten för 'gnd', 'vcc', 'trig' i den ordningen som arbetar från kanten mot mitten. Du måste korsa några ledningar här för att få det rätt. "Echo" -tråden med motståndet ansluts till honkontakten 3.

Om du vill kolla in sensorn innan du går vidare till nästa steg kan du använda den första skissen på den här sidan https://arduino-info.wikispaces.com/UltraSonicDistance för att testa den. Du behöver batteriet anslutet. Du kan se avståndsavläsningen på den seriella bildskärmen. Se till att du ställer in 'trigger_pin' till 13 och 'echo_pin' till 3 i skissen.

Det bästa sättet att installera sensorn i skalet är med tapparna pekande mot toppen och trådarna vikta och förda mellan sensorns ögon och skalet.

Steg 9: Programmering - Walk_Avoid_Turn -kod

Få alltid att falla på plats. Alla delar är monterade. Vi är redo att ladda hela koden, sätt på skalet och se hur det gör sitt.

Du känner till rutinen. Ladda ner filen icbob_walk_avoid_turn.zip nedan och packa upp den till din Arduino -katalog. Öppna skissen i Arduino IDE. Hitta följande avsnitt av koden. Lägg hempositionerna du spelade in för din bot i skissen.

// ställ in medlemmarna för hm -arrayen till hempositionerna för din robot

// de kan hittas med hjälp av icbob_home_calibration sketch const int hm [4] = {95, 95, 85, 90}; // array för att hålla hempositionen för varje servo RH, RA, LH, LA

Denna skiss lägger till en andra flyttmatris och en andra uppsättning långsamma rörelsekoder för `` turn '' - flytten.

// frammatningsdata

const int fwdmvct = 6; // Gör det här talet lika med antalet rader i arrayen const int fwdmv [fwdmvct] [4] = {{0, -40, 0, -20}, // gå framåt framramar {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 det här talet lika med antalet rader i arrayen const int trnmv [trnmvct] [4] = {{-40, 0, -20, 0}, // vrid flyttramar {-40, 30, -20, 30}, {0, 30, 0, 30}, {30, 0, 30, 0}, {0, 0, 0, 0},};

Vi lade till sonarhinderdetekteringskod samt en 'if' 'else' -uttalande för att avgöra om vi ska gå rakt eller svänga.

Slutmontering och uppstart

Låt batteriet vara urkopplat och ladda upp skissen. Koppla bort programmeringssladden. Se till att strömbrytaren på regulatorn är i nedåt -på -läge. Skjut försiktigt skalet på basen med USB -nätsladden som sticker genom det övre hålet. Sätt i batteriet. Anslut den. Din ICBob bör börja röra sig och vända för att undvika hinder närmare än 7 tum.

Steg 10: Avslutning

Vi hoppas att du har lika roligt att bygga din ICBob som vi gjorde med att bygga vår. Låt oss veta om du har några frågor eller kommentarer. Om du bygger en, meddela oss här eller om på Thingiverse.

Rekommenderad: