Escola de Engenharia
Departamento de Mecânica - DEMEC
Notas de Aula
Fevereiro de 2008
Prefácio
Ementa:
Amostragem de Sinais contínuos; Transformada Z; Modelos Discretos; Espaço de
Estados discreto; Análise de Sistemas Discretos; Controladores PID digital; Métodos de
projeto de controladores em tempo discreto.
Programa:
Semana: Data: Assunto:
1 27/02 Introdução ao controle de sistemas em tempo discreto
2 05/03 Transformada Z
3 12/03 Função de Transferência em Tempo Discreto – Parte I
4 19/03 Função de Transferência em Tempo Discreto – Parte II
5 26/03 Aula de Exercícios
6 02/04 1ª Prova
7 09/04 Projeto de Controladores por Métodos Clássicos
8 16/04 Exercícios
9 23/04 Formulação por Matrizes de Estado
10 07/05 Controlabilidade e Observabilidade
11 14/05 Projeto de controladores via Alocação de Pólos – Parte I
12 21/05 Projeto de controladores via Alocação de Pólos – Parte II
13 28/05 Projeto de controladores via Alocação de Pólos – Parte III
14 04/06 Exercícios – Matlab
15 11/06 Exercícios - Matlab
16 18/06 2ª Prova
17 25/06 Apresentação dos projetos
Critérios de Avaliação:
1ª Prova 35%, 2ª Prova 35%, projeto 20%, listas de exercício 10%
Bibliografia:
K. Ogata. Discrete-Time Control Systems. Prentice Hall, 2nd Edition. 1994.
G.F. Franklin, J.D. Powell, and M.L. Workman. Digital Control of Dynamic Systems.
Addison-Wesley, 3rd Edition. 1998.
ii
Sumário
iii
5.1 INTRODUÇÃO À FORMULAÇÃO DE ESTADO ...............................................................................61
5.2 NOMENCLATURA DE ESPAÇO DE ESTADOS ..............................................................................62
5.3 REPRESENTAÇÃO DE ESPAÇO DE ESTADOS DISCRETOS ............................................................62
5.3.1 Forma Canônica Controlável.............................................................................................62
5.3.2 Forma Canônica Observável..............................................................................................63
5.3.3 Forma Canônica Diagonal.................................................................................................63
5.3.4 Forma Canônica de Jordan................................................................................................64
5.3.5 Não unicidade das matrizes de estado................................................................................64
5.4 SIMULANDO UM SISTEMA NA FORMA DE ESTADO DISCRETO .....................................................65
5.5 PASSANDO DE MATRIZES DE ESTADO PARA FT........................................................................65
5.6 DISCRETIZAÇÃO DE MATRIZES DE ESTADO CONTÍNUAS ..........................................................66
5.7 EXERCÍCIOS RESOLVIDOS ........................................................................................................69
5.8 EXERCÍCIOS PROPOSTOS ..........................................................................................................72
6 CONTROLABILIDADE E OBSERVABILIDADE ......................................... 73
6.1 INTRODUÇÃO ...........................................................................................................................73
6.2 CONTROLABILIDADE ................................................................................................................73
6.3 CONTROLABILIDADE DE SAÍDA ................................................................................................75
6.4 OBSERVABILIDADE ..................................................................................................................76
6.5 COMENTÁRIOS GERAIS SOBRE CONTROLABILIDADE E OBSERVABILIDADE................................78
6.5.1 Condições de controlabilidade e observabilidade em termos de Funções de Transferência
78
6.5.2 Efeito da discretização .......................................................................................................80
6.5.3 Princípio da dualidade .......................................................................................................80
6.6 EXERCÍCIOS RESOLVIDOS ........................................................................................................81
6.7 EXERCÍCIOS PROPOSTOS ..........................................................................................................82
7 PROJETO DE CONTROLADORES VIA ALOCAÇÃO DE PÓLOS ........... 84
7.1 INTRODUÇÃO ...........................................................................................................................84
7.2 FÓRMULA DE ACKERMANN ......................................................................................................85
7.3 FORMAS ALTERNATIVAS PARA O GANHO K ..............................................................................86
7.4 CONTROLE POR REALIMENTAÇÃO DE ESTADO .........................................................................88
7.5 OBSERVADORES DE ESTADO ....................................................................................................90
7.5.1 Observadores de Estado de Ordem Completa....................................................................91
7.5.2 Comentários sobre estimador de estado.............................................................................94
7.5.3 Estimadores de Ordem Reduzida........................................................................................97
7.6 EXERCÍCIOS RESOLVIDOS ......................................................................................................103
7.7 EXERCÍCIOS PROPOSTOS ........................................................................................................107
8 PROJETOS ......................................................................................................... 109
8.1 PÊNDULO INVERTIDO .............................................................................................................110
8.2 SUSPENSÃO ATIVA PARA ¼ DE VEÍCULO ................................................................................111
8.3 CONTROLE NÃO COLOCADO ...................................................................................................112
8.4 PROJETO DE FILTROS DIGIAIS ................................................................................................113
9 REFERÊNCIAS BIBLIOGRÁFICAS ............................................................. 114
iv
Capítulo 1
1.1 Introdução
1
Figura 1.2: Exemplo de um sistema de controle em tempo discreto
Variável Física é a quantidade física que se deseja medir para ser usada no
sistema de controle, por exemplo, deslocamento, velocidade, aceleração, temperatura,
pressão, etc.
2
Figura 1.3: Exemplo de curva em freqüência de um filtros ideais. Passa-baixo. Passa-
alta, Rejeita-banda ou Notch e Passa-banda
3
Figura 1.5: sinal contínuo e sinal contínuo com segurador de ordem zero
4
Figura 1.8: Sistema de controle detalhado
5
A Figura 1.9(a) representa um sinal analógico qualquer, enquanto que a Figura
1.9(d) representa um sinal visto por um sistema de aquisição de dados, isso significa
que existirão erros entre a passagem de um sinal contínuo para um sinal discreto. Aqui o
termo sinal contínuo ser referirá sempre ao sinal da Figura 1.9(a) enquanto que um sinal
discreto ou em tempo discreto a um sinal igual ao da Figura 1.9(d).
Este item será explicado como a amostragem de um sinal contínuo deve ser feito
sem que haja perda de informação ou se cometa erros durante este processo.
6
Para que um sinal contínuo possa ser corretamente discretizado, ele deve
obedecer as regras imposta por Fourier, isto é, a maior freqüência contida no sinal a ser
amostrado deverá obrigatoriamente ser menor que metade da freqüência de amostragem
fa que é conhecida como freqüência de Nyquist fN. De modo geral, para uma boa
aplicação de sistemas de controle, deve ser considerado pelo menos de 4 a 6 pontos por
período da maior freqüência a ser amostrada para que o sistema de controle possa
funcionar adequadamente.
Exemplo 1.3: Supor um sinal analógico com apenas uma freqüência igual a 400 Hz. Se
a amostragem for feita com uma freqüência de amostragem fa = 1600 Hz. Pede-se:
Exemplo 1.4: Supondo um sistema massa-mola com m=0.5 kg e k = 100.000 N/m que
será simulado em tempo discreto por uma senóide com freqüências de 65 e 85 Hz. Qual
deverá ser o tempo de amostragem mínimo supondo 6 pontos por período?
Solução:
Para 6 pontos por período,
1 1
F = 65 Hz, então, T = = 2.57 ms
6 65
1 1
F = 85 Hz, então, T = = 1.96 ms
6 85
7
k 447.21
ωn = = 447.21 rad / s significando que f n = = 71.18 Hz , então
m 2π
1 1
T= = 2.35 ms
6 71.18
Desta forma, terá de ser amostrado com o menor T, então, 1.96 ms.
Supondo a Figura 1.12, observe que se a senoide de 400 Hz for amostrada com T
= 2 ms isso representa uma freqüência de amostragem fa = 500 Hz e uma freqüência de
Nyquist fN = 250 Hz. O sinal original de 400 Hz se rebate em Nyquist, representando
uma freqüência aparente de 100 Hz.
Desta forma, não se pode amostrar um sinal cuja freqüência seja maior que a
freqüência de Nyquist, para evitar este problema, os sinais devem ser filtrados por um
filtro passa baixo para eliminar todas as freqüências do sinal acima de Nyquist.
Além disso, significa que uma vez o sinal tenha sido amostrado, não é mais
possível recupera-lo completamente devido ao problema de amostragem. Por isso, a
discretização do sinal deve ser feita com muito cuidado para obter o resultado final
desejado.
Em geral, o tempo de discretização será limitado pela capacidade da placa de
aquisição de sinais, isto é, as placas possuem uma capacidade limitada em velocidade de
processamento, isso na prática irá limitar a velocidade de aquisição.
8
Exercício 1.1: (Prova de 2007) Calcular o tempo de amostragem m´nimo para simular o
sistema de 2ª ordem dado abaixo para uma entrada senoidal com freqüência ω = 50
radl/s, supondo 6 pontos por período.
100
G (s) = 2
s + 20s + 10000
9
Capítulo 2
2 Transformada Z
Neste capítulo, será abordada a transformada e a transformada inversa de Z.
2.1.1 Transformada Z
⎧1 0 ≤ t
Função Degrau Unitário definido como x (t ) = ⎨
⎩0 t < 0
Solução: Aplicando a definição,
∞
X(z ) = Z[x (t )] = Z[1] = ∑ z − k = 1 + z −1 + z − 2 + z −3 + L
k =0
Fazendo,
G
G = 1 + z −1 + z − 2 + z −3 + L ⇒ = z −1 + z − 2 + z −3 + z − 4 L = G − 1
z
Portanto,
G z 1
= G − 1 ⇒ G = zG − z ⇒ G (z − 1) = z ⇒ G = =
z z − 1 1 − z −1
Então,
10
∞
1 z
X(z ) = Z[x (t )] = Z[1] = ∑ z − k = 1 + z −1 + z − 2 + z −3 + L = −1
=
k =0 1− z z −1
⎧t 0 ≤ t
Função Rampa Unitária definida por: x (t ) = ⎨
⎩0 t < 0
Solução: Aplicando a definição,
( )
∞
X(z ) = Z[t ] = Z[kT ] = ∑ kTz − k = T z −1 + 2z − 2 + 3z −3 + L
k =0
Fazendo,
G = z −1 + 2z −2 + 3z −3 + L
(1 − z −1 )G = z −1 + 2z − 2 + 3z −3 + L − z − 2 − 2z −3 − 3z − 4 − L
z −1
G = z −1 + z − 2 + z −3 + z − 4 + L
z
Comparando com o exemplo do degrau unitário, então,
z z −1 z 1
−1 = G⇒G= =
z −1 z 2
(
(z − 1) 1 − z −1 2 )
Portanto,
Tz −1
( )
∞
Tz
X(z ) = Z[t ] = Z[kT ] = ∑ kTz − k = T 1z −1 + 2z − 2 + 3z −3 + L = =
k =0 (
1 − z −1 )
2
(z − 1)2
⎧a k 0≤t
Função Polinomial na forma x (t ) = ⎨ com a constante.
⎩0 t<0
Solução: Aplicando a definição,
[ ]
∞
1 z
X(z ) = Z a k = ∑ a k z − k = 1 + az −1 + a 2 z − 2 + a 3 z −3 + L = −1
=
k =0 1 − az z−a
Utilizando o mesmo princípio do exemplo anterior,
G = 1 + az −1 + a 2 z −2 + a 3 z −3 + L
Portanto,
(1 − az −1 )G = 1 + az −1 + a 2 z −2 + a 3 z −3 + L − az −1 − a 2 z −2 − a 3 z −3 − L = 1
Então,
1 z
(1 − az −1 )G = 1 ⇒ G = −1
=
1 − az z−a
Finalmente,
[ ]
∞
1 z
X(z ) = Z a k = ∑ a k z − k = 1 + az −1 + a 2 z − 2 + a 3 z −3 + L = −1
=
k =0 1 − az z−a
⎧e − at 0≤t
Função Exponencial na forma: x (t ) = ⎨
⎩ 0 t<0
Solução: Aplicando a definição,
[ ] [ ]
∞
X(z ) = Z e −at = Z e −akT = ∑ e akT z − k = 1 + e −aT z −1 + e − 2aT z − 2 + e −3aT z −3 + L
k =0
11
Comparando com a solução do exemplo anterior, é fácil notar que a = e-aT, então,
[ ] [ ]
∞
1 z
X(z ) = Z e at = Z e akT = ∑ e akT z − k = − aT −1
=
k =0 1− e z z − e −aT
⎧sin ωt 0 ≤ t
Função Senoidal definida como: x (t ) = ⎨
⎩ 0 t<0
Solução: Sabendo-se que,
sin ωt =
1 j ωt
2j
(
e − e − j ωt )
Aplicando a definição,
⎡1
( ⎤ 1
X(z ) = Z[sin ωt ] = Z ⎢ e jωt − e − jωt ⎥ =
2 j 2 j
) ([ ] [
Z e j ωt − Z e − j ωt ])
⎣ ⎦
Observe que aqui se aplicou duas propriedades da transformada Z, que foi a
multiplicação por uma constante e a propriedade da soma.
Então, pela transformada Z da exponencial,
⎡1 ⎤ 1⎛
(
Z[x (t )] = Z[sin ωt ] = Z ⎢ e jωt − e − jωt ⎥ = ⎜) 1
jωT −1
−
1
− jωT −1 ⎟
⎞
⎣2j ⎦ 2j ⎝1− e z 1− e z ⎠
=
1 (
e jωT − e − jωT z −1 )=
z −1 sin ωT
= 2
z sin ωT
(
jωT
2j1− e + e − jωT −1
z +z) −2 −1
1 − 2z cos ωT + z −2
z − 2z cos ωT + 1
m=− n
Como x(mT) para m<0 por definição é igual a zero,
12
∞
Z[x ( t − nT )] = z − n ∑ x (mT)z − m = z − n X(z)
m =0
Além disso,
⎡ n −1
⎤
Z[x ( t + nT )] = z n ⎢X(z) − ∑ x (kT)z − k ⎥
⎣ k =0 ⎦
Prova
∞
Z[x ( t + nT)] = ∑ x (kT + nT )z − k
k =0
∞
= z n ∑ x (kT + nT )z − (k + n )
k =0
∞ ∞ n −1
= z n ∑ x (mT)z − m = z n ∑ x (mT)z − m − z n ∑ x (mT)z − m
m=n m =0 m=0
n −1
= z n X(z) − z n ∑ x (mT)z − m
m =0
⎡ n −1
⎤
= z n ⎢X(z) − ∑ x (kT)z − k ⎥
⎣ k =0 ⎦
Translação complexa,
[ ] ( ) ( )
∞ ∞
Z e −at x ( t ) = ∑ x (kT)e −akT z − k = ∑ x (kT ) e aT z
−k
= X ze aT
k =0 k =0
X(z ) = Z te −at =[ ] =
Tze aT
(1 − (ze ) ) aT −1
2
(ze aT
− 1)
2
13
Teorema do valor inicial: Se x(t) possui uma transformada X(z) e se lim X(z)
z →∞
existe, então o valor inicial x(0) é dado por,
x (0) = lim X(z)
z →∞
Prova: Como a transformada z de uma seqüência de números é dada por,
∞
X(z ) = Z[x (kT)] = ∑ x (kT)z − k = x (0) + x (T)z −1 + x (2T)z − 2 + x (3T)z −3 + L
k =0
Fazendo z tender ao infinito, sobra apenas x(0).
Teorema do valor final: Supondo que x(kT) onde x(0) = 0 para todo k<0, tenha
a transformada X(z) e todos os pólos de X(z) estejam dentro do circulo de raio unitário
com exceção de um pólo simples em z = 1, isto é a condição de estabilidade que será
apresentada mais à frente. Então, o valor final de x(kT) pode ser expresso por,
lim x (kT) = lim 1 − z −1 X(z)
k →∞ z →1
[( ) ]
Prova: Sabendo-se que pela definição da transformada Z,
∞
Z[x (kT )] = X(z ) = ∑ x (kT )z − k
k =0
Então,
∞
Z[x (kT − T )] = z −1 X(z ) = ∑ x (kT − T )z − k
k =0
Subtraindo um do outro,
∞ ∞
z →1
⎣ k =0 k =0 ⎦ z →1
Como foi assumido que x(k) = 0 para k < 0 então, o lado esquerdo da equação
acima torna-se,
⎡∞ ⎤ ∞
[ ]
∞
lim ⎢∑ x (kT )z − k − ∑ x (kT − T )z − k ⎥ = ∑ x (kT )(1) − x (kT − T)(1)
−k −k
z →1
⎣ k =0 k =0 ⎦ k =0
∞
= ∑ [x (kT ) − x (kT − T)]
k =0
Expandindo o somatório,
∞
= x (∞) = lim x (k )
k →∞
Então,
[(
lim x (k ) = lim 1 − z −1 X(z)
k →∞ z →1
) ]
14
da amostragem. Por exemplo, o sinal apresentado na Figura 2.1, como o sinal amostrado
gera apenas os pontos discretos, qual o sinal real?
1.5
0.5
-0.5
-1
-1.5
-2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
z −1
Exemplo 2.3: Encontrar a transformada z inversa de X(z) =
1 − az −1
Solução: Nas tabelas de transformada Z não se encontra a função acima, porém,
fazendo,
1
X(z) = z −1 Y(z) =
1 − az −1
Utilizando a tabela de transformada z, tem-se que,
⎡ 1 ⎤
Z −1 [Y(z)] = Z −1 ⎢ −1 ⎥
= ak
⎣1 − az ⎦
Porém, o desejado é,
[ ]
Z −1 [X(z)] = Z −1 z −1 Y(z) = y(kT − T) = a ( k −1) T
Assim,
⎧ y(kT − T) = a ( k −1) T k = 1,2,3, L
y(kT ) = ⎨
⎩ 0 k≤0
15
Para encontrar a transformada z inversa de X(z), deve-se notar que X(z) é dada
da seguinte forma,
b 0 z m + b1 z m −1 + L + b m −1 z + b m
X(z) = com m ≤ n
z n + a 1 z n −1 + L + a n −1 z + a n
Ou ainda,
b z − ( n − m ) + b1 z − ( n − m +1) + L + b m z − n
X(z) = 0
1 + a 1 z −1 + L + a n z − n
Colocando na forma de pólos e zeros,
b (z − z 1 )(z − z 2 )L (z − z m )
X(z) = 0
(z − p1 )(z − p 2 )L (z − p n )
Supondo que todos os pólos são pólos não repetidos e tenha pelo menos 1 zero
na origem, bm = 0, então, a melhor expansão será na forma,
X(z) a1 a2 an
= + +L+
z z − p1 z − p 2 z − pn
Se houver pólos repetidos, supondo um pólo duplo e nenhum outro pólo, a
expansão poderá ser na forma,
X(z) c1 c
= + 2
z (z − p1 ) z − p1
2
(a 1 + a 2 )z 2 + (− a 1 − a 2 + a 3 )z + (a 1 − a 3 )
=
(z − 1)(z 2 − z + 1)
Portanto, montando o sistema matricial para a solução,
−1
⎡1 1 0 ⎤ ⎧ a 1 ⎫ ⎧1⎫ ⎧ a 1 ⎫ ⎡ 1 1 0 ⎤ ⎧1 ⎫ ⎧ 4 ⎫
⎢− 1 − 1 1 ⎥ ⎪a ⎪ = ⎪1⎪ ⇒ ⎪a ⎪ = ⎢− 1 − 1 1 ⎥ ⎪1 ⎪ = ⎪− 3⎪
⎢ ⎥⎨ 2 ⎬ ⎨ ⎬ ⎨ 2 ⎬ ⎢ ⎥ ⎨ ⎬ ⎨ ⎬
⎢⎣ 1 ⎪ ⎪ ⎪ ⎪ ⎪
0 − 1⎥⎦ ⎩a 3 ⎭ ⎩2⎭ ⎩a 3 ⎭ ⎢⎣ 1⎪ 0 − 1⎥⎦ ⎪⎩2⎪⎭ ⎪⎩ 2 ⎪⎭
Então,
z2 + z + 2 4 − 3z + 2 4 − 3z 2
X(z) = = + 2 = + 2 + 2
(z − 1)(z − z + 1) z − 1 z − z + 1 z − 1 z − z + 1 z − z + 1
2
4z −1 3z −1 2z − 2
= − +
1 − z −1 1 − z −1 + z − 2 1 − z −1 + z − 2
Para o primeiro termo,
⎧4 k = 1,2,3,L
z −1 X(z) = Y(z) =
4
1 − z −1
⇒ y ( kT ) = 4(1 ) ⇒ x ( kT ) = 4 1( )
k −1
= ⎨
k≤0
⎩0
Para o segundo termo, deve-se notar que,
16
z −1 sin ωT
Z[sin ωt ] =
1 − 2z −1 cos ωT + z − 2
Aplicando o teorema da translação complexa,
[ ]
Z e −akT sin ωkT =
e − aT z −1 sin ωT
1 − 2e −aT z −1 cos ωT + e − 2 aT z − 2
Então, comparando o segundo membro de X(z) com a equação acima, nota-se
que se e −2aT = 1 , significando que e − aT = 1 e cos ωT = 1 2 , significando que ωT = π 3
e consequentemente, sin ωT = 3 2 . Então,
⎡ k π ⎤ e − aT z −1 sin ωT 3 z −1
Z⎢(1) sin k ⎥ = =
⎣ 3 ⎦ 1 − 2e −aT z −1 cos ωT + e − 2aT z − 2 2 1 − z −1 + z − 2
Significando que,
π
⎪2 3 (1k )sin k k = 1,2,3,L
π ⎤ 3z −1 ⎧
X(z) = Z⎢2 3 (1k )sin k ⎥ =
⎡
⇒ x ( kT ) = ⎨ 3
⎣ 3 ⎦ 1 − z −1 + z − 2 ⎪⎩ 0 k≤0
Para a terceira parte, utilizando a resposta anterior,
⎡4 3 k π ⎤ 4z −1
z −1 X(z) = Y(z) = Z ⎢ (
1 )sin k ⎥ = −1 −2
⇒
⎣ 3 3 ⎦ 1 − z + z
⎧4 3 k π
x (kT) = ⎨ 3 (1 )sin 3 (k − 1) k = 1,2,3,L
⎪
⎪⎩ 0 k≤0
Portanto, a solução final fica,
⎧ π 4 3 π
x (kT) = ⎨4 − 2 3 sin 3 k + 3 sin 3 (k − 1) k = 1,2,3,L
⎪
⎪⎩ 0 k≤0
Solução encontrada.
x =
17
Columns 1 through 12
1 4 7 10 13 16 19 22 25 28 31 34
Columns 13 through 24
37 40 43 46 49 52 55 58 61 64 67 70
Columns 25 through 31
73 76 79 82 85 88 91
18
1
0.8
x(t)
0.6
0.4
0.2
0
0 1 2 3 4 5 6 7 8
t
Figura 2.2: sinal a ser discretizado
Observe que há algumas possíveis soluções, pois x(t) pode ser escrita como 3
impulsos devidamente defasados e o degrau unitário defasado de 4 instantes de tempo,
x (kT) = 0.25δ(kT − 1) + 0.5δ(kT − 2) + 0.75δ(kT − 3) + 1(kT − 4)
Aplicando a transformada Z em cada termo,
z −1 z −2 3z −3 z −4 z −1 − z −5
Z[x (kT)] = + + + =
4 2 4 1 − z −1 4(1 − z −1 )2
Ou então, como uma reta iniciando em 0 menos uma reta negativa iniciando em
4,
1 1
x (kT) =
kT − (kT − 4)
4 4
Aplicando a transformada Z em cada termo,
1 z −1 1 z −5 z −1 − z −5
Z[x (kT)] = − =
4 (1 − z −1 )2 4 (1 − z −1 )2 4(1 − z −1 )2
0.8
0.6
x(t)
0.4
0.2
0
0 1 2 3 4 5 6 7 8
c) t
19
b) Valor final x(∞);
c) A transformada Inversa;
20
Capítulo 3
Supondo que não são medidos tempos negativos, devido a causalidade, então a
equação acima pode ser expandida como,
x * ( t ) = x (0)δ( t ) + x (T)δ( t − T) + L + x (kT)δ( t − kT) + L
Observe que o δ representa um trem de impulsos e, uma das formas de entender
o fenômeno da amostragem é que o sinal x(t) modula o trem de impulsos para formar o
sinal amostrado conforme apresentado pela Figura 3.2.
21
Agora aplicando a Transformada de Laplace no sinal amostrado,
[ ]
X * (s) = L x * ( t ) = x (0)L[δ( t )] + x (T)L[δ( t − T)] + x (2T )L[δ( t − 2T)] + L
= x (0) + x (T)e −Ts + x (2T)e − 2 Ts + L
∞
= ∑ x (kT)e − kTs
k =0
Sabendo-se que a Transformada de laplace de um impulso defasado de a é,
L[δ( t − a )] = e − as
Então,
∞
X * (s) = x (0) + x (T)e −Ts + x (2T)e − 2 Ts + L = ∑ x (kT)e − kTs
k =0
Definindo,
1
e Ts = z ⇒ s= ln z
T
Então,
∞
X * (s) 1 = ∑ x (kT )z − k
s = ln z
T k =0
O lado direito desta equação é a definição de transformada Z da seqüência x(t),
então,
X * (s) 1 = X(z)
s = ln z
T
Desta forma,
⎛1 ⎞
X * ⎜ ln z ⎟ = X(z)
⎝T ⎠
22
h (kT + τ) = x (kT)
Na Figura 3.3:, observa-se o resultado de um segurador de ordem zero.
Figura 3.3: Exemplo de sinal amostrado com uma reconstrução utilizando o ZOH
O ZOH mantém o sinal anterior até que um novo sinal apareça, então,
h (kT + t ) = x (kT)
Significando que a saída do circuito será igual à entrada até que ocorra outro
sinal de entrada, então,
k = 0 ⇒ h ( t ) = x (0)[1( t ) − 1( t − T)]
k = 1 ⇒ h (T + t ) = x (T)[1( t − T ) − 1( t − 2T )]
k = 2 ⇒ h (2T + t ) = x (2T)[1( t − 2T) − 1( t − 3T)]
Então a resposta temporal do ZOH será definida como,
h ( t ) = x (0)[1( t ) − 1( t − T)] + x (T)[1( t − T) − 1( t − 2T)] + L
∞
= ∑ x (kT)[1( t − kT) − 1( t − (k + 1)T)]
k =0
Como a Transformada de Laplace do degrau unitário atrasada de kT é dada por,
e − kTs
L[1( t − kT)] =
s
Então a Transformada de Laplace da resposta do ZOH torna-se,
∞
⎡ e − kTs e − (k +1)Ts ⎤ 1 − e − Ts ∞
H(s) = ∑ x (kT) ⎢ − ⎥= ∑ x (kT)e − kTs
k =0 ⎣ s s ⎦ s k =0
Como,
∞
X * (s) = ∑ x (kT)e − kTs
k =0
Então,
1 − e − Ts *
H(s) = X (s)
s
Consequentemente, a função de transferência o ZOH é dada por,
H(s) 1 − e − Ts
G ZOH (s) = * =
X (s) s
23
h (kT + τ) = a 1 τ + x (kT)
Aplicando a condição que,
h ((k − 1)T ) = x ((k − 1)T)
Então,
h ((k − 1)T) = a 1T + x (kT) = x ((k − 1)T)
Portanto,
x (kT) − x ((k − 1)T)
a1 =
T
Consequentemente, a equação do segurador de primeira ordem fica,
x (kT) − x ((k − 1)T)
h (kT + τ) = τ + x (kT)
T
Como o FOH utiliza uma extrapolação linear utilizando o valor anterior e o atual
para predizer o valor do próximo e, além disso, o valor h(kT) deve ser igual a x(kT).
então,
x (0) − x (−T) ⎛ τ⎞
k = 0 ⇒ h (τ) = τ + x (0) = ⎜1 + ⎟ x (0)
T ⎝ T⎠
x (T ) − x (0) ⎛ τ⎞ τ
k = 1 ⇒ h (T + τ) = τ + x (T) = ⎜1 + ⎟ x (T ) − x (0)
T ⎝ T⎠ T
x (2T) − x (T) ⎛ τ⎞ τ
k = 2 ⇒ h (2T + τ) = τ + x (2T) = ⎜1 + ⎟ x (2T) − x (T)
T ⎝ T⎠ T
Que pode ser expressa convenientemente como,
⎛ τ⎞ τ
h (kT + τ) = ⎜1 + ⎟ x (T) − x ((k − 1)T)
⎝ T⎠ T
Fica difícil escrever a equação sem assumir uma entrada conhecida, utilizando
uma entrada degrau para x(t),
⎛ t⎞ t
h ( t ) = ⎜1 + ⎟1( t ) − 1( t − T)
⎝ T⎠ T
Somando e subtraindo 1(t-T),
⎛ t⎞ t−T
h ( t ) = ⎜1 + ⎟1( t ) − 1( t − T) − 1( t − T )
⎝ T⎠ T
Aplicando a transformada de Laplace a cada um dos termos da equação acima,
Ts + 1
⎛1 1 ⎞ 1
(
1
H(s) = ⎜ + 2 ⎟ − 2 e −Ts − e −Ts = 1 − e −Ts )
⎝ s Ts ⎠ Ts s Ts 2
*
Agora, a transformada de Laplace da entrada x (t) do FOH é,
∞
1
X (s) = ∑1(kT)e − kTs =
*
k =0 1 − e −Ts
Então a função de transferência do segurador de primeira ordem FOH fica,
2 Ts + 1
G FOH (s) = * (H(s)
)
= 1 − e −Ts
X (s) Ts 2
Um exemplo do FOH é dado na Figura 3.4:.
24
Figura 3.4: FOH de um sinal qualquer
Supondo que antes da função G(s) há um ZOH, então a convolução de G(s) com
o ZOH é dada por,
1 − e − Ts
X(s) = G (s)
s
Fazendo,
1 − e − Ts
X(s) =
s
(
G (s) = 1 − e −Ts
G (s)
s
) ( )
= 1 − e −Ts G 1 (s) = G 1 (s) − e −Ts G 1 (s)
Pegando apenas o último termo,
X 1 (s) = e − Ts G 1 (s)
Aplicando o teorema da convolução,
t
x 1 ( t ) = ∫ g 0 ( t − τ)g 1 (τ)dτ
0
onde,
[ ]
g 0 ( t ) = L−1 e − Ts = δ(t − T )
g 1 ( t ) = L−1 [G 1 (s)]
Então,
t
x 1 ( t ) = ∫ δ( t − T − τ)g 1 (τ)dτ
0
s ⎥
1 1
⎣ ⎦
No caso do FOH preceder a função G(s), tem-se
2 Ts + 1
X(s) = 1 − e −Ts ( G (s) )
Ts 2
Utilizando o mesmo resultado do ZOH,
25
Ts + 1
⎡
X(z) = Z⎢ 1 − e −Ts( )
2
2
⎤
G (s)⎥
⎣ Ts ⎦
2 ⎡ Ts + 1
(
= 1 − z −1 Z⎢ 2
) ⎤
G (s)⎥
⎣ Ts ⎦
( ) ⎡1
= 1 − z −1 Z⎢ −
1 ⎤
= 1 − z −1 ⎡ 1
( −
1
) ⎤ 1− e z
=
−T −1
( )
⎥ ⎢1 − z −1 1 − e −T z −1 ⎥ 1 − e −T z −1
⎣ s s + 1⎦ ⎣ ⎦
=
(
2e −(1 / 2 )Tjω e (1 / 2 )Tjω − e −(1 / 2 )Tjω )
= Te −1 / 2Tjω
sin (ωT / 2)
2 jω ωT / 2
26
Figura 3.5: Resposta em freqüência do ZOH
27
∞
X(z) = Z[δ(kT)] = ∑ x (kT)z −k = 1
k =0
Significando que Y(z) = H(z) se a entrada for um impulso.
[ ]
t
y( t ) = L−1 H(s)X * (s) = ∫ h ( t − τ) x * (τ)dτ
0
t ∞ ∞
= ∫ h ( t − τ)∑ x (τ)δ(τ − kT)dτ = ∑ h (kT) x (kT)
0 k =0 k =0
Aplicando a transformada Z,
∞
⎡∞ ⎤
Y(z) = ∑ ⎢∑ h (kT) x (kT)⎥ z −n
n =0 ⎣ k =0 ⎦
Fazendo m = n - k,
∞ ∞
Y(z) = ∑∑ h (mT) x (kT)z −(k +m )
m = 0 k =0
∞ ∞
= ∑ h (mT)z −m ∑ x (kT)z −k
m =0 k =0
= H(z)X(z)
Significando que,
[ ]*
Y * (s) = H(s)X * (s) = H * (s)X * (s)
Aplicando transformada Z, torna-se,
Y(z)
Y(z) = H(z)X(z) ⇒ = H (z)
X(z)
28
Considerando o sistema apresentado na Figura 3.7(a), supondo que os
amostradores estão sincronizados. Neste caso, observa-se que,
U(s) = G (s)X * (s)
Y(s) = H(s) U * (s)
Como mostrado no item anterior, encontra-se,
U * (s) = G * (s)X * (s)
⇒ Y * (s) = H * (s)G * (s)X * (s)
Y (s) = H (s) U (s)
* * *
29
Como mencionado anteriormente, a amostragem pode ocorrer em qualquer etapa
do processo de controle. Supondo um sistema em malha fechada como o descrito na
Figura 3.8.
Consequentemente,
E(s) = R (s) − H(s)G (s)E * (s) = R (s) − HG (s)E * (s)
Que pode ser reescrito utilizando FT pulsada para todos os termos como,
R * (s)
E * (s) = R * (s) − [HG (s)] E * (s) ⇒ E * (s) =
*
1 + GH * (s)
Como,
C * (s) = G * (s)E * (s)
Então, a função de transferência pulsada de malha fechada é dada por,
R * (s) C * (s) G * (s)
C * (s) = G * (s)E * (s) = G * (s) ⇒ =
1 + GH * (s) R * (s) 1 + GH * (s)
Aplicando a transformada Z, encontra-se a função de transferência discreta em
malha fechada,
C( z ) G (z)
=
R (z) 1 + GH(z)
30
Figura 3.9: sistema em malha fechada envolvendo amostador
31
A transformada Z de cada um dos termos utilizando a propriedade da translação
real,
~
Y(z) = x (i)z − i + x (i + 1)z − ( i +1) + L + x (k )z − k
Porém, observe que, definindo,
~
X(z) = x (i)z − i + x (i + 1)z − (i +1) + L + x (k )z − k + L
E da definição de transformada Z,
∞
X(z) = Z[ x (k )] = ∑ x (k )z − k = x (0) + x (1)z −1 + x (2)z − 2 + L
k =0
Então, obtêm-se,
i −1
~
X(z) = X(z) − ∑ x (h )z − h
h =0
Por outro lado,
~
~y(k ) − ~y(k − 1) = x (k ) ⇒ Y ~ ~ ~ 1 ~
(z) − z −1 Y(z) = X(z) ⇒ Y(z) = X(z)
1 − z −1
~
Pois a transformada Z de x(k) que começa em k = i é X(z) , finalmente,
⎡k ⎤ ~ 1 ~ 1 ⎡ i −1
⎤
Z ⎢∑ x ( h ) ⎥ = Y ( z ) = −1
X ( z ) = −1 ⎢
X ( z ) − ∑ x (h )z − h ⎥
⎣ h =i ⎦ 1− z 1− z ⎣ h =0 ⎦
Voltando ao problema original utilizando o resultado acima e assumindo a
causalidade, isto é, que para o tempo t = 0 não há resposta do erro,
⎡k ⎤ 1
Z ⎢∑ e(hT)⎥ = −1
[E(z) − E(0)] = 1 −1 E(z)
⎣ h =1 ⎦ 1− z 1− z
⎡k ⎤ ⎧ 1 ⎫ z −1
Z⎢∑ e((h − 1)T)⎥ = z −1 ⎨ −1
[E ( z ) − E ( 0) ]⎬ = −1
E(z)
⎣ h =1 ⎦ ⎩1 − z ⎭ 1− z
Agora, para
Z[e(kT)] = E(z)
Z[e((k − 1)T)] = z −1 E(z)
Então, a transformada Z do controlador PID é dada por,
⎧ T 1⎡ 1 z −1 ⎤ Td ⎫
M ( z ) = K ⎨E ( z ) + ⎢ + ⎥
Ti 2 ⎣1 − z −1 1 − z −1 ⎦ T
+ E ( z ) − z [
−1
E ( z ) ⎬ ]
⎩ ⎭
Resultando em,
⎛ T 1 + z −1 Td ⎞
M(z)
⎜
= K ⎜1 + −1
+ (
1 − z −1 ⎟⎟ )
E(z) ⎝ 2Ti 1 − z T ⎠
Rearranjando os termos,
⎛
M(z)
= K⎜⎜1 −
T
+
T 1
−1
T
+ d 1 − z −1 ( )⎞⎟⎟
E(z) ⎝ 2Ti Ti 1 − z T ⎠
⎡
= ⎢K P +
KI
1− z −1
( ⎤
+ K D 1 − z −1 ⎥ )
⎣ ⎦
Onde
KT K
Kp = K − =K− I = ganho proporcional
2Ti 2
32
KT
KI = = ganho integral
Ti
KTD
KD = = ganho derivativo
T
R(z)
KP +
KI
(
+ K D 1 − z −1 ) 0.3679z −1 + 0.2642z −2
+ - 1 − z −1 ( )( )
1 − 0.3679z −1 1 − z −1
33
1.4 − 1.4z −1 + 0.2z −2 0.3679z −1 + 0.2642z −2
C( z )
=
G D ( z )G ( z )
=
1 − z −1 ( )( )
1 − z −1 1 − 0.3679z −1
=
R ( z ) 1 + G D ( z )G ( z ) 1.4 − 1.4z −1 + 0.2z − 2 0.3679z −1 + 0.2642z − 2
1+
1 − z −1 ( )(
1 − z −1 1 − 0.3679z −1)
0.5151z −1 − 0.1452z − 2 − 0.2963z −3 + 0.0528z − 4
= 1 − 2.3679z −1 + 1.7358z − 2 − 0.3679z −3
0.5151z −1 − 0.1452z − 2 − 0.2963z −3 + 0.0528z − 4
1+
1 − 2.3679z −1 + 1.7358z − 2 − 0.3679z −3
0.5151z −1 − 0.1452z − 2 − 0.2963z −3 + 0.0528z − 4
=
1 − 1.8528z −1 + 1.5906z − 2 − 0.6642z −3 + 0.0528z − 4
Programa em Matlab
figure('Color',[1 1 1])
step(num,den) % resposta ao degrau
figure('Color',[1 1 1]);plot(kT,c,'ko',kT,c,'k-')
title('Unit-Step Response');xlabel('kT [s]');ylabel('Output C')
34
Y(z) b 0 z − (n − m ) + b1 z − (n − m +1) + L + b m z − n b 0 z n − m + b1 z n − m −1 + L + b m
= = n≥m
X ( z) 1 + a 1 z −1 + L + a n z − n z n + a 1 z n −1 + L + a n
Que também pode ser expressa na forma de pólos e zeros,
Y(z) b 0 (z − z 1 )(z − z 2 )L (z − z m )
= n≥m
X(z) (z − p1 )(z − p 2 )L (z − p n )
Observe que,
Y(z) b 0 + b1 z −1 + L + b m z − m
=
X(z) 1 + a 1 z −1 + L + a n z − n
Que pode ser reescrita como,
(1 + a 1z −1 + L + a n z − n )Y(z) = (b 0 + b1z −1 + L + b m z − m )X(z)
Aplicando a transformada inversa de Z, obtém-se,
y(kT) + a 1 y(kT − T) + a 2 y(kT − 2T) + L + a n y(kT − nT)
= b 0 x (kT) + b1 x (kT − T) + L + b m x (kT − mT)
Significando que a resposta atual y(kT) é obtida fazendo,
y(kT) = −a 1 y(kT − T) − a 2 y(kT − 2T) − L − a n y(kT − nT) +
+ b 0 x (kT) + b1 x (kT − T) + L + b m x (kT − mT)
Deve ser lembrado que para kT < 0 a resposta do sistema será zero, isto é y(-T)
= 0 devido à condição de causalidade.
Exemplo 3.4: Calcular a resposta ao degrau unitário em tempo discreto com T = 0.5
para o sistema dado em tempo contínuo,
s
G (s) =
(s + 1)2
Solução: Das tabelas de transformada Z,
⎡ s ⎤ 1 − (1 + T)e − T z −1 1 − 0.9098z −1
Z⎢ 2⎥
= =
⎣ (s + 1) ⎦ (
1 − e −T z −1
2
)1 − 1.2131z −1 + 0.3679z −2
Y(z) z 2 − 0.9098z
= 2
U(z) z − 1.2131z + 0.3679
Então, o sistema a ser simulado é,
(1 – 1.2131z-1 + 0.3679z-2)Y(z) = (1 – 0.9098z-1)U(z)
Aplicando a Transformada Z inversa,
y(kT) – 1.2131y((k-1)T) + 0.3679y((k-2)T) = u(kT) – 0.9098u((k-1)T)
Rearranjando,
y(kT) = 1.2131y((k − 1)T) − 0.3679 y((k − 2)T) + u (kT) − 0.9098u ((k − 1)T)
Como x(kT)=1(kT), então, começando o processo de iteração,
35
= 1.2131*1.3033 - 0.3679 + 1 - 0.9098 = 1.3033
36
Para implementar esta função de transferência da planta e do controlador utiliza-
se o bloco denominado “Discrete Filter”, mas poderia ser utilizado os blocos “Discrete
Transfer Fcn” ou “Discrete Zero-Pole”. A implementação do sistema está apresentada
na Figura 3.13:.
37
3.3.8 Resposta ao Impulso Finita e Infinita
Exemplo 3.6: Transformar a função de transferência abaixo que está na forma IIR para a
forma FIR e calcular a resposta ao degrau unitário.
2 − 0.6z −1
G (z) =
1 + 0.5z −1
Para transformar a resposta acima para forma FIR, deve-se dividir o numerador
pelo denominador, ou então, calcular a resposta ao impulso.
Y=
Columns 1 through 8
Columns 9 through 11
38
Tomando apenas os valores abaixo de z-7, então, a forma FIR fica,
Y(z) 2 − 0.6z −1
= G (z) =
X(z) 1 + 0.5z −1
≅ 2 − 1.6z −1 + 0.8z − 2 − 0.4z −3 + 0.2z − 4 − 0.1z −5 + 0.05z −6 − 0.025z −7
Cuja equação de diferenças fica,
y FIR (kT) = 2x (kT) − 1.6 x ((k − 1)T) + 0.8x ((k − 2)T) − 0.4x ((k − 3)T) +
+ 0.2x ((k − 4)T) − 0.1x ((k − 5)T) + 0.05x ((k − 6)T ) − 0.025x ((k − 7)T)
Enquanto que a forma IIR é dada por,
y IIR (kT) = −0.5 y((k − 1)T) + 2 x ((k )T) − 0.6 x ((k − 1)T)
Exemplo 3.7: Calcular a resposta de sin ωt na forma discreta para uma freqüência de 1
Hz utilizando 8 pontos por período. Utilizar a equação na forma recursiva.
39
K=3 y(0.375) = 1.4142y(0.250) - y(0.125) = 0.7071
K=4 y(0.500) = 1.4142y(0.375) - y(0.250) = 0
Impulse Response
1
0.8
0.6
0.4
Amplitude
0.2
-0.2
-0.4
-0.6
-0.8
-1
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
40
3.5 Exercícios Propostos
Exercício 3.4: (Prova de 2007) Calcular a resposta c(kT) para k = 0,1,2,3,4,5, rupondo
que a entrada r(kT) seja um impulso e o tempo de amostragem T = 1 segundo,
C( z ) 1 + 2 z −1
=
(
R (z) 1 − 0.5z −1 2 )
Exercício 3.5: Obter a função de transferência discreta em malha fechada dos seguintes
diagramas de bloco,
(a)
41
(b)
42
Capítulo 4
43
Significando que esta parte é repetida a cada 2πk, significando que freqüências
que são múltiplas inteiras da freqüência de amostragem 2π/T são mapeadas na mesma
região no plano Z, de acordo com a Figura 4.2, pois,
z = e Ts = e T (σ+ jω ) = e σT e jωT = e σT e j(ωT 2 πk )
Além disso, o lado esquerdo do plano S possui parte real negativa, significando
que,
z = eσT < 1
Então todo o lado esquerdo do plano complexo é localizado no plano Z dentro
de um círculo de raio unitário, o eixo jω é mapeado exatamente em cima do circulo e o
lado direito do plano S é mapeado fora do circulo de raio unitário.
Além disso, quanto menor o tempo de discretização mais próximo do círculo de
raio unitário encontra-se a raiz. Isto ocorre porque se T tende para zero então eσT tende
para 1.
Observa-se pela equação de transformação que raízes com a mesma parte real
mas com parte imaginária diferente localizam-se em forma de círculo no plano
complexo, de acordo com a Figura 4.3. Isto também significa que a parte real dá a
distância da origem no plano z, isto é, o raio.
44
Figura 4.3: Localização das raízes complexas com a mesma parte real no plano discreto.
Figura 4.4: Localização das raízes complexas com a mesma parte imaginária no plano
discreto.
Consequentemente,
⎛ ⎞
⎜ − 2 πζ ω d ⎟
⎜ 2 ωs ⎟ ωd
e angle(z ) = 2π
1− ζ
z =e ⎝ ⎠
ωs
Assim, a magnitude de z decresce e o ângulo aumenta quando ωd, que é a
freqüência natural amortecida, aumenta, caracterizando assim uma espiral logarítmica.
Note que para uma dada relação ωd/ωs, a magnitude de z torna-se apenas uma função do
fator de amortecimento ζ. A representação da curva com fator de amortecimento
constante é dada na Figura 4.5.
45
Figura 4.5: Representação das curvas de fator de amortecimento constante.
1
0.5π/T
0.6π/T 0.4π/T
0.8 0.10.3 /T
0.7π/T π
0.2
0.6 0.3
0.8π/T 0.4 0.2π/T
0.5
0.4 0.6
0.7
0.9π/T 0.8 0.1π/T
0.2 0.9
0
π/T
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Esta abordagem anterior foi feita para determinar qual a região dos pólos e zeros
desejados para as funções de transferência em tempo discreto. Então a partir dos
gráficos anteriores pode-se determinar a região desejada dos pólos e zeros discretos de
acordo com a Figura 4.7.
46
Figura 4.7: Localização das raízes complexas desejadas no plano discreto.
Aqui deve ser mencionado que se um sistema em tempo contínuo possui um par
de pólos na forma s = - σ ± jω1 no plano s, e for feita uma amostragem tal que ω1 >
1/2ωs em que ωs = 2π/T, sendo T o tempo de amostragem, significando que este par de
pólos complexo possui freqüência natural maior que a freqüência de Nyquist, ele cairá
fora da primeira faixa de valores, mas como mencionado anteriormente, ele será
transportado para dentro do circulo de raio unitário do plano Z como se estivesse
posicionado no plano S em s = - σ ± j(ω1 - ωs).
47
Solução: Calculando a convolução do ZOH com a planta,
⎡1 − e − s 1 ⎤ ⎡ 1 ⎤
[ ]
Z G ZOH G p = Z⎢ ⎥ = (1 − z −1 )Z⎢ 2 ⎥=
⎣ s s(s + 1)⎦ ⎣ s (s + 1) ⎦
⎡ 1 ⎤
= (1 − z −1 )Z⎢ 2 = (
1 − z ) [
−1 (T − 1 + e
−T
]
) + (1 − e −T − Te −T )z −1 z −1
⎥
⎣ s (s + 1) ⎦ (1 − z −1 )2 (1 − e −T z −1 )
Esta transformada foi obtida através de tabela de transformação. Item 13.
fazendo a = 1. Agora substituindo os valores de T = 1 e simplificando, obtêm-se,
0.3679z −1 + 0.2642z −2
[ ]
Z G ZOH G p = G (z) =
(1 − z −1 )(1 − 0.3679z −1 )
Como a função de transferência em malha fechada é dada por,
0.3679z −1 + 0.2642z −2
1
C( z )
=
KG (z)
=
(1 − z −1 )(1 − 0.3679z −1 )
=
0.3679z −1 + 0.2642z − 2
R (z) 1 + KG (z) 0.3679z −1 + 0.2642z − 2 1 − z −1 + 0.6321z − 2
1+1
(1 − z −1 )(1 − 0.3679z −1 )
Então, calculando as raízes do denominador, que são os pólos, encontra-se,
z 1, 2 = 0.5 ± j0.6181
Pegando o valor absoluto,
z 1, 2 = (0.5)2 + (0.6181)2 = 0.7950
Como o valor é menor que 1, significa que o sistema é assintoticamente estável.
48
excitação, mas ocorre uma subida rápida, o tr será pequeno ao passo que o td
será grande.
Observe que nem todas as especificações são aplicadas a todos os sistemas, isto
é, se um sistema for superamortecido ou se for um sistema de primeira ordem ou se
todas as raízes forem puramente reais negativas, não ocorrerá o sobre sinal e nem o
tempo de pico.
49
Figura 4.9: Sistema de malha fechada com controlador proporcional.
% tempo de amostragem
T = 0.5;
% Definição da planta
num=[(1-exp(-T)) 0];
den=conv([1 -1],[1 -exp(-T)]);
50
% Empacotando
sys=tf(num,den,T)
51
Figura 4.11: Lugar das raízes para T = 1s
52
⎡1 − e − s ⎤ ⎡ ⎤
[
Z G ZOH G p ] = Z⎢
1
⎥ = 1 − z −1 Z⎢
1
⎥= ( )
⎣ s s(s + 1)(s + 5) ⎦ ⎣ s(s + 1)(s + 5) ⎦
⎡1 ⎤
(
= 1 − z −1 Z ⎢ −) 1
+
1
⎥=
⎣ 5s 4(s + 1) 20(s + 5) ⎦
⎡ ⎤
(
= 1 − z −1 ⎢ ) (
1
−1
−
1
− T −1
) (+
1
20 1 − e −5T z −1 ) ( ) ⎥
⎣5 1 − z 4 1− e z ⎦
=
( )(
4 1 − e −5T z −1 1 − e −T z −1 − 5 1 − z −1 1 − e −5T z −1 +) ( )( ) ( )(
1 − z −1 1 − e −T z −1 )
20 1 − e −T z −1 1 − e −5T z −1 ( )( )
=
(4 − 5e −T
) (
+ e −5T z −1 + 4e −6 T − 5e −5T + e −T z − 2 )
(
20 1 − e −T z −1 1 − e −5T z −1 )( )
O primeiro passo é calcular
% Planta contínua
num=1; % numerador
den=[conv([1 1],[1 5])]; % denominador
Gp=tf(num,den) % empacotando
% Planta discreta
T=0.1; % tempo de amostragem
b1=(4-5*exp(-T)+exp(-5*T));
b2=(4*exp(-6*T)-5*exp(-5*T)+exp(-T));
numd=[0 b1 b2]/20; % numerador
a1=-exp(-T)-exp(-5*T);
a2=exp(-6*T);
dend=[1 a1 a2]; % denominador
Gz=tf(numd,dend,T) % empacotando
figure('Color',[1 1 1])
step(Gp,Gz)
legend('Contínuo','Discreto')
0.7
Damping: 1 Frequency (rad/sec): 3.
0.9π/T 0.8 0.1π/T
0.12
Amplitude
0.2 Overshoot
0.9 (%): 0
Frequency (rad/sec): 5
Contínuo π/T
0.1 0
Discreto π/T
0.08 -0.2
0.9π/T 0.1π/T
-0.4
0.06
0.8π/T 0.2π/T
-0.6
0.04 System: Gz
0.7π/T 0.3π/T Gain: 50
-0.8
0.02 Pole: 0.648 - 0.538i
0.6π/T 0.4π/T Damping: 0.241
0.5π/T
-1 Overshoot (%): 45.8
0 Frequency (rad/sec): 7.14
0 1 2 3 4 5 6 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
53
Figura 4.13: Resposta do sistema considerando tempo contínuo e discreto e lugar das
raízes
54
% Controle PD % Controle PID
% Kp = 50 , Kd = 0 % Kp = 50 , Kd = 50 , Ki = 0
Kp=50;Kd=0;Ki=0; Kp=50;Kd=50;Ki=0;
num=[Kp+Kd+Ki -(Kp+2*Kd) +Kd];den=[1 -1 0]; num=[Kp+Kd+Ki -(Kp+2*Kd) +Kd];den=[1 -1 0];
GPIDz=tf(num,den,T) GPIDz=tf(num,den,T)
sysMA=GPIDz*Gz sysMA=GPIDz*Gz
sysMF1=feedback(sysMA,1) sysMF4=feedback(sysMA,1)
% Kp = 50 , Kd = 10 % Kp = 50 , Kd = 50 , Ki = 2
Kp=50;Kd=10;Ki=0; Kp=50;Kd=50;Ki=2;
num=[Kp+Kd+Ki -(Kp+2*Kd) +Kd];den=[1 -1 0]; num=[Kp+Kd+Ki -(Kp+2*Kd) +Kd];den=[1 -1 0];
GPIDz=tf(num,den,T) GPIDz=tf(num,den,T)
sysMA=GPIDz*Gz sysMA= GPIDz*Gz
sysMF2=feedback(sysMA,1) sysMF5=feedback(sysMA,1)
% Kp = 50 , Kd = 50 % Kp = 50 , Kd = 50 , Ki = 10
Kp=50;Kd=50;Ki=0; Kp=50;Kd=50;Ki=10;
num=[Kp+Kd+Ki -(Kp+2*Kd) +Kd]; num=[Kp+Kd+Ki -(Kp+2*Kd) +Kd];den=[1 -1 0];
den=[1 -1 0]; GPIDz=tf(num,den,T)
GPIDz=tf(num,den,T) sysMA=GPIDz*Gz
sysMA=GPIDz*Gz sysMF6=feedback(sysMA,1)
sysMF3=feedback(sysMA,1)
% Kp = 50 , Kd = 50 , Ki = 40
figure('Color',[1 1 1]) Kp=50;Kd=50;Ki=40;
step(sysMF1, sysMF2, sysMF3,3) num=[Kp+Kd+Ki -(Kp+2*Kd) +Kd];
legend('K_D = 0','K_D = 10','K_D = 50') den=[1 -1 0];
GPIDz=tf(num,den,T)
sysMA=GPIDz*Gz
sysMF7=feedback(sysMA,1)
figure('Color',[1 1 1])
step(sysMF4,sysMF5,sysMF6,sysMF7,5)
legend('K_I = 0','K_I = 2','K_I = 10','K_I = 40')
Figura 4.15: Respostadas do sistema controlado para vários valores de Kd, mantendo o
valor de Kp = 50.
55
Figura 4.16: Respostadas do sistema controlado para vários valores de Ki, mantendo os
valores de Kp = 50 e Kd = 50.
Uma resposta tipo “Dead Beat ” é aquela em que o sistema apresenta o menor
tempo de estabilização possível, sem erro estacionário e sem apresentar oscilações
durante o transiente. Então se um sistema de controle em malha fechada for projetado
para que a resposta do sistema de malha fechada apresente uma resposta dead beat, o
controlador que gerou esta resposta recebe o nome de controlador dead beat.
56
4.6 Projeto de Controladores PID
Para o calculo do ganho crítico, pelo menos um dos pólos da equação acima
deve possuir parte real igual a zero.
57
System: Gz
Root Locus Root Locus Gain: 3.35
1
5 0.5π/T Pole: 0.807 + 0.59i
0.6π/T 0.4π/T
Damping: 0.000454
0.8 0.7π/T 0.1 0.3 /T
4 Overshoot π(%): 99.9
0.2 (rad/sec): 3.15
Frequency
0.6 0.3
3 System: Gs 0.8π/T 0.4 0.2π/T
Gain: 4.5 0.5
Pole: 0.00145 + 3.63i 0.4 0.6
2
0.7
Imaginary Axis
Imaginary Axis
1 1
Amplitude
Amplitude
0.5 0.5
Tempo de
Oscilação Tu Tempo de
oscilação Tu
0 0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tabela 4-1: Ajustes do controlador PID para o método Ziegler-Nichols malha fechada.
Tipo do controlador Kc Ti Td
P 0,5 Kcr -- --
PI 0,45.Kcr Tu/1,2 ---
PID 0,6.Kcr 0,5Tu 0,125Tu
58
Figura 4.21: Resposta ao degrau unitário
A curva com o formato em S pode ser caracterizada por duas constantes, o atraso
L e a constante de tempo T. O atraso e a constante de tempo são determinados
desenhando-se uma linha tangente no ponto de inflexão da curva com o formato de S e
determinando-se a interseção da linha tangente com o eixo do tempo. O ajuste do
controlador PID, segundo este método, introduz no sistema dois zeros em -1/L se o
projeto for feito em tempo contínuo.
Tabela 4-2: Ajustes do controlador PID para o método Ziegler-Nichols malha aberta.
Tipo de controlador Kc Ti Td
P T/L ∞ 0
PI 0,9T/L L/0,3 0
PID 1,2T/L 2L 0,5L
Exercício 4.1: Para o sistema abaixo, quais seriam os pólos em tempo discreto?
100
G (s) = 2
s + 10s + 100
Exercício 4.2: Para o Exemplo 4.1, encontrar quais os valores que K que
tornam o sistema em malha fechada um sistema assintoticamente estável,
marginalmente estável e instável.
59
2 1
G (s) = e H(s) =
(s + 1)(s + 2)(s + 3) 30s + 1
Para resolver este problema deve-se assumir que há um amostrador em X(s) e
um ZOH em U(s).
60
Capítulo 5
61
5.2 Nomenclatura de Espaço de Estados
62
A forma canônica controlável é dada por,
⎧ x 1 (k + 1) ⎫ ⎡ 0 1 0 L 0 ⎤ ⎧ x 1 ( k ) ⎫ ⎡0⎤
⎪ x (k + 1) ⎪ ⎢ 0 0 1 L 0 ⎥⎥ ⎪⎪ x 2 (k ) ⎪⎪ ⎢0⎥
⎪⎪ 2 ⎪⎪ ⎢ ⎪ ⎪ ⎢ ⎥
⎨ M ⎬=⎢ M M M O M ⎥ ⎨ M ⎬ + ⎢0⎥ u ( k )
⎪x (k + 1)⎪ ⎢ 0 0 0
⎥
L 1 ⎥ ⎪x n −1 (k )⎪ ⎢ M ⎥
⎢ ⎥
⎪ n −1 ⎪ ⎢ ⎪ ⎪
⎪⎩ x n (k + 1) ⎪⎭ ⎢⎣− a n − a n −1 − a n − 2 L − a 1 ⎥⎦ ⎪⎩ x n (k ) ⎪⎭ ⎢⎣1⎥⎦
⎧ x 1 (k ) ⎫
⎪x (k ) ⎪
⎪ ⎪
y(k ) = [b n − a n b 0 b n −1 − a n −1 b 0 L b1 − a 1 b 0 ]⎨ 2 ⎬ + b 0 u (k )
⎪ M ⎪
⎪⎩x n (k )⎪⎭
Se a matriz G for uma matriz de posto cheio, isto é, o determinante é diferente
de zero, o sistema é controlável, caso contrário, significa que pelo menos 1 dos estados
não é controlável. A controlabilidade significa que o sistema pode ser alterado de
qualquer estado para qualquer estado em um período de tempo finito.
⎨ M ⎬ = ⎢M M M O M ⎥⎨ M ⎬ + ⎢ M ⎥ u (k )
⎪x (k + 1)⎪ ⎢0 0 L 0 − a ⎥ ⎪x (k )⎪ ⎢ b − a b ⎥
⎪ n −1 ⎪ ⎢ 2 ⎥
⎪ n −1 ⎪ ⎢ 2 2 0 ⎥
⎪⎩ x n (k + 1) ⎪⎭ ⎢⎣0 0 L 1 − a 1 ⎥⎦ ⎪⎩ x n (k ) ⎪⎭ ⎢⎣ b1 − a 1 b 0 ⎥⎦
⎧ x 1 (k ) ⎫
⎪ x (k ) ⎪
⎪ ⎪
y(k ) = [0 0 L 1]⎨ 2 ⎬ + b 0 u (k )
⎪ M ⎪
⎪⎩x n (k )⎪⎭
Para o sistema ser completamente observável, a matriz G deve ser uma matriz de
posto cheio. A observabilidade significa que todos os estados do sistema podem ser
observados ou medidos.
63
⎧ x 1 (k + 1) ⎫ ⎡p1 0 L 0 ⎤ ⎧ x 1 (k ) ⎫ ⎡1⎤
⎪ x (k + 1) ⎪ ⎢ 0 p 2 L 0 ⎥⎥ ⎪⎪ x 2 (k ) ⎪⎪ ⎢1⎥
⎪ 2 ⎪ ⎢
⎨ ⎬= ⎨ ⎬ + ⎢ ⎥ u (k )
⎪ M ⎪ ⎢0 M O M ⎥ ⎪ M ⎪ ⎢M⎥
⎪⎩x n (k + 1)⎪⎭ ⎢⎣ 0 ⎥
0 L p n ⎦ ⎪⎩x n (k )⎪⎭ ⎣1⎦
⎢⎥
⎧ x 1 (k ) ⎫
⎪ x (k ) ⎪
⎪ ⎪
y(k ) = [c1 c 2 L c n ]⎨ 2 ⎬ + b 0 u (k )
⎪ M ⎪
⎪⎩x n (k )⎪⎭
onde pi representa os pólos do sistema.
64
x (k ) = Px̂ (k )
onde a matriz P é de ordem n×n, mesma ordem da matriz G. Então,
Px̂ (k + 1) = GPx̂ (k ) + Hu (k )
y(k ) = CPx̂ (k ) + Du (k )
Que pode ser reescrito como,
x̂ (k + 1) = P −1GPx̂ (k ) + P −1 Hu (k )
y(k ) = CPx̂ (k ) + Du (k )
Agora definindo,
Ĝ = P −1GP , Ĉ = CP e Ĥ = P −1 H
Então,
x̂ (k + 1) = Ĝx̂ (k ) + Ĥu (k )
y(k ) = Ĉx̂ (k ) + Du (k )
Que é exatamente da mesma forma que o sistema original. Se a matriz P for a
matriz dos autovetores da matriz G, então o sistema será diagonalizado, caso isso não
seja possível, a matriz resultante será a matriz de Jordan.
Nesta parte, supõe-se que o sistema seja linear e invariante no tempo na forma,
x (k + 1) = Gx (k ) + Hu (k )
y(k ) = Cx (k ) + Du (k )
Pegando apenas os estados do sistema, para o instante inicial têm-se,
x (1) = Gx (0) + Hu (0)
Para o instante seguinte,
x (2) = Gx (1) + Hu (1) = G (Gx (0) + Hu (0) ) + Hu (1) = G 2 x (0) + GHu (0) + Hu (1)
Para o instante seguinte,
x (3) = Gx (2) + Hu (2) = G (G 2 x (0) + GHu (0) + Hu (1) ) + Hu (2) =
= G 3 x (0) + G 2 Hu (0) + GHu (1) + Hu (2)
Fazendo isso para k instantes,
k −1
x (k ) = G x (0) + ∑ G k − j−1 Hu ( j)
k
k = 1, 2, 3 ...
j= 0
65
zX(z) − zx (0) = GX(z) + HU(z)
Y(z) = CX(z) + DU(z)
Supondo condições iniciais nulas,
zX(z) = GX(z) + HU(z) ⇒ (zI − G )X(z) = HU(z) ⇒ X(z) = (zI − G ) HU(z)
−1
Substituindo em Y(z),
[
Y(z) = C(zI − G ) HU(z) + DU(z) = C(zI − G ) H + D U(z)
−1 −1
]
Como a função de transferência pulsada é a relação dada por Y(z)/U(z),
Y(z)
= C(zI − G ) H + D
−1
U(z)
Observe que se Y(z)/U(z) é uma matriz m×r.
1
Deve ser lembrado que a integral da derivada é a própria função aplicada os limites de integração.
66
y( t ) = Cx ( t ) + Du ( t )
Para fazer o mesmo para um sistema discreto, tem-se que,
x& ( t ) = Ax( t ) + Bu ( t ) ⇒ x ((k + 1)T) = Gx (kT) + Hu (kT)
Para que possa ser utilizada a solução de um sistema contínuo para encontrar a
solução de um sistema discreto, assume-se que a entrada u(t) entre um período e outro
de amostragem é constante, isto é, que há um ZOH, então,
u ( t ) = u (kT) kT ≤ t < kT+T
Então, a solução,
t
x ( t ) = e At x (0) + ∫ e A ( t − τ ) Bu (τ)dτ
0
Agora fazendo,
( k +1)T
⎡ AkT kT
⎤
x ((k + 1)T) − e AT x (kT) = e A (k +1)T x (0) + ∫0 e A (( k +1)T − τ )
Bu ( τ) dτ − e AT
⎢ e x ( 0) + ∫ e A (kT −τ )Bu (τ)dτ⎥
⎣ 0 ⎦
Simplificando2,
(k +1)T kT
( )
x ((k + 1)T ) = e AT x (kT ) + e A (k +1)T − e AT e AkT x (0) + e A (k +1)T ∫ e Bu(τ)dτ − e e ∫ e Bu(τ)dτ
− Aτ AT AkT − Aτ
0 0
(k +1)T
= e AT x (kT ) + e A (k +1)T ∫e
− Aτ
Bu (τ)dτ
kT
Supondo agora o ZOH, então, o tempo entre kT e (k+1)T pode ser substituído
por 0 e T dentro da integral, pois o que vai variar é apenas u(τ) que é considerado
constante. Então,
T
x ((k + 1)T) = e AT x (kT ) + e AT ∫ e −Aτ Bu (τ)dτ
0
2
Deve ser lembrado que e
AT AkT
e = e A (k +1)T
67
A solução para y(kT) é dada simplesmente por,
y(kT) = Cx (kT) + Du (kT)
Se a matriz A for não singular, então
⎛ T Aλ ⎞
( )
H = ⎜⎜ ∫ e dλ ⎟⎟B = A −1 e AT − I B = e AT − I A −1B ( )
⎝0 ⎠
Exemplo 5.1: Considerando o sistema abaixo, encontrar a representação de estado
discreto e a expressão para função de transferência discreta para T = 1 s.
1 1 b2
G (s) = = 2 = 2
s(s + 2) s + 2s s + a 1s + a 2
Solução: O primeiro passo é encontrar uma representação de estado para o
sistema, utilizando a forma canônica controlável,
⎧ x& 1 ( t ) ⎫ ⎡0 1 ⎤ ⎧ x1 ( t ) ⎫ ⎡0⎤
⎨ ⎬=⎢ ⎥⎨ ⎬ + ⎢ ⎥ u (k )
⎩x& 2 ( t )⎭ ⎣0 − 2⎦ ⎩x 2 ( t )⎭ ⎣1⎦
⎧ x (t) ⎫
y( t ) = [1 0]⎨ 1 ⎬
⎩x 2 ( t )⎭
Como foi visto, para as matrizes discretas têm-se3,
G=e = AT
⎡
⎢1
1
( ) ⎤
1 − e −2 T ⎥ ⎡1 0.4323⎤
=
⎥ ⎢⎣0 0.1353⎥⎦
2
⎢0 e −2 T
⎣ ⎦
Outra forma de encontrar a matriz G é fazendo,
⎡1 1 ⎤
⎢ ⎥
L e At = (sI − A ) = ⎢ s s(s + 2) ⎥
[ ] −1
⎢0 1 ⎥
⎣⎢ s + 2 ⎦⎥
Cuja transformada de laplace inversa é dada por,
⎡1 1 ⎤
e =L ⎢
At
⎢
−1 s s (s + 2 ) ⎥=⎢ 2
(
⎥ ⎡1 1 1 − e − 2 t ⎤ ) ⎥
⎢0 1 ⎥ ⎣0 ⎢ e −2 t ⎥
⎢⎣ ⎥ ⎦
s+2 ⎦
Então,
⎛T ⎡ ⎤ ⎞
⎛T ⎞ ⎜ 1
H = ⎜⎜ ∫ e Aλ dλ ⎟⎟B = ⎜ ∫ ⎢
1
2
( )
1 − e − 2 λ ⎥ ⎟ ⎡0 ⎤
dλ ⎟ ⎢ ⎥ =
⎜ 0 ⎢0 ⎥ ⎟ 1
⎝0 ⎠ ⎦ ⎠⎣ ⎦
−2λ
⎝ ⎣ e
⎡ 1⎛ e −2T − 1 ⎞⎤ ⎡1 ⎛ e −2 T − 1 ⎞⎤
⎢T ⎜T + ⎟⎥ ⎢ ⎜T + ⎟⎥
=⎢ 2 ⎜⎝ 2 ⎟⎠⎥ ⎡0⎤ = ⎢ 2 ⎜⎝ 2 ⎟⎠⎥ = ⎡0.2838⎤
⎢ ⎥ ⎢ ⎥
⎥ ⎣1 ⎦ ⎢ 1 ⎥ ⎣0.4323⎦
⎢
⎢⎣ 0
1
2
(
1− e −2 T
) ⎥⎦ (
⎢⎣ 2 1 − e )
−2 T
⎥⎦
Desta forma, o sistema discreto na forma de matrizes de estado é dado por,
∞
3 1 2 2 1 Ak tk
e At = I + At + A t + L + Ak tk + L = ∑
2! k! k =0 k!
68
⎧ x 1 (k + 1) ⎫ ⎡1 0.4323⎤ ⎧ x 1 (k ) ⎫ ⎡0.2838⎤
⎨ ⎬=⎢ ⎥⎨ ⎬+ ⎢ ⎥ u (k )
⎩x 2 (k + 1)⎭ ⎣0 0.1353⎦ ⎩x 2 (k )⎭ ⎣0.4323⎦
⎧ x (k ) ⎫
y(k ) = [1 0]⎨ 1 ⎬
⎩x 2 (k )⎭
Para a representação em FT discreta,
Y(z)
= G (z) = C(zI − G ) H + D
−1
U(z)
−1
⎛ ⎡1 0⎤ ⎡1 0.4323⎤ ⎞ ⎡0.2838⎤ 0.2838z + 0.1485
= [1 0]⎜⎜ z ⎢ ⎥ −⎢ ⎥ ⎟ ⎢
⎟ ⎥ +0= 2
⎝ ⎣0 1⎦ ⎣0 0.1353⎦ ⎠ ⎣0.4323⎦ z − 1.1353z − 0.1353
O mesmo problema pode ser resolvido utilizando o Matlab,
% Planta contínua
num=1; % numerador
den=[conv([0 0 1],[1 2 0])]; % denominador
% discretizando as matrizes
T=1;
[G,H]=c2d(A,B,T)
Observe que neste caso, as matrizes de estado não estão na forma canônica, mas
o resultado em Função de Transferência deve ser exatamente o mesmo.
Exemplo 5.2: Para o sistema abaixo, converter para matrizes de estado discretas
utilizando o Matlab,
s+2
G (s) = 3
s + 1.6325s 2 + 10.6325s + 10
% Funções de Transferencia
Gs=tf(num,den) % planta contínua
Gz=c2d(Gs,T) % planta discreta
% Matrizes de Estado
[A,B,C,D]=tf2ss(num,den)
69
MEs=ss(A,B,C,D) % empacotando
MEz=c2d(MEs,T) % Matrizes de estado discreta
⎪⎩x& 4 ⎪⎭ ⎢ S k ( k + k ) c c ⎥ ⎢ 1 k ⎥
− S P S
− S ⎥ ⎪⎩x 4 ⎪⎭ ⎢− P
⎥
⎣ mN mN mN mN ⎦ ⎣ mN mN ⎦
De forma geral, se for sempres assumido que o vetor de estado se inicia com
deslocamentos e depois as velocidades, as matrizes de estado podem ser dadas a partir
das matrizes dinâmicas como,
70
[M ]{X && ( t )} + [C]{X& ( t )} + [K ]{X( t )} = {F( t )}
Sendo que o vetor de estado,
{X( t )} = ⎧⎨ & ⎫⎬
X( t )
⎩X ( t ) ⎭
E as matrizes de estado,
{X& } = ⎡⎢− [M[0]]−1 K − [MI]−1 C⎤⎥{X} + ⎡⎢[M[0]−]1 F⎤⎥{U}
⎣ ⎦ ⎣ ⎦
A resposta do sistema deve ser dado pelo que se deseja medir, supondo que seja
necessário medir os deslocamentos e velocidades,
⎧ y 1 ⎫ ⎡1 0 0 0 ⎤ ⎧ x 1 ⎫ ⎡ 0 0 ⎤
⎪ y ⎪ ⎢0 1 0 0 ⎥ ⎪ x ⎪ ⎢0 0 ⎥ u
⎪ 2⎪ ⎢
⎨ ⎬= ⎥ ⎪⎨ 2 ⎪⎬ + ⎢ ⎥ ⎧⎨ ⎫⎬
⎪ y 3 ⎪ ⎢0 0 1 0 ⎥ ⎪ x 3 ⎪ ⎢0 0 ⎥ ⎩ w ⎭
⎪⎩ y 4 ⎪⎭ ⎢⎣0 0 0 1⎥⎦ ⎪⎩x 4 ⎪⎭ ⎢⎣0 0⎥⎦
Caso seje necessário medir apenas o deslocamento da massa suspensa,
⎧ x1 ⎫
⎪x ⎪
{y1 } = [1 0 0 0]⎪⎨ 2 ⎪⎬ + [0 0]⎧⎨ ⎫⎬
u
⎪x 3 ⎪ ⎩w ⎭
⎪⎩x 4 ⎪⎭
71
5.8 Exercícios Propostos
Exercício 5.3: (Prova 2007) Considerando o sistema abaixo, escrever a forma canônica
controlável e observável,
2z + 0.5
G (z) = 2
z − z + 0.5
72
Capítulo 6
6 Controlabilidade e Observabilidade
6.1 Introdução
6.2 Controlabilidade
73
Exemplo 6.1: Verificar se os sistemas abaixo são de estado completamente
controláveis.
⎡ x 1 (k + 1) ⎤ ⎡− 1 0 ⎤ ⎡ x 1 (k ) ⎤ ⎡2⎤
⎢ x (k + 1)⎥ = ⎢ 0 − 2⎥ ⎢ x (k )⎥ + ⎢3⎥ u (k )
⎣ 2 ⎦ ⎣ ⎦⎣ 2 ⎦ ⎣ ⎦
Solução: Construindo a matriz de controlabilidade,
⎛ 2 − 1 0 ⎤ ⎡2⎤ ⎞ ⎛ 2 − 2 ⎞
[H GH] = ⎜⎜ ⎡⎢ ⎤⎥ ⎡⎢ ⎥ ⎢3⎥ ⎟⎟ = ⎜⎜ 3 − 6 ⎟⎟
3
⎝⎣ ⎦ ⎣ 0 − 2 ⎦⎣ ⎦ ⎠ ⎝ ⎠
Não é necessário calcular o posto da matriz e controlabilidade, pois é só
observar se as linhas são linearmente independentes, neste caso, o posto = 2, então o
sistema é completamente controlável.
⎡ x 1 (k + 1) ⎤ ⎡− 1 0 ⎤ ⎡ x 1 (k ) ⎤ ⎡2⎤
⎢ x (k + 1)⎥ = ⎢ 0 − 2⎥ ⎢ x (k )⎥ + ⎢0⎥ u (k )
⎣ 2 ⎦ ⎣ ⎦⎣ 2 ⎦ ⎣ ⎦
Solução: Construindo a matriz de controlabilidade,
⎛ 2 − 1 0 ⎤ ⎡2⎤ ⎞ ⎛ 2 − 2 ⎞
[H GH] = ⎜⎜ ⎡⎢ ⎤⎥ ⎡⎢ ⎥ ⎢ ⎥ ⎟⎟ = ⎜⎜ ⎟⎟
⎝ ⎣0⎦ ⎣ 0 − 2⎦ ⎣0 ⎦ ⎠ ⎝ 0 0 ⎠
Neste caso, claramente o sistema possui posto = 1, significando que o sistema
não é completamente controlável.
⎡ x 1 (k + 1) ⎤ ⎡− 2 1 0 0 0 ⎤ ⎡ x 1 (k + 1) ⎤ ⎡0 1⎤
⎢ x (k + 1)⎥ ⎢ 0 − 2 1 0 0 ⎥⎥ ⎢⎢ x 2 (k + 1)⎥⎥ ⎢⎢0 0⎥⎥
⎢ 2 ⎥ ⎢ ⎡ u 1 (k ) ⎤
⎢ x 3 (k + 1) ⎥ = ⎢ 0 0 −2 0 0 ⎥ ⎢ x 3 (k + 1) ⎥ + ⎢3 0⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎣u 2 (k )⎦
⎢ x 4 (k + 1)⎥ ⎢ 0 0 0 − 5 1 ⎥ ⎢ x 4 (k + 1)⎥ ⎢0 0⎥
⎢⎣ x 5 (k + 1) ⎥⎦ ⎢⎣ 0 0 0 0 − 5⎥⎦ ⎢⎣ x 5 (k + 1) ⎥⎦ ⎢⎣2 1⎥⎦
Solução: Construindo a matriz de controlabilidade,
[H GH G 2 H G 3 H G 4 H ]
Como a solução é mais complicada, utiliza-se o matlab para resolver o
problema,
% definindo matriz G
G=[-2 1 0 0 0
0 -2 1 0 0
0 0 -2 0 0
0 0 0 -5 1
0 0 0 0 -5]
% definindo matriz H
H=[0 1;0 0;;3 0;0 0;2 1]
74
⎡ x 1 (k + 1) ⎤ ⎡− 2 1 0 0 0 ⎤ ⎡ x 1 (k + 1) ⎤ ⎡0 1⎤
⎢ x (k + 1)⎥ ⎢ 0 − 2 1 0 0 ⎥⎥ ⎢⎢ x 2 (k + 1)⎥⎥ ⎢⎢3 0⎥⎥
⎢ 2 ⎥ ⎢ ⎡ u 1 (k ) ⎤
⎢ x 3 (k + 1) ⎥ = ⎢ 0 0 −2 0 0 ⎥ ⎢ x 3 (k + 1) ⎥ + ⎢0 0⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎣u 2 (k )⎦
⎢ x 4 (k + 1)⎥ ⎢ 0 0 0 − 5 1 ⎥ ⎢ x 4 (k + 1)⎥ ⎢2 1⎥
⎢⎣ x 5 (k + 1) ⎥⎦ ⎢⎣ 0 0 0 0 − 5⎥⎦ ⎢⎣ x 5 (k + 1) ⎥⎦ ⎢⎣0 0⎥⎦
% definindo matriz G
G=[-2 1 0 0 0
0 -2 1 0 0
0 0 -2 0 0
0 0 0 -5 1
0 0 0 0 -5]
% definindo matriz H
H=[0 1;3 0;0 0;2 1;0 0]
Como o posto = 3 que é menor que a dimensão da matriz G, então o sistema não
é de estado completamente controlável.
75
Caso esteja presente a matriz D, a condição de controlabilidade completa de
saída é dada por,
[
posto D CH CGH L CG n −1 H = m ]
Dever ser notado que a controlabilidade de saída é dependente de todas as
matrizes que compõe o sistema, isto é, a controlabilidade de saída é dependente das
matrizes G, H, C e D.
6.4 Observabilidade
Um sistema é dito completamente observável se todo estado inicial x(0) pode ser
determinado a partir da observação de y(k) em um período finito de tempo. Utilizando
esta definição, então dado um sistema na forma,
x (k + 1) = Gx (k ) + Hu (k )
y(k ) = Cx (k )
Sua resposta é dada por,
⎛ k −1 ⎞
y(kT) = C⎜⎜ G k x (0) + ∑ G k − j−1 Hu ( j) ⎟⎟ k = 1, 2, 3 ...
⎝ j= 0 ⎠
Fazendo,
y(0) = Cx (0)
y(1) = CGx (0)
M
y(n − 1) = CG n −1 x (0)
Significando que isso ser possível, necessariamente,
⎡ C ⎤
⎢ CG ⎥
posto ⎢ ⎥=n
⎢ M ⎥
⎢ n −1 ⎥
⎣CG ⎦
Esta é conhecida como matriz de observabilidade. Normalmente, esta equação
não é usada, mas a equação transposta dela dada por,
[ (
posto C H (CG ) L CG n −1 = n
H
)H
]
onde H representa a hermitiana, que é o conjugado transposto. Observe que a
observabilidade é independente da matriz de entrada B.
⎧ x 1 (k + 1) ⎫ ⎡− 1 0 ⎤ ⎧ x 1 (k ) ⎫
⎨ ⎬=⎢ ⎥⎨ ⎬
⎩x 2 (k + 1)⎭ ⎣ 0 − 2⎦ ⎩x 2 (k )⎭
⎧ x (k ) ⎫
y(k ) = [1 5]⎨ 1 ⎬
⎩x 2 (k )⎭
Encontrando a matriz de observabilidade,
⎡1 ⎡− 1 0 ⎤ ⎧1⎫⎤ ⎡1 − 1 ⎤
[
CH G HCH = ⎢ ⎢ ] ⎥ ⎨ ⎬⎥ = ⎢ ⎥
⎣5 ⎣ 0 − 2⎦ ⎩5⎭⎦ ⎣5 − 10⎦
76
Como se observa, a matriz de observabilidade tem posto 2 que é a mesma ordem
da matriz G, então o sistema é completamente observável.
⎧ x 1 (k + 1) ⎫ ⎡− 1 0 ⎤ ⎧ x 1 (k ) ⎫
⎨ ⎬=⎢ ⎥⎨ ⎬
⎩x 2 (k + 1)⎭ ⎣ 0 − 2⎦ ⎩x 2 (k )⎭
⎧ x (k ) ⎫
y(k ) = [0 1]⎨ 1 ⎬
⎩x 2 (k )⎭
Encontrando a matriz de observabilidade,
⎡0 ⎡− 1 0 ⎤ ⎧0⎫⎤ ⎡0 0 ⎤
[
CH G HCH = ⎢ ⎢ ] ⎥ ⎨ ⎬⎥ = ⎢ ⎥
⎣1 ⎣ 0 − 2⎦ ⎩1⎭⎦ ⎣1 − 2⎦
Como se observa, a matriz de observabilidade tem posto 1 que é menor que
ordem da matriz G, então o sistema não é completamente observável.
⎧ x 1 (k + 1) ⎫ ⎡2 0 01 0 ⎤ ⎧ x 1 (k ) ⎫
⎪x (k + 1)⎪ ⎢0 1 02 0 ⎥⎥ ⎪⎪x 2 (k )⎪⎪
⎪⎪ 2 ⎪⎪ ⎢ ⎪ ⎪
⎨ 3x ( k + 1) ⎬ = ⎢02 00 0 ⎥ ⎨ x 3 (k ) ⎬
⎪x (k + 1)⎪ ⎢0 ⎥
0 − 3 1 ⎥ ⎪x 4 (k )⎪
0
⎪ 4 ⎪ ⎢ ⎪ ⎪
⎪⎩ x 5 (k + 1) ⎪⎭ ⎢⎣0 0 0 − 3⎥⎦ ⎪⎩ x 5 (k ) ⎪⎭
0
⎧ x 1 (k ) ⎫
⎪x (k )⎪
⎧ y1 (k ) ⎫ ⎡1 1 1 0 1⎤ ⎪⎪ ⎪⎪
2
⎨ =
⎬ ⎢ x
⎥⎨ 3 ⎬ ( k )
⎩ y 2 ( k ) ⎭ ⎣0 1 1 1 0 ⎦ ⎪ x ( k ) ⎪
⎪ 4 ⎪
⎪⎩ x 5 (k ) ⎪⎭
Como o sistema definido acima é um sistema de alta ordem, difícil de ser feito,
utiliza-se o Matlab,
% definindo matriz G
G=[-2 1 0 0 0
0 -2 1 0 0
0 0 -2 0 0
0 0 0 -3 1
0 0 0 0 -3]
% definindo matriz C
C=[1 1 1 0 1
0 1 1 1 0]
77
⎧ x 1 (k + 1) ⎫ ⎡2 1 0 0 ⎤ ⎧ x 1 (k ) ⎫
0
⎪x (k + 1)⎪ ⎢0 2 1 0 ⎥⎥ ⎪⎪x 2 (k )⎪⎪
0
⎪⎪ 2 ⎪⎪ ⎢ ⎪ ⎪
⎨ 3x ( k + 1) ⎬ = ⎢0
0 2 0 0 ⎥ ⎨ x 3 (k ) ⎬
⎪x (k + 1)⎪ ⎢0 ⎥
0 0 − 3 1 ⎥ ⎪x 4 (k )⎪
⎪ 4 ⎪ ⎢ ⎪ ⎪
⎪⎩ x 5 (k + 1) ⎪⎭ ⎢⎣0
0 0 0 − 3⎥⎦ ⎪⎩ x 5 (k ) ⎪⎭
⎧ x 1 (k ) ⎫
⎪x (k )⎪
⎤ ⎪⎪ ⎪⎪
2
⎧ 1 ⎫ ⎡
y ( k ) 1 1 1 0 1
⎨ ⎬=⎢ ⎥ ⎨ x 3 (k ) ⎬
⎩ y 2 ( k ) ⎭ ⎣0 1 1 0 0 ⎦ ⎪ x ( k ) ⎪
⎪ 4 ⎪
⎪⎩ x 5 (k ) ⎪⎭
Como o sistema definido acima é um sistema de alta ordem, difícil de ser feito,
utiliza-se o Matlab,
% definindo matriz G
G=[-2 1 0 0 0
0 -2 1 0 0
0 0 -2 0 0
0 0 0 -3 1
0 0 0 0 -3]
% definindo matriz C
C=[1 1 1 0 1
0 1 1 0 0]
78
Exemplo 6.3: Mostrar que o sistema abaixo não é completamente controlável,
Y(z) z + 0.2
= 2
U(z) z + z + 0.16
Escrevendo na forma canônica controlável,
⎧ x 1 (k + 1) ⎫ ⎡ 0 1⎤ ⎧ x 1 (k ) ⎫ ⎡0⎤
⎨ ⎬=⎢ ⎥⎨ ⎬ + ⎢ ⎥ u (k )
⎩x 2 (k + 1)⎭ ⎣− 0.16 1⎦ ⎩x 2 (k )⎭ ⎣1⎦
⎧ x (k ) ⎫
y(k ) = [0.2 1]⎨ 1 ⎬
⎩x 2 (k )⎭
Porém, a matriz G pode ser rearranjada e o sistema fica,
⎧ x 1 (k + 1) ⎫ ⎡ 0 1 ⎤ ⎧ x 1 ( k ) ⎫ ⎡0 ⎤
⎨ ⎬=⎢ ⎥⎨ ⎬ + ⎢ ⎥ u (k )
⎩x 2 (k + 1)⎭ ⎣− 0.16 0⎦ ⎩x 2 (k )⎭ ⎣1⎦
⎧ x (k ) ⎫
y(k ) = [0.2 1]⎨ 1 ⎬
⎩x 2 (k )⎭
Verificando a controlabilidade,
⎡ 0 1 ⎞⎛ 0 ⎞⎤ ⎡0 0⎤
[H GH] = ⎢⎛⎜⎜ ⎞⎟⎟ ⎛⎜⎜
0
⎟⎟⎜⎜ ⎟⎟⎥ = ⎢ ⎥
⎣⎝ 1 ⎠ ⎝ − 0.16 0 ⎠⎝ 1 ⎠⎦ ⎣1 1⎦
Verificando que o sistema não é completamente controlável. Pode-se verificar
isso diretamente pela matriz G, onde a diagonal principal é nula, outra forma é
fatorando o denominado da FT,
Y(z) z + 0.2 z + 0.2
= 2 =
U(z) z + z + 0.16 (z + 0.8)(z + 0.2)
Neste caso, verifica-se que há um zero cancelando um pólo.
79
Observando que um pólo é cancelado por um zero, significando que este
resultado não pode ser observado, pois sua influência é anulada.
80
Supondo um sistema na forma,
x (k + 1) = Gx (k ) + Hu (k )
y(k ) = Cx (k ) + Du (k )
Para transformá-lo na forma canônica controlável, aplica-se uma matriz de
transformação T na forma,
T = MW e x (k ) = Tx̂ (k )
onde M é a matriz de controlabilidade dada por,
[
M = H GH L G n −1 H ]
e a matriz W é dada por,
⎡ a n −1 a n − 2 L a 1 1⎤
⎢a ⎥
⎢ n − 2 a n −3 L 1 0⎥
W=⎢ M M O M M⎥
⎢ ⎥
⎢ a1 1 L 0 0⎥
⎢⎣ 1 0 L 0 0⎥⎦
Aplicando esta transformação no sistema, encontra-se,
x̂ (k + 1) = T −1GTx̂ (k ) + T −1 Hu (k )
ŷ(k ) = CTx̂ (k ) + Du (k )
onde o sistema definido acima está na forma canônica controlável.
81
⎧ x 1 (k + 1) ⎫ ⎡ 0 1 ⎤ ⎧ x 1 (k ) ⎫ ⎡a ⎤
⎨ ⎬=⎢ ⎥⎨ ⎬ + ⎢ ⎥ u (k )
⎩x 2 (k + 1)⎭ ⎣− 0.4 − 1.3⎦ ⎩x 2 (k )⎭ ⎣b ⎦
⎧ x (k ) ⎫
y(k ) = [c d ]⎨ 1 ⎬
⎩x 2 (k )⎭
Solução: a matriz de controlabilidade,
⎡ a 1 ⎤ ⎡a ⎤ ⎤ ⎡a
[H GH] = ⎢ ⎡⎢ ⎤⎥ ⎡⎢ ⎤
0 b
⎥ ⎢ ⎥ ⎥=⎢ ⎥
⎣ ⎣b ⎦ ⎣− 0.4 − 1.3⎦ ⎣b ⎦ ⎦ ⎣b − 0.4a − 1.3b ⎦
Calculando o determinante e, para que o sistema seje completamente
controlável, o determinante deve ser diferene de zero, então,
− 0.4a 2 − 1.3ab − b 2 ≠ 0
Para a matriz de observabilidade,
⎡ [c d] ⎤
⎡C ⎤ ⎢ ⎥=⎡ c d ⎤
⎢CG ⎥ = ⎢[c d ] ⎡ 0 1 ⎤ ⎢ ⎥
⎣ ⎦ ⎢ ⎢− 0.4 − 1.3⎥ ⎥ ⎣− 0.4d c − 1.3d ⎦
⎣ ⎣ ⎦⎦⎥
Portanto,
c 2 − 1.3cb + 0.4d 2 ≠ 0
Como os valores de a, b, c e d não podem ser valores complexos, tem-se a
resposta como,
82
z +1
a) G (z) =
z + az 2 + z − 1
3
az + 1
b) G (z) = 2
z + 3z − 1
az 2 − 2z + 1
c) G (z) = 2
z + 3z − 1
83
Capítulo 7
7.1 Introdução
A alocação de pólos é uma técnica parecida com a técnica do lugar das raízes, a
qual consiste em realizar uma realimentação de saída para realocar ou ajustar os pólos
de malha fechada. Porém a técnica do lugar das raízes é baseada na alocação apenas dos
pólos dominantes do sistema em malha fechada, que são os pólos com a menor parte
real possível. Já a técnica de alocação de pólos posiciona todos os pólos do sistema em
malha fechada através de uma realimentação de estado.
Como será feita uma realimentação de estado, considera-se que os estados estão
disponíveis, caso não estejam, eles necessitam se estimados através de um estimador de
estado que será visto mais adiante e o sistema é de estado completamente controlável.
Sendo assim, dado o sistema na forma,
x (k + 1) = Gx (k ) + Hu (k )
y(k ) = Cx (k ) + Du (k )
A realimentação de estado será dada por4,
u (k ) = −Kx (k )
onde K representa um vetor de ganhos de realimentação se u(k) for uma única lei de
controle, caso haja várias leis de controle, K será uma matriz.
Assim, o sistema em malha fechada é dado por,
x (k + 1) = Gx (k ) + Hu (k ) = Gx (k ) − HKx (k ) = (G − HK )x (k )
y(k ) = Cx (k ) + Du (k )
Portando a conduta do sistema realimentado será dada por,
~
G = G − HK
Portanto, deve-se especificar os pólos do sistema de malha fechada através dos
pólos de G-HK da seguinte forma,
~
det zI − G = (z − p1 )(z − p 2 )L (z − p n )
Para encontrar os valores do vetor ou matriz de ganho K basta resolver esta
equação. Porém, ela pode ser complicada, para isso criou-se a fórmula abaixo.
4
Se a referência a ser seguida é zero, o sistema de controle é denominado de regulador, caso contrário, o
sistema de controle é denominado controlador.
84
x(k+1) x(k)
1
H
z
G* u
u(k)
-Kc* u
~
= G 2 − GHK − HK (G − HK ) = G 2 − GHK − HKG
~
(
G 3 = (G − HK ) = (G − HK ) (G − HK ) = G 2 − GHK − HKG (G − HK ) =
3 2
) ~
~ ~
= G 3 − G 2 HK − GHKG + G (HK ) − HKGG + HKGHK =
2
~
= G 3 − G 2 HK − GHK (G − HK ) − HKG (G − HK ) =
~ ~
= G 3 − G 2 HK − GHKG − HKG 2
M
~n ~
G = (G − HK ) = G n − G n −1 HK − L − HKG n −1
n
85
~ ~ ~
α n I + α n −1G + α n − 2 G 2 + L + G n = α n I + α n −1G + α n − 2 G 2 + L + G n +
( ~
) ~
− α n −1 HK − α n − 2 GHK + HKG − L − G n −1 HK − L − HKG n −1
86
K = [α n − a n α n −1 − a n −1 L α1 − a 1 ]T −1
= [α n − a n α n −1 − a n −1 L α1 − a 1 ](MW )
−1
onde,
⎡ a n −1 a n − 2 L a 1 1⎤
⎢a ⎥
⎢ n − 2 a n −3 L 1 0⎥
[
M = H GH L G n −1 H ]
e W=⎢ M M O M M⎥
⎢ ⎥
⎢ a1 1 L 0 0⎥
⎢⎣ 1 0 L 0 0⎥⎦
Quando este modo for aplicado, se o sistema estiver na forma canônica
controlável, a matriz transformação T torna-se a identidade, facilitando a aplicação do
método.
onde,
ξ i = (G − p i ) H com i = 1 ... n
−i
87
clear all;close all;clc
% Matrizes do sistema
G=[0 1;-0.16 -1]
H=[0;1]
% Forma alternativa
K=place(G,H,P)
Imaginary Axis
88
r(k) x(k+1) x(k) y(k)
k0 H 1/z C C
G* u
Kc* u
⎧ x 1 (k + 1) ⎫ ⎡ 0 1 ⎤ ⎧ x 1 ( k ) ⎫ ⎡0 ⎤
⎨ ⎬=⎢ ⎥ ⎨x (k )⎬ + ⎢1⎥ u (k )
⎩ x 2 ( k + 1) ⎭ ⎣ − 0 .16 − 1 ⎦⎩ 2 ⎭ ⎣ ⎦
⎧ x (k ) ⎫
y(k ) = [1 0]⎨ 1 ⎬
⎩x 2 (k )⎭
E os pólos de malha fechada sejam,
z 1, 2 = 0.5 ± j0.5
Solução: Para o ganho K,
⎡0 1 ⎤ ⎛⎜ ⎡ 0 ⎡1 0⎤ ⎞⎟
−1 2
1⎤ ⎡ 0 1⎤
K = [0 1]⎢ ⎥ ⎢ ⎥ ⎢ − ⎥ + 0 . 5 ⎢0 1⎥ ⎟ = [0.34 − 2]
⎣1 − 1⎦ ⎜⎝ ⎣− 0.16 − 1⎦ ⎣− 0.16 − 1⎦ ⎣ ⎦⎠
Agora basta encontrar o ganho k0 para que o sistema em malha fechada não
tenha erro estacionário. Para isso, encontra-se a FT do sistema,
Y(z)
U(z)
(~ −1 ~
= G (z) = C zI − G H )
onde neste caso,
~ ⎡ 0 1 ⎤ ⎡0 ⎤ ⎡ 0 1⎤
G = G − HK = ⎢ ⎥ − ⎢ ⎥[0.32 − 2] = ⎢ ⎥
⎣− 0.16 − 1⎦ ⎣1⎦ ⎣− 0.5 1⎦
~
H = k0H
Portanto,
−1
Y(z)
(~ −1 ~
= G (z) = C zI − G H = [1 0]⎢) ⎡z −1 ⎤
⎥ k 0
⎡0 ⎤
⎢ ⎥ = 2
k0
U(z) ⎣0.5 z − 1⎦ ⎣1⎦ z − z + 0.5
5
Para o erro estacionário ,
⎛ 1 ⎞
lim y(k ) = lim(1 − z −1 )Y(z) = lim⎜⎜ (1 − z −1 ) 2
k0 k0
⎟⎟ = =1
k →∞ z →1 z →1
⎝ z − z + 0.5 (1 − z ) ⎠ 1 − 1 + 0.5
−1
Portanto,
k 0 = 0.5
5
Deve ser lembrado que Y(z)=G(z)U(z), com R(z) sendo a entrada degrau unitário.
89
% Matrizes do sistema
G=[0 1;-0.16 -1];
H=[0;1];
C=[1 0];D=0;
T=1;
% Calculando ganho K
K=acker(G,H,P)
K=place(G,H,P)
Step Response
1.4
Gma
Gmf
1.2
0.8
Amplitude
0.6
0.4
0.2
0
0 5 10 15 20 25 30
Time (sec)
Figura 7.4:Resposta ao degrau unitário do sistema sem controle e malha fechada com o
controlador
90
variáveis de saída, sendo assim, nem todos os estados estão disponíveis para serem
utilizados na realimentação de estados.
Neste caso, deve-se criar um estimador de estados que pode ser de ordem
completa, em que todos os estados são estimados, de ordem mínima, em que apenas os
estados não medidos são estimados, ou de ordem reduzida, em que os estados não
medidos e alguns dos estados medidos são estimados.
Os estados do sistema serão estimados com base nas entradas e nas saídas
disponíveis do sistema, isto é, através da entrada u(k) e da saída y(k), será “projetado”
um novo sistema tal que os estados deste novo sistema sejam os estados reais do sistema
a ser controlado, ver Figura 7.5, onde ~ x (k ) representa a estimativa dos estados da
planta original. Como é previsto que será utilizada a saída do sistema, dever ser notado
que a condição de observabilidade deve ser obedecida.
Figura 7.5: Sistema de controle por realimentação de estados junto com observador de
estado.
Então, considerando um sistema, cujos estados x(k) não podem ser medidos,
dado por,
x (k + 1) = Gx (k ) + Hu (k )
y(k ) = Cx (k )
Supondo que os estados do sistema acima podem ser aproximados pelos estados
do seguinte sistema,
~
x (k + 1) = G~x (k ) + Hu (k )
~y(k ) = C~
x (k )
onde as matrizes G, H, C e D são as mesmas matrizes de estado do sistema cujos
estados não podem ser medidos. Na prática, estas matrizes precisam ser estimadas,
assunto que não será abordado aqui. Além disso, tem-se que a resposta dos dois
sistemas deve ser a mesma, isto significa que a diferença das respostas deve tender a
zero com o passar das iterações, isto é,
lim (y(k ) − ~y(k ) ) = 0
k →∞
Uma forma de fazer com que isso ocorra é pela introdução de um sistema de
controle, pois se as entradas e as saídas forem as mesmas, as matrizes são as mesmas,
isso significa que os estados são os mesmos, então o sistema utilizado para a estimação
de estados deve ser dado por,
91
~
x (k + 1) = G~x (k ) + Hu (k ) + K e (y(k ) − ~y(k ) )
~y(k ) = C~
x (k )
onde Ke é um controlador introduzido para garantir que os dois sistemas se comportem
da mesma forma.
G* u
u(k)
Kc* u
xt(k+1)
1 xt(k)
H C
z yt(k)
G* u
Ke.'* u
Figura 7.6: Sistema de controle por realimentação de estados junto com observadores de
estado completo.
92
−1
⎡ C ⎤ ⎡0 ⎤
⎢ CG ⎥ ⎢0⎥
K e = φ(G )⎢ ⎥ ⎢ ⎥
⎢ M ⎥ ⎢M ⎥
⎢ n −1 ⎥ ⎢ ⎥
⎣CG ⎦ ⎣1⎦
Deve-se notar que a fórmula para o cálculo do vetor de ganho do observador de
estado depende da inversa da matriz de observabilidade.
⎛ ⎡0 − 0.16⎤ 2 ⎡0 − 0.16⎤ ⎡ [0 1] ⎤
−1
⎡1 0⎤ ⎞⎟ ⎢ ⎡0⎤
⎜
= ⎢ −⎢ + 0.5⎢ ⎡ 0 − 0.16 ⎤⎥ ⎢ ⎥
⎣0 1⎦ ⎟⎠ ⎢⎢[0 1]⎢1
⎜ ⎣1 ⎥
− 1 ⎦ ⎣1 −1 ⎦⎥ ⎥ ⎥ 1
⎝ ⎣ ⎣ − 1 ⎥⎦ ⎥⎦ ⎣ ⎦
−1
⎡0.34 0.32⎤ ⎡0 1 ⎤ ⎡0⎤ ⎡0.34⎤
=⎢ ⎥⎢ ⎥ ⎢ ⎥=⎢ ⎥
⎣ − 2 2.34⎦ ⎣1 − 1⎦ ⎣1⎦ ⎣ − 2 ⎦
Para se utilizar o comando “acker” ou “place” do matlab, deve ser lembrado que
o que está sendo calculado está conjugado transposto, então,
% Matrizes do sistema
G=[0 -0.16;1 -1]
C=[0 1]
% utilizando acker
Gt=G';
Ct=C';
K=acker(Gt,Ct,P);
Ke=K'
93
7.5.2 Comentários sobre estimador de estado
= (G − K e C )(x (k ) − ~
x (k ) )
Portanto,
e(k + 1) = (G − K e C )e(k )
Significando que o comportamento do erro do estimador vai depender da
posição dos pólos da equação característica G-KeC. Normalmente, deve-se escolher os
pólos do observador de 2 a 5 vezes mais rápido que a da planta a ser estimada, isto é,
com uma freqüência de 2 a 5 vezes maior. Porém, em aplicações práticas, se a resposta
da planta for contaminada com ruído, deve utilizar uma estimativa mais lenta.
94
z 1 = 0.5 ⇒ s1 = −0.6931
z 2,3 = 0.5 ± j0.5 ⇒ s 2,3 = −0.3466 ± j0.7854
Iniciando pela verificação da controlabilidade e observabilidade do sistema,
Controlabilidade:
⎡0 0 1 ⎤
H GH G 2 H = ⎢0 1 1.1 ⎥⎥
⎢ [ ]
⎢⎣1 1.1 1.01⎥⎦
Observabilidade:
⎡ 0 0 − 0 .5 ⎤
C G C [
G C = ⎢⎢1 0 − 0.2⎥⎥
H H H 2H H
]
⎢⎣0 1 1.1 ⎥⎦
Portanto, o sistema é de estado completamente controlável e observável.
Imaginary Axis
(%): 0 0.9π/T
0.9 0.9Frequency (rad/sec): 1.2
Frequency (rad/sec): 0.693 π/T
π/T 0
0 π/T
π/T
0.9π/T 0.1π/T
0.9π/T 0.1π/T
-0.5 0.8π/T 0.2π/T
-0.5 System: Gpp
0.8π/T 0.2π/T 0.7π/T 0.3π/T
System: Gpp Gain: 0
0.6π/T 0.5π/T0.3 - 0.4π/T
Pole: 0.5i
0.7π/T Gain: 00.3π/T -1
Pole: 0.5 - 0.5i Damping: 0.464
0.6π/T 0.4π/T Overshoot (%): 19.3
0.5π/TDamping: 0.404
-1 Overshoot (%): 25 Frequency (rad/sec): 1.16
Frequency (rad/sec): 0.858 -1.5
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Real Axis Real Axis
Projeto do Controlador,
K = [0 0 1] H GH G 2 H [ ] −1
= [− 0.75 0.8 − 0.4]
Projeto do Observador,
−1
⎡ C ⎤ ⎡0⎤ ⎡1.204⎤
K e = φ(G )⎢⎢ CG ⎥⎥ ⎢0⎥ = ⎢ 0.2 ⎥
⎢ ⎥ ⎢ ⎥
⎢⎣CG 2 ⎥⎦ ⎢⎣1⎥⎦ ⎢⎣ 0.54 ⎥⎦
95
3 3 x(k+1) 1 3 x(k)
0.25 H* u 3 C* u
z
3 Resposta
3 Controlada
3 G* u
3
Kc* u
3 3 3
x(k+1) 1 3 x(k)
H* u 3 C* u
z
3 3
3
3 G* u
3 Ke* u
1.4 3
1.2 2.5
2
1
1.5
Amplitude
Am plitude
0.8
1
0.6
0.5
0.4
0
0.2 -0.5
0 -1
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
Tempo Tem po
Figura 7.9: Resposta do sistema nominal e ao sistema com x(0)= [-2 3 1]T
96
~
U(z) = R (z) − K C X(z) =
[
= R (z) − Kc (zI − G + K E C ) HU(z) + (zI − G + K E C ) K E Y(z)
−1 −1
]
Definindo,
0.4z 2 − 0.72z − 0.153
G 2 = − Kc(zI − G + K E C ) H = 3
−1
z3-0.9z2+0.52z-0.102 z
0.25
z3-1.3z2+1.24z+0.051 z3-1.1z2+0.2z+0.5
Controlador Planta Resposta
Avanço Controlada
0.959z2-1.356z+0.8622
z3-1.3z2+1.24z+0.051
Controlador
Figura 7.10: Sistema em malha fechada
Substituindo em Y(z)=G1(z)U(z),
G1 GG Y(z) G1
Y(z) = R (z) + 1 3 Y (z) ⇒ =
(1 − G 2 ) (1 − G 2 ) R (z) 1 − G 2 − G 1G 3
Que substituindo os valores chega-se a,
Y (z) z
= 3
R (z) z − 1.5z + z − 0.25
2
Na prática, alguns estados do sistema são medidos, significando que nem todos
os estados devem ser estimados. Além disso, a medida do estado pode não ser precisa,
nestes casos, utiliza-se observadores de ordem reduzida ou de ordem mínima.
Supondo n estados x(k) do sistema e a saída y(k) do sistema seja de ordem m.
Como a saída é uma combinação linear dos estados, correlacionado pela matriz C, então
o observador de ordem reduzida será de ordem n-m.
Escrevendo o vetor de estado em duas partes,
97
⎧x (k ) ⎫
x (k ) = ⎨ a ⎬
⎩x b (k )⎭
onde xa(k) é a parte do vetor de estado que pode ser diretamente medido e de ordem m,
xb(k) a parte que precisa ser estimada e de ordem n-m. Então o sistema pode ser
reescrito como,
⎧ x a (k + 1) ⎫ ⎡ G aa G ab ⎤ ⎧x a (k ) ⎫ ⎡ H a ⎤
⎨ ⎬=⎢ ⎥⎨ ⎬ + ⎢ ⎥ u (k )
⎩x b (k + 1)⎭ ⎣G ba G bb ⎦ ⎩x b (k )⎭ ⎣H b ⎦
⎧x (k ) ⎫
y(k ) = [I 0]⎨ a ⎬ ⇒ y(k ) = x a (k )
⎩x b ( k ) ⎭
Desta forma, a equação de estado contendo a dinâmica dos estados que são
conhecidos é dada por,
x a (k + 1) = G aa x a (k ) + G ab x b (k ) + H a u (k )
Que pode ser rearranjada como,
x a (k + 1) − G aa x a (k ) − H a u (k ) = G ab x b (k )
A parte restante, que representa a dinâmica dos estados não medidos, é dada por,
x b (k + 1) = G ba x a (k ) + G bb x b (k ) + H b u (k )
Como a equação de estado para o observador de estado de ordem completa é
dada por,
~
x (k + 1) = G~ x (k ) + Hu (k )
~y(k ) = C~ x (k )
Comparando com a equação de estado dos estados não medidos na seguinte
forma,
x b (k + 1) = G bb x b (k ) + (G ba x a (k ) + H b u (k ) )
E a saída do observador de estado completo,
~y(k ) = C~ x (k )
Comparando com,
x a (k + 1) − G aa x a (k ) − H a u (k ) = G ab x b (k )
O projeto do observador de ordem mínima ou de ordem reduzida pode ser
encontrado comparando a equação de estado do observador de ordem completada dada
por,
~
x (k + 1) = G~ x (k ) + Hu (k )
~y(k ) = C~ x (k )
Comparada com,
x b (k + 1) = G bb x b (k ) + (G ba x a (k ) + H b u (k ) )
x a (k + 1) − G aa x a (k ) − H a u (k ) = G ab x b (k )
Onde observa-se que,
G Gbb
98
y(k) Xa(k+1) – Gaaxa(k)-Hau(k)
C Gab
+ (G ba − K e G aa )y(k ) + (H b − K e H a )u (k )
= (G − K G )(~
bb e x ( k ) − K y( k ) ) +
ab b e
+ [(G bb − K e G ab )K e + G ba − K e G aa ]y(k ) + (H b − K e H a )u (k )
Definindo,
~
x b ( k ) − K e y( k ) = ~ ~(k )
x b (k ) − K e x a (k ) = η
Pode-se escrever o sistema como,
~ (k + 1) = (G − K G )η(k ) + (H − K H )u (k )
η bb e ab b e a
+ [(G bb − K e G ab )K e + G ba − K e G aa ]y(k )
A equação acima descreve a dinâmica do observador de estado de ordem
mínima ou ordem reduzida. O erro do observador pode ser definido como
e(k ) = η(k ) − η ~ (k ) = x (k ) − ~ x b (k )
b
Que se torna,
x b (k + 1) = [G bb x b (k ) + (G ba x a (k ) + H b u (k ) )] +
x b (k + 1) − ~
− [(G − K G )~bb x (k ) + (G x (k ) + H u (k ) ) +
e ab b ba a b
+ K e (x a (k + 1) − G aa x a (k ) − H a u (k ) )]
Rearranjando,
x b (k + 1) = G bb [x b (k ) − ~
x b (k + 1) − ~ x b (k )] + K e G ab ~
x b (k )
− K e (x a (k + 1) − G aa x a (k ) − H a u (k ) )
Substituindo a equação de xa(k+1),
99
x b (k + 1) = G bb [x b (k ) − ~
x b (k + 1) − ~ x b (k )] + K e G ab ~
x b (k )
− K e (G aa x a (k ) + G ab x b (k ) + H a u (k ) − G aa x a (k ) − H a u (k ) )
Que simplificando encontra-se,
x b (k + 1) = G bb [x b (k ) − ~
x b (k + 1) − ~ x b (k )] + K e G ab [~x b (k ) − x b (k )]
Que se reduz a,
e(k + 1) = G bb e(k ) − K e G ab e(k ) = (G bb − K e G ab )e(k )
Portanto, a equação característica do erro do observador de ordem mínima ou de
ordem reduzida é dada por,
zI − G bb + K e G ab = 0
Assim, o projeto do observador de ordem reduzida é feito escolhendo os pólos
desejados para a equação acima.
100
Solução: Iniciando pela verificação da observabilidade e controlabilidade do
sistema,
⎡ 0.02 1 0.2⎤⎛ 0.02 ⎞⎤ ⎡0.02 0.6⎤
[H GH] = ⎢⎛⎜⎜ ⎞⎟⎟ ⎡⎢ ⎥⎜⎜ ⎟⎟⎥ = ⎢ ⎥
⎣⎝ 0.2 ⎠ ⎣0 1 ⎦⎝ 0.2 ⎠⎦ ⎣ 0.2 0.2⎦
⎡⎛ 1 ⎞ ⎡ 1 0⎤⎛ 1 ⎞⎤ ⎡1 1 ⎤
[ ]
C* G *C* = ⎢⎜⎜ ⎟⎟ ⎢ ⎥⎜⎜ ⎟⎟⎥ = ⎢ ⎥
⎣⎝ 0 ⎠ ⎣0.2 1⎦⎝ 0 ⎠⎦ ⎣0 0.2⎦
Novo polinômio característico,
φ(z ) = (z − 0.6 − j0.4)(z − 0.6 + j0.4) = z 2 − 1.2z + 0.52
Fórmula de Ackermann para a realimentação de estado,
K = [0 1][H GH ] φ(G ) =
−1
+ [(G bb − K e G ab )K e + G ba − K e G aa ]y(k )
Substituindo os valores,
~ (k + 1) = (1 − (5)(0.2) )η(k ) + (0.2 − (5)(0.02) )u (k )
η
+ [(1 − (5)(0.2) )5 + 0 − (5)(1)]y(k )
= 0.1u (k ) − 5 y(k )
Só está faltando os estados não estimados dado por,
~ ~ ( k ) = 5 y( k ) + η
x 2 ( k ) = K e y( k ) + η ~ (k )
E a equação da lei de controle,
u (k ) = −8 y(k ) − 3.2~ x 2 (k )
Estas últimas três equações definem o sistema de controle. Combinando as duas
últimas,
6
O polinômio característico para dead beat deve ser da ordem a ser utilizada, como neste caso precisa-se
estimar apenas um estado, o polinômio característico é apenas z.
101
u (k ) = −8y(k ) − 3.2(5y(k ) + η
~ (k ) )
~(k )
= −24 y(k ) − 3.2η
Se esta equação é verdade,
u (k + 1) = −24 y(k + 1) − 3.2η~ (k + 1)
Substituindo a equação do observador,
u (k + 1) = −24 y(k + 1) − 3.2(0.1u (k ) − 5y(k ) )
u (k + 1) + 0.32u (k ) = −24 y(k + 1) + 16 y(k )
Para a função de transferência do controlador, aplica-se a transformada Z na
equação anterior,
zU(z) + 0.32U(z) = −24zY(z) + 16Y(z)
Chegando a,
U (z) 24z − 16
G D (z) = =−
Y(z) z + 0.32
A função de transferência da planta,
Y (z)
= C(zI − G ) H + D =
−1
G P (z) =
U(z)
−1
⎛ ⎡ z 0⎤ ⎡1 0.2⎤ ⎞ ⎡0.02⎤
= [1 0]⎜⎜ ⎢ ⎥−⎢ ⎥ ⎟⎟ ⎢ ⎥
⎝ ⎣0 z ⎦ ⎣0 1 ⎦ ⎠ ⎣ 0.2 ⎦
0.02z + 0.02
= 2
z − 2z + 1
0.02z+0.02
Ko
z2-2z+1
Step Gain Scope
Planta
24z-16
z+0.32
Controlador
( ) ⎛
( ) (
lim y(k ) = lim 1 − z −1 Y(z) = lim⎜⎜ 1 − z −1 o
K 0.02z 2 + 0.0264z + 0.0064 1 ⎞ ) ⎟=
( )
k →∞ z →1 z →1
⎝ z − 1.2z + 0.52z
3 2
1 − z −1 ⎟⎠
K o 0.0528
= = 1 ⇒ K o = 6.0606
0.32
Notar que a equação característica do sistema em malha fechada é dada por,
(
z 2 − 1.2z + 0.25 z = 0 )
Representando os mesmos pólos escolhidos para o fechamento da malha.
102
Justificativa para a escolha dos pólos do controlador em z1,2 = 0.6 ± j0.4. Os
pólos originais são z1,2 = 1, que são pólos marginalmente estáveis, porém, passando os
os escolhidos para tempo contínuo encontra-se s1,2 = - 0.327 ± j0.588, representando ωN
= 0.6728 rad/s e fator de amortecimento ζ = 0.486.
Exemplo 7.6: Para o sistema abaixo, projetar um controle por realimentação de estado
em tempo discreto para o sistema abaixo,
50
G (s) = 2
s + 2s + 100
Sabendo-se que o desejado para o sistema acima seria que o seu fator de
amortecimento fosse 2 / 2 e sua freqüência natural fosse 20 rad/s.
Solução: Passando o sistema para tempo discreto, precisa-se saber qual a freqüência
natural do sistema, por análise simples, verifica-se que ela é de 10 rad/s, portanto a
maior freqüência será de 20 rad/s. Sendo assim, escolhe-se T = 0.05 s. Agora,
discretizando o sistema, atravéz de tabelas é fácil verificar que,
⎡ 1 ⎤
⎢ s +1 ⎥
⎛1− e − Ts
⎞
G (s) ⎟⎟ = (1 − z −1 )Z ⎢ − 2 2
1
G (z) = Z⎜⎜ ⎥
⎝ s ⎠ ⎢ 2s s + 2s + 100 ⎥
⎢⎣ ⎥⎦
1 − z −1 ⎡1 s +1 1 99 ⎤
= − Z ⎢ + ⎥=
2(1 − z −1 ) ⎣ 2 s + 2s + 100 2 99 s + 2s + 100 ⎦
2 2
⎧ x 1 (k + 1) ⎫ ⎡0 − 0.9048⎤ ⎧ x 1 (k ) ⎫ ⎡0.05727⎤
⎨ ⎬=⎢ ⎥⎨ ⎬+⎢ ⎥ u (k )
⎩x 2 (k + 1)⎭ ⎣1 1.672 ⎦ ⎩x 2 (k )⎭ ⎣0.05923⎦
⎧ x (k ) ⎫
y(k ) = [0 1]⎨ 1 ⎬
⎩x 2 ( k ) ⎭
Para os novos pólos do sistema,
2
2 ⎛ 2⎞
s1, 2 = −ζω n ± jωd = − 20 ± 20 1 − ⎜⎜ ⎟ = −14.1421 ± j14.1421
⎟
2 ⎝ 2 ⎠
Passando para tempo discreto,
z 1, 2 = e sT = e ( −14.1421± j14.1421) 0.05) = 0.3749 ± j0.3203
Projetando o controle via realimentação de estado, matriz de controlabilidade,
103
⎡ ⎡0.05727 ⎤ ⎡0 − 0.9048⎤ ⎡0.05727 ⎤ ⎤ ⎡0.5727 − 0.0536⎤
[H GH ] = ⎢ ⎢ ⎥ ⎢ ⎥⎢ ⎥⎥ = ⎢ ⎥
⎣ ⎣ 0.05923⎦ ⎣1 1.672 ⎦ ⎣0.05923⎦ ⎦ ⎣ 0.5923 0.1563 ⎦
Novo polinômio característico,
φ(z) = (z − 0.3749 + j0.3203)(z − 0.3749 − j0.3203) = z 2 + 1.672z − 0.9048
Aplicando Ackerman,
K = [0 1][H GH ] φ(G ) =
−1
⎡0.5727 − 0.0536⎤
−1
⎛ ⎡0 − 0.9048⎤ 2 ⎡0 − 0.9048⎤ ⎡1 0⎤ ⎞⎟
= [0 1]⎢ ⎥
⎜ − 0 . 7498 + 0 . 2431
⎣0.5923 0.1563 ⎦ ⎜ ⎢⎣1 1.672 ⎥⎦ ⎢1
⎣ 1.672 ⎥⎦ ⎢0 1 ⎥ ⎟
⎣ ⎦⎠
⎝
= [7.5878 8.2331]
Desta forma, a lei de controle é dada por,
⎧ x (k ) ⎫
u (k ) = − Kx (k ) = −[7.5878 8.2331]⎨ 1 ⎬
⎩x 2 (k )⎭
Significando que o observador de ordem reduzida não pode ser aplicado. Porém,
a transformação para matrizes de estado não é única, aplicando a seguinte
transformação,
⎡1 1⎤ ⎧ xn (k ) ⎫ ⎡1 1⎤ ⎧ x 1 (k ) ⎫
T=⎢ ⎥ ⇒⎨ 1 ⎬=⎢ ⎥⎨ ⎬
⎣0 1⎦ ⎩xn 2 (k )⎭ ⎣0 1⎦ ⎩x 2 (k )⎭
O sistema fica,
−1
⎧ xn 1 (k + 1) ⎫ ⎡1 1⎤ ⎡0 − 0.9048⎤ ⎡1 1⎤ ⎧ xn 1 (k ) ⎫ ⎡1 1⎤ ⎡0.05727 ⎤
⎨ ⎬=⎢ ⎥⎢ ⎨ ⎬+ u (k )
⎩xn 2 (k + 1)⎭ ⎣0 1⎦ ⎣1 1.672 ⎥⎦ ⎢⎣0 1⎥⎦ ⎩xn 2 (k )⎭ ⎢⎣0 1⎥⎦ ⎢⎣ 0.05923⎥⎦
−1
⎡1 1⎤ ⎧ xn 1 (k ) ⎫
y(k ) = [0 1]⎢ ⎥ ⎨ ⎬
⎣0 1⎦ ⎩xn 2 (k )⎭
Chegando a,
⎧ xn 1 (k + 1) ⎫ ⎡1 − 0.2328⎤ ⎧ xn 1 (k ) ⎫ ⎡ 0.1165 ⎤
⎨ ⎬=⎢ ⎥⎨ ⎬+ ⎢ ⎥ u (k )
⎩xn 2 (k + 1)⎭ ⎣1 0.672 ⎦ ⎩xn 2 (k )⎭ ⎣0.05923⎦
⎧ xn (k ) ⎫
y(k ) = [0 1]⎨ 1 ⎬
⎩xn 2 (k )⎭
104
A resposta do novo sistema e do sistema antigo é exatamente a mesma,
significando que os dois sistemas são os mesmos. Agora, aplicando o método,
K e = φ(G bb )[G ab ] [1] = (1)(1) −1 (1) = 1
−1
+ [(G bb − K e G ab )K e + G ba − K e G aa ]y(k )
Substituindo os valores,
~ (k + 1) = (1 − (1)(1) )η(k ) + (0.1165 − (1)(0.05923) )u (k )
η
+ [(1 − (1)(1) )1 − 0.2328 − (1)(0.672)]y(k )
= 0.0573u (k ) − 0.9048 y(k )
Só está faltando os estados não estimados dado por,
~ ~ ( k ) = y( k ) + η
xn 1 ( k ) = K e y ( k ) + η ~ (k )
Neste ponto deve ser lembrado que o que está sendo estimado é xn1(k) não
x1(k) como necessário para o controlador, porém da relação de transformação utilizada,
−1
⎡1 1⎤ ⎧ x 1 (k ) ⎫ ⎡1 1⎤ ⎧ xn 1 (k ) ⎫ ⎡1 − 1⎤ ⎧ xn 1 (k ) ⎫
T=⎢ ⎥ ⇒= ⎨x (k )⎬ = ⎢0 1⎥ ⎨xn (k )⎬ = ⎢0 1 ⎥ ⎨xn (k )⎬
⎣0 1⎦ ⎩ 2 ⎭ ⎣ ⎦ ⎩ 2 ⎭ ⎣ ⎦⎩ 2 ⎭
Significando que x2(k) = xn2(k), mas x1(k) = xn1(k)+xn2(k) = xn1(k)+x2(k),
assim, a lei de controle fica,
⎧~xn (k ) − xn 2 (k )⎫
u (k ) = − Kx (k ) = −[7.5878 8.2331]⎨ 1 ⎬
⎩ xn 2 (k ) ⎭
~
⎧ xn ( k ) ⎫
= −[7.5878 0.6453]⎨ 1 ⎬
⎩xn 2 (k )⎭
Estas últimas três equações definem o sistema de controle. Combinando as duas
últimas,
u (k ) = −7.5878~ xn 1 (k ) − 0.6453xn 2 (k )
= −7.5878(y(k ) + η ~ (k ) ) − 0.6453x (k )
2
105
A equação característica do sistema em malha fechada pode ser encontrada
através de,
C( z ) K o G P (z) K (0.05923z 2 + 0.08302z + 0.0249)
= = 3o
R (z) 1 + G P (z)G D (z) z − 0.7494z 2 + 0.2428z + 0.0002473
Para que o sistema não tenha erro estacionário,
lim y(k ) = lim(1 − z −1 )Y(z) =
k →∞ z →1
⎛
( )
= lim⎜⎜ 1 − z −1 3 o
(
K 0.05923z 2 + 0.08302z + 0.0249 1 ) ⎞
⎟=
z →1
⎝ z − 0.7494z + 0.2428z + 0.0002473 1 − z −1
2
( ) ⎟
⎠
K 0.1671
= o = 1 ⇒ K o = 2.9533
0.4936
Solução: O primeiro passo é verificar qual a saída que é medida, no caso a saída
x2(k). Então é necessário reescreve o sistema na seguinte forma,
⎧x 2 (k + 1)⎫ ⎡ 0 0 1 ⎤ ⎧ x 2 ( k ) ⎫ ⎡0 ⎤
⎪ ⎪ ⎢ ⎪ ⎪
⎨ x 1 (k + 1) ⎬ = ⎢ 1 0 0 ⎥⎥ ⎨ x 1 (k ) ⎬ + ⎢⎢0⎥⎥ u (k )
⎪ x (k + 1) ⎪ ⎢− 0.2 − 0.5 1.1⎥ ⎪ x (k ) ⎪ ⎢1⎥
⎩ 3 ⎭ ⎣ ⎦⎩ 3 ⎭ ⎣ ⎦
Nesta nova configuração,
⎧ x (k ) ⎫
x a (k ) = x 2 (k ) ; x b (k ) = ⎨ 1 ⎬
⎩x 3 (k )⎭
⎡ 1 ⎤ ⎡ 0 0⎤
G aa = 0 ; G ab = [0 1] ; G ba = ⎢ ⎥ ; G bb = ⎢− 0.5 1.1⎥
⎣− 0.2⎦ ⎣ ⎦
⎡ ⎤
0
Ha = 0 ; Hb = ⎢ ⎥
⎣1⎦
Ainda do Exemplo 7.4, o ganho do controlador,
K c = [− 0.75 0.8 − 0.4]
O ganho do observador de estado mínimo pode ser encontrado através da
equação do erro dada por,
e(k + 1) = (G bb − K e G ab )e(k )
Como foi especificado resposta tipo deadbeat, então,
φ(z ) = z 2 = 0
Aplicando a fórmula de ackerman,
−1
⎡ G ab ⎤ ⎡0⎤ ⎡ 0 ⎤
K e = φ(G bb )⎢ ⎥ ⎢ ⎥=⎢ ⎥
⎣G ab G bb ⎦ ⎣1⎦ ⎣1.1⎦
A construção do diagrama de blocos segue através das seguintes equações,
~ (k + 1) = (G − K G )η
η ~ (k ) + (H − K H )u (k )
bb e ab b e a
+ [(G bb − K e G ab )K e + G ba − K e G aa ]y(k )
~ (k ) + P 2 y(k ) + P3u (k )
= P1η
Substituindo os valores,
106
~ (k + 1) = P1η
η ~ (k ) + P 2 y(k ) + P3u (k )
⎧η~ (k + 1) ⎫ ⎡ 0 ~ (k ) ⎫ ⎡ 1 ⎤
0⎤ ⎧ η ⎡0 ⎤
1 1
⎨~ ⎬=⎢ ⎥ ⎨~ ⎬+ ⎢ ⎥ y( k ) + ⎢ ⎥ u ( k )
⎩η 2 (k + 1)⎭ ⎣− 0.5 0⎦ ⎩η 2 (k )⎭ ⎣− 0.2⎦ ⎣1 ⎦
A segunda equação a ser utilizada,
~
x b (k ) = η~ (k ) + K x (k ) = η ~ ( k ) + K y( k )
e a e
Substituindo os valores,
⎧~x 1 (k ) ⎫ ⎧ η ~ (k ) ⎫ ⎡ 0 ⎤
1
⎨~ ⎬ = ⎨~ ⎬ + ⎢ ⎥ y( k )
⎩ x 3 (k )⎭ ⎩η 2 (k )⎭ ⎣1.1⎦
Finalmente a terceira equação,
⎧ x 1 (k ) ⎫ ⎧~ x 1 (k ) ⎫
⎪ ⎪ ⎪ ⎪
u (k ) = K 0 r (k ) − K c ⎨x 2 (k )⎬ = K 0 r (k ) − K c ⎨x 2 (k )⎬
⎪ x (k ) ⎪ ⎪~ ⎪
⎩ 3 ⎭ ⎩ x 3 (k ) ⎭
Substituindo os valores,
⎧~x 1 (k ) ⎫
⎪ ⎪
u (k ) = K 0 r (k ) − [− 0.75 0.8 − 0.4]⎨x 2 (k )⎬
⎪~ ⎪
⎩ x 3 (k ) ⎭
Chegando a,
3 3 x(k+1) 1 3 x(k)
0.25 H* u 3 C* u
z
3 Resposta
3 Controlada
3 G* u
2
2 P2* u Ke2* u
2 2 3
2 2
n(k+1) 1 2 n(k) 2
P3* u 2
z
2 x~(k)
2
2 P1* u
3
Kc* u
⎧ x 1 (k + 1) ⎫ ⎡ − 1 1⎤ ⎧ x 1 (k ) ⎫ ⎡ 1 ⎤
⎨ ⎬=⎢ ⎥⎨ ⎬ + ⎢ ⎥ u (k )
⎩x 2 (k + 1)⎭ ⎣− 0.5 0⎦ ⎩x 2 (k )⎭ ⎣0.5⎦
⎧ x (k + 1) ⎫
y(k ) = [1 0]⎨ 1 ⎬
⎩x 2 (k + 1)⎭
107
b) Projetar um sistema de controle via realimentação de estado para que os
novos pólos do sistema sejam posicionados em, z1, 2 = −0.15 ± j 0.3
c) Supondo uma entrada degrau r(k), calcular qual o ganho k0 para que não
haja erro estacionário;
⎧ x 1 (k + 1) ⎫ ⎡ − 1 1⎤ ⎧ x 1 (k ) ⎫ ⎡1⎤
⎨ ⎬=⎢ ⎥⎨ ⎬ + ⎢ ⎥ u (k )
⎩x 2 (k + 1)⎭ ⎣− 2 0⎦ ⎩x 2 (k )⎭ ⎣2⎦
⎧ x (k + 1) ⎫
y(k ) = [0 1]⎨ 1 ⎬
⎩x 2 (k + 1)⎭
108
Capítulo 8
8 Projetos
Nesta parte, será apresentada uma seqüência de projetos interessantes de
sistemas mecânicos envolvendo sistemas de controle em tempo discreto. Para a
implementação dos sistemas de controle, necessariamente deverá ser seguido os
seguintes passos,
109
8.1 Pêndulo Invertido
110
8.2 Suspensão Ativa para ¼ de veículo
Deve ser lembrado que os distúrbios da via são relacionados com o tempo,
simular para 40 km/h e 100 km/h.
111
8.3 Controle não colocado
112
8.4 Projeto de Filtros Digiais
113
9 Referências Bibliográficas
K. Ogata. Discrete-Time Control Systems. 2nd Ed. Prentice Hall, 1994.
G.F. Franklin, J.D. Powell, and M.L. Workman. Digital Control of Dynamic Systems.
Addison-Wesley, 3rd Edition. 1998.
C.H. Houpis, G.B. Lamont. Control Systems. Theory, Hardware, Software. 2nd Ed.
McGraw-Hill, 1992.
114