SISTEMA DE CONTROL DE UN MANIPULADOR MECáNICO POR DETECCIóN DE VOZ

CONTROL SYSTEM FOR A VOICE-DRIVEN MECHANICAL DEVICE

Javier Darío Barrios Cárdenas

Universidad Manuela Beltrán, Bogotá - Colombia. javierdariob@gmail.com

Recibido: 30/08/2012 - Aceptado: 01/11/2012


RESUMEN

En este trabajo se presenta el diseño e implementación del sistema de control de un manipulador mecánico por detección de voz, para la asz<sistencia a discapacitados. Está conformado por un circuito de reconocimiento de voz que convierte las palabras en datos binarios que se guardan en una memoria RAM y al mismo tiempo se procesan por medio de un microcontrolador para que puedan ser visualizados en una pantalla LCD y enviados a través de un cable de datos al circuito de control de un manipulador mecánico quien ejecuta las órdenes producto del reconocimiento.

Palabras clave: manipulador, microcontrolador, reconocimiento, voz.

ABSTRACT

This paper presents the complete design and implementation of a control system that is used to operate a voice-driven disabled-assisting mechanical device. The system consists of a speech-recognition circuit that stores the binary digits obtained from digitally processing spoken language into a RAM; at the same time the circuit uses a micro-controller for data visualization on an LCD. These data flow through a wired connection into the control block of a mechanical device, which finally executes a series of spoken commands.

Key words: mechanical device, micro-controller, speech recognition.

INTRODUCCIÓN

Teniendo en cuenta que "La Universidad Manuela Beltrán destina anualmente más de 200 millones de pesos anuales a programas con discapacitados, a través de Fundemos, siendo una de las prioridades de la entidad educativa en materia de responsabilidad social" [1]; y para contribuir con esta causa los estudiantes desarrollan proyectos orientados a la asistencia a discapacitados.

Principalmente por está razón se desarrollo el sistema de control de un manipulador mecánico por detección de voz, que es básicamente un transductor de fácil programación y manejo que convierte en tiempo real una orden verbal en comandos de actuación para dispositivos electromecánicos, para que estos puedan ser controlados fácilmente por personas con ciertas discapacidades aprovechando herramientas existentes como los son los procesadores para reconocimiento voz y los microcontroladores.

Con la llegada estos últimos al mercado, se ha logrado una mejora sustancial en los procesos de control digital de sistemas electromecánicos, ya que, con un solo chip se integran varias de las funciones principales de un sistema de control; pero tal vez la mayor ventaja de esta tecnología radica en la posibilidad de integrar hardware y software fácilmente y de esta manera crear sistemas dedicados a realizar las tareas que el usuario necesita teniendo la posibilidad de mejorarlos u optimizarlos en cualquier momento sin tener que hacer grandes cambios de hardware, por lo tanto hay que aprovechar la facilidad de diseño, versatilidad, precio, tamaño, y muchas otras ventajas e implementar diferentes tipos de interfaces para controles en todo tipo de dispositivos en el campo de la robótica, la medicina, las telecomunicaciones y el sector industrial.

MARCO TEÓRICO

Reconocimiento de voz

El reconocimiento de voz es un proceso en el cual un ordenador u otro tipo de máquina identifica o interpreta el lenguaje humano, a partir de conversión de una señal análoga (onda acústica) en señales eléctricas que puedan ser interpretadas por la maquina y de esta manera poder realizar una tarea determinada.

Para lograr esto las señales eléctricas se clasifican en secuencias de patrones y de acuerdo a su comportamiento espectral después se comparan con un diccionario previamente aprendido y almacenado de modelos acústicos y léxicos en un lenguaje determinado (Figura 1). A lo largo de este proceso, los datos de entrenamiento se usan para determinar los valores de los parámetros del modelo, para ello se utilizan chips de procesamiento para reconocimiento de voz que incorporan modelos estocásticos simplificados como los modelos ocultos de Marcov y tecnologías como redes neuronales y alineamiento dinámico del tiempo entre otras.

Procesadores para reconocimiento de voz

Los procesadores para reconocimiento de voz que se encuentran actualmente en el mercado se clasifican de acuerdo al tipo de reconocimiento que realizan; los principales tipos de reconocimiento son [2]:

•Hablante dependiente (SD Speaker Dependant): este procesador se caracteriza porque solo puede reconocer palabras de la persona que lo entrena con una precisión cercana al 95% por lo cual es utilizado en sistemas de seguridad principalmente.

•Hablante Independiente (SI Speaker Independant): este procesador tiene la capacidad de reconocer palabras independientemente de quien las pronuncie por lo cual debe responder a una gran variedad de patrones lo cual disminuye la precisión del reconocimiento, este tipo de procesador es altamente usado en sistemas telefónicos de audio respuesta.

Estilos de reconocimiento

Los sistemas de reconocimiento de voz tienen otras limitaciones relacionadas con la forma de hablar del usuario y para ello existen los siguientes estilos de reconocimiento [2]:

•Reconocimiento de palabras aisladas (IWR Isolated Word Recognition): este procesador puede reconocer solo palabras completas que se pronuncian por separado para lo cual el usuario hace una pausa extensa entre cada palabra.

•Reconocimiento de palabras conectadas (CWR, Connected Word Recognition): funciona de la misma manera que el IWR, pero estas pueden ser emitidas secuencialmente con pausas cortas entre ellas.

•Reconocimiento de voz continuo (CSR, Continuous Speech Recognition): como su nombre lo indica este tipo de procesador tiene la capacidad de reconocer un discurso continuo sin necesidad de hacer pausas, este tipo de reconocimiento es bastante complejo.

Manipulador mecánico

Un manipulador mecánico es esencialmente un brazo robótico articulado que le permite a un usuario mover, agarrar o actuar sobre diferentes objetos o dispositivos con el fin de optimizar tareas repetitivas, tareas que requieren alta precisión y flexibilidad o simplemente evitar el contacto del usuario con ciertas sustancias u objetos que le puedan causar algún daño físico.

Sistema mecánico de un manipulador

Un manipulador mecánico está conformado por estructuras rígidas unidas por vínculos móviles llamados articulaciones que son los que permiten la dinámica de la estructura del manipulador. Algunas de estas articulaciones pueden ser giratorias o angulares [3].

Generalmente los grados de libertad (variables de posición independientes) [4] en un manipulador se determinan por el número de articulaciones que este posee. Entre más grados de libertad tenga un manipulador mayor será la cantidad y complejidad de los movimientos que pueda realizar.

La última parte en el extremo de un manipulador es llamada efector final la forma de este depende de la aplicación en la cual va ha ser utilizado por ejemplo podría ser una pinza, un soplete de soldadura, un electroimán o cualquier otro dispositivo.

Actuadores

Los actuadores son dispositivos que proporcionan el movimiento a la estructura mecánica, de acuerdo al tipo de estructura, su forma y peso se utilizan tecnologías hidráulicas y neumáticas en actividades que necesitan un gran trabajo y motores eléctricos de corriente AC o DC, servos controlados o motores paso en tareas de más precisión y menos trabajo.

Sensores y sistemas de control

Cuando el proceso a realizar es repetitivo o de precisión, es necesario realizar un control con una realimentación de las variables físicas que intervienen en el proceso llamado control en lazo cerrado, y de acuerdo a estas variables corregir los errores, la mayoría de robots industriales incorporan sensores que permiten medir estas variables, lo que permite dar órdenes a los actuadores y controlar los parámetros durante el proceso.

Cinemática de un manipulador mecánico

"La cinemática es la ciencia que trata el movimiento sin considerar las fuerzas que lo ocasionan". La cinemática permite estudiar todas las propiedades del movimiento para generar trayectorias geométricas y derivadas de mayor orden de las variables de la posición con respecto al tiempo [3].

Momento de torsión (torque)

El momento de torsión T con respecto al punto A es una cantidad vectorial que surge del producto vectorial de la fuerza F que tiende a producir la rotación de un cuerpo en torno a cierto eje y el brazo de la palanca que es la distancia r normal al eje de rotación a una línea trazada a lo largo de la dirección de la fuerza (ecuación (1)) [5].

En la Figura 2 se observan los elementos presentes en un momento de torsión o fuerza.

PROCEDIMIENTO

El sistema de control de un manipulador mecánico por detección de voz está diseñado principalmente para ser utilizado en la asistencia a discapacitados pero puede ser usado para realizar otro tipo de tareas ya que el sistema de control por voz es independiente del manipulador mecánico y viceversa, en la Figura 3 se muestra el diagrama de bloques del sistema en conjunto diferenciándose el sistema de control por voz y el manipulador mecánico.

El sistema está conformado por un circuito reconocimiento de voz que convierte las palabras en datos binarios que se guardan en una memoria RAM y al mismo tiempo se procesan por medio de un microcontrolador para que puedan ser visualizados en una pantalla LCD y enviados al circuito de control del manipulador mecánico a través de un cable de datos, el manipulador mecánico es quien ejecuta las órdenes producto del reconocimiento.

Circuito de reconocimiento de voz

El principal dispositivo del sistema de control por voz es el Chip HM2007 quien se encarga de recibir las señales de voz procesarlas, codificarlas y enviar una salida en código binario BCD.

Para que el HM2007 (Figura 4), funcione correctamente, necesita un micrófono, un teclado matricial, una memoria SRAM de 64K, un cristal de 3,57MHz, y filtros RC para eliminar posibles ruidos de la alimentación o en la señal de entrada del micrófono, adicionalmente se utilizó una batería de 3V para alimentar la memoria SRAM ya que al quitar la alimentación de la fuente principal se pierden los datos grabados en ella. El HM2007 no preserva los datos en su puerto de salida por esta razón se utilizó un LATCH 74LS373 para retener los datos que ingresan al PIC.

El HM2007 debe ser previamente entrenado por el usuario con las palabras a reconocer (máximo 20 palabras de 1,96s) todas estas palabras se guardan en la memoria RAM estática HM6264 recomendada por el fabricante ya que la velocidad de lectura/escritura de esta es alta. Todas las órdenes y parámetros de posición de memoria donde se graba cada palabra se introduce a través de un teclado matricial de 4X3.

El resultado de un ciclo de reconocimiento es un código binario BCD de 8bits se describe en la Tabla 1, con el número del la posición de memoria donde se grabó anteriormente la palabra reconocida, dicho resultado es recibido por uno de los puertos del microcontrolador PIC16F877A.

Circuito de control y visualización

Además de recibir y procesar los datos del reconocimiento, el microcontrolador tiene varias funciones; en primer lugar controla la visualización en la pantalla LCD de 2X16, configurándola para recibir comandos y datos en un bus de 4bits, en esta pantalla se muestra el menú para entrenar el HM2007 y adicionalmente muestra los datos de salida; la navegación en dicho menú se realiza a través de 3 pulsadores (arriba, abajo, aceptar) con esto se logra hacer más intuitivo el proceso de entrenamiento y reconocimiento.

En segundo lugar el microcontrolador se encarga de bloquear (entrenamiento del HM2007) o dirigir los datos a través de un cable UTP con un conector DB-9 para controlar otros dispositivos electrónicos; para este proyecto específicamente el manipulador mecánico, en la Figura 5 se muestra la distribución de los datos de salida en el conector DB-9.

Circuito de control del manipulador mecánico

Quien se encarga de recibir los datos del sistema de control por voz es el circuito de control del manipulador mecánico que está compuesto principalmente por un microcontrolador PIC16F84A quien procesa esos datos y se encarga de generar PWM's para cada unos de los servomotores que dan movimiento al brazo. Cada PWM de onda cuadrada tiene una frecuencia de 50Hz y un ciclo variable desde 1ms hasta 2ms para la simulación de este circuito se utilizó el software proteus (Figura 6).

El circuito y los 6 motores son alimentados con una batería níquel cadmio de 6V a 2,8mAh, que le permite una gran autonomía y reduce al máximo la intrusión de ruido en los motores, el pin de control de cada motor está conectado a uno de los puertos de salida del microcontrolador.

Como se había mencionado anteriormente el manipulador mecánico puede ser utilizado con cualquier sistema de control que tenga una salida de datos binaria BCD, con niveles TTL, y con un conector DB-9 macho, en la Figura 7 se muestra la configuración de pines en el conector de entrada del manipulador mecánico.

Diseño del brazo mecánico

Para el diseño del brazo mecánico se utilizó el software SolidWorks de diseño CAD en 3D (Figura 8).

Las extensiones del brazo y los soportes de los motores (Figura 9) están compuestas de aluminio tubular de un calibre de 1mm, las articulaciones están hechas de platinas de aluminio de 1" x 1/2", se utilizó este material para la estructura del brazo porque además de su bajo peso y resistencia es muy fácil de cortar, perforar y además es resistente a la corrosión.

Como se muestra en la Figura 10) la base del brazo está compuesta de hierro (base blanca) y una lámina de acero inoxidable que es delgada y muy resistente.

La pinza (Figura 11) está compuesta de acrílico y las uniones a los motores son de plástico como esta pieza utiliza un sistema de engranajes se diseño en el software Solidworks y se cortaron las piezas en un ploter láser esto con el fin de tener precisión en las dimensiones de las piezas.

Para la elección de los motores indicados para el brazo se realizaron cálculos (ecuación (2), (3), (4)) del momento de torsión cuando todo el peso del brazo es perpendicular al origen ya que en esta posición en la cual los motores realizan el mayor trabajo.

Como se muestra en la Figura 12, el origen está en el eje de los motores de la primera articulación del brazo la masa del brazo es de 0,3kg mas la carga a levantar que es de 0,2kg, la distancia desde el origen hasta la pinza que sujeta la carga es de 0,32m.

En base a esta información para este proyecto se utilizaron servomotores HX12K, cada uno tiene un torque de 10kg-cm, por lo cual en la base se utilizaron dos para soportar el peso del brazo más la carga.

PRUEBAS

Pruebas al sistema de control por voz

Estas pruebas se realizaron para evaluar la eficacia en el reconocimiento de los comandos, para ello se utilizaron las primeras 20 posiciones de memoria y se grabaron en ese mismo orden palabras como números, comandos comunes y letras. Los resultados obtenidos se muestran en las Tabla 2 y Tabla 3, la primera con voz de un hombre y la segunda con voz de mujer.

Cada persona repitió 20 veces cada palabra, la primera columna muestra la posición de memoria donde se grabó la palabra, la segunda columna la palabra que se grabó, la tercera muestra el número de reconocimientos positivos, la cuarta el porcentaje de éxito del reconocimiento y la última las observaciones.

Pruebas sistema para un manipulador mecánico por detección de voz

Estas pruebas se realizaron con el fin de observar el funcionamiento del sistema de control por voz y el manipulador mecánico en conjunto para ello se grabó comandos para controlar el manipulador; estos comandos fueron grabados en el orden que se muestra en la Tabla 4 y en las posiciones indicadas. Los resultados se muestran en la Tabla 4 .

Cada persona repitió 20 veces cada palabra, la primera columna muestra la posición de memoria donde se grabo la palabra, la segunda columna la palabra que se grabó, la tercera muestra el número de reconocimientos positivos, la cuarta el porcentaje de éxito del reconocimiento y la última las observaciones.

Para demostrar que se puede optimizar el reconocimiento utilizando palabras con una pronunciación diferente se cambiaron las palabras que tenían mayores porcentajes de error y se repitió la prueba como se muestra en la Tabla 5.

Pruebas de capacidad y tiempo de respuesta

Estas pruebas se hicieron para ver la capacidad y tiempo de respuesta del manipulador mecánico.

Para probar la capacidad del manipulador se utilizó una botella con agua que en principio pesaba 50g y se comenzó a aumentar el peso de la botella hasta los 300g, pero se observó que los motores aumentaron su temperatura después de 15 minutos luego se hizo una prueba de resistencia con 200g y se mantuvo por 1 hora sin ningún problema.

También se midió el tiempo que tarda cada motor en hacer un recorrido de 160° los resultados se muestran en la Tabla 6.

Pruebas de autonomía

Se realizaron pruebas para determinar el tiempo de autonomía de la batería estas pruebas consistieron en dejar el manipulador encendido hasta que la batería se descargara. Luego se cargó la batería durante 9 horas y se repitió el procedimiento con una carga de 200g.

RESULTADOS

• En los resultados de las tablas 2 y 3 se puede evidenciar que el género o el tipo de voz no influye drásticamente en el reconocimiento, pero sí se puede observar que las palabras de varias sílabas o que tienen fonemas parecidos generan reconocimientos erróneos.

• En los resultados de la tabla 4 se puede ver que el porcentaje de error sigue siendo muy parecido al de las anteriores pruebas y que al usar palabras de varias sílabas el porcentaje de error es mayor. Individualmente en cada palabra.

• Comparando las tablas 4 y 5 se puede concluir que se puede optimizar el reconocimiento utilizando palabras con fonemas diferentes y de pocas sílabas llegando hasta un 97% de éxito en el reconocimiento.

• De acuerdo a las pruebas de capacidad se pudo determinar que un peso mayor a 200g puede ser nocivo para los motores.

• Al realizar las pruebas de la autonomía de la batería se pudo constatar que al usar el manipulador sin carga la batería suministra energía hasta 3 horas continuas y con carga por 1 hora.

• De acuerdo a las pruebas de velocidad del manipulador que el tiempo que gasta en realizar un desplazamiento de 160° es de 4,49s sin carga y de 4,55s con carga. Con lo que se puede concluir que la velocidad es aproximadamente igual en las dos situaciones.

CONCLUSIONES

El Chip de reconocimiento se ajustó perfectamente a los requerimientos del proyecto puesto que realiza un reconocimiento confiable, el hardware para su funcionamiento fue fácil de conseguir e implementar, la cantidad de palabras que reconoce fueron suficientes para controlar el manipulador mecánico, la salida de datos es fácilmente adaptable a otros circuitos y su costo es muy bajo.

• El circuito de reconocimiento ser complemento con una interfaz gráfica que permite que el usuario final lo pueda utilizar sin grandes complicaciones.

• Los problemas de ruido en el ambiente y ruido electromagnético se solucionaron con sencillos filtros RC que funcionaron haciendo el reconocimiento más preciso.

• Se optó por utilizar un cable UTP categoría 5 con conector DB-9 para conectar el manipulador al sistema de reconocimiento,puesto que al principio se utilizó cable ribbon y este presentó problemas de capacitancias parásitas.

• El reconocimiento de voz es aproximadamente igual en hombres y mujeres, pero se pudo comprobar quien graba la palabra es quien tiene que pronunciarla ya que es un reconocedor de voz dependiente.

• Para la contracción del manipulador se resolvió utilizar aluminio como material principal de la estructura del manipulador por la resistencia, la facilidad de corte, doblado, transformación y el bajo peso que presenta este material.

• En principio se construyó una pinza en aluminio pero esta no funcionó debido a la imprecisión en la distribución del sistema de engranajes, además del alto peso de la estructura de la pinza, por lo cual se rediseñó en Solidworks y se cortó en una lámina de acrílico con un ploter láser, logrando reducir el peso y mejorar el mecanismo.

• El motor de la primera articulación no tenía el suficiente torque para animar toda la estructura por lo cual se decidió utilizar dos motores de las mismas características enfrentados.

Referencias Bibliográficas

[1] Diario el Tiempo; Los d iscapacitados son una prioridad” diario el Tiempo. [En línea], consultado en Mayo 15 de 2011, disponible en: http://www.eltiempo.com/archivo/documento/MAM-2198901

[2] J. Snehi; Computer peripherals and interfacing, Editorial: Laxmi publications LTDA, Primera edición, 2006.

[3] A. Ollero; Robótica: manipuladores y robots móviles”, Editorial Marcombo, 2001.

[4] J. Craig; Robótica, Editorial: Pearson educación, 2006.

[5] A. Serway, Física, Editorial: Pearson Educación, 2001.