El uso de las TIC´S como herramienta de simulación de una red neuronal en motores de corriente continúa como sistema de control

 

Humberto Dorantes Benavidez[1]

[email protected]

https://orcid.ord/0000-0003-1490-1873

 

Aldo Miguel Zarate Santiago

[email protected]

https://orcid.ord/0000-0002-4510-9363

 

Alfredo Trejo Martínez

[email protected]

https://orcid.ord/0000-0001-6555-2285

 

 

Marco Antonio Acosta Mendizábal

[email protected]

https://orcid.org/0000-0002-7408-9808

 

Felipe de Jesús Dorantes Benavidez

[email protected]

https://orcid.ord/0000-0001-6145-0038

TecNM- TESOEM, Área de Investigación y Posgrado

Los reyes la paz, Estado de México.

 

 

 

 

RESUMEN

En la actualidad una ventaja competitiva es la utilización de las TIC´S dentro de cualquier proceso de fabricación, no obstante, la ventaja competitiva del control automático ha desempeñado una función vital en el avance de la ingeniería. La presente investigación expone la exploración de un algoritmo de control inteligente basado en redes neuronales aplicado a motores de corriente continua la aportación del presente trabajo es predecir y controlar su funcionamiento en tiempo real confirmando que las redes neuronales (RNA) pueden ser usadas para controlar sistemas de control con un alto grado de amortiguamiento. Los datos para entrenar las RNA se obtendrán de los resultados de las simulaciones experimentales del sistema formado por el motor y su control. Para este fin se implementará un modelo de motor de corriente continua que se probará con diferentes valores nominales controlándolos con diferentes sistemas de control; control vectorial por el método indirecto con retroalimentación de velocidad, control vectorial por el método directo con retroalimentación de velocidad y control directo de par utilizando una red blackpropagation para emular bloques de los sistemas de control estabilizando el sistema.

 

Palabras clave:  motores; TIC´S; redes neuronales; control.

 

 

The use of ICTs as a simulation tool for a neural network in continuous current motors as a control system

 

ABSTRACT

Currently, a competitive advantage is the use of ICTs within any manufacturing process, however, the competitive advantage of control has automatically played a vital role in the advancement of engineering. This research exposes the exploration of an intelligent control algorithm based on neural networks applied to DC motors. The contribution of this work is to predict and control their operation in real time, confirming that neural networks (RNA) can be used to control systems. control with a high degree of damping. The data to train the ANN will be obtained from the results of the experimental simulations of the system formed by the motor and its control. For this purpose, a model of a direct current motor will be implemented, which will be tested with different nominal values, controlling them with different control systems; vector control by the indirect method with speed feedback, vector control by the direct method with speed feedback and direct torque control using a blackpropagation network to emulate control system blocks stabilizing the system.

 

Keywords: engines; ICTs; neural networks; control.

 

 

 

 

 

 

Artículo recibido 15 febrero 2023

Aceptado para publicación: 15 marzo 2023


INTRODUCCIÓN

Las tecnologías de la información (TIC´S) nos permiten compilar información en tiempo real ya que en la actualidad la competitividad dentro de las empresas genera de manera veloz los cambios en los procesos de fabricación, sin embargo, el control automático ha desempeñado una función vital en el avance de la ingeniería y la ciencia, ya que los sistemas mecánicos o eléctricos mantienen su equilibrio. El control automático ha sido de gran importancia en la trasformación y evolución del ser humano debido a la constante necesidad de optimizar sus procesos o actividades con menor tiempo posible, de manera eficiente y segura. Además, el control automático se volvió una parte importante e integral de los procesos modernos industriales y de manufactura (Katsuhiko, 1998).

La importancia de la automatización en la industria de procesos ha aumentado increíblemente en los últimos años y, de hecho, se ha convertido en una fuerza impulsora de todo industrial. Sistemas de instrumentación innovadores controlan procesos complejos. (Suykens, 2022). La fiabilidad y seguridad de los procesos, y son la base de estrategias avanzadas de mantenimiento. La automatización de procesos no ha parado de evolucionar en los últimos años y, en este tiempo, se han producido cambios muy importantes en nuestro país, por lo que es necesario crear procesos innovadores los cuales modernicen nuestros sistemas de producción automática.  En unos inicios el control automático se creó para satisfacer algunas necesidades del ser humano, como por ejemplo el flotador mecánico, que se relata en los años 200 a. De C., el cuál es un mecanismo automático que deja pasar cierto flujo de agua hasta un límite deseado.

Tiempo después con la revolución industrial en Europa, se introdujo las primeras máquinas de vapor que se empleaban en molinos de grano, hornos, entre otros; los cuales ayudaban a las personas a facilitarles los trabajos diarios.  Conforme los años transcurrieron la tecnología empezó hacerse más compleja, de un simple sistema mecánico a sistemas donde diversas disciplinas de ingeniería intervienen como los son los sistemas mecatrónicos, y por lo tanto el control tuvo que seguir sus pasos.  Los motores de corriente continua es una de las aplicaciones industriales más importes que existen de las máquinas de corriente continua e ingeniería de control. Este tipo de máquina tiene una gran importancia histórica debido a su empleo como generadores o dinamos y representaron el primer procedimiento para producir energía eléctrica a gran escala.

Por otra parte, los motores de corriente continua es una de las maquinas más versátiles en la industria. Su fácil control de posición, par y velocidad la han convertido en una de las mejores opciones en aplicaciones de control y automatización de procesos. Pero con la llegada de la electrónica su uso ha disminuido en gran medida, pues los motores de corriente alternan, del tipo asíncrono, pueden ser controlados de igual forma a precios más accesibles para el consumidor medio de la industria. A pesar de esto los motores de corriente continua se siguen utilizando en muchas aplicaciones de potencia trenes o de precisión máquinas, micro motores, etc.

Las redes neuronales artificiales, de todos los métodos existentes, son las más indicadas para el reconocimiento de patrones en tiempo real, debido a que trabajan en paralelo actualizando todas sus instancias simultáneamente. Es importante destacar que esta característica solo se aprecia cuando se implementan redes con hardware especialmente diseñados para el procesamiento paralelo.

La posibilidad de resolver problemas difíciles es dable gracias a los principios de las redes neuronales, los cinco más importantes son citados por (Sastry, Santharam, & Unnikrishnan, 1994). Estos son enunciados a continuación: Aprendizaje adaptativo: Esta es quizás la característica más importante de las redes neuronales, pueden comportarse en función de un entrenamiento con una serie de ejemplos ilustrativos. De esta forma, no es necesario elaborar un modelo a priori, ni establecer funciones probabilísticas. Una red neuronal artificial es adaptativa porque puede modificarse constantemente con el fin de adaptarse a nuevas condiciones de trabajo. La Auto organización ya que mientras que el aprendizaje es un proceso donde se modifica la información interna de la red neuronal artificial, la auto organización consiste en la modificación de la red completa con el fin de llevar a cabo un objetivo específico. Auto organización significa generalización, de esta forma una red puede responder a datos o situaciones que no ha experimentado antes, pero que puede inferir sobre la base de su entrenamiento. Esta característica es muy útil sobre todo cuando la información de entrada es poco clara o se encuentra incompleta. Desde McCulloch-Pitts (1943), ha habido muchos estudios de modelos matemáticos de redesneuronales. Recientemente, Hopfield, Hinton, Rumelhart, Sejnowski y otros han probado muchas aplicaciones concretas como el reconocimiento de patrones, han demostrado que es posible aclarar el mecanismo de procesamiento de la información humana mediante el uso de estos modelos. En particular, el algoritmo de retropropagación (regla delta generalizada) propuesto por Rumelhart, Hinton, y Williams (1986) proporciona una regla de aprendizaje para redes multicapa. Muchas aplicaciones de este algoritmo. se han mostrado recientemente. Sin embargo, ha habido poca investigación teórica sobre la capacidad de la Red multicapa Rumelhart-Hinton-Williams. Sobre la aplicación al reconocimiento de patrones, Lippmann (1987) afirma que la decisión compleja arbitraria Se pueden formar regiones, incluidas regiones cóncavas (Ken-Ichi, 1989).

La Tolerancia a fallos en la computación tradicional la pérdida de un fragmento pequeño de información puede acarrear comúnmente la inutilización del sistema. Las redes neuronales artificiales poseen una alta capacidad de tolerancia a fallos. Se entiende por ello que las redes pueden reconocer patrones de información con ruido, distorsión o incompletos, pero que, además, pueden seguir trabajando, aunque se destruya parte de la red (con cierta degradación). La explicación de este fenómeno se encuentra en que mientras la computación tradicional almacena la información en espacios únicos, localizados y direccionales, las redes neuronales lo hacen de forma distribuida y con un alto grado de redundancia (Ken-Ichi, 1989).Operación en tiempo real: Las redes neuronales artificiales, de todos los métodos existentes,  son las más indicadas para el reconocimiento de patrones en tiempo real, debido a que trabajan en paralelo actualizando todas sus instancias simultáneamente. Es importante destacar que esta característica solo se aprecia cuando se implementan redes con hardware especialmente diseñados para el procesamiento paralelo.

Y su fácil inserción en la tecnología existente que es relativamente sencillo obtener chips especializados para redes neuronales que mejoran su capacidad en ciertas tareas. Ello facilita la integración modular en los sistemas existentes.

El presente trabajo de investigación presenta la aplicación de las redes neuronales artificiales en los sistemas de control vectorial y control directo de motores de corriente continua, esta tecnología relativamente nueva sirve para poder remplazar eficientemente equipos que ya no tiene un funcionamiento óptimo de acuerdo a los adelantos tecnológicos modernos lo cual es esencial un país emergente como el nuestro. Los datos necesarios para entrenar las redes neuronales artificiales se obtendrán en primer lugar de los resultados de simulaciones del sistema formado por el motor y su control y en segundo lugar a partir de resultados experimentales.  A tal fin se implementa un modelo de motor de corriente continua que se probara con diferentes valores nominales y se controlara con diferentes sistemas de control entrenándolo con redes neuronales.

METODOLOGÍA

Materiales.

Se usará un motor de 24 voltios, y de aproximadamente de 8 amperes de corriente máxima. El motor estará conectado a un amplificador de potencia que es controlado por una tarjeta de adquisición de datos. La programación se realiza en Matlab-Simulink.

Plataforma experimental

En los experimentos de control se llevará asignando una referencia para la posición y velocidad de motor. Debido a que la información de retroalimentación es la posición del motor dada en las cuentas de un codificador óptico, la velocidad se estima por medio del uso de un filtro.

El motor de corriente continua es impulsado por un amplificador de potencia que está conectado a una tarjeta electrónica de adquisición de datos. Dos computadoras se hacen cargo de la programación y la supervisión del sistema.

Esquema de control

El esquema de control consistirá de tres entradas a la red. Una de ellas operara como control, para reproducir el modelo inverso del sistema, para ello utiliza el error formado por la diferencia entre la señal de referencia y la respuesta del motor.

 

ec = r(k) − y(k)                                                                                                                                               (1)

 

La siguiente es un identificador del motor, que mostrara la diferencia entre la respuesta del motor y su salida.

 

ei = yn2 (k) − y(k)                                                                                                                                                    (2)

 

Los estados de la red de identificación se usan para formar una retroalimentación, de manera que se llevan los estados de la red de identificación a la tercera red que se entrena con el error de control.

Ya que las redes tienen la capacidad de generar modelos que se ajustan a las relaciones entre las variables de entrada y salida, uno de los esquemas básicos se buscara que la red neuronal aprenda la relación inversa que existe entre las variables de entrada y salida del sistema a controlar. Y después usar esta red como un pre compensador del sistema. Al hacer esto la relación referencia-salida tiene ganancia unitaria. Lo anterior implica que la salida del sistema nos dará una estabilización control total del sistema

Después de probar varias veces el modelo con los datos obtenidos se realizará un diseño de experimentos en el que se creara una matriz de experimentos factorial completa 2k donde cada factor se estudiara a sólo dos niveles del motor con y sin retroalimentación de velocidad y sus experimentos contemplaran todas las combinaciones de cada nivel de un factor con todos los niveles de los factores.

Los principales algoritmos de aprendizaje para redes neuronales son: corrección por error, la ley Hebbiana y el algoritmo de tipo competitivo.

El aprendizaje escogido para el entrenamiento es el de Corrección por Error ya que este algoritmo de aprendizaje está basado en el modelo supervisado, y existe una señal deseada para las salidas de la red. La función del error se define como:

 

                                                                                                                                               (3)

