CONTROL DIGITAL Control de sistemas discretos (Péndulo simple) INTRODUCCIÓN Actualmente existen diversos avances tecnológicos en los que intervienen diversos sistemas físicos que por naturaleza son no lineales. Los péndulos invertidos se han convertido en unos dispositivos muy populares para el análisis de control no-lineal y para propósitos educativos. Los péndulos se utilizaron inicialmente como bancos de pruebas para la aplicación de conceptos de control lineal y no lineal. El siguiente trabajo pretende introducir en conjunto, temas teóricos (vistos en clases) en relación con un ejemplo real donde se puedan desarrollar e ilustrar conceptos tales como: los de un sistemas y su clasificación; modelo matemático asociado y sus formas de representación; discretización, retroalimentación y control (vía ubicación de polos); observación de variables del sistema por medio de su salida y control óptimo cuadrático en referencia a índices de optimización. El desarrollo de este trabajo se utilizó algunos comandos de la herramienta Matlab para el desarrollo y resolución de algunos puntos (Control System Toolbox). DESARROLLO En este trabajo se tratará de ilustrar una serie de conceptos teniendo en consideración el sistema mostrado en la figura 1: Figura 1 Péndulo simple Las ecuaciones que describen el movimiento del péndulo, están dadas por las siguientes ecuaciones: 𝐽𝜃̈ = 𝑚𝑔𝑙𝑠𝑒𝑛𝜃 − 𝑓𝑙 2 𝜃̇ + 𝑇 Si J= ml2 sustituyendo el modelo tenemos: CONTROL DIGITAL 𝜃̈ = −𝑔 𝑓 𝑇 𝑠𝑒𝑛𝜃 − 𝜃̇ + 2 𝑙 𝑚 𝑚𝑙 Consideramos: m=0.2kg, l=1m, g= 9,8 m/s2 REPRESENTACIÓN EN ESPACIO DE ESTADOS Este método se basa en la descripción del sistema en términos de 𝑛 ecuaciones en diferencia o diferenciales de primer orden, que pueden combinarse en una ecuación en una ecuación matricial en diferencias o diferenciales de primer orden. La utilización de la notación matricial simplifica en gran medida la representación matemática de los sistemas de ecuaciones. El diseño del sistema mediante el uso del concepto de espacio de estado permite diseñar sistemas de control con respecto a índices de desempeño dados. Además, el diseño en el espacio de estados se puede realizar para toda una clase de entradas, en lugar de una función de entradas especifica como la función impulso, la función escalón o la función senoidal. Asimismo, los métodos en el espacio de estados permiten incluir condiciones iniciales dentro del diseño. La representación en el espacio de estados está dada por 𝑥̇ = 𝐴𝑥 + 𝐵𝑢 𝑦 = 𝐶𝑥 A partir del modelo podemos representar la ecuación en espacio de estados como sigue: Si seleccionamos las variables 𝑥1 = 𝜃 𝑦 𝑥2 = 𝜃̇ Tenemos: 𝑥1̇ = 𝑥2 −𝑔 𝑙 𝑇 𝑥2̇ = 𝑠𝑒𝑛𝑥1 − 𝑥2 + 2 𝑙 𝑚 𝑚𝑙 Sustituyendo valores tenemos: sistema 1 𝑥1̇ = 𝑥2 𝑥2̇ = −9.8𝑠𝑒𝑛𝑥1 − 5𝑥2 + 5𝑇 CONTROL DIGITAL Puesto que el objetivo es estabilizar el sistema al ángulo δ definimos las siguientes variables: 𝑍1 = 𝑥1 − 𝛿 𝑍2 = 𝑥1̇ − 𝛿̇ = 𝑥2 δ es una cte. Por eso es cero su derivada, estas variables son variables de error. Escribamos al sistema 1 en las nuevas coordenadas Notemos que 𝑥1 = 𝑍1 + 𝛿 𝑍1̇ = 𝑍2 Sistema 2: 𝑍2̇ = −𝑔 𝑙 𝛿 𝑇 sin(𝑍1 + 𝛿) − 𝑚 𝑍2 + 𝑚𝑙2 𝛿 Dónde: b=𝑚 Puesto que el sistema 2 tiene un punto de equilibrio en el origen, el par (torque) debe tener una componente estática Tf que satisfaga: 0= Donde tenemos que: 𝑇𝑓 = Si 𝑎 = 𝑔 𝑙 𝑦 𝑐= 𝑎 𝑠𝑒𝑛𝛿 𝑐 −𝑔 1 sin(𝛿) + 2 𝑇𝑓 𝑙 𝑚𝑙 que es llamado compensación de la gravedad 1 𝑚𝑙2 Definimos una variable de control: 𝑣 = 𝑇 − 𝑇𝑓 𝑇 = 𝑣 + 𝑇𝑓 Reescribiendo el sistema 2 Sistema 3: 𝑍̇ 1 = 𝑍2 𝑍2̇ = 𝑎[𝑠𝑒𝑛 (𝑍1 + 𝛿) − 𝑠𝑒𝑛𝛿] − 𝑏𝑍2 + 𝑐𝑢 Como el sistema tiene ecuaciones no lineales, se realiza la linealización del sistema mediante series de Taylor, dado por: 𝐴= 𝜕𝑓(𝑥, 𝑢) 𝜕𝑓(𝑥, 𝑢) 𝐵= 𝜕𝑥 𝜕𝑢 CONTROL DIGITAL Este sistema tiene puntos de equilibrio en el origen lo que sigue es linealizar en dichos puntos: tenemos las siguientes matrices y sustituimos con sus valores tenemos: 𝜕𝑓1 𝜕𝑓 𝜕𝑍1 𝐴= = 𝜕𝑓2 𝜕𝑍 [𝜕𝑍1 𝜕𝑓1 𝜕𝑍2 0 =[ 𝜕𝑓2 −𝑎𝑐𝑜𝑠𝛿 𝜕𝑍2 ]𝑍1 ,𝑍2=0 𝐵= 1 0 1 ]=[ ] −𝑏 −9.8 −5 𝜕𝑓 0 0 =[ ]=[ ] 𝑐 5 𝜕𝑢 DISCRETIZACIÓN Para sistemas (lineales o no lineales) de tiempo discreto variante en el tiempo, la ecuación de estado se puede escribir como 𝑥(𝑘 + 1) = f[𝑥(𝑘), 𝑢(𝑘), 𝑘] Y la ecuación de salida 𝑦(𝑘) = 𝑔[𝑥(𝑘), 𝑢(𝑘), 𝑘] Para los sistemas lineales de tiempo discreto variante en el tiempo, la ecuación de estado y la ecuación de salida se pueden simplificar a 𝑥(𝑘 + 1) = 𝐺(𝑘)𝑥(𝑘) + 𝐻(𝑘)𝑢(𝑘) 𝑦(𝑘) = 𝐶(𝑘)𝑥(𝑘) + 𝐷(𝑘)𝑢(𝑘) donde 𝑥(𝑘)= vector 𝑛 𝑦(𝑘)= vector 𝑚 𝑢(𝑘)= vector 𝑟 𝐺(𝑘)= matriz 𝑛 × 𝑛 𝐻(𝑘)= matriz 𝑛 × 𝑟 𝐶(𝑘)= matriz 𝑚 × 𝑛 𝐷(𝑘)= matriz 𝑚 × 𝑟 Vector de estado Vector de salida Vector de entrada Matriz de estado Matriz de entrada Matriz de salida Matriz de transmisión directa Utilizando las herramientas de matlab para linealizar, este es código se muestra a continuación: CONTROL DIGITAL Utilizaremos un muestro de 0,5 seg. Con el método de muestreo que trabaja por defecto Matlab el ‘zoh’-Zero-order hold- que considera constantes a las entradas durante el periodo de muestreo. g=9.8; l=1; delta=45; f=0.1; m=0.2; b=-f/m; c=1/m.*l^2 a=-g/l d=-a.*cos(delta); A=[0 1; d -b ]; B=[0; c]; C=[1 0]; D=0 HC=ss(A, B, C, D) HD=c2d(HC, 0.5) Así obtenemos: HC = HD = a= a= b= u1 x1 0 x2 5 b= c= x1 x2 y1 1 0 c= x1 x2 y1 1 0 d= u1 y1 0 d= u1 y1 0 x1 x2 x1 0 1 x2 5.148 0.5 Continuous-time state-space model. x1 x2 x1 1.78 0.6978 x2 3.593 2.129 u1 x1 0.758 x2 3.489 Sample time: 0.5 seconds CONTROL DIGITAL Discrete-time state-space model. El sistema discretizado designado HD por matlab es el siguiente: { 𝑥1 (𝑘 + 1) = 1.78𝑥1 (𝑘) + 0.6978𝑥2 (𝑘) + 0.758𝑢(𝑘) 𝑥2 (𝑘 + 1) = 3.593𝑥1 (𝑘) + 2.129𝑥2 (𝑘) + 3.489𝑢(𝑘) ANALISIS DE CONTROLABILIDAD Se dice que un sistema de control es de estado completamente controlable, si es posible transferir el sistema de un estado inicial arbitrario a cualquier estado deseado (también un estado arbitrario), en un periodo finito. Es decir, un sistema de control es controlable si todas las variables de estado pueden ser controladas en un periodo finito, mediante alguna señal de control, entonces resulta imposible controlar esa variable de estado y, por lo tanto, el sistema es no controlable. Un sistema de control en tiempo discreto se define por (𝑘𝑇) + 𝑥((𝑘 + 1)𝑇) = 𝐺𝑥𝐻𝑢(𝑘𝑇) donde 𝑥(𝑘𝑇) = 𝑢(𝑘𝑇) = 𝐺= 𝐻= 𝑇= Vector estado (dimensión 𝑛) en el 𝑘-ésimo instante de muestreo Señal de control en el 𝑘-ésimo instante de muestreo Matriz de 𝑛 × 𝑛 Matriz de 𝑛 × 1 Periodo de muestreo En ecuaciones de estado la matriz G, H es: 1.78 0.6978 𝐺=[ ] 3.593 2.129 𝐻=[ 0.758 ] 3.489 El sistema es completamente controlable si y solo si el determinante de la matriz 𝑀 = [𝐻 𝐺𝐻] Es diferente de cero. 𝐺∗𝐻 =[ 3.7839 ] 10.1516 0.758 3.7839 𝐺𝐻] = |[ ]| = −5.5071 3.489 10.1516 El determinante es diferente de cero por lo tanto el sistema es controlable. 𝑀 = [𝐻 CONTROL DIGITAL ANALISIS DE OBSERVABILIDAD El concepto de observabilidad es dual al de controlabilidad, e investiga la posibilidad de estimar el estado del sistema a partir del conocimiento de la salida. El sistema se dice ser completamente observable si cualquier estado inicial 𝑥(0) puede determinarse a partir de la observación de 𝑦(𝑘𝑇) sobre un número finito de periodos de muestreo. El sistema, por lo tanto, es completamente observable, si cualquier transición del estado de manera eventual afecta a todos los elementos del vector de salida. El sistema de control en tiempo discreto sin excitación está definido por 𝑥((𝑘 + 1)𝑇) = 𝐺𝑥(𝑘𝑇) 𝑦(𝑘𝑇) = 𝐶𝑥(𝑘𝑇) donde 𝑥(𝑘𝑇)= 𝑦(𝑘𝑇)= 𝐺= Vector de estado (de dimensión 𝑛) en el 𝑘ésimo instante de muestreo Vector de salida (de dimensión 𝑛) en el 𝑘ésimo instante de muestreo Matriz de 𝑛 × 𝑛 C= Matriz de m x n El sistema es completamente observable si y solo si el rango de la matriz de observabilidad es máximo 𝐶 La matriz de observabilidad se escribe como 𝑈 = | | 𝐶𝐺 𝐶 = [1 0] 𝐶 ∗ 𝐺 = [1.78 0.6978] 1 𝑈=| 1.78 0 | = 0.6978 0.6978 Por lo tanto su determinante es diferente de cero, el sistema es completamente observable. CONTROL DIGITAL CONTROL POR UBICACIÓN DE POLOS Una vez hecho el análisis de controlabilidad y haber determinado que el sistema es de estado completamente controlable; además, si tenemos en cuenta que nuestro sistema ejemplo es estable, podemos hacerlo más estable aún(o desestabilizarlo según el caso); para ello podemos comenzar introduciendo un control simple a través de una ganancia de retroalimentación negativa. El método por ubicación de polos para el sistema péndulo se describe a continuación: tenemos el control 𝑢(𝑘) = −𝑘 𝑇 𝑥(𝑘) ⇒ 𝑥(𝑘) = (𝐺 − 𝐻𝑘 𝑇 )𝑥(𝑘) La selección de los polos en lazo cerrado o de la ecuación característica deseada, dependerá del efecto esperado; pudiendo éste ser basado en la velocidad de respuesta, amortiguación deseada, minimización de efectos adversos, ruidos etc. Para obtener el polinomio característico calculamos el determinante de |𝐼𝑠 − (𝐺 − 𝐻𝑘 𝑇 )| |𝐼𝑠 − (𝐺 − 𝐻𝑘 𝑇 )| = |( 𝑠 0 0 1.78 ) − (( 𝑠 3.593 0.6978 0.758 (𝑘 )−( ) 1 2.129 3.489 𝑘2 ))| = ⇒= 𝑠 2 + 𝑠(6.978𝑘2 − 3.909) + 0.817𝑘1 − 3.49𝑘2 + 1.282 A través de la prueba y error, podemos ir ubicando los polos teniendo en cuenta la sobreamortiguación o la subamortiguación, así como también, el tiempo de respuesta de establecimiento-rapidez- del sistema. Además, se debe tener en cuenta que los polos y ceros más cercanos al eje imaginario son los que más influyen en la respuesta (polos y ceros dominantes). Proponemos los siguientes polos Z=-1+i , Z=-1-i Por lo tanto el polinonio deseado es 𝑠 2 + 2𝑠 + 2 Igualamos los dos polinomios para encontrar el valor de lo k 𝑠 2 + 2𝑠 + 2 = 𝑠 2 + 𝑠(6.978𝑘2 − 3.909) + 0.817𝑘1 − 3.49𝑘2 + 1.282 ⇒ 2 = 6.978𝑘2 − 3.909 ⇒ 𝒌𝟐 = 𝟎. 𝟖𝟒𝟔𝟖 2 = 0.817𝑘1 − 3.49𝑘2 + 1.282 ⇒ 𝒌𝟏 = 𝟑. 𝟔𝟕 Una vez obtenida esa ganancia, podemos aplicársela al sistema y por ultimo visualizar como responde el sistema (por ejemplo con un impulso unitario) Por lo tanto CONTROL DIGITAL 𝑢(𝑘) = −(3.67 0.8468)𝑥(𝑘) DISEÑO DEL OBSERVADOR Para este paso es necesario obtener la ecuación característica a partir del determinante pero ahora recordemos que involucra la matriz C que corresponde a la salida. |𝑠𝐼 − (𝐺 + 𝑘𝑜𝑏𝑠 𝐶)| = 𝑠 |( 0 0 1.78 ) − (( 𝑠 3.593 𝑘 𝑠 − 1.78 − 𝑘𝑜𝑏𝑠1 0.6978 ) + ( 𝑜𝑏𝑠1 ) (1 0))| = |( 𝑘𝑜𝑏𝑠2 −3.593 − 𝑘𝑜𝑏𝑠2 2.129 −0.6978 )| 𝑠 − 2.129 ⇒= 𝑠 2 + 𝑠(−3.909 − 𝑘𝑜𝑏𝑠1 ) + 1.282 + 2.129𝑘𝑜𝑏𝑠1 − 0.6978𝑘𝑜𝑏𝑠2 Proponiendo los siguientes polos s=-0.5+0.5i polinomio y s=-0.5-0.5i tenemos el siguiente 𝑠 2 + 𝑠 + 0.5 Igualando términos encontraremos la k del observador, por lo tanto: 𝑠 2 + 𝑠 + 0.5 = 𝑠 2 + 𝑠(−3.909 − 𝑘𝑜𝑏𝑠1 ) + 1.282 + 2.129𝑘𝑜𝑏𝑠1 − 0.6978𝑘𝑜𝑏𝑠2 1 = −3.909 − 𝑘𝑜𝑏𝑠1 ⇒ 𝒌𝒐𝒃𝒔𝟏 = −𝟐. 𝟗𝟎𝟗 0.5 = 1.282 + 2.129𝑘𝑜𝑏𝑠1 − 0.6978𝑘𝑜𝑏𝑠2 ⇒ 𝒌𝒐𝒃𝒔𝟐 = −𝟕. 𝟕𝟓𝟒𝟕 SISTEMAS DE CONTROL ÓPTIMO CUADRÁTICO Todos los objetivos de respuesta temporal (amortiguamiento, tiempo de asentamiento, etc.) se pierden para centrarse en un único objetivo: la minimización(o maximización, según el caso) de un índice de desempeño J. El problema que viene a solucionar el control óptimo es el de saber dónde han de reubicarse los auto valores del sistema para conseguir unos fines determinados, como puede ser la minimización de una función de costo escalar J. Esta función de costo, o índice de desempeño, suele estar relacionada con la energía y por lo tanto con el costo económico del proceso. El control óptimo consiste en obtener el vector de las señales de control u(k), que haga mínimo el índice de desempeño J. A este vector se le denomina trayectoria óptima de control. Un ejemplo de índice de desempeño cuadrático para un proceso de tiempo finito es: 𝑁−1 1 1 𝐽 = 𝑥 ∗ (𝑁)𝑆𝑥(𝑁) + ∑[𝑥 ∗ (𝑘)𝑄𝑥(𝑘) + 𝑢∗ (𝑘)𝑅𝑢(𝑘)] 2 2 𝑘=0 CONTROL DIGITAL La razón de incluir las variables de control u(k) en el índice de comportamiento se debe a razones energéticas como se mencionó anteriormente, lo cual es muy importante puesto que minimiza la energía de las señales de entrada que son las que realizan los actuadores, y por lo tanto, son las que cuestan capital (recursos). Si el problema es de estado estacionario, es decir, si se desea hacer un control de proceso durante todo momento sin restricciones (N ≈ ∞), podemos omitir el primer término del lado derecho de la ecuación del índice ya que tiende a cero (corresponde al costo terminal del estado final); esto es así porque en un problema de minimización se desea que x(N) esté tan cerca del origen como sea posible. También se debe considerar si el estado fina x(N) no es fijo. La ventaja de utilizar el esquema de control óptimo cuadrático es que el sistema diseñado será asintóticamente estable, excepto para algunos casos especiales. En general, en todos los índices de comportamiento los coeficientes de las matrices Q y R inciden directamente sobre los valores de las señales del sistema x(k) y u(k); cuanto mayores sean los coeficientes, más se optimiza la variable que corresponda. Es decir, por ejemplo, cuanto más se desee limitar la excursión de una cierta variable de control uj, mayor se escogerá el elemento rii de la matriz R. Si la matriz R aumenta, las ganancias disminuyen y también disminuye el costo energético de control; pero con valores grandes de la matriz R puede empeorar el comportamiento del sistema. Si R >> Q la contribución del control u(k) es muy grande comparándola con la contribución del estado x(k). Dicho de otra forma, disminuye el costo del control pero empeora el comportamiento del sistema. Si Q >> R mejora la respuesta del sistema pero aumenta el costo energético de control. El vector de estado estará muy controlado, pero las señales de control u(k) pueden ser muy grandes. En el problema de control óptimo cuadrático se desea determinar una ley para el vector de control 𝑢(𝑘) tal que un índice de desempeño cuadrático se minimice. Un índice de desempeño cuadrático es donde Q= R= S= Matriz Hermítica (o matriz real simétrica) definida positiva o semidefinida positiva 𝑛 × 𝑛 Matriz Hermítica (o matriz real simétrica) definida positiva de 𝑟 × 𝑟 Matriz Hermítica (o matriz real simétrica) definida positiva o semidefinida positiva 𝑛 × 𝑛 Para un caso Definimos las matrices CONTROL DIGITAL 1 0 1 0 ), 𝑆 = ( ) R=1 0 1 0 1 𝑄=( Sustituyendo en la ecuación J 𝑁−1 1 1 1 0 1 0 𝐽 = 𝑥 ∗ (𝑁) ( ) 𝑥(𝑁) + ∑ [𝑥 ∗ (𝑘) ( ) 𝑥(𝑘) + 𝑢∗ (𝑘)𝑢(𝑘)] 0 1 0 1 2 2 𝑘=0 La solución está dada por las siguientes ecuaciones: −1 𝑃(𝑘) = 𝑄 + 𝐺 ∗ 𝑃(𝑘 + 1)𝐺 − 𝐺 ∗ 𝑃(𝑘 + 1)𝐻(𝑅 + 𝐻 ∗ 𝑃(𝑘 + 1)) 𝐻 ∗ 𝑃(𝑘 + 1)𝐺 Y el control 𝑢(𝑘) = −𝐾𝑥(𝑘) 𝐷𝑜𝑛𝑑𝑒 𝐾 = (𝑅 + 𝐻 ∗ 𝑃(𝑥)𝐻)−1 𝐻 ∗ 𝑃(𝑘)𝐺 ̅̅̅̅̅𝑇 y 𝐻 ∗ = (𝐻) ̅̅̅̅̅𝑇 Por propiedades sabemos que 𝐺 ∗ = (𝐺) La matriz G representa al sistema no singular, entonces la ecuación P(k)se puede modificar como: (𝑃 − 𝑄)𝐺 −1 (𝐼 + 𝐻𝑅 −1 𝐻 ¨∗ 𝑃) = 𝐺 ∗ 𝑃 Sustituyendo el valor de cada matriz tenemos: 0.6978 −1 1.6601 ] =( 2.129 −2.8017 1.78 𝐺 −1 = [ 3.593 𝑝11 ((𝑝 12 𝑝21 1 𝑝22 ) − (0 +( −0.5441 ) 1.388 0 1.6601 )) ( 1 −2.8017 0.758 ( ) 0.758 3.489 1 0 −0.5441 ) (( ) 0 1 1.388 𝑝11 𝑝21 )) 3.489) (𝑝 12 𝑝22 Encontrando la matriz P necesitamos obtener la ley de control 𝑢(𝑘) = −𝑅 −1 𝐻 ∗ 𝑃(𝑘 + 1)𝑥(𝑘) Resolviendo encontramos el control de acuerdo al índice de desempeño.