Escolar Documentos
Profissional Documentos
Cultura Documentos
OBJETIVO
Apresentar funes bsicas do MATLAB utilizadas para anlise de sistemas de
controle.
APRESENTAO
Neste material considera-se que o usurio est familiarizado com os princpios de
funcionamento do MATLAB no que diz respeito a utilizao da janela de comando e
gerao de arquivos.m para colecionar sequncias de comando. Tambm ser
considerado que os detalhes relacionados com o uso das funes devem ser obtidos
atravs de consulta ao MATLAB atravs do comando help.
O contedo deste experimento prope-se a servir de material didtico sobre Anlise e
Projeto de Sistemas de Controle utilizando o MATLAB. Este material foi elaborado
baseado no livro Linear Feedback Control Analysis and Design with Matlab dos
autores Dingy Xue (Northeastern University), YangQuan Chen (Utah State
University) e Derek P. Atherton (University of Sussex).
16
A maioria (mas no todos) os projetos de processos para um sistema de controla faz uso de
modelos matemticos. Portanto, importante tentar obter modelos matemticos precisos para
os sistemas componentes. O sistema pode ento ser analisado e projetado de modo sistemtico e suas propriedades podem ser avaliadas usando modelos matemticos de seu verdadeiro
comportamento.
Se o modelo do sistema conhecido, dois mtodos podem ser utilizados para a tarefa de
construo do modelo do sistemas para anlise e projeto. O primeiro mtodo deduzir o modelo
do sistema usando leis e princpios fsicos. O segundo mtodo, que mais comumente usado,
encontrar um modelo matemtico aproximado baseado nos dados da resposta observada no
sistema. O primeiro mtodo remete modelagem fsica e o segundo identificao de sistema.
Neste captulo, o problema de modelagem fsica ilustrado atravs de um exemplo na
seo 1.1. Na seo 1.2, o conceito de transformada de Laplace apresentado com solues em
MATLAB. A representao da funo de transferncia de sistemas lineares descrita na seo
1.3. Sero apresentadas tambm diversas descries em MATLAB de funes de transferncia
padro. Outras descries de sistemas comumente usadas, tal como a representao em espao
de estados e a representao zero-polo-ganho so apresentadas na seo 1.4. Os princpios
de modelagem para encontrar modelos globais de sistemas a partir da conexo de submodelos
so mostrados nas sees 1.5 e 1.6. Na seo 1.6 tambm descrita a converso equivalente
entre diferentes tipos de modelos para o mesmo sistema. Por exemplo, uma representao em
funo de transferncia pode ser convertido para uma representao em espao de estados. Uma
introduo aos sistemas de identificao mostrada na seo ??, com nfase em identificao
de modelos em tempo discreto e seleo de sinais de identificao.
17
1.1
duc (t)
dt
(1.1)
di(t)
+ uc (t)
dt
(1.2)
d2 uc (t)
duc (t)
+ uc (t) = u(t)
+ RC
2
dt
dt
(1.3)
A equao diferencial ordinria (EDO) de segunda ordem mostrada em 1.3 chamada de modelo matemtico do circuito eltrico.
Em geral, o modelo matemtico de um sistemas dinmico em tempo contnuo pode ser
representado por uma EDO.
1.2
A Transformada de Laplace
Na equao 1.3, a tenso uc (t) sobre o capacitor C pode ser representada por uma EDO
linear de segunda ordem. Um mtodo usado para resolver equaes diferenciais lineares
utilizando a transformada de Laplace, como visto abaixo.
Definio 1.1. A transformada de Laplace de uma funo no tempo f(t) definida por
L [ f (t)] =
Z
0
f (t)est dt = F(s),
(1.4)
18
f
(t)
=
s
F(s)
s
f
(0
)
s
.
dt n
d
dt n1
Rt
Z
Z t
...
f ()(d)
F(s)
.
sn
t0
s0
Z t
f ()g(t )d =
Z t
f (t )g()d.
8. Outras:
nd
L [t f (t)] = (1)
n
n F(s)
dsn
Z Z
f (t)
F(s)dsn .
=
...
n
t
s
s
19
A funo do MATLAB laplace() pode ser utilizada para obter a transformada de Laplace
de uma funo f (t). A sintaxe da funo F=laplace(f). Note que apenas uma limitada
classe de sinais f (t) pode ser usada em laplace(f).
Exemplo 1.1. possvel utilizar os seguintes comandos no MATLAB para encontrar a transformada de Laplace da funo ebt cos (at + b):
syms s t a b c; F=laplace(exp(b*t)*cos(a*t+c)).
A forma de Laplace da funo
F(s) =
cos (c)(s b)
sin (c)a
(s b)2 + a2 (s b)2 + a2
Definio 1.2. A transformada inversa de Laplace de uma dada funo F(s) definida por
f (t) = L
1
[F(s)] =
2j
Z +j
F(s)est ds,
1.3
1.3.1
Uc (s)
U(s)
20
A funo de transferncia de um sistema linear contnuo pode ser generalizado por uma
funo racional de s na forma
b1 sm + b2 sm1 + + bm s + bm+1
G(s) = n
s + a1 sn1 + a2 sn2 + + an1 s + an
(1.5)
Se os coeficientes bi , (i = 1, . . . , m + 1) e ai , (i = 1, . . . , n) so constantes, o sistema chamado de linear invariante no tempo (LIT). O denominador chamado de polinmio caracterstico do sistema. O valor de n chamado de ordem do sistema. Para um sistema fisicamente
realizvel, frequente que m n. Nesse caso, o sistema chamado de prprio. Se m < n, o
sistema chamado de estritamente prprio. O valor de n m , algumas vezes, chamado de
ordem relativa do sistema.
1.3.2
Uma funo de transferncia pode ser facilmente colocada no MATLAB utilizando os seguintes comandos:
num=[b1 , b2 , ..., bm , bm+1 ]; den=[1, a1 , a2 , ..., an1 , an ];
G=tf(num, den)
Ou seja, necessrio representar os coeficientes do numerador e do denominador em dois
vetores diferentes num e den. A varivel G recebe o retorno da funo tf() com a funo de
transferncia.
Exemplo 1.2. A funo de transferncia
G(s) =
s+5
s4 + 2s3 + 3s2 + 4s + 5
6(s + 5)
(s2 + 3s + 1)2 (s + 6)(s3 + 6s2 + 5s + 3)
21
6s + 30
s8 + 18s7 + 124s6 + 417s5 + 740s4 + 729s3 + 437s2 + 141s + 18
A funo conv() que foi utilizada realiza a convoluo entre dois vetores. Os coeficientes do
produto entre dois polinmios pode ser obtido pela convoluo dos vetores de seus coeficientes,
por isso a funo conv() foi utilizada. Essa funo pode ser aninhada quantas vezes forem
necessrias.
Outra maneira de se obter a funo de transferncia no MATLAB escrevendo-a em sua
forma fatorada, da seguinte maneira:
s=tf(s);
G=6*(s+5)/(s^2+3*s+1)^2/(s+6)/(s^3+6*s^2+5*s+3)
Alm das variveis essencias do numerador e denominador, outros campos tambm so
definidos no objeto funo de transferncia. possvel listar todos os possveis campos usando
o comando set(tf). Outros campos teis no objeto funo de transferncia incluem, por
exemplo, ioDelay e Ts, que correspondem, respectivamente, ao atraso de entrada e sada e o
intervalo de amostragem; este ltimo aplicvel somente a sistemas discretos no tempo. O
campo Variable definido como o smbolo operador usando na funo de transferncia, com
s e p para sistemas em tempo contnuo e z, z1 e q para sistemas em tempo discreto, onde q a
forma abreviada de z1 .
Caso seja necessrio mudar o smbolo operador na representao da funo de transferncia
para p e atribuir um atraso de transporte de 0,5 segundos, um dos comandos MATLAB a seguir
podem ser utilizados:
G.Variable=p; G.ioDelay=0.5;
B=[4, 6; 2, 4; 2, 2; 0, 2]; C=[0, 0, 0, 1; 0, 2, 0, 2];
set(G,Variable,p,ioDelay,0.5);
O modelo G ento mostrado como
e0.5p
6p + 30
p8 + 18p7 + 124p6 + 417p5 + 740p4 + 729p3 + 437p2 + 141p + 18
22
1.3.3
Sistemas com um entrada e uma sada so chamados de entrada nica-sada nica (SISO, do
ingls single input-single output), enquanto sistemas com mais de uma entrada e mais de uma
sada so chamados de mltiplas entradas-mltiplas sadas (MIMO). Para um sistemas MIMO, a
representao em funo de transferncia denotada por uma matriz de funes de transferncia
que chamada de matriz de funo de transferncia. O objeto funo de transferncia tf
tambm pode ser utilizado para representar matrizes de funo de transferncia MIMO.
Exemplo 1.4. Assuma que a matriz de funo de transferncia de um sistema MIMO dada
por
"
G(s) =
0.1134e0.72s
1.78s2 +4.48s.1
0.3378e0.3s
0.361s2 +1.09s+1
0.924
2.07s+1
0.318e1.29s
2.93s+1
1.3.4
b0 zm + b1 zm1 + + bm1 z + bm d
z
a1 zn + a2 zn1 + + an z + an+1
23
que pode ser obtida atravs da transformada-Z para equaes de diferena, pode ser tambm
inserido no MATLAB com as seguintes declaraes
num=[b0 , b1 ,..., bm1 , bm ];
den=[a1 , a2 ,..., an , an+a ];
H=tf(num, den, Ts, T, ioDelay, d);
onde T o perodo de amostragem e m o atraso de transporte. Alternativamente, a varivel z
pode ser declarada como z=tf(z,T) antes de especificar a funo de transferncia matematicamente.
Exemplo 1.5. Assuma que um modelo em tempo discreto de um sistema seja dado por
H(z) =
1.4
1.4.1
24
dx1
dt
dx2
dt
= x2
1
1
= LC
x1 RL x2 + LC
u
Em teoria de controle, dxi /dt frequentemente denotado como xi e a equao acima pode
ser escrita na forma de matriz como
"
x1
"
=
x2
#"
1/(LC) R/L
x1
"
u,
1/(LC)
x2
(1.6)
x1
"
=
x2
1/C
1/L R/L
#"
x1
"
+
x2
#
u.
1/L
T
onde u = [u1 , . . . , u p ]T e y = y1 , . . . , yq so vetores de entrada e sada, respectivamente.
As matrizes A, B, C e D so compatveis. O termo "compatveis" indica que as matrizes pos-
25
x =
0.25 0.5 1.25 1
4 6
"
#
2 4
0 0 0 1
x
x+
u, y =
2 2
0
2
0
2
0 2
1.4.2
Descrio Zero-Polo-Ganho
(s + z1 )(s + z2 ) . . . (s + zm )
,
(s + p1 )(s + p2 ) . . . (s + pn )
(1.7)
26
1.5
1.5.1
27
Conexo Srie
Considere a conexo srie dos dois blocos como mostrado na figura 1.2(a). possvel ver
que o sinal u(t) entrada apenas do bloco G1 (s) e a sua sada ser a entrada do bloco G2 (s) que,
por sua vez, gera o sinal y(t), que a sada do sistema. Este tipo de conexo chama de conexo
srie ou conexo em cascata.
A funo de transferncia de uma conexo srie dada por G(s) = G2 (s)G1 (s). Para sistemas
SISO, os bloco G1 (s) e G2 (s) so intercambiveis, ou seja, G1 G2 = G2 G1 . Para sistemas MIMO,
entretanto, os dois blocos so geralmente no intercambiveis.
Assuma que a descrio MATLAB do modelo G1 (s) representada por um objeto LIT G1 ,
que pode ser tf, ss ou zpk e que G2 (s) representado por G2 . O comando que ir gerar o
sistema completo ser G = G2 G1 .
A operao acima vlida mesmo que G1 e G2 sejam variveis simblicas.
1.5.2
Conexo Paralela
Uma conexo paralela tpica de dois blocos G1 (s) e G2 (s) so mostrados na figura 1.2(b),
onde os dois blocos possuem a mesma entrada u(t). As sadas dos dois blocos so somadas para
formar o sinal de sada do sistema y(t). Ento, a funo de transferncia da conexo paralela
G(s)=G1 (s)+G2 (s).
A representao LIT da conexo paralela pode ser obtida utilizando o MATLAB atravs
do comando G = G1 + G2 , onde G1 e G2 so objetos LIT (tf, ss ou zpk) de G1 (s) e G2 (s),
respectivamente.
28
1.5.3
Conexo de Realimentao
Duas conexes de realimentao entre dois blocos so mostradas nas figuras 1.3(a) e 1.3(b),
de modo que a primeira chama de realimentao positiva e a segunda de realimentao negativa. A FT do sistema com realimentao positiva G(s) = G1 (s)[I G2 (s)G1 (s)]1 e a do
sistema com realimentao negativa G(s) = G1 (s)[I + G2 (s)G1 (s)]1 .
29
MATLAB:
G1=tf(1,[1 2 1]); G2=tf(1,[1 1]); G=feedback(G1,G2)
para encontrar que
G(s) =
s+1
s3 + 3s2 + 3s + 2
Para uma conexo com realimentao positiva, o modelo pode ser obtido com
G=feedback(G1,G2,+1)
onde
G(s) =
1.6
s+1
s3 + 3s2 + 3s
Nas sees anteriores, foram discutidos trs modelos LIT. Do ponto de vista numrico, o
espao de estados o mais adequado, especialmente para sistemas de ordem alta. De fato, cada
um dos modelos podem ser convertidos em outros, desde que sejam equivalentes. Nesta seo,
algumas converses tpicas de modelos sero discutidas.
1.6.1
x = Ax + Bu
y = Cx + Du
(1.8)
30
Em geral, para sistemas MIMO, a matriz G(s) pode ser obtidade de 1.8. Se for dado o modelo
zero-polo-ganho, basta expandir os polinmios do numerador e denominador e multiplicar pelo
ganho para obter a funo de transferncia.
Exemplo 1.10. Suponha que um sistema seja descrito pelo espao de estados
0 1 0 0
0 0 1 0
x(t)
=
x(t) +
0 0 0 1
0 0 5 0
G1 (s) =
s2 + 1.303 1013 3
s4 5s2
(s + 3)(s + 7)
,
s(s + 1.8 j1.63)(s + 1)2
1.6.2
Tendo obtido a funo de transferncia, no uma tarefa difcil obter o modelo zero-pologanho equivalente. Para isto, basta representar numerador e denominador na forma fatorada.
Exemplo 1.12. O espao de estados mostrado no exemplo 1.10 pode ser convertido em um
31
(s 1.732)(s + 1.732)
s2 (s 2.236)(s + 2.236)
Exemplo 1.13. O espao de estados mostrado no exemplo 1.11 pode ser convertido em um
modelo zero-polo-ganho utilizando os seguintes comandos MATLAB:
z=[-3; -7]; p=[0; -1.8+1.63j; -1.8-1.63j; -1; 1];
K=6.8; G=zpk(z,p,K); G1=tf(G)
onde
G2 (s) =
1.6.3
6.8(s + 7)(s + 3)
.
s(s + 1)2 (s2 + 3.6s + 5.897)
Embora, para um dado modelo em espao de estados, a funo de transferncia nica possa
ser obtida, a transformao inversa, isto , encontrar uma espao de estados ou realizao para
uma dada funo de transferncia, no nica. Isso pode ser mostrado atravs do exemplo
do circuito RLC do incio do captulo, em queo espao de estados pode ser diferente se as
variveis de estado so selecionadas de maneira diferente. A transformao de uma dada funo
de transferncia para um espao de estados chamada de realizao do espao de estados da
funo de transferncia.
Exemplo 1.14. Considere a funo de transferncia SISO
G(s) =
s3 + 7s2 + 24s + 24
s4 + 10s3 + 35s2 + 50s + 24
32
0
0
0
8
x(t)
=
0
2
0
0
0
0
1
0
x(t) + u(t),
Exemplo 1.15. Uma funo de transferncia MIMO pode ser convertida em um espao de
estados utilizando a mesma funo ss(). Considere a funo de transferncia MIMO
"
#
1/(s + 1)
0
(s 1)/[(s + 1)(s + 2)]
G(s) =
.
1/(s 1) 1/(s + 2)
1/(s + 2)
Utilizando comandos MATLAB
s=tf(s); h11=tf(1,[1,1]); h12=0; h13=(s-1)/(s+1)/(s+2);
h21=tf(-1,[1,-1]); h22=tf(1,[1,2]); h23=tf(1,[1,2]);
H=[h11,h12,h13; h21,h22,h23]; G=ss(H)
obtem-se o espao de estados
x(t)
"
y(t) =
1 0
0
0 1
2 0
0
0
x(t) +
0 3 2 0
0
1
0
0
0
0
0 2
#
0 0.5 0.5 0
x(t).
1 0
0
1
0
1 0 0
1 0 0
0 1 0
u(t),
0 0 2
0 0 0
0 0 1
33
x = AC x + BC u
y = CC x + Du
x =
0
..
.
..
.
0
..
.
0
..
.
0
0
1
a1 a2 an
y = [b1 , b2 , . . . , bn ] x.
x+
u,
1
0
..
.
0 0
1 0
x = 0 1
x = AO x + BO u
=
.. .. . .
. .
.
y = CO x + Du
0 0
y = [0, 0, . . . , 1] x.
0 a1
0 a2
x
+
0 a3
..
..
.
.
1 an
b1
b2
b3
u,
..
.
bn
1
= T AT =
J1
J2
..
.
Jk
34
"
Ji =
i i
, Ui =
i
..
.
i
..
.
]
] Im[n1
Re[n1
i
i
i 1 0 0
0 i 1 0
Ji = . . . .
.
.
.
.
.
.
. . .
. .
0 0 0 i
e a matriz de transformao Ui
1
0
i
1
2i
Ui =
i
..
..
.
.
d
n1
n1
i
di (i
1
..
.
..
.
0
..
.
n1
1 d2
)
2! d2i (i
n1
1
dmi 1
)
(mi 1)! dmi 1 (i
3s2 + 21s + 36
.
s4 + 5s3 + 10s2 + 10s + 4
35
2 0
0
0
0
1
1
0
x(t)
=
x(t) +
0 1 1 0
0
0
0
1
1.6.4
48.66
18.19
u(t),
19.09
39.40
Se um modelo descrito como um objeto contnuo LIT G, sua verso discreta sob um intervalo de amostragem T pode ser facilmente obtida com a sintaxe Gd =c2d(G,T ). O mtodo
de discretizao padro utilizado o segurador de ordem zero (zero-order-hold ou, simplesmente, ZOH). Outro mtodo de discretizao o de Tustin, que pode ser utilizado com a sintaxe
Gd =c2d(G,T ,Tustin). Se, por outro lado, um objeito em tempo discreto Gd conhecido,
sua verso contnua pode ser obtida com G=d2c(Gd ), onde o perodo de amostragem T no
necessrio, uma vez que esta informao j est contida em Gd .
x =
0.25 0.5 1.25 1
4 6
"
#
2 4
0 0 0 1
x .
x+
u, y =
2 2
0 2 0 2
0 2
36
0.2008
0.6124
0.1058 0.01884
F =
0.01526 0.03499 0.8849 0.09054
0.383253
0.1906
, G =
0.1879
0.004833
0.5527
0.3694
0.1764
0.1927
1
e2s ,
(s + 2)3
GTustin (z) =
37
A mais importante propriedade de um sistema linear o conhecido princpio da superposio. Assuma que a resposta de um sistema ao sinal u1 (t) seja y1 (t) e a resposta ao sinal u2 (t)
seja y2 (t). Ento, o sistema linear se, para quaisquer constantes a e b, a resposta para o sinal
au1 (t) + bu2 (t) possa ser representada por ay1 (t) + by2 (t).
Os modelos discutidos no captulo anterior (funo de transferncia, zero-polo-ganho, espao de estados etc.) so todos lineares invariantes no tempo (LIT). Dado um modelo matemtico que descreve um sistema, iremos discutir nesse captulo outras propriedades que podem
ser obtidas com relao a esse sistema linear. Primeiro, a estabilidade de sistemas LIT so
discutidas na seo 2.1. Tambm sero discutidas estabilidade de sistemas com realimentao,
propriedades de controlabilidade, observabilidade, decomposio de Kalman e norma de sistemas. So apresentadas as formas cannicas de sistemas lineares de controle e a definio e
desenvolvimento dos parmetros de Markov.
Utilizando as propriedades da seo 2.1, sero apresentadas a anlise no domnio do tempo
de sistemas lineares na seo 2.2 e solues numricas na seo 2.3. Isso nos permite obter e
esboar a resposta ao degrau, resposta ao impulso e a resposta transitria para qualquer sinal de
entrada. Esses so modos eficientes e objetivos de descrever o comportamento de sistemas. Na
seo 2.4, o local das razes mostrado de modo a ilustrar no plano-s o comportamento esperado
do sistema para seus polos. Na seo 2.5 realizada a anlise no domnio da frequncia de um
sistema linear com diferentes anlises grficas, como os diagramas de Bode, Nyquist e Nichols.
Finalmente, a seo 2.6 uma introduo a vrias tcnicas de reduo de modelo para sistemas
lineares.
2.1
2.1.1
38
G(s) =
.
s3 + 7s2 + 24s + 24
s4 + 103 + 35s2 + 50s + 24
39
Como ilustrado abaixo, os polos podem ser calculados e impressos com os seguintes comandos
G=tf([1,7,24,24],[1,10,35,50,24]); eig(G), pzmap(G)
com os quais sero encontrados polos localizados em 1, 2, 3, 4, todos no semiplano
esquero do plano-s, o que significa que G estvel. Isso tambm pode ser verificado atravs da
figura 2.1.
Exemplo 2.2. Suponha que em um sistema com realimentao discreto no tempo o modelo da
planta seja dado por
6z2 0.6z 0.12
,
z4 z3 + 0.25z2 + 0.25z 0.125
com intervalo de amostragem T = 0.1 e o controlador seja
H(z) =
Gc (z) = 0.3
z 0.6
.
z + 0.8
A estabilidade de malha fechada pode ser obtida atravs dos seguintes comandos:
num=[6 -0.6 -0.12]; den=[1 -1 0.25 0.25 -0.125];
H=tf(num,den,Ts,0.1); % Modelo da planta
z=tf(z,Ts,0.1); Gc=0.3*(z-0.6)/(z+0.8); % Modelo do controlador
GG=feedback(H*Gc,1); abs(eig(GG)), pzmap(GG)
As magnitudes dos polos so 1.1644, 1.1644, 0.5536, 0.3232 e 0.3232. Uma vez que a
magnitude dos dois primeiros polos so maiores que 1, ou seja, esto fora do crculo unitrio,
ento o sistema em malha fechada instvel. Esse resultado tambm pode ser visto atravs da
figura 2.2.
Bem-posto e estabilidade interna Com relao a um bom comportamento em controle em
40
41
Gc (s)
1
0
G(s)
H(s)
x1
G(s)H(s)
1
x2 =
1
G(s)
H(s)
Gc (s)H(s)
d .
1
n
Teorema 2.2. O sistema internamente estvel se, e somente se, as duas condies a seguir
forem satisfeitas:
1. A funo de transferncia 1 + H(s)G(s)Gc (s) no possui zeros em Re[s] 0.
2. H(s)G(s)Gc (s) no possui cancelamento polo-zero em Re[s] 0.
A primeira condio equivalente a dizer que o sistema em malha-fechada estvel em
entrada-sada. Ento, basta concentrar-se na segunda condio, a qual pode ser facilmente
checada utilizando a funo MATLAB intstalbe():
42
function [V,c]=intstalbe(G,Gc,H)
GG=minreal(feedback(G*Gc,H)); Go=H*G*Gc; Go1=minreal(Go); p=eig(GG);
z0=eig(Go); z1=eig(Go1); zz=setdiff(z0,z1); % encontra os cancelamentos
if (G.Ts>1), % sistema discreto no tempo
V=any(abs(p)>1);
if V==0, V=2*any(abs(zz)>1); if V==2, c=zz(abs(zz)>1); end
else c=p(abs(p)>1); end
else % sistema contnuo
V=any(real(p)>0);
if V==0, V=2*any(real(zz)>0); if V==2, c=zz(real(zz)>0); end
else c=p(real(p)>0); end
end
Sua sintaxe [V, c]=intstable(G, Gc, H). Na chamada da funo, as variveis retornadas
so definidas como:
1. Se o sistema internamente estvel, retornado V = 0 e c vazio.
2. Se V = 1, o sistema instvel em entrada-sada e os polos de malha fechada instveis so
retornados no vetor c,
3. Se V = 2, o sistema estvel em entrada-sada, mas no internamente estvel, e os polos
instveis internamente cancelados so retornados em c.
Exemplo 2.3. Considere o tpico sistema com realimentao
G(s) =
5(s1)(s+2)
,
s3 +4s2 +3s+4
Gc (s) =
s2 +3s+4
,
(s1)(s2 +3s+2)
H(s) = 1.
s=tf(s); G=5*(s-1)*(s+2)/(s^3+4*s^2+3*s+4);
Gc=(s^2+3*s+4)/((s-1)*(s^2+3*s+2)); H=1;
G_a=minreal(ss(feedback(Gc*G,H))); eig(G_a)
Os polos de malha fechada do sistema, depois do cancelamento dos dois pares polo-zero,
so localizados em 0.2328 j2.0546, 2.2672 j0.6879, que esto todos no semiplano esquerdo do plano s. possvel ver que o sistema em malha fechada estvel. Entretanto,
43
[V,cc]=intstable(G,Gc,H)
conclumos que o sistema no internamente estvel com pares polo-zero cancelados tendo
parte real positiva zi = p j = 1 retornado em cc.
2.1.2
Tc = B, AB, . . . , An1 B ,
onde n a ordem do sistema ou o nmero de estados. A matriz Tc chamada de matriz
de controlabilidade e pode ser gerada utilizando a funo ctrb() do MATLAB, com a sintaxe
Tc =ctrb(A, B).
Sob uma matriz de transformao Tbc adequada, o espao de estados pode ser transformado
na seguinte forma cannica, atravs da transformao para a forma escada:
"
Ac =
bc 0
A
b21 A
bc
A
"
, Bc =
0
Bbc
#
, Cc =
Cbc , Cbc
44
subespao controlvel
bc )1 Bbc + D.
G(s) = Cbc (sI A
A funo ctrbf() pode ser utilizada para realizar a transformao para a forma escada
controlvel. A sintaxe desta funo [Ac , Bc ,Cc , Tc ]=ctrbf(A, B,C), onde (A, B,C) o espao
de estados dado e o espao de estados retornado tem uma forma escada que separa os subespaos
controlveis e no-controlveis. A matrix retornada Tc a matriz de transformao.
Exemplo 2.4. Considere o espao de estados dado por
0 1
0 0 1 0
1
x =
x+
u, y = [1, 0, 0, 0]] x .
0 0 0 1
0
0 0 5 0
2
possvel utilizar os seguintes comandos para checar a controlabilidade do sistema:
0 0
3 0 0 2
1
x =
x
+
u, y = [1, 0, 0, 0]] x .
0 0 0 1
0
0 2 0 0
0
A controlabilidade pode ser analisada utilizando os seguintes comandos:
A=[0,1,0,0; 3,0,0,2; 0,0,0,1; 0,-2,0,0]; B=[0; 1; 0; 0];
C=[1,0,0,0]; Tc=[B, A*B, A^2*B, A^3*B]; rank(Tc)
[Ac,Bc,Cc,T]=ctrbf(A,B,C)
A forma escada controlvel pode ser escrita, na forma particionada, como
45
0.4472 0 0.8944
0
h
i
0
Ac =
, Bc = , Cc = 0.8944 0 0.4472 0
0
0
0
0
2.236
3.5777 0 0.4472
0
1
e pode ser observado que o modo no controlvel est em s = 0, que o autovalor da matriz
bc .
A
Observabilidade de sistemas lineares Observabilidade uma medio do quo bem os
estados internos de um sistema pode ser inferido a partir do conhecimento de suas entradas e
sadas. A observabilidade e controlabilidade de um sistema pode so matematicamente duais.
Definio 2.4. Um estado xi (t) dito observvel se, para qualquer t f > 0, o estado inicial xi (0)
pode ser determinado a partir dos valores da entrada u(t) e da sada y(t) no intervalo 0,t f . O
sistema dito totalmente observvel se todos os estados do sistema so observveis.
Uma vez que a observabilidade do sistema depende somente das matrizes A e C do modelo
de espao de estados, basta afirmar que (A,C) observvel.
Construa uma matriz de transformao To na seguinte forma:
To =
CA
..
.
CAn1
bo A
b12
A
bo
0 A
"
, Bo =
Bbo
Bbo
#
, Co =
0, Cbo
bo so chamados modos
conhecida como a forma escada observvel. Os autovalores de A
bo ser
no-observveis. Se o sistema totalmente observvel, o subespao no-observvel A
vazio. A funo de transferncia do sistema pode ser expressado por
46
b o (sI A
b o )1 B
b o + D.
G(s) = C
Comparando-se os problemas de controlabilidade e observabilidade, no difcil observar
que eles so duais. Isto , o problema de observabilidade do sistema (AT ,BT ,CT ,DT ) exatamente o mesmo que o problema de controlabilidade do sistema (A, B, C, D).
A funo obsvf() pode ser utilizada para realizar transformao para a forma escada. A
sintaxe
0 1
0 0 2 0
0
h
i
Ao =
,
B
=
,
C
=
0 0 0 1 .
o
o
0 2 0 3
1
0 0 1 0
0
O modo no-observvel est em s = 0. De fato, no difcil verificar que h dois autovalores
em s = 0, sendo um no-controlvel e o outro no-observvel.
2.1.3
As duas propriedades, controlabilidade e observabilidade, discutidas anteriormente, implicam que existem quatro possveis modos de um sistema linear: controlvel e observvel,
no-controlvel e observvel, controlvel e no-observvel e no-controlvel e no-observvel.
Dado um sistema linear, como podemos fazer sua decomposio nesses quatro modos o tpico principal dessa seo. Essa decomposio chamada de Decomposio de Kalman. til
entender a estrutura de herana interna de sistemas lineares.
47
Decomposio de Kalan Kalman demonstrou que qualquer espao de estados pode ser
decomposto na seguinte forma cannica:
b
b
A
0
0
A
c,o
1,2
0
A
0
0
c,o
z(t) =
z(t) +
A
b
b
b
b
3,1 A3,2 Ac,o A3,4
b4,2 0 A
b
0 A
i c,o
h
0
0
Bbc,o
u(t),
(2.1)
bc,o
A
bc,o , 0, 0) no-controlvel/no-observvel, (A
bc,o , 0, Cbc,o ) controlvel/noonde o subspao (A
bc,o , Bbc,o , 0) observvel/no-controlvel e (A
bc,o , Bbc,o , Cbc,o ) controlvel/observobservvel, (A
vel. Essa chamada de decomposio de Kalan e est ilustrada na Figura 2.4.
Teorema 2.3. Propriedades tais como controlabilidade e observabilidade no podem ser alteradas atravs de qualquer transformao.
Uma funo MATLAB kalmdec() pode ser utilizada para realizar a decomposio de Kalman de um dado sistema:
A sintaxe da funo [Gk ,Tk ,k]=kalmdec(G). A varivel retornada Gk a decomposio de Kalman do sistema G. A varivel Tk a matriz de transformao, enquanto k retorna
48
um vetor que armazena as flags para os modos de cada estado. Se a flag zero, o estado correspondente no-controlvel/no-observvel. Os valores 1, 2, 3 de flag correspondem a nocontrolvel/observvel, controlvel/no-observvel e controlvel/observvel, respectivamente.
Exemplo 2.7. Considere o sistema linear
Sua decomposio de Kalman pode ser realizada atravs dos seguintes comandos MATLAB:
que exatamente a soluo do subspao controlvel/observvel. Portanto, na forma da debc,o ,Bbc,o ,Cbc,o ) chamado de mnima realizao do sistema
composio de Kalman, o subspao (A
49
original. Isto , a mnima realizao sempre totalmente controlvel e observvel. Para funes
de transferncia, o "mnimo modelo realizvel" aquele em que todos os pares plo-zero teve
os mesmos valores cancelados.
O procedimento para obter a mnima realizao de um sistema linear est resumido a seguir:
1. Encontre a matriz de transformao Tc1 para separar as partes controlvel e observvel:
50
bc ,Bbc ,Cbc )
2. Encontre a matriz de transformao Tbo de modo que o subsistema controlvel (A
possa ser decomposto para encontrar a parte observvel:
3. Construa a matriz
Ento, defina a matriz de transformao T 1 = Teo1 Tc1 para transformar o sistema oribc,o ,Bbc,o ,Cbc,o ). Sob a matriz de transginal em um sistema na forma mnima realizada (A
formao T , todo o sistema pode ser transformado na forma cannica
Os trs passos acima podem ser implementados utilizando os seguintes comandos MATLAB para encontrar o modelo de mnima realizao
2.1.4
51
onde Mi =
R i
0 t g(t)dt chamado de i-simo momento de tempo do resposta ao impulso da
52
A funo timmomt() do MATLAB pode ser utilizada para calcular os momentos de tempo
de um dado modelo LIT;
A sintaxe da funo c=timmomt(G,k), onde G um modelo LIT e k o nmero de momentos a serem calculados, e o valor retornado c um vetor contendo os primeiros k momentos
de tempo.
Exemplo 2.9. Considere o modelo de quarta ordem
Os primeiros sete momentos de tempo do sistema podem ser obtidos dos seguintes comandos MATLAB:
o que indica que G(s) pode ser aproximado pela expanso em srie de Taylor
53
onde os coeficientes i so chamados de parmetros de Markov. Alternativamente, equivalente a realizar a expanso em srie de Taylor de G(s) em torno de s = . Para o espao de
estados (A,B,C,D), os parmetros de Markov i pode ser calculado de
54
3 19 111 571 2703 12139
1
G(s) = 1 + 2 3 + 4 5 + 6 + o 7 .
s s
s
s
s
s
s
2.1.5
2. A norma L2 : ||u(t)||2 =
qR
|u(t)|dt.
2
u(t) dt.
55
onde u(t) e y(t) so a entrada e sada do sistema, respectivamente. Para sistemas estveis,
a norma H de um sistema pode ser calculada a partir de
2.2
Destacamos que a soluo analtica no domnio do tempo para um sistema linear sempre
possvel dado um tpico sinal de entrada. Para sinais de entrada genricos, entretanto, a anlise
no domnio do tempo deve ser realizada numericamente.
2.2.1
Foi mostrado no captulo anterior que a soluo no domnio do tempo desta equao
56
onde xT (t) = [xT (t), xn+1 (t)] e xT (0) = [xT (0), 1]. A soluo analtica pode ser facilmente
encontrada como
x(t)
= eAt x(0).
Uma classe de sinais de entrada comumente usadas, que pode ser convertida em um sistema
autnomo, definida como
m
(2.2)
i=0
possvel introduzir alguns estados extras, chamados de estados aumentados, de modo que
(m1)
do espao de estados aumentado sob um dado sinal de entrada pode ser escrito como
57
x(t)
= eAt x(0).
58
com os estados iniciais xT (0) = [0, 1, 1, 2]. Se o sinal de entrada definido como u(t) =
2+2e3t sin(2t), a funo ss_argument() pode ser utilizada para construir o espao de estados
aumentado:
O modelo aumentado
Os seguintes comandos podem ser utilizados para encontrar a soluo analtica do sistema:
59
Para qualquer sinal de entrada u(t) com U(s) como sua transformada de Laplace, o sinal
de sada pode ser obtido de Y (s) = G(s)U(s). Assim, a fim de encontrar y(t), a transformada
inversa de Laplace necessria, uma vez que y(t) = L 1 [Y (s)]. A Symbolic Toolbox do MATLAB pode ser utilizado para realizar a transformada de Laplace de dados sinais de entrada e a
transformada inversa pode ser utilizada para realizar a soluo analtica do sistema.
Exemplo 2.12. Assuma que
a funo de transferncia a ser analisada e que o sinal de entrada dado por u(t) = 2 +
2e3t sin 2t. A soluo analtica para o sinal de sada pode ser realizada utilizando os comandos
2.2.2
Similar a abordagem do domnio s para soluo analtica de sistemas contnuos, a transformada Z pode ser utilizada para sistemas discretos para calcular a resposta a um sinal de entrada
U(z). Ento, a soluo analtica o sistema H(z) pode ser obtida pela resoluo da transformada
Z inversa, uma vez que y(n) = Z 1 [H(z)U(z)].
60
2.3
2.3.1
Sinais de entrada em degrau e suas respostas so comumente utilizadas em anlise e desenvolvimento de sistemas de controle. A resposta tpica ao degrau em um sistema de segunda
61
e1t e1t
1
1
!
,
p
p
2 1, 2 = + 2 1.
Exemplo 2.14. Com o uso da poderosa Symbolic Toolbox, as solues analticas para um sistema de segunda ordem podem ser facilmente obtidas:
Com algumas simplificaes bvias, segue o resultado
n t
y(t) = 1 n e
cosh(d t) sinh(d t)
+
,
n
d
(2.3)
62
onde d =
p
2 1n . possvel perceber que o formato dos novos resultados so muito
mais concisos que aqueles dados no Teorema (2.4) se variveis complexas so permitidas. A
nica restrio em (2.3) que 6= 1; caso contrrio, zero pode ser utilizado no denominador.
possvel evitar esse caso particular definindo = 1 + , onde um nmero muito pequeno.
A resosta ao degrau do sistema pode ser calculada facilmente como mostrado na Figura
2.5(a). A verso tridimensional mostrada na Figura 2.5(b).
Os seguintes comandos MATLAB mostram as respostas ao degrau:
Pode ser visto que quando = 0, a sada uma oscilao no-amortecida. Quando
menor que 1, existe uma oscilao amortecida e, com o incremento no valor de , a oscilao
e o overshoot tendem a ser menores. Quando o valor de maior que ou igual a 1, no existe
oscilao no sinal de sada. O comportamento do sinal de sada versus as mudanas no valor de
podem ser melhor observadas na superfcie tridimensional na Figura 2.5(b).
Especificaes quantitativas em respostas ao degrau
Para curvas tpicas de resposta do degrau, vrias especificaes quantitativas teis so de-
63
64
Mp =
yM y()
100%
y()
65
Exemplo 2.15. Considere o sistema de segunda ordem com = 0.5 e n = 1 rad/s. A funo step(), que ser descrita posteriormente, provida em Control Systems Toolbox, pode ser
utilizada diretamente para desenhar a curva de resposta ao degrau
Clique com o boto direito na janela que aparece para ver o menu pop-up mostrado na
Figura 2.7(a). possvel selecionar diferentes especificaes a partir do menu e as correspondentes especificaes sero sobrepostas na curva de resposta ao degrau, como mostrado na
Figura 2.7(b).
Clculo de resposta ao degrau com MATLAB
A resposta ao degrau de sistemas lineares pode ser calculado e plotado utilizando a funo
step(), que pode ser chamada com uma variedade de sintaxes:
Na chamada da funo, G um modelo LIT, que pode ser uma funo de transferncia, um
espao de estados ou um modelo polo-zero-ganho. Esta funo aplica-se a sistemas contnuos
e sistemas discretos. Ela pode ser tambm utilizada para sistemas SISO e MIMO e sistemas
com e sem atraso. Assim, a funo fornece um modo unificado de encontrar a resposta ao
degrau de sistemas lineares. Se nenhum argumento retornado na chamada da funo, ento
a resposta ao degrau plotada automaticamente. Se algo retornado, no haver plotagem da
resposta. Os dados pode ser plotados posteriormente utilizando a funo plot(). Entretanto, as
curvas planas de plot() podem perder propriedades teis, tais como o menu pop-up mostrado
na Figura 2.7(a).
66
Na plotagem da resposta ao degrau, se for clicado em algum ponto na curva, sua magnitude
e tempo sero mostrados, como mostra a Figura 2.8(b). O overshoot, tempo de acomodao e
outras especificaes poem ser facilmente mostradas na curva, utilizando os mtodos mostrados
anteriormente.
Exemplo 2.17. Se um sistema dado por
com perodo de amostragem T = 0.01, 0.1, 0.5, 1.2 segundos, respectivamente, os seguintes comandos podem ser utilizados para obter os modelos de tempo discreto para diferentes
intervalos de amostragem. As respostas ao degrau so mostradas na Figura 2.9. possvel
mostrar que as informaes do sistema original podem ser perdidas se o intervalo de amostragem selecionado for grande demais.
67
2.3.2
2.3.3
Nas discusses anteriores, dois tipos de sinais de entrada foram estudados. Aqui, dois
outros tipos de sinais sero estudados.
Se a transformada de Laplace R(s) do sinal de entrada pode ser escrito como uma funo
racional, a sada do sistema pode ser expressa como Y (s) = G(s)R(s), que tambm racional. Assim, o tempo de resposta sob R(s) pode ser equivalentemente calculado com a funo
68
69
A resposta rampa do sistema pode ser obtida com a ajuda da funo impulse().
Sabe-se que a transformada de Laplace de uma rampa a funo 1/s2 ; ento, a resposta
rampa do sistema pode ser calculada como a resposta ao degrau do sistema G(s)/s ou a resposta
ao impulso do sistema G(s)/s2 . Os seguintes comandos podem ser ento utilizados para calcular
a resposta rampa do sistema, como mostrado na Figura 2.12.
2.4
Assuma que o sistema de controle realimentado estabelecido por uma realimentao negativa, um ganho K e um modelo G(s) de malha aberta. Para cada valor de K, um conjunto de
polos de malha fechada podem ser encontrados pela resoluo da equao 1 + KG(s) = 0. Com
contnuas mudanas no ganho K, as trajetrias dos polos do sistema em malha fechada podem
ser construdas. As trajetrias dos polos do sistema em malha fechada so chamadas de local
das razes do sistema. Deve-se notar que o modelo em malha aberta G(s) deve ser utilizado para
70
plotar o local das razes e o local das razes pode ser utilizado para descreber as posies dos
polos do sistema em malha fechada.
A funo MATLAB rlocus() fornecida na Control Systems Toolbox para plotar o local
das razes de um dado sistema. A funo pode ser chamada em um dos seguintes modos:
Deve-se notar que esta funo aplica-se em ambas os tipos de sistemas, contnuo e discreto.
Somente modelos SISO LIT pode ser processados nesta funo. Ela tambm pode ser utilizada
para plotagem do local das razes de funes de transferncia discretas no tempo.
No local das razes do sistema, possvel clicar com o boto esquero em qualquer ponto
para mostrar o ganho, a posio do polo, a taxa de amortecimento e o overshoot do sistema
para aquele valor de K. possvel facilmente encontrar os valores do ganho de malha aberta K
para as quais o sistema em malha fechada estvel. O comando grid pode ser utilizado para
sobrepor as linhas de iso-amortecimento e isofrequncia do sistema. Estas linhas fornecem
informaes teis em projeto de sistemas de controle.
Exemplo 2.20. Seja
o eixo imaginrio, a informao sobre o ponto crtico mostrado como na Figura 2.13(b), do
qual imediatamente visto que o ganho crtico 772. Conclui-se que quando o ganho K > 772,
ento o sistema em malha fechada instvel.
71
72
possvel encontrar que o ganho crtico reduzido para 1.16. Sendo assim, um termo de
atraso em um modelo em tempo discreto reduz o ganho crtico do sistema.
73
se desejvel encontrar o local das razes de acordo com a varivel a, a equao caracterstica 1 + G(s) = 0 pode ser reescrita como
Seja
O local das razes pode ser utilizado em projeto de controle para selecionar um valor apropriado para o ganho K. Se existe um par de polos complexos dominantes no local das razes,
o qual tem relativamente baixo amortecimento para um valor especfico de K, ento, selecionar
este valor de K deve ser o mais apropriado. Assume-se que se os polos complexos dominantes e
os efeitos de quaisquer zeros so ignorados, ento a resposta em malha fechada resultante ser
aproximadamente a mesma de um sistema de segunda ordem com esses mesmos polos.
2.5
74
Mtodos de anlise no domnio da frquncia compem uma classe de mtodos extremamente importantes em anlise e projeto de sistemas de controle. Em 1932, Nyquist apresentou
um mtodo grfico que pode ser utilizado para avaliar a estabilidade de um sistema de controle.
Em poucos anos, a anlise e projeto utilizando domnio no frequncia j havia se popularizado.
Esta se revelou como uma abordagem muito til.
2.5.1
Um
75
2.5.2
76
Teorema 2.5. Para sistemas em malha fechada com funo de malha aberta G(s) serem estveis,
o Diagrama de Nyquist de G(s) deve circular o ponto (1, j0) no sentido anti-horrio tantas
vezes quanto o nmero de polos de G(s) que esto localizados no semiplano direito do plano s.
O Teorema de Nyquist pode ser interpretado nos dois casos a seguir:
1. Para um modelo em malha aberta estvel G(s), o sistema em malha fechada estvel se, e
somente se, o Diagrama de Nyquist de G(s) no circular o ponto (1, j0). Se o Diagrama
de Nyquist circula o ponto (1, j0) p vezes no sentido horrio, ento existem p polos de
malha fechada instveis.
2. Para um modelo em malha aberta instvel de G(s) com p modos instveis, o sistema
em malha fechada estvel se, e somente se, o Diagrama de Nyquist de G(s) circula o
ponto (1, j0) p vezes no sentido anti-horrio. Se o ponto (1, j0) circulado q vezes no
sentido anti-horrio, ento existem q p polos instveis de malha fechada.
bastante complicada, o ponto (1, j0) no circulado nenhuma vez. J que no existem polos
instveis, possvel mostrar, por meio do uso do Teorema de Nyquist, o sistema em malha
77
fechada estvel. A resposta ao degrau do sistema em malha fechada obtida como mostrado
na Figura >FIGURA(b).
Embora o sistema em malha fechada seja estvel, a resposta ao degrau possui uma oscilao
forte, ento o desempenho do sistema provavelmente no ser satisfatrio. Neste caso, um
controlador ser necessrio para melhorar o desempenho.
2.5.3
possvel ver atravs dos exemplos anteriores que, embora a estabilidade do sistema seja
extremamente importante, no o nico fator importante na descrio do comportamento de
sistemas. Margens de resposta em frequncia so indicadores efetivos no endereamento de
estabilidade relativa e problemas de desempenho.
Nas Figuras 2.17(a) e (b), os esboos das margens de ganho e fase so ilustrados, respectivamente, nos Diagramas de Nyquist e Nichols. As margens de ganho e fase podem ser tambm
ilustradas em Diagrama de Bode.
Se para um sistema com uma funo de transferncia de malha aberta estvel o Diagrama de
Nyquist intercepta o eixo real negativo na frequncia cg , a margem de ganho definida como
o inverno do ganho, isto , Gm = 1/A(cg ), frequentemente expressa em dBs. Se o Diagrama
de Nyquist intercepta o crculo unitrio na frequncia cp , a margem de fase definida como
= (cp ) 180 .
78
2.6
79
Uma tcnica de reduo de modelo foi introduzida pela primeira vez por Davison em 1966.
O mtodo introduzido era reduzir a dimenso da matriz de coeficientes do sistema enquanto preservava alguns autovalores dominantes ou estados mais influentes do sistema original. Tcnicas
de reduo de funes de transferncia so algumas vezes chamdas de "simplificao". Aqui, o
termo "reduo"ser utilizado, uma vez que esta terminologia aparece mais frequentemente na
literatura. Nesta seo, tcnicas de reduo de modelo para funes de transferncia e espaos
de estados sero mostradas.
O modelo reduzido denotado por
2.6.1
Suponha que a srie de Taylor do sistema original G(s) seja escrita como
80
a partir das quais os coeficientes i do denominador podem ser facilmente calculados atravs da soluo de equaes algbricas lineares. Para as primeiras r + 1 frmulas, os coeficientes
i do numerador pode ser calculados.
81
Os instantes de tempo ci e o modelo reduzido de segunda ordem podem ser obtidos utilizandos os seguintes comandos MATLAB:
As comparaes doss diagramas de Bode e respostas ao degrau so obtidas como mostrado nas Figuras 2.18(a) e (b), respectivamente. possvel ver que o modelo reduzido pode
aproximar o modelo original de quarta ordem satisfatoriamente.
82
possvel ver que o sistema original estvel. A aproximao de Pad de terceira ordem
do sistema original pode ser obtida por
Obviamente o sistema reduzido instvel. Isso significa que a aproximao de Pad pode
no preservar a estabilidade do sistema original.
Uma vez que a abordagem de Pad pode falhar em preservar a estabilidade do sistema original, a aproximao de Routh utilizda. O mtodo de aproximao de Routh proposto por
Hutton era encontrar um modelo estvel de ordem reduzida para o sistema original assintoticamente estvel.
A funo MATLAB routhmod() escrita de acordo com o algoritmo da aproximao de
Routh:
e pode ser utilizada para encontrar a aproximao de Routh e um dado sistema. A sintaxe
desta funo Gr =routhmod(G,k), onde G e Gr so os modelos original e reduzido, respectivamente, e k a ordem esperada da aproximao de Routh. Note que, no modelo reduzido, a
ordem do numerador uma unidade menor que a do denominador.
2.6.2
83
e assuma que os estados no subvetor x2 sero cortados. Ento, o modelo reduzido escrito
como a seguir:
Para aplicar o algoritmo de reduo de Schur, o modelo em espao de estados deve ser
obtido primeiramente. Isto pode ser feito utilizando os seguintes comandos MATLAB:
84
85
Nos captulos anteriores, apresentamos mtodos de modelagem e anlise de sistemas lineares. No mundo real, entretanto, sistemas de controle sempre contm efeitos no-lineares,
que podem ser inerentes e inevitveis ou podem ser introduzidos intencionalmente para fornecer melhor desempenho tecnicamente ou economicamente. Um bom exemplo o uso de rels
para controle on-off de temperatura. De fato, possvel imaginar que um sistema de controle
que no opera sob a saturao do atuador em algum momento um projeto ruim do ponto de
vista econmico. O MATLAB inclui a linguagem de simulao Simulink e, embora a anlise
de sistemas no-lineares seja mais difcil que a de sistemas lineares, esta simulao simples.
No a inteno aqui apresentar mtodos tericos para o estudo de sistemas no-lineares, mas
apresentar o Simulink e suas facilidades na simulao de sistemas no-lineares. Isto realizado
atravs da discusso de alguns exemplos. Alm disso, uma vez que projetos iniciais para diferentes sistemas no-lineares envolvem consideraes de modelos linearizados, este importante
tpico tambm ser coberto.
Na seo 3.1, um breve panorama sobre o Simulink e, em particular, as bibliotecas de modelos. Os procedimentos para modelagem e simulao em Simulink tambm sero mostrados.
Modelagem de sistemas no-lineares apresentada atravs de exemplos na seo 3.2, onde a
modelagem em Simulink de equaes diferenciais no-lineares, sistemas multivariveis, sistemas de controle computadorizados e sistemas variantes no tempo so ilustrados. Na seo 3.3,
um modo sistemtico de modelagem por partes lineares e problemas de ciclo limite sero explorados atravs de uma abordagem de simulao. Na seo 3.4, a linearizao de sistemas no
lineares apresentada.
3.1
86
Introduo ao Simulink
Simulink foi desenvolvida pela MathWorks em 1990. Seu nome original era SimuLAB,
que foi alterado para o nome atual em 1992. Dois significados esto implcitos neste nome,
"simu"e "link". A palavra "link"significa que o diagrama de bloco pode ser connstrudo pela
"ligao"(do ingls, linkage) entre blocos. A palavra "simu"mostra sua caracterstica de simulao. Com o uso das ferramentas poderas fornecidas no Simulink, diferentes sistemas podem
ser simulados facilmente e de maneira simples.
3.1.1
Os algoritmos de modelagem apresentados nos captulos anteriores no podem ser diretamente aplicados em sistemas no-lineares. Neste caso, o sofisticado ambiente do Simulink pode
ser utilizado para representar tais sistemas no-lineares.
Para modelar um sistema no-linear, a biblioteca de blocos do Simulink deve ser aberta
primeiramente. Isto pode ser feito de duas maneiras. Iremos utilizar a primeira maneira ao
longo deste captulo.
1. Escreva open_system(simulink) no prompt de comando do MATLAB. Ento, a janela principal do Simulink ser mostrada, como na Figura 3.1.
2. Clique no cone Simulink na barra de ferramentas na janela do MATLAB, como na Figura
3.2.
possvel ver que um grande nmero de blocos fornecido no Simulink. Aqui, os blocos
mais comumente utilizados em sistemas de controle so:
1. Blocos de sistemas lineares: A funo de transferncia contnua, o espao de estados e o
modelo zero-polo-ganho so fornecidos no grupo Continuous
2. Blocos no lineares: As no-linearidades comumente utilizadas so fornecidas no grupo
Discontinuity, como mostrado na Figura 3.4, onde no-linearidades tais como saturao,
87
entrada podem ser representados por blocos deste grupo. Em particular, o bloco Inport
pode ser utilizado para modelar a porta de entrada do sistema.
A sada do sistema pode ser mostrada com os blocos do grupo Sink, mostrado na Figura
3.6. possvel utilizar o bloco Scope para mostrar as curves dos sinais selecionados
durante a simulao. O bloco outport deste grupo pode ser utilizado para indicar a porta
de sada do sistema.
4. Blocos matemticos: Os sinais no sistema devem ser calculados utilizando os sinais
+, , , , entre outros. Os blocos do grupo Math mostrados na Figura 3.7 podem ser
utilizados para modelar estas operaes.
Para construir uma simulao mais facilmente, o usurio deve familiarizar-se com os blocos
fornecidos no ambiente Simulink. Nas sees a seguir, a modelagem utilizando Simulink ser
ilustrada atravs de exemplos.
88
3.1.2
Modelagem em Simulink
89
90
contm somente modelos padres de certos tipos. Por exemplo, a funo de transferncia
linear est contida na Figura 3.3, mas somente com o modelo padro 1/(s + 1). Para
especificar os parmetros de tal modelo, deve-se dar um duplo clique na caixa de dilogo,
como mostrado na Figura ?? e, ento, preencher os parmetros requisitados. Deve-se
notar tambm que os numeradores e denominadores requisitados na caixa de dilogo so
coeficientes em ordem descendente de s.
4. Desenhe as conexes: Uma vez que todos os blocos necessrios so colocados na janela,
necessrio desenhar as conexes entre os blocos para que se possa concluir o sistema.
As conexes entre os blocos podem ser desenhadas clicando na porta de sada de um
bloco e arrastando o mouse at a porta de entrada de outro. Uma conexo entre os dois
blocos ser internamente estabelecida pelo Simulink.
5. Especficaes de Entrada e Sada: Usa-se o cone Inport do grupo Sources para se obter
o sinal de entrada entrada do sistema e o cone Outport do grupo Sinks para conectar
sada do sistema.
Exemplo 3.1. Considere o sistema no-linear mostrado na Figura 3.9. possvel ver que existem dois elementos no-lineares no sistema. Utilizando o Simulink, possivel facilmente desenhar o diagrama de blocos do sistema, como mostrado na Figura 3.10.
Utilizando o Simulink o usurio pode, em teoria, desenhar o diagrama de bloco de um sistema de controle de qualquer complexidade. O Simulink tambm permite ao usurio realizar a
91
simulao atravs de itens de menu e chamadas de funo relevantes. Os resultados da simulao podem ser mostrados nos escopos fornecidos dentro do Simulink ou retornado ao ambiente
de trabalho do MATLAB para que possam ser realizadas as operaes de plotagem.
3.1.3
92
pode chegar a um milsimo. O valor padro usualmente muito grande e sugere-se diminuir para 1e-6 ou 1e-7. Deve-se notar que, embora a tolerncia relativa seja reduzia
significativamente, o esforo computacional no muito aumentado, devido ao uso de
algoritmos de degrau varivel.
4. Os degraus mximos e mnimos permitidos podem ser configurados pelo preenchimento
das caixas Min step e Max step. Se o real valor do degrau for alm do intervalo especificado, uma mensagem de erro ser mostrada.
5. As mensagem de aviso e erro podem ser configuradas na coluna Diagnostics.
Depois de completar as especificaes dos parmetros de controle, o item Simulation/Start
pode ser selecionado para iniciar o processo de simulao. A varivel tout ser retornada automaticamente e a matriz yout pode ser gerada quando a sada utilizada no modelo Simulink.
A funo plot(tout,yout) pode ser utilizada para mostrar os resultados da simulao.
A funo sim() pode ser utilizada para iniciar o processo de simulao. A sintaxe da
funo
onde "model_name" o nome do arquivo do modelo Simulink, com o sufixo .mdl omitido. O argumento t f o tempo de parada da simulao. As variveis retornadas t, x e y so,
respectivamente, o vetor tempo, a matriz de estados e a matriz de sada do sistema.
93
Os parmetros de controle options pode ser especificado pela funo simset(), cuja sintaxe
3.2
Uma srie de exemplos relacionados com sistemas de controle ser utilizados para ilustrar o uso do Simulink. Uma equao diferencial ordinria (EDO) no-linear utilizada primeiramente como exemplo, seguida de um sistema multivarivel, um sistema controlado por
computador e um sistema variante no tempo. Ser visto nesses exemplos que sistemas com
complexidades significantes podem ser simulados utilizando o Simulink.
Exemplo 3.2. Considere a equao catica de Rssler, cuja forma matemtica
94
Muitos blocos no Simulink suportam operaes com vetores, isto , o bloco pode facilmente processar o caso em que vrias entradas so colocadas em um sinal de vetor utilizando o
bloco Mux. Se tal sinal colocado em um bloco integrador, o sinal de sada tambm um vetor,
cujos canais so integrais dos canais de entrada. Assim, os blocos na Figura 3.15(a) podem ser
utilizado para reescrever os blocos no modelo Simulink.
No modelo, o bloco Fcn utilizado para definir a operao matemtica nos sinais de
entrada. A entrada do bloco o estado do sistema e a entrada do bloco Fcn denotado por u.
95
96
estados tridimensional, um "3" mostrado, como mostrado na Figura 3.18(a). O menu Format
fornece o item Format/Port data types, que permite mostrar os tipos de dados, como mostrado
na Figura 3.18(b).
Exemplo 3.3. Considere o sistema multivarivel
Uma vez que existem atrasos no tempo na funo de transferncia do sistema em malha
aberta, a funo de malha fechada no pode ser expressada com a funo feedback(). Aproximaes de Pad podem ser utilizadas para aproximar os termos de atraso. Este o nico modo
de verificar a preciso da simulao. Com o uso do Simulink, o modelo preciso pode ser construdo como mostrado na Figura 3.19. No modelo de simulao, as duas entradas so atribudas
s variveis u1 e u2.
Utilizamos a funo step() para encontrar os resultados aproximados da simulao para o
sistema multivarivel acima quando cada entrada atua individualmente:
97
98
Se o perodo de amostragem aumentado para T = 1 segundo, a resposta ao degrau do sistema em malha fechada pode ser obtido como visto na Figura 3.21(b). Pode-se ver que quando
o perodo de amostragem aumenta, a diferena entre os sinais contnuo e discreto tambm aumenta:
99
Os comandos podem ser utilizados para obter os mesmo resultados do modelo Simulink,
de maneira mais simples, por sinal. Entretanto, este mtodo possui suas limitaes.
Uma investigao posterior do modelo Simulink mostra que o ZOH depois do controlador
D(z) redundante, uma vez que a sada de D(z) j um sinal discreto e permanece a mesma
aps o intervalo de amostragem. Sendo assim, ele pode ser removido. O ZOH no sinal de sada
tambm pode ser removido. A modelo de simulao final pode finalmente ser reduzido para
aquele mostrado na Figura 3.22 sem nenhum problema.
Claro que o sistema pode ser simplificado no modelo Simulink, uma vez que todos os ZOHs
podem ser removidos, como mostrado na Figura 3.23. Embora este no seja um mtodo oficial,
a aproximao correta no Simulink.
100
Utilizando um mtodo similar ao do Exemplo 3.2, um integrador deve ser atribuido para
101
cada varivel de estado. O modelo Simulink na Figura 3.25 pode ser construdo, onde a funo
variante no tempo pode ser configurada com blocos.
Uma vez que o modelo de simulao foi construdo, os seguintes comandos MATLAB
podem ser utilizados para simular o sistema. A resposta ao degrau do sistema variante no
tempo pode ser obtida como mostrado na Figura 3.26.
Exemplo 3.6. Considere novamente o modelo variante no tempo do Exemplo 3.5. Assuma que
o sinal de entrada um impulso. Simulink utilizado para encontrar a resposta ao impulso do
sistema.
102
Uma vez que no existe um bloco de impulso no Simulink, o bloco de degrau pode ser
utilizado para aproxim-lo. Se o tempo do degrau a, onde a um valor extremamente pequeno,
o valor inicial do degrau pode ser configurado para 1/a e o valor final para 0. O modelo de
simulao mostrado na Figura 3.27 pode ser utilizado para modelar o sistema inteiro.
Teoricamente, quando a 0, o impulso pode ser aproximado. Na simulao real, a pode
ser configurado para valores relativamente pequenos, por exemplo, a = 0.001. A resposta ao
impulso do sistema pode ser obtida com os seguintes comandos MATLAB, como mostrado na
Figura 3.28:
De fato, mesmo a sendo um valor grande, por exemplo a = 0.1, uma aproximao muito
boa pode ser obtida.
Em aplicaes reais, as entradas com sinais peridicos arbitrrios podem ser obtidas com o
uso do bloco Repeating Sequence. Sinais e sistemas com comportamento ainda mais complicados podem ser modelados com o uso das funes-S.
3.3
Uma tcnica para tentar predizer o ciclo limite em sistemas no-lineares descrever o mtodo da funo. Uma vez que este um mtodo aproximado, muito til para propsitos de
comparao quando determina-se solues por simulao. Nesta seo, modelagem de nolinearidades ser discutida em mais detalhes e, ento, um sistema simples que possui um ciclo
limite simulado.
3.3.1
103
Um duplo clique no bloco Look-Up Table unidimensional abrir a caixa de dilogo mostrada na Figura 3.29(b). Pode-se especificar nas caixas Vector of input values e Vector of output
values os vetores x e y, respectivamente, e ento a no-linearidade de valor nico pode ser
104
Exemplo 3.7. Quando existem ciclos na no-linearidade, alm de alguns blocos existentes na
biblioteca do Simulink, uma no-linearidade genrica no pode ser facilmente construda. O
bloco Switch pode ser utilizado para lidar com este problema.
Agora, considere as duas no-linearidades de valor duplo mostradas nas Figuras 3.30(a) e
(b). Primeiro, considere a no-linearidade cclica mostrada na Figura 3.30(a). possvel ver
que a funo peridica pode ser expressada por uma no-linearidade de valor nico quando
o sinal de entrada est aumentando e por outra no-linearidade de valor nico quando est
diminuindo. Isto significa que a no-linearidade de valor nico condicional. Por exemplo,
as duas no-linearidades de valor nico na Figura 3.31 podem ser utilizadas para expressar a
no-linearidade cclica na Figura 3.29(a).
O bloco Memory pode ser utilizado para extrair o sinal de entrada na instncia de tempo
anterior. Assim, o modelo Simulink mostrado na Figura 3.32 pode ser utilizado para expressar
a no-linearidade cclica de valor duplo. Um bloco comparador utilizado para checar se o
sinal de entrada est aumentando ou no, isto , se o valor atual maior que o valor anterior ou
no. Um bloco de chaveamento pode ser utilizado para controlar o bloco de valor nico, com o
Threshold configurado para 0.5.
As duas no-linearidades de valor nico podem ser expressadas por dois blocos table-lookup dados por
onde pode ser configurado para um valor muito pequeno. Por exemplo, pode ser configurado para a constante reservada do MATLAB eps.
105
Figura 3.31: A funo peridica pode ser expressada como funo de valor simples
O modelo Simulink para a nova no-linearidade pode ser expressada como mostrado na
Figura ??.
possvel ver, portanto, que as no-linearidades estticas de valor nico e valor duplo de
qualquer complexidade podem ser facilmente modeladas em Simulink. A no-linearidade pode
ser utilizada diretamente na simulao.
3.3.2
Sistemas no-lineares podem ter comportamentos que no esto presentes em sistemas lineares. Uma dada situao a existncia de um ciclo limite, ou oscilao auto-excitada, que
pode ser atingido quando o sistema partido de diferentes condies iniciais.
106
Exemplo 3.8. Considere o tpico sistema no-linear realimentado mostrado na Figura 3.33,
com o elemento no-linear mostrado na Figura 3.30(a), cujo modelo Simulink construdo na
Figura 3.32. Para tal sistema, o modelo Simulink pode ser construdo como mostrado na Figura
3.34. No modelo de simulao, o valor inicial do integrador configurado para um.
Configure o tempo de trmino da simulao para 40 segundos e mantenha a tolerncia
relativa precisa configurando a Relative tolerance para 108 ou um valor menor. Com o seguinte
cdigo MATLAB, o tempo de resposta do sistema, quando no existe um sinal de entrada
externo, pode ser obtido como mostrado na Figura 3.35(a).
possvel ver que os sinais x1 (t) e x2 (t) alcanam oscilaes estacionrias depois do
107
3.4
Sistemas lineares so muito mais fceis de analisar e projetar que os no-lineares. Infelizmente, sistemas que devem ser tratados na prtica raramente so lineares. Neste caso, uma
aproximao linear do sistema frequentemente necessria para simplificar os procedimentos
de anlise e projeto.
Linearizao de sistemas tem como objetivo encontrar um modelo linear aproximado, isto
, um modelo linear na vizinhana do ponto de operao.
Considere o sistema dinmico no-linear
(3.1)
Ponto de operao definido como os valores de estado e variveis de entrada cujas derivadas das variveis de estados se aproximam de zero. Isso pode ser obtido pela soluo de
equaes no-lineares definidas em (3.1), tal que
que pode ser resolvida numericamente. Denote por x0 o ponto de operao comum sinal
de entrada u0 . O sistema no-linear pode ser aproximado por
Utilizando as novas variveis de estado z(t) = x(t) para o sistema, o modelo linearizado
pode ser obtido como:
108
109
110