En donde ei(k) es la señal de error; ydi (k) es la señal deseada; yi(k) es la señal de salida de la red neuronal, todos en el instante k. El algoritmo se basa en la minimización de la función de costo a través del método del gradiente descendente. En aplicaciones que requieran que el ajuste de los pesos se realice en cada iteración, se utiliza el valor instantáneo de la suma de los cuadrados de los errores como criterio, o función de costo.

 

                                                                                                                                                         (4)

La función de costo debe ser minimizada en términos de los pesos sinápticos de la red neuronal. Para esto se utiliza la siguiente regla.

 

                                                                                 (5)

En donde  es el índice de aprendizaje.

La regla de corrección por error se comporta como un sistema de lazo cerrado y el índice de aprendizaje asegura la estabilidad del algoritmo. Si la red neuronal consiste de unidades de procesamiento (nodos) lineales, la superficie del error es una función cuadrática de los pesos con un solo mínimo global.

Pero si la red neuronal consiste en unidades de procesamiento no lineales, la superficie del error tiene un mínimo global y posiblemente varios mínimos locales. Debido a que el algoritmo de aprendizaje inicia en un punto arbitrario de la superficie y va paso a paso en busca de un mínimo, la regla delta puede caer en un mínimo local y esto ocasionaría que nunca alcance el mínimo Global.

Este es uno de los problemas de actualizar los pesos usando la ecuación, pero, por otra parte, su sencillez y fácil implementación la hacen muy popular y adecuada para el propósito del método.

Uno de los algoritmos de aprendizaje por corrección del error para redes con conexiones hacia adelante es el de Retropropagación del error este tiene la peculiaridad de trasladar el error de salida hacia las capas internas de la red neuronal lo que es muy útil para realizar procedimientos de clasificación y codificación.

Este algoritmo se utiliza para ajustar las redes neuronales del tipo de conexiones hacia adelante (FeedForward), que es una red estática. Este algoritmo tiene dos presentaciones: Por lote (Bach) y el iterativo (en línea).

En el algoritmo por lote que es el que se utilizara, el ajuste de los pesos de la red se lleva al final de cada época, es decir, una vez que se ha comparado la respuesta actual de la red para todo el conjunto de datos de entrenamiento. Para este caso el índice de desempeño esta descrito por la expresión.

 

                                                                                                                 (6)

 

En donde N es un entero que define el número de épocas. Una época es el conjunto completo de los patrones o datos de entrenamiento. Se utiliza a P para indicar el número de patrones de entrenamiento; ei para indicar el error de la salida i de la red neuronal. El ajuste de los pesos se realiza al final de cada época.

En el caso iterativo se considera que para cada elemento del conjunto de entrenamiento se realiza un ajuste de los pesos de la red. Este tipo de algoritmo es el que nos interesa ya que permite que se use en aplicaciones que requieren de un ajuste continuo de los parámetros la red neuronal.

Para desarrollar el algoritmo de Retropropagación del error se utilizará un caso particular de una red neuronal con una configuración de dos entradas, dos nodos ocultos en la primera capa oculta, tres nodos en la segunda capa oculta, y dos nodos de salida o, de forma resumida, tiene una configuración {2, 2, 3, 2}.

Este algoritmo de Retropropagación del error minimizara el valor medio de la suma de los errores de salida al cuadrado

                                                                              (7)

 

En donde yd i (k) valor deseado en la salida i de la red neuronal; E(k) es el índice de desempeño, ambos en el instante k.

La actualización de los pesos de la red se realiza por medio de la expresión.

 

                                                                                                                        (8)

 

En donde  es el índice de aprendizaje;  es el peso de la capa l que conecta a la salida de la neurona j de la capa l − 1 con la entrada de la neurona i en la capa l la cual al ser desarrollada tendremos.

 

                                                                                                    (9)

 

Que es la función de costo que debe ser minimizada, lo que nos indica que es el algoritmo de Retropropagación del error minimizara el valor medio de la suma de los errores de salida al cuadrado.

 

Ahora se divide el proceso en dos casos, el primero cuando el peso a ajustar pertenece a la capa de salida de la red; y el otro caso cuando el peso a actualizar pertenece a alguna de las capas ocultas de la red. Esta separación se debe a que los pesos que están en la capa de salida la derivada del índice de desempeño es función directa del error, ei(k) este error será almacenado en la base de datos de la red como un nuevo vector logrando el objetivo que es un aprendizaje supervisado en la red.

RESULTADOS Y DISCUSIÓN

Los resultados son alentadores ya que el modelo propuesto mediante la simulación y entrenamiento de la red Neuronal, se utilizó el uso de la herramienta de programación con MATLAB en su versión R2013a, simulando en una red neuronal aplicado a motores de corriente continua para controlar su funcionamiento en tiempo real. Para este fin se implementó un modelo de motor que se probó con diferentes valores nominales controlándolos con diferentes sistemas de control utilizando una red blackpropagation para emular bloques de los sistemas de control.

Como primer paso se ingresaron los datos en forma matricial en Matlab que se obtuvieron con métodos físico matemáticos tradicionales en donde las entradas se denominaron INPUT esta Matriz se introducen los datos utilizados en el método anterior las variables de control y las salidas esperadas TARGET que hacen referencia a las variables de salida del diseño estadístico, se anexo una Matriz más SAMPLE en donde se introducen las variables de ruido del diseño de experimentos. Dichas matrices son creadas en el Workspace de Matlab Tablas 1,2 y 3.

Los resultados son alentadores ya que el modelo propuesto mediante la simulación y entrenamiento de la red Neuronal, se utilizó el uso de la herramienta de programación con MATLAB en su versión R2013a, simulando en una red neuronal aplicado a motores de corriente continua para controlar su funcionamiento en tiempo real. Para este fin se implementó un modelo de motor que se probó con diferentes valores nominales controlándolos con diferentes sistemas de control utilizando una red blackpropagation para emular bloques de los sistemas de control.

Como primer paso se ingresaron los datos en forma matricial en Matlab que se obtuvieron con métodos físico matemáticos tradicionales en donde las entradas se denominaron INPUT esta Matriz se introducen los datos utilizados en el método anterior las variables de control y las salidas esperadas TARGET que hacen referencia a las variables de salida del diseño estadístico, se anexo una Matriz más SAMPLE en donde se introducen las variables de ruido del diseño de experimentos. Dichas matrices son creadas en el Workspace de Matlab Tablas 1,2 y 3.

Tabla 1. Entradas a RNA para reproducir el modelo inverso del sistema.

>> input

input =

Posición

1

1

1

0

1

0

Velocidad

30

30

30

1

30

1

 

Tabla 2. Entradas de RNA para mostrar la diferencia entre la respuesta del motor y su salida.

>>Simple

Sample=

1

9

 

6

12

 

 

Tabla 3. Salidas esperadas

>> target

target =

Velocidad de salida final

6

3.0001

9

294.893

93.86

89.76

 

Posteriormente, se creó la red neuronal artificial mediante el uso del toolbox NNTool por la cual, a través de diversos editores, nos permitió importar grandes cantidades de datos y también nos permitió clasificar y codificar las diferentes características de las variables controlables que determinaron el buen comportamiento al entrenar la red. En el editor se seleccionó una red del tipo feed-forward backprop, se indicó que el rango de las entradas en la cual se eligieron 2 capas con 10 neuronas cada una y con la función de activación tansig  Figuras 1 y 2


 

Figura 1. Creación de la Red Neuronal.

 

Figura 2. Esquema de la Red Neuronal.

A continuación, se entrenó la red para lo cual se seleccionaron los parámetros con los cuales se deseaba entrenar y luego se indicaron las entradas y los objetivos (input y target respectivamente) previamente guardados Figuras 3,4 y 5.

Figura 3. Parámetros para Entrenar la Red

 

 

Figura 4. Entrenamiento de la Red.

CONCLUSIONES

Observamos que nuestro objetivo se alcanza después de 823 épocas. La red simple ha sido entrenada esta estructura contiene toda la información relativa de la red. El  tr.trainInd, tr.valIndy tr.testInd, contiene los índices de los puntos de datos que se utilizaron en los conjuntos de entrenamiento, validación y prueba, respectivamente e indica que existe una existe una relación lineal exacta entre los resultados deseados para la clasificación y codificación. En la Figura 5 se muestran las parcelas que representan los datos de Train (entrenamiento), Validation (validación) y Testing (pruebas). La línea de trazos en cada gráfico representa el resultado perfecto - salidas = objetivos. La línea continua representa la mejor línea de regresión de ajuste lineal entre resultados y metas. El valor R es una indicación de la relación entre las salidas y las metas. Si R = 1, esto indica que existe una relación lineal exacta entre los resultados y objetivos. Si R es cercano a cero, entonces no existe una relación lineal entre resultados y metas.


Figura 5. Validación de la red

Los datos de entrenamiento indican un buen ajuste. Los validación y resultados de pruebas también muestran que los valores de R mayor que 0,9. El diagrama de dispersión es útil para mostrar en este caso que todos los datos forman una misma línea que ciertos puntos de datos tienen pobre ajuste. Hay un punto de datos en el conjunto de Validación cuya salida está cerca de la red de 100, pero no afecta a los demás datos ya que con tantas iteraciones realizadas este valor no es significativo, puesto que en todo proceso existe una variabilidad en los datos. Se anexa gráfica de tornado mostrando el peso de influencia (en %) de las variables de impacto con respecto a la variable de salida fig. 6.

Figura 6. Ajuste de Red

Figura 6. Grafica de tornado

Como se vio la aplicación de las redes neuronales artificiales en los sistemas de control de motores de corriente continua, es una tecnología nueva sirve para poder remplazar eficientemente equipos que ya no tiene un funcionamiento óptimo de acuerdo a los adelantos tecnológicos modernos. El método se validó con ensayos experimentales en el entrenamiento de la red neuronal y simulaciones del sistema formado por el motor y su control probando que el método es factible para aplicación en sistemas de control de motores de corriente continua.

AGRADECIMIENTOS

Gracias al apoyo brindado por el Comecyt 

LISTA DE REFERENCIAS

Katsuhiko, O. (1998). Ingeniería de Control moderna. México : Pearson.

Ken-Ichi, F. (1989). On the Approximate Realization of Continuous Mappings by Neural Networks. Neural Network, 183-192.

Sastry, P., Santharam, G., & Unnikrishnan, K. (1994). Memory neuron networks for identification and control of dynamical systems. IEEE Transactions on Neural Networks, 306-319.

Suykens, J. &. (28 de 11 de 2022). Neural control theory : an overview. Obtenido de Sematic scholar: https://www.semanticscholar.org/paper/Neural-control-theory-%3A-an-overview-Suykens-Bersini/8918f4bb531650f425a0c419f5854bf7167e616d?sort=relevance

Ah Chung Tsoi, S. Andrew D. Back. Locally Recurrent Globally Feedforward Networks: A Critical Review ofArchitectures. IEEE Trans. on Neural Networks, Vol. 5, No. 2, pp . 229-239 March, 2004

Chiu, H.N. (2005): “The integrated logistics management system: A framework and case study”, International Journal of Physical Distribution and Logistics Management, vol. 25, núm. 6, p. 4-22.

De Pablos  Heredero (2004): “Innovative automation technology in corporate warehousing logistics”, Journal of Business Logistics, vol. 12, núm. 1, p. 63-82.

Denis, J.E. y Czellar, S. (1997): “Les nouvelles directions de recherche en marketing: une étude comparative France-États Unis 1989-1994”, Revue Française du Marketing, vol. 2, núm. 16, p. 7-29.

Dresner, M. y Xu, K. (1995): “Customer service, customer satisfaction, and corporate performance”, Journal of Business Logistics, vol. 16, núm. 1, p. 23-41.

Ellram, L.M.; La Londe, B.J. y Weber, M.M. (1999): “Retail logistics”, International Jour-nal of Physical Distribution & Logistics Management, vol. 29, núm. 7/8, p. 477-494.

Gil, I. Cervera, A. y Frasquet, M. (2007). “Empleo de TIC y efectos relacionales en la cadena logística”. Boletín Económico de ICE, núm. 2914, p. 31-48.

Jones, P.; Clarke-Hill, C.; Hillier, D. y Comfort, D. (2005b): “The benefits, challenges and impacts of radio frequency identification technology (RFID) for retailers in the UK”,

Marketing Intelligence & Planning,  vol. 23, núm. 4, p. 395-402

Evans, P.; Wurster S. (2000).Blown to bits: how the new economics of information transforms strategy. USA: Harvard Business.

Fletcher R., Bell J. y McNaughton R. (2004).International E- Business Marketing. Gran Bretaña: Thomson.



[1] Autor Principal