fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

Proyecto de visión artificial+Lego NXT (presentación)

12 Respuestas
4 Usuarios
0 Reactions
4,311 Visitas
jorcoval
Respuestas: 418
Topic starter
(@jorcoval)
Reputable Member
Registrado: hace 18 años

Bien, estoy acabando por fin.

La breve descripción de siempre: El proyecto consiste en capturar video en movimiento de una persona. CUando dicha persona mueva un brazo, un robot (robonova o lego nxt) conectados al PC debe imitar dicho movimiento.

Está programado en C con OpenCV, de momento es una versión beta y no sé si puede jorobar algo de vuestros PC's por tanto muestro unas imágenes y descripción del funcionamiento. Si interesa, haré un tutorial de programación cuando lo acabe del todo y lo presente.
-----------------------------------------------------------------------------------------

Primero se nos muestra un menu de usuario. Hay unos checkbox para mostrar los distintos resultados del programa, un textbox y varios botones.
menu
El usuario pulsa el botón "Ver referencia" y se le muestra una ventana donde con un slider
ref1
Ajustando el slider debe obtener una imagen aproximada de su torso. Fijaos que el rectangulo ajusta al torso dinámicamente (se muestra tal cual en el programa). Con una flecha roja he indicado que el slider se ha movido (esa flecha es paint, no del programa)
ref2
Cuando el usuario decide que la imagen de referencia es más o menos adecuada, pulsa el botón "Capturar referencia". Se muestra el resultado obtenido:
ref3
Ahora el usuario pulsa "Capturar video", con lo que dinamicamente el programa calcula el ángulo que forma el brazo del usuario con el torso del mismo. Muestro las ventanas de Video Real (información que se muestra al usuario, con una linea verde se le señala su brazo, y un rectangulo rojo marca su torso. Esta linea y rectangulo son reales del programa, no añadidos posteriores).
Por otro lado una ventana muestra solo el brazo, como procesamiento interno, con la línea blanca a partir de la cual obtengo el ángulo.
Finalmente fijarse en el textbox, que muestra el ángulo de forma numérica
final
-----------------------------------------------------------------------

El siguiente paso es comunicar ese ángulo al Robonova para que mueva el servo adecuado. Estas librerías de comunicación ya las tengo hechas.
Otro paso sería comunicar la misma información a un LegoNXT. Esto todavía no lo tengo pero creo que es bastante sencillo mediante NXC (programación en C para Lego) y enviar el ángulo mediante un bluetooth.

Responder
11 respuestas
jorcoval
Respuestas: 418
Topic starter
(@jorcoval)
Reputable Member
Registrado: hace 18 años

Y un video:
http://www.youtube.com/watch?v=5CLu8_ahSLk

Responder
drakerdg
Respuestas: 475
(@drakerdg)
Reputable Member
Registrado: hace 19 años

Muy interesante trabajo, felicitaciones jorcoval 😀 😀

Responder
Página 3 / 3
Compartir: