C
ASOS
E
SPECIALES DEL
L
UGAR
G
EOMÉTRICO DE LAS
R
AÍCES
Casos Especiales del Lugar Geométrico de las Raíces
Recordemos que el problema general del Lugar de las Raíces puede ser
formulado partiendo de la siguiente ecuación de la variable compleja s
:
( )
( )
( )
0
c L L
P s
D s
KN s
(1)
Donde
D
L(
s
) es un polinomio de orden “
n
” de
s
y N
L(
s
) es un polinomio de
orden “
m”
de
s
.
1 1 0( )
m m mN s
s
b
s
b
(2)
1 1 0( )
n n L nD s
s
a
s
a
(3)
n
y
m
son enteros positivos y
K
es una constante real la cual puede variar de
-a
.
Otra forma de plantearlo
Consideremos el sistema de la figura
La función de transferencia del lazo es:
( )
( ) ( )
L s
G s H s
(4)
La función de transferencia del sistema a lazo cerrado es:
( )
( )
( )
( )
1
( ) ( )
C s
G s
T s
R s
G s H s
(5)
Por lo tanto, las raíces de la ecuación característica deben satisfacer
( )
1
( ) ( )
1
( )
0
F s
G s H s
L s
(6)
Donde se supone que L(s) contiene un solo parámetro variable K como un factor multiplicativo, de forma que la función racional de lazo se pueda expresar como:
( )
( )
( )
L LKN s
L s
D s
(7)
Reemplazando en la ecuación característica (6) queda una expresión idéntica a la (1)
( )
1
( ) ( )
1
( )
0
( )
( )
( )
0
c L L
F s
G s H s
L s
C
ASOS EN QUE ENL
(
S)
NO ESTÁ EN FORMA MULTIPLICATIVAEl comando rlocus(sys) calcula y dibuja el lugar de las raíces del modelo SISO a lazo abierto sys. Esta función puede aplicarse a cualquiera de los siguientes lazos de realimentación negativa definiendo apropiadamente sys.
C
ASOS EN QUE ENL(
S)
NO ESTÁ EN FORMA MULTIPLICATIVACuando un parámetro variable cualquiera de
L
(
s
) no está en forma
multiplicativa. Siempre es posible reordenar
L
(
s
) para obtener una
ecuación característica en la forma multiplicativa o estándar
( )
( )
( )
( )
1
( )
0
( )
( )
( )
0
eq L eq eq L eq eq L eq eq eq c L LKN
s
L s
D
s
F s
L s
P
s
D
s
KN
s
Se deben agrupar todos los términos que incluyen
K
y dividir por la
sumatoria de los términos que no incluyen
K
.
Ejemplo 1
–
El parámetro variable es un polo
p
de
L
(
s
)
3 2 ( 2) 2 ( ) 1, ( ) ( ) ( 1)( ) ( 1) s s H s L s G s s s s p s p s ps 3 2 ( ) 2 ( ) 1 ( ) ( 1) ( 1) 2 L s s T s L s s p s p s
L
(
s
)
no está en la forma estándar
ya que no aparece en forma multiplicativa.
El polinomio característico es:P s
c( )
s
3(
p
1)
s
2(
p
1)
s
2
Realizamos el análisis de Routh_Hurwitz para determinar el rango de estabilidad % Polinomio característico s^3+(p+1)*s^2+(p+1)*s+1
syms p eps; Pc=[1 p+1 p+1 2]; [Routh_array,s]=routh(Pc,eps)
2 1 2 1 ( 2.414)( 0.414) 0 0.414 0.414 p p p p p p p
Ahora reordenamos el polinomio característico para llevarlo a la forma estándar agrupando los términos que incluyen p
3 2 3 2
( )
(
1)
(
1)
2
2
(
1)
c
P s
s
p
s
p
s
s
s
s
ps s
Luego operamos con T(s) dividiendo numerador y denominador por la suma de todos los términos del polinomio característicos que no incluyen a p.
3 2 ( ) 3 2 3 2 3 2 ( ) ( ) ( ) 2 2 2 2 ( ) ( 1) ( 1) ( 1) 2 2 ( 1) 1 2 eq eq eq eq G s L s G s H s s s s s s s T s s s s p s p s s s s ps s p s s s 3 2 2 ( ) , 2 eq s G s s s s ( ) ( 1) ( ) ( ) 2 eq eq eq pL s s s H s p G s s 3 2 ( 1) ( ) ( ) ( ) 2 eq eq eq s s L s G s H s p s s s
Luego los modelos con ( 2) ( ) , ( ) 1 ( 1)( ) s G s H s s s s p y con 3 2 2 ( 1) ( ) , ( ) 2 2 eq eq s s s G s H s s s s s
son equivalentes desde el punto de vista entrada-salida (son indistinguibles midiendo R(s) y C(s)).
Observar para este ejemplo que Heq(s) no es realizable (tiene más ceros que
polos). No hay que buscarle a Geq(s) y Heq(s) ningún significado físico. Este
procedimiento es solo un truco matemático que me permite utilizar la teoría del lugar de las raíces y en consecuencia poder utilizar el comando rlocus.
Ahora que hemos llevado el modelo original a uno equivalente en la forma estándar podemos utilizar el comando rlocus.
%Caso en que en L(s) K no esta en forma multiplicativa. % Ejemplo 1 de la clase (Ogata)
clear, clc, close all
Leq=tf([1 1 0],[1 1 1 2]);
k1=0:.001:5; k2=5:.01:50; K=[k1 k2]; r=rlocus(Leq,K); hold on
plot(r,'.b')
%Ahora se grafican los polos y ceros junto con los ejes
plot(zero(Leq)+eps*1i,'ro','MarkerSize',8) plot(pole(Leq)+eps*1i,'r+','MarkerSize',12) xmin=-1.5; xmax=0.25; ymin=-1.5; ymax=1.5;
ejex=line([0 0],[ymin ymax],'LineWidth',1,'Color','k'); %Eje real
ejey=line([xmin xmax],[0 0],'LineWidth',1,'Color','k'); %Eje imaginario
title({'LUGAR GEOMÉTRICO DE LOS POLOS A LAZO CERRADO'},...
'FontSize',16,'FontWeight','bold')
xlabel('Eje Real','FontSize',14); ylabel('Eje Imaginario','FontSize',14); axis([xmin xmax ymin ymax]);axis('square');grid; hold off
Otra alternativa es trabajar con una scrip propia (basada en modificar el polinomio característico con el parámetro K, encontrar sus raíces con el comando root y graficarlas) ya que no necesita que el parámetro esté en forma multiplicativa estándar Pc (s) = DL(s) + K NL(s) = 0.
% Ejemplo 1 clase
clear, clc, close all, hold on
%Para K=0 grafico los polos
p=roots([1 1 1 2]); plot(p+eps*1i,'rx','LineWidth',2,'MarkerSize',8),
%Para K=>oo grafico los ceros
p=roots([1 1e10 1e10 2]); plot(p+eps*1i,'ro','LineWidth',2,'MarkerSize',8),
for K=0:.005:20; Pc=[1 K+1 K+1 2]; p=roots(Pc); plot(p+eps*1i,'b.'); end
xmin=-1.5; xmax=0.25; ymin=-1.5; ymax=1.5; axis([xmin xmax ymin ymax]); axis('square')
ejex=line([0 0],[ymin ymax],'LineWidth',1,'Color','k'); %Eje real
ejex=line([xmin xmax],[0 0],'LineWidth',1,'Color','k'); %Eje imaginario
title({'LUGAR GEOMÉTRICO DE LOS POLOS A LAZO CERRADO'},'FontSize',12,...
'FontWeight','bold')
Ejemplo 2
Función de transferencia directa: 2
20
( ) , ( ) 1
( 5 20 4)
G s H s
s s s K
Función de transferencia del lazo: 2
20 ( ) ( ) ( ) ( )
( 5 20 4)
L s G s H s G s
s s s K
Función de transferencia a lazo cerrado: 3 2
( ) 20 ( ) 1 ( ) 5 (4 20 ) 20 G s T s G s s s K s Polinomio característico: P sc( ) s3 5s2 (4 20 )K s 20
Observar que la variable K aparece en un coeficiente del denominador de L(s) no en la forma estándar como un factor multiplicativo. En este caso no puede utilizarse directamente el comando rlocus(L) ya que daría un resultado erróneo porque rlocus asume que L(s) es de la forma L(s)=KL’(s).
Como antes, reordenamos el polinomio característico para llevarlo a la forma estándar agrupando los términos que incluyen K
3 2 3 2
( )
5
(4
20 )
20
5
4
20
20
c
P s
s
s
K s
s
s
s
Ks
Luego operamos con T(s) dividiendo numerador y denominador por la suma de todos los términos del polinomio característicos que no incluyen a K.
3 2 ( ) 3 2 3 2 ( ) ( ) 20 5 4 20 ( ) ( ) 20 ( ) ( ) 5 4 20 20 20 1 ( ) ( ) 1 5 4 20 eq eq eq G s eq G c eq eq H s G s s s s G s N s T s P s s s s Ks KG s H s K s s s s
3 2 2
20
20
( )
,
( )
5
4
20
(
5)(
4)
eq eqG s
H s
s
s
s
s
s
s
3 2 20 ( ) ( ) ( ) 5 4 20 eq eq eq s L s G s H s s s sAhora si se puede calcular con rlocus(Leq) (Leq=tf([20 0],[1 5 4 20])) clear, clc, close all
Leq=tf([20 0],[1 5 4 20]);
k1=0:.001:5; k2=5:.01:50; K=[k1 k2]; r=rlocus(Leq,K); hold on; plot(r,'.b')
% Se grafican los polos y ceros junto con los ejes
plot(zero(Leq)+eps*1i,'ro','LineWidth',2,'MarkerSize',8) plot(pole(Leq)+eps*1i,'r+','LineWidth',2,'MarkerSize',10) xmin=-5.5; xmax=.5; ymin=-6; ymax=6;
ejex=line([0 0],[ymin ymax],'LineWidth',1,'Color', 'k'); %Eje real
ejex=line([xmin xmax],[0 0],'LineWidth',1,'Color','k'); %Eje imaginario title({'LUGAR GEOMÉTRICO DE LOS POLOS A LAZO CERRADO'},...
'FontSize',12,'FontWeight','bold')
xlabel('Eje Real','FontSize',14); ylabel('Eje Imaginario','FontSize',14); axis([xmin xmax ymin ymax]);axis('square');grid; hold off
Utilizando SCRIP Propia
clear, clc, close all
% Ejemplo 2 clase
% 20 20
% G(s)= ---, H(s)=1, T(s)= ---% s(s^2+5s+20K+4) s^3+5s^2+(4+20K)s+20 %Para K=0 grafico los polos
hold on
p=roots([1 5 4 20]); plot(p+eps*1i,'rx','LineWidth',2,'MarkerSize',8),
%Para K=>oo grafico los ceros
p=roots([1 5 1e6 20]); plot(p+eps*1i,'ro','LineWidth',2,'MarkerSize',8),
for K=0:.005:20;
Pc=[1 5 (4+20*K) 20]; p=roots(Pc); plot(p+eps*1i,'b.')
end
xmin=-6; xmax=.5; ymin=-6; ymax=6; axis([xmin xmax ymin ymax]); axis('square') ejex=line([0 0],[ymin ymax],'LineWidth',1,'Color','k'); %Eje real
ejex=line([xmin xmax],[0 0],'LineWidth',1,'Color','k'); %Eje imaginario
title({'LUGAR GEOMÉTRICO DE LOS POLOS A LAZO CERRADO'},'FontSize',12,...
'FontWeight','bold')
S
ISTEMAS CONR
ETARDOEn este caso la ganancia del lazo es:
( ) ( ) ( ) Ts L L KN s e L s D s
Se aproxima el retardo mediante la aproximación de Padé
Pade Pade
( )
( )
TsN
s
e
D
s
Pade Pade
( )
( )
( )
( )
( )
L LKN s N
s
L s
D s D
s
Ahora se resuelve el lugar de las raíces de
Pade Pade Pade Pade
( )
( )
( )
1
( )
1
0
( )
( )
( )
( )
( )
( )
( )
0
L L L LKN s N
s
F s
L s
D s D
s
Pc s
D s D
s
KN s N
s
clear, clc, close all
k1=0:.01:50; k2=50:.1:1000;k3=1000:1:10000; k4=1e4:10:1e5 ;K=[k1 k2 k3 k4]; Gd1=zpk([20],[0 -1 -20],-1);r1=rlocus(Gd1,K);
Gd2=zpk([20],[0 -1 -20],1) ;r2=rlocus(Gd2,K); hold on; plot(r1,'.b');plot(r2,'.r');
xmin=-20; xmax=40; ymin=-30; ymax=30;
ejex=line([0 0],[ymin ymax],'LineWidth',1,'Color', 'k'); %Eje real
ejex=line([xmin xmax],[0 0],'LineWidth',1,'Color','k'); %Eje imaginario
title({'LUGAR GEOMÉTRICO DE LOS POLOS A LAZO CERRADO'},...
'FontSize',12,'FontWeight','bold')
xlabel('Eje Real','FontSize',14); ylabel('Eje Imaginario','FontSize',14); axis([xmin xmax ymin ymax]);axis('square');grid; hold off
0 0.
En realidad K es negativo Observar queel RL se ha dibujado para K
es el efecto del signo con K 0.1 ( ) ( 1) s Ke G s s s : Ejemplo