Computer Control
Parts 1, 2
J. Miranda Lemos
Professor Catedrático do IST
Programa da disciplina:
1. Estrutura de um sistema de Controlo por Computador 2. Modelos em Controlo por Computador
3. Identificação de modelos 4. Projecto de controladores
1. Estrutura de um Sistema de
Controlo por Computador
Objectivo: Dar uma perspectiva sobre os temas abordados na disciplina
e enquadrá-la no âmbito do controlo por computador.
Seguimento de um objecto com o robot NXT da LEGO r d Relação entre a velocidade e a posição (integral) Velocidade Comando do motor Distância Sensor de distância Distância desejada r + -Erro e u K=4 d v Motor e caixa de velocidade Perurbação Software Sistema físico
Aumentando o ganho 𝐾 o excitação 𝑢 do motor aumenta e o robot responde mais rapidamente.
Relação entre a velocidade e a posição (integral) Velocidade Comando do motor Distância Sensor de distância Distância desejada r + -Erro e u K=4 d v Motor e caixa de velocidade Perurbação Software Sistema físico Tempo r d e u=ke
Exemplo simples: Modelo matemático do robot NXT
Objectivo: Modelar o NXT a deslocar-se ao longo de uma recta, para ir para uma posição desejada num sistema de coordenadas fixado
𝑥 a posição do NXT
𝑅 a posição desejada
“Partimos o tempo às tiras” de duração ℎ
Observamos a posição nos instantes 0 (posição inicial), ℎ, 2ℎ, 3ℎ, ..., 𝑛ℎ, ...
𝑛ℎ representa um instante de tempo genérico em que observamos o NXT
Gráfico da posição do NXT em função do tempo
Posição actual = Posição anterior + velocidade × intervalo de tempo 𝑥((𝑛 + 1)ℎ) = 𝑥(𝑛ℎ) + 𝛼𝑢(𝑛ℎ)ℎ
𝑢 é o comando do motor (0 a 100%); 𝛼𝑢 é a velocidade do carro
Tempo (n-1)h nh 0 h 2h 3h 4h
...
...
x(0) x(nh) x((n-1)h) xQual o valor do parâmetro 𝜶?
Fazem-se ensaios com o NXT. Observa-se que
𝑢 = 100% corresponde a uma velocidade de 1 𝑚/𝑠 Logo
100 𝛼 = 1 Logo
Modelo do movimento do NXT:
𝑥((𝑛 + 1)ℎ) = 𝑥(𝑛ℎ) + 𝛼𝑢(𝑛ℎ)ℎ Descrição do algoritmo de controlo
Erro de seguimento (diferença entre a posição desejada e a medida):
𝑒(𝑛ℎ) = 𝑅 − 𝑥(𝑛ℎ)
Comando do motor
𝑢(𝑛ℎ) = 𝐾𝑒(𝑛ℎ)
Modelo do sistema controlado (sistema em cadeia fechada) 𝑥((𝑛 + 1)ℎ) = 𝑥(𝑛ℎ) + 𝛼𝐾ℎ(𝑅 − 𝑥(𝑛ℎ))
Equações de diferenças
𝑥((𝑛 + 1)ℎ) = 𝑥(𝑛ℎ) + 𝛼𝐾ℎ(𝑅 − 𝑥(𝑛ℎ)) 𝑥((𝑛 + 1)ℎ) = (1 − 𝛼𝐾ℎ)𝑥(𝑛ℎ) + 𝛼𝐾ℎ𝑅
Um caso concreto: 𝛼 = 0,01 ℎ = 1 𝐾 = 60 então 𝛼𝐾ℎ = 0,6 e 1 − 𝛼𝐾ℎ = 0,4 A equação de diferenças fica
𝑥(𝑛 + 1) = 0,4𝑥(𝑛) + 0,6𝑅
Se soubermos a posição inicial 𝑥(0) e o valor da posição desejada 𝑅,
podemos calcular sucessivamente 𝑥(1) a partir de 𝑥(0), 𝑥(2) a partir de 𝑥(1), 𝑥(3) a partir de 𝑥(2), ...
𝑥(𝑛 + 1) = 0,4𝑥(𝑛) + 0,6 𝑥(0) = 0 𝑥(1) = 0,4𝑥(0) + 0,6 = 0,4 × 0 + 0,6 = 0,6 𝑥(2) = 0,4𝑥(1) + 0,6 = 0,4 × 0,6 + 0,6 = 0,84 𝑥(3) = 0,4𝑥(2) + 0,6 = 0,4 × 0,84 + 0,6 = 0,936 𝑥(4) = 0,4𝑥(3) + 0,6 = 0,9744 𝑥(5) = 0,4𝑥(4) + 0,6 = 0,98976
Ponto de equilíbrio
Podemos calcular o valor de equilíbrio em que passou muito tempo e a posição fica constante:
𝑥(𝑛 + 1) ≈ 𝑥(𝑛) = 𝑥̅ Para a equação
𝑥(𝑛 + 1) = 0,4𝑥(𝑛) + 0,6𝑅 Este ponto satisfaz
𝑥̅ = 0,4𝑥̅ + 0,6𝑅 Ou seja
𝑥̅ = 0,6
Estabilidade
Podemos mostrar que o erro tende para zero quando o tempo aumenta? Vamos obter uma equação para o erro e resolvemo-la.
𝑥((𝑛 + 1)ℎ) = 𝑥(𝑛ℎ) + 𝛼𝐾ℎ(𝑅 − 𝑥(𝑛ℎ))
Multiplicamos ambos os membros desta equação por −1 e somamos 𝑅 a
ambos os membros:
𝑅 − 𝑥((𝑛 + 1)ℎ) = 𝑅 − 𝑥(𝑛ℎ) − 𝛼𝐾ℎ(𝑅 − 𝑥(𝑛ℎ)) Usamos a definição do erro
𝑒((𝑛 + 1)ℎ) = 𝑒(𝑛ℎ) − 𝛼𝐾ℎ𝑒(𝑛ℎ) 𝑒((𝑛 + 1)ℎ) = [1 − 𝐾ℎ𝛼]𝑒(𝑛ℎ)
Equação de erro
𝑒((𝑛 + 1)ℎ) = [1 − 𝐾ℎ𝛼]𝑒(𝑛ℎ)
Solução da equação de erro
Equação de erro
𝑒((𝑛 + 1)ℎ) = [1 − 𝐾ℎ𝛼]𝑒(𝑛ℎ)
Solução da equação de erro
𝑒(𝑛ℎ) = 𝑒(0)(1 − 𝐾ℎ𝛼)𝑛
Condição de estabilidade |1 − 𝐾ℎ𝛼| < 1
0 < 𝐾 < 2
ℎ𝛼
Condição para que não haja oscilações
Controlo por Computador u y D/A A/D Sensor Sistema a Controlar Porto de Saída Controlador Porto de Entrada Computador de Controlo Sinal de comando do actuador Variável Física de saída Sinal proporcional à variável Sinal de comando
Hardware de aquisição de dados (simplificado) Relógio Impulsos do relógio Porto de entrada Micro-computador INT CC Sinal a amostrar b0 b7 b1 Conversor A/D
Ao receber um impulso de relógio, o conversor A/D retém uma amostra do sinal e inicia a sua conversão para um número binário.
Quando os bits b0 a b7 atingem o valor correcto, o sinal de conversão completa CC é activado e o pino de nterrupção do microcomputador é
actuado.
Se as interrupções não estiverem inibidas, a
subrotina de interrupção começa a ser executada, sendo efectuada a leitura do porto de entrada, onde estão ligados os pinos do A/D.
Estrutura do software para Controlo Digital (1 cadeia de controlo)
->Inibe interrupções
->Lê y no porto de entrada, ligado ao A/D
->Cálcula o controlo u
->Escreve u no porto de saída ligado ao D/A
->Desinibe interrupções
->Retorna ao programa principal Programa
principal
Salta quando chega uma interrupção do relógio
Diagrama temporal do controlo por computador
Sinal gerado pelo Relógio
Activa interrupções no flanco ascendente Interrupção do relógio Intervalo de amostragem Interrupção do relógio Lê y no
A/D Calculau(tn) Escreveu(tn) no D/A
Espera nova interrupção tn tn+1 Atraso de cálculo u(tn) u(tn-1) Variável Manipulada O computador apenas
considera as variáveis nos instantes de amostragem;
Há um atraso devido ao cálculo
e aos tempos de conversão A/D e D/A
Repare-se que:
A variável manipulada u é constante por troços
Isto significa que entre dois instantes de amostragem o sistema está a trabalhar em cadeia aberta, o que impõe um limite máximo ao intervalo de amostragem
Existe um atraso entre o instante tn em que chegou a interrupção, e o instante em que se colocou o valor do controlo u no D/A. Este atraso é devido ao tempo de cálculo de u.
O atraso de cálculo pode considerar-se desprezável se for muito pequeno relativamente ao intervalo de amostragem.
Se o atraso de cálculo não for pequeno relativamente ao intervalo de amostragem, então deve ser tido em conta no modelo do processo como um atraso adicional.
Objectivos de Controlo u y D/A A/D Sensor Sistema a Controlar Porto de Saída Controlador Porto de Entrada Computador de Controlo Sinal de comando do actuador Variável Física a controlar Perturbações Os objectivos de controlo dizem respeito à capacidade de efectuar as manobras
desejadas, tendo em conta a dinâmica do processo e as perturbações.
Sinal de comando
Objectivos de controlo (exemplos)
Manter y no valor desejado, mesmo em presença de perturbações
(regulação);
Seguir referências para y, mesmo em presença de perturbações
(seguimento de trajectórias)
Estabilizar o sistema controlado;
Impôr uma dinâmica conveniente ao sistema controlado;
Optimizar o sistema (por exemplo minimizar o consumo de energia,
mantendo os objectivos - Controlo Óptimo!);
Manter um comportamento constante do sistema controlado, mesmo face a
Exemplo: Controlador Digital com acção integral
Problema: Como actuar no comando do motor do avião para manter o
impulso constante?
Solução: Controlo proporcional
Será que, em regime estacionário, o impulso é igual ao impulso desejado?
Repare-se que não. Se assim for o erro e será nulo e o comando será zero, ou seja o motor pára.
R u y
K +
-e
Solução para erro estático nulo: Efeito integral
Quando o erro é nulo, a saída do integrador fica constante mas não necessariamente nula. R u y K + -e 1 sTi Integrador
A equação que descreve o controlador PI é: e r y u t K e t Ti e d t
( ) ( ( ) 1 ( ) ) 0
Quando o erro é nulo o controlo vem dado pelo valor do integrador.
As constantes
K
eT
i são os ganhos do controlador, podendo ser escolhidas,por exemplo, de acordo com as regras de Ziegler e Nichols, ou outras mais adequadas.
Desafio: usando a transformada de Laplace, mostre que se o controlador tiver um integrador (pólo na origem) o erro estático de seguimento é nulo.
Uma revisão breve: Controlo por realimentação
V
KG
KG
W
KG
G
R
KG
KG
Y
cL
1
1
1
𝐾𝐺 é o ganho de malha R U W y K(s) G(s) v-O controlador 𝐾(𝑠) é projectado por forma a “moldar” o ganho de malha: V KG KG W KG G R KG KG YcL 1 1 1 |K(jw)G(jw)| Especificação devida ao ruído: Atenuação na alta frequência Especificação relativa ao seguimento da referência e rejeição das
perturbações Para que o “quadro” seja completo temos
de considerar a estabilidade e a incerteza no conhecimento do modelo.
Como implementar em computador as equações do controlador PI?
e
r
y
u t
K e t
T
ie
d
t
( )
( ( )
1
( )
0
Considere-se a equação do integrador:
u t
T
e
d
i i t( )
1
( )
0
Derivando ambos os membros da equação:
du
dt
T
e t
i i
1
( )
du dt u nh u n h h i ( ) (( 1) )Isto resulta nas seguintes equações de diferenças para o Algoritmo PI digital: 𝑒(𝑛ℎ) = 𝑟 − 𝑦(𝑛ℎ) u nh u n h h T e nh i i i ( ) (( 1) ) ( )
u nh
(
)
K u nh
( (
i)
e nh
(
))
𝑛 é o instante de amostragem (número inteiro)
Pseudocódigo para PI digital
No início de cada intervalo de amostragem, executar recursivamente:
1. Ler no porto de entrada ligado ao A/D a variável y 2.Calcular o erro
e
r
y
3.Calcular a variável manipulada u por
u u h T e u K u e i ianterior i i ( )
em que uianterior é a saída do integrador no instante de amostragem anterior 4. Escrever u no porto de saída ligado ao D/A
5. Fazer uianterior ui
Motivação para o Controlo Adaptativo
Há situações em que a dinâmica do sistema a controlar varia ao longo do tempo.
Isto pode ser devido, por exemplo, à existência de não linearidades nos actuadores ou no próprio sistema. Neste caso, a dinâmica linearizada vai variar com o ponto de trabalho (por exemplo com a velocidade de equilíbrio). Pode ainda acontecer que a dinâmica varie devido a factores como o envelhecimento ou alterações do ambiente ou outros factores.
Nesta situação, a afinação do controlador adequada a um ponto de trabalho pode não o ser para outro.
Exemplo: Válvula não linear
f u
( )
u
4 G s( ) (s 11)3K
015
.
T
i
1
A resposta do sistema controlado depende do ponto de funcionamento.
Um controlador bem afinado para um ponto de funcionamento pode não estar bem afinado para outro.
R u y K(1+ ) + -e 1 Ti s f(.) G(s)
As figuras seguintes mostram a resposta a um escalão na referência de amplitude 0.1, para duversos pontos de funcionamento, com um PI sintonizado em torno de r=0.2. 0 10 20 30 40 50 60 70 80 90 100 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0 10 20 30 40 50 60 70 80 90 100 2.9 2.95 3 3.05 3.1 3.15 3.2 3.25 3.3 0 10 20 30 40 50 60 70 80 90 100 4.9 4.95 5 5.05 5.1 5.15 5.2 5.25 5.3
Exemplo de variação da dinâmica numa aeronave
Num avião a dinâmica linearizada altera-se com as condições de voo. A figura mostra a dependência dos valores próprios do sistema com a velocidade de equilíbrio
Extraída de Neves da Silva, R. (1994). Controlo de Aeronave não tripulada usando técnicas LQG/LTR de ganho variável Tese de Mestrado, IST - Departamento de Engenharia Electrotécnica e de Computadores.
Devido à variação da dinâmica com as condições de voo, utilizando um controlador de ganhos fixos, pode ter-se um bom comportamento numa gama de funcionamento e um mau funcionamento noutras zonas.
Exemplo do controlo do ângulo de pitch com um controlador fixo quando a velocidade aumenta progressivamente:
.Extraído de Rato, L. M. (1994). Técnicas de Controlo Adaptativo aplicadas a uma aeronave não tripulada Tese de Mestrado, IST - Departamento de Engenharia Electrotécnica e de Computadores
Uma possibilidade consiste em adaptar os ganhos para compensar alterações da dinâmica devidas a variações da velocidade:
Adaptador Controlador u y Ajuste dos ganhos do controlador
O bloco Adaptador por ser obtido de vários modos:
Tabela que altera os ganhos do controlador de um modo fixo, para cada
valor de velocidade. Esta técnica denomina-se gain-schedulling.
Identificação da dinâmica com o método dos mínimos quadrados,
refazendo-se o cálculo dos ganhos repetidamente, em tempo real. Esta técnica denomina-se Controlo Adaptativo.
"Gain-scheduling" x x x + Controlador V baixo Controlador V médio Controlador V alto u V V V (V) (V) (V) u
O valor da variável manipulada em cada instante resulta resulta da combinação linear das variáveis calculadas pelos vários
controladores.
Por exemplo, a velocidades baixas, o controlador respectivo é multiplicado por um peso próximo de 1 enquanto o controlador de velocidades altas é multiplicado por zero.
Controlo Adaptativo vs. "Gain Scheduling"
A solução do controlo de sistemas variáveis no tempo por "gain scheduling" é útil em muitas situações mas levanta problemas quando:
Não é possível conhecer a priori qual o controlador a utilizar numa dada
situação;
É necessário recorrer a um número muito elevado de controladores.
Controlo Adaptativo
Numa das famílias de Controlo Adaptativo, o Adaptador é constituído por dois blocos:
Identificador, que estima continuamente os parâmetros (e. g. a posição dos
pólos, dos zeros e o ganho) de um modelo, a partir dos dados de entrada e saída medidos.
Projecto do Controlador, que recalcula continuamente os ganhos do
controlador tendo em conta as novas estimativas do modelo.
Deste modo, quando a dinâmica do sistema se altera, o identificador dá conta desse facto e os ganhos do controlador são alterados para frazer face à nova situação.
No caso do exemplo do controlo do ângulo de pitch, é possível, recorrendo ao Controlo Adaptativo, obter uma resposta com características razoavelmente constantes quando a velocidade varia de 10 a 40 m/s:
Extraído de Rato, L. M. (1994). Técnicas de Controlo Adaptativo aplicadas a uma aeronave não tripulada Tese de Mestrado, IST - Departamento de Engenharia Electrotécnica e de Computadores
Isto é possível graças ao ajuste dos ganhos do controlador efectuado pelo adaptador:
Extraído de Rato, L. M. (1994). Técnicas de Controlo Adaptativo aplicadas a uma aeronave não tripulada Tese de Mestrado, IST - Departamento de Engenharia Electrotécnica e de Computadores.
O adaptador actualiza constantemente o modelo melhor ajustado aos dados e recalcula os ganhos do controlador de acordo com esta estimativa do modelo.
2 - Modelos para Controlo por Computador
Objectivo: Introduzir a classe de modelos digitais que
são empregues nesta disciplina para o projecto de controladores
Bibliografia: Astrom e Wittenmark, CCS, Cap. 3, em especial as secções 3.2, 3.4, 3.5, 3.6 e 3.7 Franklin, Powell, Workman, Digital Control of Dynamic Systems, 3rd ed., caps. 3 a 6.
SLITs em tempo discreto
SLITs - Sistemas Lineares e Invariantes no tempo (discreto)
Linearidade (vale o Princípio de Sobreposição):
u k
y k
u k
y k
au k
bu k
ay k
by k
1 1 2 2 1 2 1 2( )
( )
( )
( )
( )
( )
( )
( )
SLIT
u(k) y(k)Invariância no tempo:
u k
y k
u k
k
y k
k
( )
( )
(
)
(
)
0
0Descrição de SLITs por equações de diferenças
Equação de diferenças linear de coeficientes constantes:
y k
(
n
)
a y k
1(
n
1
)
a y k
n( )
b u k0 ( m)b u k1 ( m 1) b u km ( ) Coeficientes da Equação Ordem da Equaçãon Condições iniciais especificadas:
y n
y
(
)
( )
1
0
Mostre que: A equação de diferenças linear, de coeficientes constantes descreve um
sistema linear e invariante no tempo
A solução da equação de diferenças com
n
condições iniciais especificadasExemplo de equações de diferenças 𝑦(𝑘 + 1) = 0,5𝑦(𝑘) + 𝑢(𝑘), Condição inicial 𝑦(0) = 0 Resposta ao escalão 𝑘 𝑢(𝑘) 𝑦(𝑘) 0 1 0 (condição inicial) 1 1 1 + 0,5 × 0 = 1 2 1 1 + 0,5 × 1 = 1,5 3 1 1 + 0,5 × 1,5 = 1,75 4 1 1 + 0,5 × 1,75 = 1,875 5 1 1 + 0,5 × 1,875 = 1,9375 6 1 1 + 0,5 × 1,9375 = 1,96875
Equilíbrio:
𝑦(𝑘 + 1) = 0,5𝑦(𝑘) + 𝑢(𝑘) No equilíbrio, 𝑦 é constante, pelo que
𝑦̅ = 0,5𝑦̅ + 1 𝑦̅ = 2
Descrição de SLITs por equações de diferenças
Equação de diferenças escrita com as amostras avançadas:
y k
(
n
)
a y k
1(
n
1
)
a y k
n( )
b u k
0(
m
)
b u k
1(
m
1
)
b u k
m( )
Equação de diferenças escrita com as amostras atrasadas:
y k
( )
a y k
1(
1
)
a y k
n(
n
)
b u k
0(
(
n
m
))
b u k
1(
(
n
m
)
1
)
b u k
m(
n
)
Exemplo
𝑦(𝑘 + 2) + 𝑎1𝑦(𝑘 + 1) + 𝑎2𝑦(𝑘) = 𝑢(𝑘 + 1)
Neste caso, 𝑛 = 2, 𝑚 = 1.
Atrasando o tempo de 2 passos:
Causalidade do sistema
Um sistema diz-se causal se y(k) depende apenas das entradas e saídas até ao instante k.
Sistema descrito por equação de diferenças linear:
y k
(
n
)
a y k
1(
n
1
)
a y k
n( )
b u k
0(
m
)
b u k
1(
m
1
)
b u k
m( )
Este sistema é causal se
Atraso do Sistema
Equação de diferenças escrita com as amostras atrasadas:
y k
( )
a y k
1(
1
)
a y k
n(
n
)
b u k
0(
(
n
m
))
b u k
1(
(
n
m
)
1
)
b u k
m(
n
)
Uma entrada aplicada no instante k apenas influencia a saída a partir do instante k+(n-m)
De aqui em diante, consideram-se sempre sistemas causais. Para estes o atraso do sistema, d, é positivo:
d
n m
0
Em muitos casos, sem perda de generalidade (porquê?) admite-se
Um pequeno desvio: Transformada Z Considere-se a sucessão:
,
2
,
1
,
0
),
(
k
k
f
Esta sucessão é mapeada pela Transformada
Z
na função de variávelcomplexa:
0)
(
)
(
k kz
k
f
z
F
Exemplo
Determine a transformada
Z
da sucessão1
)
(
k
f
k
0
,
1
,
2
,
Ajuda (definição da Transformada
Z
):
0)
(
)
(
k kz
k
f
z
F
Ajuda (Soma da série geométrica):
r
r
i i
1
1
0 para1
r
Solução
2 0 01
1
1
)
(
)
(
z
z
z
z
k
f
z
F
k k k k1
1
1
1
z
z
zExemplo
Determine a transformada
Z
da sucessãoahk
e
k
f
(
)
k
0
,
1
,
2
,
Ajuda (definição da Transformada
Z
):
0)
(
)
(
k kz
k
f
z
F
Ajuda (Soma da série geométrica):
r
r
i i
1
1
0 para1
r
Solução
ah ah k k ah k k ahke
z
z
z
e
z
e
z
e
z
F
1 0 1 01
1
)
(
Propriedades da Transformada
Z
1.Linearidade
f
(
k
)
g
(
k
)
F
(
z
)
G
(
z
)
Z
2.Deslocamento no tempo
q
f
(
k
)
z
F
(
z
)
Z
n
n
1 0)
(
)
(
)
(
n j j n nz
j
f
z
F
z
k
f
q
Z
Ex.:n
1
:
Z
qf
(
k
)
z
F
(
z
)
f
(
0
)
:
2
n
Z
q
2f
(
k
)
z
2
F
(
z
)
f
(
0
)
f
(
1
)
z
1
3.Teorema do valor final
)
(
)
1
(
lim
)
(
lim
1 1z
F
z
k
f
z k
4.ConvoluçãoA convolução entre duas sucessões
f
(k
)
eg
(k
)
é definida por
k jj
k
g
j
f
k
g
f
0)
(
)
(
)
(
Tem-se:
f
g
F
(
z
).
G
(
z
)
Z
Resolução de equações de diferenças
Pretende-se resolver a equação de diferenças
)
(
)
(
)
1
(
k
ay
k
bu
k
y
comy
(
0
)
0
Segue-se a seguinte abordagem
Equação de diferenças Equação algébrica Solução da eq. algébrica Solução da eq. diferenças
?
Fácil Transformada Z inversa Transformada Z DifícilExemplo: Solução de uma equação de diferenças com a transformada Z
)
(
)
(
)
1
(
k
ay
k
bu
k
y
Tomando a transformadaZ
)
(
)
(
)
0
(
)
(
z
zy
aY
z
bU
z
zY
)
0
(
)
(
)
(
y
a
z
z
z
U
a
z
b
z
Y
Comy
(
0
)
0
:(
)
z
a
U
(
z
)
b
z
Y
Resposta ao escalão:
0
,
1
)
(
k
k
u
1
)
(
z
z
z
U
)
1
)(
(
)
(
)
(
z
a
z
bz
z
U
a
z
b
z
Y
Decompondo em fracções simples:
1
1
1
1
)
(
1 1z
z
a
z
az
z
a
b
z
a
z
z
Y
a b a ba
k
a ba
k
y
(
)
11
Função de transferência discreta
Assume-se o sistema modelado pela equação de diferenças
y k
(
n
)
a y k
1(
n
1
)
a y k
n( )
b u k
0(
m
)
b u k
1(
m
1
)
b u k
m( )
Tome-se transformada
Z
com condições iniciais nulas para obter a função detransferência discreta:
G z
Y z
U z
b z
b z
b
z
a z
a z
a
m m m n n n n( )
( )
( )
0 1 1 1 1 2 2
SLIT u(k) y(k)Operador avanço
É possível uma descrição compacta e facilmente manipulável de SLIts discretos usando o operador avanço
x k
(
1
)
qx k
( )
Sucessão Sucessão avançada
Operador de transferência do sistema (avanço)
Equação de diferenças:
y k
(
n
)
a y k
1(
n
1
)
a y k
n( )
b u k
0(
m
)
b u k
1(
m
1
)
b u k
m( )
Substituindo y k( n) por q y kn ( ), e assim sucessivamente:
q y kn ( ) a q1 n1y k( ) a y kn ( )
b u k
0(
m
)
b u k
1(
m
1
)
b u k
m( )
Ponto y(k) e u(k) em evidência, obtem-se o seguinte operador que descreve o sistema:
y k
b q
b q
b
q
b
q
a q
a
q
a
u k
m m m m n n n n( )
( )
0 1 1 1 1 1 1
y k b q b q b q b q a q a q a u k m m n n n n ( ) ( ) 0 1 1 1 1 1
H q
b q
b q
b
q
b
q
a q
a
q
a
B q
A q
m m m m n n n n( )
( )
( )
0 1 1 1 1 1 1
Operador de transferência do sistema (avanço) B(q) A(q)Devido ao facto de o operador avanço transformar sequências limitadas (majoradas e minoradas) em sequências limitadas, pode ser manipulado algebricamente com grande liberdade.
Operador atraso
Analogamente, se pode usar o operador atraso:
x k
(
1
)
q x k
1( )
Sucessão atrasada Sucessão
Operador de transferência do sistema (atraso)
Equação de diferenças:
y k
( )
a y k
1(
1
)
a y k
n(
n
)
b u k
0(
(
n
m
))
b u k
1(
(
n
m
)
1
)
b u k
m(
n
)
Substituindo y k( n) por qny k( ), e assim sucessivamente:
y k
( )
a q y k
1 1( )
a q
n ny k
( )
b u k0 ( (n m)) b u k1 ( (n m) 1) b u km ( n)
Pondo y(k) e u(k) em evidência, obtem-se o operador que descreve o sistema:
y k
q
b
b q
b q
a q
a q
a q
u k
d m m n n( )
( )
0 1 1 1 1 2 21
Polinómio recíproco
Define-se o polinómio recíproco do polinómio A q( ) como
A q
*(
1)
q A q
n( )
Atenção: Em geral, o recíproco do recíproco não é a identidade!
Operador de transferência do sistema em termos do operador atraso e do polinómio recíproco
H q
q
b
b q
b q
a q
a q
q
B q
A q
d m m n n d * * *(
)
(
)
(
)
1 0 1 1 1 1 1 11
A representação no operador avanço é mais adequada para o estudo da estabilidade;
A representação no operador atraso é mais adequada para a implementação
Exercício
Considere os sistemas lineares e invariantes descritos pelas equações de diferenças
)
(
)
(
5
.
0
)
1
(
k
y
k
u
k
y
)
(
4
)
1
(
)
(
3
)
1
(
2
)
2
(
k
y
k
y
k
u
k
u
k
y
Para cada uma delas:
a) Escreva a equação na forma em que a variável mais avançada é y(k).
b) Determine a função de transferência, em potências de
z
e dez
1.Modelo de estado de sistemas discretos Exemplo: Modelo de uma população
A população assume-se dividida em estratos etários, cada um correspondente a um intervalo de tempo discreto.
)
(k
x
i é o número de indivíduos no estratoi
no tempok
Assume-se:
Índice do estrato:
i
0
,
1
,
2
,
,
n
Tempo discreto:
k
0
,
1
,
2
,
Se não houver mortos, todos os elementos da geração
i
no anok
estarão na geraçãoi
1
no anok
1
:)
(
)
1
(
1k
x
k
x
i
ii
0
,
1
,
2
,
,
n
1
k=0 k=1 k=2 k=3 x0 x1 x2 x3 x4 k=0 k=1 k=2 k=3 x0 x1 k=0 k=1 k=2 k=3Se existirem mortos à medida que o tempo passa, só uma parte da geração
i
no ano
k
estará na geraçãoi
1
no anok
1
:)
(
)
1
(
1k
x
k
x
i
i i0
i
1
i
0
,
1
,
2
,
,
n
1
Os membros da população no estrato
0
resultam da reprodução doselementos dos diversos estratos:
)
(
)
(
)
(
)
1
(
0 0 1 1 0k
x
k
x
k
x
k
x
n n)
(
)
1
(
1k
x
k
x
i
i i0
i
1
i
0
,
1
,
2
,
,
n
1
)
(
)
(
)
(
)
1
(
0 0 1 1 0k
x
k
x
k
x
k
x
n n Na forma matricial:
(
)
)
(
)
(
)
(
0
0
0
0
0
0
0
0
0
0
0
0
)
1
(
)
1
(
)
1
(
)
1
(
2 1 0 1 1 0 2 1 0 2 1 0k
x
k
x
k
x
k
x
k
x
k
x
k
x
k
x
n n n n
)
(
)
1
(
k
Ax
k
x
Capturas de arenque no Mar do Norte entre 1910 e 1914 (Hjort, 1926).
O desenvolvimento de modelos de populações é muito importante para a gestão do “stock” de peixe, optimizando a pesca.
1 2 3 4 5 6 7 1910 1911 1912 1913 1914 0 20 40 60 80 Idade [ano] Ano C a p tu ra s
Exemplo: Modelo de Estado do servidor Apache
J. Hellerstein, X. Diao, S. Parekh, D. Tilbury (2004). Feedback Control of Computing Systems. Wiley Interscience. pp. 229-234.
Entradas: MaxClients (MC), KeepAlive (KA) Saídas: CPU, MEM
11 ) ( ) ( ) ( 1 k KA k KA KA k u med u2(k) MC(k)MCmed MC(k)600 58 . 0 ) ( ) ( ) (
1 k CPU k CPU CPU k
y med y2(k) MEM(k) MEMmed MEM(k)0.55
)
(
)
(
00028
.
0
00025
.
0
00044
.
0
0085
.
0
)
(
)
(
63
.
0
026
.
0
11
.
0
54
.
0
)
1
(
)
1
(
2 1 2 1 2 1k
u
k
u
k
x
k
x
k
x
k
x
)
(
)
(
1
0
0
1
)
(
)
(
2 1 2 1k
x
k
x
k
y
k
y
Conclusão:
Modelo de estado de sistemas lineares
)
(
)
(
)
1
(
k
Ax
k
Bu
k
x
)
(
)
(
)
(
k
Cx
k
Du
k
y
Modelo de estado de sistemas não lineares
(
),
(
)
)
1
(
k
f
x
k
u
k
x
))
(
(
)
(
k
h
x
k
y
Conversão entre modelos lineares
Como obter a função de transferência a partir do modelo de estado? Aplicar a transformada Z com condições iniciais nulas.
𝑥(𝑘 + 1) = 𝐴𝑥(𝑘) + 𝐵𝑢(𝑘) 𝑧𝑋(𝑧) = 𝐴𝑋(𝑧) + 𝐵𝑈(𝑧)
(𝑧𝐼 − 𝐴)𝑋(𝑧) = 𝐵𝑈(𝑧)
𝑋(𝑧) = (𝑧𝐼 − 𝐴)−1𝐵𝑈(𝑧)
𝑌(𝑧) = 𝐶𝑋(𝑧) = 𝐶(𝑧𝐼 − 𝐴)−1𝐵𝑈(𝑧)
Conclusão: A função de transferência discreta é
𝐺(𝑧) = 𝑌(𝑧)
Conversão entre modelos II
Obtenção de uma realização de estado para um dada função de transferência
Exemplo: Sistema sem zeros
Obter uma realização de estado para a função de transferência
𝐺(𝑧) = 𝑏0
𝑧3 + 𝑎
1𝑧2 + 𝑎2𝑧 + 𝑎3
Corresponde à equação de diferenças
𝑦(𝑘 + 3) = −𝑎1𝑦(𝑘 + 2) − 𝑎2𝑦(𝑘 + 1) − 𝑎3𝑦(𝑘) + 𝑏0𝑢(𝑘)
Tomam-se como variáveis de estado a saída e os seus 𝑛 − 1 primeiros
avanços (𝑛é a ordem do sistema). Neste caso, 𝑛 = 3, pelo que o estado é
𝑥1(𝑘) = 𝑦(𝑘)
𝑥2(𝑘) = 𝑦(𝑘 + 1)
𝑥3(𝑘) = 𝑦(𝑘 + 2)
Pela definição do estado:
𝑥1(𝑘 + 1) = 𝑦(𝑘 + 1) = 𝑥2(𝑘)
𝑥2(𝑘 + 1) = 𝑦(𝑘 + 2) = 𝑥3(𝑘)
𝑥3(𝑘 + 1) = 𝑦(𝑘 + 3)
Pela equação de diferenças, vem
𝑥1(𝑘 + 1) = 𝑥2(𝑘)
𝑥2(𝑘 + 1) = 𝑥3(𝑘)
𝑥3(𝑘 + 1) = −𝑎3𝑥1(𝑘) − 𝑎2𝑥2(𝑘) − 𝑎1𝑥3(𝑘) + 𝑏0𝑢(𝑘)
Modelo de estado na forma matricial: [ 𝑥1(𝑘 + 1) 𝑥2(𝑘 + 1) 𝑥3(𝑘 + 1) ] = [ 0 1 0 0 0 1 −𝑎3 −𝑎2 −𝑎1] [ 𝑥1(𝑘) 𝑥2(𝑘) 𝑥3(𝑘) ] + [ 0 0 𝑏0] 𝑢(𝑘) 𝑦(𝑘) = [1 0 0] [ 𝑥1(𝑘) 𝑥2(𝑘) 𝑥3(𝑘) ]
Sistemas com zeros
𝐺(𝑧) = 𝑏0𝑧 + 𝑏1
𝑧3 + 𝑎
1𝑧2 + 𝑎2𝑧 + 𝑎3
Para efeitos de cálculo, parte-se o sistema numa parte sem zeros e numa parte só com zeros e tomam-se como variáveis de estado a saída do primeiro bloco e os seus 𝑛 − 1 primeiros avanços (tal como no exemplo anterior.
Apenas é afectada a equação de saída:
𝑦(𝑘) = 𝑏1𝑥1(𝑘) + 𝑏0𝑥2(𝑘)
u x1 y
b0z+b1 Sistema sem
Utilização do MATLAB na conversão de modelos lineares
O MATLAB (Control Systems Toolbox) pode ser usado para definir modelos lineares e para converter umas representações noutras. Por exemplo:
ss2tf converte o modelo de estado para a função de transferência;
tf2tf converte a função de transferência para uma representação de
estado (note-se que esta representação de estado não é a que usamos)
tf permite definir um sistema pela função de transferência e depois
manipulá-lo.
series permite calcular a função de transferência em série de duas
funções de transferência em série. Faça help destas funções para aprender como funcionam e conhecer mais funções
Modelo de um sistema amostrado
Qual a função de transferência discreta “vista” pelo computador?
Relógio
D/A G(s) A/D
Sistema
Recorde-se que, para determinar a função de transferência, devemos:
Aplicar um sinal à entrada do sistema, com condições iniciais nulas
Observar a saída
Determinar as transformadas Z da entrada e da saída correspondente
Calcular a função de transferência como o quociente entre a transformada Z
da saída e a transformada Z da entrada
Se aplicarmos um escalão discreto à entrada, à entrada do sistema contínuo aparecerá também um escalão, o que facilita as contas
Relógio
D/A G(s) A/D
Sistema
y t TL sG s ( ) ( ) 1 1
y kh
(
)
TL
s
G s
( )
t kh
11
A função de transferência discreta equivalente é
G z
Z y kh
Z u kh
d( )
(
)
(
)
Relógio D/A G(s) A/D SistemaSendo u(kh) um escalão discreto, a sua transformada Z é:
Z u kh
z
(
)
1
1
1
kh t dG
s
s
TL
Z
z
z
G
(
)
(
1
1)
11
(
)
Modelo de um SLIT amostrado com um ZOH (Conclusão)
Do ponto de vista do computador, I. e. entre a entrada e a saída discreta, este sistema é equivalente a um SLIT discreto com função de transferência
kh t dG
s
s
TL
Z
z
z
G
(
)
(
1
1)
11
(
)
Relógio D/A G(s) A/D SistemaFunções MATLAB
Funções MATLAB para:
Calcular o equivalente discreto de um sistema amostrado: c2d
Modelo de sistema amostrado - Exemplo
Qual a função de transferência discreta (causal) que se obtém quando se amostra o sistema contínuo com função de transferência
G s
a
s
a
( )
?
Solução: G z z Z TL a s s a d ( ) ( ) t kh ( ) 1 1 1Decompondo em fracções simples a s s( a) s s a 1 1
1
1
0
s
f t
( )
t
f kh k F z z ( ) ( ) 1 0 1 1 1 1 0 0 1 1 1 s a f t e t f kh e k F z e z at ahk ah ( ) ( ) ( )G z z z e z d ( ) ( ) ah 1 1 1 1 1 1 1 1
G
z
e
z
e
z
d ah ah( )
(
)
1
1
1 1A região de convergência deve ser escolhida por forma a que o sistema seja causal.
A resposta ao escalão do sistema contínuo coincide, nos instantes de amostragem, com a resposta do sistema discretizado.
Isto não acontece para outro tipo de entradas, por exemplo uma sinusóide.
Este facto motiva que se designe este método de discretização por método do escalão invariante.
0 1 2 3 4 5 6 7 8 0 0.2 0.4 0.6 0.8 1 0 1 2 3 4 5 6 7 8 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Transformação dos pólos
Na discretização com retentor de amostras de ordem zero os pólos são transformados de acordo com uma transformação exponencial.
Um pólo em
s
i no contínuo é transformado num póloz
i no discreto, dado porz
i
e
s hiSistema de 2ª ordem com pólos complexos conjugados
w
w
0w
2 2 0 0 2 2 s s Os pólos são transformados nas raízes do polinómio
z
2
a z
1
a
2
a
1
2
e
w0hcos
1
w
2 0h
a
2
e
2w0hTransformação dos zeros
A transformação dos zeros é muito mais complexa e não existe uma regra geral simples como a transformação exponencial dos pólos.
Deve no entanto ser notado que um sistema contínuo de fase mínima pode dar origem, por amostragem com ritmo elevado, a um sistema de fase não mínima (i. e. em que há zeros fora do círculo unitário).
Este facto pode dar origem a problemas no controlo e sugere que nem sempre é bom aumentar o ritmo de amostragem (ao contrário do que sugere a nossa intuição e do que sucede em problemas de Processamento de Sinal).
Modelo de estado discreto
Dado o modelo de estado em tempo contínuo:
)
(
)
(
)
(
)
(
)
(
t
Cx
t
y
t
bu
t
Ax
t
x
Obtenção do modelo de estado discreto
Definição dos instantes de amostragem (
h
é o intervalo de amostragem):h
t
t
k1
k
Tendo em conta a fórmula de variação das constantes1:
1 1 1(
)
(
)
)
(
1 ( ) ( ) k k k k k t t s t A k t t A ke
x
t
e
bu
s
ds
t
x
Sendo u constante em cada intervalo de amostragem:
)
(
)
(
)
(
1 1 ) ( 1 k t t s t A k Ah ke
x
t
e
ds
bu
t
t
x
k k k
1)
(
)
(
)
(
1 1 ) ( 1 k t t s t A k Ah ke
x
t
e
ds
bu
t
t
x
k k k
Para calcular o integral, faz-se a mudança de variável
: tk1 s
h A h A t t s t A d e d d ds e ds e k k k 0 0 ( 1 1 )
Assim:)
(
)
(
)
(
0 1 k h A k Ah ke
x
t
e
d
bu
t
t
x
)
(
)
(
)
(
0 1 k h A k Ah ke
x
t
e
d
bu
t
t
x
Definindo Ah e
h A b d e 0 escreve-se o modelo de estado discreto
) ( ) ( ) ( ) ( ) 1 ( k Cx k y k u k x k x