Tabla de contenido:

ICBob: un robot bípedo inspirado en Bob: 10 pasos (con imágenes)
ICBob: un robot bípedo inspirado en Bob: 10 pasos (con imágenes)

Video: ICBob: un robot bípedo inspirado en Bob: 10 pasos (con imágenes)

Video: ICBob: un robot bípedo inspirado en Bob: 10 pasos (con imágenes)
Video: Zowi, el robot bípedo: haz que baile en 10 minutos. 2024, Mes de julio
Anonim
Image
Image
ICBob: un robot bípedo inspirado en Bob
ICBob: un robot bípedo inspirado en Bob

Somos el Teen Imagineering Club de la Biblioteca Pública de Bridgeville Delaware. Hacemos proyectos interesantes mientras aprendemos sobre electrónica, codificación informática, diseño 3D e impresión 3D.

Este proyecto es nuestra adaptación de BoB the BiPed, un robot basado en Arduino. Rediseñamos el cuerpo para aprovechar nuestra fuente de energía Arduino favorita, el banco de energía del teléfono Powerbot. Esta económica fuente de alimentación recargable de 5 voltios es ideal para alimentar nuestros proyectos Arduino y se recarga con cualquier cargador de pared USB. También adaptamos los pies de 3 dedos del robot bípedo Arduped solo porque se ven IMPRESIONANTES. Te mostraremos dónde conseguir las piezas que necesitas, cómo montar el robot e incluso te daremos un código Arduino sencillo para que camine. Nos lo pasamos muy bien haciendo nuestros once robots ICBob. Sigue leyendo si quieres aprender a hacer uno para ti.

Paso 1: Piezas y herramientas que necesitará

Piezas y herramientas que necesitará
Piezas y herramientas que necesitará
Piezas y herramientas que necesitará
Piezas y herramientas que necesitará

ICBob está diseñado para el siguiente conjunto de piezas. Si bien es posible realizar sustituciones, es posible que deba modificar el cuerpo para que funcionen. Nuestro proveedor favorito es Yourduino.com, pero para algunos artículos deberá ir a Amazon o Ebay.

Actualización de disponibilidad de productos: Yourduino ya no lleva el Micro Magician y dice que Dagu lo descontinuará. El sitio web de Dagu todavía los tiene disponibles https://www.dagurobot.com/goods.php?id=137 y si no están disponibles, el controlador S4A EDU es un reemplazo directo y funciona a 5 voltios.

Partes

  • 1x- Controlador MICRO Magician
  • 4x- Servo SG 90
  • 1x- Sensor ultrasónico HC-SR04
  • 1x- Powerbot power bank 2600mAh (el Powerbot de 3000mAh tiene un diámetro más grande y no encaja)
  • 1x- Hembra MICRO USB a DIP Tablero de anuncios de 5 pines
  • 1x- 20cm extremos hembra de cable plano de 40 pines
  • Resistencia 1x- 10k
  • 4x- 2-56 x 3/8 tornillos autorroscantes (pegamento caliente alternativo)

Impresiones 3D: los archivos stl están disponibles en Thingiverse: 1313344

  • 1x- cuerpo
  • 1x- concha
  • 2x- rodilla
  • 1x- pie izquierdo
  • 1x- pie derecho

Instrumentos

  • computadora con Arduino IDE
  • Arduino agregar en la biblioteca VarSpeedServo
  • Controlador MICRO Magician (necesario para algunos sistemas operativos)
  • Impresora 3D (o haga que le hagan las piezas)
  • Herramientas de limpieza de piezas 3D
  • Kit de soldadura (solo para los pines del adaptador USB)
  • Pistola de silicona
  • Destornillador Philips pequeño
  • Cargador usb

Este Instructable asume que tienes un conocimiento básico del uso de Arduino. Si es nuevo en Arduino, puede obtener más información en

Para el MICRO Magician, elija Board - Arduino Pro o Pro Mini (3.3V, 8MHz) w / ATmega328

Necesitará la biblioteca VarSpeedServo de Korman para usar nuestros bocetos. Puede obtener más información sobre su biblioteca aquí, pero use nuestra descarga a continuación, que es compatible con el IDE más nuevo. Descargue el archivo VarSpeedServo.zip a continuación y descomprímalo en su carpeta arduino / libraries.

Es posible que deba instalar el controlador MICRO Magician CP210x si su sistema no reconoce el controlador. Este sitio puede ayudar con la instalación del controlador

Paso 2: Comencemos a construir - Ensamble las piernas

Comencemos a construir: ensamble las piernas
Comencemos a construir: ensamble las piernas
Comencemos a construir: ensamble las piernas
Comencemos a construir: ensamble las piernas
Comencemos a construir: ensamble las piernas
Comencemos a construir: ensamble las piernas

Para este paso, necesitará 2 rodillas impresas en 3D y 4 paquetes de servo.

Empiece por limpiar las rodillas. Los 2 orificios de la bocina del servo deben adaptarse a las bocinas del servo de un solo lado. Los limpiamos con una broca del tamaño de una letra L (.290). Un orificio de pivote debe encajar en el pivote del pie. Los limpiamos con una broca de tamaño # 2 (.220).

Coloque las 4 bocinas del servo en las rodillas. Fije la bocina con uno de los tornillos más grandes que vienen con el paquete del servo. Pase el tornillo desde el lado de la rodilla y apriételo en uno de los pequeños orificios de la bocina del servo. Para el único tornillo, tendrá que apretar con el destornillador en ángulo, pero es factible. Puede recortar los puntos de los tornillos que sobresalen con unos alicates de corte lateral si lo desea.

Los 4 ejes de servo deben estar centrados antes de que se unan a las rodillas. Puede hacer esto manualmente moviendo suavemente el eje a través de su rotación para encontrar el punto medio. Una mejor manera es adjuntar un servo al pin 12. Descargue el archivo icbob_servo_center.zip a continuación. Descomprima en su directorio Arduino. Luego ejecute este boceto de Arduino para cada servo.

Comience ensamblando los servos de cadera (superiores) a las rodillas. Sin mover el eje, coloque el servo de cadera paralelo a la rodilla con los cables mirando hacia la otra bocina del servo (frontal). Asegure con un tornillo pequeño del paquete de servo. Repita para la otra rodilla.

Ahora para los servos de tobillo. RECUERDA que vas a tener tobillos derecho e izquierdo, por lo que las piernas serán imágenes especulares una de la otra. Tendrá que extender ligeramente la rodilla para montar el servo de tobillo de modo que oriente el servo como en la foto antes de apretarlo. Recuerde no girar el eje. Asegure con un tornillo pequeño. Repite con la otra rodilla para terminar con una pierna derecha e izquierda.

Paso 3: Construcción - Fije las piernas al cuerpo

Construcción: sujete las piernas al cuerpo
Construcción: sujete las piernas al cuerpo
Construcción: sujete las piernas al cuerpo
Construcción: sujete las piernas al cuerpo
Construcción: sujete las piernas al cuerpo
Construcción: sujete las piernas al cuerpo

Necesitará los conjuntos de 2 patas y la base impresa en 3D para este paso. También necesitará (4) tornillos autorroscantes 2-56x3 / 8 o pegamento caliente.

El ensamblaje de la pierna se conecta a la base por medio de los servos de cadera. Primero, pase los 2 cables del servo hacia arriba a través de la parte inferior de la base. Cuidado con las derechas y las izquierdas. Como muestra el dibujo, el cable del tobillo termina en el recorte de media luna, pero debe tener el cable del tobillo adentro antes de conectar el servo. Tienes que inclinar el servo para que el cable de la cadera (donde entra al servo) pase primero por el orificio rectangular (hacia el frente). Es un ajuste apretado, pero la parte trasera debe deslizarse hacia adentro. Ahora voltee la base y asegure el servo con 2 tornillos o, alternativamente, el pegamento caliente debería funcionar. Repite el proceso con la otra pierna.

Paso 4: Construcción - Coloque los pies

Construcción - Adjuntar los pies
Construcción - Adjuntar los pies
Construcción - Adjuntar los pies
Construcción - Adjuntar los pies

Para este paso, necesitará un pie izquierdo y un pie derecho para agregar a su ensamblaje. Están pegadas en caliente, así que enciende la pistola de pegamento.

Asegúrese de limpiar bien las ranuras de los pies. Pruebe suavemente el ajuste del servo al pie después de la limpieza. Asegúrese de que el orificio de pivote de la rodilla encaje en el pasador de pivote del pie. Es mejor usar un destornillador delgado entre el servo y el pie para hacer palanca si el pie está apretado. Después de obtener un buen ajuste de prueba, coloque una bola de pegamento caliente del tamaño de una moneda de diez centavos en el pie y luego presione el servo contra el pie. Evite que el pegamento se acerque al área de pivote. Repita para el otro lado para que su bot pueda pararse sobre sus propios dos pies.

Paso 5: cableado: servos y alimentación

Cableado: servos y alimentación
Cableado: servos y alimentación
Cableado: servos y alimentación
Cableado: servos y alimentación
Cableado: servos y alimentación
Cableado: servos y alimentación

En este paso, necesitará el controlador MICRO Magician, la placa adaptadora micro USB con clavijas de encabezado, el cable plano y su bot de pie. Estará soldando y pegando en caliente en este paso, así que tenga esas herramientas listas.

El banco de energía Powerbot viene con un cable USB a micro USB corto. Para cargar la batería, el micro USB se conecta a la ranura de carga de la batería y el USB va al cargador de pared. Reutilizará este cable para alimentar el ICBob. La salida de la batería es a través del USB, por lo que nos conectamos a través de la placa del adaptador micro USB para alimentar el bot.

Primero vamos a montar el adaptador. Consulte la foto para conocer los siguientes pasos. Solo usará los 2 pines externos (gnd y V +) para alimentar el bot. Deslice con cuidado las 2 clavijas exteriores en el cabezal de modo que el lado corto sobresalga aproximadamente 3/16 pulg. Con unos alicates doble las 2 clavijas largas aproximadamente 60 grados. Doble antes de soldar ya que las placas son frágiles. Inserte el cabezal como se muestra y suelde todos los pines en la parte posterior para mayor resistencia. Clip todos los pasadores no utilizados lo más cortos posible tanto por delante como por detrás. Antes de pegar el adaptador al cañón, conecte el cable micro USB para que quede suficiente espacio. Coloque una gran cantidad de pegamento caliente en la parte posterior del adaptador y luego colóquelo en la posición que se muestra en el cilindro. Sostenga hasta que se endurezca.

A continuación, conecte los 4 conectores servo al controlador. Nos gusta el MICRO Magician porque tiene conectores de 3 pines integrados para facilitar el cableado del servo. El cable de color más oscuro (¿marrón?) Va hacia el borde de la tabla. Los bocetos de Arduino incluidos utilizan los siguientes pines.

  • Cadera derecha (RH) - pin 9
  • Tobillo derecho (RA) - pin 10
  • Cadera izquierda (LH) - pin 11
  • Tobillo izquierdo (LA) - pin 12

Para la conexión de alimentación a la placa, retire un par de cables del cable plano. Utilizará más de este cable plano para el cableado de la sonda. Conecte un extremo del par al adaptador micro USB. El pin que está más cerca de la parte frontal del bot es tierra y el otro V +. El otro extremo se conecta al controlador cerca del interruptor. El cable V + se conecta al pin etiquetado como 'Battery IN' en la documentación. Conecte el cable de tierra al pin 'gnd' justo un poco por encima del pin 'Battery IN'.

¡IMPORTANTE! - Hay un puente 'V + select' justo encima del conjunto de pines D1. Este puente tiene que estar en el juego de pines INTERIOR o los servos no funcionarán.

Finalmente, limpie la ranura del controlador en la base para que el controlador se ajuste perfectamente. Puede conectar la batería y "encender" el controlador para asegurarse de que se enciende.

Paso 6: Programación - Código de calibración en el hogar

Algunas palabras sobre nuestras opciones de programación

Cuando construimos el prototipo para este proyecto, usamos el tutorial Cómo enseñarle a su BoB Biped para moverse en Let's Make Robots. El software Bob Poser era genial y nos divertimos jugando con él. El problema era que las más de 600 líneas de código en el boceto de navegación estaban muy por encima del nivel de conocimiento de los adolescentes. Para hacer de este proyecto una experiencia de aprendizaje para ellos, decidimos recopilar algunas ideas del código Poser y luego comenzar de nuevo con una página en blanco. Los adolescentes ya habían estado usando la biblioteca VarSpeedServo mientras aprendían sobre los servos en nuestros laboratorios Arduino. Decidimos ver si VarSpeedServo podía manejar las tareas de sincronización y velocidad de los servos para que pudiéramos concentrarnos en las posiciones. El código resultante funciona muy bien y el boceto walk_avoid_turn completo tiene menos de 100 líneas de código. Los únicos conceptos nuevos que los adolescentes necesitaban aprender eran las matrices bidimensionales y cómo acceder a esos datos con código. ¡Disfrutar!

