![Robot Nao que imita movimientos con Kinect: 7 pasos Robot Nao que imita movimientos con Kinect: 7 pasos](https://i.howwhatproduce.com/images/003/image-6965-45-j.webp)
Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-23 14:40
![Robot Nao que imita movimientos con Kinect Robot Nao que imita movimientos con Kinect](https://i.howwhatproduce.com/images/003/image-6965-46-j.webp)
En este instructivo, te explicaré cómo permitimos que un robot Nao imite nuestros movimientos usando un sensor kinect. El objetivo real del proyecto es un propósito educativo: un maestro tiene la capacidad de grabar ciertos conjuntos de movimientos (por ejemplo, un baile) y puede usar estas grabaciones para permitir que los niños en el aula imiten al robot. Al pasar por todo este instructable paso a paso, debería poder recrear completamente este proyecto.
Este es un proyecto relacionado con la escuela (NMCT @ Howest, Kortrijk).
Paso 1: Conocimientos básicos
Para recrear este proyecto debes poseer algunos conocimientos básicos:
- Conocimientos básicos de Python
- Conocimientos básicos de C # (WPF)
- Conocimientos básicos de trigonometría.
- Conocimiento sobre cómo configurar MQTT en una Raspberry Pi
Paso 2: Adquirir los materiales necesarios
Materiales necesarios para este proyecto:
- Frambuesa Pi
- Sensor Kinect v1.8 (Xbox 360)
- Robot nao o robot virutal (Choregraph)
Paso 3: cómo funciona
![Image Image](https://i.howwhatproduce.com/images/003/image-6965-48-j.webp)
![](https://i.ytimg.com/vi/sq-0tfwSEx4/hqdefault.jpg)
![Cómo funciona Cómo funciona](https://i.howwhatproduce.com/images/003/image-6965-49-j.webp)
Un sensor kinect está conectado a una computadora que ejecuta la aplicación WPF. La aplicación WPF envía datos a la aplicación Python (robot) mediante MQTT. Los archivos locales se guardan si el usuario así lo desea.
Explicación detallada:
Antes de comenzar a grabar, el usuario debe ingresar la dirección IP del corredor MQTT. Además de eso, también necesitamos el tema sobre el que queremos publicar los datos. Después de presionar inicio, la aplicación verificará si se pudo establecer una conexión con el corredor y nos dará su opinión. No es posible verificar si existe un tema, por lo que usted es totalmente responsable de este. Cuando ambas entradas están bien, la aplicación comenzará a enviar datos (coordenadas x, y & z de cada articulación) desde el esqueleto que se está rastreando hasta el tema en el corredor MQTT.
Debido a que el robot está conectado con el mismo agente MQTT y suscrito al mismo tema (esto también debe ingresarse en la aplicación Python), la aplicación Python ahora recibirá los datos de la aplicación WPF. Usando trigonometría y algoritmos escritos por nosotros mismos, convertimos las coordenadas a ángulos y radianes, que usamos para rotar los motores dentro del robot en tiempo real.
Cuando el usuario termina de grabar, presiona el botón de parada. Ahora el usuario recibe una ventana emergente que le pregunta si quiere guardar la grabación. Cuando el usuario pulsa cancelar, todo se restablece (se pierden los datos) y se puede iniciar una nueva grabación. Si el usuario desea guardar la grabación, debe ingresar un título y presionar 'guardar'. Al presionar "guardar", todos los datos adquiridos se escriben en un archivo local utilizando la entrada del título como nombre de archivo. El archivo también se agrega a la vista de lista en el lado derecho de la pantalla. De esta manera, después de hacer doble clic en la nueva entrada en la vista de lista, el archivo se lee y se envía al corredor de MQTT. En consecuencia, el robot reproducirá la grabación.
Paso 4: Configuración del agente MQTT
![Configuración del agente MQTT Configuración del agente MQTT](https://i.howwhatproduce.com/images/003/image-6965-50-j.webp)
Para la comunicación entre el kinect (proyecto WPF) y el robot (proyecto Python) usamos MQTT. MQTT consta de un intermediario (una computadora Linux en la que se ejecuta el software mqtt (por ejemplo, Mosquitto)) y un tema al que los clientes pueden suscribirse (reciben un mensaje del tema) y publicar (publican un mensaje sobre el tema).
Para configurar el corredor MQTT, simplemente descargue esta imagen de jessie completa. Esta es una instalación limpia para su Raspberry Pi con un agente MQTT. El tema es "/ Sandro".
Paso 5: Instalación de Kinect SDK V1.8
Para que kinect funcione en su computadora, debe instalar Microsoft Kinect SDK.
Puedes descargarlo aquí:
www.microsoft.com/en-us/download/details.a…
Paso 6: Instalar Python V2.7
El robot funciona con el marco NaoQi, este marco solo está disponible para python 2.7 (NO 3.x), así que verifique qué versión de python tiene instalada.
Puede descargar Python 2.7 aquí:
www.python.org/downloads/release/python-27…
Paso 7: codificación
![Codificación Codificación](https://i.howwhatproduce.com/images/003/image-6965-51-j.webp)
![Codificación Codificación](https://i.howwhatproduce.com/images/003/image-6965-52-j.webp)
![Codificación Codificación](https://i.howwhatproduce.com/images/003/image-6965-53-j.webp)
Github:
Notas:
- Codificación con kinect: primero busca el kinect conectado. Después de guardar esto dentro de una propiedad, habilitamos color y skeletonstream en el kinect. Colorstream es el video en vivo, mientras que skeletonstream significa que se mostrará un esqueleto de la persona frente a la cámara. Colorstream no es realmente necesario para que este proyecto funcione, simplemente lo habilitamos porque el mapeo de bits del skeletonstream al colorstream se ve elegante.
- En realidad, es realmente el skeletonstream el que hace el trabajo. Habilitar skeletonstream significa que se está rastreando el esqueleto de la persona. De este esqueleto recibes todo tipo de información, por ejemplo. orientaciones óseas, información articular,… La clave de nuestro proyecto fue la información articular. Usando las coordenadas x-y & z de cada una de las articulaciones del esqueleto rastreado, sabíamos que podíamos hacer que el robot se moviera. Entonces, cada.8 segundos (usando un temporizador) publicamos las coordenadas x, y & z de cada una de las articulaciones al corredor mqtt.
- Dado que el proyecto python tiene una suscripción en el corredor mqtt, ahora podemos acceder a los datos dentro de este proyecto. Dentro de cada articulación del robot hay dos motores. Estos motores no pueden dirigirse simplemente usando las coordenadas x, y & z directamente. Entonces, usando trigonometría y algo de sentido común, convertimos las coordenadas x, y y z de las articulaciones en ángulos que no se pueden asimilar a los robots.
Básicamente, cada 0,8 segundos, el proyecto WPF publica las coordenadas x, y y z de cada una de las articulaciones. En consecuencia, dentro del proyecto Python estas coordenadas se convierten en ángulos, que luego se envían a los motores correspondientes del robot.
Recomendado:
Brazo robótico Moslty impreso en 3D que imita el controlador de marionetas: 11 pasos (con imágenes)
![Brazo robótico Moslty impreso en 3D que imita el controlador de marionetas: 11 pasos (con imágenes) Brazo robótico Moslty impreso en 3D que imita el controlador de marionetas: 11 pasos (con imágenes)](https://i.howwhatproduce.com/images/001/image-146-35-j.webp)
Brazo robótico impreso en 3D de Moslty que imita el controlador de marionetas: Soy un estudiante de ingeniería mecánica de la India y este es mi proyecto de licenciatura. pinza. El brazo robótico se controla con
Conversión de pasos en movimientos de juego: 4 pasos
![Conversión de pasos en movimientos de juego: 4 pasos Conversión de pasos en movimientos de juego: 4 pasos](https://i.howwhatproduce.com/images/008/image-22008-j.webp)
Conversión de pasos en movimientos de juego: Introducción Este dispositivo convierte el movimiento de un paso a paso (máquina de pasos) hecho en casa en movimiento de juego. Funcionará para cualquier juego que reciba (" w ") como movimiento hacia adelante. También puede funcionar para juegos de realidad virtual si aceptan la entrada del teclado. Probablemente ganó
Robot Nao copiando movimientos a través de la cámara Xbox Kinect: 4 pasos
![Robot Nao copiando movimientos a través de la cámara Xbox Kinect: 4 pasos Robot Nao copiando movimientos a través de la cámara Xbox Kinect: 4 pasos](https://i.howwhatproduce.com/images/003/image-7356-10-j.webp)
Robot Nao copiando movimientos a través de la cámara Kinect de Xbox: Como proyecto en nuestra clase de Informática en la escuela secundaria (Porter Gaud), yo (Legare Walpole) y otro estudiante (Martin Lautenschlager) nos propusimos conseguir un robot humanoide Nao para imitar nuestros movimientos a través de una cámara cinética de Xbox. Durante meses sin pro
RC Rover controlado por gestos, movimientos y joyestick: 8 pasos
![RC Rover controlado por gestos, movimientos y joyestick: 8 pasos RC Rover controlado por gestos, movimientos y joyestick: 8 pasos](https://i.howwhatproduce.com/images/003/image-8610-31-j.webp)
RC Rover controlado por gestos, movimientos y Joyestick: RC Rover es un proyecto de robótica que tiene como objetivo mejorar el control del rover mediante el uso de radiofrecuencia y la interacción del movimiento del rover con el movimiento de la mano utilizando la unidad inercial (MPU6050), pero también el control de este Rover con Joyestik. Todos
24 - Una bomba que hace tic-tac que te pide que dejes tu teléfono: 5 pasos
![24 - Una bomba que hace tic-tac que te pide que dejes tu teléfono: 5 pasos 24 - Una bomba que hace tic-tac que te pide que dejes tu teléfono: 5 pasos](https://i.howwhatproduce.com/images/004/image-9714-64-j.webp)
24: una bomba que hace tic-tac que le pide que deje su teléfono: 24 (antes conocido como llave) es un temporizador que anima a los usuarios a dejar el teléfono y concentrarse en otras tareas, en lugar de perder el tiempo en el teléfono. Fue diseñado para ser como una bomba para proporcionar un mejor resultado del cambio de comportamiento debido a su int