discretizacion

13
Discretizaci´on de controladores elix Monasterio-Huelin, ´ Alvaro Guti´ errez 1 de mayo de 2010 ´ Indice 1.Introducci´on 2 2. El problema de la discretizaci´on 2 3. Aproximaci´on discreta de una integral 5 3.1. Aproximaci´ on de Euler ...................... 6 3.2. Aproximaci´ on de Tustin o trapezoidal .............. 7 4. Discretizaci´on del factor integral con correcci´on del ”wind- up” 7 4.1. Ecuaci´on discreta del factor integral en la regi´on de saturaci´on 9 4.2. Ecuaci´on discreta del factor integral en la regi´on no saturada . 11 4.3. Ecuaci´on discreta del factor integral en ambas regiones .... 12 1

Transcript of discretizacion

Page 1: discretizacion

Discretizacion de controladores

Felix Monasterio-Huelin, Alvaro Gutierrez

1 de mayo de 2010

Indice

1. Introduccion 2

2. El problema de la discretizacion 2

3. Aproximacion discreta de una integral 5

3.1. Aproximacion de Euler . . . . . . . . . . . . . . . . . . . . . . 6

3.2. Aproximacion de Tustin o trapezoidal . . . . . . . . . . . . . . 7

4. Discretizacion del factor integral con correccion del ”wind-up” 7

4.1. Ecuacion discreta del factor integral en la region de saturacion 9

4.2. Ecuacion discreta del factor integral en la region no saturada . 11

4.3. Ecuacion discreta del factor integral en ambas regiones . . . . 12

1

Page 2: discretizacion

1. Introduccion

2. El problema de la discretizacion

Supongamos que se dispone de dos sensores, uno de posicion y otro de ve-locidad. Por lo tanto se dispone de informacion en tiempo real de la senaly(t) de y(t)1.

Estos sensores permiten realizar una coleccion de controladores que no re-quieren hacer una discretizacion de la integral. Por ejemplo, si se quiererealizar un controlador de posicion situado en el lazo directo puede disenarseun PD utilizando exclusivamente la informacion de los sensores y teniendo encuenta que la senal de referencia puede obtenerse analıticamente. Por ejemp-lo si esta es una rampa, su derivada sera un escalon, ası que el PD quedarıaen la forma:

u(t) = KP (rampa(t)− y(t)) + KD(escalon(t)− y(t))

Es evidente que un control de posicion que siga una rampa es equivalentea un control de velocidad que siga un escalon. En este caso el controladordeberıa ser un PI, en vez de un PD, y como la integral de un escalon es unarampa, la ecuacion del controlador sera

u(t) = KI(rampa(t)− y(t)) + KP (escalon(t)− y(t))

Como vemos son equivalentes2.

Pero por desgracia no es facil realizar un PD con una senal de referenciaescalon, ya que su derivada es una delta de Dirac.

Tampoco puede realizarse un control de posicion con un PI con referenciaescalon, pero en este caso se debe a que no se dispone de sensor para laintegral de la salida.

Estas limitaciones nos obligan a utilizar algun metodo aproximado de obten-cion de informacion sensorial. Por ejemplo, puede realizarse una integracion

1En el laboratorio realmente tan solo se dispone de informacion discretizada con unafrecuencia suficientemente alta como para admitir teoricamente su continuidad

2Estoy suponiendo que las condiciones iniciales son nulas.

2

Page 3: discretizacion

mediante una aproximacion discretizada de la integral continua, siempre quela discretizacion se haga a una frecuencia suficientemente alta. Al inverso deesta frecuencia la llamaremos periodo de muestreo T .

Desde un punto de vista del diseno de controladores, hay dos opciones basicas.Una es disenar un controlador continuo y despues discretizarlo (a este metodose le llama rediseno digital). Otra es discretizar la funcion de transferenciaque se desea controlar, y disenar un controlador discreto. En ambos casos secomenten errores que deben tomarse en consideracion, y en cualquiera de loscasos es necesario aplicar tecnicas de discretizacion de las que se conozcansus caracterısticas.

En este breve estudio optaremos por el rediseno digital, pero teniendo encuenta que se dispone de dos sensores. Por lo tanto no se discretizara un PIpara un control de velocidad que siga a un escalon.

Nuestro objetivo sera disenar un sistema de control de dos grados de libertadpara un control de posicion que siga un escalon, con un controlador PID enel lazo directo y un PD en el lazo paralelo. Por lo tanto solo necesitaremosaproximar la integral de la posicion, y la derivada de un escalon. Sin embargola discretizacion de la derivada de un escalon es la discretizacion de una deltade Dirac, que no resulta sencilla. No obstante, en lo que sigue adoptaremosla siguiente definicion:

Definicion 1. La discretizacion de la delta de Dirac es la delta de Kronecker.

En consecuencia lo unico que deberemos resolver es aproximar la integral dela posicion.

Hay que tener en cuenta que esta definicion supone cometer errores en elsentido de que el comportamiento discreto no se correspondera con el com-portamiento continuo, y en consecuencia los resultados analıticos de disenodeberan modificarse. El problema que surge puede entenderse teniendo encuenta la definicion de la delta de Dirac:

∫∞−∞ δ(τ)dτ =

∫ 0+

0− δ(τ)dτ = 1

mientras que la delta de Kronecker es una funcion discreta que toma el valorunidad en k = 0, y en cero para k = 1, 2, . . . .

3

Page 4: discretizacion

Si se desea discretizar la integral de la posicion (o de cualquier funcion), setratara de hacer una aproximacion de

∫ t

−∞ y(τ)dτ

que si suponemos que es una funcion causal, es decir que y(t) = 0, t < 0,el problema se reduce a discretizar

∫ t

0y(τ)dτ

Cuando la funcion (causal) es continua en el origen, es decir que y(0) =y(0+) = y(0−) = 0, ∫ 0+

0− y(τ)dτ = 0

pero si es discontinua esta integral no se anula, pero puede entenderse como

∫ 0+

0− y(τ)δ(τ)dτ = y(0+)

Por lo tanto, para las funciones causales, se cumple que

∫ t

−∞ y(τ)dτ = y(0+) +∫ t

0+ y(τ)dτ

Observese que la integral de la derivada de una funcion continua en el inter-valo [a, b] cumple lo siguiente:

∫ b

ay(τ)dτ = y(b)− y(a)

pero si es discontinua en algun punto del intervalo, la integral no esta biendefinida en estos puntos. Ademas si una funcion es discontinua en algunpunto tampoco tiene sentido hablar de su derivada, salvo distinguiendo laderivada por la derecha y la derivada por la izquierda, que aunque coincidanno se podra decir que sea una funcion derivable.

Si se aplica literalmente la anterior expresion de la integral de una funcion, seobtiene que para una funcion causal discontinua en el origen y no derivableen el origen

∫ t

−∞ y(τ)dτ =∫ t

0− y(τ)dτ

∫ t

−∞ y(τ)dτ =∫ 0+

0− y(τ)dτ +∫ t

0+ y(τ)dτ = y(0+) + y(t)− y(0+)

4

Page 5: discretizacion

Si la funcion y(t) es derivable en el origen, tambien debera ser continua enel origen, y debera cumplir que y(0−) = y(0+) = 0. Por lo tanto hablarde derivada de la funcion escalon no tiene sentido salvo que se haga algunadefinicion de derivada generalizada. Para la funcion escalon unidad

∫ t

−∞ r(τ)dτ = r(0+) + r(t)− r(0+)

y admitiendo que∫ t

−∞ r(τ)dτ = r(t) como se harıa para las funciones con-

tinuas y derivables3, se obtiene que r(0+) = r(0+) = 1.

Por lo tanto desde un punto de vista de la discretizacion puede admitirse laanterior definicion, y utilizarse la expresion

∫ t

−∞ y(τ)dτ = y(0+) +∫ t

0+ y(τ)dτ

para las funciones causales discontinuas en el origen.

3. Aproximacion discreta de una integral

Llamando I(t) a la integral∫ t

t0x(τ)dτ , estudiaremos la clase de aproxima-

ciones discretas de la forma

I(k) = I(k − 1) + g(k), k = 0, 1, 2, . . . (1)

donde g(k) sea una ecuacion en diferencias lineal de parametros constantesen x(k), y t = t0 + kT siendo T el periodo de muestreo.

3Esto plantea un problema, ya que la derivada del escalon es la delta de Dirac cuyaintegral es la unidad, pero aquı se esta haciendo la integral hasta t y no hasta ∞. Es decirque mientras que estamos haciendo que

∫ t

−∞ r(τ)dτ = r(t)

a la vez decimos que r(t) = δ(t), y∫∞−∞ δ(τ)dτ = 1

lo que es claramente una incoherencia. Este analisis no debe tomarse mas que como unrazonamiento orientado a aceptar la defincion anterior de una manera intuitiva.

5

Page 6: discretizacion

Si la funcion x(t) es continua en t ∈ [t0 + kT, t0 + (k + 1)T ),

∫ kT+T

kTx(τ)dτ =

∫ kT+T

t0x(τ)dτ − ∫ kT

t0x(τ)dτ = I(k + 1)− I(k)

por lo que

g(k + 1) =∫ kT+T

kTx(τ)dτ

Nuestro objetivo consiste, por lo tanto, en estudiar diversas aproximacionesdiscretas de esta integral.

La solucion de la ecuacion en diferencias es

I(k) = I(t0) +k∑

i=1

g(i) k = 0, 1, 2, . . . (2)

Si la integral aparece en una ecuacion del tipo,

h1(t) = h2(t) +∫ t

t0x(τ)dτ

la discretizacion puede realizarse de la siguiente forma:

h1(k + 1) = h2(k + 1) +∫ (k+1)T

t0x(τ)dτ

h1(k) = h2(k) +∫ kT

t0x(τ)dτ

y restando ambas

h1(k + 1) = h1(k) + h2(k + 1)− h2(k) + g(k + 1)

3.1. Aproximacion de Euler

La aproximacion de Euler se define de la siguiente manera,

I(t) =∫ t

0+ x(τ)dτ ≈ I(k) = I(k − 1) + Tx(k), k = 0, 1, 2, . . .

donde T es el periodo de muestreo.

Si la funcion es causal, entonces I(t) = 0, t < 0, por lo que I(0+) = Tx(0+).Por ejemplo, la integral del escalon unidad es una rampa de pendiente unidad,ası que su discretizacion sera I(k) = kT = (kT − T ) + Tx(k), k > 0, es decir

6

Page 7: discretizacion

x(k) = 1, aunque para k = 0, I(0+) = Tx(0+) = T . Como vemos se presentaun problema en el orıgen, que puede resolverse conociendo el valor inicial dela integral. De esta manera la aproximacion de la integral serıa

I(t) =

∫ t

0+

x(τ)dτ ≈ I(k) = I(k − 1) + Tx(k), k = 1, 2, . . . (3)

I(k) = I(0+), k = 0 (4)

Resolviendo la ecuacion en diferencias I(k) = I(k − 1) + Tx(k), se obtiene

I(k) = I(0+) + T

k∑i=1

x(i) k = 0, 1, 2, . . . (5)

Si la funcion x(t) es causal y continua en el origen, entonces I(0+) = 0.

Calculando g(k + 1) puede verse el significado de la aproximacion de Euler

g(k + 1) =∫ kT+T

kTx(τ)dτ ≈ I(k − 1) + Tx(k)− (I(k) + Tx(k + 1)) = Tx(k + 1)

3.2. Aproximacion de Tustin o trapezoidal

4. Discretizacion del factor integral con cor-

reccion del ”wind-up”

Llamando u(t) a la salida del actuador y v(t) a la salida del controlador(entrada del actuador),

V (s) = Kp(EP (s) + τDs1+s

τDN

ED(s) + 1τIs

E(s))

u(t) = sat(v(t))

La correccion del ”wind-up” puede hacerse substituyendo el factor integralVI(s) = Kp

τIsE(s) por el siguiente

VI(s) = Kp

τIsE(s) + 1

τts(U(s)− V (s))

7

Page 8: discretizacion

donde τt se denomina constante de tiempo de seguimiento.

Puesto que la salida del actuador coincide con su entrada cuando v(t) <= usat

el termino corrector solo actua cuando v(t) > usat, en cuyo caso aparecera eltermino ∫ t

t1usatdτ = usat(t− t1)

siendo t1 el instante de tiempo en que se produce la saturacion del actuador.

Si en t2 deja de producirse saturacion, la correcion del ”wind-up” aporta ala integral del error la cantidad

1τt

usat(t2 − t1)−∫ t2

t1v(τ)dτ

Supongamos que el controlador es un PID. Entonces V (s) = VP (s)+VD(s)+VI(s), por lo que

(1 + 1τts

)VI(s) = Kp

τIsE(s) + 1

τts(U(s)− VP (s)− VD(s))

que puede escribirse en la forma

(s + 1τt

)VI(s) = Kp

τIE(s) + 1

τt(U(s)− VP (s)− VD(s))

es decir, que en la region saturada

(s + 1τt

)VI(s) = −( 1τt− 1

τI)VP (s)− 1

τtVD(s) + e−t1s

τtsusat

ya que u(t) = usat1(t− t1), siendo 1(t− t1) el escalon unidad retardado4.

El problema de analisis se complica ya que la saturacion es una funcion nolineal, que ademas se produce en instantes de tiempo desconocidos a priori.Para esta clase de sistemas no lineales es posible utilizar tecnicas de la funciondescriptiva, pero no lo vamos a hacer aquı.

Nuestro objetivo es obtener una discretizacion de vI(t) suponiendo que lasenal de referencia es un escalon de amplitud R. Fuera de la region de sat-uracion es suficiente con obtener una discretizacion de

∫ t

t2y(τ)dτ , donde ini-

cialmente t2 = 0+.

4Para ser mas exactos serıa preciso incorporar tambien t2, y en general todos los inter-valos en que se esta en la region saturada.

8

Page 9: discretizacion

4.1. Ecuacion discreta del factor integral en la regionde saturacion

Para obtener ecuacion discreta del factor integral en la region de saturacionutilizare la expresion

(1 + 1τts

)VI(s) = Kp

τIsE(s) + 1

τts(U(s)− VP (s)− VD(s))

y aplicare la transformada de Laplace inversa teniendo en cuenta que elinstante inicial es t = t1

5,

vI(t) + 1τt

∫ t

t1vI(τ)dτ = Kp(

1τI− 1

τt)∫ t

t1e(τ)dτ−

− 1τt

∫ t

t1vD(τ)dτ + usat

τt(t− t1)

Si vD(t) = KpτDe(t), entonces

1τt

∫ t

t1vD(τ)dτ = KpτD

τt(e(t)− e(t1))

por lo que queda claro que solo es necesario realizar una discretizacion de laintegral de vI(t) y de y(t)6.

5Esta ecuacion diferencial es la verdaderamente correcta. Debe tambien tenerse encuenta que las funciones son continuas en los instantes en que se produce la saturacion,por lo que solamente hay que considerar el desplazamiento del origen de tiempos y quelas condiciones iniciales no son nulas. En terminos de la discretizacion de la integral estosupone considerar funciones continuas en el origen (t = t1) que no son causales.

6Tambien puede tenerse en cuenta que∫ t

t1e(τ)dτ =

∫ t

t1r(τ)dτ − ∫ t

t1y(τ)dτ

Si la integral de la referencia es conocida analıticamente (llamemosla Ir(t)), entonces∫ t

t1e(τ)dτ = Ir(t)− Ir(t1)−

∫ t

t1y(τ)dτ

y de aquı que

Ie(t) =∫ t

t1e(τ)dτ ≈ Ir(k)− Ir(t1)− Iy,0 − T

∑ki=1 y(i)

Haciendo lo mismo para k + 1 y restando

Ie(k + 1) = Ie(k) + Ir(k + 1)− Ir(k)− Ty(k + 1)

9

Page 10: discretizacion

Utilizando la aproximacion de Euler, y haciendo t = t1 + kT , podemos es-cribir7

vI(k) + 1τt

II,0 + Tτt

∑ki=1 vI(i) = Kp(

1τI− 1

τt)(Ie,0 + T

∑ki=1 e(i))−

−KpτD

τt(e(k)− e(t1)) + usat

τtkT

Escribiendo la misma expresion pero para k + 1 y restando ambas se obtiene

vI(k + 1)− vI(k) + Tτt

vI(k + 1) = KpT ( 1τI− 1

τt)e(k + 1)−

KpτD

τt(e(k + 1)− e(k)) + usatT

τt

que puede simplificarse como8

(τt + T )vI(k + 1) = τtvI(k) + Kp(Tτt

τI− (T + τD))e(k + 1) + KpτDe(k) + usatT

7Utilizare la notacion x(k) pero debe entenderse que es x(t1 + kT ).8Teniendo en cuenta el comentario a pie de de pagina 6 el termino

A = KpT ( 1τI− 1

τt)e(k + 1)

puede escribirse en la forma

A′ = Kp( 1τI− 1

τt)(Ir(k + 1)− Ir(k)− Ty(k + 1))

Por ejemplo si r(t) es un escalon de amplitud R, su integral sera una rampa, por lo que

Ir(k + 1)− Ir(k) = R(t1 + (k + 1)T − (t1 + kT )) = RT

yA′ = KpT ( 1

τI− 1

τt)(R− y(k + 1)) = KpT ( 1

τI− 1

τt)e(k + 1) = A

Pero si r(t) es una rampa de pendiente K, su integral sera una parabola, por lo que

Ir(k + 1)− Ir(k) = K2 ((t1 + (k + 1)T )2 − (t1 + kT )2) = KT (t1 + kT + T

2 )

mientras que Te(k + 1) = Tr(k + 1)− Ty(k + 1) = KT (t1 + (k + 1)T )− Ty(k + 1) que nocoincide con la integral exacta, es decir A′ 6= A.

La aproximacion de Euler comete un error que puede evitarse si puede obtenerse unaintegral exacta. No obstante, la aproximacion de Tustin para la rampa y el escalon sonexactas, es decir A′ = A, pero no lo sera para la parabola.

La ecuacion del factor integral en este caso particular en que se conoce la integral de lasenal de referencia, queda en la forma

(τt + T )vI(k + 1) = τtvI(k) + Kp( τt

τI− 1)(Ir(k + 1)− Ir(k)− Ty(k + 1))−

−KpτD(e(k + 1)− e(k)) + usatT

10

Page 11: discretizacion

que, como vemos, requiere conocer el valor de vI(0), es decir vI(t1).

El polo de esta ecuacion en diferencias es p = τt

τt+T< 1, por lo que es estable

(ya que T > 0), pero el cero puede ser inestable dependiendo del valor de τt.El cero es z = − τD

TτtτI−(T+τD)

que para que sea estable debe cumplir que

| τDτI

T (τt−τI)−τDτI| < 1

o lo que es lo mismo|T (τt−τI)

τDτI− 1| > 1

que tiene dos soluciones:τt < τI , o

τt > (2τD

T− 1)τI

Ambas soluciones se cumpliran simultaneamente si τD < T/2 y τt < τI .

Una solucion posible que hace que el cero sea estable es τD < τt < τI conτt =

√τDτI .

Por ultimo, puede verse que si en vez de un PID fuese un PI, entonces τD = 0,y el factor integral discreto en la region de saturacion es,

(τt + T )vI(k + 1) = τtvI(k)−KpT (1− τt

τI)e(k + 1) + usatT

4.2. Ecuacion discreta del factor integral en la regionno saturada

En la region no saturada el factor integral es

vI(t) = Kp

τI

∫ t

t2e(τ)dτ

La aproximacion de Euler, teniendo en cuenta la notacion t = t2 + kT , es

vI(k) = Kp

τI(I0 + T

∑ki=1 e(i))

Poniendo la misma expresion en k + 1 y restando se obtiene (ver las notas apie de pagina 6 y 8)

vI(k + 1) = vI(k) + T Kp

τIe(k + 1)

11

Page 12: discretizacion

4.3. Ecuacion discreta del factor integral en ambas re-giones

El factor integral del PID en la region saturada puede escribirse en la forma

vI(k + 1) = vI(k) + T Kp

τIe(k + 1) + ∆vI(k + 1)

donde9

∆vI(k + 1) = − Tτt+T

vI(k)− Kp

τt+T((T 2

τI+ T + τD)e(k + 1)− τDe(k)) + usatT

τt+T

Debe cumplirse que ∆vI(k + 1) = 0 cuando |v(t)| ≤ |usat|, aunque tambienpodra anularse en la region de saturacion.

Teniendo en cuenta la aproximacion de Euler, podemos escribir

e(k + 1)− e(k) = T e(k + 1)

y de aquı que

∆vI(k + 1) = − Tτt+T

vI(k)− KpT

τt+T( τI+T

τIe(k + 1) + τDe(k + 1)) + usatT

τt+T

Podemos tambien hacer

∆vI(k + 1) = − Tτt+T

vI(k)− Tτt+T

( τI+TτI

vP (k + 1) + vD(k + 1)) + usatTτt+T

∆vI(k + 1) = − Tτt+T

(vI(k) + T Kp

τIe(k + 1))− T

τt+T(vP (k + 1) + vD(k + 1)) + usatT

τt+T

y puesto que v(k + 1) = vP (k + 1) + vD(k + 1) + vI(k + 1)

∆vI(k + 1) = − Tτt+T

(vI(k) + T Kp

τIe(k + 1)) + T

τt+TvI(k + 1) + T

τt+T(usat − v(k + 1))

9De acuerdo con las notas a pie de pagina 6 y 8 puede escribirse

vI(k + 1) = vI(k) + Kp

τI(Ir(k + 1)− Ir(k)− Ty(k + 1)) + ∆vI(k + 1)

donde∆vI(k + 1) = − T

τt+T vI(k)− Kpτd

τt+T (e(k + 1)− e(k))−

− Kp

τt+T ( TτI

+ 1)(Ir(k + 1)− Ir(k)− Ty(k + 1)) + usatTτt+T

12

Page 13: discretizacion

que al subsituirlo en la ecuacion de vI(k + 1), resulta

vI(k + 1) = vI(k) + T Kp

τIe(k + 1)− T

τt(v(k + 1)− usat)

En esta ecuacion hay una dependencia con v(k), y tiene como finalidad darsecuenta de la no linealidad de la saturacion. La expresion valida para ambasregiones podrıa escribirse como

vI(k + 1) = vI(k) + T Kp

τIe(k + 1)− T

τtf(v(k + 1)− usat)

donde la funcion f(x) serıa nula si x > 0 cuando usat > 0 o si x < 0cuando usat < 0, y valdrıa x en caso contrario. Tambien puede apreciarse lacontinuidad de vI cuando v = usat, y que el factor de correccion se cancelacuando τt →∞.

Tambien debe tenerse en cuenta que hay dos regiones de saturacion, unapositiva y otra negativa10 Esto significa que usat no es una constante sinoque su signo depende del signo de v(t), es decir usat = sgn(v(t))|usat| por loque ∆vI(k) es una funcion no lineal. Podemos escribir

vI(k) = vI(k − 1) + T Kp

τIe(k)− sgn(v(k)) T

τt(|v(k)| − |usat|)

Si la saturacion comienza en el instante t = t1 y acaba en el instante t = t2,podemos escribir

vI(k) = vI(k − 1) + T Kp

τIe(k) + ∆vI(k)(1(t− t1)− 1(t− t2))

que representa una ecuacion discreta del factor integral en ambas regionescuando solo se ha entrado y salido una vez de la region de saturacion11.

Si la senal de control entra y sale numerosas veces de la region de saturaciones posible representar el factor integral como una unica ecuacion moduladapor una secuencia de pulsos. Sea T1 = {t1i}n1

i=1 y T2 = {t2i}n2i=1, donde n2 = n1

o n2 = ∞, y t2i > t1i. Entonces podemos escribir12

vI(k) = vI(k − 1) + T Kp

τIe(k) + ∆vI(k)

∑n1

i=1 (1(t− t1i)− 1(t− t2i))

10|usat| puede tomar incluso valores distintos.111(t−t1)−1(t−t2) representa un pulso unidad de anchura t2−t1 que en esta formulacion

debe entenderse discretizado.12Sin considerar el caso en que no salga de la region de saturacion, es decir cuando

n2 = ∞.

13