Calibración en casa

Centraste los ejes del servo cuando los ensamblaste. Ahora verá lo cerca que estuvo y ajustará sus posiciones de inicio. Asegúrese de tener instalada la biblioteca VarSpeedServo del paso 1. Descargue el archivo icbob_home_calibration.zip a continuación y descomprímalo en su directorio Arduino. Abra el boceto en el IDE de Arduino. Encienda el MICRO Magician con la batería. Conecte la computadora a la placa y cargue el código. Es probable que las posiciones iniciales de los servos no sean perfectas. Busque la siguiente sección en el código. Continúe ajustando y cargando hasta que lo haga bien.

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

// Comience con los miembros de la matriz de 4 hm configurados a 90 grados. luego ajuste // estos valores de modo que las rodillas queden rectas hacia adelante y los pies planos int hm [4] = {90, 90, 90, 90}; // matriz para mantener la posición inicial para cada servo RH, RA, LH, LA // …………………………………………………….

Si alguno de sus números es menor que 50 o mayor que 130, debe retroceder y desmontar las patas y acercar los ejes al centro.

Una vez que tenga una buena posición inicial, escriba los números. Necesitará estos números para el resto de los bocetos.

Paso 7: Programación - Mover el código del generador

Programación - Mover el código del generador
Programación - Mover el código del generador

Ahora para que tu bot se mueva. Descargue el archivo icbob_move_generator.zip a continuación y descomprímalo en su directorio Arduino. Abra el boceto en el IDE de Arduino. Busque la siguiente sección de código. Coloque las posiciones de inicio que registró para su bot en el boceto.

// establece los miembros de la matriz hm en las posiciones iniciales de tu robot

// se pueden encontrar usando el esquema icbob_home_calibration const int hm [4] = {95, 95, 85, 90}; // matriz para mantener la posición inicial para cada servo RH, RA, LH, LA

La siguiente sección de código es donde se ingresan las secuencias de movimiento. Cada línea tiene posiciones para los 4 servos (RH, RA, LH, LA) en relación con la posición inicial.

// datos de matriz mv. Cada línea es un 'cuadro' o posición establecida para los 4 servos

// Varias líneas crean un grupo de movimientos que se pueden enlazar para // crear caminar, girar, bailar u otros movimientos const int mvct = 6; // Haga que este número sea igual al número de líneas en la matriz const int mv [mvct] [4] = {{0, -40, 0, -20}, // Estos números precargados deberían dar un paseo hacia adelante {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0},};

Este es el código que convierte los datos de la matriz mv en movimientos lentos de servo

void loop () // el bucle se repite para siempre

