Subido por Carlos Aguilar Lopez

Control de sistemas discretos

Anuncio
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.
Descargar