La Mecatrónica en México - mecamex.net · Implementación de un Sistema de Procesamiento de...

63

Transcript of La Mecatrónica en México - mecamex.net · Implementación de un Sistema de Procesamiento de...

La Mecatrónica en México

Comité Editorial de la Revista

Diseño Gráfico Mónica Vázquez Guerrero

Kikey Stephanie Méndez Sánchez Alejandra Miguel Vargas Mandujano

Vinculación Luis Alberto Aguilar Bautista Luis Antonio Salazar Licea

Miguel Ángel Bacilio Rodríguez

Revisión de Formato Rodrigo Escobar Díaz-Guerrero

Conrado Vargas Cabrera Alejandro de León Cuevas Ángel Juárez Buenrostro

Soporte Técnico Gonzalo Elías Blanco Silva

Carlos Alberto Ramos Arreguín Juan Carlos Moya Morales

© DERECHOS DE AUTOR Y DERECHOS CONEXOS. La Mecatrónica en México, Año 7, No.1, Enero - Abril 2018, es una publicación cuatrimestral editada por la Asociación Mexicana de Mecatrónica A. C., Calle Fonología No. 116, Col. Tecnológico C.P. 76158, Querétaro Qro. Tel. (01- 442) 224 0257. www.mecamex.net/revistas/LMEM/ , Editores responsables: Juan Manuel Ramos Arreguín y José Emilio Vargas Soto. Reserva de Derechos al Uso Exclusivo en trámite, ISSN: 2448-7031. Responsables de la última actualización de este número: Juan Manuel Ramos Arreguín y José Emilio Vargas Soto. Este número se terminó de imprimir el 13 de Marzo del 2018. Las opiniones expresadas por los autores de los artículos no reflejan la postura de la Asociación Mexicana de Mecatrónica A.C. Esta revista es una publicación de acceso abierto, distribuido bajo los términos de la Asociación Mexicana de Mecatrónica A. C., la cual permite el uso, distribución y reproducción sin restricciones por cualquier medio, siempre y cuando los trabajos estén apropiadamente citados, respetando la autoría y el derecho de autor de las personas que realizaron los artículos.

PROLOGO Estimado lector,

Me es muy grato presentarte el presente número de la revista La Mecatrónica en México, en su primera edición del 2018. La cual es una edición especial dedicada a documentar trabajos en el área de los Sistemas Embebidos, en ésta ocasión se seleccionaron seis interesantes trabajos provenientes del 4° Congreso Internacional de Sistemas Embebidos, el cual se llevó a cabo del 07 al 09 de marzo del 2018 en la Universidad Autónoma de Guadalajara.

Reconozco y aprecio el trabajo desinteresado del comité editorial y del comité técnico de revisores, por lo que hago un reconocimiento a su trabajo y dedicación, gracias a ellos la existencia de la revista mejora en calidad y cantidad. Estoy seguro que continuaremos acrecentando conocimiento y difusión de trabajos y proyectos como los que se presentan en esta edición de la revista.

En estos momentos es de gran valía reflexionar y replantear sobre los

cambios tecnológicos que se están teniendo en todo el mundo en materia de conectividad e interacción de sistemas digitales y embebidos, los cuales propician nuevos productos y servicios de comunicación. Ante este panorama, los sistemas mecatrónicos juegan un papel relevante en el desarrollo y el rediseño productos, procesos y servicios.

Sin más que decir, doy paso al trabajo de cada artículo para que conozcas y

compartas la información especializada de los proyectos que a continuación se presentan.

.

Dr. José Emilio Vargas Soto Fundador Asociación Mexicana de Mecatrónica A.C.

ÍNDICE Aprendizaje Profundo para la Identificación de Objetos en Robótica Móvil Olivetto Rendón Alexis Josué, Villanueva Tavira Jonathan, Valdez Martínez Jorge Salvador y Magadán Salazar Andrea.

1

Implementación de un Sistema de Procesamiento de Potenciales Evocados Auditivos del Tronco Cerebral en una Plataforma Zynq De la Rosa José Pablo, Aguilar Lobo Lina M. y Ochoa Ruiz Gilberto.

10

Desarrollo de Interfaz Gráfica en Pantalla Táctil para Prototipo de Prensa de Extrusión Teth Azrael Cortés Aguilar.

18

Simulación Hardware-in-the-loop de un Robot Manipulador con Base en un Controlador Digital de Señales David Bedolla-Martínez, Fermín Hugo Ramírez Leyva y José Aníbal Arias Aguilar.

25

Diseño de una Interfaz Hombre-Máquina para la Adquisición de Datos en Robots Móviles Martínez Sánchez Roberto Fausto, Villanueva Tavira Jonathan y Valdez Martínez Jorge Salvador.

37

Plataforma Electrónica para el Acceso a Edificios y/o Casas Mediante Código QR Encriptado Troncoso-Ramos Jonathan Armando, Rodríguez-Reséndiz Juvenal, Pedraza-Ortega Jesús Carlos y Ramos-Arreguín Juan Manuel.

46

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 1 – 9. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 1

Aprendizaje Profundo para la Identificación de Objetos en Robótica Móvil

Olivetto Rendón Alexis Josué1, Villanueva Tavira Jonathan1*, Valdez Martínez Jorge Salvador1, Magadán Salazar Andrea2

[email protected], *[email protected], [email protected],

[email protected]

1División Académica de Mecánica Industrial, Universidad Tecnológica Emiliano Zapata 2Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET)

Resumen

En este artículo se muestra la comparación y evaluación de dos redes neuronales artificiales de tipo convolucional (ALEXNET y VGGNET) aplicado a un sistema de reconocimiento automatizado de objetos. Para lograr esto, se programaron las dos topologías de redes neuronales convolucionales en MATLAB, las cuales fueron entrenadas con cuatro categorías de imágenes para obtener como resultados la cuantificación del tiempo de procesamiento, precisión, datos perdidos, taza de aprendizaje. Esta información sirvió para determinar qué red convolucional presenta mayores beneficios en el proceso de clasificación. Palabras clave: Aprendizaje profundo, Reconocimiento de objetos, AlexNet, VGGNET, Aprendizaje automático

Abstract

In this paper the comparation and evaluation of convolutional neural networks (AlexNet and VGGNET) were applied to recognize objects. These convolutional neural networks topology were developed in MATLAB and were trained with four different categories of images, obtaining the cuantification of execution time, accuracy, data loss, learning rate. This information was used to determine which convolutional network presents the greatest benefits in the classification process Keywords: Deep learning, Object recognition, AlexNet, VGGNET, Machine learning

1. Introducción

El cerebro es el órgano más increíble del cuerpo humano. Interpreta la forma en que se percibe cada imagen, sonido, olor, sabor y tacto. Permite almacenar recuerdos, experimentar emociones e incluso soñar. Durante décadas, se ha tratado de construir máquinas inteligentes con cerebros, como asistentes robotizados para limpiar casas, coches que se conducen solos, microscopios que detectan enfermedades automáticamente, pero construir estas máquinas artificialmente inteligentes obliga a resolver algunos de los problemas computacionales más complejos con los que se han luchado, problemas que el cerebro humano puede resolver de una determinada manera en microsegundos [1].

En las últimas décadas, el machine learning se ha convertido en uno de los pilares de la

tecnología de la información. Con la creciente cantidad de datos disponibles hay buenas razones para creer que el análisis inteligente de datos se hará aún más omnipresente como un ingrediente necesario para el progreso tecnológico [2].

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 1 – 9. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 2

Nuevas técnicas como aprendizaje profundo (basado en redes neuronales) han surgido para tratar de simular en una máquina la forma en el que un cerebro funciona y aprende. El aprendizaje profundo es una técnica que se deriva del aprendizaje automático o mejor conocido como Machine Learning. El aprendizaje automático utiliza varias capas de procesamiento no lineal para aprender representaciones útiles de características directamente a partir de los datos. Los modelos de aprendizaje automático pueden lograr una precisión muy alta en la clasificación de objetos [3]. Esta técnica consiste en desfragmentar en profundidad diferentes características de un elemento de información y de esta manera aprender por medio de patrones, que no son evidentes de reconocer para una máquina. La motivación para el uso de las técnicas de aprendizaje profundo ha surgido como una posibilidad de tratar las abstracciones de alto nivel de una manera más eficiente, como el caso del reconocimiento de las personas en diferentes posiciones o situaciones, el aprendizaje profundo ha sido la nueva frontera del aprendizaje automático que se ha aplicado a diversos problemas complejos de reconocimiento y modelado de patrones, es decir, la clasificación de objetos, video e imagen, etc., con eficacia [4].

Una de las partes más importantes de una red neuronal artificial es el aprendizaje. El esquema

del aprendizaje de una red es lo que determina el tipo de problemas que será capaz de resolver. Las redes neuronales artificiales son sistemas de aprendizaje basados en ejemplos. La capacidad de una red para resolver un problema estará ligada de forma fundamental al tipo de ejemplos [5], por lo que, en este trabajo, se ha propuesto y evaluado un sistema de reconocimiento automatizado de objetos basado en redes convolucionadas utilizando un conjunto de redes neuronales artificiales para comparar el desempeño de cada una de ellas en el software comercial MATLAB.

2. Motivación

En la División Académica de Mecánica Industrial (DAMI) de la Universidad Tecnológica

Emiliano Zapata del Estado de Morelos se han desarrollado diversos proyectos relacionados con la robótica móvil. Sin embargo, hasta ahora lo robots desarrollados han sido programados con algoritmos de Hard Computing en lenguajes como: Robot C, LabVIEW, Arduino, Python y MATLAB. Es importante destacar que cada uno de los robots diseñados han seguido la metodología del Dr. Richard Grimmett que establece que para diseñar correctamente robots móviles estos deben cumplir con tres fases: a) Contar con dispositivos que permitan al robot la posibilidad de desplazarse correctamente, b) los robots deben de ser dotados de sentidos que le permitan ver a través de una cámara, escuchar por medio de un micrófono y hablar mediante una bocina; finalmente, el tercer paso es dotar a estos de una etapa de inteligencia que les permita evadir obstáculos, reconocer objetos y optimizar sus trayectorias [6]. Con este tipo de trabajos en un corto plazo se busca dotar de identificación de objetos empleando la técnica de aprendizaje profundo.

3. Objetivo general

Realizar un estudio comparativo con dos tipos de redes neuronales convolucionales aplicadas

al aprendizaje profundo que permitan la clasificación de objetos en un sistema de robótica móvil. 3.1 Objetivos particulares • Analizar dos tipos de redes neuronales convolucionales aplicadas al aprendizaje profundo en

el software MATLAB.

• Comparar los resultados obtenidos para cada uno de los modelos de redes neuronales artificiales convolucionales.

• Cargar la red neuronal artificial entrada en un Sistema embebido como Arduino, Raspberry Pi

o la tarjeta myRIO.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 1 – 9. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 3

4. Redes neuronales convolucionales Una red neuronal artificial convolucional es una técnica muy común en aprendizaje profundo,

inspirada en el mecanismo de percepción visual de las criaturas vivas [7]. En esencia son redes neuronales artificiales que emplean la operación de la convolución como una de sus capas. Actualmente, este tipo de redes se han aplicado exitosamente en problemas donde los datos de entrada sobre los cuales se van a realizar las predicciones cuentan con una reja conocida como topología de una serie temporal o una imagen [8]. A continuación, se describe el proceso de convolución de este tipo de redes neuronales artificiales [9].

Primero se desarrolla la operación de convolución en una dimensión. Dada una entrada I (t) y

un kernel K (a) la operación de convolución es dada por (1).

( ) ( ) ( )å -=a

atKaIts (1)

Sin embargo, una forma equivalente de esta operación dada la conmutatividad de la operación

de la convolución está dada por la siguiente expresión (2).

( ) ( ) ( )å -=a

aKatIts (2)

Finalmente, el signo negativo puede ser sustituido para obtener la correlación cruzada como

sigue en (3).

( ) ( ) ( )å +=a

aKatIts (3)

En la literatura sobre aprendizaje profundo y las implementaciones de software, la convolución y

la correlación cruzada se utilizan indistintamente. La esencia de la operación es que el kernel es un conjunto de datos mucho más pequeño en comparación con la entrada, y la salida de la operación de convolución es mayor cuando la entrada es similar al núcleo. Las figuras 1 y 2 ejemplifican mejor está idea en la que se toma una entrada aleatoria y un kernel arbitrario, se realiza la operación de convolución y el valor más alto se logra cuando el kernel es similar a una porción particular de entrada [9].

Figura 1. Operación de convolución intuitiva [9].

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 1 – 9. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 4

Figura 2. Operación de convolución de una dimensión [9].

De las anteriores figuras se puede observar los siguientes puntos: · La entrada es un gran conjunto de datos arbitrarios. · El kernel es el conjunto de datos más pequeño que el número de datos de entrada. · La operación de convolución se realiza con los datos del kernel y la entrada calculando la

similitud de los mismos. · La operación de convolución produce el valor más alto donde el kernel se asemeja más a una

proporción de los datos de entrada. La operación de convolución puede ser extendida a dos dimensiones (Ver figura 3), dada una

entrada I(m,n) y un kernel K(a,b), como se ve en (4).

( ) ( ) ( )åå --=a b

bnamKbaIts ,, (4)

Una equivalencia de esta operación dada la conmutatividad de la operación de la convolución

está dada por la siguiente expresión en (5).

( ) ( ) ( )åå --=a b

nmKbnamIts ,, (5)

Finalmente, se puede reemplazar el signo negativo para obtener una correlación cruzada lo que

arroja la expresión (6).

( ) ( ) ( )åå ++=a b

nmKbnamIts ,, (6)

Finalmente, después de mencionar la operación de convolución, ahora se puede profundizar más en las partes que constituyen a las redes neuronales convolucionales, cuya característica principal es el uso de una capa de convolución en lugar de una capa totalmente conectada que implique una multiplicación de matriz. Por lo tanto, una capa totalmente conectada puede ser descrita de la siguiente forma y = f (x, w) donde x es el vector de entrada, y el de salida, w es un conjunto de pesos y finalmente, f es la función de activación. Adicionalmente, una capa de convolución se puede describir cómo y = f (s (x, w)) donde s denota la operación de convolución entre la entrada y los pesos [9].

En la figura 4 se muestra una red neuronal con una capa completamente conectada, mientras que la figura 5 muestra una red que realiza el proceso de la convolución.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 1 – 9. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 5

Figura 3. Operación de convolución de dos dimensiones [9].

Figura 4. Operación de convolución de dos dimensiones [9].

Figura 5. Interacciones dispersas en la capa de convolución [9].

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 1 – 9. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 6

Finalmente, en la figura 6 se observa el comportamiento de los parámetros en una capa de convolución y la falta de ella en una capa completamente conectada. De lo anterior, se puede señalar lo siguiente.

· Para el mismo número de entradas y salidas, la capa conectada contiene más conexiones y

correspondientemente una capa contiene los pesos para la convolución. · Los resultados que se producen empleando la capa de convolución conllevan un menor

número de iteraciones con respecto a una capa que se encuentra totalmente conectada. · Los parámetros y los pesos se comparten a través de la capa de convolución, dado que el

núcleo es mucho más pequeño que la entrada y el kernel se desliza a través de la entrada.

Figura 6. Parámetros compartidos de pesos. [9] A continuación, se describen los dos tipos de redes neuronales convolucionales empleadas en

este trabajo de investigación. 4.1 ALEXNET Esta red neuronal de tipo convolucional fue creada inicialmente para un concurso llamado

ImageNet Large Scale Visual Recognition Competition (ILSVRC), que es una competencia considerada como los juegos olímpicos de la visión por computadora, donde diversos equipos de varias partes del mundo participan para encontrar el mejor modelo de visión por computadora para tareas como clasificación, localización y detección. Alexnet está formada por cinco capas convolucionales, capas de agrupación máxima, capas eliminadas, y tres capas totalmente conectadas. La red se diseñó para la clasificación de mil posibles categorías [10].

Figura 7. Arquitectura de la Red AlexNet [9].

4.2 VGGNET Es una red de 16 capaz utilizada por el grupo de Geometría Visual de la Universidad de Oxford

con el que compitieron en el concurso llamado ImageNet Large Scale Visual Recognition Competition

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 1 – 9. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 7

(ILSVRC). Esta red contiene una base de entrenamiento de 254*254 imágenes en RGB a través de 5 bloques de capas convolucionales donde cada bloque está compuesto por un número creciente de filtros de 3x3.

5. Procedimiento

Para realizar las pruebas de las dos diferentes topologías de redes neuronales convolucionales se empleó el software comercial MATLAB en su versión 2017. Las redes fueron entrenadas para clasificar cuatro categorías de imágenes como: sillas, ventiladores, switches y silla escolar. Es importante mencionar que cada red como entrada debe de contener imágenes en diferentes tamaños, para el caso de AlexNet se requieren imágenes de 227x277 pixeles y en el caso de VGG16 se requieren 224x224. En la figura 8 se observan un conjunto de imágenes empleadas para el entrenamiento de estas dos topologías.

Figura 8. Conjunto de imágenes para entrenamiento. A continuación, en la figura 9, se muestra el fragmento de código empleado en MATLAB para el

entrenamiento de las redes neuronales convolucionales, así como en la figura 10 las pantallas de ejecución para la etapa de reconocimiento.

clear cámara;

camara=webcam;

redcov=Mynet;

while true

capt=camera.snapshot;

capt=imresize(capt,[227,227]);

label=classify(redcov,picture);

image(capt);

title (char (label));

drawnow;

end

Figura 9. Código en MATLAB para la etapa de entrenamiento.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 1 – 9. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 8

Figura 10. Vista del funcionamiento de la cámara y la red neuronal empleada.

6. Resultados Después de realizar las pruebas correspondientes para cada uno de los modelos de red

neuronal convolucional, se obtuvieron los siguientes resultados en la que se pueden observar el tiempo de procesamiento, precisión, datos perdidos, tasa de aprendizaje entre otros, con el objeto de verificar en la práctica que tipo de red neuronal convolucional presenta mayores beneficios en el proceso de clasificación, ver tabla 1 y 2.

Tabla 1. Resultados obtenidos

Redes Características

Épocas Tiempo de entrenamiento Pérdida de Datos Precisión

Alexnet 8 2780 s. 1.275 100%

Vgg16 1 8120 s. 1.7992 22.22%

Tabla 2. Resultados obtenidos.

Redes Características

Capas Tasa de Aprendizaje Tipo de imágenes Tamaño de Imágenes Alexnet 25 0.0010 2D 227x227 Vgg16 41 0.0010 2D y 3D 224x224

7. Conclusiones En este trabajo se constató con los resultados de la identificación sobre los objetos deseados, la

identificación de los objetos fue de manera distinta para cada red neuronal convolucional, para AlexNet el procesamiento y la identificación del objeto fue más rápido que el de VGG16, esto es debido a la gran cantidad de capas que contienen cada una y esto afecta el tiempo para la obtención de una respuesta. En estas pruebas no se ocuparon unidades de procesamiento grafico (GPU), estos pueden agilizar el proceso ya que el tiempo de procesamiento y entrenamiento de un modelo de aprendizaje profundo pude llevar mucho tiempo, desde días hasta semanas. El uso de la aceleración mediante GPU puede agilizar este proceso y reducir el tiempo.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 1 – 9. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 9

Con los resultados adquiridos, se llegó a la conclusión que para esta problemática es más viable ocupar la red neuronal convolucional AlexNet, debido a su procesamiento más eficaz y su entrenamiento más rápido en comparación a la red neuronal convolucional VGG16.

Referencias [1] Buduma N. y Locascio N. Fundamentals of Deep Learning: Designing Next-Generation Machine

Intelligence Algorithms, "O'Reilly Media, Inc. Pp. 228. 2006. [2] Smola A. y Vishwanathan S.V.N.. Introduction to machine learning. Ed. Cambridge University

Press. 2008 [3] De la Rosa E. El aprendizaje profundo para la identificación de sistemas no lineales, Tesis de

Maestria Centro de Investigación y de Estudios Avanzados del Instituto Politécnico Nacional. 2014.

[4] De Marsico M., Petrosino A. y Ricciardi S. Iris Recognition through Machine Learning techniques: a survey, Pattern Recognition Letters 82(2). Pp. 106 – 115. 2016.

[5] Isasi P. y Galván I. Redes de Neuronas Artificiales un Enfoque Práctico, Ed. Pearson. Pp. 229. 2014.

[6] Grimmett R. “The New Accessible Robotics: Building Amazing Projects with Inexpensive Hardware and Open Source Sofware”, International Conference on Mechatronics, Electronics and Automotive Engineering, 2014.

[7] Tindall L., Luong C. y Saad A. Plankton Classification Using VGG16 Network. Noiselab University of California. 2017

[8] Gu J., Wang Z., Kuen J., Ma L. Recent Advances in convolutional neural networks, Pattern Recognition 77.Pp. 354 – 377. 2017

[9] Ketkar N. Deep Learning with Python: A Hands-on Introduction, Apress, Pp. 226. 2017. [10] Krizhevsky A., Sutskever I. y Hinton G. E. (). “Image Net Classification with Deep Nonvolutional

Neural Netwoks”, NIPS'12 Proceedings of the 25th International Conference on Neural Information Processing Systems – Vol. 1. 2012

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 10 – 17. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 10

Implementación de un Sistema de Procesamiento de Potenciales Evocados Auditivos del Tronco Cerebral en

una Plataforma Zynq

De la Rosa José Pablo, Aguilar Lobo Lina M., Ochoa Ruiz Gilberto

[email protected], [email protected], [email protected]

Departamento de Ciencias Computacionales Universidad Autónoma de Guadalajara

Resumen

En este trabajo se presenta el diseño de hardware y software para el desarrollo de un dispositivo de diagnóstico de potenciales evocados auditivos de bajo costo. La arquitectura se basará en un dispositivo Zynq, el cual está conformado por un procesador ARM A9 y un bloque de lógica programable (FPGA), cuyo flujo de diseño proporciona nuevas oportunidades en la exploración de diseño de sistemas embebidos. En particular, la lógica programable integrada en dicho dispositivo permite la creación de sistemas diversificados o a la medida; además fomenta el co-diseño HW/SW de sistemas complejos, como aquellos relacionados al procesamiento de señales e imágenes. En el contexto particular de este trabajo se explora el uso del Zynq como base para la creación del dispositivo portátil para la medición de potenciales auditivos. La fase de co-diseño será realizada utilizando herramientas de alto nivel basadas en Matlab y Simulink, que permiten la generación automática de código, tanto para el procesador como para la lógica programable; logrando un mejor compromiso en términos de consumo de recursos y en aspectos de tiempo real. Palabras clave: Procesamiento de Señales Biomédicas, SoC, FPGA, Potencial Evocado, Hipoacúsica.

Abstract

In this paper, we present the design of a hardware/software methodology for a low-cost devic, to be used in the diagnosis and study of auditory braintream responses. The architecture will be based in a Xilinx Zynq Extended Processing Platform, which is encompassed by two main components: a processing system (PS), based on an ARM A9 processor, and secondly, by a block of programmable logic attached to the PS via an AXI bus. Such devices show great potential in many areas, as they foster the exploration of various design architectures for creating novel embedded systems. In particular, the programmable logic integrated in the deice allows for the creation of customizable or tailored embedded systems; furthermore, it fosters HW/SW co- design strategies for very complex systems, such as those used in IA, computer vision, and signal and image processing. In the particular context of this work, we explore the capabilities afforded by the Zynq device as a launching pad for the rapid prototyping of a portable device for measuring the auditory brainstream responses. The co-design phase will be performed using high-level synthesis tools such as Matlab and Simulink, which enable transparent and automatic code generation, both for the processor and the programmable logic, enabling faster and more accurate design space exploration for various constraints. Keywords: Biomedical Signal Processing, System On Chip, FPGA, Auditory Brainstream Response.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 10 – 17. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 11

1. Introducción

Los potenciales evocados auditivos (PEAs) se definen como un conjunto de actividades neuro eléctricas generadas en respuesta a un estímulo acústico, manifestándose como un patrón de variaciones de potencial en las membranas neuronales del sistema auditivo [1] [2].

El análisis de estas señales generadas por el sistema nervioso es de gran interés en diversos

campos médicos, tales como la neurología y la pediatría. Generalmente, una prueba de PEAs consiste en el uso de electrodos ubicados en la superficie de la piel y los lóbulos del pabellón auricular para capturar y analizar las respuestas causadas al aplicarse un impulso, ya sea generado por auriculares o por medio de un vibrador óseo [3].

Esta prueba proporciona al especialista un método no invasivo para determinar la integridad del

oído interno (cóclea) y los caminos auditivos del paciente, así como de identificar irregularidades tempranas en las vías nerviosas-auditivas. El especialista puede observar el avance de la señal a través de diversas secciones del canal neurosensorial: la porción coclear del octavo nervio craneal, el núcleo coclear, el complejo olivar superior, el lemnisco lateral y el colículo inferior. [4] Comúnmente, la señal de salida generada por el tronco cerebral manifiesta 5 ondas principales. Son de especial interés las ondas I y II, generadas por el octavo nervio coclear y la cóclea, y las ondas III y V, generadas por la interacción de ambos lados del tronco cerebral.

La interpretación de las ondas obtenidas implica realizar una comparación entre los resultados

registrados en cada oído, así como dichos valores con los datos existentes en los catálogos demográficos normativos; los cuales figuran un canon de umbrales comunes de acuerdo con factores poblacionales, tales como el género y la edad de los pacientes [4].

En general, la prueba de PEAs suele clasificarse en dos tipos de acuerdo con sus objetivos [4]. - Búsqueda de umbrales auditivos: Evaluación pediátrica a fin de detectar la existencia de

neuropatía auditiva en el paciente, así como de determinar el grado de pérdida auditiva y la latencia de cada oído.

- Evaluación Neurológica: Evaluación de niños y adultos para determinar la integridad del sistema auditivo.

Hoy en día, la aplicación e interpretación de la prueba de PEAs requiere de la asistencia de

especialistas, lo cual vuelve necesaria la visita periódica del paciente a centros de atención. El desarrollo de un dispositivo portátil de bajo costo capaz de efectuar y diagnosticar las pruebas de PEAs del tronco cerebral permitirá simplificar de forma considerable el proceso de reconocimiento y tratamiento de patologías auditivas en adultos e infantes.

2. Contexto 2.1 Dispositivos FPGA. Se ha descubierto que los sistemas digitales con la capacidad de ejecutar muchos algoritmos

de manera cuasi-instantánea son de gran interés debido a que unen las ventajas de los dispositivos de procesamiento digital con aquellas de sus contrapartes analógicas [13]. Esto ha conducido a investigadores e industria al desarrollo de una tercera categoría de dispositivos de procesamiento, en los cuales los dispositivos lógicos programables juegan un papel primordial.

Las matrices de puertas programables (FPGAs por sus siglas en inglés) representan un

elemento de gran importancia dentro de esta categoría, ya que consisten en dispositivos que incluyen algunos recursos heterogéneos (tales como la memoria BRAM y los bloques de procesamiento digital de señales DSP) dentro de su fábrica programable, así como los sistemas lógicos necesarios para

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 10 – 17. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 12

implementar una gran variedad de algoritmos; lo que proporciona un alto nivel de integración y heterogeneidad computacional. Aunado a esto, los principales beneficios del uso de FPGAs para la implementación de sistemas complejos se encuentran relacionados a su rendimiento; tanto en términos de capacidades superiores de procesamiento de entradas y salidas, como de altas velocidades de ejecución al utilizar arquitecturas masivamente paralelas.

Los dispositivos reprogramables han logrado muchas mejorías en diversas aplicaciones de

amplio interés, pues permiten a los diseñadores el combinar un conjunto de procesadores RISC con aceleración por hardware [13] para implementar diversos algoritmos y permitir su integración con bloques de comunicación y otros periféricos especializados en Sistemas en Chip (SoC). Por otro lado, los diseñadores pueden idear arquitecturas de hardware personalizadas para aplicaciones rigurosas en términos de desempeño, las cuales, al ser acopladas con los procesadores embebidos, podrían permitir una diversificación de productos [14]. Algunas otras ventajas proporcionadas por los SoC FPGAs sobre tecnologías alternativas consisten en: su capacidad de ser programados en el campo, su personalización a través de la lógica programable y su flexibilidad al permitir la adaptación de protocolos de comunicación en configuraciones específicas de sistema.

Una tendencia actual es el cambio hacia la miniaturización de los sistemas de procesamiento de

aplicaciones. Algunos proveedores de equipos de fábrica, por ejemplo, han aprendido que al incorporar sofisticados algoritmos de control de motores, pueden usar motores de bajo costo; a la vez que reducen el consumo de energía y mejoran la confiablidad y la seguridad de sus productos. Este tipo de tendencias han sido conducidas por la necesidad de dispositivos semiconductores de alto desempeño, bajo consumo, simples en el manejo de sus protocolos y útiles para controlar la siguiente generación de mecanismos.

Adicionalmente, los costos reducidos son prioridad para un gran número de aplicaciones

especializadas y de gama alta; los FPGAs y los SoC tratan esta necesidad al permitir la diversificación por medio de algoritmos personalizados y funciones estrechamente integradas en un dispositivo único. Esto reduce los costos de la lista de materiales, incluyendo los circuitos integrados de aplicación específica, procesadores DSP, buses industriales y protocolos de comunicación en un solo dispositivo, tal como es ejemplificado en la figura 1, que muestra una arquitectura prototípica de un SOC basado en FPGA.

Figura 1. Diagrama de bloques de un dispositivo FPGA.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 10 – 17. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 13

Algunas características y funciones del FPGA pueden ser actualizadas de forma simple después de que el sistema ha sido instalado en campo [15]. En áreas relacionadas con las comunicaciones o en los algoritmos de procesamiento de señales, en las cuales los protocolos y los estándares cambian constantemente, la programación de un FGPA reduce los costos de migración y amplía la escalabilidad de las soluciones desarrolladas; lo mismo aplica con los algoritmos de control o de procesamiento digital de señales o imágenes, que pueden ser actualizados en cualquier momento. Esto trae consigo grandes ventajas relacionadas al prototipado rápido de sistemas embebidos y de sistemas en Chip, y puede tener un impacto importante al minimizar los costos y tiempos de salida de un producto al mercado.

Tal como se muestra en el bloque A de la figura 1, la gran mayoría de los FPGAs y los SoC

FPGAs incorporan canales programables de conversión de señales Analógico-Digitales (ADC), que, junto con los sistemas lógicos, la memoria y los recursos DSP permiten la implementación de funciones personalizadas. Los FPGAs se integran también por hasta cientos de pines de entrada/salida programables, que pueden fungir como interfaces con dispositivos electrónicos inteligentes (IED), sensores y actuadores. Además, la posibilidad de incluir procesadores integrados (bloque B en la Fig. 1) dentro del dispositivo fomenta estrategias de co-diseño HW / SW más eficaces, ayudando a los diseñadores a lograr un mejor compromiso en la implementación de los bloques constituyentes de un algoritmo dado. El uso de funciones o algoritmos especializados dentro del SoC FPGA trae consigo tres grandes beneficios:

(1) Los algoritmos generalmente no operan de forma separada: un dispositivo inteligente debe

ser capaz de realizar la configuración de sistema, administrar y monitorear las operaciones a fin de garantizar la operación correcta de un proceso. Estas tareas suelen ser atendidas por un procesador integrado estrechamente acoplado, que puede implementarse en los recursos FPGA o ser una CPU cableada.

(2) El procesador se ocupa de programar la ejecución y la comunicación entre las funciones o algoritmos cooperantes, haciendo que la implementación del control sea más fácil de mantener y validar en cada etapa del proceso de desarrollo.

(3) La actuación de los algoritmos de control, así como la comunicación entre los diversos módulos de control, sensores y actuadores se reduce drásticamente debido a los tiempos de respuesta más cortos de la implementación de hardware subyacente.

2.2 SoC FPGA El diseño de SoCs basados en FPGA ha girado típicamente alrededor de una visión centrada

en el hardware del diseño del sistema. Esto ha provocado que los FPGAs sean percibidos como complejos y difíciles de usar; lo cual ha limitado su uso a pequeños nichos de aplicación, en las cuales se ha logrado demostrar todo su potencial. Para tratar con estos problemas, los principales proveedores de FPGAs han buscado adaptarse a las necesidades del mercado de forma tecnológica y metodológica, realizando actividades como: (1) aumentar la integración de funciones especializadas (como el DSP) y los bloques de memoria configurable (como el BRAM). (2) Soportar un abundante número de protocolos de comunicación para mover grandes cantidades de datos.

Por otro lado, se ha logrado atacar la división de hardware/software típicamente asociada a los

SoCs basados en FPGAs a través de la inclusión de procesadores de grado de aplicación (como el ARM Cortex A9) capaces de utilizar sistemas operativos completos (Ej. Linux). Este nuevo tipo de dispositivos acopla un par de procesadores ARM de alto desempeño con un bloque de extensión de lógica programable para promover una visión centrada en el software; se busca así simplificar la especificación, implementación y validación de sistemas heterogéneos.

Siguiendo lo anterior, este tipo de plataformas de procesamiento extensibles (tal como ha sido

denominado el dispositivo Zynq de Xilinx en [16]), utilizan un enfoque basado en el procesador, en el cual se enfatiza el flujo de desarrollo del procesador ARM sobre los enfoques de diseño tradicionales basados en FPGA; lo que implica que los diseñadores de software pueden comenzar a desarrollar

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 10 – 17. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 14

nuevas aplicaciones de inmediato, utilizando la arquitectura ARM Cortex y aprovechando un número fijo de módulos de estándares e interfaces.

Algunos SoC FPGAs como el Zynq integran un bloque de extensión lógica programable

estrechamente acoplado que permite a los diseñadores dividir sus funciones de hardware y software en función de los requisitos del sistema, y personificar el dispositivo para un escenario de aplicación determinado [17], permitiendo implementar funciones en el bloque de extensión de lógica programable para crear sus propios SoCs altamente optimizados, con las ventajas adicionales de reducir el conteo de chips y la complejidad de la placa del circuito, así como el evitar problemas de integridad de las señales.

3. Arquitectura propuesta. La figura 2 presenta el diagrama de bloques del sistema propuesto. El primer prototipo constará

de un co-diseño compuesto por un SoC programable [18] y una PC. Se utilizará el SoC para realizar las funciones de acondicionamiento de las señales neurológicas recibidas, así como de generación de los estímulos que serán aplicados al paciente. Mientras tanto, la PC jugará el rol de procesar y presentar al usuario las señales recibidas mediante una interfaz de usuario; misma en la cual éste podrá controlar las señales de estímulo aplicadas el paciente.

Figura 2. Diagrama de bloques del sistema. 3.1 Componentes de Hardware. El diseño de Hardware constará de 3 etapas principales: acondicionamiento, procesamiento y

generación de estímulos. Acondicionamiento de señal. Se adquirirá la señal de respuesta del paciente utilizando

electrodos superficiales conectados a un amplificador de instrumentación, cuya salida será enviada al SoC para su posterior acondicionamiento.

Se propone el uso del SoC programable Zynq-7000 cuya arquitectura puede visualizarse en la

figura 3; éste se compone de una unidad lógica programable y un sistema de procesamiento basado en dos procesadores ARM Cortex-A9. Se buscará hacer uso de sus convertidores analógicos-digitales (ADC) de 12 bits para la adquisición de la pre-amplificada.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 10 – 17. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 15

Figura 3. Diagrama de procesamiento del Zynq-700 (Recuperado de [12]). Procesamiento. Mediante el uso de los periféricos USB 2.0, el dispositivo Zynq permitirá el

intercambio de información con la PC; de esta forma, podrá realizarse el control de los estímulos auditivos, así como la visualización de los resultados en la pantalla de la computadora.

Generación de estímulos. La producción de señales auditivas se realizará mediante el manejo

de los convertidores digital-analógico (DAC) del SoC. Dichas señales serán controladas mediante el sistema de procesamiento utilizando las variables especificadas por el usuario a través de la interfaz de la computadora. Finalmente, se contará con una etapa de amplificación analógica basada en el uso de amplificadores operacionales para reproducir el estímulo auditivo utilizando audífonos de audiometría.

3.2 Implementación en el Zynq-7000 SoC. Se trabajará en la programación del Zynq-7000 [19] siguiendo el flujo de la figura 4, en el cual

se pretende realizar implementaciones de hardware y software en el SoC a partir de un modelo dinámico del sistema creado en Simulink. Esto proporciona la posibilidad de realizar simulaciones completas del sistema para posteriormente utilizar las modalidades de generación automática de códigos C/C++ para los núcleos Cortex A-9 y de código HDL para la lógica programable a partir de dicho modelo.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 10 – 17. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 16

Figura 4. Flujo de implementación para un SoC programable (basado en [12]).

4. Discusión y conclusiones El estudio de los potenciales evocados auditivos es de gran relevancia para la detección

temprana y tratamiento de patologías auditivas en infantes, así como en adultos en situaciones en las cuales otros tipos de técnicas resultan poco viables. En este proyecto se han presentado los avances hacia el desarrollo de un dispositivo portátil capaz de realizar la prueba de PEA de una forma accesible. Se ha propuesto el uso de una arquitectura heterogénea compuesta por un SoC programable Zinq-7000 y una PC.

5. Trabajo futuro Se contempla como trabajo futuro el diseño detallado y prototipaje del sistema de

acondicionamiento de señales neuro eléctricas basado en el uso del SoC programable, así como el desarrollo de un primer prototipo con aplicación de la arquitectura propuesta.

Referencias [1] Miyara, Federico. "Seminario Taller Sobre Potenciales Evocados Auditivos." Facultad De

Ingenierías Exactas, Ingeniería Y Agrimesura. Universidad Nacional De Rosario, n.d. Web. 27 julio 2017, https://www.fceia.unr.edu.ar/acustica/biblio/evocado.pdf.

[2] Plourde, G. “Auditory evoked potentials.” Best Practice & Research Clinical Anaesthesiology, Elsevier, 7 dic. 2005.

[3] Trinidad, German, Gabriel Trinidad, and Eduardo De La Cruz. "Potenciales Evocados Auditivos." Puesta Al Día En Técnicas (2008): 296-301. 27 jul. 2017.

[4] Crumley, Wendy. “Good Practices in Auditory Brainstem Response, Part 1.” Audiology Online, Continued, 13 jun. 2011, www.audiologyonline.com/articles/good-practices-in-auditory-brainstem-827

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 10 – 17. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 17

[5] San Salvador. “2 Channel electro-audiometer”. Web. 27 jul. 2017, http://san- salvador-ss.all.biz/electroaudimetro-digital-2-canales-bipolares-audix- g2549#.WXAVfBjmH_Q

[6] American Speech-Language-Hearing Association. “Auditory Brainstem Response (ABR).” Averican Speech-Language-Hearing Association, ASHA, www.asha.org/public/hearing/Auditory-Brainstem-Response/

[7] Rance, G, et al. “Steady-State Evoked Potential and Behavioral Hearing: Ear and Hearing.” Steady-State Evoked Potential and Behavioral Hearing Thresholds in a Group of Children with Absent Click-Evoked Auditory Brain Stem Response., Ear Hear, feb. 1998, journals.lww.com/ear-hearing/Fulltext/1998/02000/Steady_State_Evoked_Potential_and_Behavioral.3.aspx

[8] “Auditory Brainstem Response (ABR) Evaluation.” John Kopkins University, www.hopkinsmedicine.org/healthlibrary/conditions/adult/otolaryngology/Auditory_Brainstem_Response_Evaluation_22,AuditoryBrainstemResponseEvaluation

[9] “Auditory Brainstem Response (ABR).” Averican Speech-Language-Hearing Association, ASHA, www.asha.org/public/hearing/Auditory-Brainstem-Response/

[10] “Auditory Brainstem Response (ABR) Test.” Childrens Hospital of Pittsburgh, www.chp.edu/our-services/audiology/patient-procedures/abr.

[11] Crockett, Louise H. The Zynq Book: Embedded Processing with the ARM Cortex-A9 on the Xilinx Zynq-7000 All Programmable SoC. Strathclyde Academic Media, 2014.

[12] Jim Turley. “MathWorks Targets Hardware/Software.” EEJournal, 27 ene. 2015, www.eejournal.com/article/20150127-matlab/.

[13] R. Dubey, Embedded System Design Using Field Programmable Gate Arrays, Springer, 1st edition, 2009.

[14] R. Woods, J. McAllister, G. Lightbody, and Y. Yi, FPGA-based Implementation of Signal Processing Systems, Wiley, 1st edition, 2008.

[15] I. Kuon and R. Rose, Quantifying and Exploring the Gap Between FPGAs and ASICs, Springer, 2010.

[16] Xilinx, “Ds190 - zynq-7000 all programmable soc overview,” https://www.xilinx.com/support/documentation/data_sheets/ds190-Zynq-7000-Overview.pdf.

[17] M. Santarini, “Xilinx architects ARM-based processor-first, processor-centric device,” Xilinx Xcell Journal, vol. 71, pp. 6–11, 2010.

[18] Xilinx, Zynq-7000 all programmable soc technical reference manual, 2016, https://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf.

[19] Crocket and Steward, The Zynq Book, The University of Strathclyde, 1st edition, 2015.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 18 – 24. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 18

Desarrollo de Interfaz Gráfica en Pantalla Táctil para Prototipo de Prensa de Extrusión

Teth Azrael Cortés Aguilar*

Departamento de Ingeniería Electrónica, Instituto Tecnológico José Mario Molina Pasquel y Henríquez, Campus Zapopan, Camino Arenero No. 1101, Col. El Bajío, C.P. 45019, Jalisco, México.

*[email protected]

Resumen El presente artículo trata sobre el desarrollo de una interfaz gráfica HMI implementada con sistemas embebidos y una pantalla táctil para el control y supervisión de procesos en el prototipo de una prensa de extrusión. Las ventajas técnicas que aporta la interfaz gráfica al prototipo determina el factor diferenciador del equipo para su aplicación en pruebas de laboratorio. Palabras clave: Sistemas embebidos, interfaz gráfica, prensa de extrusión.

Abstract This project involves the development of a graphical interface HMI implemented with embedded systems and a touch screen for the control and supervision of processes in the prototype of an extrusion press. The technological benefits of graphical interface provide to the prototype its differentiating factor for its application in laboratory tests. Keywords: embedded systems, graphical interface, extrusion press.

1. Nomenclatura GPU Graphics Processing Unit HMI Human Machine Interface IDE Integrated Development Environment LCD Liquid Cristal Display PID Proportional Integral Derivative controller PLC Programmable Logic Controller

2. Introducción

El desarrollo de interfaces gráficas con pantalla táctil se está utilizando en una amplia variedad de aplicaciones para mejorar la interacción humano-máquina. El avance de la tecnología en pantallas LCD táctiles y sistemas embebidos, facilita que las personas puedan operar equipos sin periféricos; como ratones y teclados [1]. Soluciones tecnológicas con pantalla táctil se han aplicado cada vez más en la industria y en el desarrollo de productos y servicios; como kioscos, puntos de venta, electrónica

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 18 – 24. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 19

de consumo, control de máquinas, control de procesos, control de sistemas y automatización en oficinas, casas y automóviles, etc.

El presente proyecto trata sobre el desarrollo de una interfaz gráfica HMI con la aplicación de

sistemas embebidos para el control y supervisión de procesos por lotes para el prototipo de una prensa de extrusión. El diseño de la interfaz permite el seguimiento de las etapas del proceso para el usuario, como generar información, guardar datos de las variables físicas que intervienen en el proceso y ajustar parámetros de control del prototipo. La aplicación de los sistemas embebidos para el desarrollo de la interfaz aporta las siguientes ventajas con respecto a otras tecnologías, como son: menor costo, rapidez en el desarrollo, fácil programación en entornos gratuitos y abiertos, fácil integración al prototipo de prensa de extrusión y rapidez en la actualización de la interfaz por software.

Las ventajas técnicas que aporta la interfaz gráfica al prototipo son importantes como factor

diferenciador respecto a los equipos industriales. El propósito final del prototipo de la prensa de extrusión es funcionar como equipo para pruebas de laboratorio, donde la información generada a partir de los lotes de proceso permitirá en el futuro su análisis estadístico.

2.1. Problemática Desde principios de 1990 México ha implementado un conjunto de acciones gubernamentales,

orientadas a la transformación estructural de la economía [2]. Una de las estrategias ampliamente vinculada a la búsqueda de la competitividad es la denominada reconversión productiva.

Para la Secretaria de Agricultura, Desarrollo Rural, Alimentación y Pesca, la reconversión

productiva se conceptualiza como: la transformación integral de las actividades productivas y su entorno, mediante la construcción de Sistemas-Producto competitivos y sostenibles, que contribuyan a mejorar el nivel de vida de la población rural. La reconversión productiva, como proceso de cambio, involucra cambios tecnológicos, en este contexto, el presente proyecto es una propuesta tecnológica para contribuir a la competitividad en el sector agroindustrial.

3. Metodología

El prototipo de prensa de extrusión está integrado por componentes mecánicos y eléctricos similares a los utilizados en máquinas industriales. Sin embargo, la integración de sistemas embebidos y pantalla táctil para el control y supervisión del proceso es un cambio tecnológico que aporta ventajas técnicas para su aplicación.

3.1 Sistemas Embebidos aplicados en el desarrollo de la Interfaz Gráfica. El desarrollo de la interfaz gráfica se realizó en la pantalla táctil SmartGPU 2 LCD 480x272 de

4.3” de la marca VIZIC, la cual cuenta con un microprocesador ARM Cortex M3 [3]. La programación de la interfaz se realizó en el IDE de Arduino para la tarjeta Mega 2560, ver Figura 1. El sistema Arduino es ampliamente usado para el desarrollo rápido de prototipos electrónicos y es compatible con la tecnología de la pantalla táctil a través de la librería SMARTGPU2 [4].

3.2 Prototipo de prensa de extrusión El presente prototipo de laboratorio fue diseñado y construido para la extracción de aceite de

semillas oleaginosas. Consta de un husillo o tornillo acoplado a un sistema de motor, reductor coaxial modelo BHF62AT-3 y controlador FSP200 de la marca Oriental Motor. El husillo está confinado dentro de un tubo donde la semilla oleaginosa se somete a una presión elevada para extraer el aceite y separar el residuo sólido.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 18 – 24. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 20

Figura 1. Pantalla táctil SmartGPU 2 LCD 480x272 de 4.3” y tarjeta Arduino Mega 2560. En la industria de extracción de aceite de palma la máquina de prensa de doble tornillo se

prefiere a la prensa de tornillo único debido a su mayor capacidad y un tiempo de proceso más corto [5]. Sin embargo, para pruebas de laboratorio, a menudo se requieren pequeñas cantidades de aceite para su análisis. Esto se puede obtener a un precio asequible a partir de equipos como una prensa de tornillo único, que sea capaz de procesar pequeñas cantidades de semillas oleaginosas [6]. En la Figura 2 se muestra el prototipo, con la pantalla táctil instalada para el control y monitoreo del proceso de extracción por lotes.

Figura 2. Prototipo de prensa de extrusión, con la pantalla táctil instalada en la esquina superior izquierda.

Para el análisis de procesos por lotes se desarrollan procedimientos estadísticos multivariable

para monitorear su progreso. Métodos de regresión por mínimos cuadrados parciales se utilizan para extraer la información relevante del comportamiento de las variables medidas del proceso para lograr una calidad final deseada del producto. En consecuencia, es necesaria una base de datos histórica de lotes anteriores. La supervisión de procesos para nuevos lotes se puede hacer en congruencia con el análisis de estadísticas previas. Esta información, permite que la operación por lotes proporcione predicciones sobre las cualidades del producto final [7]. La interfaz gráfica que controla y supervisa las variables en el prototipo se propone para procesos por lotes en laboratorio. En la Figura 3 se muestra

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 18 – 24. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 21

el diagrama del proceso conforma a las acciones que se realizan en cada una de las ventanas de la interfaz gráfica.

Figura 3. Diagrama del proceso conforme a las ventanas de la interfaz gráfica y las acciones en cada

etapa. Algunas invenciones patentadas utilizan un enfoque similar al propuesto en el presente trabajo

para el control de dispositivos [8] y procesos [9] con el objetivo de crear interfaces de usuario interactivas e intuitivas. El desarrollo de HMI con sistemas embebidos en lugar de PLC [10] para el control de procesos aporta ventajas similares a menor costo y fácil integración a equipos.

4. Resultados La interfaz gráfica fue diseñada para seguir un proceso por lotes de ocho etapas (INICIO,

VENTILADOR, VELOCIDAD, CARGA, TEMPERATURA, EXTRUSOR, VOLUMEN y FIN). En las figuras de la 4 a la 8 se muestran algunas ventanas de la interfaz; del lado derecho de la pantalla, están los botones que despliegan las ventanas para el control y supervisión de las variables.

En la figura 4 se muestra la ventana de INICIO, donde el usuario ingresa el código de lote

identificado por 12 números correspondientes a día, mes, año, hora, minutos, y tipo. Después de ingresar el código, el usuario oprime el botón GUARDAR para registrar la información que identificará al proceso.

En la ventana VENTILADOR se enciende el motor de un extractor de aire para retirar el calor

acumulado en la caja que contiene al motor y tarjetas electrónicas del prototipo. En la ventana VELOCIDAD se muestra la velocidad del motor acoplado al husillo del extrusor, la tarjeta MEGA 2560 calcula la velocidad a partir de un pulso enviado por el controlador FSP200 del motor. En la Figura 5 se muestra la ventana de CARGA donde el usuario ingresa la entrada en kilogramos de materia prima al proceso. Una barra permite seleccionar de 1 a 20 kg. El botón GUARDAR registra el dato.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 18 – 24. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 22

Figura 4. Ventana de inicio para generar y guardar el código de lote del proceso.

Figura 5. Ventana para establecer la carga en kilogramos del proceso

En la Figura 6 se muestra la ventana de TEMPERATURA, donde el usuario establece la

temperatura deseada a la salida del extrusor mediante una señal hacia un control PID externo al prototipo que regula una resistencia térmica.

Figura 6. Ventana para establecer el valor de la temperatura en la resistencia térmica. En la Figura 7 se muestra la ventana para el encendido del motor acoplado al husillo del

extrusor. Una vez, encendido el motor, inicia un contador en segundos y el usuario no detiene el motor hasta que se termine la carga de semillas oleaginosas.

En la ventana VOLUMEN, se recibe el dato de un sensor de nivel que permite calcular el

volumen de aceite extraído de la carga de semillas oleaginosas y muestra el resultado en la pantalla. Finalmente se concluye la operación mostrando los valores de las variables que afectaron el lote de

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 18 – 24. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 23

proceso en la tabla de la ventana del FIN, ver Figura 8. Al oprimir el botón de GUARDAR la información se almacena en un archivo de texto dentro de una memoria SD conectada a la tarjeta SmartGPU 2.

Figura 7. Ventana para el encendido y apagado del motor del extrusor.

Figura 8. Ventana con los datos finales de las variables del proceso.

Actualmente el prototipo se encuentra en fase de pruebas de laboratorio, logrando la integración

y funcionamiento esperado de los sistemas electrónicos y mecánicos.

5. Conclusiones Se logró el diseño y construcción de una interfaz gráfica mediante la aplicación de sistemas

embebidos, para al control y monitoreo de procesos por lotes para el prototipo de una prensa de extrusión.

La interfaz gráfica permite el seguimiento en cada una de las etapas del proceso. La

información en datos y variables generadas en el proceso se almacenan electrónicamente con el propósito de ser analizadas en el futuro.

Las características técnicas de la interfaz gráfica le otorgan al prototipo de prensa de extrusión,

de las herramientas necesarias en control, supervisión y registro de datos para un equipo de pruebas de laboratorio, diferente a los equipos disponibles para la industria.

Como trabajo futuro, se trabajará en comunicar la información histórica de los lotes de proceso

almacenados en la memoria SD hacia un sitio de internet, donde por parte del usuario se analice el

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 18 – 24. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 24

histórico de datos, para inferir estadísticamente las variables y las cualidades del producto final en el proceso.

Agradecimientos El presente proyecto se realizó gracias al financiamiento del Consejo Estatal de Ciencia y

Tecnología de Estado de Jalisco, del Instituto Tecnológico José Mario Molina Pasquel y Henríquez, de la Secretaria de Innovación Ciencia y Tecnología del Estado de Jalisco y del Tecnológico Nacional de México.

Referencias

[1] M.R. Bhalla, A.V. Bhalla, “Comparative study of various touchscreen technologies”. Int. J. Comput. Appl. Vol. 6 No.8, September 2010, pp. 12–18.

[2] E. E. Santacruz de León, S. Morales Guerrero, and V. H. Palacio Muñoz. (2012, No. 170 Observatorio de la Economía Latinoamericana) Políticas Gubernamentales y reconversión productiva. El caso de la palma aceite en México. [Online] http://www.eumed.net/cursecon/ecolat/mx/2012/

[3] Vizic Technologies (2017, Noviembre) SmartGPU 2 - LCD480x272 de 4.3". [Online]. http://www.vizictechnologies.com/

[4] Arduino Learning (2017, Septiembre) SmartGPU 2 Intelligent Embedded Graphics. [Online]. https://playground.arduino.cc/SmartGPU2/SmartGPU2

[5] M.Y.Harun, M.A.Che Yunus, N.A.Morad, M.H.S.Ismail, “An industry survey of the screw press system in palm oil mills: Operational data and malfunction issues” Engineering Failure Analysis, Vol. 54, August 2015, pp. 146-149

[6] A. Oyinlola, A. Ojo, L.O. Adekoya, “Development of a laboratory model screw press for peanut oil expression” J. of Food Engineering, Vol 64, No. 2 September 2004, pp. 221-227.

[7] P. Nomikos. J. F. MacGregor. “Multi-way partial least squares in monitoring batch processes”, Chemometrics and Intelligent Laboratory Systems, Vol. 30, No. 1, November 1995, pp 97-108

[8] H. B. Rosen “Programmable thermostat system employing a touch screen unit for intuitive interactive interface with a user”, U. S. Patent 6824069B2, November 30, 2004.

[9] C. Skourup, J. Pretlove, K. Husoy, “Human-machine interface for a control system”, U. S. Patent7715929B2, May, 11, 2010

[10] B. Cristian, O. Constantin, E. Zoltan, P. V. Adina and P. Florica, "The control of an industrial process with PLC," 2014 International Conference on Applied and Theoretical Electricity (ICATE), Craiova, 2014, pp. 1-4

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 25 – 36. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 25

Simulación Hardware-in-the-loop de un Robot Manipulador con Base en un Controlador Digital de

Señales

David Bedolla-Martínez1, Fermín Hugo Ramírez Leyva2, José Aníbal Arias Aguilar3

[email protected], [email protected], [email protected]

1Instituto Tecnológico de Tecomatlán, Tecnológico Nacional de México 2Instituto de Electrónica y Mecatrónica, Universidad Tecnológica de la Mixteca

3División de Estudios de Posgrado, Universidad Tecnológica de la Mixteca

Corresponding autor: Fermín Hugo Ramírez Leyva

* [email protected] Tel: +52 (01) 953 53 20399 ext 555

Fax: (01) 953 53 20214 ext 112

Resumen En este trabajo se muestra la implementación en Hardware-In-the-Loop (HIL) de un robot manipulador de 2 grados de libertad. Como plataforma de desarrollo se usa el procesador digital de señales F28377S de la firma Texas Instruments. El sistema resuelve en tiempo real las ecuaciones diferenciales no lineales del robot con un tiempo de muestreo de 30 us. Para verificar la operación del modelo se implementó un controlador con base en modos deslizantes en una computadora personal en Matlab Simulink con una tarjeta de adquisición de datos 6062E. Palabras clave: Hardware-in-the-loop, Cotrol por modos deslizantes, Procesador Digital de Señales, Robot de dos grados de libertad. .

Abstract In this paper we show the implementation of an emulator for a two degree of freedom robot manipulator with Hardware-in-the-loop (HIL) Simulation. The embedded system solve in real time highly nonlinear differential equations that describe the behavior of this robot. To verify the proper emulator’s operation, a position controller based on sliding mode theory was implemented using the data acquisition card 6062E with Matlab/Simulink. Keywords: Hardware-in-the-loop, Sliding Mode Control, Procesador Digital de Señales, two degree of freedom robot.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 25 – 36. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 26

1. Introducción

La técnica Hardware-In-the-Loop (HIL), se usa durante el desarrollo y pruebas de sistemas complejos, reduciendo drásticamente los tiempos de diseño y validación. Este enfoque hace uso de hardware reprogramable que es capaz de interactuar con otros dispositivos a través de señales eléctricas. Tiene gran flexibilidad porque permite usar componentes reales en conjunto con un modelo matemático [1]. En una simulación HIL, el modelo matemático interactúa con el hardware a través de señales eléctricas, por tanto, el sistema consiste de una parte simulada y de una parte real [2].

A diferencia de la simulación numérica, la simulación HIL hace uso de señales eléctricas,

soluciona un modelo dinámico en tiempo real y obtiene por lo tanto respuestas más aproximadas a la aplicación real, debido a que se opera bajo las mismas condiciones, e.g., el ruido presente en la interfaz analógica (no existente en la simulación numérica). Algunas áreas donde la simulación HIL tiene un papel importante son: aeronáutica [3] y [4], industria automotriz [5-9], misiones espaciales [10-12], trenes [13] y [14], producción de energía renovable [1, 15-19], mecanismos flexibles [20] y [21], control automático [22-25], entre otras aplicaciones [26-29]. En robótica se usan diferentes enfoques de HIL, cada uno con resultados favorables. Los enfoques son:

• Robot-Hardware-in-the-Loop (RHIL) donde se usa un robot real para diseñar y probar nuevos

controladores automáticos virtuales [30]. • Joint-in-the-Loop se usan motores reales para evitar modelar la dinámica de las juntas por su

naturaleza no lineal, aunque existen aproximaciones de su comportamiento se dice que es imposible modelar de manera fidedigna una junta real [31].

• Controller-in-the-Loop donde se utiliza un sistema de control real conectado a una planta virtual, esta metodología se usa principalmente cuando las pruebas con la planta real son costosas o requieren de mucho tiempo [32].

En este trabajo se presenta un sistema de simulación HIL para emular el comportamiento de un

robot manipulador de 2 grados de libertad, con el fin de probar nuevos algoritmos de control. Dicha emulación es un paso intermedio entre la simulación pura y las pruebas con la planta real. Con el que es posible probar y diseñar nuevos algoritmos de control de forma rápida, al contar con una planta virtual que es flexible en cuanto a sus parámetros físicos. De tal manera que al pasar a la implementación real, no requiere de cambios adicionales en la configuración de las conexiones eléctricas.

2. Marco Teórico

2.1 Robot manipulador de 2 GDL. Un robot manipulador de 2 grados de libertad (figura 1), es un mecanismo compuesto de dos

articulaciones o juntas giratorias, dos eslabones rígidos y dos motores que fungen como entradas de control. Se trata de un sistema altamente no lineal de múltiples entradas y múltiples salidas (MIMO). Estas características hacen de esta planta una de las más usadas para la enseñanza y diseño de nuevos esquemas de control automático.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 25 – 36. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 27

Figura 1. Robot manipulador de 2 GDL. El comportamiento del robot de 2 GDL está definido por las ecuaciones diferenciales o también

conocido como modelo dinámico que está en función de los parámetros físicos del sistema que se muestran en la Tabla 1.

Tabla 1. Parámetros físicos del robot manipulador de 2 grados de libertad

Notación Descripción Valor

Masa del eslabón 1 23.902 kg

Longitud del eslabón 1 0.45 m

Inercia del eslabón 1 1.2660 kgm2

Longitud al centro de masa del eslabón 1 0.0910 m

Masa del eslabón 2 3.88 kg

Longitud del eslabón 2 0.45 m

Inercia del eslabón 2 0.0930 kgm2

Longitud al centro de masa del eslabón 2 0.0480 m

g Aceleración de la gravedad 9.81 m/s2

El modelo dinámico se obtuvo de [33] y se muestra en la ecuación (1). Los términos que lo integran son: La matriz de Inercia y matriz de Coriolis de dimensión 2x2, el vector de par gravitacional , fricción son vectores de 2x1.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 25 – 36. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 28

(1)

Los elementos de las matrices y vectores que representan al sistema se definen en las

ecuaciones (2) a (13) y están en función de los vectores de posición y velocidad angular. La función , que depende del par de entrada y del coeficiente de fricción estática, representa el signo y

magnitud del coeficiente de fricción estática.

(2)

(3)

(4)

(5)

(6)

(7)

(8)

(9)

(10)

(11)

(12)

(13)

2.2 Controlador digital de señales Un controlador digital de señales es una hibridación entre un DSP [34] y un microcontrolador

[35], lo que permite manejar interrupciones, realizar operaciones aritméticas y leer señales tanto digitales como analógicas.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 25 – 36. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 29

En el mercado, actualmente existen numerosas opciones de tarjetas de desarrollo, entre las

cuales destaca Arduino; que es la más popular [36]. Como alternativa se tiene disponible la familia LaunchPad desarrollada por Texas Instruments (TI) [37], que tiene mejores prestaciones a un menor costo. Para la implementación del emulador HIL, se seleccionó la tarjeta de desarrollo TI C2000 Delfino F28377S LaunchPad, que esta se basa en el C2000 Delfino TMS320F28377S (Figura 2).

Figura 2. C2000 Delfino MCUs F28377S LaunchPad Kit de Desarrollo [38] Se eligió por sus siguientes características: 1. Capacidad de realizar 400 millones de instrucciones por segundo (MIPS) de rendimiento

total de sistema. 2. Un CPU C28x de 200 MHz y un acelerador de la ley de control (CLA) de 200 MHz. 3. Es una plataforma de evaluación de bajo costo que ofrece a los diseñadores realizar

aplicaciones de control digital de alto rendimiento [38]. 4. Cuenta con ADC’s de 12 bits con una velocidad de 3.5 millones de muestras por segundo,

DAC’s de 12 bits, entradas de encoder de cuadratura y salidas modulador de ancho de pulso (PWM), algunas de alta resolución

5. Unidad de punto flotante (FPU), unidad Trigonométrica (TMU), unidad Compleja (VCU), protocolos de comunica-ción entre los cuales esta Universal Serial Bus (USB).

6. Trabaja entre -40°C y 125°C, esta tarjeta está calificada para aplicaciones automotrices basado en Q100 para trabajar en ambientes extremos.

Para obtener en tiempo real la solución del modelo dinámico del robot manipulador para la

implementación HIL, se requiere un tiempo de muestreo de 2 milisegundos para que el modelo converja, entonces, se tienen 4 millones de ciclos de reloj para resolver el modelo matemático, por lo tanto, esta tarjeta es capaz de generar una respuesta en tiempo real.

2.3 DAQ CARD 6062E El controlador del robot de 2 GDL se implementó usando una tarjeta de adquisición de datos y

una computadora personal. Para facilitar la implementación de los algoritmos de control se utilizó Matlab/Simulink. Se usó la tarjeta de adquisición de datos DAQ 6062E (Figura 3) de la firma National Instruments [39].

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 25 – 36. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 30

Figura 3. DAQCard-6062E Sus principales características son:

• Entrada analógica o 16 canales en modo simple o 8 canales en modo diferencial o Canales seleccionables por software o Resolución de 12 bits o Máxima frecuencia de muestreo: 500 kS/s o Rango de ±10V hasta ±50mV

• Salida analógica o 2 salidas o Resolución de 12 bits o Frecuencia de generación de 850 kS/s o Referencia externa máxima de 11V o Impedancia de salida de 0.1 Ω o Acoplamiento DC o Salida seleccionable por software

• Salidas digitales o 8 pines I/O con voltaje configurable máximo de 5V (TTL) o Reloj a 20 MHz o Resistencias tipo pull-up

3. Desarrollo

3.1 Simulador HIL

El simulador HIL consta de dos partes como se muestra en la Figura 4:

1. Un controlador de posición basado en una computadora personal y una tarjeta de adquisición de datos (6062E).

2. Una planta (ERM2GDL) conformada por un acondicionador de señales, un sistema empotrado y un ambiente virtual con interfaz gráfica.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 25 – 36. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 31

Figura 4. Diagrama del simulador HIL. 3.2 Hardware del controlador La DAQ 6062E se conecta al puerto PCMCIA de la computadora personal y se interconecta a

un bloque de conexiones RC68-68 con un cable plano con conector tipo D de 68 pines. El bloque de conexiones contiene tornillos para facilitar la sujeción de los cables que contienen las señales eléctricas (Figura 5).

Figura 5. Diagrama a bloques del controlador.

3.3 Control por modos deslizantes Esta técnica de control requiere del conocimiento del modelo dinámico de la planta, de la

posición y velocidad angular. Para esto se diseñaron dos controladores por modos deslizantes de forma analítica, donde la dinámica de los controladores se muestra en las ecuaciones 14 y 15. Donde V_aux1 y V_aux2 son señales de control auxiliares para cada articulación.

(14)

(15)

Donde se toman de la representación matricial del sistema en las ecuaciones (1), y

el control auxiliar son función de la superficie de deslizamiento y las cuales deben ser de grado relativo 1, así como de un voltaje de control equivalente y y las ganancias y .

(16)

(17)

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 25 – 36. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 32

Donde y . Los voltajes equivalentes son función del error de posición de la articulación 1 y 2 y se acotan al valor máximo que se espera tener.

(18)

(19)

Donde y . La superficie de deslizamiento es:

(20)

(21)

Donde el error de posición angular es:

(22)

(23)

Las referencias deseadas son y . 3.4 ERM2GDL Como ya se mencionó, el ERM2GDL está conformado de 3 elementos:

1. El acondicionamiento de señales se usa para tener compatibilidad con la tarjeta de adquisición de datos 6062E en cuanto a voltaje se refiere.

2. La interfaz gráfica muestra los movimientos del robot, gráficas posición y velocidad angular con un periodo de 7 milisegundos, en un ambiente virtual desde el cual se pueden modificar los parámetros físicos del robot usando comunicación serial (USB).

3. El sistema empotrado resuelve en tiempo real el modelo dinámico del robot de 2 grados de libertad con un periodo de muestreo de 10μs usando el método numérico de Euler y 30μs usando Runge-Kutta de orden 4. 3.5 Diagrama del sistema empotrado El sistema empotrado lee dos voltajes de entrada usando 2 ADC’s de forma simultánea, ya que

el DSC cuenta con un sistema dedicado a generar interrupciones para evitar cargar al CPU esta tarea. Los voltajes leídos representan el par de entrada de ambas articulaciones del robot manipulador. Para procesarlos se usa un módulo de escalamiento que convierte de un valor digital binario a flotante que representa el par.

El modo de trabajo tiene como función ejecutar si el usuario lo desea un controlador PID interno

para posicionar el robot en alguna configuración deseable para realizar pruebas con un controlador externo. Posteriormente se resuelve el modelo dinámico usando ya sea Euler o Runge-Kutta de orden 4.

Se generan las salidas digitales y analógicas con dos convertidores digitales analógicos (DAC),

los que generan dos voltajes analógicos de forma simultánea, que emulan dos salidas proporcionales a las posiciones de cada articulación. Con unas salidas digitales envía pulsos de forma similar a un encoder. Por puerto USB se envían los datos de par de entrada, posición y velocidad angular del robot hacia una la interfaz gráfica. Cabe mencionar que los módulos y funciones del sistema empotrado se codificaron en lenguaje C.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 25 – 36. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 33

Figura 6. Sistema empotrado.

4. Resultados

En la Figura 7 se muestra los resultados obtenidos de la simulación del controlador y la

planta en Matlab/Simulink y de la respuesta del ERM2GDL con el controlador externo. En ambos casos, las condiciones iniciales son cero para posición y velocidad angular. La referencia para la primera articulación es de 45° y para la segunda articulación de 90°.

En la Tabla 2 se muestran los tiempos de establecimiento de ambas articulaciones usando el simulador HIL y simulación pura. Las respuestas son relativamente parecidas pero en el simulador HIL se tiene un error de posición en estado estacionario y se presenta ruido, que no se presenta en la simulación numérica. El tiempo de establecimiento máximo no supera 1 segundo.

Tabla 2. Comparativa de tiempo de establecimiento y máximo sobreimpulso.

Modos deslizantes Articulación 1 Articulación 2

Característica Simulación HIL 0.87 1

Simulación Pura 0.85 0.973

Figura 7. Respuesta de la posición angular Se calculó el error entre la respuesta con simulación HIL y simulación pura, la gráfica del error

se muestra en la Figura 8 para la primer y segunda articulación.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 25 – 36. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 34

Figura 8. Error de la posición angular En la Tabla 3 se muestra el error máximo, mínimo, promedio y el error cuadrático medio

(RMS) para ambas articulaciones. Se observa un error pequeño que se debe a la robustez de este controlador.

Tabla 3. Error máximo, mínimo, promedio y RMS en grados

Error Máximo [grados] Mínimo [Grados] Promedio [grados] RMS [grados]

Articulación 1 2.0718 7.42e-7 1.04 1.3618

Articulación 2 2.4411 0.7611 1.57 1.6607

5. Conclusiones El emulador diseñado es flexible, portátil, de fácil uso y de bajo costo. Esto permite replicarlo

siendo útil en el ámbito académico. Los resultados obtenidos en la simulación numérica con Simulink, difieren de los obtenidos con simulación HIL, la principal razón es por el ruido presente en la interfaz analógica, por lo cual con este tipo de simulación dan un mayor acercamiento a la implementación real.

Como trabajo a futuro, se plantea la implementación de un emulador de un robot de 3 a 6

grados de libertad u otra planta como: el carro-péndulo, sistema bola-viga o el sistema de levitación magnética. Estos sistemas son útiles para la implementación y pruebas de nuevos sistemas de control o para el practicante que requiera modelar y controlar dichas plantas.

Agradecimientos Se agradece el apoyo por parte del Dr. Jesús Linares Flores del Instituto de Electrónica y

Mecatrónica de la Universidad Tecnológica de la Mixteca, por facilitar la tarjeta de adquisición de datos DAQ-6062E que se usó para implementar el controlador de posición.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 25 – 36. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 35

Referencias

[1] G. Bracco, E. Giorcelli, G. Mattiazzo, V. Orlando y M. Raffero, Hardware-In-the-Loop test rig for the ISWEC wave energy system Mechatronics, vol. 25, pp. 11-17, ISSN 0957-4158, February 2015.

[2] C. Kohler, Enhancing Embedded Systems Simulation. A chip-Hardware-in-the-Loop Simulation Framework., Ute Wrasmann: Springer Fachmedien Wiesbaden GmbH, ISBN 978-3-8348-1475-3, 2011.

[3] M. Montazeri-Gh, M. Nasiri y S. Jafari, Real-time multi-rate HIL simulation platform for evaluation of a jet engine fuel controller Simulation Modelling Practice and Theory, vol. 19, nº 3, pp. 996-1006, ISSN 1569-190X, March 2011.

[4] M. J. Mansur, Rapid Prototyping and Evaluation of Control System Designs for Manned and Unmanned Applications American Helicopter Society Annual Forum, p. 1571, 2000.

[5] A. Palladino, G. Fiengo y D. Lanzo, A portable hardware-in-the-loop (HIL) device for automotive diagnostic control systems ISA Transactions, vol. 51, nº 1, pp. 229-236, ISSN 0019-0578, January 2012.

[6] H. He, R. Xiong, K. Zhao y Z. Liu, Energy management strategy research on a hybrid power system by hardware-in-loop experiments Applied Energy, vol. 112, pp. 1311-1317, ISSN 0306-2619, December 2013.

[7] Y. Kim, A. Salvi, J. B. Siegel, Z. S. Filipi, A. G. Stefanopoulou y T. Ersal, Hardware-in-the-loop validation of a power management strategy for hybrid powertrains Control Engineering Practice, vol. 29, pp. 277-286, ISSN 0967-0661, August 2014.

[8] R. Moore, K. Hauer, G. Randolf y M. Virji, Fuel cell hardware-in-loop Journal of Power Sources, vol. 162, nº 1, pp. 302-308, ISSN 0378-7753, 8 November 2006.

[9] V. Tavoosi, R. Kazemi y S. Hosseini, Vehicle Handling Improvement with Steer-by-Wire System Using Hardware in the Loop Method Journal of Applied Research and Technology, vol. 12, nº 4, pp. 769-781, ISSN 1665-6423, August 2014.

[10] O. Ma, A. Flores-Abad y T. Boge, Use of industrial robots for hardware-in-the-loop simulation of satellite rendezvous and docking Acta Astronautica, vol. 81, nº 1, pp. pp. 335-347, ISSN 0094-5765, December 2012.

[11] K. Saulnier, D. Pérez, R. Huang, D. Gallardo, G. Tilton y R. Bevilacqua, A six-degree-of-freedom hardware-in-the-loop simulator for small spacecraft Acta Astronautica, vol. 105, nº 2, p. December 2014, 444-462, ISSN 0094-5765.

[12] H. Benninghoff, F. Rems y T. Boge, Development and hardware-in-the-loop test of a guidance, navigation and control system for on-orbit servicing Acta Astronautica, vol. 102, pp. 67-80, ISSN 0094-5765, September–October 2014.

[13] B. Allotta, R. Conti, E. Meli, L. Pugi y A. Ridolfi, Development of a HIL railway roller rig model for the traction and braking testing activities under degraded adhesion conditions International Journal of Non-Linear Mechanics, vol. 57, December 2013.

[14] R. Conti, E. Meli, A. Ridolfi y A. Rindi, An innovative hardware in the loop architecture for the analysis of railway braking under degraded adhesion conditions through roller-rigs, Mechatronics, Volume 24, Issue 2, March 2014, pp. 139-150, ISSN 0957-4158. Mechatronics, vol. 24, nº 2, pp. 139-150, ISSN 0957-4158, March 2014.

[15] Y. Zhou, J. Lin, Y. Song, Y. Cai y H. Liu, A power hardware-in-loop based testing bed for auxiliary active power control of wind power plants Electric Power Systems Research, vol. 124, pp. 10-17, ISSN 0378-7796, July 2015.

[16] M. Shahbazi, P. Poure, S. Saadate y M. R. Zolghadri, Five-leg converter topology for wind energy conversion system with doubly fed induction generator Renewable Energy, vol. 36, nº 11, pp. 3187-3194, ISSN 0960-1481, November 2011.

[17] J. She y J. Jiang, Potential improvement of CANDU NPP safety margins by shortening the response time of shutdown systems using FPGA based implementation Nuclear Engineering and Design, vol. 244, pp. 43-51, ISSN 0029-5493, March 2012.

[18] J.-H. Jung, Power hardware-in-the-loop simulation (PHILS) of photovoltaic power generation using real-time simulation techniques and power interfaces, Journal of Power Sources Journal of Power Sources, vol. 285, pp. 137-145, ISSN 0378-7753, 1 July 2015.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 25 – 36. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 36

[19] H. Giberti y D. Ferrari, A novel hardware-in-the-loop device for floating offshore wind turbines and sailing boats Mechanism and Machine Theory, vol. 85, pp. 82-105, ISSN 0094-114X, March 2015.

[20] P. Boscariol, A. Gasparetto y V. Zanotto, Design and experimental validation of a hardware-in-the-loop simulator for mechanisms with link flexibility Proceedings of the ASME 2010, 10th Biennial Conference on Engineering Systems Design and Analysis, ESDA2010, July 12-14, 2010, Istanbul, Turkey.

[21] K. J. Kaliński y M. A. Galewski, Vibration surveillance supported by Hardware-In-the-Loop Simulation in milling flexible workpieces Mechatronics, vol. 24, nº 8, pp. 1071-1082, ISSN 0957-4158, December 2014.

[22] S. Wahyudi, M. J.E. y A. Albagul, Development of a Microcontroller-Based Control System with a Hardware-in-the-Loop (HIL) Method for Control Education using MATLAB/Simulink/xPC Target Int. J. Engng, vol. 21, nº 5, pp. 846-854, 2005.

[23] A. M. El-Nagar y M. El-Bardini, Interval type-2 fuzzy neural network controller for a multivariable anesthesia system based on a hardware-in-the-loop simulation , Artificial Intelligence in Medicine, vol. 61, nº 1, pp. 1-10, ISSN 0933-3657, May 2014.

[24] A. M. El-Nagar y M. El-Bardini, Practical Implementation for the interval type-2 fuzzy PID controller using a low cost microcontroller Ain Shams Engineering Journal, vol. 5, nº 2, pp. 475-487, ISSN 2090-4479, June 2014.

[25] O. I. Caldas, Sistema de Control de una Planta Embebida en FPGA Empleando hardware-in-the-loop pp. pp. 51-59, ISSN 0012-7353, April 2013.

[26] C. Wang, Z. Jiao, S. Wu y Y. Shang, An experimental study of the dual-loop control of electro-hydraulic load simulator (EHLS) Chinese Journal of Aeronautics, vol. 26, nº 6, pp. 1586-1595, ISSN 1000-9361, December 2013.

[27] L. Pugi, E. Galardi, C. Carcasci, A. Rindi y N. Lucchesi, Preliminary design and validation of a Real Time model for hardware in the loop testing of bypass valve actuation system Energy Conversion and Management, vol. 92, pp. 366-384, ISSN 0196-8904, 1 March 2015.

[28] O. Crăciun, A. Florescu, I. Munteanu, A. I. Bratcu, S. Bacha y D. Radu, Hardware-in-the-loop simulation applied to protection devices testing International Journal of Electrical Power & Energy Systems, vol. 54, pp. 55-64, ISSN 0142-0615, January 2014.

[29] G. Randolf y R. M. Moore, Test system design for Hardware-in-Loop evaluation of PEM fuel cells and auxiliaries Journal of Power Sources, vol. 158, nº 1, pp. 392-396, ISSN 0378-7753, 14 July 2006.

[30] R. Chhabra y M. R. Emami, A holistic concurrent design approach to robotics using hardware-in-the-loop simulation Mechatronics, vol. 23, nº 3, pp. 335-345, ISSN 0957-4158, April 2013.

[31] M. Kähler, R. Rachholz, S. Herrmann y C. Woernle, Development of a Biomechanical Multibody Model for the Hardware-in-the-loop Simulation of Total Hip Endoprostheses de 1st Joint International Conference on Multibody System Dynamics, Lappeenranta, Finland.

[32] S. Seung-Woo, K. Eui-Jin, L. Chan-Ho y H. Jong-Sung, Development of a Novel HyRoHILS System and Its Application to Parameter Identification of an Indutrial Robot de Robotics, July 2010.

[33] F. R. Cortés, Robótica, Control de Robots Manipuladores, México D.F.: Alfaomega Grupo Editor, febrero 2013.

[34] P. Lapsley, DSP Processor Fundamentals: Architectures and Features, Berkeley, California: Wiley-IEEE Press, 1 edition (February 7, 1997).

[35] A. V. Deshmukh, Microcontrollers: Theory and Applications, Delhi: TATA MC Graw-Hill, ISBN 0-07-058595-4, 2005.

[36] F. Reyes Cortés y J. Cid Monjaraz, Arduino - Aplicado en Robótica, Mecatrónica e Ingenierías, Alfaomega, 2015.

[37] Texas Instruments, Texas Instruments Homepage [En línea]. Available: www.ti.com. [Último acceso: 21 Octubre 2017].

[38] Texas Instruments, Code composer Studio Texas Instruments, [En línea]. Available: http://www.ti.com/tool/ccstudio. [Último acceso: 21 Octubre 2017].

[39] National Instruments [En línea]. Available: www.ni.com/pdf/manuals/370724c.pdf. [Último acceso: 27 09 2017].

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 37 – 45. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 37

Diseño de una Interfaz Hombre-Máquina para la Adquisición de Datos en Robots Móviles

Martínez Sánchez Roberto Fausto1, Villanueva Tavira Jonathan2*, Valdez Martínez Jorge Salvador.3

División Académica de Mecánica Industrial, Universidad Tecnológica Emiliano Zapata Av. Universidad Tecnológica No.1, Col. Palo Escrito, C.P.62760, Emiliano Zapata, Morelos, México.

[email protected], 2*[email protected], [email protected]

Resumen El presente trabajo describe la implementación de una interfaz Hombre-Máquina desarrollada para la visualización e interpretación de datos adquiridos mediante la tarjeta Sense HAT, la cual cuenta con sensores que permiten interactuar como: Temperatura, Humedad, y Presión. Esto con la finalidad de que el robot Danchex v.2.0 pueda comunicarse con el usuario de una manera más amigable. Es importante destacar que actualmente se cuenta con varias plataformas para el desarrollo de interfaces gráficas, por lo que se eligió trabajar con una plataforma gratuita que permitiera seguir creciendo en el área de software y hardware abiertos. Palabras clave: Raspberry Pi, Sense Hat, Tkinter, Visión Artificial.

Abstract This paper describes the implementation of a human-machine interface developed for visualization and interpretation of data acquired by Sense HAT card, which has sensors to interact with physical properties such as temperature, humidity and pressure. This in order to communicate with the user with Danchex v.2.0 robot. It is importantly stand out that actually there are several platforms for the development of graphic interfaces, so it chose to work with a free platform that allows us to continue growing in the area of open- source software and hardware. Keywords: Raspberry Pi, Sense Hat, Tkinter, Artificial Vision.

1. Introducción

El presente trabajo muestra los resultados de un proyecto realizado para la materia de Robótica Móvil. Se trata de un robot llamado Danchex v. 2.0, controlado vía remota dotado con la capacidad de almacenar y medir diferentes variables como la temperatura, la presión y la humedad. Lo anterior, es posible haciendo uso y empleando la tarjeta Sense Hat (Hardware Attached on Top), la cual es un sistema embebido desarrollado para la Raspberry Pi (RBPi). La tarjeta Sense HAT fue empleada para la misión Astro-Pi que se llevó acabo en la estación espacial internacional en el año 2015. Astro-Pi es un esfuerzo para que los jóvenes de diferentes partes del mundo tengan la oportunidad de diseñar y codificar sus propias aplicaciones capaces de funcionar en el espacio. La tarjeta Sense HAT cuenta con una matriz de led RGB de 8x8, un joystick de cinco botones, giroscopio, acelerómetro, sensor de temperatura, sensor de humedad, sensor de presión y un reloj de tiempo real con batería de respaldo [1].

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 37 – 45. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 38

Sin embargo, el problema abordado para su solución fue que la tarjeta Sense HAT no cuenta con un software establecido o interfaz gráfica propia, la cual despliegue de manera amigable hacia el usuario los resultados obtenidos de las variables por medios de los sensores por la LXTerminal o IDLE de Python (GUI) de manera más robusta. Por consiguiente, este trabajo consistió en diseñar una interfaz hombre-máquina capaz de procesar y almacenar la información generada por los sensores de la tarjeta Sense HAT de una forma atractiva hacia el usuario. A continuación, se describe a detalle los sistemas embebidos, así como los componentes que integran al robot Danchex v. 2.0 con el propósito de mostrar un panorama más amplio del proyecto realizado.

2. Proyecto Danchex V. 2.0 Danchex v. 2.0 es un robot móvil desarrollado para el estudio e implementación de sistemas

embebidos, cuya aplicación principal es la de robot explorador. Está formado por los siguientes sistemas: sistema mecánico, sistema electrónico, protocolos de comunicación y fuente de alimentación.

a) Sistema mecánico. Consiste en un mecanismo de orugas, las cuales forman un cinturón

flexible a partir de un conjunto de eslabones rígidos que se unen unos a otros. Esto a la vez, le permite desplazarse en terrenos irregulares. Es importante mencionar que los eslabones presentan una ventaja sobre las ruedas convencionales, ya que distribuyen mejor el peso del vehículo en una superficie mayor. Este sistema mecánico se puede observar en la figura 1.

Figura 1. Estructura de sistema mecánico de Danchex v. 2.0. b) Sistema Electrónico y Periféricos. En lo que respecta al sistema electrónico, se emplea la

tarjeta Raspberry Pi como unidad central de procesamiento para los datos adquiridos por la tarjeta Sense Hat. Adicionalmente, y con el fin de monitorear la ubicación del robot, se optó por integrar un Sistema de Posicionamiento Global (GPS) que recibe las señales de los satélites y las procesa para calcular la posición tridimensional del robot. Los datos adquiridos tanto por la tarjeta Sense HAT, Webcam y GPS son procesados por la unidad central de proceso. En lo que concierne al sistema de control para el movimiento del robot, se optó por utilizar motores de corriente directa (CD). Sin embargo, la tarjeta Raspberry Pi no es recomendada para el manejo de motores. Por lo anterior, para la fase de control de los motores se emplea la tarjeta Arduino R3 en conjunto con la tarjeta driver L293D para la dirección y sentido de robot. La figura 2 muestra la estructura del sistema electrónico y periféricos. En lo que respecta al Sistema de Posicionamiento Global (GPS), este permite desplegar de manera gráfica datos como: Latitud, Longitud, Altitud, Velocidad, Escala, Camino del robot Danchex v.2.0 en tiempo real. Esto se puede apreciar en la figura 3.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 37 – 45. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 39

Figura 2. Estructura de sistema electrónico y periféricos de Danchex v. 2.0.

Figura 3. Interfaz gráfica del Sistema de posición global (GPS).

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 37 – 45. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 40

c) Comunicaciones. -Cuando se habla sobre el término hombre-máquina se refiere al intercambio de información entre la computadora y el usuario. Para controlar los movimientos del robot se emplea el protocolo de comunicación Bluetooth. Para ello, se desarrolló una aplicación en Android capaz de comunicarse con la placa Arduino a través de dicho protocolo. En lo que respecta a la parte de comunicación entre la RBPi y la computadora se emplea el estándar IEEE 802.11b conocido como Wi-Fi.

d) Software de visión por computadora. - Desde una perspectiva general, la visión es la

capacidad con la que se dota a la máquina, para poder observar un panorama del mundo que lo rodea. Para el proyecto se requirió la instalación de la librería OpenCV, Numpy y Matplotlib en la Raspberry Pi, para poder realizar el procesamiento digital de imágenes.

El robot Danchex v. 2.0 cuenta con una librería desarrollada en Python en conjunto con OpenCV de software libre, para llevar a cabo tareas de adquisición y procesamiento digital de imágenes. La librería desarrollada permite adquirir imágenes y video con el fin de proporcionar al usuario de una vista sobre el ambiente en que se encuentra navegando el robot. Es importante destacar que una vez adquirida la imagen se pueden aplicar diversos filtros con el fin de reconocer objetos. Los filtros implementados para esta librería son: Sobel, Prewitt, Roberts, Robinson, Kirsch y Canny [2] [3] [4] [5], y se pueden observar en la tabla 1. En la figura 4 se puede observar la arquitectura general de la librería para procesamiento digital de imágenes desarrollada para este proyecto.

Figura 4. Diagrama de casos UML de librería de Visión.

e) Interfaz Hombre-Máquina (HMI). En la actualidad las computadoras, laptops, dispositivos

electrónicos y móviles cuentan con una interfaz gráfica de bajo y alto nivel, donde el usuario interactúa con: iconos, menús, ventanas y barras de desplazamientos [6]. La implementación de una interfaz gráfica cumple con la función de visualizar en pantalla información, objetos, su interacción con ellos y datos relevantes del sistema. En la tabla 2, se enlistan algunas de las ventajas y desventajas de las interfaces gráficas desarrolladas en TCL.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 37 – 45. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 41

Tabla 1. Imágenes resultantes procesadas por la librería desarrollada [2].

Imagen Original Histograma Librería Desarrollada MatLab

Sobel

Prewitt

Roberts

Robinson

Kirsch

Canny

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 37 – 45. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 42

Tabla 2. Ventajas y Desventajas de TCL en Interfaces Gráficas.

Ventajas Desventajas · Sencillez de programación

· Rapidez en el desarrollo de aplicaciones

· Mayor velocidad

· Facilidad de modificación

· Multiplataforma

· Código abierto.

· Difícil de depurar · Necesidad de intérprete

Para este proyecto se utilizó la librería Tkinter [7] que es una biblioteca propia de Python para el

uso de Tool Command Language (TCL). Tkinter es una herramienta de open software, que permite al usuario crear Graphical User Interface (GUI), de bajo y alto nivel para su implementación en aplicaciones. Cabe mencionar que para hacer más atractiva la interfaz se hizo uso de la librería Text-To-Speech ([8, 9, 10]). La cual genera voz a partir de una cadena de texto, con lo que se busca que el robot pueda contar con la capacidad de poder comunicarse con el usuario a través de la voz y con acciones previamente programadas. Esto se ilustra en la figura 5.

Figura 5. Diagrama de casos UML de Interfaz Hombre-Máquina.

3. Pruebas Finalmente, para probar la interfaz y observar los resultados, se ejecuta el archivo correspondiente y se despliega la ventana principal de la interfaz en la cual se muestra un menú con un mensaje de bienvenida para el usuario. Posteriormente, se aprecia el menú principal con diversas opciones para poder visualizar las variables monitoreadas como se observa en la figura 6. Como se puede observar en la figura 6, la ventana cuenta con varias funciones. La acción primaria es All_Sensors, que es la encargada de desplegar los valores de Temperatura, Humedad, Presión y Ángulos de navegación en una sola ventana como se ve en la figura 7. Finalmente, cuando el usuario cierra la ventana principal se ejecuta una función que vacía todos los datos que fueron adquiridos en el lapso que permaneció abierta. Los datos resultantes son

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 37 – 45. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 43

guardados en un archivo de formato Command Separated Values (CSV), el cual es muy sencillo y útil para utilizarlos con programas de hoja de cálculo como Microsoft Excel, de lo cual se muestra en la figura 8.

Figura 6. Ventana principal y menú.

Figura 7. Función del comando All_Sensors.

Figura 8. Datos adquiridos y almacenados de las variables: Temperatura, Humedad y Presión.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 37 – 45. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 44

Adicionalmente, la interfaz permite el monitoreo de variables en forma separada. Por lo que el usuario puede seleccionar que variable desea visualizar en pantalla. Las funciones de Temperatura, Humedad, Presión Acelerómetro y GPS que se encuentran en forma de lista en el menú de Medición de variables, tienen la acción de solo mostrar un valor a la vez de manera individual, requerido por el usuario. Esto se ilustra en la figura 9.

Figura 9. Ventanas individuales de las variables Temperatura, Humedad, Presión y acelerómetro..

4. Resultados Las pruebas realizadas con el robot Danchex v. 2.0 se realizaron en un ambiente controlado. El objetivo de las pruebas es recolectar información proveniente de los sensores en diferentes puntos donde haya navegado el robot. Los datos adquiridos y almacenados en los archivos resultantes contienen las muestras de la Temperatura, Humedad y Presión de los puntos que recolectó por medio de las tarjetas Sense HAT y estos a su vez son desplegados en la interfaz a través de la interfaz de una forma visualmente atractiva. El robot Danchex v. 2.0 cuenta con una mejor estabilidad al no presentar problema alguno al desplazarse en terrenos inestables, esto debido gracias a su sistema mecánico Uno de los principales problemas detectados durante la fase de pruebas, fue que la interfaz presentaba un atraso en la adquisición de los valores debido al tiempo de respuesta de la tarjeta Sense HAT. Cabe señalar que debido a lo anterior la interfaz no desplegaba los valores correctamente. Esta situación imprevista es debido al tiempo de adquisición de cada uno de los datos y la velocidad para actualizar la interfaz con los valores adquiridos. Este problema fue resuelto incrementando el tiempo de retardo de actualización.

5. Conclusiones El robot Danchex v. 2.0 cuenta con una interfaz gráfica desarrollada con Tkinter y Python en conjunto con la tarjeta Sense HAT, las cuales son tecnologías Open Software y Open Hardware. Es importante destacar que el empleo de software libre reduce los costos en comparación con otros programas comerciales como: LabView, MATLAB y Qt Creator dentro de la visión computadora y desarrollo de interfaces gráficas. Adicionalmente se puede destacar que estos proyectos son escalables, debido a que en corto plazo se podrán incorporar nuevos módulos que permitan en un momento dado realizar la navegación de forma autónoma del robot, como se ve en la figura 10.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 37 – 45. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 45

Figura 10. Robot Danchex v. 2.0.

6. Agradecimientos A mis profesores por haberme permitido aprender un poco de lo mucho que saben, especialmente a mi profesor Jonathan Villanueva Tavira por su infinito apoyo y paciencia. A mi familia por su invaluable apoyo y confianza.

Referencias [1] The MagPi Essentials, “Experiment with the Sense HAT”, The Pi Education Team, 2016. [2] Martínez R., and Pinto R., “Procesamiento Digital de Imágenes con Sistemas Embebidos”,

Congreso Internacional de Computación, Colombia-México (CICOM), 2015. [3] Brahm S. “Practical OpenCV”, Technology in Action, 2000. [4] Howse J. “OpenCV Computer Vision with Python Learn to capture videos, manipulate images and

track objects with Python using the OpenCV Library", Packt Publishing, 2013. [5] Parker J.R., “Algorithms for Image Processing and Computer Vision”, 2nd ed., Willey Publishing,

2011. [6] Enriquez R. and Velasco S., “Educatrónica: Innovación en el Aprendizaje de las Ciencias y las

Tecnologías”, UNAM, 2007. [7] Chaudhary B., “Tkinter GUI Applications Development HOTSHOT”, Packt Publishing, 2013. [8] Monk S., “Raspberry Pi Cookbook Software and Hardware Problems and Solutions” O’Reilly Media,

2013. [9] Grimmett R., “The New Accessible Robotics: Building Amazing Projects with Inexpensive Hw and

Open Source Sw”, International Conference on Mechatronics, Electronics and Automotive Engineering, 2014.

[10] Grimmett. R. “Raspberry Pi Robotic Projects: Create amazing robotic projects on a shoestring budget”, Packt Publishing, 2014.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 46 – 58. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 46

Plataforma Electrónica para el Acceso a Edificios y/o Casas Mediante Código QR Encriptado

Troncoso-Ramos Jonathan Armando, Rodríguez-Reséndiz Juvenal*, Pedraza-Ortega Jesús Carlos,

Ramos-Arreguín Juan Manuel.

*[email protected]

Universidad Autónoma de Querétaro, Facultad de Ingeniería.

Resumen

En el presente artículo se describe la implementación de un algoritmo de encriptación basado

en permutación de elementos usando un código QR (Quick Response) para la gestión de acceso al personal autorizado, utilizando las capacidades que ofrece un sistema embebido. Los sistemas embebidos basados en arquitectura ARM (Advanced RISC Machine), poseen características que los convienen en soluciones muy robustas, tales como poco consumo energético, escalables, y una alta disponibilidad de librerías de uso libre para el desarrollo de soluciones. El algoritmo se gestionó a partir del lenguaje de programación Python utilizando OpenCV (Open Source Computer Vision Library), lo cual hace posible la lectura del código QR, permitiendo o denegando el acceso según sea el caso. Se realizaron pruebas con la finalidad de medir el progreso en cada etapa de desarrollo hasta llegar al sistema final, el cual cuenta con un interfaz gráfico diseñado en Python con una administración centralizada para la gestión eficiente de usuarios, consultas de registros y acceso al sistema de encriptación de una manera simple, lo anterior permite una rápida respuesta del algoritmo en su validación de información para denegar o conceder el acceso al personal interno dentro de las instalaciones.

Palabras clave: encriptación, código QR, OpenCV, sistemas embebidos, Python, ARM.

Abstract

This work presents the development about the implementation for an encryption algorithm based on elements permutation. Using a QR code that manages the access for authorized personnel, based on capabilities that embedded systems offer. Embedded systems based on ARM architecture have some characteristics that turn them on trustworthy solutions. Some of these solutions are low power consumption, the capacity for being modular and the availability of many open sources to development solutions. These allows the development of low consumption and high efficiency systems according to necessities. The algorithm was programmed on Python language, this language counts with many open sources which support the general propose of the algorithm, the incorporation of OpenCV permitted reading an identification of elements for the final QR code. According to the methodology used for managing the access, an image was obtained with a camera (applying encrypted QR code), in order to be processed by the algorithm and get the username for the one that requested the access. Then a request is made in order to consult database, as result the algorithm validates the information (in case this exists).

Keywords: Encryption, QR code, OpenCV, Embedded Systems, Python, ARM.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 46 – 58. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 47

1. Introducción

Actualmente existe una amplia gama de sistemas de seguridad comerciales que permiten gestionar el acceso a edificios de manera precisa, mediante el uso de tarjetas inteligentes, contraseñas ingresadas desde un panel hasta reconocimiento de huella dactilar, sin embargo, el avance tecnológico proporciona herramientas más completas que permiten al atacante robar los datos de los usuarios del sistema. Citado lo anterior las necesidades de la sociedad han cambiado con el paso de los años, lo que ha generado el desarrollo de soluciones a partir de nuevas tecnologías y algoritmos que permiten la implementación de sistemas de seguridad robustos, brindado mayores características de protección a los datos de los usuarios.

El sistema de seguridad propuesto en el presente trabajo incorpora un algoritmo de encriptación

basado en permutación de elementos en un código QR desarrollado en una plataforma embebida con arquitectura ARM, en conjunto con una cámara, permite resolver deficiencias en el almacenamiento de los datos de los usuarios, así como el aprovechamiento de los recursos para un acceso eficiente en el lugar designado que se desee instalar.

La principal ventaja de utilizar un código QR con texto cifrado, radica en que la información

siempre estará protegida ante posibles ataques externos, permitiendo que los datos puedan ser exclusivamente leídos de manera correcta, la cámara en conjunto con el algoritmo verificará al usuario que intenta acceder para conceder el permiso o denegarlo según sea el caso. Programando más casos críticos de riesgo que impidan el robo de datos de los usuarios del sistema, como el cifrar los datos almacenados, llevar un control de los usuarios registrados, gestión centralizada desde un panel de administrador; con la finalidad de proporcionar mayor panorama ante las situaciones de vulnerabilidad del sistema que puede generar un atacante; poniendo medidas más fuertes de seguridad que impidan el cumplimiento del objetivo por parte del atacante tales como; obtener los datos para usos no autorizados o entrar de manera no permitida a las instalaciones.

2. Sistemas de seguridad

Uno de los retos más importantes que actualmente enfrentan las autoridades y sociedad es la violencia y la seguridad, como antecedente de ello se encuentra el nivel de percepción de la población sobre este tema en las entidades federativas referida en la Encuesta Nacional de Victimización y Percepción sobre Seguridad Pública (ENVIPE), publicada el 30 de septiembre de 2014, reportando un incremento en la percepción de la inseguridad en este año del 73.3%, frente al 72.3% del año pasado. En el Estado de Querétaro, las cifras reportadas por el Sistema Nacional de Seguridad indican un incremento constante en la incidencia delictiva pues de 26,032 delitos registrados por las autoridades en el año 2012 se proyecta que al final de este año ascienda a 30,942 ilícitos, destacando por su número los robos y las lesiones. Atendiendo su objetivo de atender las necesidades sociales, es fundamental que la investigación científica y el desarrollo tecnológico, presenten soluciones capaces de resolver los problemas que nos aquejan como sociedad, teniendo como principal objetivo las instituciones públicas de educación superior. Lo anterior tiene como marco normativo el Plan Nacional de Desarrollo (PDN) 2013-2018, teniendo entre sus objetivos hacer del desarrollo científico, tecnológico y la innovación pilares para el progreso económico y social sostenible. Por su parte, el Programa Especial de Ciencia y Tecnología e Innovación 2014-2018 establece a la seguridad ciudadana como tema prioritario para el Sector de Ciencia, Tecnología e Innovación; a su vez, el Plan Querétaro 2015 incluye entre sus grandes ejes de desarrollo, la Seguridad y Estado de Derecho y alineado a los grandes ejes de desarrollo el Programa Estatal de Ciencia y Tecnología 2010-2015, en su objetivo estratégico 4 determina el promover la aplicación del conocimiento científico y tecnológico a la solución de problemas específicos del sector productivo y social, que contribuyan al desarrollo sustentable del estado. Analizando las causas básicas de una determinada amenaza, la seguridad humana identifica los cambios estructurales, internos o externos, y los de comportamiento que se necesitan para mitigar sus consecuencias, y en la medida de lo posible evitar que se vuelvan a repetir en un futuro.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 46 – 58. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 48

La biometría es usada para muchos propósitos, tales como la detección de criminales, identificación, el control de acceso entre otros [1]. Las características biométricas se pueden dividir en dos clases principales [2]:

Fisiológicas. Relacionado con la forma del cuerpo y que varía de persona a persona con

respecto a los diferentes rasgos físicos, citando ejemplos como: la forma del cuerpo, forma del rostro, geometría de la mano, reconocimiento de iris.

Comportamiento. Están relacionados con el comportamiento de la persona, algunos ejemplos

de este caso son: la firma, dinámica de pulsaciones de teclas. Uno de los problemas de seguridad que presentan los sistemas de autentificación biométrica es

el robo de identidad, que es consecuencia del almacenamiento de las plantillas (remota o localmente) dentro del sistema, siendo principal objetivo de los atacantes, una solución a este tipo de vulnerabilidad es el cifrado de la plantilla antes de su almacenamiento o transmisión a través de un canal inseguro [3].

Los sistemas caóticos poseen características como ergodicidad, diversidad de datos,

sensibilidad a condiciones iniciales, parámetros de control, compartibles con propiedades criptográficas tales como permutación, difusión, secuencia pseudoaleatorias y complejidad del sistema base, permitiendo desarrollo en cifrado de imagen [3].

El término criptografía proviene de dos vocablos griegos: criptos que significa oculto o escondido

y grafos, que significa escritura. A partir de la definición anterior, la criptografía tiene como estudio la escritura oculta. Específicamente, la criptografía transforma un mensaje con significado pleno usando claves o cifras que ocultan el verdadero significado de este. Uno de los objetivos de la criptografía es la protección de la información dado que actualmente los ataques tienen como objetivo la obtención de datos relevantes, el atacante se vale de una serie de técnicas, herramientas que le permitan descifrar el mensaje y hacerse de la información, teniendo como necesidad el diseño de algoritmos robustos que permitan elevar el grado de seguridad en datos sensibles para evitar ataques que terminen en pérdidas masivas de información [4].

La eficiencia de los sistemas de seguridad radica en el número de casos de riesgos que puedan

abarcar para evitar que el atacante obtenga información o pueda acceder de manera no autorizada para cometer actos ilícitos en el espacio asignado, llevando al desarrollo de nuevas soluciones basadas en las tecnologías de la información como la implementación de algoritmos basados en métodos criptográficos; permitiendo la codificación y cifrado de la información de los usuarios del sistema. El sistema de seguridad presentando en este artículo tiene como prioridad el cuidado de la información de los usuarios del sistema, tomando como fundamentos estudios y análisis de algoritmos de cifrado para gestionar el acceso mediante el uso de un código QR, abarcando más casos de riesgos y brindando mayor grado de protección al entorno donde opera el sistema.

La transposición es una de las dos grandes técnicas de transformación de texto plano. En una

transposición las letras del texto plano se mezclan o desordenan siguiendo un determinado algoritmo para obtener un anagrama. Un anagrama se presenta cuando una palabra tiene las mismas letras con el mismo número de apariciones, pero en un orden diferente. Por ejemplo, el criptograma OTERCES es una de las 7! =5040 transposiciones o anagramas posibles del texto plano secreto, en este caso el resultado del algoritmo es poner al revés la palabra [4].

Una de las principales desventajas de utilizar este método radica en la longitud del texto que se

quieren cifrar, en este caso si la cadena de texto plano legible es corta, se puede descifrar la palabra de manera relativamente rápida y sencilla dado que los escenarios ante las combinaciones posibles no son demasiadas; por otro lado si el texto tiene una longitud considerable el método de cifrado por transposición se vuelve muy viable dado que las combinaciones posibles aumentan radicalmente, y resulta prácticamente imposible descifrar sino se tiene la clave, llave o el protocolo correcto.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 46 – 58. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 49

Una de las técnicas más usadas para el cifrado de texto plano es la sustitución, respetando la posición de cada letra de la cadena de texto, pero cada letra es sustituida en su posición por otra de un alfabeto propuesto haciendo que el texto cifrado no sea legible y carezca de sentido sino se tiene la clave o llave necesaria para descifrar el texto. Es un método de cifrado bastante eficiente para cadenas de texto cortas dado que si se aplica un análisis estadístico y se encuentra cierto comportamiento o patrón se puede descifrar el texto con facilidad y hacerse de la información se tenga o no permiso de acceso a ella.

Los alfabetos de sustitución propuestos son la base para la formación de anagramas para el

proceso de cifrado de texto a continuación se muestra un ejemplo:

Alfabeto plano: a b c d e f g h i j k l m n o p q r s t u v w y z

Alfabeto B: @ # $ & % / n H Q 5 6 1 0 9 3 7 P Q M A J K 4 2 L Como se mencionó anteriormente se puede aplicar un análisis estadístico que de pauta de la

asignación del alfabeto plano al alfabeto B en cada posición correspondiente, para dificultar más que el atacante tenga la llave que le permita descifrar el texto, adicionalmente al alfabeto propuesto se le agregan símbolos los cuales hacen más complicado adivinar el patrón de cada posición del texto original, a este tipo de sustitución se le conoce como homófona. Los métodos en los que solo se emplea un alfabeto de sustitución se denominan monoalfabéticos, por otro los que utilizan dos o más alfabetos se les denominan polialfabéticos.

En la figura 1 se muestra los campos de estudio de la criptografía, así como una breve

clasificación, ejemplificando el contexto de su evolución hasta llegar a lo que hoy conocemos como criptografía y su alcance con los métodos de cifrado más usados.

Figura 1. Ciencia del estudio de la escritura secreta y sus campos.

2.1 Algoritmo cifrado de texto

El proceso de cifrado contempla en primer lugar la creación de una plantilla cifrada de una plantilla clara, utilizando un algoritmo basado en la arquitectura de permutación-difusión (modificación de posición-valor) mediante secuencias caóticas del mapa logístico. El procedimiento de cifrado considera como plantilla clara P [0,255] con una longitud de l = 2072 (bytes). Por otro lado, el mapa logístico puede ser descripto por la ecuación (1) [2].

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 46 – 58. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 50

!" + 1 = #!(1 - !") (1)

En donde !" (0,1) representa el estado del sistema #0$ (0,1) es la condición inicial y

(3,994) el parámetro de control para genera secuencias aleatorias (caos) y descartar ventanas periódicas. Los sistemas caóticos al igual que el mapa logístico tienen una desventaja para su implementación en sistemas de cifrado tales como rasgos caóticos discontinuos, distribución no uniforme, prioridad y espacio de llaves reducido, por otra parte, las ventajas son la simple estructura lo que facilita su implementación y la alta tasa de salida.

A continuación, se enlistan los pasos que engloban el proceso de generación de un sistema

cifrado:

• Se establece un rango de 128 bits (32 caracteres hexadecimales) • K [0-9, A-F] para generar secuencias caóticas en dos mapas logísticos a partir de los

siguientes parámetros de entrada:

i) 32 dígitos para la llave secreta ii) Parámetros de control %1,!%2,&�&%32 donde H [0-9, A-F]

Obteniendo los datos necesarios se plantean las ecuaciones (2), (3), (4) y (5) tomando el rango

de los parámetros de control [3].

(2)

(3)

(4)

(5)

Las ecuaciones anteriores representan el proceso de generación de la llave secreta. Para la distribución de la llave secreta en los mapas logísticos pueden ser descriptos con las ecuaciones (6), (7), (8) y (9) [3].

'1!=!3999!+!('1!(&0.001) (6)

'1!=!(A!!+!*!+!+)!-/2!1! (7)

'2!=!3999!+!('2!(&0.001)! (8)

'2!=!(A!!+!*)!-/2!1! (9)

En el caso para las variables '1representan al mapa logístico 1 y '2 representan al mapa logístico 2 en el proceso de distribución [3].

Tomando lo anterior como antecedente para la generación del algoritmo a implementar se

consideró una muestra inicial de 25 elementos cada uno de ellos con un valor posicional clave para la iteración en un mapa logístico propuesto de elementos de la misma cantidad que la muestra inicial. La mejora implementa un nuevo posicionamiento de los valores iniciales, resultando en un criptograma no

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 46 – 58. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 51

tan obvio como en la primera versión, de la misma manera se realiza una serie de operaciones extras para agregar “ruido” para que elevar la complejidad de encriptación de la información original.

El análisis de componentes principales es útil cuando se hayan obtenidos datos de un número

de variables, en donde se creen que hay alguna redundancia en esas variables, la redundancia significa que algunas de las variables son correlacionadas entre sí, reduciendo la muestra inicial a 25 elementos de entrada para la generación del criptograma [5]. El algoritmo itera elementos obteniendo su equivalente en base a sus posiciones y operaciones mencionadas anteriormente, en la figura 2 muestra el diagrama de flujo que describe el proceso de encriptación y desencriptación desarrollado.

Figura 2. Diagrama proceso de encriptación.

3. Sistemas embebidos basados en arquitectura ARM

Se puede definir como sistema embebido a un sistema electrónico que tiene como fin el realizar una(s) tareas específicas para un fin deseado. Los sistemas embebidos pueden incluir elementos de hardware y software que contribuyan a la realización del fin propuesto [6].

En la actualidad, estamos en constante interacción con los sistemas embebidos sin saber que lo

son, desde el celular que utilizamos, televisión, lavadora, etc. Los sistemas embebidos conforman una gran parte del desarrollo tecnológico, así como aportan soluciones a la vida cotidiana de la sociedad, aprovechando todos los recursos para obtener una gran eficiencia en los procesos asignados.

Los sistemas embebidos difieren un poco de los demás porque sus interfaces están

directamente relacionados con el hardware del dispositivo, además de llevar un control de los recursos que se utilizan por operación lo cual los hace más eficientes y con menor consumo energético. Este tipo de sistemas pueden ejecutar operaciones de manera eficiente, manejando tiempos de respuesta sumamente rápidos de procesamiento. Sin embargo, son sistemas que requieren de personal capacitado para desarrollarlos o brindar mantenimiento según sea el caso.

En la actualidad la industria electrónica innova y presenta nuevas soluciones tecnológicas,

demandando desarrollos más complejos en lapsos de tiempo más cortos, optimizando recursos y diseñando nuevas arquitecturas adaptables a las tecnologías de última generación. La implementación de los dispositivos programables trajo un cambio significativo al integrar hardware y software en componentes capaces de ser reconfigurables, sin perder características como la eficiencia energética, costo, y robustez [6].

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 46 – 58. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 52

En 1983 Acorn Computers Ltd comenzó la investigación de una nueva arquitectura el cual sería un procesador con un juego reducido de instrucciones (RISC). El diseño fue finalizado en el año de 1985, al que llamaron ARM1 (Acorn RISC Machine 1), este modelo contaba con 25000 transistores sin embargo fue sustituida rápidamente un año después por la versión mejorada ARM2, contaba con un bus de datos de 32 bits con un espacio de direcciones de 26 bits, junto con 16 registros de 32 bits. Eventualmente se consiguieron mejoras en los modelos como el ARM3 en 1990 logrando latencias de 25 Mhz, hasta llegar al modelo ARM6 que contaba con 35000 transistores mejorando la administración de los periféricos integrados, pero fue el diseño del procesador ARM7DMI el que marco un cambio significativo en el desarrollo tecnológico para la arquitectura ARM [7].

La arquitectura de 32-bits de ARM es la más utilizada por los dispositivos móviles hoy en día,

existiendo variantes de procesadores de la gama Cortex, los cuales son diseñados para diferentes aplicaciones.

Cortex-A: Diseñados para aplicaciones. Cortex-R: Diseñados a sistemas en tiempo real y empotrado (embebido). iii) Cortex-M:

Diseñados a micro-controladores empotrados (embebido). ARM se puede definir como una máquina con un conjunto de instrucciones reducidas que

incorpora las siguientes características: Un fichero de registro único. Arquitectura de load/store donde las operaciones de procesamiento de datos solo operan en los

contenidos de los registros y no directamente en la memoria. iii) Instrucciones simplificadas y reducidas para la decodificación de instrucciones. iv) Control de ALU (Arithmetic Logic Unit) y decodificador de instrucciones. v) Auto-incremento y decrementos de direccionamiento para optimización de bucles.

Figura 3. Diagrama de un procesador ARM de 4 núcleos.

En la figura 3 podemos apreciar la distribución de la arquitectura que conforma un procesador

ARM Cortex de 4 núcleos, con ello se puede comprender más de la potencia de computo bruto que puede ofrecer una tarjeta electrónica basada en esta arquitectura para el desarrollo de un sistema embebido dedicado a la seguridad el cual estará en funcionamiento en tiempo continuo y estará realizando múltiples tareas a la vez.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 46 – 58. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 53

4. Metodología

La metodología propuesta se presenta en la figura 4. Donde se considera como primera etapa el análisis de longitud de la cadena de texto, así como la evaluación de caracteres especiales, una vez obteniendo los resultados se propone en la segunda etapa permutaciones a cada elemento de la cadena de texto teniendo un panorama amplio de los patrones característicos de cada permutación. En la tercera etapa se comienzan a realizar pruebas de lectura del código QR con resoluciones soportadas por la cámara, permitiendo conocer las distancias ideales entre el código QR y el lente de la cámara para la búsqueda de correspondencias de puntos discretos en la imagen, los cuales podemos denominar como puntos de interés, seleccionados en ubicaciones distintivas de la imagen y obtener con la mayor precisión posible el texto [8].

Figura 4. Metodología propuesta.

En la cuarta etapa se incorporó el texto cifrado en el código QR para su lectura y se obtuvieron las primeras lecturas para poder recuperar la cadena original, en este caso el nombre del usuario que se otorgó permiso de acceso a la instalación, siguiendo los principios de reconocimiento facial que significa dar una imagen del código QR, requiriendo que el sistema determine si es el usuario autorizado o no para el acceso [9], se evaluó casos en donde la lectura no era óptima y se mejoró el algoritmo hasta conseguir una eficiencia de respuesta de lectura y activación del hardware para gestionar el acceso. La verificación de cada cadena cifrada de texto se comprobaba con la base de datos, aplicando otro filtro de seguridad encontrando correspondencias entre lo almacenado y lo que se recibía por el código QR [10]. Por último, se realizaron pruebas del sistema final, en busca de errores para ser corregidos antes de su implementación final en el espacio asignado.

Teniendo como contexto la metodología divida en etapas, cada una cuenta con subprocesos

para garantizar la mayor eficiencia en relación entre el software y el hardware, en cada una de las etapas se implementaron pruebas las cuales consistían en la corrección de errores, bugs para realizar las adecuaciones pertinentes con la finalidad de que el software final no tuviera problemas de seguridad los cuales pueden ser explotados por el atacante para el robo de información o acceso no permitido. Una de las ventajas de separar la metodología en etapas radica en el mantenimiento del sistema total, con ello se puede detectar de manera más precisa la falla para ser atendida, sin afectar completamente el funcionamiento del sistema.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 46 – 58. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 54

En cada etapa se considera un proceso de corrección de errores lo cual se traduce en conseguir la mayor eficiencia por módulo, con la finalidad de garantizar el cumplimiento puntual de las tareas gestionadas en cada etapa. En una segunda instancia se realiza las adecuaciones, labor que tiene como finalidad el detectar errores, poner el código en situaciones de riesgo y encontrar la solución más adecuadas sin afectar la funcionalidad ni el rendimiento. La metodología presentada en la figura 4 se puede escalar o en su defecto optimizar más, dependiendo del fin propuesto del sistema que se desea implementar.

5. Pruebas y resultados

Se realizaron pruebas y análisis en cada una de las etapas propuestas en la metodología, en la figura 5 se muestra un diagrama de flujo que plantea los pasos de desarrollo del sistema final. Cada proceso permitió depurar errores de compilación, así como verificar los recursos que se estaban ocupando en el procesamiento del algoritmo de encriptación final, dado que se buscaba una rápida respuesta para gestionar el acceso de manera rápida para los múltiples usuarios que requieren acceso a las instalaciones, cuidando un rendimiento entre la parte del software y el hardware.

Figura 5. Secuencia de pasos del desarrollo del sistema final.

En la figura 6 se muestra el proceso de lectura del código QR, modificando las resoluciones de la cámara tomando tiempos de respuesta de la lectura del código cifrado, con ello se buscó la resolución más óptima para la lectura. El código QR toma la cadena de texto cifrado, la cámara lee los datos, aplicando filtros y el proceso de descifrado se obtiene una cadena de texto la cual se verifica en la base de datos su existencia, mostrando en la pantalla quién está intentando entrar a las instalaciones.

En la figura 7 se muestra el diseño final del interfaz de usuario del sistema incorporando los

algoritmos de cifrado, lectura de código QR, etc. El interfaz cuenta con una presentación sencilla pero funcional que facilita la interacción con el usuario, siendo un sistema abierto al cual se le pueden agregar más características o quitar según sean las necesidades del entorno donde se va instalar y la forma de gestionar el acceso. Se establecieron permisos de usuarios en el cual el administrador del sistema puede acceder a todas las características, como registrar usuarios nuevos, consultar registros o encriptar texto plano para pruebas o generar un nuevo acceso, los procesos del sistema se puede hacer de manera simultánea dado que la programación permite hacer varias tareas a la vez.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 46 – 58. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 55

Figura 6. Lectura del código QR cifrado.

a) Pantalla de acceso b) Campos solicitados para registro

c) Menú administrador

Figura 7. Interfaz Gráfico.

En la figura 8 en el inciso a se aprecia la implementación de la mejora del algoritmo agregando nuevos arreglos a las combinaciones de los elementos. Destaca el uso de elementos que cumplen la función de agregar ruido a la información para que su lectura no sea tan intuitiva.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 46 – 58. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 56

Figura 8. Código de mejora del algoritmo. Por otra parte, en la figura 9(a), se muestra las pruebas de la lectura del código QR, a una

resolución de 400 por 304 pixeles, ideal para evitar problemas de lecturas. Se volvió a probar el generar el código desde un navegador para que este fuera leído a través de un dispositivo y se le aplicaran las pruebas pertinentes para evaluar su rápida lectura y sin perdidas de información, como se puede apreciar en la figura 9(b). En la figura 9(c) y 9(d), se muestra una prueba de lectura del código correcta incorporando un pequeño circuito de pruebas. Sin embargo, los primeros intentos la señal de activación no se alcanza a apreciar, lo cual fue corregido por mandar la señal y hacer que tuviera una duración de 20 segundos tiempo suficiente para poder acceder a las instalaciones. Los diferentes leds indican las primeras pruebas con 5 usuarios diferentes, quedando de la siguiente manera.

pins= { “Mayra Azucena Cintora García”: 18, “Jesús Carlos Pedraza Ortega”: 17, “Juan Manuel

Ramos Arreguín”: 27, “Jonathan Armando Troncoso Ramos”: 22, “Juvenal Rodríguez Reséndiz” :23}, permitiendo obtener tiempos de respuestas, gestión de accesos y evaluar las capacidades de la lectura del código QR cifrado.

a) Pruebas código QR cifrado

b) Lectura código QR cifrado

(c) Captura del código cifrado QR

(d) Señal de activación (acceso concedido)

Figura 9. Pruebas.

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 46 – 58. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 57

En la figura 10, se muestra la implementación de la base de datos utilizando sqlite3. Aquí se muestra los registros de la tabla de los usuarios registrados. LA tabla se inicia con una muestra de 30 participantes almacenando nombre, departamento, usuario, contraseña y correo. La ventaja de utilizar sqlite3 radica en la gran compatibilidad con el interfaz gráfico desarrollado con QT en Python, obteniendo una buena respuesta entre las peticiones de las consultas de los registros a verificar por parte del administrador. Para acceder a dicha información es necesario contar con permiso de administrador, permitiendo el manejo de datos más controlado. La distribución de la información que se muestra contempla los campos más significativos de los usuarios, dejando abierta la posibilidad a ingresar más campos según la necesidad del sistema, conservando la eficiencia en la respuesta entre consultas.

Figura 10. Pruebas base de datos.

6. Conclusiones

Se diseñó un prototipo de plataforma electrónica que contiene una cámara, un módulo de pines, que tiene el potencial de ser escalable en hardware y en programación, permitiendo abarcar más lugares en donde se requiera implementar seguridad y llevar una gestión centralizada del acceso, cabe mencionar que el sistema cuenta con un interfaz gráfico sencillo lo cual permite que sea más fácil la administración de la plataforma electrónica. Los sistemas de seguridad son costosos, y en muchos casos es difícil encontrar una opción que se adecue completamente a las necesidades, es por esto que se desarrolló una plataforma electrónica la cual servirá de base para implementar sistemas de seguridad robustos, utilizando solamente lo requerido y con la ventaja de ser escalabre a un futuro.

El prototipo de plataforma electrónica queda abierto a posibles modificaciones de capacidad del

sistema, con la finalidad de siempre mejorar su funcionamiento y rendimiento. Una de sus posibles aplicaciones puede ser en el hogar, escuelas o en entornos corporativos; lugares en los que son frecuentados por muchas personas día con día, la plataforma electrónica brinda una base sólida la cual puede ayudar de soporte a sistemas de seguridad complementarios o ser adaptado a las necesidades del entorno que se desee instalar.

La mejora significativa permitirá agregar un grado más de seguridad, elevando

considerablemente el grado de combinaciones posibles antes de llegar a la información original. La plataforma electrónica conserva la robustez de procesamiento y una alta respuesta en cuanto a la lectura a través de la cámara, todo lo anterior se traduce en eficiencia significativa en la gestión de acceso al personal e integridad de los datos almacenados para su posterior monitoreo. Cumpliendo

La Mecatrónica en México, Enero 2018, Vol. 7, No. 1, páginas 46 – 58. Artículo seleccionado del

Disponible en línea en www.mecamex.net/revistas/LMEM 4° Congreso Internacional

ISSN: 2448-7031, Asociación Mexicana de Mecatrónica A.C de Sistemas Embebidos (ICES18)

Asociación Mexicana de Mecatrónica A.C. 58

con la planeación esperada como unos de los objetivos principales del desarrollo tecnológico de la plataforma, que cada vez que se encontrará una falla o un área de oportunidad, se pudiera mejorar sin perder la esencia con la cual fue pensada.

Referencias [1] Duc N. y Minh B. “Your face is not your password face authentication by passing lenovo-

asustoshiba”. Black Hat Briefings. Ha Noi University of Technology, Vietnam. (2009) [2] Bhattacharyya D., Ranjan R., Alisherov F. y Choi M. “Biometric Authentication: A Review”. In

International Journal of u- and e- Service, Science and Technology, Vol. 2, No. 3, p. 13–28. (2009)

[3] Murillo M., Cruz C., Abundiz F. y López R. “Cifrado caótico de plantilla de huella dactilar en sistemas biométricos”. Congreso Latinoamericano de Control Automático, pp. 18-23. (2014)

[4] Arboledas D. “Criptografía sin secretos con Python”. Ra-Ma, Madrid, 1ra Edición. (2017) [5] Kumar S.,y Kaur H. ”Face recognition techniques: Classification and comparisons”. In

International Journal of Information Technology and Knowledge Management, 5(2), p. 361–363. (2012)

[6] Aceves M. y Ramos J. “Fundamentos de Sistemas Embebidos –Mediante Lenguajes Descriptivos de Hardware”. Asociación Mexicana de Mecatrónica A.C., México, 1ra Edición. (2012)

[7] Zuriaga A. “Estudio comparativo de las capacidades de Intel y ARM”. Tesis de Maestría, Universidad Carlos III de Madrid, España. (2014)

[8] Bay H., Ess A., Tuytelaars T. y Van Gool L. “Speeded-up robust features (SURF)”. In Computer vision and image understanding, 110(3), p. 346–359. (2008)

[9] Junered M.” Face Recognition in Mobile Devices”. Master Thesis. Luleå University of Technology, Luleå, Suecia. (2010)

[10] Chao W.” Face Recognition”. GICE, National Taiwan University, Taiwan. (2010)