{// Mueve la secuencia para (int x = 0; x <mvct; x ++) {// recorre el número de RH.slowmove (hm [0] + mv [x] [0], svsp); // líneas 'marcos' en la matriz RA.slowmove (hm [1] + mv [x] [1], svsp); LH.movimiento lento (hm [2] + mv [x] [2], svsp); LA.slowmove (hm [3] + mv [x] [3], svsp); retardo (retardo de fotogramas); }}

Sube al bot. El bot irá a la posición de inicio durante 2 segundos y luego comenzará un ciclo de caminata hacia adelante. Funciona mejor si la mesa no es demasiado resbaladiza.

Una vez que te canses de verlo caminar, puedes probar tus propios movimientos. Utilice 'guardar como' para cambiar el nombre del boceto. Luego juegue con los números y vea lo que puede hacer. Mantenga los números entre +50 y -50 o puede tensar los servos. Recuerde que si suma o resta líneas, debe cambiar el valor de mvct para reflejar el cambio. ¡Divertirse!

Paso 8: Cableado - Sensor de sonda HC-SR04 (ojos)

Cableado: sensor de sonda HC-SR04 (ojos)
Cableado: sensor de sonda HC-SR04 (ojos)
Cableado: sensor de sonda HC-SR04 (ojos)
Cableado: sensor de sonda HC-SR04 (ojos)

Para este paso, necesitará la impresión 3D icbob_shell, el sensor ultrasónico HC-SR04, el cable plano hembra y una resistencia de 10k ohmios. Esto debería terminar con las partes de nuestra lista. ¡Sí!

Primero limpie los orificios del sensor en la carcasa para un ajuste medio ajustado. No ejerza demasiada presión sobre el sensor cuando pruebe el ajuste. Retirar de la carcasa para el cableado.

A continuación, retire 4 hebras del cable plano. Enchufe los 4 cables en los pines del sensor HC-SR04.

El MICRO Magician funciona internamente con 3.3 voltios y los pines solo pueden recibir una señal de 3.3 voltios. El problema es que el HC-SR04 funciona a 5 voltios. Puede usar una entrada de 3.3 voltios como señal de 'disparo', pero cuando envía una señal de 'eco' es de 5 voltios y dañará la entrada del controlador si se conecta directamente. Necesitamos colocar una resistencia limitadora de corriente de 10k ohmios en el cable de 'eco' para proteger la entrada.

ACTUALIZACIÓN: Aunque no hemos tenido ningún problema solo con la resistencia de 10K en línea, se señaló en los comentarios que las mejores prácticas indican que aquí se debe usar un circuito divisor de voltaje. Además de la resistencia de 10K, se debe colocar una resistencia de 15K entre 'eco' y 'tierra'.

Corta los cables de la resistencia a 0,5 pulgadas. La resistencia entra en el cable de 'eco' de su cable plano. Ponemos una gota de superpegamento en la conexión para que no se mueva.

El boceto usa el pin 13 para disparador y el pin 3 para eco. Utilice el grupo del pin 13 en el controlador para el 'gnd', 'vcc', 'trig' en ese orden trabajando desde el borde hacia el centro. Tendrá que cruzar algunos cables aquí para hacerlo bien. El cable de 'eco' con la resistencia se conecta al enchufe hembra del pin 3.

Si desea verificar el sensor antes de pasar al siguiente paso, puede usar el primer boceto en esta página https://arduino-info.wikispaces.com/UltraSonicDistance para probarlo. Necesitará la batería conectada. Puede ver la lectura de distancia en el monitor en serie. Asegúrese de establecer el 'trigger_pin' en 13 y el 'echo_pin' en 3 en el boceto.

La mejor manera de instalar el sensor en la carcasa es con las clavijas apuntando hacia la parte superior y los cables doblados y enrutados entre los 'ojos' del sensor y la carcasa.

Paso 9: Programación - Código Walk_Avoid_Turn

Poniendolo todo junto. Todas las piezas están ensambladas. Estamos listos para cargar el código completo, poner el shell y ver cómo hace su trabajo.

Conoces la rutina. Descargue el archivo icbob_walk_avoid_turn.zip a continuación y descomprímalo en su directorio Arduino. Abra el boceto en el IDE de Arduino. Busque la siguiente sección de código. Coloque las posiciones de inicio que registró para su bot en el boceto.

// establece los miembros de la matriz hm en las posiciones iniciales de tu robot

// se pueden encontrar usando el esquema icbob_home_calibration const int hm [4] = {95, 95, 85, 90}; // matriz para mantener la posición inicial para cada servo RH, RA, LH, LA

Este boceto agrega una segunda matriz de movimiento y un segundo conjunto de código de movimiento lento para el movimiento de 'giro'.

// reenviar datos de la matriz

const int fwdmvct = 6; // Haga que este número sea igual al número de líneas en la matriz const int fwdmv [fwdmvct] [4] = {{0, -40, 0, -20}, // caminar hacia adelante mover cuadros {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0},}; // convierte los datos de la matriz const int trnmvct = 5; // Haga que este número sea igual al número de líneas en la matriz const int trnmv [trnmvct] [4] = {{-40, 0, -20, 0}, // turn move frames {-40, 30, -20, 30}, {0, 30, 0, 30}, {30, 0, 30, 0}, {0, 0, 0, 0},};

Agregamos el código de detección de obstáculos de la sonda, así como una declaración "si" para decidir si vamos en línea recta o girando.

Montaje final y puesta en marcha

Deja la batería desenchufada y sube el boceto. Desconecte el cable de programación. Asegúrese de que el interruptor de encendido del controlador esté en la posición de "encendido" hacia abajo. Deslice con cuidado la carcasa sobre la base con el cable de alimentación USB pegado a través del orificio superior. Pon la batería. Conéctelo. Su ICBob debe comenzar a moverse y girar para evitar obstáculos a menos de 7 pulgadas.

Paso 10: Conclusión

Esperamos que se divierta tanto construyendo su ICBob como nosotros construyendo el nuestro. Háganos saber si tiene alguna pregunta o comentario. Si construye uno, avísenos aquí o en Thingiverse.

Recomendado: