CONTROL ADAPTATIVO EMBEBIDO
F. Pedraza%, F. Segura, C+. Camargo *A. Gauthier+
{fpedraz, fsegura, agauthie}@uniandes.edu.co, [email protected]
* Profesor del Departamento de Ingeniería Eléctrica & Electrónica Universidad Nacional de Colombia, Bogotá+ Profesores del Departamento de Ingeniería Eléctrica & Electrónica Universidad de los Andes, Bogotá
% Estudiante de Ingeniería Electrónica Universidad de los Andes, Bogotá.
RESUMEN
En este documento se presenta información relevante acerca del control adaptativo y su implementación sobreplataformas embebidas. El sistema desarrollado en este proyecto presenta ventajas de versatilidad, siendo capaz de manejardiversos esquemas de control de procesos SISO; y de portabilidad, utilizando elementos de fácil manipulación. Comologros más destacados alcanzados en este trabajo, se destacan: obtención de un regulador autoajustable (STR) parasistemas de hasta quinto orden; desarrollo de librerías en control, identificación e interfaz para el sistema operativo detiempo real eCos. Se realizaron modelos en MATLAB que permiten realizar pruebas a priori de las capacidades delsistema. Por las simulaciones realizadas, se observó la necesidad de introducir mejoras al algoritmo de control quepermitan el manejo de señales de prueba generadas dentro del dispositivo. En general, este proyecto ha abierto la puertapara la implementación de diferentes esquemas de control adaptativo y su posterior verificación de manera experimental.
CONTROL ADAPTATIVO EMBEBIDO
F. Pedraza%, F. Segura, C+. Camargo *A. Gauthier+
{fpedraz, fsegura, agauthie}@uniandes.edu.co, [email protected]* Profesor del Departamento de Ingeniería Eléctrica & Electrónica Universidad Nacional de Colombia, Bogotá
+ Profesores del Departamento de Ingeniería Eléctrica & Electrónica Universidad de los Andes, Bogotá% Estudiante de Ingeniería Electrónica Universidad de los Andes, Bogotá.
RESUMEN
En este documento se presenta información relevanteacerca del control adaptativo y su implementación sobreplataformas embebidas. El sistema desarrollado en esteproyecto presenta ventajas de versatilidad, siendo capaz demanejar diversos esquemas de control de procesos SISO; yde portabilidad, utilizando elementos de fácil manipulación.
1. INTRODUCCIONEl desarrollo del control adaptativo ha sido necesario para elmanejo de procesos cuyas dinámicas cambian continuamentey cuyas variaciones no pueden ser previstas. En esos casoslos esquemas de control tradicional no han sido capaces depresentar soluciones adecuadas.
A pesar de las ventajas que representa contar concontroladores adaptativos, existen algunas limitaciones quehan impedido el desarrollo e implementación de estos enprocesos reales. Entre estas, se encuentra la demora queimplica el cálculo que se debe realizar para obtener losparámetros del controlador. Una de las solucionesplanteadas, es la de contar con arrancadores que lleven alproceso a puntos de estabilidad, desde los cuales sea posibleactivar métodos de adaptación que optimicen la respuesta delsistema. Sin embargo, un reto mayor se presenta al no contarcon este tipo de arrancador para el ajuste rápido en la primerainstancia del control; para esto se hace necesario el desarrollode sistemas que permitan a los controladores auto ajustarsede forma eficaz pero de forma eficiente; llegando a obtenerlos resultados deseados.
En este proyecto se presenta una arquitectura que permite laimplementación de diferentes esquemas de controladaptativo, así como posibles combinaciones entre estos,haciendo posible el planteamiento y puesta a punto desoluciones rápidas, capaces de superar las demandasimpuestas por la sociedad actual (precio, tiempo de salida almercado, versatilidad, etc.).
2. CONTROL ADAPTATIVOExisten muchos procesos en los cuales la dinámica y/o las
características de las perturbaciones cambian continuamente,haciendo necesario el desarrollo de controladores adaptables,capaces de ajustar sus parámetros de forma continua. Estoscontroladores tienen una estructura especial, caracterizadapor dos ciclos esenciales; por un lado, el ciclo derealimentación normal, en el cual se encuentra el controlador(de parámetros ajustables), y el proceso o planta; y por elotro, se encuentra el ciclo encargado del ajuste de losparámetros del controlador. Es en este último ciclo en el quese diferencian realmente los esquemas de control adaptativo.Algunos de los cuales son: Programación de Ganancia,Sistema Adaptativo por Modelo de Referencia (MRAS),Regulador AutoAjustable (STR) y Control Dual oEstocástico.
Controlador
Ajuste deParámetros
Planta SalidaEntrada
Señal deControl
ParámetrosControlador
Fig. 1. Diagrama de Bloques de un Sistema AdaptativoGeneralizado
2.1 Regulador AutoAjustable (STR):En este esquema de control adaptativo, los parámetrosdel proceso son estimados en línea (recursivamente),para con éstos, ajustar los parámetros del controlador. Elciclo de ajuste, entonces, puede representarse separadoen dos bloques; uno, encargado de la identificación, yotro, encargado del diseño.
Controlador Proceso
EstimaciónDiseñoControlador
Regulador autoajustable
ParámetrosControlador
Referencia
EntradaSalida
Parámetros del ProcesoEspecificación
Fig. 2. Diagrama de Bloques de un STR
3. IDENTIFICACIÓN DE SISTEMASEn la estructura de los STR (Figura 2.) se evidencia laimportancia que tiene el bloque de Identificación, ya que deél, depende que el ajuste del controlador se realice de formaadecuada. Para lograr que los parámetros del proceso seanestimados correctamente, es necesario seleccionar laestructura del modelo que mejor se ajuste a las característicasreales del proceso.
La representación matemática del modelo, puede ser escritacomo
y t =−a1 y t−1 −a2 y t−2 −−an y t−n b0 u t−d 0 bm u t−d 0−m = T t−1
(1)donde:
T=a1 a2 an b0 bm T t−1=−y t−1 −y t−n u t−d0 u t−d0−m 3.1. Estimador Recursivo por mínimos Cuadrados con
Factor de Olvido
Es utilizado para la estimación recursiva de los parámetrosen λ, y esta dado por el siguiente conjunto de ecuaciones:
t = t−1 K t t t =y t − T t−1 t−1 K t =P t−1 t−1 T t−1 P t−1 t−1 −1
P t = I−K t T t−1 P t−1
(2)donde:
0≤1 , es el factor de olvido. A medida que este se
acerca a 1, la estimación de los parámetros pierdesensibilidad, pero gana estabilidad.
P t es la matriz proporcional a la covarianza. Al
inicializarla con valores muy altos, la estimación inicialva a converger rápidamente.
La identificación por medio de este método, se utiliza paraprocesos cuyos cambios se realizan de forma lenta.
3.2.Ejemplo: Motor DC.
Como prueba, se utilizó el modelo de velocidad angular deun motor DC. Con función de transferencia es:
V=
KJsb LsR K 2
(3)
donde:
J [kg.m^2/s^2]: Momento de inercia del rotor.b[Nms]: Cociente de amortiguación del sistema mecánico.K[Nm/Amp]: Constante de fuerza electromecánica.R[ohm]: Resistencia eléctrica.L[H]: Inductancia eléctrica.V[V]: Voltaje de entrada.
[rad/s]: Velocidad angular del eje.
Se utilizó un motor con los siguientes valores: J=0.01,b=0.1, K=0.01, R=1, L=0.5, y con un tiempo de muestreo de0.5 segundos, se obtuvo la siguiente función de transferenciadiscreta:
y t u t
=0 . 05417 z0 . 008598
z2−0 .3742 z0 . 002479(4)
De donde se obtiene: b1=0.05417, b2=0.008598, a1=-0.3742 y a2=0.002479.
tiempo (s)Gráf. 1. Valor numérico de la estimación de los parámetros
a1 y b1 del motor como función del tiempo transcurrido.
Es posible apreciar en la Gráfica 1 que la convergencia esrelativamente lenta, ya que se estabiliza aproximadamente en1000s. Si cambiamos los valores de inicialización,
aumentando P 0 o disminuyendo λ, la estimación se
realizará mucho más rápido.
Ahora, si se introduce un cambio iniciando en t=1000shasta t=1200s. Se obtiene el siguiente resultado
tiempo (seg)Gráf. 2. Valor numérico de b1 en función del tiempo
transcurrido. Para J(t<1000)=0.001, J(1000<=t<1200)=0.001+0.0005t, J(2000<t)=0.11
En la Gráfica 2 se observa como el valor de λ , afecta la
respuesta del algoritmo (2). Vemos sin embargo, que debidoa que la variación de J es lenta, la estabilidad del sistema seconserva.
En el dispositivo desarrollado se inicializan las variables deforma manual, aunque es posible mantenerlos con datospreestablecidos. Esto permite utilizar el conocimiento que setenga del proceso para mejorar la respuesta del controlador.
4. MDPP1 CON CANCELACION DE CEROS
Se escoge un controlador lineal R, S, T del tipo mostrado enla Figura 3.
Ru = Tuc Sy A/By
uc Controlador
u
Proceso
Fig. 3. Controlador Lineal Generalizado
Donde: AB
representa la función de transferencia discreta
del proceso,
A q y t =B q u t (5)
A q =qna1 qn−1an
B q =b0 qmb1 qm−1bm
El sistema de lazo cerrado es:
1Minimum Degree Pole Placement
y t = BTARBS
uc t (6)
u t = ATARBS
uc t (7)
Para sintonizar el controlador, deben encontrarse R y S, talque, el denominador de la Ecuación (6) tenga lascaracterísticas deseadas.
4.1 Diseño del controlador
Para realizar el diseño debe tenerse la función detransferencia de lazo cerrado deseada, expresada por los
polinomios Am y Bm , y además un polinomio de
observación A0 . Estas son introducidas por el usuario al
momento de iniciar el programa de control.
Teniendo entonces la ecuación:
Am y t =Bm uc t (8)
Es posible entonces iniciar el diseño del controlador.Primero, es necesario verificar las siguientes condiciones de
compatibilidad:
deg Am=deg A , deg Bm=deg B ,
deg A0=deg A−deg B−1
Bm=B− Bm'
En el caso del dispositivo desarrollado, esta verificación serealiza internamente para evitar posibles errores por parte delusuario; permitiéndole únicamente el ingreso de valoresdisponibles para estos polinomios.
El polinomio numerador en la función de transferencia delazo abierto debe factorizarse de la siguiente manera,
B=B B− con B mónica.
Se soluciona la ecuación de Diophantine, teniendo en
cuenta que deg Sdeg A
AR'B−S=A0 Am (9)
Y se obtienen los valores de los polinomios del controlador
R=R' B y T=A0 Bm'
. Con éstos se calcula la señal
de control.
Todo el proceso del diseño del controlador se realizautilizando los datos provenientes de la identificación,asumiendo que los parámetros estimados por ésta son losreales. Antes de llegar a obtener la respuesta deseada, elsistema pasa por un estado transitorio, en el cual, la señal decontrol oscila entre los valores máximo y mínimo permitidos.Para probar el controlador se utilizó la función detransferencia del motor DC expresada en la Ecuación (3).
Gráf. 3. Velocidad angular del motor DC en función deltiempo Am={1 -1 0.4} Para J(t<1000)=0.001, J(1000<=t<1200)
=0.001+0.0005t, J(2000<t)=0.11
En la Gráfica 32 se aprecia como el comportamiento de larespuesta del sistema en lazo cerrado se ve afectado por lavariación de J. La respuesta que se observa entre 900 y 1000s es la deseada. Ahora bien; si se utiliza el modulo deidentificación para generar los parámetros de A y Bnecesarios para el diseño, obtenemos la Gráfica 4. En la cual,se observa un período de transición mientras los estimadoresde los parámetros del modelo se estabilizan. Luego de estetiempo, la respuesta que se obtiene del proceso se mantieneigual a la deseada. Aquí se evidencian claramente las ventajasdel control adaptativo; que permitió, a pesar de los cambiosen el proceso, mantener “constante” la respuesta de lazocerrado.
Gráf. 4. Velocidad angular en función del tiempo.Se utilizó el algoritmo completo para control STR
2 Las variables del algoritmo de identificación utilizado para
obtener la Gráfica 3, son: T=0 . 02 0 .1 0 0 ,
P1,1 0 =P2,2 0 =P3,3 0 =P4,4 0 =100 y λ=1
Las variables del algoritmo de identificación utilizado paraobtener la Gráfica 3, son:
T=0 .02 0 .1 0 0 ,
P1,1 0 =P2,2 0 =P3,3 0 =P4,4 0 =100 y
=1 .
5. SISTEMAS EMBEBIDOS3
Uno de los principales impulsos para el desarrollo delcontrol adaptativo, provino de los rápidos avancestecnológicos en los microprocesadores, que permitieronimplementar las leyes asociadas a este tipo de control.
El siguiente paso es entonces la utilización de sistemasembebidos como plataforma para este tipo de desarrollo.Permitiendo probar al máximo las capacidades decontroladores adaptaivos especializados. La Arquitecturaescogida para implementación del controlador adaptativo seencuentra conformada por la tarjeta XPORT 2.0 [12] y elGameBoy Advanced (GBA) de Nintendo [13], y cuyodiagrama de bloques se presenta en la Figura 4..
FPGAS partan II
150K
Cport
CPLD
Flash4Mbytes
Conector I/O64 pines
S DRAM16Mbytes
ARM7TDMIGamePad10 Botones
Pantallaa Color
Parlante
JT AG
Xport 2.0
GBA
Fig. 4. Diagrama de Bloques Xport 2.0 + GBA
5.1. Tarjeta de expansión
Esta tarjeta fue diseñada para brindar la capacidad detrabajar como un sistema de control adaptativo completo, escapaz de recibir información por parte del usuario einteractuar con este; y lo más importante, permite utilizar lasdiferentes técnicas de control adaptativo con el fin de buscarlas soluciones más eficientes al momento de controlarcualquier proceso.
3 sistemas electrónicos basados en el diseño conjunto deHardware (HW) y Software (SW), desarrollados paracumplir tareas específicas.
5.2. Interfaz con en usuario
El sistema de control desarrollado en este proyecto (STR)no es ciento por ciento autónomo; ya que es necesario que lesean introducidos ciertos parámetros que permitan elfuncionamiento tanto del bloque de identificación como el decontrol. Es posible sin embargo, que algunos de éstos, seanutilizados en valores predeterminados, dependiendo del tipode proceso que se desea controlar y de la respuesta que sedesea obtener del sistema como tal.
5.3.Interfaz con el procesoEl algoritmo de identificación LSE por un lado necesita
tener los datos de la entrada “ut” y de la salida del proceso“y”; y el de control por el otro, requiere además de lareferencia “uc”. Para la obtención de estos datos, se utilizó unconversor análogodigital de 8 canales con una precisión de 8bits por dato.
Fig. 5. Plataforma Culminada.6. RESULTADOS Y CONCLUSIONES● Se desarrolló e implementó una tarjeta de expansión,
que puede ser utilizada junto al GBA y el XPORT paraprobar sistemas de control discreto tanto adaptativoscomo tradicionales.
● Se implementó por completo un controlador STR concapacidad para manejar procesos hasta de quinto orden.
● Existen otras aplicaciones de las que se puede tomarprovecho, como lo son: interfaz GBAteclado,visualización de señales análogas (7 en total), libreríaspara control STR, salida análoga desde el GBA, etc.
● Se diseñaron en MATLAB librerías destinadas alcontrol adaptativo STR; tanto para la identificacióncomo para diseño de controladores lineales.
● Existen algunos problemas debidos a la cuantización delas señales, que resultan más evidentes a medida que sedisminuye el factor de olvido.
● El tiempo de muestreo debe encontrarse por encima de0.1s. Los cálculos que se realizan en el procesador,toman demasiados ciclos de máquina. A pesar de que serealizó una optimización de las operaciones, no fueposible disminuir este tiempo. Para aumentar disminuirel tiempo de muestreo, se deben realizar algunasoperaciones en Hardware dentro de la FPGA.
● Del tiempo requerido para el procesamiento, laidentificación utiliza aproximadamente el 70%.
8. REFERENCIAS
[1] Astrom K. J. and B. Wittenmark, 1995. Adaptive Control, 2a
edición. AddisonWesley. [2] Sastry S. and M. Bodson, 1989. Adaptive Control: stability,convergence and robustness. Englewood Cliffs, N.J.: PrenticeHall.[3] Ljung L., 1998. System Identification: Theory for the User.2a edición. PrenticeHall. [4] Ogata K., 1994. DiscreteTime Control Systems. 2a edición.Pearson Education.[5] Vélez C. M., 2003. Control Adaptativo aplicado a unPéndulo Invertido. Universidad EAFIT. Medellín. [6] Rodríguez, Rafael. Sistema Operativo en Tiempo Real(RTOS) para MicroPPARM.[7] Charmed Labs., 2003. Xport 2.0 User Guide. Versión 1.4.Disponible en: www.charmedlabs.com.[8] Charmed Labs., Xport 2.0 Custum Configuration Tutorial.Versión 2.2.Disponible en: www.charmedlabs.com.[9] University of Michigan., 1997. Control Tutorials for Matlab.Disponible en: http://www.engin.umich.edu/group/ctm/examples/examples.html[10] Programa para el curso de Adaptive Control. Lund Instituteof Technology. Disponible en:http://www.control.lth.se/~kursar/[11] A course in Neural Networks for System Identification andControl. Technical University of Denmark. Disponible en:http://www.iau.dtu.dk/nnbook/Files/course5.pdf[12] www.charmedlabs.com[13] www.nintendo.com