Especificaciones y Lugar de Las Raices

Post on 03-Jul-2015

420 views 5 download

Transcript of Especificaciones y Lugar de Las Raices

• Revision octubre 3

• Leonardo Bermeo

Caracterización del desempeño transitorio de sistemas

A pesar de la diversidad de señales de comando que

pueden existir en un sistema, ha sido habitual

caracterizar la respuesta transitoria de un sistema en

términos de la respuesta a un paso. El cambio brusco en

T=0 permite juzgar propiedades que con otro tipo de

señales no serían ostensibles. Esta, es también, una

vieja costumbre heredada de la Ingeniería Eléctrica.

( )y t

: tiempo de establecimiento.sT

( )eey t

( )r t0.02ee eey y

0.02ee eey y

SP

t

0.9 eey

: tiempo de subidarT0.1 eey

: tiempo de retardodT

Respuesta transitoria en sistemas

Donde asumimos las definiciones:

valor de ( ) en estado estacionario

Tiempo de establecimiento del sistema,

Es el tiempo para el cual la salida está en un franja de

(1 0.02)

Tiempo de Subida.

Ti

:

:

:

empo pa

e

e

e

s

r

e

y

y

T

y t

T

ee

ee

ra el cual la salida alcanza el 90% de su valor final y

por primera vez.

Tiempo de Retardo.

Tiempo para el cual la salida alcanza el 10% de su valor final y

por primera vez.

:

: SP

dT

max

sobrepico, sobrepaso, (overshoot en inglés)

ee

ee

y ySP

y

Polos dominantes y constante de tiempo

Supongamos que tenemos un sistema estable de

elevado orden. Si existe un polo o un par de polos

complejos conjugados que están mucho mas cerca

del origen que los demás, decimos que son

dominantes. Un polo será dominante si

i

Re(polo dominante) (5 10) Re( )

Donde p , denota los demás polos

de ( )

ip

T s

Es decir de 5 a 10 veces más cerca al origen que

Los demás

-20 -18 -16 -14 -12 -10 -8 -6 -4 -2 0-20

-15

-10

-5

0

5

10

15

20

Pole-Zero Map

Real Axis

Imagin

ary

Axis

Ejemplo:

2

10000( )

( 1)( 10)( 40 800)G s

s s s s

( 20 20 )( 20 20 )s j s j

Lo podemos aproximar como:

1.25( )

( 1)

(0) (0)

primerorden

primerorden

G ss

G G

Polo dominante

de primer orden

Simulamos la respuesta al paso de los dos sistemas,

encontrando que es buena aproximación el de primer

orden.

0 1 2 3 4 5 60

0.2

0.4

0.6

0.8

1

1.2

1.4

sistema original

sistema reducido

Step Response

Time (sec)

Am

plit

ude

MATLAB

sis=zpk([],[-1 -10 -20+20*j -20-

20*j],10000)

sisred=tf(1,[1 1])*dcgain(sis)

step(sis,sisred)

legend('sistema

original','sistema reducido')

El numerador lo elegimos de manera que los dos

sistemas tengan la misma respuesta de estado estable.

Puede darse el caso de que los polos dominantes

sean los del sistema de segundo orden como en:

2

10000G( )

( 20) ( 30) ( +4 20)s

s s s s

( 2 4 )( 2 4 )s j s j

segundoorden 2

16.67 G(s)

s +4s+20

G(0) (0)*20segundoorden G

Lo podemos aproximar por el modelo de segundo

orden

-30 -25 -20 -15 -10 -5 0-4

-3

-2

-1

0

1

2

3

4

Pole-Zero Map

Real Axis

Imagin

ary

Axis

Simulamos para comparar la respuesta de los dos

sistemas y se obtiene:

0 0.5 1 1.5 2 2.5 30

0.2

0.4

0.6

0.8

1

1.2

1.4

sistema originalsistema reducido

Step Response

Time (sec)

Am

plit

ude

Y notamos el parecido en las dos respuestas.

MATLAB

gs=zpk([],[-2+4j -2-4j -20 -30],10000)

gred=tf(1,poly([-2+4j -2-4j]))

gred=gred*dcgain(gs)/dcgain(gred)

step(gs,gred)

legend('sistema original','sistema

reducido')

Con la discusión precedente podemos ver que, sin

considerar la respuesta debida a los ceros, para

sistemas en los cuales existen polos dominantes, es

posible hacer una aproximación por el sistema

equivalente con solo los polos dominantes.

•Si hay un polo dominante de primer orden

aproximamos al sistema por un sistema de primer

orden

•Si hay un par de polos complejos conjugados

dominantes aproximamos el sistema por uno de

segundo orden.

•La aproximación no es buena si no se cumple el

criterio de dominancia de polos.

•La aproximación no es buena si existen ceros

cercanos a los polos dominantes en la función de

transferencia del sistema.

•El poder aproximar un sistema por sus polos

dominantes hace que una gran cantidad de

sistemas se puedan caracterizar como si fueran

de primer o segundo orden.

Sistema de primer orden

/( ) (1 )

4

2.3

0

t

ee

s

r

y t y e

T

T

SP

( )y t

: tiempo de establecimiento.sT

( )eey t

( )r t0.02ee eey y

0.02ee eey y

t: tiempo de subidarT

0.9 ( )eey t

( )1

ee

KT s

s

y K

Sistema de segundo orden

2

2 2

2

21,2

( )2

: frecuencia natural del sistema

: relación de amortiguamiento

G(s) tiene polos en:

1, 1

s 1 , 1

n

n n

n

n n

n n

G ss s

j

Si asumimos

1

1,2

2

1,2

2

G(s) tiene polos en:

s

s 1

1

: factor de amortiguamiento

: frecuencia natural amortiguada

d

n n

n

d n

d

j

j

j

n

d

Ims

Res

Por trigonometría simple

cos

sin d

n

Estas relaciones geométricas permiten establecer el

comportamiento de un sistema de segundo orden

( ) 1 sin( )tnd

d

y t e t

La respuesta al paso del sistema esta dada por

A continuación enumeramos, sin demostración

algunos resultados de la respuesta transitoria

en un sistema de segundo orden:

21, 1

0, 1

SP e

SP

4.5sT

22.23 0.036 1.54,válida para <1r

n

T

Esta última ecuación nos muestra que para

disminuir es necesario aumentar (la

distancia de los polos al origen ) o hacer más

pequeño.

n

***

rT

Además de la fórmula para el tiempo de subida

obtenida por simulación exhaustiva y

aproximación polinomial

***LB

Constante de tiempo de un sistema

Si se tiene un sistema de mayor que de segundo

orden y suponemos que su respuesta está en su

mayoría determinada por los polos de la función

de transferencia, definimos la constante de tiempo

del sistema como

1

min Re(polos de G)sistema

Región de diseño

Con base en las fórmulas de respuesta

transitoria enunciadas anteriormente es

posible encontrar una región de diseño del

plano complejo, en la cual se pueden ubicar

los polos de un sistema de segundo orden

para que satisfagan simultáneamente

condiciones de sobrepico y de Tiempo de

establecimiento y en ocasiones de Tiempo de

subida.

Sabiendo que:

max

Supongamos que en un sistema determinado se tolera

a lo sumo un sobrepico de SP .

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Coeficiente de amortiguamiento

Sobre

pic

o

SP

Región de sobrepico

max

min

Como esta función es decreciente

SP SP ,se producirá cuando tome

valores iguales o mayores que

cierto valor de notado como

21, 1SP e

De esta manera, invirtiendo la fórmula del

sobrepico y teniendo que el sobrepico es

decreciente con relación a

max

min 2 2

max

ln( )

ln ( )

SP

SP

Cualquier valor de que satisfaga esto producirá un

sobrepico menor a , ahora relacionaremos esto

Con el ángulo de los polos. maxSP

Recordando que

cos y como

0 10 20 30 40 50 60 70 80 900

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

cos( ) min max

La función cos( ) es decreciente

en el intervalo 0-90º. Entonces el

se cumplirá para algún

max

min 2 2

max

ln( )

ln ( )

SP

SP

1

max mincos ( )

De manera que

21, 1

0, 1

cos

SP e

SP

4.5sT

Las fórmulas de análisis y diseño

ANÁLISIS

min

max

4.5

sT

DISEÑO

max

min 2 2

max

1

max min

ln( )

ln ( )

cos

SP

SP

Dan un estimado de los parámetros de

respuesta transitoria en un sistema de

segundo orden Ts,Tr,SP

22.23 0.036 1.54,válida para <1r

n

T2

min minmin

max

r n

r

2.23 0.036 1.54

T distancia al origen de polos

T

n

rT

Dan una región de diseño donde se

cumplirán parámetros máximos

especificados

Ejemplo

Determinar la región de diseño donde se

cumplirán:max

max

max

4%

18

=2s

s

r

SP

T s

T

min min

max

4.5 4.50.25

18sT

max

min 2 2 2 2

max

1 1

max min

ln( ) ln(0.04)0.715

ln ( ) ln (0.04)

cos cos 0.715 44.3º

SP

SP

n

0.25

44º

Ims

Res0.25

Linea de 18sT

Región de diseño: cualquier

ubicación de polos adentro

satisfará las condiciones

Región de mínimo Tr

Región de diseño del ejemplo

0.25

distancia al origen de los polosr n

r

T

T

Métodos clásicos de diseño de Controladores

Método del Lugar de las raíces

Una de las técnicas mas referenciadas en los

libros de texto control, es el método del lugar de

las raíces o método de EVANS (1948). En este

método se usa el gráfico del lugar de las raíces y

lo estudiado sobre la región de diseño en

sistemas de segundo orden, para sintetizar

controladores.

Ventajas del lugar de las raíces

•Se tiene información aproximada del

desempeño transitorio del sistema.

•Es intuitivo, directo y sirve como primera

aproximación a una gran cantidad de problemas.

•Da una idea de la estabilidad del sistema en

lazo cerrado.

Desventajas del lugar de las raíces

•No se visualiza el desempeño estacionario de

un sistema

•Se trabaja con la aproximación de sistemas de

segundo orden, la no existencia de polos

dominantes de segundo orden y de otra parte,

los ceros, harán que esta aproximación no sea

del todo válida.

•Da una idea muy vaga de la estabilidad robusta

del sistema en lazo cerrado.

Un ejemplo introductorio

Consideremos el sistema:

1( )

( 4)G s

s s

El cual representa la función de transferencia de

un motor al cual se le pretende controlar la

posición angular.

Los requerimientos exigen diseñar un controlador

que satisfaga las siguientes especificaciones:

0 (ya se cumple )

5%

4.5

lo más rápido posible

p

s

r

e

SP

T s

T

+-

R yk1

( 4)s s

GC

El controlador más simple que se puede hacer es

de tipo proporcional

Para este sistema:

2( )

4

kT s

s s k 2( ) ( ) ( )

4

kL s C s G s

s s

Las raíces de este polinomio estarán en:

1 2, 2 4s s k

0 0, 4

3 1, 3

4 2, 2

5 2

8 2 2 el mejor

13 3 3

s rk polos SP T T

j

j

j

Demos algunos valores a k y calculemos los polos

de T

min min

max

4.5 4.51

4.5sT

max

min 2 2 2 2

max

1 1

max min

ln( ) ln(0.05)0.71

ln ( ) ln (0.05)

cos cos 0.71 45º

SP

SP

n

1

45º

Ims

Res1

Linea de 4.5sT s

23

0k0k3k4k

4

3k

5k

5k

8k

8k

13k

13k

El grafico muestra la región de diseño y los polos

de lazo cerrado del sistema

Polos de G(s)

La tabla y el gráfico anterior nos llevan a la

conclusión de que el mejor valor es k=8

Un problema de este tipo se puede resolver como

en el caso anterior por ensayo y error sobre

diferentes valores de k. Sin embargo en un

intento de hacer esto más sistemático se usa la

técnica del lugar de las raíces.

Lugar de las raíces: gráfico que se forma al

variar el parámetro k para valores positivos.

0 k

+-

R yk ( )G s

Propiedades del lugar de las raíces

( )( )

1 ( )

( )Con L( )

( )

( )( )

( ) ( )

L

L

L

L L

kL sT s

kL s

N ss

D s

kN sT s

D s kN s

Los polos de T(s) estarán en:

( ) ( ) 0L LD s kN s

Rescribiendo la ecuación anterior:

1( )L s

k

Tomando ángulo y magnitud en la última ecuación

se obtienen las importantes:

1(1) ( ) , la condición de magnitud

(2) ( ) 180º 360º, ,la condición de ángulo

L sk

L s L L

Estas propiedades tienen una interpretación

geométrica que permite hacer cálculos gráficos

importantes, como ilustraremos a continuación

Sea

( )( )

( )( )( )

q s aL s

s b s c s d

0Supongamos que s ,es un punto en el lugar de las raíces

Además podemos representar cada cero y cada polo

en su forma compleja

1

2

3

0 0

0 0

0 0

0 0

( )

( )

( )

( )

j

j

j

j

s a s a e

s b s b e

s c s c e

s c s d e

De manera que:

00

0 0 0

( )( )

( )( )( )

q s aL s

s b s c s d

1 2 3

0

0 ( )

0 0 0

( )

j

j

q s a eL s

s b s c s d e

En notación compleja:

Usando las condiciones de magnitud y ángulo

0

0

0 0 0

1( )

q s aL s

s b s c s d k

0 1 2 3

1 2 3

( ) ( )

( ) 180º 360

L s

L

El grafico muestra la región de diseño y los polos

de lazo cerrado del sistemaIms

Res

0slugar de las raíces

a b c d

1 3 3

0s a

0s c0s b 0s d

1 2 3( ) 180º 360L

0

0

0 0 0

1( )

q s aL s

s b s c s d k

Invirtiendo la condición de magnitud se puede

obtener la fórmula que permite determinar

gráficamente el valor de la ganancia a partir del

lugar de las raíces

0

0 0 0

0

1

( )k

L s

s b s c s dk

q s a

Solo debemos medir las distancias a los polos y a los

ceros y podemos estimar k, esto es lo que queremos

en diseño de controladores

¿Cómo calculo k gráficamente?

Construcción del Lugar de las Raíces

Realmente el lugar de las raíces de un sistema se

obtiene hoy en día usando métodos

computacionales, si por ejemplo usamos

MATLAB es fácil obtener el lugar de las raíces

de un sistema usando el comando RLOCUS.

Ejemplo lugar de las raíces

de:1

( )( 4)

G ss s

g=tf(1,[1 4 0])

rlocus(g)

-4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0-2

-1.5

-1

-0.5

0

0.5

1

1.5

2Root Locus

Real Axis

Imag

inar

y A

xis

Sin embargo estudiaremos algunas de las reglas

básicas de construcción que nos pueden ayudar

conceptualmente en el diseño de sistemas usando

el lugar de las raíces, aunque para propósitos

prácticos, estos lugares se realizarán con la ayuda

de computador.

Cabe anotar que ahora existen herramientas muy

poderosas de análisis y diseño de sistemas como

el SISOTOOL con el cual se pueden abordar

muchos de los problemas de control fácilmente.

Reglas básicas de Construcción del Lugar de las Raíces

Sean

número de ceros de ( )

número de polos de ( )

m L s

n L s

Regla 0

¿Cómo es el lugar de las raíces?

El lugar de las raíces en un gráfico simétrico

respecto del eje real (pues los polos son reales o

complejos conjugados) con n ramas, cada una

correspondiente a la evolución de cada polo con

el cambio del parámetro k

Regla 1

¿donde comienza el lugar?

El lugar de las raíces de un sistema siempre comienza

en los polos de L(s).

Puesto que

( ) ( ) 0

Si k 0, se tiene

( ) 0, los polos de ( )

L L

L

D

L s

s kN s

D s

Esto puesto que:

( ) ( ) 0

1( ) ( ) 0

Cuando k , en la ecuación anterior queda

N(s)=0, es decir los ceros d ( ) e

L L

L L

D s kN s

D s N

L

sk

s

Regla 2

¿donde termina el L.R?

El lugar de las raíces de un sistema puede

terminar para valores grandes de k en:

• Los ceros de L(s)

Regla 2

¿donde termina el L.R?

•También puede terminar en asíntotas, (ver

regla 4)

De manera general

ramas terminan en los ceros

ramas termina en asínto a- t s

m

n mk

Regla 3

¿Qué puntos del eje real están en el L.R?

Un punto en el eje real está en el lugar de las

raíces si el numero total de polos y ceros a su

derecha es impar

Ims

Res

Ims

Res

Regla 4

¿Cómo se encuentran las asíntotas del LR?

Para k ,como deciamos el lugar de las raíces

tiende a asíntotas.

Estas tienen un centroide en:

Respecto del cual forman ángulos

(2 1) 180, 0,1,2,.. 1

polos ceros

CEn m

LAs L n m

n m

Regla 5

¿Cómo se encuentran los puntos de ruptura?

Los puntos de ruptura son sitios donde las ramas

del lugar de las raíces se abren saliendo del eje

real ó donde las ramas se juntan, entrando hacia él

Ims

Res

Ims

Res

punto de ruptura entrando punto de ruptura saliendo

Para encontrar los puntos de ruptura en el lugar de

Las raíces, calculamos donde:

( ) '( ) '( ) ( ) 0

( ) 0

( )0

( )

L L

L

L

L L

dL s

ds

d N s

ds D

D s

s

N s N s D s

Ejemplo 2

Hagamos un bosquejo rápido del lugar de las

raíces para el sistema:

4( )

( 2)

sG s

s s

Usando las reglas anteriormente citadas.

R0-R1-R2:En primera instancia trazamos los

polos y ceros de G(s) en los cuales comienza el

lugar de las raíces. También sabemos que una

rama irá al cero y otra ira a una asíntota

Ims

Res

Ejemplo 2

R3: Trazamos ahora el lugar sobre el eje real

Ims

Res

Ejemplo 2

R4: calculamos las asíntotas que en este caso no son sino n-m=2-1=1

0 1 ( 4)5

1

(2 1) 180180, 1

polos cerosCE

n m

LAs L

n m

Ims

Res

Ejemplo 2

CE

Ims

Res

Ejemplo 2

R5: calculamos ahora los puntos de ruptura

2

2

'( ) ( ) '( ) ( ) 0

(2 2)( 4) (1)( 2 )

8 8 0

: 0.89, 8.89

D s N s N s D s

s s s s

s s

Soluciones

2j

2j

Diseño con el lugar de las raíces

Seguimos estos pasos:

1. Seleccionar una configuración del controlador, con una ganancia

variable k.

2. Encontrar el rango de valores de ganancia que garantizan

la estabilidad.

3. Escoger el valor de ganancia mínima k que garantiza el

cumplimiento de la especificación estática. Si , es

necesario seleccionar otro tipo de controlador (volver al paso 1).

4. Traducir las especificaciones dinámicas SP y Ts en una región de

diseño, donde deben estar los polos.

min max,k k

min max,k k k

Seguimos los pasos (continuación)

5. Construir el lugar geométrico para L(s), indicando la región de

diseño y determinar los valores de la ganancia que garantizan que

TODOS los polos están en RD (región de diseño). Si no hay

valores de ganancia que satisfagan esto, volver a 1.

6. Escoger un valor de ganancia, que satisfaga todas las condiciones

anteriores, de modo que permita satisfacer otras condiciones como

Tr, etc.

7. Simular la respuesta del sistema de lazo cerrado con el

controlador diseñado, para garantizar que efectivamente se cumplen

todas las especificaciones.

Tomado del libro del profesor Hernando Díaz

Con base lo anterior ejemplo diseñe un controlador

proporcional para la planta:

Que cumpla los siguientes requerimientos:

10%

20%

0.9

v

s

e

SP

T s

4( )

( 2)

sG s

s s

+-

R yk4

( 2)

s

s s

GC

2

4( )

( 2) 4

La estabilidad del sistema se logra cuando k>2

Para el error de velocidad:

2 20.1

4 4

5

v

ks kT s

s k s k

k ke

k k

k

La región de diseño tendrá las fronteras:

min min

max

4.5 4.55

0.9sT

max

min 2 2 2 2

max

1 1

max min

ln( ) ln(0.2)0.45

ln ( ) ln (0.2)

cos cos 0.45 62.8

SP

SP

El lugar de las raíces ya lo habíamos obtenido antes,

trazamos sobre este la región de diseño

-10 -8 -6 -4 -2 0 2-5

-4

-3

-2

-1

0

1

2

3

4

5Root Locus

5

62º.8

1 25 4.79 , 4. 9

12

5 7

k

p j p j

1 2

20,

8, 10

k

p p

Los valores de k mostrados producen polos en la

región de diseño, que además cumplen con el error.

Para calcular las ganancias podemos usar dos métodos

En MATLAB.

G=tf([1 4],[1 -2 0])%funcion del sistema

rlocus(G)

[k,polos]=rlocfind(G)

O alternativamente:

rltool(G)

sisotool(G); el cual abre el editor del

lugar de las raíces.

Es claro que del gráfico de las raíces podemos obtener

directamente la ganancia mirando la ubicación de los

polos y usando la condición de magnitud.

Por ejemplo en donde el polo es:

5 4.79

1 112

5 4.79 4( 5 4.79 )

5 4.79 5 4.79 2

s j

kjG j

j j

y donde el polo es -8

1 120

8 4(-8)

8 8 2

kG

0 0.2 0.4 0.6 0.8 1 1.20

0.2

0.4

0.6

0.8

1

1.2

1.4

k=12k=20

Step Response

Time (sec)

Am

plit

ude

Simulamos la respuesta del sistema y obtenemos lo

siguiente:

1 2

12 s + 48 T 12

s +10s+ 48

polos en lazo cerrado en:

-5.0000 4.7958i,

k

2 2

20 s + 80 T 20

s +18s+80

polos de lazo cerrado en

-10,-8

k

MATLAB

G=tf([1 4],[1 -2 0])%funcion del

sistema

k1=12;k2=20

T1=feedback(G*k1,1);

T2=feedback(G*k2,1);

step(T1,T2)

legend('k=12','k=20')

Claramente el mejor valor

Es k=20

1( )

( 4)G s

s s

Efecto de polos y ceros en el lugar de las raíces

Coloquemos el sistema del ejemplo inicial

Agreguemos un cero y después un polo al sistema

y miremos su efecto en el lugar de las raices

1 2

1( ) ; ( )

( 4) ( 4)

5

( 5)G s G s

s s

s

ss s

-4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

Real Axis

Imag A

xis

Root Locus Editor (C)

-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0-2.5

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5

Imag A

xis

Real Axis

Root Locus Editor (C)

-12 -10 -8 -6 -4 -2 0 2 4-8

-6

-4

-2

0

2

4

6

8

Real Axis

Imag A

xis

Root Locus Editor (C)

El lugar de las raíces original

del sistema

El polo lleva el lugar de las raíces

hacia la derecha, su efecto es

desestabilizante.

El cero “atrae” el lugar de las raíces

hacia la izquierda, su efecto es

estabilizante.

Otros diseños con lugar de las raíces

Supongamos que tenemos el sistema

5( )

( 1)( 4)G s

s s s

Supongamos adicionalmente que queremos lograr

Los siguientes objetivos:

5%

3

lo más rápido

s

r

SP

T s

T

+-

R yk2

( 1)( 4)s s s

GC

La función de transferencia es

2k( )

s³+5s²+4s+2kT s

0

y la región de diseño tiene fronteras en

45

1.5

pe

-4.5 -4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5

Root Locus

Real Axis

Imagin

ary

Axis

10k

La estabilidad del sistema requiere k=10,

adicionalmente es imposible lograr que el tiempo

de establecimiento sea el adecuado.

En un caso como este es necesario insertar un cero en

la función de transferencia del lazo.

+-

R y( )zk s z 2

( 1)( 4)s s s

GC

El efecto de introducir un cero estable siempre será

el de atraer el lugar de las raíces del sistema hacia

la izquierda. Esto es un efecto de la condición de

ángulo. Esta función del compensador es

impropia y no puede ser realizada fisicamente,

pero iniciemos la discusión, pensando en que se

pudiera insertar un cero “puro”.

El esquema anterior es equivalente a tener un control PD

Proporcional derivativo

pk

+-

R y2

( 1)( 4)s s s

GCdk s

+

( ) p dC s k k s

+-

R y( )zk s z 2

( 1)( 4)s s s

GC

( ) z zC s k z k s

Las dos estructuras son idénticas, e introducir un control

de un “cero puro” es por completo equivalente a un

controlador PD

d z

p z

k k

k k z

Miremos el efecto con varios valores del cero, en el

Lugar de las raíces del sistema.

-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0

-6

-4

-2

0

2

4

6

8Root Locus

Real Axis

Imagin

ary

Axi

s

10z

-5 -4.5 -4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0-10

-8

-6

-4

-2

0

2

4

6

8

10Root Locus

Real Axis

Imagin

ary

Axis

5z

-4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0-10

-8

-6

-4

-2

0

2

4

6

8

10Root Locus

Real Axis

Imagin

ary

Axis 3z

-4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0-10

-8

-6

-4

-2

0

2

4

6

8

10Root Locus

Real Axis

Imagin

ary

Axis

1.5z

(a)

(d)(c)

(b)

En el grafico anterior se muestra la progresión del

lugar de las raíces. Conforme el cero se va llevando

hacia el origen su efecto se va haciendo más

pronunciado. En la figura (d) con z=1.5, casi hemos

logrado nuestro objetivo. Tomemos z=1.1 y

lograremos todo.

En este último

hemos logrado

tener todos los

polos en la región

de diseño con 2.3zk

-2 -1.5 -1 -0.5 0

-6

-4

-2

0

2

4

6

Real Axis

Imag A

xis

Root Locus Editor (C)

Según esto hemos diseñado un compensador PD, con

parámetros:2.3

1.1 2.3 2.53

d z

p z

k k

k k z

Sin embargo recordemos que no podemos

implementar funciones de transferencia impropias y

que en realidad el compensador proporcional tiene

la forma propia:

pk

+-

R y2

( 1)( 3)s s s

GCdk s

+1

d

d

k s

ks

N

En realidad

Donde N determina el ancho de banda efectivo del

derivador, como ya habíamos visto

11

d d

d d

k s k s

k ss

N

Sea la función de transferencia del derivador real:

De manera que un controlador PD real tendrá como

función de transferencia:

( )1 1

p d p ddp

d d

k s k kkC s k

s s

Que con las definiciones:

1, ,

p d

p

p d d

k kK k z p

k

( )( )

s zC s K

s p

Lo podemos escribir como

En realidad esta última es una red de adelanto, en

la cual ya no tenemos el problema de las funciones

de transferencia impropias.

Una red de adelanto es un sistema conformado por

un polo y un cero en el semiplano izquierdo. La

característica central en el plano complejo, es que

el cero esta más cerca del origen que el polo.

Ims

Res

En una red de adelanto lo que predomina es el

comportamiento del cero, de hecho es una

aproximación para un cero “puro”, su efecto

tiende a ser estabilizante y mejorar el tiempo de

respuesta de un sistema. Aunque si el cero es

muy cercano al origen produce efectos de

sobrepico

Para el diseño hacemos lo siguiente:

Ubicamos únicamente el cero, como hicimos en el

ejemplo hasta, si es posible, lograr “encajar” el

lugar de las raíces dentro de la región de diseño.

Seguidamente, colocamos un polo a una distancia

considerable del cero para que su efecto no sea

ostensible

Suele ser un criterio de diseño inicial

10p z

Pero hay que ajustarlo con iteraciones del rlocus:

Ejemplo

Encuentre un valor de p para que el efecto del cero

no sea ostensible en la respuesta del sistema para el

ejemplo anterior. Con base en esto encuentre todos

los parámetros del compensador PD

-2 -1.5 -1 -0.5 0

-6

-4

-2

0

2

4

6

Real Axis

Ima

g A

xis

Root Locus Editor (C)

10

11

p z

p20p

Como vemos para p=11, criterio inicial el polo

aún tiene un efecto marcado, con p=20, este

efecto desaparece. Finalmente con k=42.5 todos

los objetivos se cumplen.

-2 -1.5 -1 -0.5 0

-6

-4

-2

0

2

4

6

Real Axis

Ima

g A

xis

Root Locus Editor (C)

42.5k

1.1( ) 42.5

20

sC s

s

Y ahora hacemos la simulación en el tiempo de este

sistema junto con el que tenia el controlador impropio

con solo el cero para comparar.

Como vemos son bastante similares, los objetivos

se cumplieron totalmente.

0 0.5 1 1.5 2 2.5 3 3.50

0.2

0.4

0.6

0.8

1

1.2

1.4

compensador impropiocompensador propio

Step Response

Time (sec)

Am

plit

ude

MATLAB CODE

gs=zpk([],[0 -1 -4],2)

z=1.1

kz=2.3

c1=kz*tf([1 z],1)

L1=gs*c1

T1=feedback(L1,1)

z=-1.1

p=-20

k=42.5

c2=zpk(z,p,k)

L2=gs*c2

T2=feedback(L2,1)

step(T1,'r',T2,'g')

legend('compensador impropio','compensador propio')

Redes de atraso

Con la misma estructura que vimos anteriormente y

si hacemos que el polo este más cerca al origen que

el cero

( )( )

s zC s K

s p

Ims

Res

Tendremos un compensador de atraso, la característica

primordial por la que se usa este compensador, es porque

permite reducir el error estacionario en entradas de tipo

paso y rampa, como revisaremos.

+-

R y( )s zK

s p

2

( 1)( 3)s s s

G

Recordemos que:

1

1

(0) (0) (0) (0)

p

p

p

eK

KzK L C G G

p

Si, por ejemplo, G(0) es finito, Kp se verá

aumentada en el factor Kz/p. Si hacemos que la

relación polo cero sea grande lograremos

reducir el error de posición

pK

/Kz p

De manera similar para la constante de error

De velocidad:

1

(0) (0) (0)

v

v

v

eK

K sL sC G

Supongamos que G contenga un integrador, de lo

contrario no tendría error finito

1

1

(0) (0)[ (0)]

Donde hemos cancelado s con el polo de G

(0)

v

v

K L C G

KzK G

p

vSi z>>p K 0ve

Puede haber un caso particular, donde se combinen

Los dos efectos, que es una red de adelanto-atraso

1 2

1 2

( ) ( )( )

s z s zC s k

s p s p

Ims

Res

Adelanto Atraso

El controlador combinará los efectos deseables de

cada red.

Caso particular: el control PI

Un caso muy usual que ya hemos revisado es el

de control PI. El control PI se incluye para

eliminar el error de estado estacionario.

pk

+-

R y2

( 1)( 3)s s s

Gik

s

+

( )

( )

ip

p i

kC s k

s

k s kC s

s

+-

R y( )s zK

s

2

( 1)( 3)s s s

GC

( )Ks Kz

C ss

p

i

k K

k kz

Entonces, un control PI no es otra cosa que un tipo

de red de atraso. Desplazar el cero más hacia la el

eje imaginario, tiene un efecto estabilizante, pero

tiende a aumentar el sobrepico SP y el tiempo de

respuesta

Ejemplo:

Se tiene el sistema

3 2

0.2( )

s +2.05s +1.25s+ 0.2G s

sT

p

Se quiere un sistema de control que satisfaga

e 1%

10%

20s

SP

T s

0 0p

0

Suponiendo un control proporcional

4k T(s)=

20s³+41s²+25s+4k+4

De aqui que

4 e 0.05

4 4k

+-

R yk0.2

( 1)( 0.8)(0 0.25)s s

GC

3.96 k 99

0.04

Cuyo lugar de las raíces es:

-1.2 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4

-1

-0.5

0

0.5

1Im

ag A

xis

Real Axis

Root Locus Editor (C)

12.2k

Para valores de k mayores a 12.2 el sistema se torna

Inestable, de aquí que sea imposible lograr el error de

posición.

Intentaremos con un control PI

Hacemos inicialmente

1z

Logramos 0 error estacionario y estabilidad pero aun

no se logran las otras especificaciones.

-1.2 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4

-1

-0.5

0

0.5

1

Real Axis

Ima

g A

xis

Root Locus Editor (C)

Podemos hacer una cancelación polo cero estable del

polo en -0.25 puesto que este se encuentra en la región

de diseño.

-1.2 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4

-1

-0.5

0

0.5

1

Real Axis

Ima

g A

xis

Root Locus Editor (C)

0.9k

Con lo cual hemos ubicado todos los polos en la

Región de diseño

( 0.25)( ) 0.9

sC s

s

Ahora presentamos la respuesta al paso del

sistema donde verificamos que se cumplieron

todos los objetivos del diseño.Step Response

Time (sec)

Am

plit

ude

0 5 10 15 20 250

0.2

0.4

0.6

0.8

1

1.2

1.4

System: Closed Loop: r to y I/O: r to y

Peak amplitude: 1.05 Overshoot (%): 4.91

At time (sec): 12.5

System: Closed Loop: r to y I/O: r to y Settling Time (sec): 16.9

Usando el siguiente código en MATLAB podemos

revisar el error a estado estacionario que como se

espera es nulo. Sin embargo, miremos también

cual es el error a la rampa.

gs=zpk([],[-1 -0.8 -0.25],0.2)

c=zpk([-0.25],[0],0.9)

T=feedback(c*gs,1)

S=1-T; %calculamos la sensibilidad

ep=dcgain(S)%

Una vez corrido este código arroja un valor como,

2.1867e-015, que es un cero en calculo numérico del

computador.

Para calcular el error de velocidad hacemos lo

siguiente:

integrador=tf(1,[1 0])%definimos un integrador

respuesta=minreal(integrador*S)

ev=dcgain(respuesta)&

%miremos la simulacion a la rampa con error finito

step(integrador*T,integrador)

vEl e nos da 440% y ahora miramos la simulación

ante una entrada rampa

0 5 10 15 20 25 30 35 400

5

10

15

20

25

30

35

40

salidareferencia

Step Response

Time (sec)

Am

plit

ude

Controladores PID en el lugar de las raíces

La función de transferencia de un controlador PID con

derivador ideal esta dada por:

( ) ip d

kC s k k s

s

Recordamos que derivadores ideales no pueden existir

por lo cual

d( ) , donde 1

i d dp

d

k k s kC s k

s s N

Esto nos conduce a:

2( 1) ( 1)( )

( 1)

p d i d d

d

k s s k s k sC s

s s

Definamos

1d

d

p

2( 1) ( 1)

( )

( 1)

p i d

d d

d

s sk s k k s

p pC s

ss

p

De aquí que

Controladores PID en el lugar de las raíces

Expandiendo esta expresión y factorizando

términos semejantes obtenemos la función del PID

propio, el cual si puede realizarse.

2( ) ( )( )

( )

p d d p d i i d

d

k k p s k p k s k pC s

s s p

Este lo podemos reescribir de la forma:

2

( )( )d

as bs cC s

s s p

Controladores PID en el lugar de las raíces

Donde tomamos las definiciones:

i d

p d i

p d d

c k p

b k p k

a k k p

Que nos permiten despejar las constantes del PID

Para su diseño:

;

i

d

ip d d

d

p

d

d

ck

p

b kk N k p

p

a kk

p

Con la expresión anterior como:

2

1 2( )( )( )

( ) ( )d d

as bs c K s z s zC s

s s p s s p

Entonces el PID no es otra cosa que un

controlador de segundo orden con un polo en el

origen y otro polo estable lejano que aparece

como consecuencia de la implementación real del

derivador. Adicionalmente, el controlador PID

tiene dos ceros ( ), los cuales pueden ser

reales o complejos.1 2 y z z

Controladores PID en el lugar de las raíces

Ims

Res

Ims

Res

ceros reales ceros complejos

polo en 0 polo en 0

polo en - dp polo en - dp

Podemos diseñar un PID en el lugar de las raíces si

ubicamos polos y ceros con estas distribuciones. El

caso de usar ceros complejos es más usual pues en

muchos casos produce una mejor respuesta.

Controladores PID en el lugar de las raíces

•Adicionalmente podemos notar que, en el caso de

ceros reales, el PID no es sino un caso de una red de

adelanto-atraso.

•Los ceros complejos sea usan para neutralizar el

efecto de vibración, en sistemas mecánicos por

ejemplo, que tienen polos con componentes

imaginarios elevados.

Ims

Res

Ims

Res

ceros reales ceros complejos

polo en 0 polo en 0

polo en - dp polo en - dp

Controladores PID en el lugar de las raíces

Pasos de diseño

1. Se hace el lugar de las raíces y la región de

diseño de G(s). Se añaden el polo en s=0 y los

ceros. Iterativamente los ceros se van acercando

al origen hasta lograr que el lugar de las raíces

pueda ubicarse en la región de diseño.

2. Se ajusta la ganancia para ubicar todos los polos

en la región de diseño

3. Se coloca el polo lejano del derivador, eligiendo

primero un valor alto y disminuyendolo

progresivamente hasta que su efecto no se vea en

la respuesta transitoria del sistema

Controladores PID en el lugar de las raíces

Ejemplo

Se tiene el sistema con función de transferencia

100000( )

( 100) ( 20) ( 5) ( 1)G s

s s s s

Diseñar un PID para lograr las siguientes

especificaciones

0

10%

2

p

s

e

SP

T s

Controladores PID en el lugar de las raíces

Ejemplo

-200 -150 -100 -50 0 50 100 150-200

-150

-100

-50

0

50

100

150

200

Vista del lugar del sistema original G(s) Vista del sistema con el polo en cero

-200 -150 -100 -50 0 50 100-150

-100

-50

0

50

100

150

Dibujamos el lugar de las raices y agregamos el

polo en cero.

La inserción del polo en s=0 del integrador, ha

producido un efecto desestabilizante como

esperábamos, pero debemos recordar que el erro

de posición sera nulo.

Para eliminar el efecto desestabilizante del

integraodor ahora debemos colocar el efecto

estabilizante de los dos ceros del PID.

Controladores PID en el lugar de las raíces

Ejemplo

-10 -8 -6 -4 -2 0

-15

-10

-5

0

5

10

-10 -8 -6 -4 -2 0

-15

-10

-5

0

5

10

-10 -8 -6 -4 -2 0

-15

-10

-5

0

5

10

Controladores PID en el lugar de las raíces

A medida que acercamos los

ceros al origen el lugar va

penetrando a la región de

diseño, hasta que lo logramos

con z1=6 y con z2=2.

1 6z 2 2z1 6z 2 2z

-10 -8 -6 -4 -2 0

-15

-10

-5

0

5

10

Con estos valor hemos logrado que el lugar de

las raíces quede en la región de diseño y los

polos de lazo cerrado puedan estar dentro de ella.

Por último elegimos un polo lejano que no

cambie demasiado el lugar de las raíces ya

encontrado, ni la respuesta transitoria

-10 -8 -6 -4 -2 0

-15

-10

-5

0

5

10

Step Response

Time (sec)

Am

plit

ude

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

0.2

0.4

0.6

0.8

1

1.2

1.4

System: Closed Loop: r to y I/O: r to y

Peak amplitude: 1.08 Overshoot (%): 7.96

At time (sec): 1.01

System: Closed Loop: r to y I/O: r to y

Settling Time (sec): 1.92

Sin polo lejano Respuesta transitoria

-10 -8 -6 -4 -2 0

-15

-10

-5

0

5

10

Real Axis

Imag A

xis

Root Locus Editor (C)

Con polo en p=-40

Step Response

Time (sec)

Am

plit

ude

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

0.2

0.4

0.6

0.8

1

1.2

1.4

System: Closed Loop: r to y I/O: r to y

Settling Time (sec): 1.96

System: Closed Loop: r to y I/O: r to y

Peak amplitude: 1.09 Overshoot (%): 9.4

At time (sec): 1

Respuesta transitoria

k=0.48

Para todo esto se ha usado la herramienta SISOTOOL

de MATLAB. Podemos exportar al espacio de trabajo

de MATLAB el controlador C obtenido y usar las

formulas obtenidas anteriormente para encontrar el

PID equivalente.

File=>export=>export to workspace (C debe

estar seleccionado)

El compensador obtenido es:

2.1763 (s+5.455) (s+1.633)( )

s (s+40)C s

Lo convertimos a función de transferencia

C=tf(C)

2

2

2.176 s +15.43s+19.39( )

s +40 sC s

Y recordamos las fórmulas:

;

i

d

ip d d

d

p

d

d

ck

p

b kk N k p

p

a kk

p

Que calculamos directamente con este código

%MATLAB CODE

T=feedback(C*G,1)

step(T)%simulamos para verificar

[num,den]=tfdata(C,'v')%retornamos en forma de vectores el

numerador y el denominador

a=num(1)%tomamos cada constante del numerador

b=num(2)

c=num(3)

pd=den(2)

ki=c/pd

kp=(b-ki)/pd

kd=(a-kp)/pd

N=pd*kd

De donde:

0.4847

0.3735

0.0451

1.8028

i

p

d

k

k

k

N

Para probar que hicimos las cosas bien simulamos en

Simulink con el PID aproximado y estas constantes.

Con lo cual confirmamos que nuestro PID,

Quedó bien diseñado.

salida

To Workspace

Sum1

Step Scope

kp

Proportional

G

LTI System

ki

s

Integral

kd.s

kd/N.s+1

Derivative

0 0.5 1 1.5 2 2.5 3 3.5-0.2

0

0.2

0.4

0.6

0.8

1

1.2

Simulación del PID