Está en la página 1de 6

Memorias del XVI Congreso Mexicano de Robtica 2014

Universidad Autnoma de Sinaloa, Universidad Politcnica de Sinaloa y


Universidad de Occidente
XVI COMRob 2014; ISBN en trmite
6-8 de noviembre 2014; Mazatln, Mxico

XVICOMRob2014/ID004

Sistema de control inalmbrico por medio de voz empleando un


dispositivo mvil

Gustavo Gonzlez Garca

Rodolfo Romero Herrera

Alfonso Fernndez Vzquez

Departamento de Posgrado
Escuela Superior de Cmputo IPN
Mxico, D.F., 07738
Email: gusta_si@hotmail.com

Departamento de Posgrado
Escuela Superior de Cmputo IPN
Mxico, D.F., 07738
Email: rromeroh@ipn.mx

Departamento de Posgrado
Escuela Superior de Cmputo IPN
Mxico, D.F., 07738
Email: afernan@ieee.org

ABSTRACT

proyecto est basado en las caractersticas de los


telfonos celulares [1].

Este artculo presenta un sistema de control


inalmbrico, implementado en un dispositivo mvil, con
procesamiento de comandos de voz; por otra parte, la
tecnologa bluetooth permite controlar sensores de un
mecanismo mvil, y el sensado de la temperatura ambiente, de
la proximidad y la posicin, etc. Las lecturas tomadas por el
mecanismo son procesadas en un micro-controlador por su
simplicidad para el tratamiento de seales y ste mismo es
quien realiza el envi de informacin a travs de un mdulo
bluetooth en un alcance de hasta 100m, la informacin sobre
temperatura y proximidad se proporcionan al usuario al
ejecutar el comando correspondiente en el dispositivo mvil,
por otra parte este tambin permite conocer la ubicacin del
sistema y mostrarlo al usuario. Las facilidades que brinda el
procesamiento de voz permite el uso de una interfaz sencilla
por su naturaleza, que puede brindar a discapacitados
posibilidades de control de mecanismos mediante el empleo de
un celular.

El propsito de desarrollar un sistema de


control remoto inalmbrico es generar aplicaciones
que se le pueden dar al Bluetooth de un celular y al
procesamiento de voz del dispositivo mvil. Se utiliza
como base el sistema operativo Android, por ser
estable y contar con pocos problemas de
compatibilidad con los dispositivos mviles, adems
de la cantidad de usuarios que cuentan con este
sistema operativo. Las aplicaciones del sistema
propuesto son variadas, por ejemplo, para el desarrollo
de un mecanismo mvil se puede utilizar para el
monitoreo de algn servicio siguiendo instrucciones
mediante el uso de los comandos de voz; tambin
puede ser implementado como sistema de vigilancia.
En el mercado existen diversas aplicaciones
relacionadas con el procesamiento de voz y l envi
de informacin mediante redes inalmbricas, tenemos
el caso de JustSpeak, TalkMe, TalkBack entre otras,
que nos ofrecen el servicios de control de usando un
dispositivo mvil mediante comandos de voz. La

INTRODUCTION
En esta era tecnolgica, tenemos a nuestro
alcance muchos dispositivos que nos permiten realizar
tareas fcilmente, y de igual forma nos permite
desarrollar tecnologa. En particular, el presente

139

Copyright 2014 by AMRob

Programacin del dispositivo mvil

principal ventaja de proveer este servicio a los


usuarios, es que aquellas personas con capacidades
especiales de movilidad pueden utilizar este tipo de
aplicaciones con mayor facilidad [2].

Para la programacin del dispositivo se us el ambiente


programacin Eclipse disponible en la pgina developer de
Android, despus de haberse realizado las instalaciones
necesarias, se comenz con la programacin siguiendo el
paradigma orientado a objetos. Se realiz la creacin de clases,
mtodos y objetos indispensables para la aplicacin [4], de
igual forma se importaron paquetes forzosos para el uso de
multimedia y poder utilizar servicios que permitieran realizar
el reconocimiento de voz, de igual forma para implementar la
comunicacin inalmbrica [5] fue necesario comprender el uso
y funcionamiento del dispositivo Bluetooth.

SISTEMA DE CONTROL INALAMBICO


En este artculo se realiza el control de un vehculo
mediante el uso de reconocimiento de voz. El sistema en su
totalidad emplea un desarrollo electrnico, el cual es
controlado por una aplicacin que se ejecuta en un dispositivo
Android, con versin 2.3 o superior.

Programacin del Micro-controlador

Software utilizado

Despus de concluir con la programacin del


dispositivo mvil nos dimos a la tarea de programar el micro
controlador, en este caso, primeramente, se cre el algoritmo
para la captura de datos pertenecientes a los sensores y para la
comunicacin inalmbrica con el dispositivo mvil [6],
despus, se cre el programa en C para ejecutar el algoritmo
que se muestra en la figura 1.

Algunas aplicaciones que nos permitieron el desarrollo


del proyecto fueron: Java, Eclipse, Isis Proteus; de estos
Eclipse fue empleado para la programacin del dispositivo
mvil, ya que est nos permite realizar la programacin
orientada a objetos con el lenguaje Java, el software de Isis
Proteus nos admite realizar la simulacin de los dispositivos
electrnicos en conjunto con un micro controlado para observar
el funcionamiento de algunos sensores y realizar un diseo
PCB funcional para el control de un mecanismo.

FIGURA 1. ALGORITMO DE CONTROL.

Hardware utilizado

PROCESAMIENTO DE VOZ EN GOOGLE.

Los dispositivos electrnicos para realizar pruebas de


comunicacin y transmisin y recepcin de datos fueron: un
Arduino UNO como micro-controlador, un mdulo bluetooth
Rn-2, un sensor Lm335 y un sensor ultrasnico HRS-04 [3].

El procesamiento en los sistemas de Google se lleva a


cabo con MM (Modelos de Morkov) donde a travs de estados
se emite un determinado smbolo del conjunto de salidas
posibles. Es decir que la funcin de salida simplemente asigna

140

Copyright 2014 by AMRob

encontrarse conectado a una red con acceso a internet, el


servidor nos retorna un String con las palabras reconocidas,
finalmente el sistema realiza la comprensin de los datos y se
decide si este es un comando a ejecutar o se omite el
reconocimiento y se le notifica al usuario cualquier error
ocurrido. Ver figura 3.

uno de los smbolos dependiendo del estado en que se


encuentre el modelo. Es por esto que un MM es tambin
conocido bajo la denominacin de modelo observable de
Markov: a partir de la salida se puede observar en qu estado
se encuentra el modelo. El hecho de que en cada estado se
pueda observar un nico smbolo es una limitacin importante
que reduce las posibilidades de aplicacin de los MM.
En estas condiciones nunca se podr saber con certeza
en qu estado est el modelo, observando solamente su salida.
El funcionamiento interno del modelo queda oculto y es por
eso que se le denomina modelo oculto de Markov. Los MOM
ms utilizados en RAH (Reconocimiento automtico del habla)
poseen una estructura muy simple denominada de izquierda a
derecha.

Comandos de voz
El sistema realiza reconocimiento de la voz del usuario
y estas palabras se guardan en un Sting que nos permite saber
de qu comando se trata y con esto enviar una peticin al
mecanismo. El sistema hace uso de los servicios de GOOGLE
para obtener dicha informacin, entonces para esto debemos
tomar en cuenta que siempre debe existir una conexin a
internet; Sin embargo, si no se cuenta con la conexin a internet
tenemos un modo llamado manual el cual nos permitir
controlar el mecanismo con ausencia de comandos de voz.
Google utiliza algoritmos de inteligencia artificial para
reconocer las oraciones habladas, almacena los datos de voz de
forma annima para fines de anlisis, y compara la voz
capturada con consultas previas en el servidor. La figura 2
muestra la estructura del servicio Google Speech Recognition:

FIGURA 3. BLOQUES DE RECONOCIMIENTO DE VOZ.

Text-to-Speech
Otro servicio que tambin se provee es el de text-tospeech con el cual nos dirigimos al usuario para darle a conocer
si se ha reconocido el comando o bien no se le ha entendido,
para esto no es necesario el acceso al servidor de google ya que
es posible implementarlo sin la necesidad de una conexin a la
red. La ventaja de proveer un servicio como el mencionado, nos
permite contar con una interfaz simple de control y de
notificaciones.

IMPLEMENTACION.
Durante el desarrollo del proyecto fueron realizndose
distintos tipos de pruebas, primeramente, se realizaron
simulaciones y finalmente, pruebas fsicas. Realizar distintos
tipos de pruebas permite encontrar las distintas fallas.
FIGURA 2. ESTRUCTURA DEL SERVICIO GOOGLE
SPEECH. DIAGRAMA TOMADO DE [7]

Aplicacin APK
Se ha implementado una aplicacin en un dispositivo
mvil xperia Z; en la figura 4 se muestra la aplicacin
ejecutndose en el dispositivo, en esta se muestra el botn
comando con el cual el sistema solicitara mediante la voz, las
instrucciones para el usuario, por otra parte tiene un men de
ayuda el cual sirve de apoyo al consumidor, para darle a

En la figura 3 se muestra un diagrama a bloques del


reconocimiento de voz utilizando servicios de google, primero
nos encargamos de recoger las muestras tomadas por el
micrfono, despus se realiza la transferencia de muestras de
audio a los servidores de google y este realiza el trabajo de
reconocimiento de voz, para esto el dispositivo debe

141

Copyright 2014 by AMRob

conocer las instrucciones y comandos compatibles con el


sistema, estos comandos se muestran en la tabla 1; finalmente
si el usuario tiene algn problema con el control del vehculo
mediante voz, tiene la oportunidad de acceder al modo manual
el cual se muestra en la figura 5, dando un clic en el botn
modo manual.

Atrs

El vehculo retrocede.

Izquierda

El vehculo se mueve a la
izquierda.

Derecha

El vehculo se mueve a la
derecha.

Derecha

El vehculo se mueve a la
derecha.

Encender luces

El vehculo enciende las


luces.

Apagar luces

Las luces se apagan.

Conectar

El sistema se conecta con


el vehculo.

Desconectar

El sistema termina
conexin.

Mapa

Se muestra la posicin del


sistema en google maps.

Temperatura

Se obtiene la temperatura
del ambiente, mediante el
sensado del dispositivo
LM335.

Distancia

Se muestra la distancia
entre el mecanismo y el
objeto ms cercano.

Modo manual

El sistema cambia al
control del mecanismo de
forma tradicional, como se
muestra en la figura 3.

Detener

El vehculo se detiene.

FIGURA 4. APLICACIN EJECUTANDOSE.

Sistema Electrnico
En la figura 6 se muestra el diseo electrnico
simplificado del sistema. En este se observa al microcontrolador el Arduino UNO, tambin se muestran los motores
necesarios para el movimiento del mecanismo y el driver l293d
que nos permite aumentar la corriente en estos motores,
finalmente tambin se ve el sensor de temperatura lm335.

FIGURA 5. APLICACIN EN MODO MANUAL.

En la tabla 1 mostramos los posibles comandos que


pueden ser utilizados para el control del mecanismo.

TABLA 1. COMANDOS DE VOZ.

Comando

Accin

Adelante

El vehculo avanza.

142

Copyright 2014 by AMRob

RESULTADOS
Se realizaron pruebas de distinto tipo con el fin de
encontrar errores comunes, entre estos la conexin fallida y el
comando desconocido; estos errores se deben principalmente al
emparejamiento de los dispositivos inalmbricos; el comando
desconocido ocurre cuando el sistema no encuentra forma de
comprender lo que el usuario a mencionado, esto puede ser
por su velocidad de pronunciacin, acento o bien el sistema no
cuenta con una conexin a internet. Por otra parte el sistema ha
sido probado con 8 personas ejecutando cada uno de los
comandos que se han mostrado en la tabla 1, teniendo como
porcentaje de xito el 90%, contando los errores mencionados
anteriormente.
El sistema fue probado utilizando los comandos
soportados, el sistema fue utilizado por 10 personas entre
hombres y mujeres entre 18 y 23 aos. Cada persona utilizo 4
veces cada uno de los comandos teniendo como resultado un
porcentaje xito el cual se muestra en la tabla 2 la cual
corresponde al porcentaje de xito del sistema ante el todo de
voz de las mujeres y en la tabla 3 se muestra el porcentaje de
xito con los hombres que probaron el sistema. Por el volumen
de voz el sistema ha reconocido con mayor eficiencia los
comandos solicitados por los hombres.

FIGURA 6. SISTEMA ELECTRNICO

Sistema Mecnico
En la figura 7 se muestra el mecanismo utilizado para
realizar pruebas del sistema, se observa sus vistas laterales, este
mecanismo nos permite albergar el sistema electrnico y la
colocacin de manera sencilla de los motores, en la parte de
enfrente se encuentra el sensor de proximidad con lo cual
garantizamos que el mecanismo no choque contra algn objeto
y tambin nos proveer la distancia hacia el objeto ms
cercano.
El mecanismo cuenta con dos motores para producir los
movimientos necesarios. El motor dedicado a la traccin
trasera cuenta con una velocidad de traccin de 4100 rpm y con
un consumo de corriente sin carga de 35mA. El giro del
mecanismo podr ser producido con un arreglo mecnico de
cremallera-pin, con un motor que impulsa el giro del pin,
este motor cuenta con una traccin de 780 rpm. El motor cuenta
con un torque de 3.4 N*cm.
El cuerpo del vehculo y cada parte mecnica interna ha
sido construido con piezas Lego. El material es ligero lo que
permite que los motores no tengan un sobreesfuerzo.

TABLA 2. PORCENTAJE DE XITO EN MUJERES.

Comando

Accin

Adelante
Atrs
Izquierda

65%
72%
80%

Derecha

80%

Encender luces

65%

Apagar luces

70%

Conectar
Desconectar

70%
75%

Mapa

55%

Temperatura

45%

Distancia
Modo manual

80%
90%

Detener

95%

Adelante

80%

TABLA 3. PORCENTAJE DE XITO EN HOMBRES.

FIGURA 7. SISTEMA MECANICO.

143

Comando

Accin

Adelante
Atrs
Izquierda

80%
90%
60%

Derecha

90%

Encender luces

85%

Copyright 2014 by AMRob

Apagar luces
Conectar
Desconectar

90%
90%
95%

Mapa

76%

Temperatura

65%

Distancia
Modo manual

88%
70%

Detener

95%

Adelante

80%

[1] Martn Inzaurralde, Jorge Isi, Javier Garderes,


Telefonia celular, Facultad de Ingeniera
Universidad de la Republica de Montevideo,
Uruguay, Vol 25.
[2] De Ipia, D.L., Rodrguez, A., & Vzquez, I.
Accesibilidad para Discapacitados a travs de
Telfonos y Servicios Mviles Adaptables; 2004.
[3] Bhmer, M. (2012). Beginning Android ADK with
Arduino, Deteccin de la temperatura, Apress,
New York.

El vehculo puede avanzar en lnea recta a una velocidad


constante de 7.2 km/hr. En este sentido cuando el vehculo
recibe la interrupcin de un comando de giro, sea izquierda o
derecha, este produce un cambio de direccin en curva de
aproximadamente 32 grados.

[4] Holzner, S. (2000). JAVA 2, AWT: Cuadros de


texto, botones, casillas de activacin y plantillas,
Anaya Multimedia, Madrid.

CONCLUSIONES

[5] McRoberts, M. (2010). Beginning Arduino,


Ultrasonic Rangefinders, Apress, New York.

En este artculo se ha presentado un sistema capaz de


realizar la conexin inalmbrica con un mecanismo y tomar el
control de este, mediante comandos de voz empleando sntesis,
con una distancia mxima de control de 100m utilizando
tecnologa bluetooth. El sistema se ha probado en un
dispositivo mvil xperia Z, el cual cuenta con Android 4.3; el
sistema instalado en el dispositivo ha tenido una fuerte
estabilidad ya que ha podido recuperarse ante fallos
inesperados.
Con este sistema podemos contribuir a sustituir algunas
comunicaciones inalmbricas, no tan solo para controlar
agentes mviles, si no tambin podran ser aplicables a distintos
sistemas digitales, robtica, o en otras reas de estudio; todo
esto con el reconocimiento y sntesis de voz.

[6] Meier, R. (2010). Professional Android 2


Application Development, Bluetooth, Networks,
and Wi-Fi, Wiley Publishing, Indiana.
[7] Monk, S. (2012). ARDUINO+ANDROID FOR
THE EVIL GENIUS, Bluetooth Robot, McGrawHill, USA.
[8] Jeong, H.-D.J., Sang-Kug Ye, Jiyoung Lim, Ilsun
You, Wooseok Hyun, Hee-Kyoung Song.: A
Remote Computer Control System Using Speech
Recognition Technologies of Mobile Devices, In:
Innovative Mobile and Internet Services in
Ubiquitous Computing (IMIS), 2013 Seventh
International Conference on , vol., no., pp.595,600,
3-5 (2013).

RECONOCIMIENTOS
Los autores reconocen el apoyo recibido para la
realizacin del presente proyecto, por parte del Instituto
Politcnico Nacional en la Escuela Superior de Computo.

REFERENCES
[1] D. E. Knudsen.1966 World Bnus Almanac.
Permafrost Press, Novosibirsk.

144

Copyright 2014 by AMRob

También podría gustarte