Sunteți pe pagina 1din 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/264036936

CONTROL DE UNA GRÚA PÓRTICO MEDIANTE REDES NEURONALES

Conference Paper · September 2006

CITATION READS

1 342

2 authors:

Alejandro Fernández Villaverde Matilde Santos Peñas


Spanish National Research Council Complutense University of Madrid
71 PUBLICATIONS   722 CITATIONS    98 PUBLICATIONS   528 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

CanPathPro View project

Teleoperation using Reset, Passivity, and Haptics View project

All content following this page was uploaded by Alejandro Fernández Villaverde on 18 July 2014.

The user has requested enhancement of the downloaded file.


XXVII Jornadas de Automática

CONTROL DE UNA GRÚA PÓRTICO MEDIANTE REDES


NEURONALES

Alejandro Fernández Villaverde


Dpto. de Ingeniería de Sistemas y Automática
E.T.S.I.I. - Universidade de Vigo
Campus Universitario As Lagoas-Marcosende. 36200 Vigo
e-mail: afernandez@uvigo.es

Matilde Santos Peñas


Dpto. de Arquitectura de Computadores y Automática
Facultad de Informática - Universidad Complutense de Madrid
e-mail: msantos@dacya.ucm.es

Resumen usado en la construcción, transporte (puertos) e


industria. Al mismo tiempo, se trata de un sistema
El control de una grúa pórtico representa un desafío mecánico de elevada complejidad, ya que presenta un
para los ingenieros de control debido a que es un comportamiento no lineal y de naturaleza
sistema complejo, multivariable y no lineal. A lo multivariable. En consecuencia, muchas de las
largo de las últimas décadas se han propuesto técnicas “clásicas” de control no pueden ser
diferentes enfoques para el tratamiento de este aplicadas. Además, la dinámica del sistema propicia
problema, habitualmente aplicando técnicas clásicas la aparición de oscilaciones indeseadas de la carga
al control. En este artículo se presenta una solución que son difíciles de atenuar. Por ello las grúas han
basada en una de las técnicas de la Inteligencia sido objeto de abundantes artículos y estudios en el
Artificial, las redes neuronales, para la último medio siglo.
identificación y el control basado en linealización
por realimentación del sistema Los resultados de Para la realización de este trabajo se ha partido del
simulación prueban la eficiencia de esta estrategia modelo 3DCrane de la casa polaca Inteco (ver figura
para controlar este sistema. 1). Esta grúa, cuyas dimensiones son las de un cubo
de aproximadamente 1.5 metros de arista, está
diseñada para un uso didáctico o de investigación.
Palabras Clave: Grúa Pórtico, Inteligencia Artificial, Consta de una viga móvil que se desplaza en una
Linealización por Realimentación, Redes Neuronales dirección x sobre unos raíles, y de un carro que se
desplaza a lo largo de la viga, en una dirección y
perpendicular a x. Del carro cuelga un cable que
1 INTRODUCCIÓN sostiene la carga, pudiendo ésta ser izada o bajada a
lo largo del eje z. De esta forma, es posible
El objetivo de este trabajo es realizar la identificación posicionar la carga en cualquier punto del espacio de
y el control de una grúa pórtico de tres grados de trabajo xyz de la grúa (3D). Los ejes son accionados
libertad mediante redes neuronales. por motores de corriente continua, y existen encoders
que miden la posición (x, y, z) y los ángulos de
desviación de la carga respecto a la vertical. En la
figura 2 se puede ver con más detalle la
configuración de la grúa.

Para el control del sistema se utilizarán redes


neuronales. Esta técnica de la IA se ha mostrado muy
versátil para estas tareas. Para ello, en la Sección 2 se
selecciona una determinada arquitectura neuronal y
se expone el algoritmo utilizado para entrenar la red
para que cumpla lo mejor posible con las
especificaciones de diseño así como el algoritmo de
Figura 1. Vista general de la grúa control. En la siguiente sección se especifica su
aplicación como sistema de control de la grúa
Una grúa pórtico o puente grúa (gantry crane o pórtico. Los resultados obtenidos mediante la
overhead crane) es un dispositivo ampliamente

1006 Almería 2006 - ISBN: 84-689-9417-0


XXVII Jornadas de Automática

simulación se muestran en la sección 4. Con las pueden resultar demasiado lentos, por lo que en su
conclusiones y futuros trabajos finaliza esta lugar se ha utilizado la modificación conocida como
contribución. algoritmo de Levenberg-Marquardt [1]. Su
fundamento es el siguiente: a pesar de que la función
criterio del perceptrón desciende más rápidamente a
lo largo de la dirección indicada por el gradiente, esto
no asegura que de esta manera se logre la
convergencia más rápida. Como alternativa, se puede
realizar una búsqueda a lo largo de direcciones
conjugadas. Surgen así los Algoritmos de Gradiente
Conjugado. Una variante de estos algoritmos son los
llamados Algoritmos Quasi-Newton, en los cuales se
actualizan los pesos mediante la matriz Hessiana de
la función (sus segundas derivadas), evaluada en los
valores actuales de los pesos. Como la matriz
Hessiana es costosa de calcular, una alternativa
consiste en aproximarla mediante la expresión
H = J T ⋅ J , donde J es el jacobiano (de los errores
de la red respecto a los pesos), con lo que la
Figura 2. Detalle de la grúa-pórtico actualización de los pesos se realiza de la forma
siguiente:

2. RED NEURONAL UTILIZADA −1


x k +1 = x k −  J T ⋅ J + µ ⋅ I  ⋅ JT ⋅ e (1)
2.1 TIPO DE RED
donde e es el vector de errores y µ es un parámetro
En esta aplicación las redes neuronales se usan con el que se va reduciendo a medida que se va acercando a
propósito de realizar una linealización por la solución, haciendo así que este método sea más
realimentación, es decir, cancelar las no-linealidades parecido al de Newton, por ser éste más rápido en las
de la planta. proximidades de los mínimos. Éste es el algoritmo de
Levenberg-Marquardt.
Al tratarse de un sistema dinámico, es necesario que
las salidas de la red dependan no sólo de los valores Una vez entrenada la red neuronal, se puede integrar
actuales de las entradas, sino también de las entradas, en el sistema de control de la planta, lo que se detalla
salidas y/o estados anteriores. Es decir, se precisa que en el siguiente apartado.
la red sea dinámica [4]. Este tipo de redes son más
potentes, al poseer memoria. Entre sus aplicaciones
más típicas se encuentran los sistemas de control [3]. 3 SISTEMA DE CONTROL
El tipo de red utilizado es el Layered Digital El control se realiza desde un PC equipado con una
Dynamic Network, descrita en [2]. Es similar al tarjeta PCI suministrada por el fabricante de la grúa
clásico perceptrón multicapa, pero con una línea de Inteco. Esta tarjeta se comunica con la grúa a través
retardos. El aprendizaje o modificación de los pesos de un interfaz de potencia, al cual se le conectan
sinápticos se realiza mediante el mecanismo de tanto los motores como los sensores. La
retropropagación. Merece la pena detenerse implementación del control a nivel software (tanto
brevemente a explicar qué tipo de aprendizaje o para simulaciones como para el modelo real) se ha
entrenamiento se ha elegido. hecho en un entorno Matlab/Simulink trabajando
bajo Windows. El interfaz con la planta utiliza la
2.2 APRENDIZAJE Crane3D Toolbox proporcionada por la propia
Inteco, que se integra fácilmente dentro de este
Hay diferentes métodos para entrenar la red. El más entorno. Para la identificación del sistema y el diseño
sencillo consiste en actualizar los pesos en la del controlador se usó la Neural Network Toolbox de
dirección en la que la función criterio del perceptrón Matlab. Finalmente, para poder realizar control en
desciende más rápidamente, es decir, en la dirección tiempo real se precisa de la Real Time Workshop y el
del gradiente negativo. Una mejora a este método Real Time Windows Target.
consiste en añadirle un “momentum”, de forma que
la red responda no sólo al valor local del gradiente, El tipo de control realizado es, como ya se indicó, de
sino a la tendencia. De esta forma se consigue un linealización por realimentación. Este tipo de control
aprendizaje más rápido. Aún así, estos métodos consiste en lo siguiente: sea un sistema no-lineal que

Almería 2006 - ISBN: 84-689-9417-0 1007


XXVII Jornadas de Automática

se puede modelar, empleando la notación usual en elevado uso de la CPU, y, en caso de ser demasiado
teoría de sistemas en tiempo discreto, como: compleja, puede llegar a ser imposible llevar a cabo
un aprendizaje adecuado. El esquema de cómo la red
y (k + d ) = f [ y (k ), y (k − 1),... y (k − n + 1), neuronal realiza la aproximación de las funciones f, g
se muestra en la figura 3, y un esquema de control en
u (k − 1),..., u (k − m + 1)]
la figura 4. Estas figuras siguen la notación adoptada
+ g[ y (k ), y (k − 1),... y (k − n + 1), (2)
por Matlab y fueron obtenidas de [5].
u (k − 1),..., u (k − m + 1)] ⋅ u ( k + 1)
donde d ≥ 2

Si se puede realizar una identificación del modelo, es


decir, encontrar una red neuronal que aproxime las
funciones f, g, entonces se puede obtener la entrada
de control como:

y (k + d ) − f [...]
u (k + 1) = (3)
g[...]

De esta forma, el controlador se deriva directamente


del modelo neuronal de la planta.

Hay que señalar que la linealización por Figura 4. Sistema de Control


realimentación puede ser realizada sin usar redes
neuronales. Sin embargo, su uso se justifica por su En el diseño de la red para esta aplicación se ha
relativa simplicidad, ya que los cálculos necesarios optado por una configuración con una capa oculta
para linealizar el sistema de la forma clásica son con 4 neuronas, cuyas funciones de activación son
farragosos, incluyendo el manejo de matrices grandes sigmoides. La capa de salida representa las salidas
y el cálculo de derivadas de las salidas. Además, la del sistema y sus funciones de transferencia son
expresión analítica del controlador obtenido suele ser lineales. Para cada capa de salida y de entrada se
complicada y por lo tanto difícil de implementar. utilizaron dos entradas y salidas, respectivamente,
retardadas. De esta forma se puede llegar a aproximar
un sistema mecánico de segundo orden, como es la
grúa.

El aprendizaje se realiza, tal como se justificó en la


sección anterior, mediante el algoritmo de
Levenberg-Marquardt, que en Matlab está
implementado en la función trainlm.

4 EXPERIMENTOS
En primer lugar se simuló el comportamiento del
sistema utilizando un modelo no lineal de la planta.
De esta forma se ajustaron los controladores hasta
obtener un comportamiento satisfactorio de la planta
en lazo cerrado. Para ello, se modeló la grúa
utilizando la formulación Lagrangiana. El sistema
Figura 3. Aproximación de f, g resultante consta de 3 entradas (los 3 motores), 5
salidas, y 10 estados. Este modelo se incluyó en un
En nuestro caso se usó el bloque NARMA-L2 diagrama de Simulink, al cual se añadieron los
(Nonlinear AutoRegressive Moving Array) de la bloques de NARMA-L2 (uno por cada eje de la
Neural Network Toolbox de Matlab. Este bloque grúa).
realiza la identificación del sistema y calcula la señal
de control necesaria. Su principal ventaja es su A efectos de la identificación del sistema, la grúa
reducida carga computacional, factor importante ya presenta como entradas las fuerzas aplicadas, (tres,
que el entrenamiento de una red neuronal exige un una por cada eje), y como salidas las posiciones

1008 Almería 2006 - ISBN: 84-689-9417-0


XXVII Jornadas de Automática

respectivas. Por lo tanto, cada bloque NARMA-L2 misma red la que identifica y obtiene el control con
que implementa una red se encarga de la la estrategia indicada de linealización por
identificación y control de un eje de la grúa. Las realimentación. Esta identificación neuronal evita los
funciones f y g obtenidas de la identificación cálculos derivados de una linealización clásica del
permiten obtener la acción de control mediante (3). modelo.
La red lo que hace es aproximar de forma lineal el
sistema y a partir de esas aproximaciones se obtiene La identificación de cada eje se realizó en base a
directamente la señal de control. Además este tipo de 2000 muestras, con un periodo de muestreo de 0.05
control suele tener problemas de robustez si el segundos.
modelo no es muy exacto, lo que se evita si es la

Figura 5. Diagrama de control en Simulink

El diagrama de control utilizado se muestra en la


figura 5. Se realizaron pruebas para medir tanto la
respuesta a entrada escalón como el seguimiento de
una señal senoidal. En las figuras 6-12 se muestran
las diferentes respuestas a estas entradas, así como
las señales de control.

Nótese que se ha modificado la señal de control del


eje x, multiplicándola por 0.7. Esto se ha hecho con
el fin de ilustrar las diferentes posibilidades de ajuste
de los controladores. Así, en el eje Y, cuya señal se
ha dejado intacta, se tiene una respuesta más rápida,
aunque se llega a un valor ligeramente superior al de
la consigna. Por el contrario, en el eje X, si bien con
algo más de lentitud, se consigue exactamente el
valor de consigna, sin tener sobreoscilación. Ambas
Figura 6. Respuesta a escalón en la viga (eje X) respuestas son aceptables y deberá escogerse una u
otra en función de la aplicación.

Almería 2006 - ISBN: 84-689-9417-0 1009


XXVII Jornadas de Automática

Figura 7. Respuesta a escalón en el carro (eje Y) Figura 10. Respuesta a senoide en el carro (eje Y)

Figura 8. Respuesta a escalón en el cable (eje Z) Figura 11. Respuesta a senoide en el cable (eje Z)

Figura 12. Señales de control para respuesta a


Figura 9. Respuesta a senoide en la viga (eje X)
escalón (línea: X, punto: Y, sólido: Z)

1010 Almería 2006 - ISBN: 84-689-9417-0


XXVII Jornadas de Automática

5 CONCLUSIONES system identification and control”, IEE


Proceedings - Control Theory and Applications,
En este documento se ha presentado una aplicación Volume 142, Issue 4, p. 307-314.
de las redes neuronales artificiales al control de una
grúa pórtico. Se comprueba que, pese a la [5] Demuth, H., Beale, M., Hagan, M., (2006)
complejidad que presenta la planta a controlar (ya “Neural Network Toolbox User’s Guide” – The
que es no lineal y multivariable), la aplicación de Mathworks, Natick, MA.
estas técnicas es sistemática y permite obtener
buenos resultados. La estructura de la red fue
escogida de forma que se minimizara la carga
computacional, facilitando la viabilidad del diseño.
Como estructura del controlador se utilizó la de
linealización por realimentación, por lo que, una vez
identificada la planta, el cálculo del controlador fue
inmediato. Este diseño del controlador fue
comprobado mediante simulación, en la que se
ajustaron las ganancias para obtener el control más
ajustado posible.

Las futuras líneas para continuar este trabajo podrían


partir de un estudio más pormenorizado de las
oscilaciones angulares producidas en la carga de la
grúa, y del diseño de una estrategia para
minimizarlas. Asimismo, se debería probar los
resultados de las simulaciones en la planta real, lo
que no pudo ser hecho hasta la fecha debido a
problemas con el hardware.

Agradecimientos

Este trabajo se inscribe en el proyecto DPI2004-


07670-C02-01, el cual ha sido financiado
parcialmente por el Ministerio de Ciencia y
Tecnología.

Referencias

[1] Ampazis, N. and Perantonis, S.J., (2000)


“Lavenberg-Marquardt algorithm with adaptive
momentum for the efficient training of
feedforward networks”, Proc. of the IEEE-
ENNS Int. Joint Conf. on Neural Networks, vol.
1, 24-27 July, pp. 126-131.

[2] De Jesús, O., Hagan, M., (2001)


“Backpropagation Through Time for a General
Class of Recurrent Network”, Proceedings of
the International Joint Conference on Neural
Networks, Washington, DC, pp. 2638-2642.

[3] De Jesús, O., Demuth, H., Hagan, M., (2002)


“An Introduction to the Use of Neural Networks
in Control Systems”, International Journal of
Robust and Nonlinear Control, Vol. 12, No. 11,
pp. 959-985.

[4] Delgado, A., Kambhampati, C., Warwick, K.,


(1995) “Dynamic recurrent neural network for

Almería 2006 - ISBN: 84-689-9417-0 1011

View publication stats

S-ar putea să vă placă și