Sadržaj:

ICBob - dvonožni robot nadahnut Bobom: 10 koraka (sa slikama)
ICBob - dvonožni robot nadahnut Bobom: 10 koraka (sa slikama)

Video: ICBob - dvonožni robot nadahnut Bobom: 10 koraka (sa slikama)

Video: ICBob - dvonožni robot nadahnut Bobom: 10 koraka (sa slikama)
Video: Disney's new Star Wars-inspired robot is AI trained 😮 #shorts #robotics 2024, Srpanj
Anonim
Image
Image
ICBob - dvonožni robot nadahnut Bobom
ICBob - dvonožni robot nadahnut Bobom

Mi smo Teen Imagineering Club iz javne knjižnice Bridgeville Delaware. Radimo cool projekte učeći o elektronici, računalnom kodiranju, 3D dizajnu i 3D ispisu.

Ovaj projekt je naša adaptacija BoB -a BiPed robota zasnovanog na Arduinu. Redizajnirali smo tijelo kako bismo iskoristili naš omiljeni Arduino izvor napajanja, Powerbot telefonsku banku napajanja. Ovaj jeftini punjivi izvor napajanja od 5 V odličan je za napajanje naših Arduino projekata i puni se bilo kojim USB zidnim punjačem. Također smo prilagodili tri prsta stopala Arduped dvonožnog robota samo zato što izgledaju SJAJNO. Pokazat ćemo vam gdje nabaviti potrebne dijelove, kako sastaviti robota, pa čak i dati vam jedan jednostavan Arduino kôd za hodanje. Bilo nam je sjajno napraviti naših jedanaest ICBob robota. Nastavite čitati ako želite naučiti kako ga sami izraditi.

Korak 1: Dijelovi i alati koji će vam trebati

Dijelovi i alati koji će vam trebati
Dijelovi i alati koji će vam trebati
Dijelovi i alati koji će vam trebati
Dijelovi i alati koji će vam trebati

ICBob je dizajniran za sljedeći skup dijelova. Iako su zamjene moguće, možda ćete morati promijeniti tijelo kako bi funkcioniralo. Naš omiljeni dobavljač je Yourduino.com, ali za neke artikle morate otići na Amazon ili Ebay.

Ažuriranje dostupnosti proizvoda- Yourduino više ne nosi Micro Mag i kaže da ih Dagu ukida. Dagu web stranica ih još uvijek ima na raspolaganju https://www.dagurobot.com/goods.php?id=137, a ako nisu dostupni, S4A EDU kontroler je zamjena i radi na 5 volti.

Dijelovi

  • 1x- MICRO Regulator čarobnjaka
  • 4x- SG 90 servo
  • 1x- HC-SR04 Ultrazvučni senzor
  • 1x Powerbot power bank 2600mAh (Powerbot od 3000mAh ima veći promjer i neće stati)
  • 1x- ženski MICRO USB na DIP 5-pinski utor
  • 1x- 20cm ženski krajevi s ravnim kablom sa 40 pinova
  • 1x10k otpornik
  • 4x- 2-56 x 3/8 samorezni vijci (alternativno vruće ljepilo)

3D ispisi - Stl datoteke su dostupne na Thingiverse -u: 1313344

  • 1x- tijelo
  • 1x- ljuska
  • 2x- koljeno
  • 1x- lijevo stopalo
  • 1x- desno stopalo

Alati

  • računalo s Arduino IDE -om
  • Arduino dodaj u biblioteku VarSpeedServo
  • MICRO Magician Driver (potreban za neke operativne sustave)
  • 3D pisač (ili izradite dijelove)
  • 3D alati za čišćenje dijelova
  • Komplet za lemljenje (samo za pinove na USB adapteru)
  • Pištolj za vruće ljepilo
  • Mali Philips odvijač
  • usb punjač

Ovaj Instructable pretpostavlja da imate osnovno znanje o korištenju Arduina. Ako ste tek počeli koristiti Arduino, možete saznati više na

Za MICRO čarobnjaka odaberite ploču - Arduino Pro ili Pro Mini (3,3 V, 8 MHz) s/ ATmega328

Za korištenje naših skica trebat će vam Kormanova biblioteka VarSpeedServo. Ovdje možete saznati više o njegovoj biblioteci, ali upotrijebite naše preuzimanje ispod koje je kompatibilno s novijim IDE -om. Preuzmite datoteku VarSpeedServo.zip ispod i raspakirajte je u svoju mapu arduino/libraries.

Možda vaš sustav ne prepoznaje upravljački program MICRO Magician CP210x. Ovo mjesto može pomoći pri instaliranju upravljačkog programa

Korak 2: Počnimo graditi - sastavite noge

Počnimo graditi - sastavite noge
Počnimo graditi - sastavite noge
Počnimo graditi - sastavite noge
Počnimo graditi - sastavite noge
Počnimo graditi - sastavite noge
Počnimo graditi - sastavite noge

Za ovaj korak trebat će vam 2 - 3D tiskana koljena i 4 servo paketa.

Počnite s čišćenjem koljena. 2 rupe za servo trube moraju odgovarati jednostranim servo sirenama. Očistili smo ih svrdlom veličine L (.290). Jedna zakretna rupa mora odgovarati zakretnoj osovini na podnožju. Očistili smo ih svrdlom veličine # 2 (.220).

Postavite 4 servo trube u koljena. Pričvrstite trubu pomoću jednog od većih vijaka koji ste dobili s servo paketom. Provucite vijak sa strane koljena i zategnite ga u jednu od malih rupica na servo trubi. Za jedan vijak morat ćete zategnuti odvijačem pod kutom, ali to je izvedivo. Točke vijaka koje vire možete isjeći ako želite.

4 servo vretena moraju biti centrirana prije nego što se pričvrste na koljena. To možete učiniti ručno laganim pomicanjem vretena kroz njegovu rotaciju kako biste pronašli pola točke. Bolji način je da priključite servo na pin 12. Preuzmite datoteku icbob_servo_center.zip ispod. Raspakirajte u svoj Arduino direktorij. Zatim pokrenite ovu Arduino skicu za svaki servo.

Počnite sastavljanjem bočnih (gornjih) servo servera do koljena. Bez pomicanja vretena, servo upravljač za kukove pričvrstite paralelno s koljenom žicama okrenutim prema drugom servo trubi (sprijeda). Učvrstite jednim malim vijkom iz servo paketa. Ponovite za drugo koljeno.

Sada o servo pogonima za gležanj. Sjetite se da ćete imati desni i lijevi gležanj pa će noge biti zrcalne slike jedna druge. Morat ćete lagano raširiti koljeno da biste sastavili servo za gležanj, pa prije nego ga stisnete, orijentirajte servo kao na fotografiji. Ne zakrećite vreteno. Učvrstite malim vijkom. Ponovite s drugim koljenom tako da završite desnom i lijevom nogom.

Korak 3: Izgradnja - pričvrstite noge uz tijelo

Izgradnja - Pričvrstite noge uz tijelo
Izgradnja - Pričvrstite noge uz tijelo
Izgradnja - Pričvrstite noge uz tijelo
Izgradnja - Pričvrstite noge uz tijelo
Izgradnja - Pričvrstite noge uz tijelo
Izgradnja - Pričvrstite noge uz tijelo

Za ovaj korak trebat će vam 2 sklopa nogu i 3D ispisana baza. Također će vam trebati (4) samorezna vijka 2-56x3/8 ili vruće ljepilo.

Sklop nogu pričvršćuje se na bazu pomoću servo upravljača kuka. Prvo provucite 2 servo žice prema gore kroz dno baze. Pazite na prava i ljevice. Kao što crtež prikazuje, žica za gležanj završava u polumjesecu, ali žicu za gležanj morate umetnuti prije nego što je servo priključen. Morate nagnuti servo da žica (gdje ulazi u servo) prvo prolazi kroz pravokutnu rupu (prema naprijed). Čvrsto pristaje, ali stražnji dio bi trebao samo ući. Sada okrenite bazu i pričvrstite servo pomoću 2 vijka ili bi alternativno moglo djelovati vruće ljepilo. Ponovite postupak za drugu nogu.

Korak 4: Izgradnja - pričvrstite noge

Zgrada - pričvrstite noge
Zgrada - pričvrstite noge
Zgrada - pričvrstite noge
Zgrada - pričvrstite noge

Za ovaj korak trebat će vam lijeva i desna noga za dodavanje u sklop. Vruće su zalijepljene pa zapali pištolj za ljepilo.

Pazite da dobro očistite proreze na stopalima. Lagano provjerite da li je servo postavljen na stopalo nakon čišćenja. Pazite da rupa za zakretanje u koljenu stane u zakretnu osovinu na stopalu. Najbolje je koristiti tanki odvijač između serva i stopala kako biste odvojili nogu ako je čvrsta. Nakon što dobijete dobro testiranje, postavite globinu vrelog ljepila na stopu, a zatim pritisnite servo do stopala. Izbjegavajte da ljepilo dođe do područja zakretanja. Ponovite za drugu stranu kako bi vaš bot mogao stajati na vlastitim nogama.

Korak 5: Ožičenje - Servo i napajanje

Ožičenje - servo i napajanje
Ožičenje - servo i napajanje
Ožičenje - servo i napajanje
Ožičenje - servo i napajanje
Ožičenje - servo i napajanje
Ožičenje - servo i napajanje

U ovom koraku trebat će vam kontroler MICRO Magician, adapterska ploča za mikro USB s pinovima zaglavlja, ravni kabel i vaš stalni bot. U ovom koraku ćete lemiti i vruće lijepiti pa pripremite te alate.

Powerbot banka za napajanje dolazi s kratkim USB do mikro USB kabelom. Za punjenje baterije mikro USB je priključen u utor za punjenje na bateriji, a USB ide na zidni punjač. Ovaj ćete kabel ponovno upotrijebiti za napajanje ICBob -a. Izlaz baterije je putem USB -a pa se povezujemo preko mikro USB adapterske ploče kako bismo napajali bot.

Prvo sklopimo adapter. Za sljedeće korake pogledajte fotografiju. Za napajanje bota ćete koristiti samo 2 vanjska pina (gnd i V+). Pažljivo gurnite 2 vanjska zatiča u zaglavlju tako da kratka strana strši otprilike 3/16 inča. Kleštima savijte 2 dugačke igle za oko 60 stupnjeva. Savijte se prije lemljenja jer su ploče krhke. Umetnite zaglavlje kao što je prikazano i zalijepite sve igle na stražnju stranu radi jačine. Isjecite sve neiskorištene igle što je moguće kraće i sprijeda i straga. Prije nego što zalijepimo adapter na cijev, priključite mikro USB kabel tako da dobijete dovoljno slobodnog prostora. Stavite veliku kuglu vrućeg ljepila na stražnju stranu adaptera, a zatim je postavite na položaj prikazan na cijevi. Držite dok se ne stvrdne.

Zatim priključite 4 servo konektora na regulator. Sviđa nam se MICRO Magician jer ima 3 pinske konektore za lakše servo ožičenje. Žica tamnije boje (smeđa?) Ide prema rubu ploče. Uključene Arduino skice koriste sljedeće igle.

  • Desni kuk (RH) - pin 9
  • Desni gležanj (RA) - pin 10
  • Lijevi kuk (LH) - pin 11
  • Lijevi gležanj (LA) - pin 12

Za priključivanje napajanja na ploču odvojite par žica iz ravnog kabela. Više ćete ovog ravnog kabela koristiti za ožičenje sonara. Spojite jedan kraj para na mikro USB adapter. Igla koja je bliže prednjoj strani robota je uzemljena, a druga V+. Drugi kraj se pričvršćuje na regulator blizu prekidača. Žica V+ spaja se na pin označen kao "Battery IN" u dokumentaciji. Spojite žicu za uzemljenje na pin 'gnd' malo iznad pina 'Battery IN'.

VAŽNO! - Postoji kratkospojnik 'V+ select' neposredno iznad postavljenog pina D1. Ovaj kratkospojnik mora biti na unutarnjoj strani pinova ili servo upravljači neće raditi.

Na kraju očistite utor kontrolera na podnožju tako da regulator dobro prianja. Možete priključiti bateriju i uključiti kontroler kako biste bili sigurni da se uključuje.

Korak 6: Programiranje - Kod za kućnu kalibraciju

Nekoliko riječi o našim izborima programiranja

Kad smo izrađivali prototip za ovaj projekt, koristili smo Kako naučiti vašeg BoB Biped -a da premjesti tutorial na Let's Make Robots. Softver Bob Poser bio je super i bilo nam je zabavno igrati se s njim. Problem je bio u tome što je 600+ redaka koda u skici za navigaciju znatno iznad razine znanja tinejdžera. Kako bismo im učinili ovaj projekt više za učenje, odlučili smo prikupiti nekoliko ideja iz Poser koda, a zatim početi ispočetka s praznom stranicom. Tinejdžeri su već koristili knjižnicu VarSpeedServo dok su učili o servo pogonima u našim Arduino laboratorijima. Odlučili smo provjeriti može li VarSpeedServo podnijeti vrijeme i brzinu servomotora kako bismo se mogli samo koncentrirati na položaje. Dobiveni kôd odlično funkcionira, a puna skica walk_avoid_turn ima manje od 100 redaka koda. Jedini novi koncepti koje su tinejdžeri trebali naučiti bili su dvodimenzionalni nizovi i kako pristupiti tim podacima pomoću koda. Uživati!

Kućna kalibracija

Kad ste ih sastavili, centrirali ste servo vretena. Sada ćete vidjeti koliko ste im blizu i fino prilagoditi njihove početne pozicije. Provjerite imate li instaliranu knjižnicu VarSpeedServo iz 1. koraka. Preuzmite datoteku icbob_home_calibration.zip ispod i raspakirajte je u svoj Arduino direktorij. Otvorite skicu u Arduino IDE -u. Uključite MICRO Magician pomoću baterije. Spojite računalo na ploču i prenesite kôd. Velike su šanse da početni položaji serva neće biti savršeni. Pronađite sljedeći odjeljak u kodu. Nastavite prilagođavati i učitavati dok ne ispravite.

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

// Počnite s memorijskim nizom od 4 hm postavljenim na 90 stupnjeva. zatim podesite // ove postavke tako da su koljena ravno prema naprijed, a stopala ravna int hm [4] = {90, 90, 90, 90}; // niz za držanje početnog položaja za svaki servo RH, RA, LH, LA // …………………………………………………….

Ako je neki od vaših brojeva manji od 50 ili veći od 130, morate se vratiti i rastaviti noge te vretena približiti sredini.

Kad zauzmete dobar položaj kod kuće, zapišite brojeve. Za ostatak skica trebat će vam ovi brojevi.

Korak 7: Programiranje - premještanje generatorskog koda

Programiranje - premještanje generatorskog koda
Programiranje - premještanje generatorskog koda

Sada za pokretanje vašeg bota. Preuzmite datoteku icbob_move_generator.zip ispod i raspakirajte je u svoj Arduino direktorij. Otvorite skicu u Arduino IDE -u. Pronađite sljedeći odjeljak koda. Stavite početne pozicije koje ste snimili za svog bota u skicu.

// postavite članove za polje hm na početne položaje za vašeg robota

// mogu se pronaći pomoću icbob_home_calibration skice const int hm [4] = {95, 95, 85, 90}; // niz za držanje početnog položaja za svaki servo RH, RA, LH, LA

Sljedeći odjeljak koda je mjesto gdje se unose sekvence pomaka. Svaka linija ima položaje za 4 servo upravljača (RH, RA, LH, LA) u odnosu na početni položaj.

// mv podaci polja. Svaka linija je 'okvir' ili položaj postavljen za 4 serva

// Više linija stvara grupu pokreta koje se mogu petlji // stvoriti hodanje, okretanje, ples ili druge pokrete const int mvct = 6; // Neka ovaj broj bude jednak broju redaka u nizu const int mv [mvct] [4] = {{0, -40, 0, -20}, // Ovi unaprijed učitani brojevi trebali bi omogućiti hod unaprijed {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0},};

Ovo je kod koji pretvara podatke mv polja u servo slowmoves

void loop () // petlja se ponavlja zauvijek

{// Pokreni slijed za (int x = 0; x <mvct; x ++) {// kruženje kroz broj RH.slowmove (hm [0]+mv [x] [0], svsp); // linije 'okviri' u nizu RA.slowmove (hm [1] + mv [x] [1], svsp); LH.polako kretanje (hm [2] + mv [x] [2], svsp); LA.polako kretanje (hm [3] + mv [x] [3], svsp); kašnjenje (framedelay); }}

Prenesite na bot. Bot će otići u početni položaj na 2 sekunde, a zatim pokrenuti petlju hodanja naprijed. Najbolje djeluje ako stol nije previše sklizak.

Kad vam dosadi gledati ga kako hoda, možete isprobati vlastite poteze. Za preimenovanje skice upotrijebite 'spremi kao'. Zatim se poigrajte s brojkama i pogledajte što možete učiniti. Držite brojeve između +50 i -50 ili možete naprezati servomotore. Upamtite ako zbrajate ili oduzimate retke morate promijeniti vrijednost mvct kako bi odražavala promjenu. Zabavi se!

Korak 8: Ožičenje - senzor sonara HC -SR04 (oči)

Ožičenje - HC -SR04 senzor sonara (oči)
Ožičenje - HC -SR04 senzor sonara (oči)
Ožičenje - HC -SR04 senzor sonara (oči)
Ožičenje - HC -SR04 senzor sonara (oči)

Za ovaj korak trebat će vam icbob_shell 3D ispis, HC-SR04 ultrazvučni senzor, ženski ravni kabel i jedan otpornik od 10 k ohma. Ovo bi trebalo dovršiti dijelove na našem popisu. Da!

Najprije očistite rupe osjetnika u ljusci kako biste ih čvrsto prilijepili. Ne vršite preveliki pritisak na senzor tijekom testiranja. Izvadite iz ljuske radi ožičenja.

Zatim izvucite 4 niti s ravnog kabela. Uključite 4 žice u pinove osjetnika HC-SR04.

MICRO Magician interno radi na 3,3 V, a pinovi mogu prihvatiti samo 3,3 V signal. Problem je u tome što HC-SR04 radi na 5 volti. Može upotrijebiti ulaz od 3,3 volta kao signal "okidača", ali kada šalje signal "odjeka" to je 5 volti i oštetit će ulaz regulatora ako se izravno spoji. Moramo staviti otpornik za ograničavanje struje od 10 k ohma na žicu 'odjeka' kako bismo zaštitili ulaz.

AŽURIRANJE: Iako nismo imali problema samo sa ugrađenim otpornikom od 10K, u komentarima je istaknuto kako najbolja praksa ukazuje da bi se ovdje trebao koristiti krug razdjelnika napona. Osim 10K otpornika, između "echo" i "ground" treba postaviti 15K otpornik.

Izrežite vodove otpornika na 0,5 inča. Otpornik ulazi u 'echo' žicu na vašem ravnom kabelu. Na vezu smo stavili kap super ljepila kako bismo ostali na mjestu.

Skica koristi pin 13 za okidač i pin 3 za odjek. Koristite grupu pin 13 na kontroleru za 'gnd', 'vcc', 'trig' tim redoslijedom radeći od ruba prema sredini. Ovdje ćete morati križati neke žice da biste to ispravno učinili. 'Echo' žica s otpornikom uključuje se u utičnicu ženskog pina 3.

Ako želite provjeriti senzor prije nego prijeđete na sljedeći korak, možete ga isprobati pomoću prve skice na ovoj stranici https://arduino-info.wikispaces.com/UltraSonicDistance. Trebat će vam spojena baterija. Očitavanje udaljenosti možete vidjeti na serijskom monitoru. Pobrinite se da postavite "trigger_pin" na 13, a "echo_pin" na 3 u skici.

Najbolji način za ugradnju senzora u omotač je tako da igle budu usmjerene prema vrhu, a žice presavijene i usmjerene između 'očiju' senzora i kućišta.

Korak 9: Programiranje - Walk_Avoid_Turn Code

Spajajući sve zajedno. Svi dijelovi su sastavljeni. Spremni smo učitati cijeli kôd, staviti ljusku i gledati kako radi svoje.

Znate rutinu. Preuzmite datoteku icbob_walk_avoid_turn.zip ispod i raspakirajte je u svoj Arduino direktorij. Otvorite skicu u Arduino IDE -u. Pronađite sljedeći odjeljak koda. Stavite početne pozicije koje ste snimili za svog bota u skicu.

// postavite članove za hm niz u početne položaje za vašeg robota

// mogu se pronaći pomoću icbob_home_calibration skice const int hm [4] = {95, 95, 85, 90}; // niz za držanje početnog položaja za svaki servo RH, RA, LH, LA

Ova skica dodaje drugi niz poteza i drugi skup koda za sporo kretanje za potez 'skretanje'.

// prosljeđivanje podataka polja

const int fwdmvct = 6; // Neka ovaj broj bude jednak broju redaka u nizu const int fwdmv [fwdmvct] [4] = {{0, -40, 0, -20}, // koraci za pomak naprijed {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0},}; // okretanje podataka polja const int trnmvct = 5; // Neka ovaj broj bude jednak broju redaka u nizu const int trnmv [trnmvct] [4] = {{-40, 0, -20, 0}, // okrenite okvire za pomak {-40, 30, -20, 30}, {0, 30, 0, 30}, {30, 0, 30, 0}, {0, 0, 0, 0},};

Dodali smo kôd za otkrivanje prepreka sonara kao i izjavu 'if' 'else' da odlučimo idemo li ravno ili skrećemo.

Završna montaža i pokretanje

Ostavite bateriju isključenom i prenesite skicu. Odspojite programski kabel. Provjerite je li prekidač za napajanje na kontroleru u donjem položaju "uključeno". Pažljivo gurnite ljusku na podnožje s USB kabelom za napajanje koji zabada kroz gornju rupu. Umetnite bateriju. Uključite ga u utičnicu. Vaš ICBob trebao bi se početi kretati i okretati kako bi izbjegao prepreke bliže od 7 inča.

Korak 10: Zaključak

Nadamo se da ćete se jednako zabaviti u izgradnji vašeg ICBob -a kao i mi pri izgradnji našeg. Javite nam ako imate bilo kakvih pitanja ili komentara. Ako ga izgradite, obavijestite nas ovdje ili na Thingiverseu.

Preporučeni: