SciELO - Scientific Electronic Library Online

 
 número28Efecto In Vitro del Extracto Vegetal de Ananas Comosus sobre Espermatozoides HumanosUna Aproximación Multi-Agente para el Soporte al Proceso de Extracción-Transformación-Carga en Bodegas de Datos índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Revista

Articulo

Indicadores

Links relacionados

  • En proceso de indezaciónCitado por Google
  • No hay articulos similaresSimilares en SciELO
  • En proceso de indezaciónSimilares en Google

Compartir


TecnoLógicas

versión impresa ISSN 0123-7799versión On-line ISSN 2256-5337

TecnoL.  no.28 Medellín ene./jun. 2012

 

Artículo de Investigación/Research Article

Identificación de Parámetros y Control Adaptativo Aplicado al Péndulo Invertido

Parameter Identification and Adaptive Control Applied to the Inverted Pendulum

Carlos A. Saldarriaga-Cortés1, Víctor D. Correa-Ramírez2, Didier Giraldo-Buitrago3

1Facultad de Ingeniería, Universidad Tecnológica de Pereira, Pereira-Colombia, casaldarriaga@utp.edu.co

2Facultad de Ingeniería, Universidad Tecnológica de Pereira, Pereira-Colombia, victordc@utp.edu.co

3Facultad de Ingeniería, Universidad Tecnológica de Pereira, Pereira-Colombia, dgiraldo@utp.edu.co

Fecha de recepción: 29 de septiembre de 2011 / Fecha de aceptación: 23 de abril de 2012


Resumen

En este artículo se presenta una metodología que permite implementar un control adaptativo del péndulo invertido; la cual utiliza el método de mínimos cuadrados recursivo para identificar un modelo dinámico digital de la planta y luego, con los parámetros estimados de la misma, sintonizar en tiempo real un control por reubicación de polos. La planta utilizada es un sistema inestable y no lineal. Esto combinado con las características adaptativas del controlador permite que los resultados obtenidos se puedan extender a una gran variedad de sistemas. Los resultados presentados muestran que la metodología descrita se implementó de manera satisfactoria en términos de estimación, estabilidad y control del sistema mencionado. Se pudo establecer que las técnicas adaptativas presentan un desempeño apropiado incluso en sistemas con características complejas como la no linealidad y la inestabilidad.

Palabras clave: Control adaptativo; identificación paramétrica; modelo matemático; controlabilidad; estabilidad; control por reubicación de polos.


Abstract

This paper presents a methodology to implement an adaptive control of the inverted pendulum system; which uses the recursive square minimum method for the identification of a dynamic digital model of the plant and then, with its estimated parameters, tune in real time a pole placement control. The plant to be used is an unstable and nonlinear system. This fact, combined with the adaptive controller characteristics, allows the obtained results to be extended to a great variety of systems. The results show that the above methodology was implemented satisfactorily in terms of estimation, stability and control of such a system. It was established that adaptive techniques have a proper performance even in systems with complex features such as nonlinearity and instability.

Keywords: Adaptive control; parametric identification; mathematical model; controllability; stability; pole placement control.


1. Introducción

En la actualidad son de vital importancia el control y la automatización de sistemas físicos, esto debido a que cada vez se tiene una mayor exigencia en la calidad, y rapidez en la producción, así como en la eficiencia y economía de los procesos de elaboración de los productos. Por tal razón se requiere aplicar técnicas de control que permitan optimizar el uso de los recursos, y para esto es necesario un amplio conocimiento del sistema físico en cuestión, esto para obtener un modelo completo de los diferentes procesos que se efectúan en su interior. Infortunadamente, la mayoría de los sistemas reales son complejos y en algunos casos no se cuenta con la suficiente información para llegar a un modelo completo. Sin embargo, aunque se pudiera obtener de manera precisa la información requerida para elaborar un modelo, es bastante complejo garantizar su efectividad en el tiempo, esto debido a la dificultad para incluir en él los cambios que el sistema físico presente en sus parámetros, en tiempo real, por variaciones de temperatura, humedad del medio, envejecimiento, estado de operación, entre otros.

Tradicionalmente los sistemas físicos han sido modelados de manera analítica, utilizando leyes físicas que describen su comportamiento interno y externo, sin embargo esto no determina con precisión su modelo matemático equivalente, es más, presenta porcentajes considerables de error debido a que en algunos sistemas físicos se hace necesario despreciar algunos fenómenos, ya que no se conocen o se consideran poco relevantes. También con el objetivo de simplificar el análisis matemático se realizan algunos procedimientos de linealización los cuales solo proporcionan un modelo aproximado de la planta en un punto específico de operación. Otro factor que desfavorece la precisión del modelo es la dificultad para representar los posibles cambios en los parámetros de la planta debido al calentamiento o envejecimiento de sus componentes.

Es importante tener en cuenta que un modelo matemático lo suficientemente preciso permite obtener mejores resultados en el control de sistemas reales (Åstrom & Wittenmark, 1994). Un modelo matemático que represente de manera más precisa la planta, debe tener parámetros que se adapten a los cambios de esta en el tiempo y que involucre características y fenómenos físicos que no se pueden modelar de forma sencilla.

Como alternativa de solución a este problema se plantean los métodos de identificación de parámetros, que consisten en utilizar los datos de entrada y salida de la planta para alimentar un algoritmo; el cual se encarga de encontrar los parámetros de un modelo numérico que representa de manera adecuada la dinámica del sistema. Este modelo tiene como característica principal, la capacidad de aprender el comportamiento de la planta ante una determinada excitación, por lo tanto, logra incorporar implícitamente características relevantes del sistema. Con esto se obtiene una mayor precisión con respecto a los modelos clásicos calculados a partir de leyes físicas. Es necesario aclarar que los parámetros encontrados no tienen significado físico alguno, es decir no corresponden a características de la planta tales como, inercia, fricción, elasticidad, etc. Estos parámetros solo garantizan que el modelo numérico que conforman tenga una dinámica igual a la dinámica del sistema físico.

Debido a lo anterior, es posible que en un mismo sistema se identifique modelos distintos y que además estos difieran del modelo obtenido a partir de leyes físicas. Sin embargo se tiene la certeza de que a pesar de las diferencias, los modelos identificados tienen un comportamiento afín con el del sistema de interés debido al proceso de estimación permanente. Es posible afirmar entonces que una señal de control calculada a partir de la información otorgada por un modelo identificado, controlará apropiadamente la planta con todas las ventajas ya mencionadas.

Este documento está organizado de la siguiente forma: inicialmente se realiza una breve explicación de la técnica de identificación paramétrica, luego se expone la manera de utilizar el teorema de descomposición en valores singulares (SVD) para determinar el orden apropiado de un modelo del sistema físico. Después se plantea la técnica de control adaptativo y finalmente se presentan los resultados y conclusiones.

En este documento los escalares se denotarán con letras minúsculas (b); los vectores se denotarán con letras minúsculas en negrita y con una barra superior (b). Las matrices de denotarán en letras mayúsculas en negrita y con una barra superior (B). En un escalar, un vector o una matriz el subíndice (k) indica que dicho elemento fue calculado en el instante de muestreo k.

Para el desarrollo de este trabajo se usó un prototipo de péndulo invertido de la marca Feedback con referencias 33-200 (unidad mecánica) y 33-201 (etapa de potencia), el cual se encuentra en el Laboratorio de Investigación en Sistemas de Control del programa de Ingeniería Eléctrica de la Universidad Tecnológica de Pereira y se muestra en Fig. 1.

La implementación del controlador se realizó utilizando la aplicación Simulink de Matlab 6.5, ya que esta contiene la interfaz de comunicación con el sistema de Feedback. Los algoritmos de identificación y control se programaron en lenguaje C dentro de los bloques “S-function Builder” de Simulink.

2. Metodología

2.1 Identificación del modelo numérico

Para la estimación de un modelo numérico de un sistema a partir de las muestras de sus señales de entrada y salida, se debe definir el tipo de modelo a utilizar. Para esto se toma una función de transferencia genérica como se muestra en (1). El numerador es el polinomio B(q-1) = b0 + b1q-1 + ... + bnq-n de orden n y como denominador se tiene un polinomio A(q-1) = 1 + a1q-1 + ... + amq-m de orden m (Aguado & Martínez, 2003; Goodwin & Sin, 1984; Simon, 2006).

Se define la acción del operador de retardo q-j como, q-ju(k) = u(k-j), esto permite reescribir (1) como la ecuación en diferencias (2):

La expresión en (2) se puede escribir matricialmente en términos del producto entre un vector de parámetros θ = (-a1 ... -amb0 ... bn), y un vector columna conformado por muestras actuales y pasadas de la entrada y la salida del sistema h = (y(k-1) ... y(k-m)u(k) ... u(k-n)), tal y como se indica en (3). Este producto arroja como resultado una estimación para la respuesta del sistema en el instante k ante una excitación puntual u(k), es decir:

Para que la estimación ŷ(k) sea muy aproximada a la respuesta real y(k) se deben ajustar los parámetros contenidos en el vector θ, para esto es necesario construir un vector de estimaciones ŷ = (ŷ(1) ... ŷ(L)] que se expresa como el producto entre el vector de parámetros θ y una matriz HT cuyas columnas corresponden al vector h-T calculado para k = 1,2,3 …, L, como se muestra en (4).

Se define el error de estimación e como e = y - ŷ = y - θHT, donde y es un vector que almacena los valores de la salida del sistema. Luego se plantea un problema de optimización irrestricto, cuya función objetivo es el error cuadrático de estimación en función de los parámetros θ:

Para encontrar los valores de θ que minimizan el índice de desempeño J en (5), es necesario igualar a cero el gradiente de J, es decir:

De (6) se tiene que los parámetros que minimizan el error cuadrático de estimación son:

Los cuales corresponden a un mínimo (esto se verifica con la hessiana de J). La ecuación (7) se conoce como el método de mínimos cuadrados fuera de línea, debido a que no permite estimar los parámetros para cada instante de muestreo, ya que requiere de cálculos bastante exigentes computacionalmente, por ende este método no permite la implementación de un control adaptativo. Sin embargo, es de vital importancia pues es el paso inicial para encontrar un algoritmo que sea recursivo y que se actualice con cada muestra sin necesidad de cálculos demasiado exhaustivos. Otra utilidad de (7) es que puede aplicarse como generador de parámetros iniciales para los algoritmos recursivos.

Para encontrar un algoritmo recursivo se utilizan los parámetros θ calculados para el instante L mediante (7) y se actualizan utilizando información del instante L+1 con la misma ecuación. Por comodidad, esta última se replantea como se indica en (8) y (9).

Después de una manipulación algebraica que por motivos de espacio no se especificará (Åstrom & Wittenmark, 1994; Goodwin & Sin, 1984; Saldarriaga & Henao, 2009) se obtienen (10), (11) y (12), las cuales corresponden al método de mínimos cuadrados recursivo (MMCR).

La ecuación (10) representa la actualización de los parámetros en el instante L+1 a partir de los parámetros del instante Le información como el error de identificación e(L+1) y el vector de entrada-salida actualizado para el instante L+1. La expresión en (12) representa la actualización de la matriz C conocida como matriz de covarianza, la cual tiene la característica de tender a cero cuando el error de identificación también lo hace.

2.2 Consideraciones importantes para la obtención de un buen modelo

Uno de los aspectos principales a tener en cuenta para identificar un modelo numérico de un sistema físico, es el orden requerido en dicho modelo. Con el orden adecuado se obtendrá una mejor representación de la dinámica del sistema. Un orden muy bajo no permite capturar adecuadamente el comportamiento del sistema mientras que por el contrario, un orden muy alto dificulta la tarea de control y pueden aparecer oscilaciones no deseadas en el modelo.

En el proceso de selección del orden adecuado del sistema se recomiendan las siguientes opciones: si se tiene conocimiento previo del comportamiento del sistema y un modelo aproximado, lo más cómodo es utilizar esta información, de lo contrario se recomienda utilizar el teorema de descomposición en valores singulares (SVD) (Saldarriaga & Henao, 2009); que permite encontrar los valores singulares de una matriz. Como ya se sabe del álgebra lineal, estos valores están estrechamente ligados con los valores propios, los cuales entregan una noción de que tan diversa es la información almacenada en la matriz. Por lo tanto, si esta contiene información de la entrada y salida del sistema ante diferentes excitaciones (que deben ser ricas en frecuencia), se puede obtener una idea de cuáles son los valores propios que más aportan a la diversidad de la información almacenada en ella. El teorema SVD se usa para encontrar una matriz de orden inferior que represente adecuadamente la información almacenada en la matriz de datos inicial.

Para determinar el orden del modelo del sistema real se procede como sigue: Se construye una matriz de orden superior al esperado (7 u 8), la cual contenga información de entrada y salida del sistema, organizada como la matriz H T presentada en (4). Si la información almacenada es lo suficientemente representativa de la dinámica del sistema (lo cual depende de que tan variante sea la señal de excitación), entonces se puede concluir que el número de valores singulares más representativos corresponde al orden adecuado del modelo, el cual es equivalente al número de polos.

En la construcción de un modelo adecuado del péndulo invertido es necesario tener en cuenta que se trata de una planta no lineal, lo cual implica que sus parámetros dependen del punto de operación deseado (Brock, 2002). Además, el control se aplica en un punto de operación inestable, es por esto que para obtener la información necesaria para construir la matriz H T se aplica inicialmente un control clásico de reubicación de polos, el cual se encarga de mantener el sistema alrededor del punto de interés (en este caso la vertical arriba).

Para determinar el orden del modelo del sistema de prueba se tomaron las muestras que se presentan en la Tabla 1, estas corresponden al ángulo de la barra (Φ), la posición del carro (X) y la señal de control (U), las cuales se obtuvieron con un tiempo de muestreo de 60 ms alrededor del punto de operación y con el controlador anteriormente descrito.

Posteriormente, con los datos de la Tabla 1, se construye la matriz H T de 7x15 (El valor 7 corresponde al orden supuesto inicialmente, y 15 es el número de muestras) y se calcularon sus valores singulares, para lo cual se utilizó el comando svd de Matlab; los resultados se muestran en la Tabla 2.

Como se puede observar los valores singulares más representativos son los primeros cuatro, por lo tanto se concluye que el modelo más apropiado para la representación del péndulo invertido debe ser de orden 4.

2.3 Control adaptativo por reubicación de polos

Se pretende diseñar una ley de control que permita reubicar los polos del sistema en lazo cerrado en forma arbitraria, para esto se plantea el esquema de control mostrado en la Fig. 2 (Giraldo & Tabares, 1997a; Goodwin & Sin, 1984; Ogata, 1996)

El esquema de la Fig. 2, presenta la siguiente función de transferencia en lazo cerrado:

donde:

Como ya se mencionó, se pretende que el denominador de (13) tenga una forma deseada (según las especificaciones de diseño), por lo tanto se deben escoger adecuadamente los coeficientes de los polinomios P(q-1)L(q-1) y L(q-1) mostrados en (14) de tal manera, que se satisfaga la siguiente ecuación:

Donde A*(q-1) es el polinomio deseado, A(q-1) y B(q-1) son polinomios que contienen los coeficientes estimados del denominador y del numerador de la planta respectivamente.

Para encontrar los parámetros del controlador se comparan término a término los miembros de (15), La representación matricial de las ecuaciones resultantes se muestra en (16):

Al invertir la matriz Me se calculan los coeficientes del controlador, y con estos se procede a plantear la señal de control, tal y como se muestra en (17) y (18):

3. Resultados

Como se mencionó inicialmente, el objetivo de este trabajo es mostrar la efectividad de la técnica de control adaptativo por reubicación de polos, y por tal motivo se decidió aplicarla al péndulo invertido. Como sistema de prueba se utilizó un modelo FEEDBACK 33-200, y en la programación en SIMULINK el bloque “S-Function Builder” de MATLAB, el cual permite la ejecución del código en tiempo real sobre el sistema, y por último los códigos fueron desarrollados en C++ y MATLAB.

En la Fig. 3a se presenta una imagen detallada del sistema, en la que se ilustran sus componentes principales, en la Fig. 3b se muestra el punto de operación del péndulo y se esboza uno de los mayores y más comunes inconvenientes de los sistemas reales, la zona muerta, que en este caso aparece debido al poco efecto que tienen ángulos relativamente pequeños de la barra sobre la posición lineal del carro (-40° ≤ θ ≤ 40°).

Para un control calculado a partir de leyes físicas esto podría ser un inconveniente, puesto que teóricamente se demostró que el péndulo invertido no es controlable si se toma como salida del sistema la posición de la barra (Giraldo & Tabares, 1997b), esto debido a que cuando se plantea el modelo se esconden dos polos, quedando así una sola opción: calcular la ley de control a partir de un modelo que tome como salida la posición del carro. En este caso no se tiene problema con los polos pero si con la zona muerta (del carro con respecto a la barra), ya que se tiene una zona para la cual el controlador no es sensible ante cambios del ángulo.

Sin embargo, para una ley de control adaptativa no existe el problema de los polos escondidos, debido a que el identificador siempre intentará encontrar coeficientes que permitan obtener un modelo que reproduzca la dinámica en cuestión, por lo tanto el identificador siempre encontrará el número de polos indicado. Es por esto que se insiste en que aunque el modelo identificado tenga el mismo comportamiento que el sistema, sus parámetros no tienen ningún significado físico y por lo tanto en ningún momento se debe esperar que el identificador encuentre un modelo con parámetros similares al modelo calculado con leyes físicas.

En la Fig. 4 se presentan los resultados obtenidos aplicando un controlador adaptativo por reubicación de polos, para esto se identificó un modelo de orden 4 mediante el MMCR, para el cual se tomó como señal de entrada la tensión aplicada al amplificador de potencia del motor DC y como señal de salida la posición angular de la barra (θ = 0 en la vertical de arriba). Se reubicaron todos los polos del sistema en un valor de 0,3 en el plano Z con un tiempo de muestreo de 60 ms.

Se puede notar como el controlador logra adaptarse exitosamente a la dinámica del péndulo y así consigue realizar un control satisfactorio.

Para comprobar en comportamiento adaptivo del controlador, se utilizó el mismo controlador aplicado en caso anterior, para controlar la posición del carro del péndulo invertido, dejando oscilar libremente la barra alrededor de la vertical abajo y se consideró dicha oscilación como una fuerte y constante perturbación sobre el sistema. Tal y como se aprecia en la Fig. 5, el resultado es satisfactorio puesto que se logró un muy buen seguimiento de la referencia (línea tipo escalón) por parte del carro, a pesar de la presencia constante de la perturbación ocasionada por la barra.

4. Conclusiones

En este trabajo se desarrolló un controlador adaptativo por reubicación de polos aplicado (i) al péndulo invertido y (ii) a la posición del carro con la barra oscilando libremente. En el caso del péndulo invertido se calculó el orden adecuado usando el teorema SVD y aplicando una entrada persistente, para así incluir una información completa de la dinámica del sistema.

En comparación con los modelos desarrollados con base en leyes físicas, los modelos obtenidos a partir de identificadores paramétricos presentan grandes ventajas, dado que estos se ajustan mejor a la dinámica del sistema, sin despreciar ningún fenómeno perceptible, lo que hace que el control sea más robusto.

Otro aspecto importante a la hora de implementar un controlador es la selección del tiempo de muestreo, esto debido a que si este es muy pequeño la magnitud de la señal de control aumenta y se corre el riesgo de entrar en la zona de saturación de los actuadores, pero si por el contrario se escoge un valor muy grande, es posible perder el control del sistema, esto debido a que por un largo periodo de tiempo se aplica un valor constante como entrada de control.

Por último, para la selección del tiempo de muestreo y los polos del sistema se recomienda realizar pruebas experimentales iterativas, en donde se inicie con tiempos de muestreo pequeños y polos cercanos al límite de estabilidad y luego se aumente el tiempo de muestreo y se lleven los polos lentamente hacia el origen del plano z, hasta que se encuentre una respuesta satisfactoria.

Referencias

Aguado, A. & Martinez, M., (2003); Identificación y control adaptativo, 1ª edición, 37-84, Prentice-Hall, Madrid, España.         [ Links ]

Åstrom, K. J. & Wittenmark, B., (1994); Adaptive Control, 2a edición, 41-135, Addison-Wesley Longman Publishing Co., Boston, USA.         [ Links ]

Brock, S., (2002); Identification of the Parameters in Inverted Pendulum Model, IEEE conference publications, 316-321.         [ Links ]

Giraldo, D. & Tabares, I., (1997a); Teoría de Control, 1ª edición, 265-278, Universidad Tecnológica de Pereira, Pereira, Colombia.         [ Links ]

Giraldo, D & Tabares, I., (1997b); Frecuencias Escondidas en Sistemas Lineales. Revista Scientia et Technica. No 5, 33-38.         [ Links ]

Goodwin, G. C. & Sin, K. S., (1984); Adaptive Filtering, Prediction and Control, 1a edición, 47-228, Prentice Hall, New York, USA.         [ Links ]

Ogata, K., (1996); Sistemas de Control en Tiempo Discreto, 2ª edición, 377-474, Prentice Hall, Edo de México, México.         [ Links ]

Saldarriaga, C. & Henao, J. (2009); Identificación de Parámetros y Control de un Péndulo Invertido, Tesis de Titulación, Programa de Ingeniería Eléctrica, Universidad Tecnológica de Pereira, Pereira, Colombia.         [ Links ]

Simon, D., (2006); Optimal State Estimation, 1a edición, 3-102, John Wiley & Sons, New Jersey, USA.         [ Links ]

Creative Commons License Todo el contenido de esta revista, excepto dónde está identificado, está bajo una Licencia Creative Commons