Tabla de contenido:

Tinku: un robot personal: 9 pasos (con imágenes)
Tinku: un robot personal: 9 pasos (con imágenes)

Video: Tinku: un robot personal: 9 pasos (con imágenes)

Video: Tinku: un robot personal: 9 pasos (con imágenes)
Video: SEGMENTO APRENDIENDO PASO A PASO - El tinkus 2024, Mes de julio
Anonim
Tinku: un robot personal
Tinku: un robot personal

Por sw4p Siga más por el autor:

Superficie intangible
Superficie intangible
Superficie intangible
Superficie intangible
Instructable eliminado
Instructable eliminado
Instructable eliminado
Instructable eliminado
Piano de cartón
Piano de cartón
Piano de cartón
Piano de cartón

Hola, Tinku no es solo un robot; es un robot personal. Es un paquete todo en uno. Puede ver (visión por computadora), escuchar (procesamiento del habla), hablar y reaccionar ante la situación. Puede expresar emociones y la lista de cosas que puede hacer continúa. Le di un nombre; Yo lo llamo Tinku.

Una breve introducción de lo que puede hacer es

  1. Visión por computador

    • Detección de rostro
    • Seguimiento de la cara
    • Toma fotos y graba videos
    • Reconocer marcadores ArUco
  2. Procesamiento de voz

    • Procesamiento de voz sin conexión (detección de palabras clave)
    • Puede entender lo que está diciendo detectando Hotwords.
  3. Expresar emociones

    • Mueve su cabeza para comunicaciones no verbales y para expresar sentimientos.
    • Muestra imágenes y gifs en su pantalla para respaldar el sentimiento actual.
  4. Moverse

    Puede correr usando sus ruedas e identificar lugares usando marcadores ArUco

  5. Evitación de obstáculos

    Tiene sensores de sonar por lo que siempre está consciente de su entorno y puede evitar obstáculos

Puede hacer muchas más cosas. También puede implementar las nuevas funcionalidades que desee.

Basta de hablar, hagamos.

EDITAR: El cuerpo de Tinku comenzó a agrietarse, así que tuve que rediseñarlo por completo. Aquí están las nuevas imágenes, completamente frescas y mejores de Tinku. Lo siento, no tengo las imágenes de los pasos para rediseñar Tinku.

Paso 1: Cosas que necesitará

Cosas que necesitará
Cosas que necesitará
Cosas que necesitará
Cosas que necesitará
Cosas que necesitará
Cosas que necesitará
Cosas que necesitará
Cosas que necesitará

Cuerpo del robot

  1. Hoja acrílica
  2. Tablero de MDF
  3. Abrazaderas en L pequeñas
  4. Paquete de tuerca y tornillo

Servos, motores y ruedas

  1. Dynamixel AX-12A (3 piezas)
  2. Juego de tuercas y pernos bioloides
  3. Motores (2 piezas)
  4. Pistas (2 paquetes)
  5. Ruedas de seguimiento (4 piezas)
  6. Abrazaderas en L para motores (2 piezas)
  7. Abrazadera en L para eje de rueda ciega (2 piezas)
  8. Eje de rueda ciega (2 piezas)
  9. Marco bioloide F8
  10. Marco Bioloid F3 (2 piezas)
  11. Marco bioloide F2
  12. Marco bioloide F10

Electrónica

  1. Arduino
  2. Raspberry Pi o Udoo Quad
  3. Controlador de motor
  4. Logitech webcam-c270 (tiene micrófono incorporado)
  5. Sensores de distancia ultrasónicos (6 piezas)
  6. Batería lipo (3300 Mah 3S)
  7. Regulador de voltaje elevador (DC-DC)
  8. Regulador de voltaje reductor (DC-DC)
  9. Pantalla táctil (7 pulgadas)
  10. Concentrador USB (solo si está utilizando Udoo Quad porque solo tiene 2 puertos USB)
  11. IC inversor hexagonal 7404
  12. 74HC244 IC
  13. Base IC de 14 pines
  14. Base IC de 20 pines

Conectores y cables

  1. Conector de batería macho en forma de T
  2. Cable HDMI flexible (solo si su pantalla tiene conector HDMI)
  3. Cable micro USB
  4. Cable de relimate hembra-hembra de tres pines (6 piezas)
  5. Enchufe de alimentación macho DC barril jack (2 piezas)
  6. Servo conectores Dynamixel (3 piezas)
  7. Cable USB A a B (solo si no viene con Arduino)
  8. Cables de puente
  9. Alambres para protoboard
  10. Tiras de burro

Para fabricar PCB

  1. Laminado revestido de cobre
  2. Grabador de PCB (Fecl3)
  3. PCB perforado
  4. Broca de 1 mm

Diverso

  1. Pegamento
  2. Tubos del disipador de calor
  3. Separadores

Nota: Aquí estoy usando la placa Udoo porque tiene mejor velocidad de cálculo que mi raspberry pi 2. Estoy usando un Arduino externo en lugar del Arduino integrado de la placa Udoo porque todos mis sensores y módulos son compatibles con 5v, y el Arduino en La placa Udoo es compatible con 3v.

Paso 2: cuerpo del robot

Cuerpo del Robot
Cuerpo del Robot
Cuerpo del Robot
Cuerpo del Robot
Cuerpo del Robot
Cuerpo del Robot
Cuerpo del Robot
Cuerpo del Robot

Para preparar el cuerpo del robot, utilicé la lámina acrílica y la corté en el tamaño especificado para hacer una estructura en forma de caja. Mencioné la dimensión de cada lado del cuerpo en la imagen.

  1. Corta la lámina acrílica según el tamaño especificado.
  2. Taladre agujeros en lugares específicos para montar los motores, sensores, separadores y unir cada placa.
  3. Taladre un orificio más grande en la placa base y la placa superior para pasar los cables.
  4. Haga una pequeña muesca en la parte inferior del panel frontal y posterior para que los cables que provienen del sensor ultrasónico puedan pasar.

Es hora de preparar y montar los motores y las orugas.

  1. Suelde cables adicionales a las clavijas del motor para que el cable pueda llegar a los controladores del motor.
  2. Monte las abrazaderas del motor y las abrazaderas del eje de la rueda ficticia en la placa base del robot.
  3. Conecte los motores y el eje de la rueda ficticia a las abrazaderas y luego conecte las ruedas.
  4. Ensambla las pistas y haz un bucle.
  5. Correa de pista en las ruedas. Tenga en cuenta que la pista no se afloja y tiene suficiente tensión.

Ahora una los paneles frontal, posterior y lateral en el panel de la base usando pequeñas abrazaderas en L. No monte el panel superior y un panel lateral para que tengamos suficiente espacio para montar la electrónica en el robot.

Paso 3: cabeza y cara del robot

Image
Image
Cabeza y rostro del robot
Cabeza y rostro del robot
Cabeza y Rostro del Robot
Cabeza y Rostro del Robot
Cabeza y rostro del robot
Cabeza y rostro del robot

Ya le dimos cuerpo y ruedas a nuestro robot. Ahora es el momento de darle cabeza, cuello y rostro.

Cuello:

La parte más complicada de la cabeza del robot es el cuello. Así que lo prepararemos primero. Los servos Dynamixel son un poco confusos para trabajar, pero son confiables y duraderos. Hay toneladas de abrazaderas de montaje disponibles para que pueda conectarlas de cualquier manera.

Mire este video para obtener una mejor explicación sobre cómo conectar los servos dynamixel juntos.

  1. Inserte tuercas en los servos dynamixel para montarlos con marcos.
  2. Coloque el marco de bioloide F8 en el centro del panel superior y marque los orificios de perforación y perfore.
  3. Conecte el marco bioloide F8 a uno de los servos y luego monte el marco bioloide F8 en el panel superior.
  4. Une cada servo usando diferentes marcos y prepara el cuello.
  5. Conecte los servos entre sí utilizando conectores de servo de tres pines dynamixel.

Ojo y oído:

Estoy usando la cámara web Logitech-c270 como ojo para mi robot. Es una buena cámara que puede tomar fotos y grabar videos en 720p. También tiene un micrófono incorporado, por lo que también se convierte en el oído de mi robot. Después de una larga lluvia de ideas, descubrí que el mejor lugar para montar la cámara es en la parte superior de la pantalla. Pero para montar la cámara, necesito un soporte de cámara. Así que hagamos uno.

  1. Retire las piezas metálicas de la cámara web que se proporcionan para darle algo de peso.
  2. Corta dos piezas del tablero MDF, una cuadrada y otra triangular con las dimensiones que se muestran en la imagen.
  3. Taladre un agujero en la base de la cámara web y en la pieza cuadrada de MDF. Haga una muesca en la pieza cuadrada para insertar el cable de la cámara web en ella.
  4. Pega las piezas de MDF juntas para formar una T. El soporte de la cámara está listo.
  5. Antes de unir el soporte de la cámara y la cámara, prepare primero el cabezal.

Cabeza:

La cabeza del robot está conectada a los servos. Debe ser lo más ligero posible para que el cabezal no aplique mucha carga a los servos. Por lo tanto, utilicé el tablero de MDF en lugar de la lámina acrílica.

  1. Corta un trozo de tablero MDF de dimensiones (18 cm x 13 cm) y haz agujeros para montar la pantalla.
  2. Coloque el marco bioloide F10 en el centro del tablero de MDF y marque los orificios de perforación y perfore.
  3. Coloque el marco bioloide F10 y el marco bioloide F2 a cada lado del tablero de MDF y únalos con tuerca y tornillo.
  4. Ahora pegue el soporte de la cámara en la parte posterior de la placa.
  5. Une el marco bioloide F2 con el final de la configuración del servo.
  6. Monte la pantalla en la placa MDF utilizando separadores.
  7. Coloque la cámara web en el soporte de la cámara.

Ahora nuestra cabeza y la cara del robot están completas.

Paso 4: PCB personalizados

PCB personalizados
PCB personalizados
PCB personalizados
PCB personalizados
PCB personalizados
PCB personalizados

Ahora es el momento de disolver algo de fecl3 y grabar algunos PCB.

¿Por qué hice PCB personalizados?

  • No tengo servocontrolador dynamixel, así que necesito hacer uno.
  • Tengo que conectar muchos sensores al Arduino de una manera más limpia, así que hice un escudo para Arduino.

Hagamos.

  1. Descargue los archivos de PCB e imprímalos en el laminado revestido de cobre.
  2. Grabe el laminado revestido de cobre con fecl3
  3. Taladre orificios de 1 mm para montar los circuitos integrados y la tira antirrobo.
  4. Para hacer que los cabezales de apilamiento del escudo se deslicen hacia abajo por los tapones de plástico de la tira de burg hacia el final de los pasadores.
  5. Suelde las bases de CI y la tira de burg en los PCB.
  6. Proporcioné los esquemas como referencia.

Nota - Utilice el software Express PCB para abrir el.pcb y el software Express SCH para abrir el archivo.sch.

Paso 5: fuente de alimentación

Fuente de alimentación
Fuente de alimentación
Fuente de alimentación
Fuente de alimentación

Es muy necesario mantener una potencia constante en los diferentes módulos electrónicos y motores del robot. Si la potencia cae por debajo del valor límite en cualquier módulo, eso causará un error y es muy difícil identificar la razón detrás de esto.

La principal fuente de energía de este robot es una batería Lipo 3S de 2200 mAh. Esta batería tiene tres celdas y la salida de voltaje es de 11,1 voltios. La placa Udoo necesita un suministro de 12v y la placa Arduino necesita un suministro de 5v. Así que elijo usar dos reguladores de voltaje, uno es elevador y el otro es reductor. Uno mantendrá el suministro de corriente a todos los módulos de 12v y el otro mantendrá el suministro de corriente a todos los módulos de 5v.

La imagen contiene esquemas dibujados a mano.

  • Suelde los reguladores de voltaje en las placas de circuito impreso perforadas.
  • Suelde el conector macho de la batería en forma de T a la entrada de ambos reguladores de voltaje.
  • Conecte la salida 'Tierra' de ambos reguladores.
  • Conecte las tomas de barril de CC a cada una de las salidas del regulador. Mantenga la longitud de los cables lo suficiente para que pueda llegar a la placa Udoo / Raspberry Pi y Arduino.
  • Suelde la tira de burg a cada una de las salidas del regulador como salida de potencia adicional en caso de que la necesitemos en la modificación futura.
  • Antes de conectar la fuente de alimentación a cualquiera de los módulos electrónicos, calibre la salida de cada regulador usando el potenciómetro de ajuste provisto a exactamente 12v y 5v.

Paso 6: Montaje final

Montaje final
Montaje final
Montaje final
Montaje final
Montaje final
Montaje final

Ahora es el momento. Después de tantos pasos, es hora de ensamblar cada módulo. ¿Emocionado? Bueno, yo soy.

  • Corta una pieza rectangular del tablero de MDF con una dimensión (30 cm x 25 cm). Esta placa es la base para el montaje de módulos electrónicos. No quiero perforar muchos agujeros en la placa acrílica base, por lo que estoy usando tablero de MDF. También ayuda a ocultar los cables debajo de él para que nuestro robot se vea limpio y ordenado.
  • Coloque los módulos en la placa MDF, marque los orificios de montaje y perfore. Haga algunos agujeros adicionales para pasar los cables debajo de la placa de MDF.
  • Asigné números a algunos agujeros, por lo que me resulta fácil referirlos y que usted comprenda los esquemas de cableado.

Fuente de alimentación:

  • Monte el módulo de fuente de alimentación en la placa y pase el conector de 12v y 5v a través del orificio número 1 y extraiga el conector de 12v a través del orificio número 2 y extraiga el conector de 5v a través del orificio número 3.
  • Dejé la batería suelta por ahora porque a veces necesito quitarla y cargarla.

Controlador de motor:

  • Saque los cables conectados a los motores a través del orificio número 4 y conéctelos a la placa del controlador del motor.
  • Los motores necesitan la fuente de alimentación de 12v para funcionar correctamente, así que conecte el pin de 12v y GND del controlador con la salida del regulador de voltaje de 12v.
  • Conecte los pines del controlador del motor a Arduino de acuerdo con el código.

Arduino:

  • Antes de montar el Arduino, pase los cables de los tres sensores ultrasónicos a través del panel posterior y pase los cables de los tres sensores ultrasónicos restantes a través del panel frontal y sáquelos por el orificio número 3.
  • Monte el Arduino y coloque el protector del sensor en él.
  • Le di números a todos los cables del sensor ultrasónico para que sea fácil de depurar en caso de algún error. Conecte los pines del sensor al blindaje comenzando del número 1 al 6 consecutivamente.
  • Conecte el conector de alimentación de 5v al Arduino.

Servocontrolador Dynamixel:

  • Monte el servocontrolador dynamixel en la placa.
  • Conecte el pin de 12v y GND del servocontrolador con la salida del regulador de voltaje de 12v.
  • Conecte el pin 5v y GND del servocontrolador con la salida del regulador de voltaje de 5v.
  • Conecte los pines del servocontrolador y Arduino de acuerdo con el código.
  • Deje el pin de salida del servo desconectado por ahora. Conéctelo después de montar el panel superior del robot.

Udoo / Raspberry Pi:

Nota: Antes de seguir los pasos a continuación, asegúrese de que ya ha instalado el sistema operativo en la tarjeta MicroSD y lo ha colocado en la placa Udoo / Raspberry Pi. De lo contrario, siga los enlaces para instalar Raspbian en Raspberry Pi o Udoobuntu en la placa Udoo.

  • Monte el Udoo / Raspberry Pi en la placa y conecte el conector de alimentación.
  • Si está utilizando el Udoo, conecte el concentrador USB a uno de sus conectores USB.
  • Conecte el cable HDMI y el cable micro USB. Estos pines se utilizan para suministrar datos y energía a la pantalla.
  • Conecte el Arduino a Udoo / Raspberry Pi usando un cable USB A a B.

Panel superior:

  • Fije el panel superior a los paneles lateral, frontal y posterior del robot con abrazaderas en L.
  • Conecte el cable HDMI, el cable micro USB a la pantalla y la cámara web a la placa Udoo / Raspberry Pi.
  • Conecte el servo conector de tres pines que viene del servo dynamixel base con el servocontrolador. Tenga cuidado de qué pin es DATA, GND y + 12v. Consulte las imágenes en la sección "Cabeza y cara del robot" para una mejor referencia. Si conecta los cables en orden opuesto, puede dañar los servos.

Sensores de distancia ultrasónicos:

La última pieza del rompecabezas. Después de esto, nuestra asamblea casi termina.

  • Corte seis piezas rectangulares de tablero MDF / lámina acrílica con una dimensión (6 cm x 5 cm).
  • Taladre agujeros en ellos en los lugares requeridos.
  • Conecte los sensores ultrasónicos a cada una de las placas y conecte todas las placas con el panel base del robot.
  • Conecte los sensores con conectores.

Finalmente, está hecho. Conecte la batería y arranque el Udoo / Raspberry Pi

Paso 7: software

El hardware está completo, pero sin software, este robot es solo una caja. La lista del software que necesitamos es

  • TightVNC
  • Pitón
  • OpenCV
  • Muñeco de nieve
  • Algunos paquetes de Python

    • Pyautogui
    • numpy
    • pyserial
    • pyaudio

TightVNC:

TightVNC es un paquete de software de control remoto gratuito. Con TightVNC, puede ver el escritorio de una máquina remota y controlarlo con su mouse y teclado locales, tal como lo haría sentado en la parte frontal de esa computadora.

Si tiene un teclado y un mouse adicionales, eso es bueno. Si no es así, instale TightVNC en su computadora portátil y siga estos pasos.

Por primera vez, conecte el teclado y el mouse al Udoo / Raspberry Pi. Conéctese a una red wifi. Abra Terminal y escriba

$ ifconfig

  • Anote la dirección IP del robot.
  • Abra TightVNC en su computadora portátil. Ingrese la dirección IP en el campo requerido y presione Enter. ¡Voila! Estás conectado ahora. Utilice el panel táctil y el teclado de su computadora portátil para acceder al robot.

Pitón:

Python es un lenguaje muy popular y versátil, por eso lo estoy usando como el lenguaje de programación principal para este robot.

Aquí estoy usando Python 2.7, pero si lo desea, también puede usar Python 3. Afortunadamente, Python viene preinstalado tanto en Udoobuntu como en Raspbian OS. Entonces no necesitamos instalarlo.

OpenCV:

OpenCV es una biblioteca de código abierto dirigida principalmente a la visión por computadora en tiempo real. OpenCV con Python es muy fácil de usar. La instalación de OpenCV es un poco engorrosa, pero hay muchas guías disponibles muy fáciles de seguir. Mi favorito personal es este. Esta guía es para Raspberry Pi, pero también puede usarla para la placa Udoo.

Muñeco de nieve:

Snowboy es una biblioteca escrita por los chicos de Kitt.ai, principalmente dirigida al procesamiento de voz fuera de línea / detección de palabras clave. Es muy fácil de usar. Siga este enlace para instalar snowboy en la Raspberry Pi. Si está utilizando la placa Udoo, vaya a este proyecto, escrito por mí, instale snowboy en Udoo.

Paquetes de Python:

Siga estas guías fáciles de usar para instalar algunos paquetes de Python.

  1. Pyautogui - Pyautogui es un paquete para simular las pulsaciones de un teclado o del ratón.
  2. Numpy: escriba "pip install numpy" en el shell de Linux y presione enter. Es así de simple.
  3. Pyserial: Pyserial es un paquete destinado a la comunicación en serie a través de Python. Lo usaremos para comunicarnos con el Arduino.

Paso 8: Códigos

La parte de hardware está completa. La parte del software está completa. Ahora es el momento de darle un alma a este robot.

Codifiquemos.

El código para este robot es algo complicado y actualmente le estoy agregando más funcionalidades. Por lo tanto, he alojado los códigos en mi repositorio de Github. Puede verificarlo y clonar / descargar códigos desde allí.

Ahora no es solo un robot; ahora es Tinku.

Paso 9: demostración

Image
Image

Manifestación. yeeeeee !!

Estas son algunas de las demostraciones básicas. Hay otros mucho más interesantes por venir.

Estén atentos para más actualizaciones y si tiene alguna duda, no dude en comentar.

Gracias por leer mi proyecto. Usted es maravilloso.

Si te gusta este proyecto, vota en el concurso de Microcontroladores y Robótica

Hacer feliz;-)

Recomendado: