Taula de continguts:

ICBob: un robot bíped inspirat en Bob: 10 passos (amb imatges)
ICBob: un robot bíped inspirat en Bob: 10 passos (amb imatges)

Vídeo: ICBob: un robot bíped inspirat en Bob: 10 passos (amb imatges)

Vídeo: ICBob: un robot bíped inspirat en Bob: 10 passos (amb imatges)
Vídeo: Eminem - Rap God (Explicit) 2024, Juliol
Anonim
Image
Image
ICBob: un robot bípede inspirat en Bob
ICBob: un robot bípede inspirat en Bob

Som el Teen Imagineering Club de la biblioteca pública Bridgeville Delaware. Fem projectes interessants mentre aprenem sobre electrònica, codificació d’ordinadors, disseny 3D i impressió 3D.

Aquest projecte és la nostra adaptació de BoB the BiPed, un robot basat en Arduino. Hem redissenyat el cos per aprofitar la nostra font d’alimentació Arduino preferida, el banc d’alimentació del telèfon Powerbot. Aquesta font d’alimentació de 5 volts recarregable i econòmica és ideal per alimentar els nostres projectes Arduino i es recarrega amb qualsevol carregador de paret USB. També hem adaptat els peus de 3 dits del robot bípede Arduped només perquè semblen impressionants. Us mostrarem on obtenir les peces que necessiteu, com muntar el robot i fins i tot us oferirem un codi Arduino fàcil per fer-lo caminar. Ens ho vam passar molt bé fent els nostres onze robots ICBob. Seguiu llegint si voleu aprendre a fer-ne un.

Pas 1: peces i eines que necessitareu

Peces i eines que necessitareu
Peces i eines que necessitareu
Peces i eines que necessitareu
Peces i eines que necessitareu

ICBob està dissenyat per al següent conjunt de peces. Tot i que són possibles les substitucions, és possible que hagueu de modificar el cos perquè funcioni. El nostre proveïdor preferit és Yourduino.com, però per a alguns articles haureu d’anar a Amazon o Ebay.

Actualització de la disponibilitat del producte: Yourduino ja no porta el Micro Magician i diu que Dagu els suspèn. El lloc web de Dagu encara els té disponibles https://www.dagurobot.com/goods.php?id=137 i, si no estan disponibles, el controlador S4A EDU és una substitució baixa i funciona a 5 volts.

Parts

  • 1x- Controlador MICRO Magician
  • 4x- Servo SG 90
  • 1x- HC-SR04 Sensor d'ultrasons
  • 1x- Banc de potència Powerbot 2600mAh (el Powerbot de 3000mAh té un diàmetre més gran i no s’adapta)
  • 1x- Pissarra MICRO USB a DIP de 5 pins femella
  • 1x- 20cm extrems femenins de cable pla de 40 pines
  • 1x- 10k resistència
  • 4x- 2-56 x 3/8 cargols autorroscants (cola calenta alternativa)

Impressions 3D: els fitxers stl estan disponibles a Thingiverse: 1313344

  • 1x- cos
  • 1x- closca
  • 2x- genoll
  • 1x- peu esquerre
  • 1x- peu dret

Eines

  • equip amb IDE Arduino
  • Afegeix Arduino a la biblioteca VarSpeedServo
  • MICRO Magician Driver (necessari per a alguns sistemes operatius)
  • Impressora 3D (o fer les peces fabricades)
  • Eines de neteja de peces 3D
  • Kit de soldadura (només per als pins de l'adaptador USB)
  • Pistola de cola calenta
  • Petit tornavís Philips
  • carregador USB

Aquesta instrucció suposa que teniu un coneixement bàsic sobre l’ús d’Arduino. Si no coneixeu Arduino, podeu obtenir més informació a

Per al MICRO Magician, trieu Board - Arduino Pro o Pro Mini (3,3 V, 8 MHz) amb ATmega328

Necessitareu la biblioteca VarSpeedServo de Korman per utilitzar els nostres esbossos. Podeu obtenir més informació sobre la seva biblioteca aquí, però utilitzeu la nostra baixada que és compatible amb l'IDE més recent. Baixeu-vos el fitxer VarSpeedServo.zip a continuació i descomprimiu-lo a la carpeta arduino / libraries.

Pot ser que hagueu d’instal·lar el controlador MICRO Magician CP210x si el vostre sistema no reconeix el controlador. Aquest lloc pot ajudar-vos a instal·lar el controlador

Pas 2: Comencem a construir: muntar les potes

Comencem a construir: muntar les potes
Comencem a construir: muntar les potes
Comencem a construir: muntar les potes
Comencem a construir: muntar les potes
Comencem a construir: muntar les potes
Comencem a construir: muntar les potes

Per a aquest pas necessitareu 2 - genolls impresos en 3D i 4 paquets servo.

Comenceu per netejar els genolls. Els 2 forats de la banya del servo han d’adaptar-se a les bocines del servo d’una sola cara. Els hem netejat amb una broca de la mida de la lletra L. (.290). Un forat de pivot ha d’adaptar-se al pivot. Els hem netejat amb una broca de mida 2 (.220).

Introduïu les 4 banyes servo als genolls. Col·loqueu la banya utilitzant un dels cargols més grans que venien amb el paquet de servocompressors. Feu passar el cargol des del costat del genoll i estrenyiu-lo en un dels petits forats de la banya del servo. Per al cargol únic, haureu de prémer amb el tornavís en un angle, però és factible. Si voleu, podeu retallar els punts de cargol que sobresurten amb unes tenalles laterals.

Els 4 servoeixos s'han de centrar abans de fixar-los als genolls. Podeu fer-ho manualment movent suaument l'eix mitjançant la seva rotació per trobar el punt a mig camí. Una manera millor és connectar un servo al pin 12. Baixeu el fitxer icbob_servo_center.zip a continuació. Descomprimiu-lo al directori Arduino. A continuació, executeu aquest esbós Arduino per a cada servo.

Comenceu muntant els servos del maluc (superiors) als genolls. Sense moure l’eix, fixeu el servo de maluc paral·lel al genoll amb els cables cap a l’altre servocorn (frontal). Assegureu-lo amb un cargol petit del paquet de servo. Repetiu per a un altre genoll.

Ara per als servos del turmell. RECORDA que tindràs turmells drets i esquerres, de manera que les cames seran imatges reflectides les unes de les altres. Haureu d'estendre lleugerament el genoll per muntar el servo del turmell, de manera que orienteu el servo com a la foto abans de prémer-lo. Recordeu que no gireu l'eix. Assegureu-lo amb un cargol petit. Repetiu-ho amb un altre genoll per acabar amb la cama dreta i esquerra.

Pas 3: construcció: fixa les cames al cos

Construcció: fixa les cames al cos
Construcció: fixa les cames al cos
Construcció: fixa les cames al cos
Construcció: fixa les cames al cos
Edifici: fixa les cames al cos
Edifici: fixa les cames al cos

Necessiteu els dos conjunts de potes i la base impresa en 3D per a aquest pas. També necessitareu (4) cargols autofiletants de 2-56x3 / 8 o cola calenta.

El conjunt de la cama s’uneix a la base mitjançant els servos de maluc. Primer enruteu els 2 servocables cap amunt per la part inferior de la base. Tingueu en compte els drets i les esquerres. Com es mostra al dibuix, el fil del turmell acaba al tall de mitja lluna, però heu de tenir el fil del turmell abans que el servo estigui fixat. Heu d’inclinar el servo de manera que el fil del maluc (on entra al servo) passi primer pel forat rectangular (cap a la part frontal). Està ajustat, però l'extrem posterior només hauria de lliscar-se. Ara gireu la base i fixeu el servo amb 2 cargols o bé hauria de funcionar una cola calenta. Repetiu el procés per a l’altra cama.

Pas 4: Construcció: fixa els peus

Edifici: fixa els peus
Edifici: fixa els peus
Edifici: fixa els peus
Edifici: fixa els peus

Per a aquest pas, necessitareu un peu esquerre i un peu dret per afegir al muntatge. Estan enganxats en calent, així que feu disparar la pistola de cola.

Assegureu-vos de netejar bé les ranures dels peus. Feu una prova suau per ajustar el servo al peu després de netejar-lo. Assegureu-vos que el forat de pivot del genoll s’adapti al passador de pivot del peu. El millor és utilitzar un tornavís prim entre el servo i el peu per aixecar el peu si està estret. Després d’obtenir un bon ajust de prova, col·loqueu un globus de cola calenta de deu centímetres al peu i premeu el servo al peu. Eviteu obtenir cola a prop de la zona de pivot. Repetiu l’operació per l’altre costat de manera que el bot pugui mantenir-se dret.

Pas 5: Cablejat - Servos i alimentació

Cablejat: servos i alimentació
Cablejat: servos i alimentació
Cablejat: servos i alimentació
Cablejat: servos i alimentació
Cablejat: servos i alimentació
Cablejat: servos i alimentació

En aquest pas necessitareu el controlador MICRO Magician, la placa adaptadora micro USB amb pins de capçalera, el cable pla i el bot de peu. Estareu soldant i encolant en calent en aquest pas, així que tingueu a punt aquestes eines.

El banc d’alimentació Powerbot inclou un cable curt d’USB a micro USB. Per carregar la bateria, el micro USB es connecta a la ranura de càrrega de la bateria i l'USB va al carregador de paret. Tornareu a utilitzar aquest cable per alimentar l'ICBob. La sortida de la bateria es fa a través de l’USB, de manera que ens connectem a través de la placa adaptadora micro USB per aconseguir alimentació del bot.

Primer deixem muntar l'adaptador. Consulteu la foto per veure els passos següents. Només utilitzarà els 2 pins externs (gnd i V +) per alimentar el bot. Feu lliscar amb compte els 2 passadors exteriors de la capçalera de manera que el costat curt sobresurt aproximadament de 3/16 polzades. Amb les tenalles doblegueu els dos passadors llargs 60 graus més o menys. Dobleu-vos abans de soldar, ja que els taulers són fràgils. Inseriu la capçalera tal com es mostra i soldeu tots els pins a la part posterior per obtenir més força. Retalleu tots els passadors no utilitzats el més curts possibles tant a la part davantera com a la posterior. Abans d’enganxar l’adaptador al canó, fixeu el cable micro USB de manera que quedeu prou lliure. Poseu un gran globus de cola calenta a la part posterior de l'adaptador i, a continuació, col·loqueu-lo a la posició que es mostra al canó. Mantingueu-ho fins que s’endureixi.

A continuació, fixeu els 4 connectors servo al controlador. Ens agrada el MICRO Magician perquè té connectors de 3 pins integrats per facilitar el cablejat del servo. El filferro de color més fosc (marró?) Va cap a la vora del tauler. Els esbossos Arduino inclosos utilitzen els pins següents.

  • Maluc dret (DR): pin 9
  • Turmell dret (RA): pin 10
  • Maluc esquerre (LH): pin 11
  • Turmell esquerre (LA): pin 12

Per a la connexió d'alimentació a la placa, traieu un parell de cables del cable pla. Utilitzarà més d’aquest cable pla per al cablejat del sonar. Connecteu un extrem del parell a l'adaptador micro USB. El passador que està més a prop de la part frontal del bot està mòlt i l'altre V +. L'altre extrem es fixa al controlador a prop de l'interruptor. El cable V + es connecta al pin etiquetat com a "Battery IN" de la documentació. Connecteu el cable de terra al pin "gnd" una mica per sobre del pin "Battery IN".

IMPORTANT! - Hi ha un pont "V + select" just a sobre del conjunt de pins D1. Aquest pont ha d'estar al conjunt de pins de l'interior o els servos no funcionaran.

Finalment, netegeu la ranura del controlador de la base perquè el controlador s’ajusti bé. Podeu connectar la bateria i encendre el controlador per assegurar-vos que s’encengui.

Pas 6: Programació: codi de calibració de la llar

Unes paraules sobre les nostres opcions de programació

Quan vam construir el prototipus d’aquest projecte, vam utilitzar el tutorial Com ensenyar al vostre BoB Biped a moure’s a Tutorial a Let's Make Robots. El programari Bob Poser era genial i ens divertíem jugant amb ell. El problema era que més de 600 línies de codi a l’esbós de Navigation estaven molt per sobre del nivell de coneixement dels adolescents. Per fer d’aquest projecte una experiència d’aprenentatge més, vam decidir recollir algunes idees del codi Poser i començar de nou amb una pàgina en blanc. Els adolescents ja havien utilitzat la biblioteca VarSpeedServo mentre aprenien sobre servos als nostres laboratoris Arduino. Vam decidir si VarSpeedServo podia manejar els deures de temps i velocitat dels servos per poder concentrar-nos en les posicions. El codi resultant funciona molt bé i l’esbós complet walk_avoid_turn té menys de 100 línies de codi. Els únics conceptes nous que els adolescents necessitaven per aprendre eren matrius bidimensionals i com accedir a aquestes dades amb codi. Gaudeix-ne!

Calibració de la llar

Heu centrat els servoeixos quan els heu muntat. Ara veureu fins a quin punt us heu apropat i afineu les seves posicions d’origen. Assegureu-vos que teniu instal·lada la biblioteca VarSpeedServo del pas 1. Baixeu-vos el fitxer icbob_home_calibration.zip a continuació i descomprimiu-lo al directori Arduino. Obriu l'esbós a l'IDE Arduino. Enceneu el MICRO Magician amb la bateria. Connecteu l’ordinador al tauler i pengeu el codi. El més probable és que les posicions del servo a casa no siguin perfectes. Cerqueu la secció següent al codi. Continueu ajustant i carregant fins que encerteu.

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

// Comenceu amb els memmbers de matriu de 4 hm establerts a 90 graus. a continuació, ajusteu // aquest paràmetre perquè els genolls siguin rectes cap endavant i els peus siguin plans int hm [4] = {90, 90, 90, 90}; // matriu per mantenir la posició inicial de cada servo RH, RA, LH, LA // …………………………………………………….

Si algun dels vostres números és inferior a 50 o superior a 130, haureu de recular i desmuntar les potes i apropar els eixos al centre.

Un cop tingueu una bona posició inicial, escriviu els números. Necessitareu aquests números per a la resta d’esbossos.

Pas 7: Programació - Mou el codi del generador

Programació - Mou el codi del generador
Programació - Mou el codi del generador

Ara, per fer moure el bot. Baixeu-vos el fitxer icbob_move_generator.zip a continuació i descomprimiu-lo al directori Arduino. Obriu l'esbós a l'IDE Arduino. Cerqueu la següent secció de codi. Poseu a l'esbós les posicions inicials que vau gravar per al bot.

// configureu els membres de la matriu hm a les posicions inicials del vostre robot

// es poden trobar utilitzant l'esbós icbob_home_calibration const int hm [4] = {95, 95, 85, 90}; // matriu per mantenir la posició inicial de cada servo RH, RA, LH, LA

La secció següent de codi és on s’introdueixen les seqüències de moviment. Cada línia té posicions per als 4 servos (RH, RA, LH, LA) en relació amb la posició inicial.

// dades de matriu mv. Cada línia és un "marc" o una posició establerta per als 4 servos

// Múltiples línies creen un grup de moviments que es poden crear en bucle per // crear caminar, girar, ballar o altres moviments const int mvct = 6; // Feu que aquest número sigui igual al nombre de línies de la matriu const int mv [mvct] [4] = {{0, -40, 0, -20}, // Aquests números precarregats haurien de donar un pas endavant {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0},};

Aquest és el codi que converteix les dades de la matriu mv en servomotors lents

void loop () // bucle es repeteix per sempre

{// Mou la seqüència per (int x = 0; x <mvct; x ++) {// recórrer el nombre de RH.slowmove (hm [0] + mv [x] [0], svsp); // línies 'frames' a la matriu RA.slowmove (hm [1] + mv [x] [1], svsp); LH.slowmove (hm [2] + mv [x] [2], svsp); LA.slowmove (hm [3] + mv [x] [3], svsp); endarreriment (framedelay); }}

Pengeu al bot. El bot anirà a la posició inicial durant 2 segons i després iniciarà un bucle cap endavant. Funciona millor si la taula no és massa relliscosa.

Un cop us canseu de veure’l caminar podeu provar els vostres propis moviments. Utilitzeu "desa com" per canviar el nom de l'esbós. A continuació, jugueu amb els números i vegeu què podeu fer. Mantingueu els números entre +50 i -50 o pot ser que torneu els servos. Recordeu que si afegiu o resteu línies, heu de canviar el valor mvct per reflectir el canvi. Diverteix-te!

Pas 8: Cablatge: sensor de sonar HC-SR04 (ulls)

Cablatge: sensor de sonar HC-SR04 (ulls)
Cablatge: sensor de sonar HC-SR04 (ulls)
Cablatge: sensor de sonar HC-SR04 (ulls)
Cablatge: sensor de sonar HC-SR04 (ulls)

Per a aquest pas necessitareu la impressió 3D icbob_shell, el sensor ultrasònic HC-SR04, el cable pla femella i una resistència de 10k ohm. Això hauria d'acabar les parts de la nostra llista. Sí!

Primer netegeu els forats del sensor a la carcassa per obtenir un ajust mitjà. No exerceixi massa pressió sobre el sensor quan s’ajusti la prova. Traieu-lo de la carcassa per cablejar-lo.

A continuació, traieu 4 fils del cable pla. Connecteu els 4 cables als pins del sensor HC-SR04.

El MICRO Magician funciona internament a 3,3 volts i els pins només poden prendre un senyal de 3,3 volts. El problema és que l’HC-SR04 funciona a 5 volts. Pot utilitzar una entrada de 3,3 volts com a senyal de "disparador", però quan envia un senyal de "ressò" és de 5 volts i perjudicarà l'entrada del controlador si es connecta directament. Hem de posar una resistència de limitació de corrent de 10 k ohms al cable “eco” per protegir l’entrada.

ACTUALITZACIÓ: tot i que no hem tingut cap problema amb només la resistència en línia de 10K, es va assenyalar en els comentaris que la millor pràctica indica que s’hauria d’utilitzar aquí un circuit divisor de tensió. A més de la resistència de 10K, s’ha de col·locar una resistència de 15K entre «eco» i «terra».

Tallar els conductors de la resistència a 0,5 polzades. La resistència entra al cable "eco" del cable pla. Posem una gota de súper cola a la connexió per ajudar-la a mantenir-se.

L'esbós utilitza el pin 13 per al disparador i el pin 3 per al ressò. Utilitzeu el grup de pins 13 del controlador per a 'gnd', 'vcc', 'trig' en aquest ordre treballant des de la vora cap al centre. Haureu de creuar alguns cables aquí per fer-ho bé. El cable "eco" amb la resistència es connecta a la presa femella del pin 3.

Si voleu provar el sensor abans de passar al següent pas, podeu utilitzar el primer esbós d’aquesta pàgina https://arduino-info.wikispaces.com/UltraSonicDistance per provar-lo. Necessitareu la bateria connectada. Podeu veure la lectura de distància al monitor sèrie. Assegureu-vos que definiu "trigger_pin" a 13 i "echo_pin" a 3 a l'esbós.

La millor manera d’instal·lar el sensor a la carcassa és amb els passadors apuntant cap a la part superior i els cables plegats i encaminats entre els “ulls” del sensor i la carcassa.

Pas 9: programació: codi Walk_Avoid_Turn

Unint-ho tot. Totes les peces estan muntades. Ja estem preparats per carregar el codi complet, posar-nos l’intèrpret d’ordres i veure’l fer el que fa.

Coneixeu la rutina. Baixeu-vos el fitxer icbob_walk_avoid_turn.zip a continuació i descomprimiu-lo al directori Arduino. Obriu l'esbós a l'IDE Arduino. Cerqueu la següent secció de codi. Poseu a l'esbós les posicions inicials que vau enregistrar per al vostre bot.

// configureu els membres de la matriu hm a les posicions inicials del vostre robot

// es poden trobar utilitzant l'esbós icbob_home_calibration const int hm [4] = {95, 95, 85, 90}; // matriu per mantenir la posició inicial de cada servo RH, RA, LH, LA

Aquest esbós afegeix una segona matriu de moviments i un segon conjunt de codi de moviment lent per al moviment "gir".

// reenvia dades de matriu

const int fwdmvct = 6; // Feu que aquest número sigui igual al nombre de línies de la matriu const int fwdmv [fwdmvct] [4] = {{0, -40, 0, -20}, // marcs avançats de desplaçament {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; // Feu que aquest número sigui igual al nombre de línies de la matriu const int trnmv [trnmvct] [4] = {{-40, 0, -20, 0}, // gireu els marcs de moviment {-40, 30, -20, 30}, {0, 30, 0, 30}, {30, 0, 30, 0}, {0, 0, 0, 0},};

Hem afegit un codi de detecció d’obstacles de sonar, així com una declaració “if” “else” per decidir si anem rectes o girem.

Muntatge final i posada en marxa

Deixeu la bateria desconnectada i pengeu l’esbós. Desconnecteu el cable de programació. Assegureu-vos que l’interruptor d’alimentació del controlador estigui a la posició “encès”. Feu lliscar amb cura la carcassa cap a la base amb el cable d’alimentació USB que s’enganxa pel forat superior. Introduïu la bateria. Connecteu-lo. El vostre ICBob hauria de començar a moure’s i girar-se per evitar obstacles a menys de 7 polzades.

Pas 10: resum

Esperem que us diverteixiu tant construint el vostre ICBob com nosaltres construint el nostre. Feu-nos-ho saber si teniu cap pregunta o comentari. Si en creeu un, feu-nos-ho saber aquí o més a Thingiverse.

Recomanat: