Sie sind auf Seite 1von 6

Design and implementation of a robotic hand to play

a song on the piano employing artificial vision.


P. A. Heredia Lpez 1, H. A. Mena Varela2,E. A. Palacios Acosta3,L. V. Pasaguayo Baez4, B. I. Tern Flores5, D. G.
Onofre Vsquez6
Carrera de Ingeniera en Mecatrnica
Facultad de Ingeniera en Ciencias Aplicadas
Universidad Tcnica del Norte
Ibarra, Ecuador
eapalacios@utn.edu.ec
Abstract This article aims to describe the design and
implementation of a robotic hand able to play a song on the piano
through the use of virtual tools provided by LabVIEW and NI
Vision and NI myRIO library. The application includes a system
for positioning and construction of a robot hand in order to
simulate the movement of the fingers to play an octave using only
five fingers. The operation is based on artificial vision techniques
which determines the note to play and therefore the position to be
hand placed. In Addition, the myRIO used wirelessly, so, was
implemented wireless monitoring system that did the Dashboard
application for Tablet was implemented with which we can see in
the tablet notes are playing and the position where the hand is
located. The processing of the signals sent from the vision system
did with Arduino, which sends the PWM (pulse-width
modulation) to control of micro servos and hand positioning.
Tests were conducted with different songs whose results will be
displayed at the end of the document.
Keywords robot Piano, color detection, robotic hand, NI
myRIO, Dashboard.
Resumen El presente artculo tiene como objetivo describir
el diseo e implementacin de una mano robtica capaz de tocar
una cancin en el piano a travs del uso de herramientas
virtuales proporcionadas por Labview y su librera NI Visin y
NI myRIO. La aplicacin integra un sistema de posicionamiento
y la construccin de una mano robtica con el fin de simular el
movimiento de los dedos para tocar una octava usando solamente
5 dedos. El funcionamiento se basa en tcnicas de visin artificial
que determina la nota a tocar y, por lo tanto, la posicin en la que
se va a ubicar la mano. Adems, la myRIO se us de manera
inalmbrica, donde, se implement un sistema de monitoreo
inalmbrico que se lo hizo con la aplicacin Dashboard para la
Tablet con la que se podr observar mediante la misma las notas
que se estn tocando y la posicin donde est ubicada la mano. El
procesamiento de las seales enviadas desde el sistema de visin
se lo hizo con un Arduino el cual enva el PWM (Modulacin por
Ancho de Pulsos) para el control de los micro servos y el
posicionamiento de la mano.
Se realizaron pruebas con
diferentes canciones cuyos resultados se mostrarn al final del
documento.
Palabras Claves: Piano robot, Deteccin de color, Mano
robtica, NI myRIO, Dashboard.

Introduccin

El estudio de visin artificial es muy amplio y necesario


para el desarrollo de futuros proyectos para la sociedad; en el
presente proyecto se presenta una mano robtica con la
habilidad de tocar una octava de un piano usando solamente 5
dedos por lo que se desplaza de un parte a otra del piano
llegando a tocar las 8 teclas, para el desarrollo de este proyecto
se us visin artificial, esto se lo hizo con el fin de que se
detecten mediante una cmara web las notas de la cancin que
se las indicara en un programa llamado Synthesia el cual
proporciona la nota y el momento exacto en que debe tocar
canciones con una octava y sin el uso de negras.
Teniendo ya la visin artificial y el funcionamiento de la
mano para que toque las canciones con las caractersticas ya
dadas, se procedi a la elaboracin de una aplicacin en una
Tablet con Dashboard de National Instruments para el manejo
del piano inalmbricamente ya sea desde la Tablet o usando el
sistema de visin artificial ya explicado antes, adems esta
aplicacin sirve para el monitoreo inalmbrico del sistema, es
decir, indica que tecla se ha presionado en el piano, este
sistema tambin es capaz de desplazarse dependiendo de la
nota a tocar, debido a que, como se haba mencionado solo se
tendr 5 dedos que tocaran la cancin que contenga una octava
entonces este se desplaza hasta una posicin adecuada para que
toque todas las teclas que sean necesarias.
Este sistema se lo implemento con las herramientas de
Labview y la tarjeta myRIO para el sistema de visin artificial
conjuntamente con una cmara web para la toma de las
imgenes y adems Arduino para el procesamiento de las
seales enviadas por la myRIO y as accionar los micro servos
que movern los dedos.
I. ESTADO DEL ARTE
En la investigacin previamente realizada se han
encontrado muchos temas afines al uso de la visin artificial
para tocar diferentes instrumentos o ya sea para el
entrenamiento de personas que desean empezar a tocar el
instrumento [1], en la actualidad hay una cantidad inmensa de
informacin acerca del uso de visin artificial para aplicaciones
robticas de reconocimiento de patrones y/o colores que son
usados en la industria, pero se ha encontrado reducida

informacin donde se use la visin artificial para enfoques de


este tipo. La visin artificial tiene una amplia aplicacin al
mundo actual se lo puede usar en robots tanto industriales
como en robots de ayuda a personas con discapacidad, tambin
se usa en reconocimiento de patrones para uso en parqueaderos
inteligentes [4].
Se ha estudiado sistemas para ensear a nios en especial a
tocar cualquier tipo de instrumento usando solamente sistemas
automatizados con el uso de visin artificial que han ayudado a
avanzar en este proyecto. Las aplicaciones de la visin artificial
son muy grandes en el campo de la enseanza para tocar
instrumentos musicales ya que por su sencillez y su interface
amigable y fcil de usar se han hecho muy usados por personas
de cualquier edad [6].
Pocos de los sistemas investigados tienen implementado lo
que es un sistema de monitoreo inalmbrico para el control
manual o automtico de una mano robtica que toque el piano;
cuando el sistema se usa en modo manual se controla por
medio de una tablet usando la aplicacin Dashboard y cuando
es automtico se usa el sistema de visin artificial, todo esto se
lo ha hecho usando variables globales para cada tecla, posicin
y modo de uso.
Se ha encontrado escasos sistemas que tenga el mismo
enfoque de nuestro sistema que es tocar el piano usando visin
artificial pero adems usando un programa para la generacin
automtica de las notas musicales de la cancin que se
seleccione, adems se usa Arduino para el control de las
seales recibidas del sistema de visin y por ultimo un sistema
de monitoreo inalmbrico hecho como aplicacin para una
tablet.
En lo que se refiere al uso de Dashboard para el monitoreo
inalmbrico se ha encontrado varias aplicaciones, pero no
enfocadas a un proyecto de este tipo sino a proyectos de tipo
industrial donde se hace el monitoreo inalmbrico de sistemas
de control de nivel de tanques o controles de temperatura de
calderos entre otras innumerables aplicaciones, pero no se ha
encontrado una en especfico que se use para esto.

Figura 1. Propuesta de piano


A. Diseo de los dedos
La dimensin de los dedos se tom de los dedos de un
compaero del grupo y se procedi a dibujar en SolidWorks
como se muestra en la figura 2.

Figura 2. Dimensiones de los dedos


Para realizar el clculo del peso se toma en cuenta el
volumen de la pieza y la densidad del material que en este
caso es masilla Mustang; para mayor facilidad de clculos se
los hizo los clculos con la pieza sin redondeados sino
cuadrada, esto sobredimensionara el peso, pero no por mucho.
A continuacin, se muestra el dedo sin redondeados y con las
medidas para proceder a los clculos tomando en cuenta que el
espesor de la pieza es de 1 7mm.

II. DISEO PRELIMINAR DEL SISTEMA


Generalmente para tocar un piano se usan las dos manos y
de manera coordinada mltiples dedos, lo que implica que la
mano robtica a realizar debe de tener mltiples movimientos y
desplazamientos de manera coordinada, y ms en este caso,
porque se tendr cinco dedos para tocar una octava usando un
sistema de visin artificial. Como se usar solo cinco dedos se
debe de tener un sistema de control de posicin y de los dedos
de rpida reaccin y con casi nada de error al posicionarse. El
sistema propuesto contiene una mano de cinco dedos con
sistema de posicionamiento controlados por visin artificial
como se muestra en la siguiente figura 1.

Figura 3. Divisin del dedo en partes


Aqu se muestra los clculos respectivos del volumen para
los cuales se obtuvo los siguientes resultados.
Volumen 1:

Volumen 2:

Volumen3:

III. DISEO E IMPLEMENTACION DE LA VISIN ARTIFICIAL


Volumen 4:

Volumen 5:

Volumen Total:
Ya con el volumen del dedo se procedi a encontrar la
masa usando la densidad de la masilla mustang que es la que
se uso para la elaboracion de los dedos.

La visin artificial es muy usada para muchas aplicaciones


en la actualidad, solo depende de la persona que lo use para que
use y ajuste a sus necesidades a visin artificial, en este
proyecto se us para reconocimiento de imgenes con color
(RGB) para poder detectar las notas a continuacin se explica
el proceso de visin usado y sus debidos clculos.
El sistema de visin se lo har usando Labview las
herramientas de visin artificial y el programa Synthesia para
la generacin de las notas de cada cancin, que el sistema ira
analizando y procesando para hacer controlar los dedos.

Entonces con esta masa se procedi a sacar el peso que


ser el siguiente:

Este es el peso de un solo dedo por lo que para los 5 dedos


es:

Luego se procedi a manufacturar los dedos, la caja y el


sistema de posicionamientos que es material reciclado de una
impresora.
B. Dimensionamiento de los actuadores
Con el fin de saber cul es la fuerza necesaria para tocar
cada una de las teclas, se us un mtodo experimental que es
el siguiente:
Se coloc monedas de 5 ctvs. en la tecla, cada una de
estas monedas pesan 5gr
Se coloc hasta que el teclado suene, fue a las 15
monedas que son la tecla.

Figura 4. Diagrama de Flujo del sistema de vision artificial


A. Algoritmo del sistema de vision artficial
1. Inicio
2.

Declaracin de variables

3.

Seleccin de modo (Dashboard) Visualizar


a.

Si-

- Adquisicin de imgenes

Adems, se tom la distancia que se desplaza la tecla del


piano para as poder sacar el torque necesario y con esto poder
dimensionar en caso de usar un servomotor.

- Deteccin de notas por visin artificial


- Lectura de notas
- Salidas digitales encendidas

La tecla del piano se desplaza 1 cm entonces se tendr que:


d= 1cm = 10 mm
F= 0,75 N

- Procesamiento en Arduino
- Activacin de servomotores
- Comparacin de posicin

Entonces con este torque se busc un micro servo que


tenga un torque >= 0,75N*cm.

b.
4.

No-

Controlar

a-

Posicin 1

tanto daar el sistema de visin, como, por


ejemplo: webcam, micro-servos, Arduino, Dedos
y Piano.

- Si- notas DO, RE, MI, FA, SOL


No- Posicin 2
Notas FA, SOL, LA, SI
b- Elegir nota a pulsar
c-

Encender salida digital segn nota pulsada

d- Activar servomotor correspondiente a la nota


e-

FIN

D. Determinacin del patrn a reconocer


Para la determinacin del patrn a reconocer se va a usar 2
imgenes de un solo color para cada una tomando en cuenta
que esta mano puede tocar ya sea los acordes o la voz de la
cancin y como Synthesia da la posibilidad de elegir estos
parmetros y muestra en color azul los acordes y en verde la
voz, para la determinacin de los patrones se debe tomar en
cuenta lo siguiente:

Se ley las notas a travs de visin artificial, se hace una


comparacin de que nota es se manda las seales analgicas al
Arduino y este las procesa y enva el PWM a los micro servos,
segn la nota que sea manda el Arduino ordena a que posicin
se ira la mano se desplazar y repetir esta secuencia hasta
finalizar la cancin.
B. Monitoreo Inalmbrico
Para el monitoreo inalmbrico se us Dashboard de
National Instruments que es una aplicacin para tablets o
sistemas inteligentes donde se realiza una aplicacin, se
conecta inalmbricamente con Labview y se cargan las
variables globales creadas en Labview hacia la aplicacin
realizada en Dashboard.
C. Determinacin de los parametros de visin
Lo que se pretende hacer es reconocer una imagen de un
solo color, pero en diferentes posiciones por lo que se crear un
template del color que se usar para el reconocimiento de las
notas este color aparecer siempre, pero en diferentes
posiciones indicando as tanto la nota a tocar como la posicin
de la mano, como se muestra en la siguiente figura 5.

- Cada imagen debe ser de forma rectangular de la


medida de una tecla del piano que aparece en
Synthesia para que reconozca y envi la seal de
solo la tecla que es.
- Al tomar los patrones se debe de tomar en cuenta que
la cmara este bien calibrada para que salgan
siempre de las medidas requeridas
- Si la imagen es ms grande no reconocer el patrn y
saldr error.
E. Pre-procesamiento
Se pretende realizar la adquisicin de las imgenes ms
ptimas para el proyecto ya planteado, a partir de ellas se
busca realizar un conjunto de procedimientos que permitan
obtener los templates necesarios para comenzar el
procesamiento.
Aqu se verifico cules son las imgenes a procesar y que
caractersticas principales tenga la misma, adems, se verifico
la profundidad de la imagen, el nmero de pixeles y el tipo de
resolucin de la misma estos datos se muestran a
continuacin.
Tamao: cantidad de pxeles ancho y alto

Figura 5. Color de las notas (Fuente: Synteshia)


Entonces el programa verificar el color del template con el
color que aparecer en el programa Synteshia, tomando en
cuenta los siguientes parmetros:
- Aceptacin de las tonalidades de los templates
elegidos como vlidos, tomando en cuenta la
iluminacin y ubicacin de la webcam.
- Diferencias de configuracin de la cmara para la
adquisicin de las imgenes, tanto en pixeles
como en tonalidad.
- Adaptacin a todos los parmetros externos que
conforman al sistema y podran averiarse y por lo

Imagen: de 37x38 pxeles, se utiliza para


reconocimiento de cada nota.
Resolucin:
5,1 pixel/mm
Profundidad:
24 bits

Para hacer la representacin de la imagen se us la


siguiente funcin bidimensional.
I = f (x, y)
F. Diseo del sistema de visin en Labview programa para
procesamiento de la imagen
Para disear el sistema de visin se procede a entender lo
que se quiere hacer y si se usara la imagen en RGB o en
blanco y negro o si se usara algn tipo de filtro, esto se
estableci en el pre-procesamiento; se eligi una imagen en

RGB para poder diferencias entre dos colores que son azul de
los acordes y verde de la voz para as poder usar en cualquiera
de los dos modos.
Luego se procedi a la programacin en Labview que se la
realizo en alto nivel usando herramientas fciles y simples que
te permitirn elegir automticamente la cmara y te permitir
configurar rpidamente las imgenes a continuacin se
muestra cmo quedara la interface de Labview, siendo asi una
interface amigable y simple que se la muestra en la figura 6.

H. Envio de seales digitales desde myRIO hasta Arduino y


procesamiento
Luego de configurar los templates y mandar a activar las
seales digitales se procede a enviar estas seales al Arduino,
donde se procede a procesar las seales digitales y se enva los
PWM a cada servo motor segn sea la nota y la seal al motor
DC segn el posicionamiento. En la siguiente figura 8 se
muestra como es el procesamiento con Arduino.
G.Pruebas de Funcionamiento
Se procedi a hacer las pruebas de funcionamiento
primeramente usando las notas mas no el posicionamiento.
Se prob con los acordes de la cancin Himno a la
Alegra, que se la llamara para este caso cancin 1 y donde se
pudo observar que funciono manera correcta, las imgenes de
los acordes en Synthesia se muestran a continuacin en la
figura 9.

Figura 6. Diseo de la interface en Labview


G. Configuracin de templates en el software y calibracion de
la webcam
Para la configuracin de los templates se necesita que la
webcam y la laptop donde se tenga el programa Synthesia este
bien ubicada en un lugar donde no se mueva y que adems la
cmara este bien ubicada frente a la laptop igualmente
sostenida para que no se mueva y se pierda la configuracin
necesaria.
Luego de esa configuracin se procede a tomar una captura
de la imagen a procesar y se ingresa al Vision Assistant y se
procedi a tomar los templetes para cada nota, por lo que se
hace esto para cada nota y tambin para las dos posiciones.
Despus de la configuracin se elige un controlador para
cada template que en este caso es Number of matches, el cual
ser cada seal de cada nota y de cada posicin y que se
mandaran a las salidas digitales de la myRIO. En la figura 7 se
muestra cmo quedara despus de la configuracin las notas.

Figura 9. Acordes de la cancin 1


Luego se procedi a probar con la cancin Despus de ti
Alejandro Lerner, que para mayor facilidad se la llamara
cancin 2, con esta cancin primero se prob los acordes
precedidamente con la voz, al probar con la voz se empez
configurar lo que es el desplazamiento, se muestran en la
figura 10 los acordes de la cancin 2.

Figura 10. Acordes cancin 2


IV. CONCLUSIONES Y RECOMENDACIONES

Figura 7. Configuracin de templates

A. Conclusiones
- Se logr construir una mano robtica capaz de tocar
una cancin previamente seleccionada usando un
programa de visin artificial se realiz en labview

el cual reconoce la nota a tocar que se observ en


un video.
- Se manufacturo los dedos de la mano con un material
fcil de encontrar en el mercado y que tiene
caractersticas mecnicas que son suficientes para
poder utilizar en este proyecto.
- Se experiment para saber cul es la fuerza necesaria
para el accionamiento de una tecla y con esto se
procedi a dimensionar el actuador.
- Se pudo estudiar diferentes maneras de accionar cada
dedo para que toque el piano.
- Se program en Labview adecuadamente el sistema
de visin artificial y envi de salidas digitales a
travs de la myRIO para as poder procesar las
mismas a travs del Arduino y mandar el PWM
adecuado para el accionamiento de los microServos
- En la programacin se observ que se debe usar un
ciclo while para que el sistema siempre este
adquiriendo los datos de la visin y siempre este
enviando los datos de salida, porque caso
contrario solo lo hara una vez cada que se
compile el programa.
B. Recomendaciones
- Utilizar sensores de tacto en las puntas de los dedos
para que en casos extremos los dedos no aplasten
ms de 1 cm las teclas y no las daen.
- Utilizar una cmara de buena calidad para que la
adquisicin de imgenes sea buena y no haya
problemas al momento de mandar a compilar el
programa.
- Se debe tomar en cuenta la iluminacin del sitio
donde se utilizar la visin porque si esta cambia
se tiene que cambiar tambin los templates del
Vision Assitant.

- Para mejorar el prototipo y que este logre tocar las


negras del piano se debe incorporar un
mecanismo capaz de mover los dedos hacia los
lados y ms hacia el frente o hacer los dedos con
ms grados de libertad.
AGRADECIEMIENTOS
En el desarrollo de este proyecto ha sido de gran apoyo el
Ing. Fernando Valencia quien nos guio y siempre estuvo
pendiente del desarrollo de proyecto, por lo que le
agradecemos mucho por todo.
De manera especial se le agradece al Ing. Cosme Mejia por
ayudarnos a concluir este trabajo.
REFERENCIAS
[1]

[2]
[3]
[4]

[5]

[6]

[7]

G. Weinberg, and S. Driscoll, The design of a perceptual and


improvisational Robotic marimba player, in Proc. of the 16th
IEEE International Conference on Robot & Human Interactive
Communication, pp. 769-774, 2007.J. Clerk Maxwell, A
Treatise on Electricity and Magnetism, 3rd ed., vol. 2. Oxford:
Clarendon, 1892, pp.68-73.
National Instruments Corporation, COMPACT VISION
SYSTEMS, Products & Services > Machine Vision, 2008.
Universidad Miguel Hernandez - Espaa, Sistemas de Visin
Artificial
J. Savard. (N.D., 04/05/2013). The Size of the Piano Keyboard
[En
lnea].
Obtenido
de:
http://www.quadibloc.com/other/cnv05.htm
C.-C. Lin and D. S.-M. Liu, "An intelligent virtual piano tutor,"
presented at the Proceedings of the 2006 ACM international
conference on Virtual reality continuum and its applications,
Hong Kong, China, 2006.
D. O. Gorodnichy and A. Yogeswaran, "Detection and tracking
of pianist hands and fingers," in Computer and Robot Vision,
2006. The 3rd Canadian Conference on, 2006, pp. 63-63.
A. Majumder. "Image processing algorithms forimproved
character recognition and components inspection", Nature &
Biologically Inspired Computing,2009, World Congress on,
pp.531-536,
9-11,
dic.
2009

Das könnte Ihnen auch gefallen