Journal 2014, Instituto de Electrónica Aplicada - IEA - UMSA

June 28, 2017 | Autor: Paulo Loma Marconi | Categoria: Electronic Engineering
Share Embed


Descrição do Produto

Universidad Mayor de San Andrés Facultad de Ingeniería Carrera de Ingeniería Electrónica Instituto de Electrónica Aplicada - IEA

Journal IEA-14 "Innovación y Tecnología"

Edición 2014 La Paz - Bolivia

Publicado por: Instituto de Electrónica Aplicada Ingeniería Electrónica Universidad Mayor de San Andrés http://miing.umsa.edu ISBN: X-XXXX-XXXXXX Creditos: Editor: Paulo Roberto Loma Marconi [email protected] paquete LATEX: ’UMSAetn v1.8’ por Paulo Roberto Loma Marconi https: // github. com/ zurits/ UMSAetn-LatexTemplate

Presentación El Instituto de Electrónica Aplicada, se complace en presentar la revista de edición electrónica “Innovación y Tecnología”, que es una publicación institucional del IEA y está dirigida a la comunidad académica universitaria y a la sociedad en general. En la revista se divulgará los trabajos realizados en la carrera de Ingeniería Electrónica y el Instituto, por docentes, investigadores y estudiantes. Se publicarán artículos referidos a investigación científica y tecnológica, artículos de reflexión sobre resultados de investigación concluidas, artículos de revisión que presentaran tendencias de desarrollo y artículos que presenten resultados preliminares de una investigación científica o tecnológica y también, reportes que presentan resultados de un estudio, reporte de revisión de un tema como resultado de un análisis crítico de la literatura sobre un tema en particular, traducción de textos técnicos de interés particular en el área de interés de la revista y documentos de reflexión no derivados de investigación. Este primer número presenta artículos de investigación aplicada en algunos casos con reportes de prototipos presentados como resultados del proceso de investigación y propuestas de utilización de materiales reciclados. Esta publicación es un esfuerzo del IEA con la colaboración de docentes y estudiantes investigadores se presenta a consideración de la comunidad académica y sociedad en general.

Wilber S. Flores Bustillos Director Instituto de Electrónica Aplicada

Contenido 1. Acondicionamiento del Kernel de Linux para ejecución de aplicaciones con altas exigencias de respuesta temporal - Análisis de desempeño de Tiempo Real 4 2. Benchmarking de Técnicas de Control Clásico en base a la Metodología aplicada en los laboratorios de la asignatura de pregrado Sistemas de Control II (ETN-902) 8 3. Cluster de Alto Rendimiento

16

4. Definición del entorno de trabajo para el Diseño de Sistemas de Control que consideran requerimientos de tiempo crítico - Análisis de desempeño de Tiempo Real 28 5. Desarrollo de Mecanismos para Microrobots usando material reciclado

33

6. Diseño de un Sistema de Control de Velocidad para motores en una trefiladora seca de alambres de acero mediante sistema SCADA 37 7. Diseño de un Sistema de Supervisión de Tiempos y Recorridos en rutas de Transporte Público Urbano en la ciudad de La Paz 45 8. Diseño de una cámara térmica para el acondicionamiento de las etapas de pintado y secado del proceso de “Chapería” de automóviles 55 9. Procedimiento básico de manejo del Sistema Mecatrónico XK 335 B

60

10.Reconocimiento del Alfabeto Dactilológico Boliviano Bajo Tecnología de Visión por Computador 65 11.Prototipo de Generación de Consignas de Control a partir de los Ritmos Sensomotores

74

12.Prototipo de Impresora 3D reutilizando desecho electrónico (e-waste) en su construcción, y uso de botellas PET como material de impresión 82 13.Sistema de Archivos EDFEDF+ utilizando MATLAB

93

14.Sistema de desarrollo para la programación de PLC usando Redes de Petri en el modelo de Control 97

3

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Acondicionamiento del Kernel de Linux para ejecución de aplicaciones con altas exigencias de respuesta temporal - Análisis de desempeño de Tiempo Real Diego E. Quimbert Montes [email protected]

Jorge A. Nava Amador [email protected] ner de plataformas que operen en Tiempo Real, ya sea en computadores personales o estaciones de trabajo y/o también en sistemas embebidos como los Arduino, Intel, Raspberry Pi, y otros, empleando técnicas de Tiempo Real estricto o no estricto, incluso en sistemas de Hardware Reconfigurable como los FPGA’s. El constante avance de trabajos de investigación en este campo, particularmente en el caso de sistemas de tiempo real estricto, obligan a abordar un aspecto que es necesario para los ingenieros electrónicos que se especializan en la Ingeniería de Control, especialmente de aquellos que trabajan en el desarrollo de sistemas con altas exigencias de respuesta temporal para la supervisión y control de procesos. Los ingenieros de control desarrollan sistemas que solo consideran requisitos funcionales y dejan de lado los requisitos temporales, esto debido a la poca orientación que existe en este campo. Esta es la motivación que ha impulsado a que la carrera de Ingeniería Electrónica incorpore dentro de sus líneas de investigación, la de “Desempeño de Sistemas de Tiempo Real”, aprobada por el Honorable Consejo de Carrera durante el primer semestre de la gestión 2014. Esta Línea de Investigación tiene el propósito de impulsar el trabajo en Sistemas de Tiempo Real, para complementar la formación del pregrado, así como vincularnos con universidades extranjeras. Entre sus objetivos se tienen: • Formular una metodología para el modelado y análisis de los requisitos, configuración y despliegue de sistemas distribuidos heterogéneos que permitan la gestión de estos sistemas.

Abstract El poco conocimiento de los sistemas en tiempo real en Bolivia, y el constante avance de trabajos de investigación en este campo, particularmente en el caso de sistemas de tiempo real estricto o robusto, obligan a abordar un aspecto que es necesario para los ingenieros electrónicos que se especializan en la Ingeniería de Control, especialmente de aquellos que trabajan en el desarrollo de sistemas con altas exigencias de respuesta temporal para la supervisión y control de procesos. Los ingenieros de control en Bolivia, en su mayoría, desarrollan sistemas que solo consideran requisitos funcionales y dejan de lado los requisitos temporales, esto debido a la poca orientación que existe en este campo. En este artículo se describe de manera sistematizada y clara, como se debe acondicionar un sistema operativo Open Source, como lo es la distribución Ubuntu de Linux, para poder desarrollar o manejar aplicaciones que trabajan en tiempo real o que exigen plataformas de tiempo real. Keywords – Ubuntu, Linux, Open Source, Real Time, Sistemas de Control en Tiempo Real, Exigencias Temporales. I. Introducción

• Desarrollar una metodología de modelado y análisis que basada en la descripción del sistema (plataforma, aplicaciones, carga de trabajo y requisitos temporales) permita garantizar el cumplimiento de requisitos combinados de tiempo real estricto, de distribuciones especificadas de las latencias en la ejecución de transacciones y métricas de productividad y rendimiento.

El diseño de controladores para un proceso o sistema que hoy en día se manejan tienen exigencias temporales y funcionales que cumplir estrictamente, es por ello que obligan a la ingeniería a emplear mecanismos de procesamiento de datos, adquisición de señales y/o envió de señales en altas velocidades o a velocidades que no deben sobrepasar un tiempo fijado, requiriendo así dispo4

Journal - IEA 2014, Facultad de Ingeniería - UMSA

• Desarrollo de técnicas de extracción de los modelos III. Metodología propuesta para de comportamiento en base a la instrumentación acondicionamiento estándar disponible en la plataforma y de los moEn primera instancia es necesario tener el Sistema delos de despliegue existentes. Se consideran sistemas no críticos (firm real-time) en los que la obser- Operativo de Linux, Ubuntu 14.04 LTS el cual se puede vación de la ejecución del sistema sobre el entorno conseguir de la página web, http://www.ubuntu.com/ real proporciona información estadística significa- download/ubuntu/download Es aconsejable tener solamente el Ubuntu como Sistetiva para la configuración del sistema. ma Operativo de la Computadora en la cual vayamos a • Desarrollo de técnicas de verificación del compor- trabajar, ya que pueden existir problemas en la creación tamiento del sistema y del cumplimiento de sus re- del kernel, actualización del Sistema Operativo o en el quisitos en base a la monitorización de su ejecución gestor de arranque el cual se denomina GRUB, de todas sobre el entorno real, de su modelo de despliegue maneras si tuviéramos el último problema (el Gestor de y comportamiento. Arranque) se plantea una solución en el último punto. Como producto de los primeros pasos que se dieron, es Si desea saber la versión de su Kernel de Ubuntu, abra que se pueden apreciar los resultados y planteamientos el terminal (Ctrl+Alt+T) e introduzca el siguiente coque se exponen en este artículo, donde presentamos los mando:   aspectos necesarios para regenerar el Kernel de Linux con uname -a funcionalidades que permiten incorporar planificadores o   ejecutivos de tiempo real, ejecutando políticas que son conocidas en el diseño y análisis de Real Time Systems. Los pasos para poder comenzar con la creación del Kernel en Tiempo Real son: II. Detalles del sistema para el acondicionamiento

1. Configuramos la conexión a internet para poder actualizar los repositorios con el Synaptic y también las actualizaciones del sistema mediante el Terminal.

Se espera de los sistemas operativos en tiempo real futuros, garanticen los plazos y las relaciones de precedencia entre las tareas que se sostienen bajo observación de las medidas de tolerancia a fallos en la base de una planificación integrada de los recursos[1].

2. A partir de las versiones 12.04LTS ya no viene por defecto el Gestor de paquetes Synaptic, para lo cual entramos al Centro de Software de Ubuntu y en el buscador escribimos Synaptic Gestor, y procedemos a descargar el Gestor de Paquetes Synaptic y luego lo instalamos.

Los plazos comunes de varias tareas cooperantes han de cumplirse en los sistemas distribuidos que tienen la sobrecarga de la transmisión en cuenta. Frecuentemente las medidas temporales de control, se deben tomar durante la ejecución del programa para garantizar el comportamiento del sistema a tiempo o para iniciar la degradación agraciada de rendimiento. La llegada de tareas listas para su ejecución y los recursos que soliciten ya no puede ser considerada como un proceso aleatorio. En áreas de la previsibilidad, un procedimiento más determinista debe ser aplicado, que utilizen la información sobre las futuras tareas, instantes cuando se entra en el estado de lista que está disponible en los sistemas en tiempo real. De este modo, futuros conflictos de recursos pueden ser detectados y posiblemente se resuelvan en una etapa muy temprana. Se espera de un sistema operativo en tiempo real, que puede predecir en cualquier punto en el tiempo, si todas las tareas activas se reunirán con sus plazos.

Figura 1: Gestor de Paquetes Synaptic instalado. 3. Abrimos el Gestor de Paquetes Synaptic y abrimos Configuración, seleccionamos la pestaña Repositorios y luego la pestaña Otro Software y habilitamos los paquetes provenientes del Canonical (ver Figura 2), al cerrar aparecerá un cuadro de dialogo en el cual tenemos que seleccionar recargar el Synaptic y luego lo cerramos.

Éste articulo está basado en Ubuntu 14.04 LTS (Long Term Support) con el kernel por defecto 3.13.0, en el cual se instalará el Kernel 3.4 con el parche en Tiempo Real 3.4 rt. 5

Journal - IEA 2014, Facultad de Ingeniería - UMSA





mkdir -p ~/ tmp / linux - rt cd ~/ tmp / linux - rt wget http :// www . kernel . org / pub / linux / kernel / v3 . x / linux -3.4. tar . bz2 wget https :// www . kernel . org / pub / linux / kernel / projects / rt /3.4/ older / patch -3.4 rt7 . patch . bz2 tar xjvf linux -3.4. tar . bz2 cd linux -3.4 patch - p1 < A1 > A2 > A3 > An

(21)

v0 < v1 < v2 < v3 < vn

(22)

(10) (11)

Cálculo de la deformación Logarítmica.  = ln(

Ao ) A1

II. Descripción del Sistema ConvertidorMotor de Inducción (Planta)

(12)

Cálculo de del esfuerzo promedio: Z

Z

Matlab nos proporciona la herramienta AC1, este blo(13) que disponible en Simulink tiene incorporado los modelos matemáticos de un motor de inducción, un rectificador σf m (14) trifásico de onda completa (Three – phase full converter), un bloque de frenado automático (breaking chopper), un inversor DC AC controlado por el principio de control esConsideración de los efectos de la fricción de la matriz y calar (Three – phase inverter) y un regulador de Voltaje la no homogeneidad en la deformación. DC bus (DC bus voltage regulator). σ · d(σ) =

1

K · () 2  n+1  K 2 − 1n+1 = 2 − 1 n+1

h L = 1 + µ · cot(α)

φ = 0, 88 + 0, 13 σf r

(≥ 1)

(15) (16)

De esta forma tenemos el esfuerzo resultante en el alambre luego de un porcentaje de reducción en una matriz de estirado. σsalida = σf m · Qf r · φ · 

(17)

Así de acuerdo a la definición de esfuerzo de salida, calculamos la fuerza de trefilado: Festirado = σsalida · A1

Figura 8: Diagrama de bloques de la Planta (conjunto convertidor de frecuencia y motor de inducción), contro(18) lador PI y lazo de realimentación del sistema planteado 40

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Función de Transferencia 0, 9627 0, 167s + 0, 373 0, 9632 2 0, 1725s + 0, 1735s + 0, 0373 A.

Diseño del controlador PI

El cálculo de las constantes PI del controlador se realiza para mejorar la respuesta de la misma, se utiliza la primera técnica de sintonización de controladores PID de Ziegler Nichols. Ya que este método está basado en enfoques experimentales para la sintonización de los controladores PID.

Figura 9: AC1, Six – Step VSI Induction Motor Drive (Fuente: Matlab 2010).

El sistema planta controlador consiste en los siguientes bloques: La planta está compuesta por el motor de inducción y el inversor trifásico de principio de control escalar. El lazo de realimentación está presente a la salida del rectificador trifásico, esta señal es llamada Vbus por el bloque en Matlab, esta señal es la que se realimenta negativamente con la señal de referencia Vbus*, la diferencia de estas señales es la que utiliza el controlador PI para el control del sistema

Figura 11: Respuesta al paso y al impulso del sistema de segundo orden con controlador sintonizado por Ziegler Nichols. Los cálculos de las variables mecánicas y los límites del proceso, pueden resumirse en la tabla ??, en donde se indica la factibilidad o no del proceso.

Figura 10: P1 Primera aproximación con un sistema de primer orden, P2 segunda aproximación con un sistema de segundo orden.

Variable A0 [mm2 ] A1 [mm2 ] e  N σf m [ m 2] σf r φ N σsalida [ m 2] Fest [N ] Flimite [N ]

Las aproximaciones del comportamiento dinámico de la planta (Convertidor-motor) se muestran en la figura 10 con la ayuda de ident de Matlab. Gracias a ident de Matlab, podemos modelar un comportamiento dinámico de nuestra planta, en este caso establecimos dos aproximaciones, uno de primer orden y otro de segundo orden en el plano complejo de LaPlace. De esta manera tenemos un modelo de nuestra planta en donde es posible la aplicación de técnicas de control.

Paso 1 23,758 21,598 0,091 0,095 228,020 1,715 1,231 45,902 991,390 5,122e3

Paso 2 21,598 19,627 0,091 0,096 333,540 1,715 1,230 67,328 1,321e3 5,240e3

Paso 3 19,6342 17,849 0,0909 0,0953 333.55 1,715 1,231 67,141 1,198e3 4,761e3

Paso 4 17,850 16,226 0,0909 0,0953 333,382 1,715 1,231 67,114 1,089e3 4,328e3

Tabla 1: Cálculo de variables mecánicas 41

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Los cálculos de las variables mecánicas por cada paso son realizadas en un archivo de extensión *.m en MatLab.

1



2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36



%Ecuaciones para el c á lculo de variables en un proceso de trefilaci ó n de %alambres de acero , Developed by Marco Antonio Quinta Cutter %% % % % % % % % % % % % % % % % % % % % % % % %Par á metros del alambre K =600; % Esfuerzo de fluencia Mpa epsilon1 =0.0953 %si no ha sido deformado antes n =0.25; %coeficiente de endur ecimiento por deformaci ó n %Dimensiones de la matriz alfa =4; %Angulo de la matriz ( grados ) d0 =4.7672; %di á metro inicial ( mm ) d1 =4.5453; %di á metro final ( mm ) L =( d0 - d1 ) /(2* sin ( alfa * pi /180) ) ; %hipotenusa de la zona de deformaci ó n h = d1 + L * sin ( alfa * pi /180) ; %altura media raz ó n = h / L ; %raz ó n del trabajo redundante %Variables del proceso de trefilaci ó n mu =0.05; %coeficiente de fricci ó n del lubricante velocidad =2; %velocidad de trefilaci ó n m / s % 1 er y 2 do paso : Hallar el á rea inicial Y final A0 = pi *( d0 ) ^2/4 A1 = pi *( d1 ) ^2/4 % 3 er paso : Deformaci ó n ingenieril e =( A0 - A1 ) / A0 %4 to paso deformaci ó n logar í tmica epsilon2 = log ( A0 / A1 ) %6 to paso esfuerzo de fluencia promedio sigmafm = K *(( epsilon2 ^( n +1) - epsilon1 ^( n +1) ) /( n +1) ) /( epsilon2 - epsilon1 ) %7 mo paso Efectos de la no homogeneidad y la fricci ó n en el proceso Qfr =1+ mu * cot ( alfa * pi /180) %efecto de la fricci ó n phi =0.88+0.12* raz ó n %Factor de trabajo redundante sigmasal = sigmafm * Qfr * phi * epsilon2 %Esfuerzo del alambre trefilado %8 vo paso , Fuerza de estirado y potencia necesaria F = sigmasal * A1 P = F * velocidad %condiciones y l í mites del dise ñ o Flimite =0.8* K * epsilon2 ^( n ) * A1

Código 1: Archivo *.m en Matlab para el cálculo de las variables del proceso.



Figura 12: Velocidad de referencia y velocidad desarrollada por el primer motor

Figura 13: Velocidad de referencia y velocidad de trefilado del primer tambor



Las variables mecánicas calculadas, se incluyen en la simulación como entradas y salidas, el resultado de la simulación del sistema para un paso se muestra a conti- Figura 14: Fuerzas presentes y desarrolladas en un proceso de trefilación nuación. 42

Journal - IEA 2014, Facultad de Ingeniería - UMSA

III. Diseño del sistema SCADA De acuerdo al modelo CIM, la arquitectura de comunicaciones del sistema SCADA implementada en el presente trabajo es el siguiente: Figura 17: En una maquina trefiladora el caudal del flujo del material debe mantenerse

Figura 18: Flujo de datos en el sistema SCADA para el control de velocidades de la trefiladora seca Figura 15: Estructura de comunicaciones y componentes del sistema SCADA implementado en el presente Trabajo

El sistema propuesto alcanza hasta el nivel SCADA del modelo CIM, sin embargo esto no limita la expansión del sistema hasta los niveles MES y ERP, esto debido a que al utilizarse un enrutador para la comunicación entre el nivel SCADA y el nivel de Control, se puede tener acceso a una red WAN.

Figura 19: Programación gráfica HMI, monitoreo de alarmas de las variables del proceso velocidad y fuerza de trefilado

A. Programación del sistema Una máquina trefiladora seca de alambres de acero de cuatro pasos se describe en las figuras siguientes:

IV.

Conclusiones y recomendaciones

• Se realizó el estudio del proceso mecánico de trefilación de alambres de acero, con las variables y condiciones que se deben tomar en cuenta para evitar fallas en el proceso. • Con los límites del proceso mecánico de trefilación de alambres de acero, se diseñó un sistema de control de velocidades de motores de inducción de tal forma que las fuerzas ejercidas en el alambre no superen los límites recomendados para el proceso de trefilación.

Figura 16: Trefiladora de alambres de acero de cuatro pasos, ubicación física de los sensores del proceso 43

Journal - IEA 2014, Facultad de Ingeniería - UMSA

• Se simuló el modelo matemático de la planta en [11] Atienza Riera José Miguel. “Tensiones Residuales base a convertidores de frecuencia con principio en Alambre de Aceros Trefilados”. Tesis doct. Made control escalar, motor de inducción y par de drid - España: Tesis Doctoral Politécnica de Macarga, en base al modelo electromecánico de sus drid, 2001. componentes utilizando Simulink. Se realizó la si- [12] Jesús Fraile Mora. Maquinas Eléctricas. McGraw mulación del comportamiento dinámico del sisteHill/Interamerica de España. ma en el plano complejo de La Place, se aplicó la técnica de sintonizado de controladores de Ziegler [13] Mauricio Améstegui Moreno. Mauricio. La Paz, Bolivia: Universidad Mayor de San Andrés, 2003. y Nichols para el proceso. a • Se diseñó un Sistema de Control y Adquisición de [14] John A. Schey. Procesos de Manufactura. 3. ed. Universidad de Waterloo, Ontario, 2000. Datos SCADA, para el control y monitoreo de las variables del proceso para una trefiladora seca de un paso. Para este hecho se ha utilizado equipos y software disponibles en el Instituto de Electrónica Aplicada, el funcionamiento del sistema implementado en el instituto se verifica correctamente.

[15]

Referencias [1]

Paul Beunens. Tecnología del alambre. Bekaert Belgica, 1994.

[2]

Bailey David y Wright Edwin. Practical SCADA for industry. Great Britain: Elseivier, 2003.

[3]

Sopena De y José Antonio Irabien. Aceros Productos y Derivados. I y II vols. Departamento Técnico de COSIMET, Bilbao, 1968.

[4]

Ramírez Córdova Walter Emilio. Elaboración de un manual de procedimientos operativos para la estandarización del proceso de trefilación de alambre en la industria mecánica. Universidad de San Carlos de Guatemala, 2001.

[5]

Mateus Ayala Luis Fernando. Manual de Operaciones del Proceso de Trefilado de Alambre de Acero y Aluminio. Inf. téc. Quito - Ecuador: Escuela Politecnica Nacional, 2006.

[6]

Escubierre Gerardo. Selección de Hileras de Diamante para la Trefilación de hilos desde Alambrón hasta diámetros súper finos. ESTEVES DO BRASIL, Sao Paolo - Brasil, 2002.

[7]

Aillon Abril Marco Javier. “Diseño de una sistema SCADA de Control Automático de Temperatura y Humedad para Lechos de Producción de HUMUS de Lombriz en la Empresa BIOAGROTECSA CIA. LTDA”. AMBATO, ECUADOR: Universidad Técnica de AMBATO, Facultad de Ingeniería en Sistemas, Electrónica e Industrial, 2010.

[8]

Ogata Katsuhito. Ingeniería de control Moderna. Prentice-Hall Hispanoamericana, 1998.

[9]

Trzynadlowsky Andrzej M. Control of Induction Motors. Department of Electrical Engineering University of Nevada, 2001.

[10]

Stuart G. McCrady. Designing SCADA Application Software a Practical Aproach. Canada: Elsevier, 2013. 44

Cheng Ching You. Autotuning of PID Controllers, A relay Feedback Approach. 2.a ed. Faculty of Electrical Engineering, Eindhoven University of technology, Eindhoven - Netherlands, 2006.

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Diseño de un Sistema de Supervisión de Tiempos y Recorridos en rutas de Transporte Público Urbano en la ciudad de La Paz Hugo Mayta Palacios

Jorge A. Nava A.

a través de sus correspondientes Direcciones y Unidades Funcionales, han llegado a realizar varios esfuerzos en El diseño del Sistema de Supervisión realiza- procura de una mejora, sin embargo, no se han tomado, es aplicable al cumplimiento de recorridos y do medidas concretas con respecto al transporte urbano tiempos para el servicio del transporte público hasta ahora (se encuentra en gestación la implementación urbano, y se desarrolló bajo la metodología de Buses y Teleférico para transporte masivo a partir del RUP y UML, contemplando la auto-regulación 2014). Asimismo, la mayoría de las organizaciones del que aplican los Sindicatos de autotransporte, transporte público, presentan mecanismos muy deficienasí como la Ordenanza Municipal de Rutas tes de autocontrol en sus diferentes modalidades, lo cual Autorizadas del Gobierno Autónomo Municipal empeora la calidad de este servicio y en consecuencia se de La Paz Nº 109/2010. Consideró aspectos de tienen diversos inconvenientes, como: Sistemas Supervisorios, a nivel de arquitectura • Incumplimiento de recorrido de origen a destino, y funcionalidad hardware y software para la en algunos casos con abandono de pasajeros. Central de Supervisión como Sistema de In• Alteración de rutas autorizadas con cambios del formación y para las Unidades Remotas como número de línea por parte de los transportistas. Sistemas Empotrados; también restricciones de tiempo real para la adquisición, etiquetado de • Retrasos por incumplimiento de tiempos de llegatiempos y empaquetamiento de datos respecto da, esto debido a la “conveniencia” e interés para la supervisión del recorrido de cada unidad ticular que representa para el conductor y por el vehicular. Para la identificación de cada vehículo grado de congestión vehicular en las calles. se consideró a los Tags RFID implementados • Frecuencia incierta, con ausencia de transporte en por la Agencia Nacional de Hidrocarburos. El horarios de tarde y noche. prototipo propuesto es subconjunto del sistema, • Incremento arbitrario de tarifas, inseguridad, inpara simulación y pruebas de integridad. La comodidad, malos tratos, entre otros. aplicación del sistema, por el Gobierno MuniciDe los inconvenientes ya mencionados, se concluye que, pal, la Dirección de Tránsito y/o los Sindicatos de Transporte, promovería solucionar retrasos, se está vulnerando un derecho fundamental para el ciuincumplimiento de recorridos y la frecuencia del dadano que hace uso de estos servicios, como es el de poder movilizarse regularmente y con la confianza de un servicio. mínimo de calidad del servicio, debido a que el transporKeywords – Unidades del transporte, super- tista incumple en el recorrido de sus rutas. Por otro lado, visión, Modem GSM, GAMLP, Metodología las operadoras del transporte han adquirido una “mala imagen”, al no contar con mecanismos acordes para gaRUP, UML. rantizar un mejor servicio, provocando así, un rechazo generalizado por parte de la población paceña, que deI. Introducción manda a sus autoridades otro tipo de medios para transportarse. A ello, cabe agregar, que el transporte en geneLa ciudad de La Paz en los últimos años ha experimenral es desordenado y desorganizado, con baja capacidad tado un desmedido crecimiento del parque automotor, técnica-operativa de gestión y planificación; y por lo cual, sumado a ello el incremento significativo de la población, no responde al compromiso y responsabilidad social. han incidido directamente en el deterioro de la facilidad Ante la necesidad de mejorar la calidad de este serde movilidad urbana. En ese entorno es que el GAMLP1 vicio, al menos en lo que respecta a: cumplimiento de 1 Sigla de Gobierno Autónomo Municipal de La Paz. recorridos; cumplimiento de rutas; eficiencia en los tiemAbstract

45

Journal - IEA 2014, Facultad de Ingeniería - UMSA

pos de transporte; y regularidad en las frecuencias de servicio. Es que surge el planteamiento de la elaboración de un instrumento que permita supervisar los recorridos de estas unidades de transporte, promoviendo efectividad en aspectos como los previamente citados. Dicho instrumento contribuiría a entidades relacionadas con el transporte público, como: la Dirección Especial de Movilidad y Transporte de la Alcaldía paceña, el Órgano Operativo de Tránsito, las Operadoras del transporte, o las propias Juntas de Vecinos que demandan mejores servicios (ver figura 1).

de campo con respecto al paso de cada unidad del transporte. 5. Realizar el diseño del sistema siguiendo la metodología RUP (del inglés Rational Unified Process) y empleando conceptos de Sistemas Supervisorios. 6. Desarrollar un sistema de información, para la administración de la información recolectada. 7. Proponer un prototipo en el que se aprecie los alcances del sistema propuesto. Para lograr los objetivos planteados, se consideraron los siguientes alcances y límites: • La evaluación de la Ordenanza Municipal – OM con respecto a Rutas Autorizadas del Servicio Público de Transporte Colectivo de Pasajeros, se encuentra en el contexto de tomar conocimiento de las rutas, horarios, intervalos de salida y parque automotor mínimo en operación necesario para brindar el servicio (las prácticas internacionales consideran estos parámetros en la calidad). Por lo que dichos parámetros serán los considerados para el diseño del sistema. • La identificación y evaluación de los componentes tecnológicos necesarios, que permitan recoger información de campo con respecto al paso de cada unidad del transporte, se realiza con la finalidad de identificar los requerimientos para el desarrollo del sistema propuesto en todos los niveles o componentes que fueran necesarios, excepto en la parte de comunicación en los que hace al medio de transmisión. Asimismo, en la medida de lo posible se pretende la reutilización e integración de tecnologías ya implementadas.

Figura 1: Planteamiento del problema

El sistema debería disponer mínimamente de características o funcionalidades como: brindar información con relación al seguimiento de los recorridos de las unidades de transporte (fecha hora y lugar de paso), verificación de retrasos, y qué vehículos se encuentran operando; y a partir de ello, propender a mejorar este servicio. Para llegar a un planteamiento mucho más formal des• El desarrollo del proyecto abarca hasta el nivel del de el punto de vista de la ingeniería, será necesario abordiseño del sistema dejando para una siguiente etadar aspectos que representan un desafío, como: el conopa su implementación, sin embargo se presenta un cimiento de aspectos técnicos en materia de transporte; prototipo que recoge algunas de las funcionalidaincursión en los aspectos vinculados con los Sistemas de des del sistema. Supervisión; destrezas en el manejo de herramientas tecnologías que permitan la identificación de vehículos; entre otras consideraciones técnicas. II. Marco Referencial Ante la descripción de esa problemática se plantearon como soluciones los siguientes objetivos específicos: 1. Definir y caracterizar el área de trabajo inicial coEn este escenario se describe como se visualizó el planrrespondiente al transporte urbano en la ciudad de teamiento del proyecto, considerando por tanto aspectos La Paz. característicos: de la ciudad de La Paz en lo referente 2. Analizar aspectos inherentes al mecanismo de con- a transporte y movilidad urbana; del servicio público de transporte urbano colectivo, así como las normativas trol actual de las operadoras del transporte. que rigen a este servicio (ordenanza municipal referida al 3. Evaluar la Ordenanza Municipal – OM con res- servicio de autotransporte público); y las tecnologías de pecto a Rutas Autorizadas del Servicio Público de Identificación Automática (Auto-ID) ya implementadas Transporte Colectivo de Pasajeros. en Bolivia. Todo ello para concretar algunas de las fuen4. Identificar y evaluar los componentes tecnológicos tes de requerimiento que fueron consideradas a la hora necesarios, los cuales permitan recoger información de desarrollar el trabajo. 46

Journal - IEA 2014, Facultad de Ingeniería - UMSA

III. Desarrollo de Proyecto: Requerimientos La Especificación de Requerimientos planteada, concebida y aplicada para el desarrollo del presente trabajo, se documenta de manera formal a través de Modelos de Casos de Uso; y entre otras consideraciones, propias de la Metodología RUP se describe el alcance de lo que se concibió que el sistema debía disponer y operar, así como las restricciones que fueron necesarias considerar en el diseño del sistema. Consiguientemente se incluyen en esta sección la Visión Global de las características del sistema y las consideraciones de las propiedades de cada requerimiento, en Matrices de Atributos Funcionales. A. Visión General De acuerdo a lo señalado en el objetivo de este proyecto, el trabajo presenta la concepción y conceptualización de un Sistema Supervisorio se consideró necesario el registro de las unidades de transporte por determinados puntos de su trayecto, así como el registro del factor tiempo de transporte, como un elemento que permitiera supervisar el cumplimiento de recorridos, tan cuestionados por la ciudadanía paceña; apoyándose en la tecnología, técnicas y conceptos de Sistemas de Supervisión. Por otro lado, en Bolivia se están recurriendo más frecuentemente a los recursos tecnológicos en distintos campos del conocimiento y de la vida cotidiana, para resolver algunos problemas habituales; por lo que es importante identificar sinergias que permitan aprovechar tales recursos, por ejemplo aplicación de sistemas de Identificación Automática por Radiofrecuencia, para orientar sus usos a fines para los que posiblemente no fueron concebidos en su aplicación local. Entonces, tales recursos tecnológicos también podrían emplearse en el “Control” del Servicio del auto-transporte público, todo ello, pensando en el bienestar común y desarrollo de las urbes de Bolivia. B.

Figura 2: Descripción General del sistema STPU

C.

Matriz de Atributos de Requerimientos

Se han organizado los requerimientos considerando las necesidades del usuario final (responsables o actores del autotransporte público urbano), así como también, los requerimientos necesarios que hacen a los sistemas de supervisión. Ambos aspectos, se ordenan en Grupos Funcionales (figura 3), según las características y la afinidad entre ellos.

Descripción del Sistema STPU

A nivel de Esquema (figura 2), se consideró en la concepción del Sistema que esté integrado por un entorno central denominado Central de Supervisión, el cual posee los servicios necesarios para la inspección del servicio de transporte. Así también, otro entorno de similar importancia se constituyó por unidades de registro vehicular distribuidas a lo largo de una ruta, los cuales tienen la particular característica de informar y atender al Sistema de Supervisión, en relación a los datos del registro de recorridos del alguna determinada Línea de transporte. La comunicación de los requerimientos y los datos de respuesta a las transacciones, entre ambos extremos se apoyaría en cualquier Red de Comunicaciones, bien sea Figura 3: Matriz de atributos de requerimientos, sistemas STPU la misma pública o privada. 47

Journal - IEA 2014, Facultad de Ingeniería - UMSA

mación de forma remota, además que permite evaluar la información adquirida.

IV. Desarrollo del Proyecto: Diseño del Sistema

Como resultado de las consideraciones realizadas para • Comunicación. Fundamentalmente es preciso el análisis de requerimientos, ya se disponía de la dofuncionalidades como: Ensamble/desensamble de cumentación suficiente de especificaciones, para abordar mensajes provenientes de campo. la Arquitectura. Consiguientemente, en este capítulo se • Adquisición de Datos. Este servicio permite presentan los componentes de la arquitectura del sisteObtener datos de depósitos asociados, registros y ma que fuera considerada, las mismas se organizan sobre almacenamientos de información. diferentes niveles de abstracción. Finalmente se presenta el diseño de los componentes lógicos de las diferentes aplicaciones de usuario ofrecidas por el Sistema de Su2) Elementos de la capa de Servicios de Datos pervisión. Esta capa cuenta con servicios como los denominaAsí mismo, también se presenta la Arquitectura a nivel dos: de Hardware para aquellos elementos que permitirían el • Almacén de datos, mediante él es posible la reregistro de las unidades de transporte, además de otras cuperación de datos, realizar conexiones directas funciones asociadas. con los repositorios de información, para realizar lectura de los mismos. A. Arquitectura de Software • Almacenamiento de datos, permite a los usuaSe pasa a detallar, las diferentes capas de servicios de rios conexiones con los repositorios de distinta ínla figura 4, bajo el siguiente orden: Elementos de la capa dole para posteriormente alimentarlos con datos. de servicios de Negocio, Elementos de la capa de servicios • Repositorio, básicamente se trata de información de datos y Elementos de la capa de usuarios. referida a datos de la infraestructura de campo; datos de historia a nivel de registras vehiculares, así como: fallas en dispositivos; de datos de transporte; de unidades de transporte conductores y rutas; planes de servicio y planes de servicio por defecto y de forma especial, esto ante eventualidades del sistema.

3)

Elementos de la capa de Servicios de Usuario

• Monitoreo de eventos y recursos de campo, este servicio precisa de otras instancias como: vigilancia de eventos de registro vehicular y estado operacional de recurso de campo • Gestión del servicio de transporte, mediante este el usuario puede acceder a información del servicio de transporte y poner en marcha planes de servicio de transporte. • Gestión del sistema, este servicio se circunscribe al manejo de sesiones de usuario, manejo de salvaguardas de información y configuración de seguridad del subsistema.

Figura 4: Arquitectura Bloques del Sistema STPU

1)

Elementos de la capa de Servicios de Negocio

4) Arquitectura de Hardware En esta capa, se presenta los siguientes servicios funEn la figura 5 se presenta la representación esquemátidamentales: ca de la unidad encargada de realizar registro vehicular. • Interacción con elementos de campo. Donde a su vez cuenta con otros sub-servicios como: Los dispositivos de campo URV2 , como un elemento Configuración de elementos de campo, solicitar información del estado operacional de dispositivos y esencial para la recolección de información, se establece sobre la base de una arquitectura modular, es capaz de notificar al personal que operada en campo. integrar elementos con otras funcionalidades y posibilita • Vigilancia de eventos de campo. Mediante es2 Referida a la sigla Unida de Registro Vehicular te servicio es posible Obtención de datos u infor48

Journal - IEA 2014, Facultad de Ingeniería - UMSA

5. Elementos Visualizadores. Este elemento permite a un operador actualizar la hora, fecha, Punto de registro, ruta, aspectos que son importantes para el registro del paso de cada unidad del transporte. 6. Suministro de Energía. Se denomina así al emisor de energía que utiliza el URV, este proporciona los niveles de tensión necesarios para el funcionamiento de los distintos circuitos del sistema, además este puede incorporar una batería de reserva ante fallas de alimentación. 7. Sistema de Identificación vehicular. La identificación vehicular es el procedimiento que permite identificar a un vehículo como único, para ello existen varias tecnologías, sin embargo en este trabajo ha sido considerada la tecnología RFID, el equipo a interactuar con la unidad de procesamiento, sería un Lector RFID.

Figura 5: Arquitectura de la Unidad de Registro Vehicular.

8. Conexión y Adaptación a Equipos Electrónicos. Esta etapa incluye la electrónica y conectores necesarios para la conexión del módulo remoto hacia otros dispositivos (en este caso sería equipos Lectores RFID, descritos en el Anexo G) que constituyen los instrumentos que proveen de información al Módulo Remoto de Punto de control.

cambiar componentes y ampliar la funcionalidad según las necesidades. Descripción de la arquitectura de una unidad de registro vehicular: 1. Unidad de Procesamiento. Es capaz de gestionar la información proveniente de dispositivos de entrada, los tales como ser sensores, equipos, entre V. Desarrollo del Proyecto: Implementación del otros. Así también, la de interpretar instrucciones Prototipo de mando y consulta de estado de las entradas. Del mismo modo es posible la prestación de esa inforPara la implementación de un prototipo que se consmación a otras instancias que así lo requieran. tituye en un subconjunto del diseño del sistema de su2. Expansión de memoria. En el registro de infor- pervisión de tiempos y recorridos del transporte público mación la unidad de registro vehicular, realiza un urbano. Las funciones básicas que fueron atendidas son: procesamiento de mucha información, para lo cual, Procesamiento básico de datos, base de datos, generación precisa de un elemento de almacenamiento masivo, de reportes, visualización del entorno de campo mediante una buena alternativa es la utilización de una me- Google Earth. moria SD para poder almacenar datos portables3 . El mencionado prototipo, se implementó utilizando heDe esta manera este se constituye en una fuente de rramientas como Visual Studio 20104 , SQL Server y Goorespaldo ante posibles fallos del sistema de comu- gle Earth5 , todo ello apoyado en los lenguajes de progranicación. mación como Visual C#, SQL y el lenguaje estructurado 6 3. Unidad de Comunicación. Para poder transmi- KML (en sus siglas en ingles). Además se cuenta con retir los datos leídos por los elementos de Identifi- cursos de hardware como: Microcontrolador PIC18F4550 cación vehicular, se logran a través de una red de para realizar procesamiento de información, Transmisiócomunicaciones general, la cual se la deja abierta n/Recepción de datos y gestionar la comunicación por el puerto Serial hacia un Modem Celular GSM. la elección del mismo. La implementación del prototipo considera los aspec4. Elementos señalizadores. Un señalizador es un tos mencionados en los Capítulos precedentes. En la figuelemento importante, ya que es un elemento que ra 6, se muestra en esquemas los componentes involucrapermite notificar de forma visual el estado de opedos en el prototipo, donde se identifican tres escenarios: ración o actividad de un equipo o algún proceso. 4 Microsoft Visual Studio es un entorno de desarrollo integrado Es así que para esta etapa se considera dos tipos (IDE, por sus siglas en ingles) para sistemas operativos Windows. de señalizadores como: de estado de equipo, de in5 Google Earth es un programa informático similar al Sistema formación recepcionada. de Información Geográfica (SIG), creado por la empresa Keyhole Inc., que permite visualizar imágenes 3D del Planeta. 6 KML (del acrónimo en inglés Keyhole Markup Language) es un lenguaje de marcado basado en XML para representar datos geográficos en tres dimensiones.

3 Los

datos portables son aquella información de cada Unidad del Transporte que pueden ser llevadas a una computadora externa sin la mayor dificultad.

49

Journal - IEA 2014, Facultad de Ingeniería - UMSA

recursos de hardware y recurso de software. El bloque de Hardware (Unidad de Registro Vehicular) básicamente se encarga de realizar el procesamiento de aquella información proveniente de un sistema de identificación vehicular y la comunicación hacia una entidad Central (Central de Supervisión). Los recursos de la Central de Supervisión se encargan de almacenar información en una Base de Datos, visualización del mapa cartográfico de las rutas de La Paz y el monitoreo de la información correspondiente a los recorridos de las unidades de transporte en ejercicio de su servicio.

A. 1)

Entorno de Campo Transmisión de datos mediante comandos AT

Los eventos suscitados por el registro de cada vehículo en cada punto de registro deben ser previamente procesados y después transmitidos hacia una Central de Supervisión, dicha transmisión se la efectúa mediante la interacción que realiza el Microcontolador con un Modem Celular (Nokia 3220) a través de los comandos AT (ver figura 9), para enviar mensajes, a continuación se puede evidenciar esta acción mediante simulación en la herramienta Isis Proteus. 2)

Almacenamiento de Información

Todo dato procesado antes de ser enviado previamente es almacenado en una memoria, este almacenamiento se evidencia en el archivo que se muestra a continuación, donde se puede apreciar una cadena de caracteres separadas por; el primer dato representa el número de Unidad de transporte (0011), el siguiente es el código de Ruta (0001), seguido del código del Punto de control (0001), la hora en un formato de 24 horas y la fecha en el formato DD/MM/AA. B. 1)

Figura 6: Esquema general del Prototipo.

En la figura 7, se puede apreciar los elementos anteriormente mencionados en la parte de diseño. Implementación de la Base de Datos de la Central de Supervisión

En la figura 8, se muestra un prototipo de la base de datos implementada, en ésta se pueden identificar las diferentes tablas en las cuales se puede almacenar información referente a: Usuarios del sistema; los registros vehiculares capturadas en las en las diferentes unidades de registro; unidades de transporte asociados a los correspondientes conductores; unidades de registro vehicular y su relación con las diferentes rutas. VI.

Ingreso a la Aplicación de Software

Para un ingreso al Sistema se cuenta con una interfaz de autenticación de Usuarios, descrito en el Caso de Uso: Iniciar Sesión, esto con el objeto de permitir su uso, solo a personas autorizadas, donde básicamente se requiere por parte del usuario el nombre de usuario y contraseña para su inicio de sesión. Una vez ingresado al Sistema, la aplicación presenta una pestaña denominada Funcionalidades, las cuales fueron recogidas de la parte de Gestión en el esquema Jerárquico del Sistema) en él se cuenta con otras opciones como las de: Gestión de la información de transporte, Visualización de registros y recursos de campo, interacción con elementos de campo y configuración de parámetros, ver figura 12.

A. Implementación de la Unidad de Registro Vehicular

B.

Entorno de Central

2)

Pruebas y resultados del Prototipo

A continuación se presenta el Prototipo en dos etapas: una que corresponde al Entorno de Campo(Unidad de Registro Vehicular) y otra al Entorno Central (Central de Supervisión), lugar donde se acoge a toda la información proveniente del Entorno de Campo; lo cual permite apreciar los alcances del sistema propuesto. 50

Gestión de la información del transporte

La funcionalidad Gestión de la Información del Transporte, muestra a su vez otros grupos en los cuales es posible manipular información referida a: Unidades de transporte, Conductores, Rutas autorizadas y Unidades de registro vehicular, descrito en el Caso de Uso: Configurar Información del transporte, donde el Usuario Planificador tiene plena libertad para manipular este tipo de información. En la siguiente figura 13, se presenta una interfaz para registrar nuevas unidades de transporte, mediante la cual

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Figura 7: Implementación de la URV.

Figura 8: Diagrama del Modelo de la Base de Datos también es posible la actualización de información almacenada de otros vehículos ya registrados o de eliminarlos si es que estos están ya fuera de servicio. Para el caso de Unidades de Registro vehicular, la in51

formación que le corresponde es básicamente su ubicación a lo largo de una ruta, así como los códigos que caracterizan a dicha unidad de registro, esta información es presentada en la figura 14.

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Figura 12: Opciones del Sistema Figura 9: Simulación de la URV en Isis Proteus

Figura 13: Formularios de registro de Unidades del transporte

Figura 10: Resultados obtenidos del Almacenamiento de Datos.

Figura 14: Formulario de registro de Unidades de Registro Vehicular recorridos de las unidades de transporte en operación. Además, el sistema permite visualizar el medio de traFigura 11: Interfaz de ingreso al sistema bajo (Rutas y Puntos de registro) dentro del perímetro urbano (la ciudad de La Paz), a través de una herramienta tan conocida como lo es Google Earth. Todo ello La funcionalidad de visualización permite al Usuario gracias a la manipulación de los Archivos KML propios Operador acceder información referida a los registros his- de Google Earth.. A continuación se presenta una ruta tóricos que realiza cada vehículo por determinados pun- correspondiente a la líneas 242. tos de alguna ruta, el mismo que corresponde al planteamiento realizado en la Capa de servicio de Usuario. Así C. Interacción con elementos de Campo también como la ubicación de determinado equipamiento en las rutas (Unidades de registro vehicular). Otro servicio de igual importancia es la parte de adEn las siguientes figuras, se muestra los historiales de quisición de datos, la figura 16 muestra como es leído 52

Journal - IEA 2014, Facultad de Ingeniería - UMSA

tral de Supervisión alguna Notificación mediante el servicio de mensajería SMS a cualquiera de los actores involucrados en el sistema, que corresponde al servicio Interacción con Elementos de campo en la tarea de Notificar al personal de Agente de Parada o Técnico Operador.

Figura 15: Histórico de recorridos de las unidades de trasporte.

Figura 18: Interfaz de usuario para enviar notificaciones a actores del sistema. Figura 16: Visualización de rutas mediante mapa cartográfico.

VII. Conclusiones

Se realizó el diseño del Sistema de Supervisión en una arquitectura básica, donde se hallan incluidos componentes de Software y Hardware, los cuales fueron planteados bajo el enfoque de sistemas SCADA, para la realización de la supervisión del cumplimiento de recorridos del transporte. El desarrollo del Proyecto en sus diferentes etapas se estructuró bajo la metodología RUP. Se consideró el mecanismo de autorregulación que llevan a cabo los mismos trasportistas, así como las normativas que regulan el servicio de transporte, rescatando de ello, horarios de servicio mínimos, frecuencias de salidas, flota mínima en operación. Además, se realizó una valoración de las posibles tecnologías que permitirían el registro de cada unidad de transporte, donde se consideró a la tecnología RFID como una herramienta potencial, ya que se encuentra implementada en Bolivia. Así mismo, se concluye que el sistema en su diseño de independiente del medio de comunicación, sin embargo se aprovechó el servicio de mensajería corta para la transmisión y recepción de información de las denominadas Unidades de Registro Vehicular. Figura 17: Interfaz gráfica para la adquisición de datos Finalmente, se implemento un prototipo simplificado, el cual permitió evaluar ciertas funcionalidades planteaComo una de las funcionalidades desarrolladas el das en el diseño del Sistema y consiguientemente se logró Usuario Operador, también puede enviar desde la Cen- constituir en un elemento de pruebas y verificación del diseño a partir de los resultados. 7 Permite un plan flexible de ejecución de procedimientos y un mensaje proveniente de una URV, esto indica que el mensaje ha sido guardado en la Base de Datos. Se trata de un Procedimiento Almacenado7 ), que realiza la tarea de Evaluación de la Información

funciones en SQL

53

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Referencias [1]

L. V. Alemán. “Empresarios al volante. La producción del servicio de transporte público en la ciudad de La Paz-Bolivia, el caso del grupo “Hito 45” del sindicato misto de transportes “Litoral””. En: Revista Transporte y territorio Nº 1. Universidad de Buenos Aires, 2009.

[2]

Jorge A. Nava Amador. Aplicación de RUP en el desarrollo de proyectos de sistemas electrónicos. 2004.

[3]

R. A. Balseca y M.A. Sinchiguano. “Integración de sistemas de comunicación digital aplicado al control de ruta en una unidad de transporte urbano”. Riobamba – Ecuador: Escuela Politécnica Superior de Chimborazo, 2009.

[4]

Rossangela Carpio. “Sistema de control del tiempo de recorrido de las unidades de transporte urbano, usando tecnología Web”. Arequipa: Escuela Académico-Profesional de Ingeniería de Sistemas e Informática.

[5]

J.L. Choque y J. Nava. “Sistema Integrado de Análisis-Evaluación-Verificación de calidad del suministro de energía Eléctrica en Bolivia”. La Paz Bolivia: Ingeniería Electrónica, UMSA, 2012.

[6]

C. Cisneros. “Diseño e implementación de un prototipo de control de tiempo para los recorridos de las unidades de la cooperativa de transportes “Otavalo” mediante comunicación inalámbrica en la ruta Otavalo - Ibarra”. Ibarra - Ecuador: Facultad de Ingeniería en Ciencias Aplicadas, Escuela de Ingeniería Electrónica, Universidad Técnica del Norte (UTN), 2010.

[7]

G. Olmedo D. Moya E. Benítez y J. Larco. “Prototipo de una tarjeta para el control y localización vehicular utilizando mensajes SMS”. Sangolqui - Ecuador: Escuela Politécnica del Ejercito.

[8]

H. Espinoza y J. Nava. “Ïngeniería de tiempo real en el diseño de un sistema de supervisión y control para redes de energía eléctrica”. Brasil: Laboratorio de Banco de Datos - Departamento de Ciencias de la Computación - Universidad Federativa de Minas Gerais, 2004.

[9]

R. Ramírez. “Diseño e implementación de un prototipo de un sistema de seguridad utilizando telefonía celular”. La Paz - Bolivia: Ingeniería Electrónica, UMSA, 2013.

54

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Diseño de una cámara térmica para el acondicionamiento de las etapas de pintado y secado del proceso de “Chapería” de automóviles Willy Cahuapaza

que permite explotar nichos de mercado para la reparación de bienes, lo cual obliga a los interesados en explorar La creciente demanda de talleres de repara- estos nichos, a agudizar la inventiva para extender la vición de automóviles por el crecimiento del parque da útil de un bien. Un ejemplo es el caso de la reparación automotor en el país incrementa la demanda de vehículos o automóviles siniestrados, donde uno de los de talleres de reparación con características de trabajos que se debe realizar es la refacción total o parque sus procesos de reparación e instalaciones cial de la chapa de la carrocería del vehículo, para lograr tengan condiciones medioambientales referi- que éste en principio quede en condiciones presentables, dos a, temperatura, humedad y polución. En en cuanto a estructura, forma, colores y textura. el presente trabajo se presenta una solución para el diseño de una cámara térmica para una La reparación de vehículos siniestrados ha logrado una cámara de pintado de automóviles en sus dos evolución trascendental, se cuentan con herramientas de etapas, la etapa de pintado y la de secado de alta tecnología, que son capaces de realizar este tipo de pintura de automóviles. Así mismo, se presenta operaciones con una exactitud y velocidad sorprendenun modelo matemático basados en las reglas de tes, no obstante las inversiones que se deben realizar paZiegler-Nichols de sintonización para hallar los ra disponer de ellas es alta, por lo que se convierte en parámetros PID del controlador. También se un obstáculo económico para quienes, con la experienrealiza un esquema grafico para la visualización cia suficiente en reparación, pretenden incursionar en los de la evolución de la temperatura en dicha nichos de mercado antes mencionados. cámara denominada HMI, con la cual se puede evaluar el comportamiento de la planta. Bolivia, no es un país que fabrique vehículos o autoKeywords – HMI, PLC, pintado y secado, móviles, simplemente los importa a través de empresas representantes especializados o por comerciantes dedicacontrol, cámara térmica. dos al rubro automotor, importando vehículos nuevos para todo tipo de exigencia, hasta vehículos usados en las I. Introducción últimas décadas. Esto ha llevado a que el parque autoLos países con niveles de desarrollo crecientes, tienen motor en el país, tenga unos ciclos de vida tan variables, conductas de consumo bastante marcadas, pues cuando donde los vehículos llegan incluso a circular con más de en éstos la sociedad adquiere algún tipo de bien, éste veinte años. Abstract

será rápidamente sustituido si presenta algún defecto en su funcionamiento, o si el mismo sufre algún siniestro. Esta sustitución o reemplazo se da bien por el propio proveedor/fabricante, por el seguro de protección, o por decisión del consumidor. Esa situación es un tanto distinta en países en los que los ciclos de reposición de bienes, toma un periodo mayor al de su vida útil. Lo cual regularmente se presenta por los niveles adquisitivos que existentes en estos países. No obstante, si bien parece una desventaja para el productor de bienes, en el entendido de que sus productos recientemente fabricados no se comercializaran de manera inmediata, también se convierte en una oportunidad

55

Empresas bolivianas como TOYOSA, OVANDO, IMCRUZ y otras, han dispuesto talleres dedicados al servicio postventa, que si bien atienden todo tipo de vehículos, tienen mayor preferencia por aquellos que importan. Entre los trabajos de mantenimiento que realizan, también se encuentran los de reparación, como la chapería de carrocerías; para ello han implementado en varios de los casos “hornos de secado” desde los más elementales hasta algunos sofisticados, pero a saber ninguno de éstos implementó un sistema de acondicionamiento para el proceso de pintado, aspecto que se pretende plantear y abordar en este proyecto.

Journal - IEA 2014, Facultad de Ingeniería - UMSA

II. Situación Actual y Planteamiento Del Problema El parque automotor existente en Bolivia, incrementa la demanda por talleres dedicados a la reparación de todo tipo de vehículos, especialmente los llamados “transformados” (usados y no homologados de fábrica para Bolivia). Es así que hoy se observa que existe una gran cantidad de talleres en La Paz, donde se desempeña el oficio específico de la chapería. No obstante estos talleres, un tanto más artesanales, presentan el inconveniente de no contar con equipamiento y herramientas adecuadas o suficientes, y menos de garantizar condiciones mínimas de seguridad para los pintores, o de calidad del pintado. En la actualidad lo que se observa en los talleres bolivianos, es que, desde el momento que se realizan los preparativos para el pintado hasta su misma finalización, el obrero es el encargado de cubrir con las capas de pintura la carrocería del automóvil, en una dosis previamente establecida y recomendada. Este proceso está constantemente sometido a las condiciones medioambientales de los rayos solares, sombras, temperatura, humedad y polución; aspectos que deben ser considerados y verificados previo a iniciar el proceso de pintado y en estricta sujeción a las condiciones de aplicabilidad del tipo de pintura empleada. Por tanto, el proceso de pintado solo se podría realizar cuando se cumplen las condiciones ambientales adecuadas, suficientes y necesarias. Lo anterior se constituye en un problema, especialmente para aquellos talleres que no reúnen las características adecuadas para el pintado. Los efectos que se generan por los cambios climáticos y atmosféricos, dejan daños en la pintura fresca. Por ejemplo, la exposición a altas temperaturas causan ampollas en la pintura, la exposición al frio y humedad causan que se “escarche” la pintura, o la polución (polvo en suspensión) causan manchas en la pintura y cambios en los colores. Estos daños, tienen otro tipo de inconvenientes que se traducen en pérdidas económicas, y una frecuente exposición del pintor a gases tóxicos, causando un daño a su salud. Por otra parte, por las características de la economía boliviana, se hace necesario mejorar las condiciones de estas fuentes de trabajo, lo cual a su vez podrá redundar en lograr adecuados rendimientos económicos, pues el mejorar las condiciones y resultados del proceso de pintado (Calidad del trabajo, Puntualidad en la entrega, Buen trato al cliente, y precios adecuados), permitirán adquirir prestigio en las prestaciones de servicio de estos talleres, y ello los mantendría activos por largo tiempo.

• Identificar las etapas de elaboración involucradas en el proceso de chapería, considerando las condiciones que debe reunir para un adecuado pintado y secado. • Evaluar los requerimientos para el desarrollo del sistema de acondicionamiento para las etapas de pintado y secado. • Desarrollar el modelo matemático necesario del proceso y carga, mediante técnicas de identificación de sistemas. • Diseñar el o los sistemas de control necesarios, basado en técnicas de sintonización de parámetros para el controlador con las reglas de ZeiglerNichols para un controlador PID, y/o los sistemas de control moderno como en el espacio de estados (EE). • Realizar la elaboración de un HMI para realizar el monitoreo de la evolución de sistema. • Realizar la integración de los distintos componentes del sistema (acondicionador, prototipo, actuador, HMI), para poder evaluar su comportamiento mediante simulación en una herramienta como Matlab o Labview. IV. Justificación El desarrollo de este sistema permite controlar la temperatura y detener la polución en el interior del ambiente, logrando establecer las condiciones necesarias para llevar a cabo estas etapas; aspecto que no se lograría si se mantienen las condiciones actuales de trabajo. La modernización de estos procesos permitirá que el flujo de operaciones existentes en los talleres, sea realizado en un tiempo menor, optimizando no solo la calidad del trabajo sino el tiempo de elaboración. La ejecución de este proyecto permitiría establecer las principales nociones de operatividad de los procesos mencionados, logrando de esta manera servir como fuente de información necesaria para una futura reestructuración o mejora del mismo. La planificación y/o ejecución de este proyecto presentaría a largo plazo la generación de fuentes de empleo necesarias en nuestra sociedad. V. Alcances y limitaciones

El sistema tendría la misión de reunir las condiciones adecuadas de humedad y temperatura que se necesitan para llevar a cabo su ejecución de manera completa, sin III. Objetivo que el obrero tenga que preocuparse por los cambios de Diseñar una cámara térmica de acondicionamiento pa- temperatura externas que se podrían presentar. ra las etapas de pintado y secado de carrocerías de au• El sistema no tendrá la capacidad de identificar el tomóviles, controlando la temperatura de aire al interior tipo de automóvil a pintar y estará limitado únidel ambiente de pintado y secado. camente a movilidades de pequeñas dimensiones Para alcanzar el objetivo será necesario: como: vagonetas, taxis y pequeñas camionetas. 56

Journal - IEA 2014, Facultad de Ingeniería - UMSA

• Se aplicaran tecnologías conocidas del mercado local, las cuales permitirán controlar las variables del acondicionamiento para el proceso de pintado y secado.

inmediata. Luego el sistema activara un módulo de extracción de gases, encargado de extraer gases y residuos aero pulverizados de pintura, que se generan y ‘desprenden’ al momento en que se lleva a cabo las acciones de • El sistema controlado, presentara una ventilación pintado. Una vez concluida la fase del proceso de pintado, el adecuada, esto permitirá extraer los gases tóxicos pintor abandonara la sala de pintado y se dará inicio que se generan y desprenden en el momento del de manera inmediata a la etapa de secado de pintura pintado. dentro del proceso. Activando manualmente, el sistema • El proceso de secado tendrá una duración espe- se encargara de aislar la sala de pintado y de generar cífica controlada por un contador automático en las condiciones adecuadas para el secado en un tiempo donde el operador se encargara solo de dar inicio establecido. De esa forma se pretende liberar la presencia al proceso de secado. de cualquier partícula que pudiera adherirse a la pintura. Finalmente, respecto a la duración del secado, el sistema se encargaría de dar una señal de acabado, que permitiría extraer el vehículo de la sala para su posterior armado, corrección y limpieza de partes o secciones que se hayan pintado de manera involuntaria.

VI. Propuesta de solución Debido a que un proceso de esta naturaleza tiene unas características muy peculiares, éstas se han esquematizado en la figura adjunta

El sistema de control planteado para este proceso está basado en las reglas de Zeigler-Nichols, que nos presenta la siguiente figura:

Para este tipo de plantas se realizara una identificación clásica utilizando el escalón como señal de prueba que nos dará como resultado la obtención de modelos sencillos suficientemente exactos, basado en la técnica de obtención de modelos de Zeigler-Nichols. La previsión de solución es, lograr reunir las condiciones adecuadas y recomendadas, de temperatura y flujo de aire (ventilación), necesarias para llevar a cabo las etapas de pintado y secado, dentro de una cámara que optimice las mejores condiciones para el pintado, logrando de esta manera optimizar el trabajo, en tiempo, calidad y costo. Como parte del procedimiento se estima, que el flujo de trabajo sea el siguiente: En el momento en que el obrero se prepara a pintar, el sistema de control se inicializará con la activación manual que genere las condiciones necesarias de pintado; entonces, el sistema de control dará una señal al pintor para que éste pueda pintar de manera 57

Figura 1: Estructura del sistema A continuación se procede a la identificación de la planta. Debido a que un sistema térmico tiene respuesta monótona creciente similar a un sistema de primer orden, bastará con introducir un escalón a la planta y observar la respuesta, a partir de la cual se deducirán los parámetros necesarios para realizar la sintonización del controlador. De acuerdo a las reglas de Ziegler-Nichols el tipo de la planta corresponde a un sistema de primer orden con o sin retardo. El modelo de primer orden se puede utilizar en procesos simples o en otros más complejos si no se requiere mucha exactitud. Para la planta térmica propuesta éste vendría a ser uno de los posibles modelos elegidos, puesto que como

Journal - IEA 2014, Facultad de Ingeniería - UMSA

se sabe los sistemas térmicos tienden a ofrecer una respuesta monótona creciente sin oscilaciones. La expresión matemática para este tipo de modelo es:

caliente, la cual permitirá distribuir el aire generado por él. Las temperaturas que serán consideradas, tanto en el pintado como en el secado, corresponden a rangos difeK · e−td s renciados. G(s) = Para una mejor comprensión de cada uno de los subτ ·s+1 sistemas que conforman parte de la cámara térmica, se En la ecuación, K es la ganancia del proceso, td el tiempo describe a continuación. de retardo y τ es la constate de tiempo. Dichos paráme• Subsistema de generación de aire caliente. tros se obtienen de la respuesta obtenida en el proceso de identificación ante la entrada en escalón. • Subsistema de distribución de aire. Tanto el proceso de identificación como las simula• Subsistema de extracción de aire e impurezas. ciones en tiempo real, para crear un prototipo rápido, • Subsistema de realimentación de aire caliente. se realizarán desde Simulink utilizando el toolbox de MATLAB. Con la que podemos crear un HMI en Lab• Subsistema de iluminación. view y acceder al exterior en tiempo real para realizar las simulaciones con la planta disponible físicamente. Para VII. Subsistemas ello es necesario disponer de una etapa de adquisición de datos, ver figura siguiente. A. Subsistema de generación de aire caliente Este subsistema se encarga la generación de aire caliente, que no es más que un generador de calor, es el principal encargado de suministrar aire caliente, para lograr de esta manera elevar la temperatura en el interior de la cámara. Este subsistema trabaja de manera constante tanto en la atapa de pintado como en la de secado elevando la temperatura. B.

Figura 2: Arquitectura para la identificación y simulación Consecuentemente, la ’cámara’ de pintado presentaría los siguientes subsistemas para su funcionamiento cuyas características son: • Cámara amplia, donde el operador (pintor) pueda desenvolverse, en su oficio, sin ningún problema.

Subsistema de distribución de aire.

Tiene por la finalidad, la distribución del aire caliente en el interior de la cámara. Extrae el aire caliente del subsistema de generación de aire caliente y la distribuye de manera uniforme. Asimismo, recolecta el aire que está en el exterior de la cámara, esto para una renovación constante de aire cuando se lleve a cabo la etapa de pintado. Está constituido por una red de tubos y extractores de aire, los cuales están en el interior de la base de la cámara y distribuidas de tal manera que el aire pueda distribuirse uniformemente en el interior.

• Equipada con sensores, que darán información en C. Subsistema de extracción de aire e impurezas tiempo real al sistema para que pueda actuar inmediatamente y logre reunir las condiciones deseaEste subsistema esencialmente trabaja, cuando se está das. llevando a cabo la etapa de pintado. Su principal pro• Tendrá un módulo de ventilación y de extracción pósito es de extraer aire y los gases no deseados que se de aire, para enfriar y extraer las partículas y ga- generan en el momento de pintar. Está constituido por ses respectivamente. Este módulo de ventilación un ventilador y ductos que desarrollan esta labor y está podría conectarse al sistema de acondicionamien- localizada en la parte superior de la cámara, esto principalmente debido a que estos gases tienden a elevarse y to. por tanto los extractores podrán expulsar hacia el exte• Tendrá un subsistema de calentamiento generado rior sin muchos inconvenientes. por reflectores de luz y la combustión de gas: Es Este tipo de ventilación es denominada también como parte del sistema y corresponde al módulo previa- ventilación centralizada ya que los ductos están direcciomente socializado. nados a un ventilador central por la cual se expulsan los • Presentará un subsistema de distribución de aire gases y el aire viciado. 58

Journal - IEA 2014, Facultad de Ingeniería - UMSA

El funcionamiento de este sistema es la combinación de dos tipos de ventilación, ventilación por sobrepresión y ventilación por depresión. D.

Subsistema de realimentación de aire

La tarea principal de este pequeño subsistema es realimentar el aire localizada en el interior de la cámara hasta el subsistema de generación de aire caliente, y a su vez este vuelva a calentarla y pueda ser distribuida nuevamente a través de los ductos localizados en el interior de la base de la cámara. Esto principalmente para un veloz incremento de la temperatura en el interior de la cámara. Este subsistema esencialmente trabaja, cuando se lleva a cabo en la etapa de secado de la pintura fresca aplicada sobre la superficie del automóvil.

Figura 3: HMI (Human machine interface) Referencias [1]

Daniel Marcos Calderon Estrada. “Control automático para la caldera de vapor piro tubular de la embotelladora y gaseosas y alimentos LUX FGAL”. 2009. 185 págs.

[2]

Werner G. Holsbock. Instrumentos para medición y control. México continental, 1974.

[3]

Jose Santos Horta. Tecnicas de automatización industrial, control automático cibernética. Mexico, 1982. 300 págs.

[4]

Frank Kreit. Transmisión de calor por radiación, para el diseño de naves espaciales y plantas de fuerza solar. Mexico, 1965. 997 págs.

[5] El sistema de control es el encargado de regular la temperatura en el interior de la cámara térmica. Los senso[6] res instalados en la cámara permite dar la información de la evolución de la temperatura, estas señales que son de origen analógico son capturadas y convertidos a señales digitales que posteriormente son procesadas por el [7] algoritmo de control que a su vez son monitoreadas por medio de una HMI (human Machine Interface) por el [8] administrador del sistema. En función a los datos obtenidos y el sistema de control se hace la activación de los actuadores tales como (venti[9] ladores, extractores, y demás componentes) que conforman los diferentes subsistemas de la cámara. [10] El sistema de control está conformado por una etapa de adquisición y conversión a señales digitales y una etapa de acondicionamiento de la señal para su posterior tratamiento, a su vez está conformado por una etapa de potencia para tener control de los actuadores.

P. Laplante. Real-Time Systems: Design And Analisis, An engineer´s handbook”. IEEE Press, 1993.

E.

Subsistema de iluminación

Es el encargado de la iluminación en el interior de la cámara. Este subsistema proporciona toda la iluminación necesaria cuando ya no este presente la luz natural. Está compuesto por una serie de luces Fluorescentes, las cuales son muy adecuadas para este propósito donde permite el ahorro de energía. F.

G.

Sistema de control

Representación Del HMI

Es importante mencionar que el uso de un HMI (Human Machine Interface), ayudara a realizar un monitoreo del sistema de manera eficaz ya que se podrá notar la actividad de cada etapa del sistema. Para ello se plantea un modelo elaborado en Labview que permita al administrador observar el comportamiento. El HMI en primera instancia está representado en la figura 3. 59

Wrangel Suares Meguillanes. ““Diseño de un sistema de control para el secado de granos de cacao”. 2008. 135 págs. Katsuhiko Ogata. Ingeniería de control moderna. 3.a ed. 1997. 997 págs. Katsuhiko Ogata. Problemas de ingeniería de control, utilizando Matlab. Madrid, España: Prentice Hall, 1997. 359 págs. Siemens. SIMATICS7-200 y LOGO. 2003. Siemens, ed. Catalogo, Productoseléctricos. 2006.

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Procedimiento básico de manejo del Sistema Mecatrónico XK 335 B Jimmy Héctor Linares Ruiz

Raúl Antonio Catacora Grundy

El trabajo que nosotros desarrollamos sobre este sistema mecatrónico es el diseño y la programación de cada La carrera de ingeniería electrónica de la uno de los automatismos correspondientes a cada etapa Universidad Mayor de San Andrés adquirió con el fin de lograr una línea de producción totalmente tiempo atrás, una maqueta de entrenamiento automatizada en la que todas esas etapas interactúen de mecatrónico que simula una línea de producción, manera correcta, esto significa que el sistema produzca esto con el objetivo de que los estudiantes de las piezas sin la intervención de los operarios. la carrera se capaciten en este sistema y puedan acceder al mercado laboral en condiciones competitivas, ya que estarán preparados para el El trabajo comprende múltiples aspectos, que van desmanejo de sistemas similares en o más com- de la proyección del funcionamiento completo del sisteplejos en la industria, el objetivo es realizar ma, y de cada una de las etapas que lo componen, hasta un procedimiento para el uso apropiado de este el análisis y control de las variables que intervienen en sistema mecatronico y permitir el uso de este de el proceso, los tiempos necesarios en cada etapa de proforma apropiada en las diferentes aplicaciones ducción, las secuencias de accionamiento, los criterios de que se puedan realizar. clasificación, etc. Estos y muchos otros aspectos son tomados en cuenta en la fase de diseño del automatismo Keywords – Sistema Mecatrónico XK-335-B, que finalmente genera un gráfico funcional de los comanProcedimientos Básicos, IEA. dos de transición de cada etapa que en su acrónimo en francés se denomina Grafcet, a partir del cual se procede a la programación del automatismo en términos que I. Introducción el controlador lógico programable entienda y esto puede Un sistema mecatrónico es un sistema en el que los variar entre los distintos software que proveen los difecomponentes electrónicos, mecánicos e informáticos in- rentes fabricantes aunque el método más popular es el lenguaje LADDER. teractúan con un propósito específico. En particular se trata con una maqueta de entrenamiento mecatrónica que simula una línea de producción de cinco etapas, que van desde una unidad de alimentación de recipientes, una unidad de ensamblaje en la que se rellenan los recipientes, una unidad de procesamiento en la cual se envasan los recipientes o se comprime un relleno hasta una unidad de clasificación del producto final. Cada etapa del proceso se controla mediante un PLC (del inglés Programmable Logic Controller), el cual es un dispositivo electrónico con propósitos industriales, que cumple las normas necesarias para la industria y que permite el control y la supervisión del proceso o de al menos alguna de sus etapas. Este dispositivo se encarga principalmente de manejar los automatismos que el proceso requiere para su correcto funcionamiento, es decir comanda la secuencia de acciones, procesa las señales medidas y almacena los datos necesarios para que se produzca un resultado que satisfaga las exigencias impuestas por el diseño del producto. Abstract

60

Journal - IEA 2014, Facultad de Ingeniería - UMSA

II. Descripción de la Maqueta A. Unidad de Alimentación La unidad de alimentación cuenta con un sensor inductivo de proximidad, un sensor fotoeléctrico de proximidad, dos sensores fotoeléctricos, dos cilindros neumáticos (uno pequeño y otro grande) y cuatro sensores magnéticos. Para el uso de esta unidad se describen 7 entradas principales que son las que actúan en el programa principal (el programa de la unidad de transporte) y otras cuatro que actúan en el funcionamiento manual de la unidad. Este funcionamiento manual se entiende a cabalidad cuando se sigue el diagrama escalera expuesto en los tutoriales realizados para la puesta en marcha, una síntesis del funcionamiento seria: al identificar que se tienen piezas en la unidad por medio de los sensores se activa un primer piston(el pequeño) que sostiene penúltima pieza para que no caiga de golpe cuando la pieza empujada por C. Unidad de procesamiento el segundo piston (el grande) realice su acción de poner En esta unidad de igual manera que en las anteriores al alcance del brazo una pieza para ser producida. se tiene cantidad de sensores magnéticos, fotoeléctricos, de presencia y pistones. Para información más detallada referirse al manual de instrumentación que dejo el proveedor de la maqueta. Esta unidad tiene por objetivo empaquetar la pieza que se está produciendo, una vez puestas las dos piezas en esta unidad se procesa llevando las piezas hacia una empaquetadora que se representa por medio de un pistón en la unidad luego de realizar dicho empaquetamiento se retorna a la unidad de trasporte en donde se lleva las piezas a otra estación

B.

Unidad de Ensamblaje

La unidad de Ensamblaje cuenta con cuatro sensores fotoeléctricos de distancia, dos pistones neumáticos, seis sensores magnéticos y un sensor opto eléctrico. El funcionamiento de esta unidad se sintetiza en: la dosificación de una pieza más pequeña (tapa)a la inicial que justamente va dentro de la pieza principal, esta cae en un tambor rotatorio de igual forma que en la unidad de alimentación se controla esta dosificación por medio D. Unidad de Transporte de dos pistones, el tambor gira y posiciona la tapa dentro La unidad de Transporte cuenta con 6 sensores magnéde la pieza principal todo esto con ayuda de un brazo de 3 grados de libertad que lleva la tapa desde el tambor hacia ticos, un cilindro neumático doble, un cilindro neumático la pieza principal, que fue localizada con anterioridad. pequeño, un cilindro rotatorio y una pinza neumática. 61

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Es importante recalcar de esta unidad que es la que se relaciona con todas las unidades del sistema por lo que también se considera que el programa cargado en este PLC es el programa principal, existen varias subrutinas en el mismo, pero las que más destacan es la subrutina de inspección inicial que lo que hace es mostrar de manera didáctica como se mueve la pinza transportadora, tiene cuatro movimientos principales subir/bajar el brazo, girar noventa grados desde los noventa grados hacia los menos ciento ochenta y viceversa, otro movimiento es el de retraer o extender el brazo y por último el movimiento de la pinza abierta o cerrada, luego queda las subrutina de prueba en la que también se calibran las coordenadas III. Desarrollo de esta unidad para ajustar la posición en la que debe estar la pinza para acomodar de manera óptima las pie- A. Condiciones zas a medida que se van ejecutando los procesos y para La parte más importante para lograr la puesta en marfinalizar la subrutina de punto de origen que identifica el lugar inicial para esta unidad de modo que comience la cha de la maqueta tiene que ver la instalación del software necesario en el sistema operativo en el que se vaya rutina programada para lograr el producto. a utilizar, por lo que en primer lugar se tiene que tener a disposición el software que al tratarse de PLC de marca SIEMENS se utiliza el programa MicroWIN Step 7 SPX, el service pack se determinara para el sistema operativo que se este usando, los casos probados son Windows XP y Windows 7 que requiere el SP4 y SP9 respectivamente, además de tener el software se requiere tener los drivers disponibles para utilizar el cable PPI-USB para lograr la comunicación y acceso a los PLC’s por ultimo será necesario tener conocimiento sobre los diagramas LADDER y su interpretación para poder analizar los programas ya cargados además de poder realizar programas e implementarlos. B.

E.

Procedimiento

Teniendo a la mano todo lo necesario para el uso de la maqueta se tendrá que seguir el siguiente procedimiento propuesto para lograr experimentar con la maqueta.

Unidad de Selección

Esta unidad tiene sensores inductivos, ópticos, fotoeléctricos, un encoder rotacional y para referirse a los actuadores cuenta con un motor AC, tres pistones neumáticos, además de su panel de control que tiene un variador de frecuencia. Esta unidad está programada para clasificar las piezas, por su material y si es que cuentan con relleno o no es decir tienen una tapa, al recibir una pieza los sensores de presencia se activan de modo que el motor AC comience su marcha en la banda transportadora están acomodados los sensores electromagnéticos y fotoeléctricos para identificar el material de las piezas y si se cuenta con relleno o no, luego de esto la unidad decide en que carril acomodara las piezas, cuando se tiene identificada y el motor esta moviendo la pieza los pistones se activan en el momento preciso para lograr acomodar la pieza en su respectivo carril. 62

1. Instalar el programa MicroWIN Step 7 SP4, sin importar cuál es el sistema operativo que se este usando puesto que luego de instalar este recién se puede actualizar al SP9 en caso de tener Windows 7, esto implica desinstalar el primer programa luego de que el sistema operativo identifique que puede instalar el siguiente service pack.

Journal - IEA 2014, Facultad de Ingeniería - UMSA

2. Instalar los drivers necesarios del cable PPI-USB, en esta parte es muy importante recomendar que la carpeta proporcionada por el proveedor cuenta con distintas versiones del driver para Windows de 64bits o de 32bits cualquiera sea el caso se tiene que elegir el correcto.

en la bibliografía de referencia, el funcionamiento de esta parte se resume en que abriendo una válvula entra aire y se acciona un actuador y sale aire y el actuador reacciona de la misma forma. Para iniciar el flujo del aire, se tiene un válvula muy fácil de manejar en la maqueta, se podría denominar co3. En caso de haber instalado el driver equivocado mo una válvula maestra que permite el paso o no de aire hay que desintalar el mismo y volver a instalar el a todo el sistema, en el caso de mantener cerrada esta válvula no funcionara ningún componente impulsado correcto. por aire y no se podrá tener el funcionamiento. 4. Conectar el cable a la red de PLC’s y en el programa MicroWIN Step 7, ir a la pestaña de comunicación, en donde se podrá comprobar el estado de B. Electrónica los PLC’s e identificar si la instalación fue satisfacEn el caso de la electrónica, se considera el análisis de toria, pues se tendrá acceso a cualquier PLC y se los programas principalmente, el estudio de la marca y podrá seguir con el procedimiento modelo de los PLC’s para su uso apropiado y su correcta

programación. Muy importante tener en cuenta los fundamentos que en primera instancia serán Grafcet, diagramas LADDER y su interpretación, además de haber seguido los pasos requeridos del procedimiento para llegar a este punto.

5. Ya en este punto para poder hacer el análisis del programa cargado en el PLC se requiere extraer el mismo de este, el programa tiene un botón que realiza esta acción y por último se puede tener el programa explícitamente.

6. Al comenzar a analizar el diagrama LADDER es muy importante haber estudiado las entradas y sa- C. Calibración lidas de la unidad que se está estudiando, esto con Una vez teniendo el sistema funcionando, se nota que ayuda del manual de instrumentación que dejo el en primera instancia existen actuadores o sensores que no proveedor. funcionan de manera correcta, esto porque se requiere de 7. Luego de realizar el estudio necesario en primera una calibración para poner a tono todos los componentes instancia se pondrá a prueba el manejo manual y esto solo se puede apreciar experimentando de manera de la unidad y se tendrá que realizar el calibrado iterativa el proceso de la línea de producción. respectivo de todos los componentes según se vaya Fallas en determinados actuadores afectaran directaprobando el sistema. mente en el desarrollo de todo el proceso en si, por lo que 8. Ya teniendo la certeza del manejo de cada unidad se tendrá que entender cómo funcionan estos sensores y individual se podrá realizar la prueba en conjunto actuadores para darle una solución inmediata, otra parte de toda la maqueta de entrenamiento para apreciar importante en esta etapa es la de calibrar la posición de toda la línea de producción y también para iden- la unidad de trasporte pues esta conlleva al éxito de la tificar posibles mejoras que se podría hacer a los operación de todo el proceso si la pinza que transporta la unidad no se posiciona de manera adecuada es muy programas ya cargados en todo el sistema poco probable que se logre llevar a cabo todo el proceso 9. Por ultimo con el entendimiento del sistema se popor lo que esta será una práctica muy repetida al utilizar drá empezar a desarrollar nuevos programas, para la maqueta. optimizar, mejorar o cambiar la línea de producción, puesto que se tiene los medios necesarios para V. Conclusiones cumplir con este objetivo, un detalle mas que importante es que en el momento de cargar los pro• Este documento no es más que una guía de programas en los PLC’s se tiene que poner el programa cedimientos para lograr la puesta en marcha de la en idioma chino esto por detalles de la serie de los maqueta de entrenamiento, pero seguir estos conPLC’s. llevara al uso apropiado de la misma y con interés y dedicación podría resultar en una experiencia IV. Pruebas de Operación muy productiva al momento de la formación de estudiantes de pregrado. A. Neumática • El conocimiento teórico se ve ligado directamente En esta parte es importante entender que la mayoría de con la práctica, al tener a disposición este tipo de actuadores, más que todo los pistones funcionan con ayurecursos en laboratorio. da de aire comprimido, este se obtiene de una compresora de aire que está conectada a la maqueta por mangueras de dos colores, esto sigue una norma explicada a detalle

63

• Las experiencias a las que se enfrentan al usar este equipo, son enriquecedoras porque se palpa a priori

Journal - IEA 2014, Facultad de Ingeniería - UMSA

un sistema completo de automatización en el que se involucra equipos que se utilizan típicamente en la industria. Referencias [1]

Universidad de Alcalá. Máster universitario en automatización de procesos industriales. url: https: / / www . depeca . uah . es / depeca / repositorio / asignaturas/201608/3.%20Programacion%20en% 20ladder.pdf.

[2]

Maurcio Amestegui. Control de Procesos Industriales. La Paz - Bolivia.

[3]

Genia. Resumen sobre Grafcet. url: http://isa. uniovi . es / docencia / iea / teoria / grafcet _ resumen.pdf.

[4]

SIEMENS. S7200 Manual de sistema.

[5]

Industry Solutions. Manuales de Instrumentación de la maqueta de entrenamiento XK 335 B.

[6] Apuntes de Grafcet. url: http : / / formacion . plcmadrid.es/descargas/docs/Grafcet0.pdf. [7] Instrumentación y Comunicaciones Industriales / FI-UNLP. url: http://www.ing.unlp.edu.ar/ electrotecnia / procesos / apuntes / Diagrama % 20Escalera.pdf.

64

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Reconocimiento del Alfabeto Dactilológico Boliviano Bajo Tecnología de Visión por Computador Evert I. Pocoma Copa [email protected]

Jorge A. Nava Amador [email protected] Basis Function - RBF.

Abstract En este documento se propone un sistema, en base a técnicas de Visión por Computador, que permita el reconocimiento del Alfabeto Dactilológico Boliviano, para facilitar, en cierta medida, la comunicación de personas con dificultad auditiva para con el resto de la población boliviana. Para tal fin, se combinaron ideas y aportes de diversos autores, para definir el procedimiento del que se constituye el sistema, mismo que se representa mediante tres componentes: Adquisición de Datos, Entrenamiento, e Intérprete. Los datos adquiridos mediante un sensor Kinect se combinan para reducir la dimensión de la imagen a tratarse, la cual contiene la forma de la mano, misma que está asociada a una letra del Alfabeto Dactilológico Boliviano, de donde se excluye del conjunto de estudio a las letras “LL”, “J”, “Ñ”, y “Z”. Los datos son recogidos y almacenados en una Base de Datos de entrenamiento previa segmentación por intensidad, mediante el algoritmo de Otsu. Los datos de entrenamiento son empleados para el Entrenamiento de las máquinas de aprendizaje, previa extracción de características a través del descriptor “Histograms of Oriented Gradients” (HOG), para el cual se realizan algunas variaciones al método original, con objeto de conseguir un vector de características de longitud pequeña. Las máquinas de aprendizaje empleadas son las “Support Vector Machine” (SVM), junto con el kernel de transformación “Radial Basis Function” (RBF). Finalmente se constituye una base de conocimientos de 24 SVM, una por cada letra del Alfabeto Dactilológico Boliviano. Finalmente se presentan los resultados y un análisis de los mismos, obtenidos a partir de un prototipo que recoge las funcionalidades mínimas del sistema.

I.

Introducción

En Bolivia, el número de personas con diferentes discapacidades, hasta el año 2013 ascendía aproximadamente a 45,600 personas, de las cuales el 15 % corresponde a personas con dificultades sensoriales; según datos proporcionados por el Instituto Nacional de Salud Ocupacional (INSO). Este grupo de personas presentan varios inconvenientes en su diario vivir, desde el trasladarse de un lugar a otro, hasta el simple hecho de comunicarse con otra persona. Este último conflicto relacionado a las personas sordas conforma parte del escenario sobre el cual se enfoca el presente documento. En Bolivia la temática de la discapacidad, en el contexto Social, con el transcurso del tiempo ha evolucionado, desde un servicio meramente asistencialista, de reclusión, exclusión y abandono, en algunos casos hasta llegar a la extrema pobreza; actualmente esta temática ha logrado ser el marco de políticas y acciones que van en beneficio de esta población, como por ejemplo lo es el Decreto Supremo N° 238, que dispone, se incorpore el Lenguaje de Señas Boliviano (LSB) en el sistema educativo del Estado Plurinacional de Bolivia, y en medios de comunicación audiovisual. Es evidente la dificultad que la población sorda afronta al tratar de comunicarse con personas que se expresan regularmente mediante lenguaje oral, y por si fuera poco, se tiene que no existe, o no se emplea, un lenguaje de señas universal y único, sino que éste varía de región en región, inclusive de país en país. Por consiguiente, la propuesta del presente trabajo es un sistema, basado en técnicas de Visión por Computador, que permite el reconocimiento de las letras del Alfabeto Dactilológico Boliviano, para facilitar, en cierta medida, la comunicación de personas con dificultad auditiva para con el resto de la población boliviana. Por lo que, se combinaron ideas y aportes de diversos autores, Keywords – Segmentación por umbral de inten- para definir el procedimiento del que se constituye el sissidad - Otsu, Histogram of Orientes Gradients - tema, mismo que se representa mediante componentes: HOG, Support Vector Machine - SVM, Radial Adquisición de Datos, Entrenamiento e Intérprete; En el 65

Journal - IEA 2014, Facultad de Ingeniería - UMSA

desarrollo del presente documento se detallan los algoritmos y técnicas implementadas en cada una de estas etapas. Los datos adquiridos mediante un sensor Kinect se combinan para reducir la dimensión de la imagen a tratarse, la cual contiene la forma de la mano, misma que está asociada a una letra del Alfabeto Dactilológico Boliviano, de donde se excluye del conjunto de estudio a las letras “LL”, “J”, “Ñ”, y “Z”. Los datos son recogidos y almacenados en una Base de Datos de entrenamiento previa segmentación por intensidad, mediante el algoritmo de Otsu [1]. Los datos de entrenamiento son empleados para el entrenamiento de las máquinas de aprendizaje, previa extracción de características a través del descriptor “Histogram of Oriented Gradients” (HOG)[2], para el cual se realizan algunas variaciones al método originals, con objeto de conseguir un vector de características de longitud pequeña. Las máquinas de aprendizaje empleadas son las “Support Vector Machine” (SVM) [3], junto con el kernel de transformación “Radial Basis Function” (RBF)[4]. Finalmente se constituye una base de conocimientos de 24 SVM, una por cada letra del Alfabeto Dactilológico Boliviano, excluyendo las letras ya mencionadas anteriormente. Finalmente se presentan los resultados y un análisis de los mismos, obtenidos a partir de un prototipo que recoge las funcionalidades mínimas del sistema.

personas con dificultades en el habla y/o discapacidades auditivas. Por si fuera poco, se cuentan con muy pocos trabajos desarrollados en cuanto a la implementación de algún sistema de reconocimiento del Lenguaje de Señas que aborde el reconocimiento de letras del alfabeto o el reconocimiento de palabras, más aun, alguno referente al reconocimiento del Lenguaje de Señas Boliviano

• No se conoce de la existencia en Bolivia de sistema computacional que facilite la comunicación entre

de diferente manera; más aún el presente trabajo se limita a realizar un análisis del desempeño en el

Figura 1: Problemática abordada.

Si bien esta problemática no es reciente, la aplicación de mecanismos tecnológicos para buscar soluciones que mejoren la comunicación ha sido trabajada en los últiII. Planteamiento del problema mos años. En el campo de la Visión por Computador se Si bien según las normas y leyes del Estado Plurina- han logrado desarrollar descriptores mucho más complecional de Bolivia, como ser la Ley 045 – “Ley contra el jos, que si bien modelan muy bien el objeto de interés, lo racismo y toda forma de discriminación”, la que estable- hacen en desmedro del tiempo de procesamiento o coste ce un trato igualitario entre personas sin importar raza, computacional. En el campo del Reconocimiento de Paprocedencia o dificultades físicas; éstas últimas sufren de trones se han alcanzado varias mejoras en los métodos de un cierto aislamiento debido a que la mayor parte de la entrenamiento y evaluación de máquinas de aprendizaje. población no conoce el lenguaje de señas. Lo cual dificulta la comunicación de las personas con discapacidades III. Alcance Propuesto auditivas con el resto de la población. En algunos casos la comunicación que se puede establecer entre una perSe han planteado los siguientes objetivos específicos sona con alguna de estas dificultades, es parcial, como para la elaboración del trabajo. en el caso de las personas mudas las cuales pueden oír, 1. Constituir una base de datos de entrenamiento reestableciendo una comunicación en un solo sentido, pero presentativa, cuya información sea suficiente para se dificulta la comunicación entre personas con dificultad un entrenamiento satisfactorio de las SVM; dichos en el habla y/o en el sentido del oído y la población que datos, conformados por imágenes, son restringidos regularmente utilizan el lenguaje oral. a una naturaleza bidimensional, sin apoyarse en la Por consiguiente, se reconocen los siguientes aspectos trama de profundidad que pudiera adquirirse meen el presente contexto que se abordar en cuanto a la diante el sensor kinect. problemática de imposibilidad de comunicación interper2. Analizar y describir las técnicas relacionadas al sonal: Procesamiento de Imágenes y el Reconocimiento de • Existe una falta de entendimiento, en cuanto a coPatrones, que se emplean en cada uno de los communicación, entre las personas que se expresan meponentes o etapas del sistema. Se pone en claro que diante el lenguaje de señas y el resto de la poblano se realizan comparaciones entre diferentes técnición. cas, que pudieran llegar a la misma solución, pero

66

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Figura 2: Alfabeto Dactilológico Boliviano

empleo de las técnicas, con algunas consideraciones, aplicadas al Reconocimiento del Lenguaje de Señas Boliviano.

Figura 3: Esquema del sistema

La arquitectura lógica general propuesta para el Sistema, mostrada en la siguiente ilustración (Figura 4), viene dispuesta en capas de servicios, según su natura3. Elegir los parámetros finales de las SVM, en base a leza, y estratificada en cada capa en bloques, según su un universo de decisión (superficies de decisión),en funcionalidad. base a indicadores de desempeño propias de las máquinas de aprendizaje, con más interés en el índice de generalización y el error de clasificación. 4. Implementar un prototipo de la solución, haciendo uso de un sensor kinect, MatLab, etc. Se aclara que el ambiente para el cual se realiza la adquisición y análisis de los datos, es de naturaleza controlada, manipulando principalmente el fondo y la iluminación del ambiente. Para el tratamiento de estos objetivos específicos y tal como se mencionó en el apartado introductorio, en este trabajo se toma como caso de estudio al Alfabeto Dactilológico Boliviano, figura , del cual se excluyen las letras “LL”, “J”, “Ñ” y “Z”, ya que estas letras involucran la ejecución de un movimiento.

Figura 4: Diagrama en Bloques del sistema A continuación se detalla cada uno de los componentes de los que se conforma el sistema propuesto. V. Adquisición de datos

El componente de adquisición de datos es tiene interacción directa con el sensor Kinect, para lo cual, en la implementación del prototipo, este componente fue programado en Visual Studio 2012, haciendo uso de librerías descritas en el texto: “Programming with the Kinect for La arquitectura del sistema se constituye de tres com- Windows Software Development Kit”[5]. ponentes las cuales son: Adquisición de Datos, Entrenamiento, Intérprete. Cada uno de estos componentes hace A. Consideraciones del Ambiente uso de técnicas, aportados por otros autores, aplicados en otros campos o aplicaciones similares a la de este doEl ambiente para el cual se desarrolló el prototipo del cumento. A continuación se muestra un esquema general sistema es de naturaleza controlada, es decir, que se espedel sistema. cificaron algunas condiciones que el ambiente y el sujeto IV.

Descripción del Sistema

67

Journal - IEA 2014, Facultad de Ingeniería - UMSA

de prueba deben cumplir antes de tomar los datos, o de iniciar un reconocimiento de nuevos datos; como por ejemplo: • Fondo y ropa del sujeto de prueba, deben ser negro y oscura respectivamente, con objeto de maximizar el desempeño del algoritmo de segmentación. En cuanto a la ropa del sujeto de prueba, esta debe ser oscura y uniforme al menos en las proximidades de la mano derecha.

D.

Segmentación por umbral de intensidad - Otsu

Este método emplea el histograma de intensidades determinando el umbral que mejor separa las dos clases. Para lo cual emplea técnicas estadísticas, maximizando la varianza entre clases mediante una búsqueda exhaustiva. A continuación se presenta solo un resumen de los aspectos más importantes de los que se comprende este método. La probabilidad de ocurrencia pi del nivel de gris i en • El sensor Kinect debe estar ubicado a una distan- la imagen con N pixeles y L posibles diferentes niveles cia de entre 1.20 y 1.50 metros del usuario, y a de grises posibles se denota por: la altura del pecho del usuario; con la finalidad fi de asegurar un buen funcionamiento del sensor, y (1) pi = N llevar a cabo un buen reconocimiento. Para el caso de segmentación de dos clases (C1 y C2), • La iluminación se realiza mediante dos reflectores donde las distribuciones de probabilidad de ambas clases ubicados a nivel del suelo a una distancia igual a son: la del sensor Kinect, separados por 1.50 metros.

pt pt+1 pt+2 pL p1 , ..., ; C2 = , , ..., (2) ω1 (t) ω1 (t) ω2 (t) ω2 (t) ω2 (t) Pt PL El componente de Adquisición de Datos debe encar- Donde: ω1 (t) = i=1 pi ; ω2 (t) = i=t+1 pi Considerando que los valores medios de cada clase cogarse de las siguientes responsabilidades: • Obtención y Retención temporal de las Tramas mo: L t X X i · pi i · pi provenientes del sensor Kinect. Se emplean solo las ; µ2 = (3) µ1 = tramas color y Skeleton, con una resolución para la ω (t) ω (t) 1 i=t+1 2 i=1 trama de color de 640x480 pixeles, y una latencia Y teniendo en cuenta que: de arribo de 30 tramas por segundo. C1 =

B. Responsabilidades

ω1 · µ1 + ω2 · µ2 = µT ; ω1 + ω2 = 1 (4) • Reducción de la dimensión de la imagen válida. Se obtiene la posición de la mano derecha, a partir Para el método de Otsu se define la varianza entre dos de la trama Skeleton, y se recorta una imagen de clases como. 64x96 pixeles, tomando como centro del rectángulo la posición de la mano derecha. σ 2 = ω · (µ − µ )2 + ω · (µ − µ )2 (5) B

1

1

T

2

2

T

• Procesamiento de la imagen. Para esta imagen de Por lo que el umbral de Otsu es aquel que maximice menor dimensión se aplica una transformación a la varianza entre dos clases, es decir. escala de grises, incluyendo una maximización de 2 contraste, y finalmente aplicando la segmentación T = M axσB (t); para 1 ≤ T ≤ L (6) por el método de Otsu, para eliminar el fondo.

Figura 5: Componente de Adquisición de Datos C.

Figura 6: Histograma de intensidades bimodal – “t” umbral óptimo

Base de Datos de Entrenamiento

Se conforma estrictamente de imágenes segmentadas y VI. Entrenamiento etiquetadas con la respectiva letra a la que representan, tomando 180 imágenes por letra; lo que conforma, para El componente de entrenamiento es donde se realiza la las 24 letras del conjunto de estudio, una Base de Datos mayor parte del procesamiento de los datos, con el objede Entrenamiento de 4320 imágenes de 64x96 pixeles. tivo de elegir los mejores parámetros de los clasificadores 68

Journal - IEA 2014, Facultad de Ingeniería - UMSA

SVM. Por tal motivo, este componente fue implementado en MatLab, haciendo uso del toolbox de machine learning.

Los pasos que se necesitan para la extracción de las características de una imagen mediante el descriptor HOG, son: Cálculo de los gradientes, creación de celdas e histogramas de orientación, creación de bloques y normalización. Estos son pasos son explicados a continuación así A. Responsabilidades como las variaciones propuestas para alguno de los pasos El componente de Entrenamiento es el que entrena los correspondientes: clasificadores SVM, y estima su desempeño a partir de 1) Cálculo de los gradientes índices estimados, este componente debe encargarse de las siguientes responsabilidades: Se extraen los bordes de la imagen, mediante convo• Generación del banco de características. Las imá- lución para extraer los gradientes, según la ecuación (7), genes de la Base de Datos de entrenamiento son obteniéndose una matriz en el sentido de X, y otro en el llevadas a un espacio de características a través del sentido de Y. Ambas matrices se combinan para calcudescriptor HOG, para el cual se eligen los paráme- lar la dirección del gradiente y su magnitud, mediante la tros adecuados en función del resultado estimado ecuación (8). Gradientes: para dichos parámetros. 0 • Generación Universo de Decisión. Dicho universo GY = Im · [1, 0, −1]; GX = Im · [1, 0, −1] (7) de decisión es representado mediante superficies,   p GY ; M agnitud = G2Y + G2X (8) Dirección = atan las cuales muestran la variación del error de clasiGX ficación y generalización en función de los parámetros del descriptor y el kernel de transformación. Una vez terminado el entrenamiento, y elegidos los pa2) Creación de celdas e histogramas de orientación rámetros finales, toda la información referente a la base de conocimientos, conformada por 24 clasificadores SVM, La imagen resultante del paso anterior es dividida en son almacenados en la Base de Datos. celdas de una longitud determinada, para cada celda se computa un histograma de ángulos o direcciones de los gradientes. Dicho histograma divide el intervalo de [0,180] grados en un número determinado de grupos, denominados bins.

3)

Figura 7: Componente de Entrenamiento B.

Extracción de características - HOG

El descriptor HOG fue desarrollado para la detección de peatones, pero las características y ventajas que ofrece ha hecho que este descriptor sea usado en otras aplicaciones como en el reconocimiento de manos, abordados en los trabajos [6] y [7]. A continuación se mencionan los aspectos que se consideran más relevantes del descriptor HOG dentro del contexto de este documento, así mismo se mencionan consideraciones acerca del empleo de este descriptor como por ejemplo la ausencia de solapamiento.

Creación de bloques y normalización

Los bloques son agrupaciones de celdas, para la cual se admiten solapamientos. Para esta aplicación en particular los bloques están comprendidos de una celda, es decir que no existe solapamiento de bloques, esto con la finalidad de conseguir un vector de características de longitud pequeña. Para cada bloque se realiza una normalización de los datos, mediante la ecuación (9). v∗ = p

v kvk22 + 

(9)

Donde: “v” es uno de los bloques a normalizarse, “v ∗ ” es el bloque normalizado, y “” es una constante pequeña cuyo valor no tiene gran impacto en los resultados. A continuación se muestra la representación gráfica del descriptor HOG, para diferentes valores de la longitud de la celda y cantidad de bins. C.

Entrenamiento de las SVM

Las SVM son máquinas de base lineal y solución única, las cuales tienen su base en el aprendizaje estadístico. En términos generales las SVM, tienen como objetivo la búsqueda, a través de todas las superficies en el espacio

Figura 8: Proceso de extracción de características 69

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Figura 9: Características HOG para diferentes valores de parámetros–representación gráfica. T-dimensional, aquel que separa las dos clases de datos, por el más amplio margen posible. El kernel de transformación, proyecta los datos sobre otro espacio de mayor dimensión, calculando el producto interno sin transformar los datos a dicho espacio, con la finalidad de conseguir la separación de los datos a través de un hiperplano. A continuación se mencionan las ecuaciones más importantes de las SVM, sin adentrar en detalle la concepción de las mismas. El vector de características se denota por x, la función de decisión se define por f (x), el hiperplano de decisión es la frontera de la función de decisión f (x) = 0, y la distancia del alguno de los datos al hiperplano se denota por d(x), todas ellas se expresan matemáticamente por: f (x) = wT x + b;

wT x + b = 0

| wT x + b d(x) = kwk

Figura 10: Componente Intérprete Por consiguiente la función de decisión resulta en: f (x) =

numSV X

αi yi k(xTi x) + b

(13)

i=1

Como se observa la evaluación de la función de decisión está sujeta únicamente a los support vectors, es decir que el hiperplano de separación está definido solo por estos vectores, más aún, el número de estos support vectors y el total de los datos de entrenamiento son los que determinan el índice de generalización de la SVM en cuestión. VII. Intérprete A.

Responsabilidades

(10)

El componente de Intérprete debe encargarse de las siguientes responsabilidades: El kernel de transformación empleado en este docu• Extracción de características para nuevos datos. mento es el kernel RBF el cual se define mediante: Los nuevos datos que arriban del sensor Kinect se 0 llevan al mismo espacio de características especi0 kx − x k22 k(x, x ) = exp(− ) (11) ficado por los parámetros finales del clasificador 2σ 2 SVM seleccionado. Para lograr una distancia d(x) máxima, se afronta un • Evaluación de Pertenencia. Con el vector de caproblema de minimización de w. A través de los multiracterísticas conformado, se consulta a la base de plicadores de Lagrange y trasladando el problema a un conocimientos si dicho vector pertenece a alguna dual de maximización, se debe resolver: clase (letra). τ 1 X αi αi yi yj k(xTi xj ) B. Toma de decisión 2 i=1 i,j=1 Para cada uno de los clasificadores SVM finales, se co(12) nocen los parámetros del descriptor para el que fueron τ X seleccionados sus parámetros. Los parámetros del desSujeto a : yi αi = 0; 0 ≤ αi ≤ C para i = 1, . . . τ criptor pueden no ser los mismos para todos los clasificai=1 dores, por lo que para un clasificador SVM en cuestión, Donde: “C” es denominado el boxConstraint, “αi ” son se debe recalcular el vector de características de la nueva los multiplicadores de Lagrange, los cuales son diferen- imagen válida, antes de evaluar la pertenencia en dicho tes de cero para conjunto reducido de “xi ” los que se clasificador SVM. Este procedimiento puede demandar denominan support vectors. demasiado tiempo de computo, ya que si todos los claLas ecuaciones mostradas en (12) representan un pro- sificadores SVM finales tienen parámetros del descriptor blema de programación cuadrática, la cual, para este tra- diferentes, se debe recalcular el vector de características bajo, se resuelve mediante el algoritmo Sequential Mi- 24 veces. nimal Optimization (SMO). Por simplicidad el entrenaPara agilizar la evaluación de la base de conocimientos, miento cada clasificador se empleó el toolbox de machine se propone la inclusión de un índice de parámetros para learning de MatLab. el cual se agrupan aquellos clasificadores de parámetros

M aximizar α : LD (α) =

τ X

αi −

70

Journal - IEA 2014, Facultad de Ingeniería - UMSA

iguales. Así de esta manera se evita recalcular el vector de características innecesariamente. Una vez que el componente de Intérprete encuentra una respuesta de pertenencia positiva, suspende la búsqueda y se acepta el resultado de la Base de Conocimientos VIII. Resultados Obtenidos Los resultados que se muestran a continuación son resultado del procesamiento de los datos a través de los componentes de Adquisición de datos y Entrenamiento, aplicados para una base de datos de entrenamiento de 4320 imágenes. Para estimar el desempeño de las máquinas de aprendizaje se recolectó además, una Base de Datos de Prueba conformada por 100 imágenes por letra, haciendo un total de 2400 datos de prueba, para los cuales solo se realiza una medición del error de clasificación. A. Variaciones en los parámetros del descriptor HOG

de generalización viene dado por la cantidad de support vectors en relación al total de datos de entrenamiento, siendo el índice de generalización más alto cuantos menos support vectors existan. Cada una de estas superficies viene graficada en función de tres parámetros, dos relacionados con el descriptor HOG, los que son: longitud de celda, y número de bins; y uno relacionado con el kernel de transformación empleado en las SVM, coeficiente sigma del kernel RBF. D.

Base de Conocimientos

Para cada uno de los clasificadores que conforman la base de conocimientos se generaron las 9 superficies de decisión, a partir de las cuales se eligieron los parámetros finales del descriptor y el kernel. Por consiguiente, la tabla de la figura 12 muestra un resumen de los parámetros finales que se seleccionaron para cada uno de los 24 clasificadores que conforman la Base de Conocimientos.

Para realizar un análisis a fondo del efecto del descriptor HOG empleado, sobre el resultado obtenido, en la aplicación para el reconocimiento del Lenguaje de Señas de Alfabeto Dactilológico Boliviano; se trabajó para diferentes valores de los parámetros del descriptor, variando entre ellos: el número de bins del histograma y la dimensión de las celdas. No se considera solapamiento entre los bloques adyacentes debido a que cada bloque está conformado por una celda, con objeto de lograr un vector de características de longitud pequeña. Debido a las dimensiones de las imágenes de la Base de Datos de Entrenamiento, la longitud de la celda solo puede adoptar los valores de 8, 16 y 32 pixeles. B.

Variaciones en los parámetros de la SVM

En las SVM, se trabajó para diferentes valores en el parámetros, como por ejemplo: el parámetro “σ” del kernel empleado, por otro lado, se pudo trabajar para diferentes valores del box constraint “C”, pero por simplicidad se decidió trabajar para un valor de 15, siendo este el máximo valor que los multiplicaciones de Lagrange pueden adoptar. C.

Universo de decisión

El universo de decisión está conformado por 9 superficies las cuales son representaciones del cómo se comportan tres indicadores de las SVM: error esperado, error de clasificación, índice de generalización. El error esperado es calculado mediante validación cruzada, es decir que se estima un error para nuevos datos en función de los datos de entrenamiento, el error de clasificación es una cantidad que representa la cantidad de falsos positivos y falsos negativos obtenidos para los datos de la Base de Datos de Prueba, y finalmente, el índice 71

Figura 12: Parámetros finales de la Base de Conocimientos Para los parámetros finales de cada uno de los clasificadores que conforman la Base de Conocimientos se puede observar los índices de desempeño. Por lo tanto, en la tabla de la figura 13 se muestra un resumen de dichos índices, donde EEsp , EClas y Gen son: el error esperado en base a la Base de Datos de Entrenamiento, error de clasificación en base a la Base de Datos de Pruebas, e índice de Generalización; respectivamente.

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Figura 11: Superficies de Decisión – letra “F” A.

Longitud del vector de características

Con la finalidad de obtener un vector de características de longitud pequeña, fue que se omitió el solapamiento entre los bloques del descriptor HOG, y en base a las superficies de decisión, se observó que el mejor desempeño de las SVM fue para los parámetros del descriptor de 32 pixeles de longitud de celda, lo que conlleva a un vector de características mínimamente de 24 componentes, para el caso de 4 divisiones en el histograma (bins); y un vector de características de 54 componentes, para el caso de 9 divisiones en el histograma (bins). Si bien este vector de características es de longitud pequeña, fue en desmedro de la robustez ante la iluminación del descriptor HOG. Este inconveniente se solventó señalando precondiciones acerca del Ambiente en el cual se extraen los datos, y sobre el cuál se vaya a implementar el prototipo, es decir que las condiciones de iluminación no deben cambiar o por lo menos variar mínimamente, entre la etapa de toma de datos, procesamiento y prueba del prototipo.

Figura 13: Índices de desempeño - Base de Conocimientos IX. Análisis de Resultados

B.

Base de Conocimientos

El análisis de resultados se centra estrictamente en los valores obtenidos para los índices de desempeño, y en El análisis de resultados para la Base de Conocimientos la longitud del vector de características, todas ellas en en este documento se lo realiza en base a los promedios función de la longitud de las celdas, la cantidad de bins en los índices de desempeño que se consideraron para las y el coeficiente sigma del kernel de transformación RBF. máquinas de aprendizaje SVM. 72

Journal - IEA 2014, Facultad de Ingeniería - UMSA

1)

Error Esperado

Este valor fue calculado mediante el algoritmo de validación cruzada, y es un indicador del error que se espera que obtener para nuevos datos, en función de los datos de entrenamiento. Para la base de conocimientos, en promedio se obtuvo un error esperado menor al 0,5 %. 2)

Error de Clasificación

[3]

C. Burges. A Tutorial on Support Vector Machines for Pattern Recognition. Bell Laboratories, Lucent Technologies, 1998 (vid. pág. 2).

[4]

G. Shaklnarocivh. “SVM and Kernels”. Weizman Institute of Science, 2011 (vid. pág. 2).

[5]

D. Catuche. Programming with the Kinect for Windows Software Development Kit. Microsoft, 2012 (vid. pág. 3).

Este valor fue obtenido evaluando la Base de Conoci- [6] L. Cheung y C. Medina. “Implementación y Análisis de un Detector de Manos Basado en Visión mientos para una Base de Datos de Prueba, dichos datos Artificial”. Panamá: Facultad de Ingeniería Eléctrifueron obtenidos para el mismo ambiente de trabajo, en ca, Universidad Tecnológica de Panamá, 2013 (vid. el cual se adquirieron los datos de entrenamiento. Para la pág. 5). base de conocimientos, en promedio se obtuvo un error de Clasificación de menor al 0,5 %. [7] N. Pugeault H. Cooper E. Ong y R. Bowden. “Sign Language Recognition using Sub - Units”. En: 2012 (vid. pág. 5). 3) Indice de generalización Este valor se encuentra estrechamente relacionado con [8] L. Enrique. Visión Computacional. Puebla - México.: Instituto Nacional de Astrofísica, Óptica y Elecla cantidad de vectores de soporte, de los que se comtrónica. prende cada clasificador, y son un indicador del desempeño del clasificador SVM para datos no considerados en [9] M. Gonzalez. “Aprendizaje Estadístico, Redes Neulos de entrenamiento. Para la base de conocimientos, en ronales y Support Vector Machines: Un Enfoque promedio se obtuvo un índice de generalización mayor al Global”. Xalapa, México: Intelligen Transportation 98 %. Systems Research Group, Universidad Veracruzana, 2005. X. Conclusiones Se describió un sistema que permite el reconocimiento automático del Alfabeto Dactilológico Boliviano, estructurado sobre técnicas de Visión por Computador, detallando los tres componentes de los que se compone. Para cada componente se describió las técnicas que se emplearon junto con las variaciones en la implementación referentes a las mismas; obteniendo un vector de características de longitud pequeña, bajos errores de clasificación para diferentes bases de datos (de entrenamiento y prueba), y altos índices de generalización. Para la concepción del sistema intérprete descrito en el presente documento se emplearon técnicas e ideas previamente propuestas y descritas en trabajos relacionados a la temática abordada, por otros autores. En la implementación del prototipo se emplearon herramientas para facilitar las pruebas y el desarrollo del mismo, como por ejemplo el empleo del toolbox de machine learning de MatLab, el cual fue empleado en el entrenamiento de los clasificadores SVM. Referencias [1] Segmentación por Umbralización, Método de Otsu. Ingeniería en Automatización y Control Industrial, Universidad Nacional de Quilmes, 2005 (vid. pág. 2). [2]

N. Dalal y B. Trigss. “Histograms of Oriented Gradients for Human Detection”. Francia: INRIA (vid. pág. 2). 73

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Prototipo de Generación de Consignas de Control a partir de los Ritmos Sensomotores Claudio César Claros Olivares [email protected] Abstract Una Interfaz Cerebro Computador (ICC) es un sistema que permite a un individuo interactuar con su medio mediante la interpretación de las señales cerebrales en comandos o consignas de control. Este artículo propone un prototipo, que considera las etapas de adquisición de señales cerebrales, procesamiento de dichas señales y clasificación, con el propósito de generar comandos. Las señales electroencefalográficas (EEG) que se analizan para el desarrollo de este prototipo son los ritmos sensomotores (ritmos µ) generados por los movimientos imaginarios de la mano derecha e izquierda. Las señales EEG son adquiridas por el dispositivo Emotiv EPOC que posee catorce electrodos. Para el procesamiento de las señales EEG, se utiliza un método supervisado llamado Common Spatial Patterns que requiere de datos de entrenamiento para su ejecución. La clasificación es llevada a cabo mediante el algoritmo Linear Discriminant Analysis que, para el propósito de este trabajo, distingue entre dos clases. El prototipo propuesto integra además un conjunto de herramientas de software libre para concretar ciertas funcionalidades identificadas en el desarrollo del trabajo. Los resultados experimentales muestran que la tasa de error en la clasificación de los movimientos imaginarios mencionados es del 30 %. Keywords – Procesamiento Digital de Sen~ ales, CSP, LDA. I. Introducción Mover un brazo, dar un paso o simplemente masticar son actividades cotidianas y todas ellas son realizadas gracias a los músculos. Generalmente, no somos conscientes de los complejos procesos que permiten que comandemos nuestros músculos o que ejecutemos algún movimiento, pero reconocemos que existe una conexión entre nuestros pensamientos, o intenciones de movimien74

to, y el movimiento en sí. No obstante, si dicha conexión se vería afectada por alguna razón, no sería posible ejecutar movimientos. Algunas condiciones médicas severas, como la paraplejía o el síndrome de enclaustramiento, en las cuales las conexiones entre los músculos y el cerebro se ven comprometidas, impiden a una persona realizar movimientos. En ese sentido, la tecnología ofrece la utilización de rutas alternativas a las musculares mediante la interpretación de las señales cerebrales de una persona. Desafortunadamente, las Interfaces Cerebro Computador no pueden operar sobre cualquier actividad cerebral debido principalmente a una limitación tecnológica ya que los sistemas de adquisición de señales EEG sólo son capaces de detectar la activación de grandes poblaciones de neuronas. Las señales EEG que las interfaces son capaces de interpretar se pueden dividir en dos grandes grupos: los potenciales relacionados con eventos (Eventrelated Potentials, en inglés) y los procesos oscilatorios. El primer grupo está relacionado con actividad cerebral que está sujeta a algún estímulo que puede ser visual o auditivo, entre los más comunes. El segundo grupo tiene que ver con actividad cerebral espontánea que presenta una característica frecuencial; por ejemplo, cuando uno se encuentra realizando una tarea conscientemente, se genera un ritmo cerebral llamado β(13 − 30[Hz]). En términos generales, las Interfaces Cerebro Computador, o Brain Computer Interfaces (BCI), son consideradas como equipamiento potencial para la asistencia de personas con distintas discapacidades motoras o, en algunos casos, comunicacionales. Los sistemas BCI tienen la capacidad de construir una nueva vía de comunicación para tecnologías asistidas, como las sillas de ruedas, o para aplicaciones de software, como los deletreadores. Concretamente, este trabajo propone un prototipo básico que pueda generar comandos de control a partir de los ritmos sensomotores y que incorpora las etapas necesarias desde la adquisición de datos hasta la visualización de resultados. El trabajo propuesto considera también el diseño de un experimento que condicione al usuario a generar las señales cerebrales que deberán ser identificadas por los algoritmos matemáticos aplicados, as´ı como el desarrollo de una aplicación que permita al usuario observar como responde el sistema a sus señales EEG. Cabe mencionar que se emplearon diversas aplicaciones de software libre que concretaron funcionalidades ajenas

Journal - IEA 2014, Facultad de Ingeniería - UMSA

al propósito de dicho prototipo. Este artículo se organiza de la siguiente manera: la segunda sección introduce el sistema de adquisición y las herramientas de software utilizadas en el prototipo, así como los algoritmos empleados; la tercera sección explica cómo se integran las distintas herramientas y el funcionamiento del prototipo; finalmente, la cuarta sección muestra los resultados obtenidos con el prototipo propuesto.

destacables de dicho sistema son la capacidad de manejar la interconexión, la sincronización y el acceso en tiempo real de los datos; no obstante, también permite almacenar y observar series temporales. Básicamente, LSL facilita el intercambio de series entre dispositivos que soporten su protocolo. 2)

OpenVIBE Acquisition Server (OVAS):

Es una aplicación de código abierto que es parte del proyecto OpenVIBE desarrollado por el Instituto Nacional de Investigación en Informática y Automatización A. Herramientas de hardware (INRIA), en Francia [3]. En principio, OVAS es una herramienta diseñada para comunicar dispositivos físicos 1) Emotiv EPOC: de adquisición de señales EEG con las aplicaciones de El neuroheadset Emotiv EPOC es un sistema de adqui- OpenVIBE. Sin embargo, los desarrolladores de LSL mosición de señales EEG inalámbrico que pretende ser la dificaron OVAS de manera que los datos adquiridos por siguiente generación de interfaces controladoras para vi- esta herramienta sean etiquetados con el nombre del disdeojuegos. En cuanto al hardware, el dispositvo EEG está positivo y enviados a la plataforma LSL. equipado con 14 electrodos y 2 sensores de referencia. Tal como se puede observar en la figura 1, los electrodos son 3) LabRecorder: AF3, AF4, F3, F4, F7, F8, FC5, FC6, P7, P8, T7, T8, O1 y O2 y se localizan de acuerdo al Sistema Internacional Es la aplicación de captura de datos por defecto dis10- 20, anteriormente descrito. Los sensores CMS y DRL tribuida con LSL y permite almacenar todas los flujos de sirven como canales de referencia para el hemisferio iz- datos de la red interna dentro de un único archivo mantequierdo y para el hemisferio derecho, respectivamente. En niendo la sincronización entre los mismos. Básicamente, cuanto a la utilización del equipo, los sensores deben ser esta aplicación descubre todos los flujos de datos que se previamente humedecidos con una solución salina cuyo encuentran en la red interna y los despliega en un menú propósito es reducir la impedancia de los mismos. Emo- de manera que aquellos requeridos puedan ser selecciotiv Systems ofrece un panel donde es posible ver el estado nados y almacenados adecuadamente. Por otra parte, el de los sensores y la calidad de conexión. formato con el que LabRecorder almacena los flujos de datos es conocido como Extensible Data Format (XDF ) y es un formato contenedor de propósito general para series de datos multivariable. XDF está adecuado para almacenar señales biológicas como EEG, EMG, EOG o ECG; sin embargo, también puede ser adaptado para almacenar información con altas frecuencias de muestreo o numerosas cantidades de canales. II. Materiales y Métodos

4)

Simulation and Neuroscience Application Platform (SNAP):

Es un entorno de desarrollo de experimentos basado en Python que utiliza lenguaje scripting. Esta aplicación permite diseñar desde una simple presentación de estímulos visuales hasta un complejo entorno para múltiples usuarios con simulaciones en 3D. Adicionalmente, cabe resaltar que este entorno se encuentra integrado con LSL Figura 1: Posicionamiento de los electrodos del headset y permite el envió de marcadores, control remoto y acceso en tiempo real de los datos. Emotiv EPOC[1] B.

5)

Herramientas de software

BCILAB:

Es una herramienta open-source elaborada sobre MATLAB que sirve para diseñar y prototipar sistemas Es un sistema de intercambio de datos cuyo propósito BCI. Permite realizar análisis offline, como evaluaciones es la colección unificada de series temporales y está di- de desempeño y comparaciones entre procedimientos [4]. rigido a la experimentación [2]. Las características más Además, presenta la posibilidad de operar el sistema BCI 1)

Lab Streaming Layer (SLS):

75

Journal - IEA 2014, Facultad de Ingeniería - UMSA

diseñado en tiempo real. BCILAB posee la colección más grande de algoritmos y métodos utilizados en el área. A diferencia de otras herramientas de este tipo, BCILAB permite operar desde una interfaz de usuario muy intuitiva y otorga también la posibilidad de operar desde línea de comandos. C. Algoritmos 1)

Common Spatial Patterns (CSP):

Es una técnica de filtrado espacial usada especialmente para distinguir entre dos clases o movimientos imaginarios en datos electroencefalográficos. CSP busca aprender filtros espaciales que maximicen la varianza de una clase, Figura 2: Representación de los parámetros del modelo mientras minimiza la varianza de la otra. Formalmente, lineal[5] CSP usa los filtros espaciales w los cuales maximizan la siguiente función: 3) Linear Discriminant Analysis (LDA): Es uno de los más conocidos y más efectivos métodos de clasificación. El objetivo de LDA es generar los parámetros para el modelo lineal que se describe en la Donde T simboliza la transpuesta, y Ci es la matriz siguiente ecuación: de covarianza espacial de las señales EEG de la clase i, asumiendo que dichas señales EEG tienen media cero. y = θx + b (5) Este problema de optimización puede ser resuelto usando Donde θ y b son los parámetros del modelo que se remultiplicadores de Lagrange. Considerando que la optimización de J(w) es equivalente a la maximización de presentan en la figura 2 y x es el vector de características. J(w) =

wT C1 w wT C2 w

(1)

wT C1 w sujeto a la restricción wT C2 w = 1. Empleando Dado que x es el vector de características, se puede el método de los multiplicadores de Lagrange, el problema de optimización se puede expresar de la siguiente escribir la siguiente ecuación: manera: y = θx + b = θf + b (6) L(λ, w) = wT C1 w − λ(wT C2 w − 1)

y = θlog(var(SX)) + b

(2)

(7)

El procedimiento para calcular los parámetros es como Para determinar w, se halla la derivada parcial de L sigue. Primero, se calcula la media del vector de caraccon respecto a w y se iguala a 0: terísticas yizq y yder de la siguiente manera: ∂L P = 2wT C1 − 2λwT C2 = 0 (3) ∂w (8) uizq = kn n ⇔ C1 w = λC2 w De igual manera con uder . Posteriormente, se calcula ⇔ C2− 1C1 w = λw la matriz de covarianza mediante: X X Finalmente, el problema se reduce a obtener los eigen= (yizq − uizq )(yizq − uizq )T (9) valores de la última ecuación. Por lo tanto, los filtros izq kn espaciales que maximizan la ecuación (1) son los eigenP Similarmente, se procede para der . Por parámetros vectores de M = C2− 1C1 que corresponden a los eigenθ y b están definidos por: valores más grandes y más pequeños. X X θ=( + )− 1(uder − uizq ) (10) 2) log-variance: izq

f = log(var(SX))

der

uizq + uder b = −θT 2

Es un método de extracción de características que ayuda a reducir la dimensionalidad de las señales EEG, de manera que se más sencillo operar computacionalmente. La función log-variance se define por:

(11)

III. Prototipo

(4)

A.

Protocolo experimental

Donde S es el filtro calculado mediante CSP, X es el Para realizar este proyecto, se empleó un protocolo registro de datos EEG y f es el vector de características. experimental parecido al que se siguió para el estudio 76

Journal - IEA 2014, Facultad de Ingeniería - UMSA

y desarrollo del sistema Graz-BCI [6]. En dicho estudio, se le pide al sujeto de prueba que evite moverse y que mantenga brazos y manos relajadas. La imaginación del movimiento que el sujeto debe realizar está sujeto a un estímulo visual. Cada ensayo inicia con la presentación de una cruz en la parte central de una pantalla. Posteriormente, una flecha con dirección a la izquierda o la derecha, se imprime sobre la cruz. Al mismo tiempo que se muestra la flecha, se le pide al sujeto que imagine un movimiento en la dirección que la flecha indique. La figura 3 muestra el diagrama de tiempos del protocolo experimental que corresponde a un ensayo. Una sesión experimental consta de una serie de ensayos. Figura 4: Sistema de adquisición.

Figura 3: Diagrama de tiempos de un ensayo. B. Sistema de adquisición El sistema de adquisición contempla dos elementos. El primero de ellos es el dispositivo Emotiv EPOC y se encarga de medir mediante sensores las señales que el cerebro humano genera. El segundo elemento es la herramienta de software libre OVAS. Dicha herramienta permite acceder a los datos que generan distintos dispositivos, entre ellos el mencionado anteriormente. Básicamente, OVAS hace uso de la librería que dispone el dispositivo de captura para acceder a las señales electroencefalográficas y etiqueta el conjunto de catorce señales bajo la siguiente denominación: name =0 Emotiv EP OC 0 De esa manera, los registros EEG se encuentran disponibles en tiempo real para cualquier instancia que soporte el protocolo LSL. La figura 4 esquematiza el la operación del sistema de adquisición. C.

Figura 5: Entorno de experimentación. es SNAP. Finalmente, el protocolo experimental es el procedimiento que se sigue para poder obtener señales electroencefalográficas que sean relevantes para el prototipo. La operación del sistema se resume en el siguiente listado: • Se ejecuta el sistema de adquisición, de manera que los datos se encuentren disponibles en la plataforma LSL. • Se ejecuta el script que plasma el paradigma experimental, diseñado en SNAP, que enviará marcadores a LSL indicando los tiempos del ensayo especificados en la tabla 1. • Se inicia la captura de datos mediante LabRecorder, previa verificación de la presencia de los flujos de datos de las señales EEG y de marcadores.

Entorno de experimentación

El entorno de experimentación está compuesto por el sistema de adquisición y el protocolo experimental ante• Se inicia el experimento, pidiéndole al sujeto de riormente descritos; además, contempla dos herramientas prueba que siga con atención las indicaciones que de software. La primer herramienta es un capturador de se mostrarán en pantalla. datos genérico que descubre todos los flujos de datos que • Por último, una vez que se hayan finalizado todos se encuentran presentes en la plataforma LSL. En otras los ensayos que componen el experimento, se detiepalabras, la aplicación descubre todos los sockets que se ne la captura de datos de la herramienta LabRehayan definido para LSL y permite seleccionar que flucorder que almacena automáticamente los datos jo o flujos capturar; esta herramienta es LabRecorder. capturados La segunda de ellas es una herramienta de desarrollo de experimentos y, en este proyecto, es utilizado para preLa figura 5 esquematiza el funcionamiento del entorno sentar estímulos al sujeto de prueba; dicha herramienta que se desarrolla en este apartado. 77

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Marcadores 101 102 103 104

Descripción Inicio del ensayo Despliegue de la cruz en la pantalla Despliegue de la flecha con dirección a la izquierda en pantalla Despliegue de la flecha con dirección a la derecha en pantalla Fin del ensayo movimiento con dirección a la izquierda Fin del ensayo movimiento con dirección a la derecha

La conformacio´n del modelo, que contempla todas las vari- ables mencionadas en la tabla, otorga la posibilidad de poder analizar nuevos registros electroencefalogra´ficos provenientes del mismo sujeto. E.

Entorno de evaluación

El entorno de evaluación, al igual que el de entrenamiento, esta implementado en Matlab e introduce el concepto de función de predicción. Básicamente, este en11 torno evalúa a que tipo de movimiento corresponde un segmento de datos electroencefalográficos en base a la función mencionada. Tabla 1: Especificación de los marcadores. La función de predicción es una asignación matemática que refleja la relación entre una observación (segmento de datos), y la salida deseada (estado cognitivo). D. Entorno de entrenamiento Considerando que un sistema BCI, que opera generanEl entorno de entrenamiento está totalmente imple- do respuestas deterministas, tiene memoria limitada del mentado en Matlab, utiliza el resultado generado por el pasado se puede decir que: entorno de experimentación y consta de tres etapas. La y = f (X) (12) primera etapa está dedicada al cálculo de los coeficientes del filtro temporal y posterior filtrado de la señal. Donde X es un segmento de datos1 , y es el proceso cogLa segunda etapa se encarga de la segmentación de los nitivo analizado y f es la función que relaciona ambas registros EEG, la agrupación de los ensayos de acuerdo variables. La forma funcional de la función de predicción a su clase y la ejecución del algoritmo CSP para deter- es totalmente arbitraria. No obstante, dicha función pueminar los coeficientes del filtro espacial. Por último, la de basarse asumiendo cierto mecanismo generativo de las tercera etapa se encarga de la extracción de las caracte- señales. Por ejemplo, se puede afirmar que las neuronas rísticas y ejecución del algoritmo LDA para determinar muestran cierto comportamiento relacionado con aquelos parámetros que ayuden a distinguir entre clases. Los llo que se trata de analizar (por ejemplo, aburrido o no resultados de las etapas en conjunto generarán un mo- aburrido) y cuando se presenta el escenario para generar delo que podrá ser aplicado a otros registros EEG. Tal ese o esos estados, una población numerosa de neuronas como se advierte en la figura 6, el funcionamiento del sis- se activa. tema es secuencial y en cada etapa se rescatan variables En consecuencia, se generan campos electromagnétique componen el modelo final. La tabla 2 sintetiza las cos suficientemente potentes, de manera tal que puedan etapas y los resultados que se generan en cada una de ser detectados por sensores posicionados sobre el cráneo ellas. y que, conjuntamente con el ruido detectado por los mismos sensores, dan lugar a los registros EEG. En ese entendido, la forma funcional opera con los registros medidos por los sensores y trata de predecir el proceso cerebral que origino dichos registros. Es decir, la forma funcional es, básicamente, una asignación matemática inversa al mecanismo generativo asumido. El modelo lineal aplicado tiene el propósito de distinguir entre los dos tipos de Figura 6: Entorno de entrenamiento. movimiento. Matemáticamente, se expresa de la siguiente manera: 10

Etapa 1 2 3

Procedimiento Cálculo de coeficientes y filtrado de la señal EEG Segmentación, agrupación y CSP Extracción de características y LDA

Variables T

Descripción filtro temporal

S

filtro espacial parámetros del modelo lineal

θyb

y = log(var(T (RS)))θ + b

(13)

Donde R es un segmento de datos electroencefalográficos, S es una matriz que contiene los coeficientes de los filtros espaciales, T es una matriz que contiene los coeficientes del filtro temporal, var es la varianza del segmento filtrado espacial y temporalmente, log es el logaritmo de la varianza calculada, θ y b son los parámetros del 1 Matemáticamente, X es una matriz definida por la cantidad de canales y la cantidad de muestras.

Tabla 2: Síntesis de los procedimientos y resultados. 78

Journal - IEA 2014, Facultad de Ingeniería - UMSA

modelo lineal. y = sign(log(var(T (RS)))θ + b)

(14)

Donde y es la salida binaria que indica si el movimiento imaginario fue de la mano derecha o izquierda. F.

Entorno de demostración

Para la demostración del funcionamiento del prototipo generando respuestas deterministas, se desarrollo un script basado en las herramientas de BCILAB. Dicho script sigue el diagrama de flujo que se muestra en la figura 7.

Figura 8: Gráfica de la aplicación en ejecución. ensayos y duraba aproximadamente 28 minutos. A continuación se muestran los mapas topográficos de los filtros y de los patrones obtenidos; además de la tasa de éxito. A.

Experimento 1

Tasa de error de clasificación (entrenamiento) = 38.3 1)

Figura 7: Diagrama de flujo del entorno de experimentación. Para evaluar el funcionamiento del sistema mientras genera respuestas deterministas, se diseño una pequeña rutina en la que se le pide al sujeto que imagine los movimientos de la mano que indica la flecha que se muestra en el monitor y a continuación dicho sujeto debería tratar de controlar un cursor, como el de la figura 8. IV. Resultados

Discusión:

Los patrones cerebrales tienen el atributo de mostrar cual es la fuente de la actividad cerebral. En un patrón de estas características un color cálido (rojo) indica una proyección positiva de una fuente de actividad cerebral. Opuestamente, un color frío indica una proyección negativa y los colores próximos al verde son aproximadamente cero. Las fuentes de actividad cerebral se reconocen por que se encuentran donde se produce el contraste entre las proyecciones positivas y negativas. Los patrones que deben ser analizados con mayor detalle, por lo general, son el primero y el ultimo dado que ambos son discriminativos respecto el uno con el otro. En la figura 10, se muestra en el primer mapa topográfico que una fuente de actividad se encuentra próxima a la región motora de la corteza cerebral. Dada la disposición de las proyecciones, se puede aseverar que la fuente pertenece a los movimientos de la mano izquierda. Por otra parte, el sexto patrón no muestra claramente la fuente de actividad cerebral. No obstante, la proyección positiva del patrón tiene cierta tendencia hacia la parte frontal del hemisferio derecho, por lo que posiblemente la fuente de actividad corresponda a la mano derecha. Finalmente, la tasa de error de clasificación es 38.3 % lo que indica que de 180 ensayos, 111 fueron exitosamente distinguidos

A pesar que los sistemas BCI son diseñados, generalmente, para personas que presentan alguna discapacidad motora, este prototipo fue utilizado por una persona saludable que no presentaba ningún tipo de incapacidad motora. Se probó el sistema en dos ocasiones con la misma persona, realizando en cada ocasión un experimento ligeramente diferente. El primer experimento consistía B. Experimento 2 de 180 ensayos y tenía de duración de aproximadamente 45 minutos. El segundo experimento consistía de 120 Tasa de error de clasificación (entrenamiento) = 33.3 79

Journal - IEA 2014, Facultad de Ingeniería - UMSA

importante ya que un desplazamiento ligero de un sensor puede generar un patrón totalmente distinto.

Figura 9: Filtro generados por CSP en el primer experimento.

Figura 11: Filtro generados por CSP en el segundo experimento.

Figura 10: Proyecciones generadas por CSP en el primer experimento. Figura 12: Proyecciones generadas por CSP en el segundo experimento. 1)

Discusión:

Los patrones generados en este experimento muestran mayor contraste en las proyecciones de sus patrones primero y sexto. De igual manera que en el anterior experimento, el primer patrón muestra un contraste claro indicando la fuente de actividad correspondiente a los movimientos de la mano izquierda. A diferencia de la anterior experiencia, el ultimo patrón si muestra un contraste claro y es posible identificar la fuente de la actividad cerebral correspondiente a los movimientos de la mano derecha. En cuanto a la tasa de error de clasificación también se puede advertir una mejora ya que su valor es de 33.3 %. Es decir, de 120 ensayos, 80 fueron exitosamente clasificados. La mejora que se evidencia de una a otra prueba probablemente se debe a la reducción de ensayos. No obstante, el posicionamiento de los sensores es también un asunto 80

V. Conclusión Dados los resultados que se presentaron anteriormente, se puede afirmar que es posible generar consignas de control a partir de los ritmos alpha sobre la corteza motora utilizando el dispositivo Emotiv EPOC, ya que las tasas de éxito son razonablemente alentadoras considerando que el sujeto de prueba no tiene entrenamiento alguno para la generación de dichos ritmos. Por lo que es muy posible que una persona que entrene regularmente pueda obtener muchos mejores resultados. Finalmente, cabe mencionar que el equipo utilizado para la experimentación no se encontraba correctamente mantenido por lo que es posible que se puedan obtener mejores resultados con sensores en buen estado.

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Referencias [1]

Emotiv systems. Emotiv systems homepage. url: http://www.emotiv.com (vid. pág. 2).

[2]

labstreaminglayer. url: https : / / code . google . com/p/labstreaminglayer/ (vid. pág. 2).

[3]

G. Gibert M. Congedo E. Maby V. Delannoy O. Bertrand Y. Renard F. Lotte y A. Le´cuyer. “Openvibe: An open-source software platform to design, test, and use brain-computer interfaces in real and virtual environments”. En: Presence: Teleoperators and Virtual Environments. Vol. 19. 2010, págs. 35-53 (vid. pág. 2).

[4]

Bcilab sccn. url: http://sccn.ucsd.edu/wiki/ BCILAB#BCI_Application_Areas (vid. pág. 2).

[5] Introduction to modern brain-computer interface design. url: http : / / sccn . ucsd . edu / wiki / Introduction _ To _ Modern _ Brain - Computer _ Interface_Design (vid. pág. 3). [6]

K. Lugger A. Schlogl y G. Pfurtscheller. “Adaptive autoregressive parameters for a brain-computerinterface experiment”. En: Engineering in Medicine and Biology Society. Vol. 4. 1997, págs. 1533-1535 (vid. pág. 4).

81

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Prototipo de Impresora 3D reutilizando desecho electrónico (e-waste) en su construcción, y uso de botellas PET como material de impresión Paulo Roberto Loma Marconi [email protected] A.

Abstract Implementación de un prototipo básico de Impresora 3D con la técnica FDM aplicando botellas plásticas PET desechables reemplazando el tradicional PLA/ABS como material de impresión, adaptación de desecho electrónico (e-waste) para la construcción del extrusor y la estructura. Implementación de diseño propio de electrónica y Firmware-Software para el control de temperatura PID por Efecto Joule, control de motores paso a paso (mPaP), operación y monitoreo general, algoritmos descriptor Gcode y posicionamiento 3D. Keywords – Impresora 3D, FDM, Manufactura por Adicción, Matlab, Visual Studio, C/C#, extrusor, DIY, Efecto Joule, Termocupla, Control PID discreto, Sketchup CAD, e-waste, adaptación, PET, reciclado, descriptor Gcode, RTOS, PIC18F4550, PICCS, USB modo bulk. I. Introducción Durante el proceso de construcción de una impresora 3D existen dos problemas que fueron identificados; la importación de componentes electrónicos (controladores) y electromecánicos (extrusor) específicos para impresoras 3D, y la dependencia en la importación del material de impresión plástico tipo PLA/ABS. Por tanto, el objetivo fue la implementación de un prototipo básico alternativo de Impresora 3D reutilizando y adaptando desecho electrónico (e-waste) en el proceso de construcción, además del empleo de botellas PET desechables como material de impresión, aplicando la técnica FDM (Modelación por Deposición Fundida).

Construcción mecánica del extrusor y estructura completa.

Se dispuso la adaptación de e-waste y componentes de fácil adquisición en tiendas locales, para ninguna etapa se recurrió a la importación de componentes exclusivos para Impresoras 3D. La construcción empezó con la elección de los componentes y herramientas electromecánicas, luego se realizó el modelo CAD del extrusor utilizando la herramienta Sketchup, figuras 2 y 3. B.

Alimentación del material

El tipo de alimentación del material plástico PET picado es manual, luego es transportado por inyección hacia el Licuefactor, figura 4. También puede usarse rollo de plástico PET obtenido directamente de la botella gracias a un procedimiento manual de corte, figura 5. C.

Calentamiento por Efecto Joule

Se realiza la construcción del Licuefactor con un nozzle (boquilla) de bronce para hornillas a gas y una resistencia eléctrica tipo niquelina, todo debe ser aislado de forma eléctrica y calorífica, figura 6. D.

Extrusión

Se aplica la técnica por Inyección donde la barra roscada esta acoplada al extrusor, figura 2; que transfiere el movimiento rotacional del motor mPaP en movimiento vertical lineal. E.

Robot cartesiano y posicionamiento 3D

La estructura completa del prototipo respeta la configuración del robot cartesiano, para cada eje existe un II. Desarrollo del prototipo mPaP unipolar o bipolar. En los 3 casos, el eje y/o caja de La figura 1 describe en diagrama de bloques el esquema engranajes del motor tiene acoplado una polea dentada general de funcionamiento para su respectiva implemen- que transfiere el movimiento rotacional en movimiento tación. lineal, las barras lisas permiten que el movimiento lineal 82

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Figura 1: Esquema general de funcionamiento del prototipo.

Figura 2: Modelo CAD del extrusor. uniforme reduzca su fricción, y las abrazaderas conectan eje con eje para completar la configuración de robot cartesiano, figura 8. F.

Figura 3: Extrusor construido y ensamblado.

Diseño electrónico

El diseño electrónico completo (Schematic), layout de la placa PCB y modelo CAD, se realizó en Proteus 8.0. 1)

Figura 4: Alimentación del material plástico PET.

MCU PIC18F4550 y comunicación USB

2) Esquema electrónico de los cuatro motores mPaP La ejecución del Firmware está a cargo del MCU X, Y, Z y E PIC18F4550, cuya característica principal es el módulo Se usan cuatro mPaP e-waste de diferentes caracterísUSB 2.0 integrado, además de su fácil adquisición y bajo costo. El tipo de transferencia USB que se aplica es ticas y dimensiones, un bipolar para el eje X; dos unipoBulk mode con tipo de clase CC(Custom Class), figura lares para el eje Y, Z y un unipolar para el extrusor E. El controlador es de medio paso para todos los motores, 9. 83

Journal - IEA 2014, Facultad de Ingeniería - UMSA

PIC +5V_PIC

UPIC 2 3 4 5 6 7 14 13

termocupla 1 2

GND_PIC

bootloader

JPIC

14 13

SIL-100-02

33 34 35 36 37 38 39 40

RB2

PULSOS

RPIC1 RB6

GND_PIC

220R

GLALGLC

RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT/RCV RA5/AN4/SS/LVDIN/C2OUT RA6/OSC2/CLKO OSC1/CLKI

RB6 RB7

RC0/T1OSO/T1CKI RC1/T1OSI/CCP2/UOE RC2/CCP1/P1A RC4/D-/VM RC5/D+/VP RC6/TX/CK RC7/RX/DT/SDO

RB0/AN12/INT0/FLT0/SDI/SDA RB1/AN10/INT1/SCK/SCL RB2/AN8/INT2/VMO RB3/AN9/CCP2/VPO RB4/AN11/KBI0/CSSPP RB5/KBI1/PGM RB6/KBI2/PGC RB7/KBI3/PGD

RD0/SPP0 RD1/SPP1 RD2/SPP2 RD3/SPP3 RD4/SPP4 RD5/SPP5/P1B RD6/SPP6/P1C RD7/SPP7/P1D

RPIC2 RB7

RE0/AN5/CK1SPP RE1/AN6/CK2SPP RE2/AN7/OESPP RE3/MCLR/VPP

CPIC5 GND_PIC

220R

Figura 5: Rollo de plástico PET.

18 220nF

VUSB

15 16 17 23 24 25 26

control DD+

19 20 21 22 27 28 29 30

dirX dirY dirZ dirE clockX clockY clockZ clockE

8 9 10 1

MRCL

PIC18F4550 VDD=+5V_PIC VSS=GND_PIC

CPIC3 PIN_USB_SENSE

CPIC4

CRYSTAL

RPIC8

RPIC7

100k

220R

RB2

13

LED_USB

15pF +5V_PIC

DPIC1

+5V_PIC

DPIC2

RPIC3 10k

1N4007

RPIC6 100k

RPIC5

USB

10k

1N4007

1 3 2 4

RPIC4

RESET

CPIC1

bootloader 2

2/4

MRCL 1k

BOOT

VCC D+ DGND USBCONN

GND_PIC

1

100nF

1/3

Figura 6: Licuefactor eléctrica-caloríficamente aislado.

D+ D-

CPIC2

100nF

GND_PIC

GND_PIC

14

XPIC

15pF

GND_PIC

GND_PIC

Figura 9: Esquemático electrónico MCU PIC18F4550. taje de +19, 5[V ] y 4[A] actuando sobre la niquelina de 6[Ω], otorgando una potencia de 63[watts], figura 11. Figura 7: Construcción del pistón. 4)

Acondicionamiento de señal de Termocupla K

Para lograr el acondicionamiento y su compensación analógica correctamente, se debe plantear el problema según la tabla 1, seguido del análisis y obtención de valores mediante la figura 12 y desarrollo matemático (1) Temperatura

Voltaje

Termocupla K

0 − 300[°C]

0 − 5[V ]

LM35

0 − 150[°C]

0 − 5[V ]

Sensibilidad   uV Sk = 40, 5  °C  mV α = 10, 0 °C

Tabla 1: Condiciones de implementación. Figura 8: Disposición mecánica de posicionamiento 3D. y está a cargo de IC L297+IC L298, para el motor bipolar; y IC L297+array Darlington , para los motores unipolares; figura 10. 3)

Vmax − Vmin Tmax − Tmin   mV S1 = 33, 3 ; °C S=

Efecto Joule por PWM y Mosfet

S2 = 16, 7



mV °C



(1)

bloque de ganancias,

Para el calentamiento por Efecto Joule en el Licuefactor, se aplica control PID por PWM desde el MCU 18F4550, cuyo actuador es un Mosfet de potencia IRL3803, conectado en paralelo con una fuente de vol-

G1 = 84

S1 = 3, 33; α

G2 =

S1 = 412 α

(2)

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Motores GND_MX1

GND_MX2

GND_MX1

+5V_MX1

CX2

CX1 12

22k GND_MX1 GND_MX2

10 20 19 17 18

+5V_MX1 +5V_MX2

dirX clockX

3 GND_MX1

1 2 3 4

+5V_MX1

ENABLE RESET HALF/FULL CW/CCW CLOCK

JX1

VCC

A B C D INH1 INH2 SENS1 SENS2

CONTROL

15 16

VREF OSC

GND

4 6 7 9 5 8

5 7 10 12 6 11

14 13

1 15

1

SYNC

2

SIL-100-04

UX1

HOME

11

3

RX5

2

1

52%

RX4 +5V_MX1

+5V_MX2

100nF

RX1

3.3nF

RX2

RX3

0.5R

0.5R

IN1 IN2 IN3 IN4 ENA ENB

9

4

VCC

VS

CX4

100nF

470uF

UX2 OUT1 OUT2 OUT3

SENSA SENSB

CX3

OUT4

2

DX1

DX2

DX3

DX4

DIODE

DIODE

DIODE

DIODE

JX2 1 2 3 4

3 13 14

SIL-100-04

GND L298 8

DX5

DX6

DX7

DX8

DIODE

DIODE

DIODE

DIODE

L297 GND_MX1

1k

GND_MX2

10k GND_MX1

GND_MY1

CY1 AY 12

22k

GND_MY1 GND_MY2

QY1

DY1

TIP122

DIODE-ZEN

1k

UY1

CY2 100nF

DY2

JY2

+5V_MY2 dirY clockY

GND_MY1

1 2 3 4

3

JY1

11 15 16

VCC

A B C D INH1 INH2

HOME SENS1 SENS2

CONTROL

4 6 7 9 5 8

AY BY CY DY

SYNC

GND

QY3

DY3

TIP122

DIODE-ZEN

1k

14 13

RY8 CY

VREF OSC

TIP122

QY2

RY7 BY

1k

1

3

SIL-100-06

DIODE-ZEN

RY5

2

1

50%

RY4 +5V_MY1

1 2 3 4 5 6

DY4

2

SIL-100-04

ENABLE RESET HALF/FULL CW/CCW CLOCK

GND_MY2

DIODE-ZEN 10 20 19 17 18

+5V_MY1 +5V_MY1

RY6

RY1

3.3nF

GND_MY2

+5V_MY2 +5V_MY1

L297

QY4

RY9

1k

TIP122

DY 10k

1k GND_MY1

GND_MZ1

GND_MY2

RZ1

3.3nF

10 20 19 17 18

+5V_MZ1 +5V_MZ1

+5V_MZ2 dirZ clockZ

GND_MZ1

1 2 3 4

3

JZ1

11 15 16

12

ENABLE RESET HALF/FULL CW/CCW CLOCK

UZ1

VCC

A B C D INH1 INH2

HOME SENS1 SENS2

CONTROL

+5V_MZ1

3

RZ5

4

INH1Z

6 5

BZ

SENS1Z SENS2Z

UZ2:C

GND=GND_MZ1 VCC=+5V_MZ1

9

CZ

SYNC

GND

2

8

1

RZ2

RZ3

0.5R

0.5R

UZ2:D

11

1k 10K

13

DZ GND_MZ1

DIODE-ZEN

DZ2

CZ2 100nF

JZ2

DIODE-ZEN

RZ7

TIP122

QZ3

DZ3

TIP122

DIODE-ZEN

QZ2

SENS1Z

RZ8

1 2 3 4 5 6 SIL-100-06

DZ4

GND=GND_MZ1 VCC=+5V_MZ1

12

INH2Z

TIP122

1k 74HC08

L297

DZ1

1k 74HC08

14 13

QZ1

GND=GND_MZ1 VCC=+5V_MZ1

10

VREF OSC

1

35%

RZ4

UZ2:B

AZ BZ CZ DZ INH1Z INH2Z

RZ6 1k

74HC08 4 6 7 9 5 8

2

SIL-100-04

3 2

22k

GND_MZ1 GND_MZ2

1

AZ

GND_MZ2

CZ1

GND_MZ2

+5V_MZ2

UZ2:A

+5V_MZ1

DIODE-ZEN

RZ9

QZ4 TIP122

1k 74HC08

GND=GND_MZ1 VCC=+5V_MZ1

SENS2Z

GND_ME1

10 20 19 17 18

+5V_ME +5V_ME

+12V_ME dirE clockE

GND_ME1

1 2 3 4

3

JE1

12

22k

GND_ME1 GND_ME2

11 15 16

UE1

VCC

A B C D INH1 INH2

HOME SENS1 SENS2

CONTROL

+5V_ME

3

RE5 47%

RE4

1

UE2:B

AE BE CE DE INH1E INH2E

6 5

BE

SENS1E SENS2E

UE2:C

GND=GND_ME1 VCC=+5V_ME

9

CE

8 10

SYNC

GND

1

2

RE2

RE3

0.5R

0.5R

UE2:D

11

1k 10k

13

DE GND_ME1

DE2

CE2 100nF

JE2

DIODE-ZEN

RE7

TIP122

QE3

DE3

TIP122

DIODE-ZEN

QE2

SENS1E

RE8

1 2 3 4 5 6 SIL-100-06

DE4

GND=GND_ME1 VCC=+5V_ME

12

INH2E

DIODE-ZEN

1k 74HC08

L297

TIP122

1k 74HC08

14 13

DE1

GND=GND_ME1 VCC=+5V_ME

4

INH1E

QE1

1k 74HC08

4 6 7 9 5 8

2

SIL-100-04

ENABLE RESET HALF/FULL CW/CCW CLOCK

VREF OSC

3 2

RE6

GND_ME2

RE1

3.3nF

1

AE

GND_ME2

+12V_ME

UE2:A

+5V_ME

CE1

DIODE-ZEN

RE9

QE4 TIP122

1k 74HC08

GND=GND_ME1 VCC=+5V_ME

SENS2E

Figura 10: Esquemático completo de control mPaP. obteniendo valores de Resistencia para el Amplificador calculando los valores de Resistencia para el AmplifiDiferencial(OP07) = UT2 de Ganancia G1 cador Diferencial de Instrumentación(AD620) = UT3 de Ganancia G2 , según la ecuación siguiente, y reemplazando en el diseño de la figura 13 R2 vo R2 vo = (v2 − 0) ; G1 = = = 3, 33 R1 v2 R1 R2 = 330[Ω]; R1 = 100[Ω] (3) reemplazando en el diseño de la figura 13 RT 2 = RT 4 = 330[Ω];

RT 1 = RT 3 = 100[Ω]

RG =

(4) 85

49, 4[kΩ] = 120[Ω]; G2 − 1

RGT = 120[Ω]

Journal - IEA 2014, Facultad de Ingeniería - UMSA

A.

Mosfet

El algoritmo 1 describe en pseudo-código la estructura base. En config hay 4 grupos grandes delimitados, MCU y Comunicación USB que están implícitamente relacionados; en cambio, RTOS depende del correcto funcionamiento de su propio grupo de instrucciones y la correspondiente compatibilidad con el MCU. Hay que resaltar la omisión del clásico while loop en main; se prescinde de él porque un RTOS gestiona mejor las tareas de operación, control y comunicación.

DSW1 JEX2 +19.5V

1 3

OFF

ON

2 4

2 1

DIPSW_1

TBLOCK-I2

QEX

GND_+19V

IRL3803

1 2

REX1 control 10R

REX2 JEX1

Estructura general

100k

SIL-100-02

GND_EXT

Figura 11: Actuador, Mosfet de potencia.

Algoritmo 1: Estructura general. Input: Puertos I/O Output: Actuadores config MCU; RTOS; Comunicación USB; Control; def

Figura 12: Acondicionamiento de Termocupla. Para completar el último paso, se debe aplicar la Ley de Circuitos Homogéneos y Metales Intermedios según, VTc ,0 = VTc ,Tf + VTf ,0

main call funciones; call tareas RTOS;

(5)

y calculando los valores de Resistenca para el sumandor UT4,

B.

  v1 + v2 R2 R1 R2 vo = 1 + 1 1 R1 + R1 R2

5)

vU T 4 = vU T 2 + vU T 3

Función genérica: Inicio

Es la primera función genérica a llamar que inicializa las variables y módulos del MCU, algoritmo 2. C.

si, R1 = R2 = 10[kΩ] entonces, vo = v 1 + v 2 ;

variables; funciones; tareas RTOS;

Tarea RTOS: Comunicación USB/descriptor Bulkmode

La figura 15 muestra en diagrama de bloques los Bytes de Envió/Recepción de paquetes USB que implementa a través del algoritmo 3.

(6)

Modelo CAD y grabado PCB

D. Tarea RTOS: Control PID discreto de temperatura Finalmente, se construye el PCB respetando el área máxima de soporte; una fuente de poder para PC, y reutiPara implementar Control PID se debe obtener el molizando la mayor cantidad de componentes electrónicos delo de la Planta(Licuefactor) Gp (s), se analiza los requee-waste de placas dañadas, figura 14. rimientos de diseño, simulación en Matlab y finalmente, según el algoritmo 4 se implementa el controlador PID. III. Desarrollo de Firmware 1) Análisis Programación Imperativa y Estructurada, la razón se debe a la aplicación del Lenguaje de Programación El Software GUI cumple la función de obtener la resC sobre software compilador PICWHD con su respectivo puesta al escalón del Licuefactor Gp (s), registrando en bootloader, además de la técnica Multitarea a través de un documento.txt los valores de sensor de Temperatuun RTOS open-source; (OSA-RTOS) para PIC18F4550. ra Termocupla K cada Periodo de Tiempo de muestreo 86

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Termocupla RT2 330

3 OP07

GND_EXT

GND_TCK

7 1

RT4 330

+12V

CT3 10nF

GND_TCK

JTCK2

TCKrojo

TBLOCK-I2

TCKazul

JTCK3 1 2

JTCK1 SIL-100-04

1k

+12V

3

CT6 10uF

TL081

GND_TCK filtro pasa bajo 1Hz

UT3

3

termocupla

+12V

10nF

120

7 1

TCKrojo

1 2 3 4

1 2

15k

6 2

TCKazul

AD620 4 8 5

+12V

CT5

RT8 RGT

6

RT9

OP07

1k

+12V

-12V

2

6 3

UT5

10nF

UT4

2

RT7

7 1

GND_TCK

LM35

-12V

CT4

6

100

3

1k -12V

GND_TCK

2

VOUT

RT6

1k

4

UT2

2

RT3

RT5

4 8

27.0

7 1 5

10nF

4 8

1

GND_TCK

CT2

-12V

GND_TCK

100

U1

GND_TCK

GND_TCK

GND_TCK

CT1 100nF

RT1

GND_TCK

+5V_PIC

GND_TCK TBLOCK-I2 -12V

Figura 13: Sensor de Temperatura Termocupla K. Algoritmo 3: Tarea RTOS: Comunicación USB. Function tarea USB() if Recibir Byte >0 then número de Pulsos XYZE = Recibir Byte[0:7]; periodo de Pulsos XYZE = Recibir Byte[8:13]; DirMotor XYZE = Recibir Byte[14:17]; dato Gla − Glc = Recibir Byte[18]; referencia r(kT ) PWM = Recibir Byte[19]; if EnviarByte >0 then dato ADC[0-255] = Recibir Byte[0]; dato ADC[256-1023] = Recibir Byte[1]; estado mPaP XYZE = Recibir Byte[2];

Figura 14: Implementación electrónica completa. Algoritmo 2: Función genérica: Inicio. Function Inicio() ini valores mPaP número de Pulsos XYZE = 0; periodo de Pulsos XYZE = 0;

delay = 100 [ms];

ini constantes PID i1 = e1 = d1 = 0; Kd = 4, 372 Kp = 4, 387 Ki = 0, 01457; Tiempo de muestreo: T = 10[s]; Kd T Kdz = ; Kpz = Kp Kiz = Ki 2 T config CCP Frecuencia_PWM = 3kHz;

Tm [ms], la figura 15 muestra el procesamiento de los datos r(t), y(t) y actuador por PWM. Aplicando una señal escalón a Gp a lazo abierto Gla se obtiene la figura 16. Que exporta un documento.txt con Tm = 1000[ms] para ser importado con la herramienta Ident Matlab, y proceder a la identificación del modelo SISO. Finalmente genera la Función de Transferencia,

config ADC Canal 0 = AN0; config Timer0 para OsaRTOS Frecuencia = 1kHz para clock 48MHz;

Gp (s) =

config USB Habilitar módulo USB; Enumeración USB;

2)

1, 4958 1 + 429, 15 s

(7)

Diseño

Gracias a otra herramienta de diseño de controlador; Sisotool Matlab, se genera los parámetros y Función de Transferencia del Controlador Gc (s), figura 18 87

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Figura 15: Envío/Recepción de paquetes USB, y procesamiento del PWM para control PID.

Figura 16: Respuesta Gp al escalón, muestreado con el GUI. Figura 18: Controlador Gc (s) con Sisotool. 5 6 7 8

Figura 17: Identificación del modelo con Ident Matlab.

9 10 11 12 13 14 15

Que resulta en: (1 + s)(1 + 300 s) s Kp = 4, 387 Ki = 0, 01457

Gc (s) = 0, 014574 Kd = 4, 372

 Código 1: Sistema a lazo abierto Gla y lazo cerrado Glc.

(8)

Mp = 2, 75 % tr = 127[s] ts = 507 3)

T =10; % tr /6 < T < tr /20 Kpz = Kp ; Kiz = Ki * T /2; Kdz = Kd / T ; Gpz = c2d ( Gp ,T , ’ zoh ’) ; Gcz = tf ([( Kpz + Kiz + Kdz ) ( - Kpz + Kiz -2* Kdz ) Kdz ] ,[1 -1 0] , T ) ; Glaz = Gpz * Gcz ; Gla = Gp * Gc ; Glcz = feedback ( Glaz ,1) ; Glc = feedback ( Gla ,1) ; step ( Gpz , Glcz , Glc ) pause margin ( Glcz ) pause bode ( Glcz , Glc )

Simulación

4) Implementación Se discretiza Gp , Gc y Glc según el código Matlab 1, para obtener la figura 19.   Para implementar el algoritmo PID 4, el MCU 1 s = tf ( ’s ’) ; debe ejecutarlo en periodos de Tiempo Discreto 2 Gp = 1 .4 95 8 /( 1 + 4 2 9. 1 5 * s ) ; T = 1000[ms]) donde el resultado se muestra en la figura 3 Kd =4.372; Kp =4.387; Ki =0.01457; 20. 4 Gc = tf ([ Kd Kp Ki ] ,[1 0]) ; % Gc =0.014574*(1+ s ) *(1+300* s ) / s

88



Journal - IEA 2014, Facultad de Ingeniería - UMSA

Algoritmo 4: Control PID discreto. Input: Periodo T [ms], constantes Kpz , Kiz , Kdz , referencia r(kT ) y salida y(kT ) Output: Controlador u(kT ) def e(kT ) = e e(kT − T ) = e1; r(kT ) = r y(kT ) = y; p(kT ) = p; i(kT ) = i i(kT − T ) = i1; d(kT ) = d; u(kT ) = u; Function control Glc_PID e = r − y ; /* leer error actual */ p = Kpz · e; i = i1 + Kiz · (e + e1); d = Kdz · (e − e1); /* suma pid */ u = p + i + d; /* enviar dato de control ”u” al actuador */ actuador(u); /* error actual se guarda en error anterior y valor integral actual en valor integral anterior */ e1 = e; i1 = i; /* Periodo de muestreo */ delay = T[ms];

Figura 19: Simulación Matlab.

Figura 20: Respuesta al escalón del sistema a lazo cerrado Glc .

IV.

Desarrollo de Software

El Software se realiza aplicando POO a través de Visual Studio C# con diseño de interfaz WFA, la figura 21 muestra GUI completo con 5 secciones definidas: • Referencia r(t) por PWM: rango de 0 − 5[V ] = 0 − 300[°C].

• Salida y(t): elección Gla − Glc, Iniciar/Parar Muestreo, tiempo tm [ms]; rango de salida por voltaje 0 − 5[V ], temperatura 0 − 300[°C] y 0 − 1023[dec].

• Control Manual mPaP XYZE con 2 subgrupos: número de Pulsos(distancia), periodo de Pulsos(velocidad).

Figura 21: Operación general a través del GUI.

• Gcode: cargar, instrucción por vez step, reset, ti- A. Descriptor Gcode mer, enviar una instrucción. El Descriptor Gcode tiene la función de obtener los • Monitoreo: referencia r(t) vs salida y(t), a través datos de posición XYZE y velocidad F(Feedrate) de los mPaP, procesar dichos valores para enviar solamente de un chart o plotter. 89

Journal - IEA 2014, Facultad de Ingeniería - UMSA X Y E número de Pulsos XYZE y Periodo XZYE al Firmware [mm] dX1 · 3, 03 = dX2 dY 1 · 10 = dY 2 dE1 · 70 = dE2 para su ejecución. TE = Tref [ms] TX1 · 3, 03 · 7 = TX2 TY 1 · 7 = TY 2 El código ejemplo 2, indica el desarrollo de un rectángulo 2D sin el eje Z, donde el extrusor E deposita el maTabla 3: Condiciones de relación (mm vs periodo). terial de acuerdo a las distancias XY[mm], G1 indica que la instrucción es de Movimiento  mm  Lineal Controlado, velo• Relación XYE . Cada linea de instrucción cidad(Feedrate) F 1200 min refiere al toolpath necesario para completar el rectángulo 2D, figura 22.   dX2 · TX2 = dY 2 · TY 2 = dE2 · TE (9) G 1 X 0.000 Y 0.000 dE2 G 1 X 10.000 E 10.000 F 1200.000 · TE (10) TY 2 = DY 2 G 1 Y 5.000 E 5.000 F 1200.000 G 1 X 10.000 E 10.000 F 1200.000 dE2 TX2 = · TE (11) G 1 Y 5.000 E 5.000 F 1200.000 D   X2 Código 2: Ejemplo Gcode, rectángulo 2D de 10x5 mm. V. Resultados

Procedimiento de impresión: • Implementado el siguiente modelo CAD, figura 23; y exportando el formato .stl – Interior: 7[mm]x12[mm] – Exterior: 15[mm]x20[mm] – Altura: 5[mm] • Obteniendo el Documento.gcode con Slic3r y visualizando con Repetier-Host, figura 24.

Figura 22: Toolpath del código 2. Por tanto, el procedimiento de desarrollo del algoritmo descriptor consiste en: • Guardar en buffer de memoria el Documento.gcode que contiene todas las instrucciones Gcode. • Buscar la instrucción de Movimiento Lineal Controlado.

• Importando el Documento.gcode con el botón Cargar Gcode e imprimiendo la pieza con el botón Step; usando el GUI del Proyecto, figura 21. • Pieza final resultante, figura 25. – Interior: 7[mm]x13[mm] – Exterior: 116[mm]x21[mm] – Altura: 5[mm]

• Procesar el campo numérico para guardar en variables temporales XYZEF. • Realizar el escalamiento de distancias XYZE, de acuerdo a la tabla 2. h mm i 1[mm] 10 ≈ 20[ms] s X 3, 03[pulsos] Y 10[pulsos] Z 50[pulsos] E 70[pulsos] F ·2 − F 2 · 2 60 · 20 · 20[ms] Tabla 2: Condiciones de relación (pulsos vs mm).

Figura 23: Modelo CAD de la pieza.

• Realizar el promedio de las distancias y periodos XYE para calcular la ecuación de relación; tomando como referencia al periodo del motor E, tabla 3.

VI. Conclusiones

• Sin embargo, no es necesario calcular la relación agregando el eje Z porque su movimiento solo se ejecuta cuando termina un capa.

• El extrusor electromecánico y todo el diseño electrónico fue implementado con e-waste y componentes adquiridos en tiendas locales, sección II. 90

Journal - IEA 2014, Facultad de Ingeniería - UMSA

seño nuevo de extrusor que contemple la alimentación continua. Referencias

Figura 24: Generación y visualización Gcode.

Figura 25: Pieza final impresa. • La subsección B. demuestra la aplicación de material de impresión plástico PET de botellas desechables, alimentado al Licuefactor manualmente. • El diseño del sistema electrónico y su implementación satisface todos los requerimientos de funcionamiento: control, comunicación y operación del prototipo, subsección F. • El procedimiento de control PID se aplicó a través de las herramientas Ident y Sisotool de Matlab, la adquisición de datos de la planta Gp fue por medio del propio GUI del proyecto, y la implementación a través del MCU PIC18F4550, sección III. • El desarrollo de Firmware sincroniza los mPaP para el correcto posicionamiento 3D, envía/recibe datos del sensor de temperatura por medio del protocolo USB para el correcto control PID, sección III. • El desarrollo de Software aplicando POO, interactúa completamente con el Firmware para la ejecución de las instrucciones Gcode en el proceso de impresión 3D, sección IV. • La baja resolución de las piezas impresas se debe a la limitación del Medio Paso en los mPaP; por tanto, se recomienda el cambio de diseño electrónico que implemente Micro Paso, que resultará en una Impresión 3D de calidad media/alta. • La alimentación del material de impresión es manual y la cantidad de plástico procesado depende del volumen del Licuefactor, se recomienda un di91

[1]

Alex B. OSA-RTOS. 2009. url: http : / / www . pic24.ru/doku.php/en/osa/ref/intro.

[2]

Christian Baechler, Matthew DeVuono y Joshua Pearce. “Distributed recycling of waste polymer into RepRap feedstock”. English. En: Rapid Prototyping Journal (2013), págs. 118-125. doi: dx.doi. org / 10 . 1108 / 13552541311302978. url: http : / / www . emeraldinsight . com / journals . htm ? issn=1355-2546&volume=19&issue=2& amp ; articleid = 17082798 & amp ; articletitle = Distributed % 2Brecycling % 2Bof % 2Bwaste % 2Bpolymer%2Binto%2BRepRap%2Bfeedstock.

[3]

David Bourell, Ming Leu y David Rosen. “Roadmap for Additive Manufacturing Identifying the Future of Freeform Processing”. En: 2009. url: http://wohlersassociates.com/roadmap2009. pdf.

[4]

Adrian Bowyer. Granule Extruder. url: http:// reprap.org/wiki/GranuleExtruder.

[5]

G.B. Braanker y col. Developing a plastics recycling add-on for the RepRap 3D-printer. Delft University of Techonology, 2010. 46 págs. url: http: / / reprapdelft . files . wordpress . com / 2010 / 04/reprap-granule-extruder-tudelft1.pdf.

[6]

Enrique Canessa, Carlo Fonda y Marco Zennaro. “Perpetual Plastic Project”. En: Low-cost 3D Printing for Science, Education and Sustainable Development (mayo de 2013), págs. 191-197. url: http://sdu.ictp.it/3d/book/Low- cost_3D_ printing_screen.pdf.

[7]

Eduardo Carletti. Motores paso a paso Características básicas. 2014. url: http : / / robots argentina.com.ar/MotorPP_basico.htm.

[8]

Miguel A. Pérez García y col. Instrumentación Electrónica. S.A. Ediciones Paraninfo, 2003. 862 págs. isbn: 9788497321662. url: http://m. casadellibro . com / libro - instrumentacion electronica - incluye - cd / 9788497321662 / 936109.

[9]

Jo Geraedts y col. “Three view on Additive Manufacturing: Business, Research and Education”. En: TMC2012. Ed. por I. Horváth y col. Organizing Committee of TMCE 2012. Mayo de 2012. url: http : / / www . researchgate . net / publication / 235725722 _ Three _ Views _ on _ Additive_Manufacturing_Business_Research_ and_Education.

Journal - IEA 2014, Facultad de Ingeniería - UMSA

[10]

Ian Gibson, David Rosen y Brent Stucker. Additive Manufacturing Technologies. Springer US, 2010. doi: 10.1007/978- 1- 4419- 1120- 9. url: http: //link.springer.com/book/10.1007/978- 14419-1120-9.

[11]

Harold Giles, John Wagner y Eldridge Mount. Extrusion: the definitive processing guide and handbook. English. 2nd. William Andrew, sep. de 2014. 640 págs. isbn: 9781437734829. url: http : / / store . elsevier . com / product . jsp ? isbn = 9781437734812&_requestid=596110.

[12]

Sherry Huss. Ultimate Guide to 3D Printing. Inf. téc. Makezine.com, 2013. url: http : / / www . makershed . com / products / make - ultimate guide-to-3d-printing-2014.

[13]

Pierre Lafleur y Bruno Vergnes. Polymer Extrusion. 1th Edition. Wiley-ISTE, 9 de mayo de 2014. url: http : / / www . wiley . com / WileyCDA / WileyTitle/productCd-1848216505.html.

[14]

Keith Luker. “Hot-melt Extrusion: Pharmaceutical Applications”. En: ed. por Dennis Douroumis. 1th Edition. A John Wiley, abr. de 2012. Cap. 1. url: http://www.wiley.com/WileyCDA/WileyTitle/ productCd-1118307879.html.

[15]

Joshua Pearce. Waste plastic extruder: literature review. 2014. url: http : / / www . appropedia . org / Waste _ Plastic _ Extruder : _Literature _ Review # Characterization _ and _ recovery _ of _ polymers_from_mobile_phone_scrap.

[16]

Dominik Proschek. “Extruder to Recycle Plastic Milk Bottles”. Tesis de mtría. University of ULSTER. url: http : / / reprap . org / mediawiki / images/9/90/Master_Thesis_Extruder_Unit. pdf.

[17]

Chris Rauwendaal y col. Polymer Extrusion. 5th Edition. Carl Hanser Verlag, 2014. url: http : / / www . hanser - elibrary . com / isbn / 9781569905166.

[18]

Bruno Vergnes, Michel Vincent y Jean-Marc Haudin. “Properties of Polymers”. En: Design of Extrusion Forming Tools. Ed. por Olga Carneiro y Joao Nóbrega. 1th Edition. Smithers Rapra, 2012. Cap. 2. isbn: 978-1-84735-519-5. url: http: / / info . smithersrapra . com / publishing / 10B16 - 1004 / design - of - extrusion - forming tools/.

92

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Sistema de Archivos EDFEDF+ utilizando MATLAB Álvarez Surci Américo [email protected] II. Formato EDF

Abstract Se analiza el sistema de datos Europeo de intercambio de información fisiológica humana (EEG, EMG, MEG, etc.) además se realiza una herramienta en Matlab que nos pueda permitir utilizar las bases de datos de institutos de investigación internacional como el MIT, para poder desarrollar investigación local en temas de potenciales eléctricos biológicos. I. Introducción El formato de datos Europeos (EDF - European Data Format) es uno de los más utilizados en equipos de registro de potenciales eléctricos biológicos. El formato EDF inicialmente fue diseñado para intercambiar registros electro-encefalograficos (EEG) de sueño [1] entre diferentes institutos y centros de investigación. Desde 1992 con la aparición del formato EDF, equipos EEG-digitales presentan en sus características este formato para almacenar registros EEG. En 2003 con la mejora a EDF+ [2] se puede soportar registro de señales (EDF), anotaciones, estímulos realizados, acontecimientos, análisis de resultados. Con estos agregados los archivos EDF+ pueden almacenar cualquier grabación médica como EMG, ECG, EOG1 . Registros EEG de: sueño, patologías, o algún otro registro EEG es compartido por instituciones médicas o institutos de investigación de todo el mundo en formato EDF/EDF+ para que pueda apoyar en estudios y desarrollo de nuevas tecnologías con BCI. En este trabajo se presenta en primera parte el estudio del formato EDF/EDF+, seguidamente se analiza la estructura de este protocolo, se continuara con el desarrollo de una herramienta que nos permita trabajar con este tipo de archivos extrayendo toda la información útil en el WorkSpace de MatLab y para terminar se utilizara la base de datos del CHB-MIT [3] para verificar el correcto funcionamiento de la herramienta desarrollada. 1 Electromiografía (EMG), Electrocardiograma (ECG), Electrooculograma (EOG)

El formato EDF fue considerado por primera vez en Copenhague en el "5th International Congress of Sleep Research” en 1987, la motivación principal de un grupo de ingenieros biomédicos en dicho congreso fue la de tener un formato abierto para almacenar e intercambiar registros EEG de larga duración. El desarrollo del formato EDF fue entre 1989-1992 en el programa “Methodology for the Analysis of the SleepWakefulness Continuum” financiado por la Comunidad Europea a través de su “Comité d’Action Concertee” (COMAC-BME). La finalidad era que laboratorios e institutos de investigación puedan aplicar sus algoritmos de análisis de sueño y poder comparar resultados obtenidos con sus similares geográficamente distantes, en Leiden (Marzo de 1990) se acordó un formato simple para intercambiar registros EEG de sueño, este formato se hizo conocido como el Formato de Datos Europeo EDF, en agosto de 1990 todos los laboratorios participantes ya habían aportado una grabación de sueño EDF al proyecto. El formato EDF se publico en 1992 [1] desde entonces se convierte en el estándar para grabaciones de EEG y PSG2 en equipos comerciales y proyectos de investigación. Puesto que se utiliza ampliamente el formato EDF para registros de EEG y grabaciones de sueño, este formato no ofrecía cabida a otras señales utilizadas en laboratorios de Neurofisiología Clínica, teniendo este objetivo pendiente. Esta fue la razón para crear el formato EDF+. El formato EDF+ fue desarrollado en 2002, y publicado en 2003 en Elsiever. Teniendo grandes mejoras a comparación del formato EDF, pudiendo soportar registros biológicos eléctricos y otros varios obtenidos por transductores. Las señales guardadas en EDF+ generalmente son: EEG, ECG, EOG, ERG, EMG, NC, MEG, MCG, EP, temperatura, Luz, Sonido. EDF+ también puede almacenar eventos y anotaciones únicamente sin ninguna señal. Esta flexibilidad permite al usuario poder registrar varios acontecimientos y anotaciones en un único archivo EDF+, esta es la razón de la diferencia entre archivos EDF y EDF+. El proto2 Polisomnografia

93

(PSG)

Journal - IEA 2014, Facultad de Ingeniería - UMSA

colo EDF+ permite el almacenamiento de varias graba- tanto el tamaño final del encabezado es de 256+(ns∗256) ciones No Contiguas en un solo archivo mientras que un bytes. archivo EDF almacena solo grabaciones ininterrumpidas. Debido a que EDF+ y EDF son muy similares, el software para EDF+ que se pudiera utilizar en lectura, escritura y edición puede ser desarrollado con relativa facilidad basado en software EDF. Software y utilidades para EDF y EDF+ están disponibles libremente y sin costo alguno en Internet, por ser un formato de codificación de información para intercambió y transporte. III. Estructura EDF El fichero EDF puede contener un registro poligráfico ininterrumpido multicanal. Los ficheros en la primera parte poseen un registro cabecera de longitud variable que identifica al paciente y las características técnicas de las señales registradas, en segunda parte están los registros de las señales EEG captadas por el equipo médico [4] [5]. A.

Cabecera

Figura 2: Estructura del encabezado y datos del formato EDF La información de las cadenas de caracteres ASCII empieza a la izquierda y es rellenado con espacios si no hubiera carga útil. Se recomienda además que la duración de cada registro de datos no exceda 61440 segundos (17.1 horas), de esta manera será correcta la visualización de la cabecera. En la cabecera podemos observar dos tipos de información:

La cabecera esta en formato ASCII y proporciona información general sobre la configuración de la adquisi1) Encabezado global: ción y el registro de los datos figura 1. La información proporcionada por esta cabecera es la identificación del Presenta toda la información referente al equipo y papaciente, fecha y hora de comienzo, el número y dura- ciente atendido. ción de los datos registrados, el número de señales y la etiqueta individual de cada canal. Nombre Función Tamaño(bytes) Pauta Versión

Nombre Grabación Fecha Hora Encabezado Reservado Muestras

Duración Nro. Canales

Figura 1: Datos presentados en la cabecera

Versión del formato de datos Nombre del paciente al cual pertenece el EEG Código o nombre de identificación de la grabación Presenta la fecha de la grabación Presenta la hora de inicio de grabación Número de bytes en registro de Cabecera Espacio reservado El número de datos o muestras tomadas(-1 si no se conoce) Muestra la duración y/o escala de tiempo Número de canales guardados(ns)

8

0

80

0

80 8

dd.mm.aa

8

hh.mm.ss

8 44 8

8 4

El tamaño de la cabecera es de 256 bytes seguido de otro bloque o encabezado variable de 256 bytes para cada 2) Cabecera de la(s) señal(es): canal del registro figura 2. En cada cabecera de bloque de cada canal se especifican atributos como el tipo de señal, Presenta la información referente a cada señal adquicalibración, y el número de nuestras por registro. Por lo rida con el equipo poligráfico. 94

Journal - IEA 2014, Facultad de Ingeniería - UMSA Nombre Canales Electrodos Escala Amplitud Mínima Medición Máxima Medición Mínima Escala Máxima Escala Pre Filtrado Muestreo Reservado

B.

Función Presenta la identificación (nombre) de todos los canales Presenta el tipo del transductor utilizado en cada canal Escala de datos de cada señal. Mínima Medición física posible Máxima Medición física posible Amplitud Mínima Digital de Medición Amplitud Máxima Digital de Medición Si se utilizo un filtrado al tomar la Medición Presenta la Frecuencia de Muestreo Espacio reservado

Tamaño(bytes) 16*ns 80*ns 8*ns 8*ns 8*ns 8*ns 8*ns 80*ns

Ejemplo Fpz-Cz, temperatura electrodos AgCl, electrodo Au µV,mV,V,degree C -1200, -500, 37 1200, 500, 40 -5500, -2500, 0 5500, 2500,100 HP=0,1 Hz ; LP=75 Hz

almacenadas en el archivo EDF, además se obtiene la matriz que contiene todas las muestras almacenadas en el archivo EDF, siendo las dimensiones de la matriz: [número de canales x (M uestras ∗ F s)]

V. Pruebas y mediciones en Matlab Se trabaja con el archivo chb24_01.edf [3] para la realizar todas las pruebas presentadas en esta sección.

8*ns 32*ns

Datos

Los registros poligráficos que muestran la actividad eléctrica del encéfalo se almacena en este segmento, tiene la característica de que cada registro de cada canal se almacena en forma intercalada, teniendo una longitud variable dependiendo del número de canales que almacena el archivo EDF. Para realizar la correcta lectura del registro poligráfico almacenado, se debe de considerar el factor de escala aplicado considerando la mínima y máxima amplificación física o digital, para realizar un correcto escalado se debe de acudir a datos del encabezado como las medidas máxima y mínima además de la amplificación digital. Además se considera el Offset incluido, siguiendo para estos puntos las siguientes fórmulas:

Figura 3: Cabecera y datos, obtenidos del archivo CHB24_01.EDF Como se aprecia en la figura 3, se pueden trabajar con canales individuales o con la matriz que contiene todos los canales, teniendo estos datos en el WorkSpace de MatLab se puede realizar todo el análisis matemático que se desee. VI. Conclusiones y mejoras

M áxima M edición − M ínima M edición Escalado M áximo − Escalado M ínimo

Como se observa tan solo se trabajo en archivos EDF, una mejora al programa sería el de poder observar las Of f set = M áxima M edición−F actor de Escala∗Escalado M áximo anotaciones incluidas en archivos EDF+. Aunque los archivos EDF son un estándar actual en diConsiderando el factor de escala y el nivel DC añadido ferentes registros de bio-señales, el archivo presentado se a cada medición, los datos resultantes serán adaptados lo probo tan solo en archivos EEG y no así en otra gama de señales, un siguiente paso sería mejorar el programa siguiendo esta fórmula: y que pueda dar lectura a diferentes archivos poligráficos sea cualquiera sus datos almacenados. F actor de Escala =

M uestra Real = M uestra Almacenada ∗ F actor de Escala + Of f set

Referencias IV.

[1]

Programa en Matlab

Se presenta el código que puede extraer la carga útil de los archivos EDF, es una rutina necesaria cuando se desea trabajar con bases de datos de grabaciones EEG [3] de centros de investigación disponibles en Internet. El programa realizado muestra el encabezado; figura 1, con la información necesaria del paciente y de las señales 95

Agostinho C. Rosa Kim D. Nielsen Bob Kemp Alpo Varri y John Gade. “A simple format for exchange of digitized polygraphic recordings”. En: Electroencephalography and Clinical Neurophysiology. Ed. por Elsevier. Vol. 82. 1992, págs. 391-393 (vid. pág. 1).

Journal - IEA 2014, Facultad de Ingeniería - UMSA

[2]

Bob Kemp y Jesus Olivan. “European data format ’plus’ (EDF+), an EDF alike standard format for the exchange of physiological data”. En: Clinical Neurophysiology. Vol. 114. 2003, págs. 1755-1761 (vid. pág. 1).

[3]

PhysioNet. Children’s Hospital Boston (CHB) and the Massachusetts Institute of Technology (MIT). Ed. por MIT. url: http://www.physionet.org/ physiobank/database/ (vid. págs. 1, 3).

[4]

Bob Kemp. European Data Format. 2003. url: http://www.edfplus.info (vid. pág. 2).

[5]

Jesus Olivan Palacios. Some introductory notes to EDF+. 2003. url: http://www.neurotraces.com (vid. pág. 2).

96

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Sistema de desarrollo para la programación de PLC usando Redes de Petri en el modelo de Control Pedro Mateo Hinojosa Miranda

Jorge Antonio Nava Amador

Abstract El artículo describe el diseño y funcionamiento de un sistema de desarrollo para la programación del Controlador Lógico Programable (PLC), mediante el modelado conceptual del proceso, por Redes de Petri Interpretadas para Control (RPIC), las cuales son una extensión de las Redes de Petri (RP), cuyas principales características incluyen la representación de señales de entrada y salida, arcos habilitadores y temporización. Este sistema de desarrollo provee una fácil alternativa para el diseño de programas de control de Sistemas a Eventos Discretos (DES), debido al uso de RP en el modelado de la lógica de control, aspecto que simplifica la descripción del comportamiento dinámico del sistema. Por otro lado, al ser las RP una herramienta de modelado cuya representación gráfica es sencilla, se tiene un herramienta con poca demanda de aprendizaje y alta comprensión respecto a otras técnicas de desarrollo de programas para PLC.

ción no han cambiado; lenguajes definidos por el estándar IEC 61131 – 3, que define 5 lenguajes: Diagramas Ladder, Lista de Instrucciones, Diagramas de Funciones, Texto Estructurado y Grafcet. De los cuales los Diagramas Ladder son los más utilizados por su característica gráfica que facilita el desarrollo de sistemas de control simples, pero se ven limitados cuando se trabajan con sistemas más complejos. En la actualidad los procesos exigen que se gobiernen distintas actividades y tareas, que además deben realizar acciones coordinadas, por lo tanto muestran elevada complejidad a la hora de pretenderse abordar con LD, puesto que se requiere la sincronización y la ejecución de tareas paralelas, las cuales son complicados de abordar con este lenguaje.

Por otro lado las RP constituyen un excelente método para el modelado e implementación de sistemas a eventos discretos, puesto que describen de manera clara y detallada, el comportamiento dinámico del sistema, además constituye una excelente herramienta para el modelado procesos tales como el paralelismo y sincronización, los El sistema de desarrollo se implementó, complecuales se encuentran presentes en gran número de procementando una plataforma ya existente, usando sos industriales. Sin embargo, teniendo en cuenta que la Java como lenguaje de programación; Se proporimplementación de sistemas de control está condicionada ciona una interfaz gráfica para el modelado del a la interacción del sistema con elementos externos, se haproceso mediante RPIC, una descripción matece evidente la necesidad de extender las funcionalidades mática del modelo mediante arreglos matriciales de las Redes de Petri, puesto que si bien estas describen y una interfaz para la visualización del programa claramente la dinámica de un sistema, no proveen inforde control generado, programa que consiste en mación del momento en que el sistema evoluciona de un Diagramas Ladder (LD). estado a otro, y tampoco proveen herramientas para la representación de los elementos de periferia. Es así que Keywords – Redes de Petri; Automatas Propara el desarrollo del sistema se hace uso de RPIC. gramables; PLC; Sistemas a Eventos Discretos. Bajo esa lógica se propone un Sistema de Desarrollo que a partir del modelado del proceso con RPIC, geneEl Controlador Lógico Programable - PLC, es un dis- re el Diagrama Ladder para incorporarlo como lógica de positivo ampliamente empleado en la automatización de control en un autómata, simplificando con ello el dificulprocesos industriales, y aunque ha evolucionado constan- toso proceso de programar directamente con diagramas temente desde su aparición, los lenguajes de programa- Ladder. I. Introducción

97

Journal - IEA 2014, Facultad de Ingeniería - UMSA

II. Planteamiento del Problema

del sistema a eventos discretos.

El constante crecimiento de la complejidad de los sistemas automatización, hace que el desarrollo de programas de control con Diagramas Ladder se torne cada vez más complicada. Además la falta de métodos formales para el diseño de controladores mediante LD se realiza con métodos heurísticos que se apoyan en gran medida en las habilidades y pericia del programador. Como resultado no se obtienen soluciones rápidas y los programas generados normalmente no son fáciles de comprender. Por otro lado se tiene que el lenguaje gráfico simbólico conocido como Diagramas Ladder, es el más utilizado en el desarrollo de programas para autómatas; este método sobresale por su simplicidad y similitud a los diagramas de circuitos eléctricos de contactos, sin embargo esta simplicidad no se ve reflejada cuando se desarrollan sistemas de control complejos que implican ciertos eventos específicos tales como la concurrencia, el sincronismo y la secuencialidad, que aunque no son imposibles de implementar en Diagramas Ladder, resulta bastante complicado para el diseñador concebir y ajustar un diseño de forma ágil y sencilla de este tipo de controladores. Adicionalmente, el diseño de Diagramas Ladder al no estar apoyado en métodos formales, se realiza mediante acondicionamiento y ajuste de configuraciones básicas hasta alcanzar el desempeño deseado, lo cual produce: • Soluciones altamente dependientes del razonamiento lógico del programador. • Alto tiempo de desarrollo y ajuste del controlador. • Dificultad en el mantenimiento y reconfiguración del controlador. Por otro lado, si bien ciertas marcas de autómatas permiten emplear herramientas gráficas más estructuradas para la implementación de los sistemas secuenciales, como el Grafcet, rara vez van más allá, y no se encuentran aplicaciones para trabajar directamente con otras herramientas de más alto nivel, como son las RP, y aunque existen diversas aplicaciones informáticas para el diseño, edición y análisis de RP que especifican sin ambigüedades las propiedades estructurales y el comportamiento dinámico del sistema que se desea controlar y están provistas de herramientas de análisis mediante la validación de sus propiedades, lo que garantiza la robustez del diseño, estas aplicaciones no cuentan con módulos que permitan la relación directa de los diseños elaborados a un lenguaje normalizado de programación de PLC.

• Desarrollar un módulo para la generación automática de Diagramas Ladder a partir del modelo del sistema realizado con RPIC Dada la extensión del alcance propuesto, se pretendió realizar un prototipo del sistema de desarrollo, que contemple las funcionalidades mínimas que permitan la generación de programas de control a partir del modelado del proceso con RPIC. IV. Definiciones Básicas En esta sección se presentan las definiciones básicas de las RP y RPIC, las cuales han sido utilizadas en el desarrollo del proyecto, y que para entender el trabajo es necesario hacer referencias a ellas. A.

Se sabe que la teoría inicial de las RP fue postulada por el alemán Carl Adam Petri, la cual consiste en una herramienta gráfica para la descripción formal de sistemas, además permite la representación matemática de los mismos y esta provista de métodos para el análisis de las propiedades dinámicas y estructurales del sistema especificado. La principal aplicación de las redes de Petri es el modelado y análisis de sistemas. 1)

Representación Gráfica

La representación gráfica de las RP es bastante útil para la comprensión del proceso que está siendo especificado. Una RP está formada por dos tipos de elementos básicos, los cuales son las transiciones que son elementos activos y por otro lado tenemos, los lugares, que corresponden a elementos pasivos. Los lugares representan a las variables de estado que conforman un sistema, y las transiciones representan los eventos y acciones que son ejecutadas por el sistema. Para la ejecución de una acción se deben cumplir con ciertos requisitos o precondiciones, las cuales están asociadas a los estados del sistema; por tanto, se observa que existe una relación entre los lugares y las transiciones que posibilitan la ejecución de la acción. Asimismo, después de la ejecución de una acción la información de algunos lugares también cambiara debido a que corresponden a post condiciones de la acción. Gráficamente los lugares están representados por círculos y las transiciones por líneas o figuras rectangulares. 2)

III. Alcance

Redes de Petri

Representación Matricial

La representación matricial de las RP posibilita el análisis formal de las propiedades estructurales y dinámicas del sistema. Según este punto de vista la RP está formado por un conjunto de lugares P, un conjunto de Transicio• Desarrollar un módulo para la representación ma- nes T, una matriz de entrada a las transiciones I y una temática de las RP, la cual describe la dinámica matriz de salida de las transiciones O, los cuales reciben • Desarrollar una interfaz gráfica con elementos suficientes para el modelado de sistemas a eventos discretos mediante RPIC.

98

Journal - IEA 2014, Facultad de Ingeniería - UMSA

el nombre de matriz de incidencia previa y matriz de incidencia posterior respectivamente. Ambas matrices son arreglos bidimensionales en los que las columnas representan las transiciones, las filas los lugares y las celdas la conexión entre ambas. Las matrices de entrada y salida representan las precondiciones y post condiciones del sistema respectivamente, en ellas se observa las condiciones necesarias para realizar el disparo de una transición. 3)

Red de Petri Marcada

La marcación es un concepto fundamental en las RP, la cual consiste en una función que asigna a cada lugar un valor entero no negativo (marca). Las marcas son informaciones atribuidas a cada lugar, y el número y distribución de marcas representa la marcación (estado) de la red en un determinado momento. El marcado gráficamente se representa mediante puntos en los lugares y matricialmente son representados por un vector cuyo número de componentes corresponde al número de lugares de la red. Asimismo es importante señalar que una Red de Petri Marcada debe contar con una marcación inicial (M0), para que a partir de este se puedan encontrar nuevos marcados con cada uno de los disparos de las transiciones. La presencia de marcas en un determinado lugar se pude interpretar como la disponibilidad de recursos de un determinado tipo. Vale la pena resaltar que el marcado de la Red de Petri representa el estado en que esta se encuentra. 4)

Dinámica de las Redes de Petri

La dinámica de transición de estados en las RP viene representada por el cambio en la posición de las marcas de la red, este cambio hace que el marcado de la red cambie consecuentemente también cambiará el estado de la misma. El marcado de la red cambia con el disparo de las transiciones, asimismo una transición puede disparar cuando esta se encuentra sensibilizada vale decir que en los lugares de entrada a esta transición deben existir igual o mayor número de marcas que el valor correspondiente al peso de los arcos que unen estos lugares con la transición. Es importante señalar que la marcación habilita una transición para disparar pero no la obliga. El disparo de una transición retira marcas de los lugares origen y deposita marcas en los lugares de destino, lo cual modifica la distribución de marcas de la red y consecuentemente el estado en que se encuentra. B.

Redes de Petri Interpretadas para Control

“control” cuando se tienen sistemas que se encuentran condicionados o por el tiempo o por la ocurrencia de un evento. Para poder modelar sistemas controlados por autómatas, las RP han sido extendidas, para ser capaces de procesar eventos lógicos que condicionan el disparo de las transiciones, así como también para definir atributos temporales y funciones asociadas a los lugares, lo cual permite interactuar con los elementos periféricos al proceso. Este tipo de Redes de Petri constituyen una de las extensiones de las RP y son denominadas en general como Redes de Petri Interpretadas, de las cuales se tienen una amplia variedad. Estas redes se caracterizan por que los eventos y las condiciones se definen sobre variables booleanas. Las RPIC son un tipo particular de Redes de Petri Interpretadas, las cuales fueron propuestas por David & Alla. Estas Redes han sido extendidas para interactuar con información externa al sistema los cuales son captados por sensores y se ejecutan por elementos actuadores. La información con la que el sistema puede interactuar debe ser de naturaleza booleana, lo cual representa a un conjunto de eventos que son condiciones asociadas a las transiciones, las cuales condicionan la evolución de la red. Por otro lado, esta red también es capaz de enviar información a los dispositivos responsables de ejecutar las operaciones en el medio externo al sistema. También están diseñadas para poder operar, procesar e interpretar señales sin duración temporal tal como los cambios de nivel, los cuales están presentes por lo general en muchos sistemas de control diseñados. Las RPIC, poseen las siguientes características: • Sincronizadas por eventos externos • Segura • Determinística En este tipo de redes el disparo de las transiciones no está condicionado únicamente a las marcas que contienen los lugares que forman parte del conjunto de entradas a la red, sino también se deben cumplir con todas las condiciones asociadas a las transiciones las cuales representan eventos externos al sistema obtenidas por medio de sensores, estas condiciones pueden ser de nivel o de flanco. Como las RPIC son seguras, el número máximo de marcas asignados a los lugares no puede ser más de uno, por otro lado se tiene que, al ser una red determinística, esta debe estar libre de conflictos los cuales pueden resueltos mediante: La asignación de condiciones mutuamente excluyentes entre las transiciones en conflicto, mediante la asignación de prioridades en el disparo de las transiciones o mediante el uso de arcos inhibidores en las transiciones en conflicto.

Las redes de Petri Autónomas son bastante útiles paV. Metodología de Conversión ra modelar la dinámica de los DES, no obstante en este tipo redes no se definen elementos para interactuar con Diversas metodologías han sido propuestas para la geelementos de periferia, ni incluyen conceptos temporales, neración de código para autómatas programables a partir por tanto no son óptimas para el modelado adecuado en del modelado conceptual de un proceso mediante RP, no 99

Journal - IEA 2014, Facultad de Ingeniería - UMSA

obstante se hizo uso de la metodología propuesta por Moreira, Botelho y Basilio, la cual hace uso de RPIC para la generación de Diagramas Ladder, método que consiste en cinco módulos para garantizar un adecuado desempeño del controlador. A. Módulo de Inicialización Se hace uso del vector de marcado inicial M0 para formar la primera línea del LD, que consiste en las condiciones iniciales asociadas al controlador. Este módulo consiste en un contacto normalmente cerrado (NC) asociada con una variable binaria interna del PLC por tanto en este ciclo se energizarán todas las bobinas asociadas con los lugares que inicialmente poseen una marca. Una vez concluido el primer ciclo de barrido del autómata el contacto normalmente cerrado será abierto, lo cual producirá el efecto deseado de no volver a ejecutar nuevamente ese ciclo dado que únicamente son condiciones iniciales.

la cual, la implementación en LD de este módulo se hace uso de la matriz de incidencia. Este módulo energiza las bobinas correspondientes a las los lugares que son post condiciones de la transición habilitada para disparar y des energiza las bobinas asociadas los lugares que corresponden a las precondiciones de la transición. E.

Módulo de Acciones

Este módulo hace una revisión del conjunto de lugares para determinar las funciones asociadas a los mismos los cuales pueden ser de nivel o impulsionales, para posteriormente asignar una bobina de salida a cada lugar que tenga definido una acción. VI. Especificación de Requerimientos

Para lograr el alcance propuesto, resulta necesario definir el conjunto de funcionalidades con las que el sistema estará provisto. Estas se describen a continuación: B. Módulo de Eventos • Crear Red de Petri. Consiste en la construcción de la representación gráfica de la misma, vale deEste módulo está relacionado con la ocurrencia de cir dibujar los lugares, transiciones, arcos, asignar eventos que son captados por los sensores, estos eventos marcas y funciones a los lugares y definir temposon interpretados como cambios de nivel en las señales rización y condiciones en las transiciones. que recibe el controlador, los cuales pueden ser de subida o bajada. También es necesario señalar que estos even• Editar Red de Petri. Posibilidad el ajuste de la tos son parte de las condiciones que habilitan el disparo Red de Petri previamente creada, lo cual include una transición. Se utiliza un contacto normalmente ye: mover elementos, borrar elementos y redefinir abierto (NA) para describir que el evento corresponde a marcas, funciones, temporización y condiciones. un borde de subida y un contacto normalmente cerrado • Guardar Red de Petri. Permite guardar el diseño para representa bordes de bajada. También se utiliza un elaborado, en un archivo con formato XML. contacto con la instrucción OSR, cuya función es la de • Abrir Red de Petri. Permite abrir un diseño predetectar cambios de nivel en las señales de entrada del viamente guardado, con el formato especificado. controlador. • Generar Arreglos Matriciales. Permite estructurar y crear los diferentes arreglos matriciales que forC. Módulo de Condiciones man parte de la representación matricial de la Red Este módulo representa en LD todas las condiciones de Petri, los cuales son: Vector de marcado inicial, asociadas al disparo de transiciones las cuales están formatriz de incidencia previa, matriz de incidencia madas por el conjunto de eventos, condiciones, represenposterior y matriz de incidencia. tadas por variables booleanas definidas sobre las transi• Generar Tablas. Permite generar dos tablas, una ciones, y la matriz de incidencia, la cual representa las que contienen la información de cada uno de los condiciones propias de la dinámica del sistema. lugares creados y sus funciones asociadas y otra Para transiciones que tienen asociadas retraso, se utique contiene la información de las transiciones delizan temporizadores en el cual el valor de retardo en finidas junto a su temporización y condiciones asoel “PRESET” es el mismo que el retardo asignado a la ciadas. transición. Por tanto es evidente que el tiempo es tam• Generar Código. Permite la generación de Diagrabién una condición de disparo. Lo cual produce que el mas Ladder, a partir del modelado conceptual de temporizador energice una bobina cuando haya alcanzaun proceso con el editor gráfico implementado. do el tiempo de retardo. D.

VII. Arquitectura del Sistema

Módulo de la Dinámica de la Red de Petri

Este módulo se encarga de la actualización del estado La figura 1 muestra la arquitectura del sistema, la cual de la RP tras el disparo de una transición. Lo cual se consiste en tres capas, en la cual los bloques que lo comdescribe con la ecuación de estado de la red. Razón por ponen representan los servicios que forman parte del sis100

Journal - IEA 2014, Facultad de Ingeniería - UMSA

tema de desarrollo, en los cuales se implementan todas F. Generador de Código las funcionalidades que forman parte del análisis de reEste servicio consiste en la generación de cinco móquerimientos. dulos independientes, con una parte de código que se pretende generar en cada uno, estos módulos se forman tanto de los arreglos matriciales como de las tablas previamente generadas. G.

Generador de Código

El almacenamiento de los datos del sistema se lo realizará en archivos XML con el objetivo de hacer más portables los diseños realizados con esta herramienta. VIII. Implementación del Prototipo El prototipo de la aplicación informática previamente diseñada, fue implementado utilizando Java como lenguaje de programación, por ser esta una herramienta que cuenta con excelentes recursos para la programación A. Diseño orientada objetos. Por otro lado, el formato utilizado para el almacenamiento de los datos definidos en la aplicaEste servicio permite la interacción del usuario con el ción, es el XML. sistema para realizar el modelado de sistemas mediante RP, para esto el sistema contempla todos los escenarios previamente analizados en la especificación de requeriIX. Descripción del Sistema mientos. Figura 1: Arquitectura del Sistema

El sistema de desarrollo está compuesto por la barra menú, la barra de herramientas y un conjunto de pestañas en las cuales se visualiza, la representación gráfica Este servicio permite al usuario modifica o ajustar el de la RPIC, la representación matricial, las tablas de diseño previamente definido, entre las funcionalidades condiciones y funciones y los LD generados. La figura 2 que posee se encuentra la opción de mover elementos, bo- Muestra la interfaz gráfica desarrollada. rrar Elementos, reasignas marcas y funciones a lugares y finalmente la reasignación de temporización y condiciones a las transiciones. B.

Edición

C. Gestor de Elementos Este servicio es el encargado de realizar la obtención, actualización y la retención temporal de los datos que están siendo usados en la aplicación. D.

Generador de Matrices

Este servicio tiene el objetivo de generar todos los arreglos matriciales que representan la forma matemática de las RP. E.

Generador de Tablas

Figura 2: Interfaz Gráfica

A. Barra de Herramientas Este servicio es el encargado de ordenar los lugares y las transiciones definidas en tablas, para así mostrar de La barra de herramienta se muestra en la Fig. 3, la forma más ordenada las funciones y condiciones asigna- cual contiene los elementos suficientes para el diseño de das a los elementos creados. una RPIC. 101

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Figura 3: Barra de Herramientas Entre las funciones que contiene se encuentra: • Crear Nuevo Archivo • Guardar Archivo • Abrir Archivo

Figura 5: Tablas de Descripción

• Definir Lugar • Definir Transición

E.

• Definir Arco Simple

Código Generado

El código generado corresponde al lenguaje de Diagramas Ladder, el cual se visualiza en la última pestaña de la interfaz gráfica, La figura 6 muestra un segmento del programa generado.

• Definir Arco Habilitador B. Ventana de Edición La ventana de edición consiste en el área donde el usuario podrá realizar la representación gráfica de la RP, esta se muestra en la figura 2, en la cual se encuentra un gráfico diseñado con esta herramienta. C.

Representación Matricial

La pestaña de representación matricial, genera todos los arreglos matriciales que representan a la RP como se muestra en la figura 4.

Figura 6: Código Generado X. Apliación

Figura 4: Representación Matricial D.

Tablas de Descripción

En este punto se muestra la aplicación de esta herramienta, para el modelado de un sistema automatizado para la destilación de agua por termo-comprensión; proceso que consiste en la separación de contaminantes disueltos mediante la evaporación del agua, que posteriormente es condensada para obtener agua destilada. A.

Descripción de los Componentes del Sistema

En esta pestaña se muestra de manera ordenada, las El sistema está compuesto por un conjunto de elemencondiciones de disparo definidas sobre las transiciones y tos que hacen posible la interacción de tres procesos dilas funciones definidas en los lugares figura 5 ferentes: Control de nivel del agua en el tanque, control 102

Journal - IEA 2014, Facultad de Ingeniería - UMSA

de temperatura, y finalmente el control de vacío. La figura 7 muestra un diagrama con todos los elementos que forman parte de este sistema. 1)

1)

Las señales de entrada, proveniente de los sensores incorporados, son asignadas a como condiciones de disparo a las transiciones, las cuales se especifican en la tabla 1.

Control de Nivel

Condiciones S N T1 T2 V

El control de nivel se realiza mediante los siguientes elementos: • Sensor de Nivel. Este sensor consiste en un flotador que entrega un nivel lógico alto, cuando el agua alcanza la altura de referencia, y nivel lógico bajo cuando la altura del agua está por debajo del nivel de referencia. • Bomba de Agua. La bomba de agua inicia su funcionamiento con un nivel lógico alto de tensión. La cual es enviada por una de las salidas digitales del PLC. 2)

Control de Temperatura

Descripción Switch de encendido Sensor de nivel Sensor de temperatura baja Sensor de temperatura alta Sensor de vacío

Tabla 1: Especificación de los marcadores.

2)

Descripción de las Señales de Salida

Las señales de salida son las responsable de poner en funcionamiento los elementos actuadores del sistemas, estas se describen en la tabla 2. Funciones BA R1 R2 BL

El control de temperatura se realiza mediante la interacción de los siguientes elementos: • Sensor de Temperatura. Es necesario un circuito de acondicionamiento para establecer la temperatura de referencia, para el cual el sensor entregará un nivel lógico alto.

BH

• Resistencias Eléctricas. Consiste en un conjunto de tres resistencias que deben ser alimentadas. Por otro lado dos de estas resistencias están en funcionamiento continuo, y la tercera se pone en funcionamiento cuando la temperatura del sistema es menor a la temperatura de referencia.

VS

Descripción Encender bomba de agua Encender resistencia eléctrica 1 Encender resistencia eléctrica 2 Encender bomba de vacío en velocidad baja Encender bomba de vacío en velocidad alta Abrir válvula de salida

Tabla 2: Descripción de las Condiciones.

3) 3)

Descripción de las Señales de Entrada

Descripción de los Estados del Sistema (Lugares)

Control de Vacío

La tabla 3 muestra la descripción de los diferentes lugares definidos para modelar el sistema mediante RPIC, El control de vacío se realiza con los siguientes elemen- así como también el estado que cada uno de estos lugares tos: representa y las funciones asignadas, funciones que son • Sensor de Vacío. Consiste en un vacuostato, el cual representadas mediante variables de tipo booleano. entrega un nivel lógico alto a la entrada del PLC cuando se alcanza el valor de referencia. 4) Descripción de Eventos del Sistema (Transicio• Bomba de Vacío. La bomba de vacío estará en funnes) cionamiento durante todo el proceso, simplemente En la tabla 4 se muestra el conjunto de transiciones, se ajustará a dos velocidades distintas dependienlas cuales por un lado corresponden al conjunto de todos do de la señal recibida por el sensor de vacío, lo los escenarios que se pueden dar en el sistema, y por otro cual se conseguirá mediante la conexión de un valado corresponden a los eventos que permitirán al sistema riador de frecuencia a este dispositivo. evolucionar de un estado a otro. B. Modelado del Controlador

5)

El sistema de control está constituido por un conjunto sensores que se traducen en condiciones asociadas a transiciones que sirven para modificar el comportamiento del proceso.

Representación Gráfica del Modelo del Controlador

El diseño de la RPIC que describe el controlador del sistema se realiza en base al sistema de desarrollo implementado, en el cual se recogen todas las consideraciones

103

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Figura 7: Diagrama Técnico del Destilador Lugar P1 P2 P3 P4 P5

Función BA

Descripción

• Transiciones, representados por los rectángulos.

Sistema apagado Llenando tanque Tanque lleno Resistencias Apagadas Resistencia eléctrica R1 encendida Resistencia eléctrica R2 encendida Bomba de vacío apagada Bomba de vacío encendida velocidad baja Bomba de vacío encendida velocidad alta Válvula de salida cerrada Válvula de salida abierta

• Arcos Simples, representados por las líneas con círculos rojos al final.

• Arcos Habilitadores, representados por las líneas con círculos azules al final. R1 Para la definición de las condiciones de disparo en la transiciones y asignación de funciones y marcado inicial P6 R2 en los lugares, el sistema está provisto de ventanas auxiliares que son activadas mediante un click derecho en P7 cada uno de los elementos. P8 BL La Condiciones son definidas mediante la asignación de variables en las transiciones, los cuales pueden ser de P9 BH 4 tipos: Flanco de subida, flanco de bajo, variables de nivel alto y variables de nivel alto. La figura 9 muestra P10 las opciones para definir las condiciones P11 VS Las funciones son definidas mediante la asignación de Tabla 3: Lugares y Funciones asociadas variables en los lugares, los cuales son únicamente de nivel alto. Las marcas que corresponden a las condiciones iniciales del sistema se definen mediante la asignación de realizadas previamente. La figura 8 muestra el diseño rea- un número, el cual por ser una RP segura solo puede ser lizado en el cual se definieron: uno o cero. La figura 10 muestra la ventana para realizar • Lugares, representados por los círculos. estas asignaciones. 104

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Transición t1 t2

Condición S N

t3

!N

t4

!T1!T2

t5

↓T2

t6

↓T1

t7

T2

t8

T1

t9

T1

t10

!T1

t11

!V

t12

V

t13

↓T1

t14

T1

t15

↓T1

t16, T17, T18, T19, T20, T21, T22

!S

Descripción Encender sistema Apagar bomba de agua Encender bomba de agua Encender resistencia eléctrica R1 Encender resistencia eléctrica R2 Encender resistencia eléctrica R1 Apagar resistencia eléctrica R2 Encender resistencia eléctrica R2 Encender bomba de vacío en velocidad baja Apagar bomba de vacío Aumentar velocidad de la bomba de vacío Disminuir velocidad de la bomba de vacío Apagar bomba de vacío Abrir válvula de salida Cerrar válvula de vacío Apagar el sistema

Figura 8: Diagrama Técnico del Destilador

Figura 9: Ventanas para Definición de Condiciones

Figura 10: Ventana para Definición de Marcas y Funciones

Tabla 4: Transiciones y condiciones asociadas

6)

7)

Representación Matricial del Modelo del Controlador

Código Generado

En la figura 15 se muestra parte código generado que gobierna la lógica de control del PLC, a partir del modelo La representación matricial está compuesta por un realizado con RIPC. conjunto de 4 arreglos matriciales, los cuales son mostrados en las figuras 11, 12, 13, 14. XI. Conclusión

Figura 14: Ventana para Definición de Marcas y Funciones

Se realizó el diseño de un sistema de desarrollo para la programación de PLC, en el cual el modelado del controlador se lo realiza mediante Redes de Petri, para posteriormente generar de manera automática los Diagramas Ladder que serán implementados en el PLC, lo

105

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Figura 11: Ventana para Definición de Marcas y Funciones

Figura 15: Ventana para Definición de Marcas y Funciones

Figura 12: Ventana para Definición de Marcas y Funciones

la falta de una metodología clara en el proceso de diseño. Lo cual entre las produce altos tiempos de desarrollo y gran dependencia a la lógica del programador. Por otro lado entre las ventajas del modelado de sistemas de control a eventos discretos mediante Redes de Petri se tienen: • Facilidad en la especificación formal del proceso. • Cuenta con elementos gráficos para representar fácilmente la dinámica de un proceso. • Provee métodos de análisis del sistema mediante la validación de sus propiedades. Lo cual garantiza el apropiado desempeño del controlador.

• Facilita el mantenimiento y reconfiguración del controlador debido a la fácil comprensión que se tiene del modelo. El sistema desarrollado genera Diagramas Ladder como lógica de control para la programación del PLC, dado que este lenguaje tiene un amplio uso en el desarrollo de proyectos con Autómatas Programables, además de ser el lenguaje que todo fabricante de PLC proporciona para la programación de sus dispositivos. Figura 13: Ventana para Definición de Marcas y FuncioEntre las restricciones que presenta el diseño de sistenes mas de control con esta herramienta se tienen: • El prototipo implementado no considera el diseño de sistemas que contengan elementos temporizacual simplifica el dificultoso proceso de diseño del condores y contadores. trolador directamente con Diagramas Ladder, el cual no presenta la misma simplicidad en el diseño de sistemas • No se consideraron procesos que involucren operaciones aritméticas en el diseño del sistema. de control complejos como las Redes de Petri, debido a 106

Journal - IEA 2014, Facultad de Ingeniería - UMSA

Sin embargo el prototipo implementado permite cubrir [17] G. Zapata y E. Carrasco. Estructuras generalizalas principales funcionalidades consideradas en el análisis das para controladores lógicos modeladas mediante de requerimientos, y constituye una opción más simple redes de Petri. 2002. para el desarrollo de sistemas de control en Controladores Lógicos Programables. Referencias [1]

Juan Felipe Medina Arboleda. Manual técnico de programación de micro PLC’s Siemens S7-200 basado en modelos de Redes de Petri bajo el lenguaje de programación KOP. 2011.

[2]

M. Baigorri, E. Jiménez y E. Baigorri. Análisis y aplicación informática para implementación sobre PLC de sistemas automáticos desarrollados con herramientas de alto nivel. 2003.

[3]

M. Brito y J. Giraldo. Metodología para diseño de circuitos Ladder con base en sistemas secuenciales y combinacionales. 2010.

[4]

J. Cardoso y R. Valette. Redes de Petri. 1997.

[5]

José Eduardo Ribeiro Cury. Teoria de controle supervisório de sistemas a eventos discretos. 2001.

[6]

R. David y H. Alla. Discrete, Continuous, and Hybrid Petri Nets. 2005.

[7]

H. Gutiérrez y A. Muñoz. Generación de diagramas Ladder mediante el uso de redes de Petri difusas. 2013.

[8]

G. Klein y M. Frey. PLC programming with signal interpreted Petri nets. 2003.

[9]

Germán Darío Zapata Madrigal. Diseño de automatismos secuenciales para controladores lógicos programables. 2007.

[10]

P. Martins, R.Dueire y P. Freire. Intordução às Redes de Petri e aplicações. 1996.

[11]

M. Moreira, S. Botelho y J. Basilio. Ladder Diagram implementation of Control Interpreted Petri Nets: A state equation approach. 2009.

[12]

A. Orozco, C. Guarnizo y M. Olguín. Automatismos industriales. 2008.

[13]

C. Robles y D. Jaimes. Revisión bibliográfica de las técnicas que relacionan la lógica de programación de red de Petri con la lógica de programación de escalera para la implementación de sistemas automatizados de control. 2011.

[14]

R. Sanchis, J. Romero y C. Ariño. Automatización industrial. 2010.

[15]

Rafael Pentagna Silvestre. Implementação em Ladder de sistemas de automação descritos por redes de Petri interpretadas para controle. 2010.

[16]

M. Uzam y A. Jones. Discrete event control system design using Automation Petri Nets and their Ladder Diagram implementation. 1998. 107

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.