• Nenhum resultado encontrado

Controlo por Computador 25. Computer Control. Parts 1, 2. J. Miranda Lemos. Professor Catedrático do IST

N/A
N/A
Protected

Academic year: 2021

Share "Controlo por Computador 25. Computer Control. Parts 1, 2. J. Miranda Lemos. Professor Catedrático do IST"

Copied!
222
0
0

Texto

(1)

Computer Control

Parts 1, 2

J. Miranda Lemos

Professor Catedrático do IST

(2)

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

(3)

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.

(4)

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

(5)

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

(6)

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

(7)

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) x

(8)

Qual 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

(9)

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)ℎ) = 𝑥(𝑛ℎ) + 𝛼𝐾ℎ(𝑅 − 𝑥(𝑛ℎ))

(10)

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), ...

(11)

𝑥(𝑛 + 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

(12)

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

(13)

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 − 𝐾ℎ𝛼]𝑒(𝑛ℎ)

(14)

Equação de erro

𝑒((𝑛 + 1)ℎ) = [1 − 𝐾ℎ𝛼]𝑒(𝑛ℎ)

Solução da equação de erro

(15)

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

(16)

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

(17)

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.

(18)

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

(19)

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

(20)

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.

(21)

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

(22)

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

(23)

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

(24)

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

(25)

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

e

T

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.

(26)

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

(27)

-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.

(28)

Como implementar em computador as equações do controlador PI?

e

r

y

u t

K e t

T

i

e

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) )

(29)

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)

(30)

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 uianteriorui

(31)

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.

(32)

Exemplo: Válvula não linear

f u

( )

u

4 G s( )  (s 11)3

K

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)

(33)

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

(34)

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.

(35)

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

(36)

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

(37)

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.

(38)

"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.

(39)

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.

(40)

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.

(41)

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

(42)

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.

(43)

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.

(44)

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)

(45)

Invariância no tempo:

u k

y k

u k

k

y k

k

( )

( )

(

)

(

)

0

0

(46)

Descriçã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ção

(47)

n 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 especificadas

(48)

Exemplo 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

(49)

Equilíbrio:

𝑦(𝑘 + 1) = 0,5𝑦(𝑘) + 𝑢(𝑘) No equilíbrio, 𝑦 é constante, pelo que

𝑦̅ = 0,5𝑦̅ + 1 𝑦̅ = 2

(50)

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

)

(51)

Exemplo

𝑦(𝑘 + 2) + 𝑎1𝑦(𝑘 + 1) + 𝑎2𝑦(𝑘) = 𝑢(𝑘 + 1)

Neste caso, 𝑛 = 2, 𝑚 = 1.

Atrasando o tempo de 2 passos:

(52)

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

(53)

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)

(54)

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

(55)

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ável

complexa:

  

0

)

(

)

(

k k

z

k

f

z

F

(56)

Exemplo

Determine a transformada

Z

da sucessão

1

)

(

k

f

k

0

,

1

,

2

,

Ajuda (definição da Transformada

Z

):

  

0

)

(

)

(

k k

z

k

f

z

F

Ajuda (Soma da série geométrica):

r

r

i i

 

1

1

0 para

1

r

(57)

Solução

     

2 0 0

1

1

1

)

(

)

(

z

z

z

z

k

f

z

F

k k k k

1

1

1

1

z

z

z

(58)

Exemplo

Determine a transformada

Z

da sucessão

ahk

e

k

f

(

)

k

0

,

1

,

2

,

Ajuda (definição da Transformada

Z

):

  

0

)

(

)

(

k k

z

k

f

z

F

Ajuda (Soma da série geométrica):

r

r

i i

 

1

1

0 para

1

r

(59)

Solução

ah ah k k ah k k ahk

e

z

z

z

e

z

e

z

e

z

F

    

1 0 1 0

1

1

)

(

(60)
(61)

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 n

z

j

f

z

F

z

k

f

q

Z

Ex.:

n

1

:

Z

qf

(

k

)

z

F

(

z

)

f

(

0

)

:

2

n

Z

q

2

f

(

k

)

z

2

F

(

z

)

f

(

0

)

f

(

1

)

z

1

(62)

3.Teorema do valor final

)

(

)

1

(

lim

)

(

lim

1 1

z

F

z

k

f

z k    

4.Convolução

A convolução entre duas sucessões

f

(k

)

e

g

(k

)

é definida por

k j

j

k

g

j

f

k

g

f

0

)

(

)

(

)

(

Tem-se:

f

g

F

(

z

).

G

(

z

)

Z

(63)

Resolução de equações de diferenças

Pretende-se resolver a equação de diferenças

)

(

)

(

)

1

(

k

ay

k

bu

k

y

com

y

(

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ícil

(64)

Exemplo: Solução de uma equação de diferenças com a transformada Z

)

(

)

(

)

1

(

k

ay

k

bu

k

y

Tomando a transformada

Z

)

(

)

(

)

0

(

)

(

z

zy

aY

z

bU

z

zY

)

0

(

)

(

)

(

y

a

z

z

z

U

a

z

b

z

Y

Com

y

(

0

)

0

:

(

)

z

a

U

(

z

)

b

z

Y

(65)

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 1

z

z

a

z

az

z

a

b

z

a

z

z

Y

a b a ba

k

a b

a

k

y

(

)

1

1

(66)

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 de

transferê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)

(67)

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

(68)

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 n1y 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

(69)

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)

(70)

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.

(71)

Operador atraso

Analogamente, se pode usar o operador atraso:

x k

(

1

)

q x k

1

( )

Sucessão atrasada Sucessão

(72)

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

nn

y k

( )

b u k0 (  (nm)) b u k1 ( (nm)   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 2

1

(73)

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 1

1

(74)

 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

(75)

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 de

z

1.

(76)

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 estrato

i

no tempo

k

Assume-se:

Índice do estrato:

i

0

,

1

,

2

,

,

n

Tempo discreto:

k

0

,

1

,

2

,

(77)

Se não houver mortos, todos os elementos da geração

i

no ano

k

estarão na geração

i

1

no ano

k

1

:

)

(

)

1

(

1

k

x

k

x

i

i

i

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=3

(78)

Se existirem mortos à medida que o tempo passa, só uma parte da geração

i

no ano

k

estará na geração

i

1

no ano

k

1

:

)

(

)

1

(

1

k

x

k

x

i

i i

0

i

1

i

0

,

1

,

2

,

,

n

1

Os membros da população no estrato

0

resultam da reprodução dos

elementos dos diversos estratos:

)

(

)

(

)

(

)

1

(

0 0 1 1 0

k

x

k

x

k

x

k

x

n n

(79)

)

(

)

1

(

1

k

x

k

x

i

i i

0

i

1

i

0

,

1

,

2

,

,

n

1

)

(

)

(

)

(

)

1

(

0 0 1 1 0

k

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 0

k

x

k

x

k

x

k

x

k

x

k

x

k

x

k

x

n n n n

)

(

)

1

(

k

Ax

k

x

(80)

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

(81)

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 kKA kKAKA ku med u2(k)  MC(k)MCmedMC(k)600 58 . 0 ) ( ) ( ) (

1 kCPU kCPUCPU k

y med y2(k)  MEM(k) MEMmedMEM(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 1

k

u

k

u

k

x

k

x

k

x

k

x

)

(

)

(

1

0

0

1

)

(

)

(

2 1 2 1

k

x

k

x

k

y

k

y

(82)

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

(83)

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 é

𝐺(𝑧) = 𝑌(𝑧)

(84)

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

(85)

𝑦(𝑘 + 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

(86)

𝑥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(𝑘) ]

(87)

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

(88)

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

(89)

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

(90)

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

(91)

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

(92)

y t TL sG s ( )   ( )    1 1

y kh

(

)

TL

s

G s

( )

t kh





  1

1

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 Sistema

(93)

Sendo u(kh) um escalão discreto, a sua transformada Z é:

Z u kh

z

(

)

1

1

1





   kh t d

G

s

s

TL

Z

z

z

G

(

)

(

1

1

)

1

1

(

)

(94)

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 d

G

s

s

TL

Z

z

z

G

(

)

(

1

1

)

1

1

(

)

Relógio D/A G(s) A/D Sistema

(95)

Funções MATLAB

Funções MATLAB para:

Calcular o equivalente discreto de um sistema amostrado: c2d

(96)

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 1

(97)

Decompondo em fracções simples a s s(  a)  s sa 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             ( ) ( ) ( )

(98)

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 1

A região de convergência deve ser escolhida por forma a que o sistema seja causal.

(99)

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

(100)
(101)
(102)

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ólo

z

i no discreto, dado por

z

i

e

s hi

(103)
(104)

Sistema de 2ª ordem com pólos complexos conjugados

w

w

0

w

2 2 0 0 2 2 ss

Os pólos são transformados nas raízes do polinómio

z

2

a z

1

a

2

a

1

 

2

e

w0h

cos

1

 w

2 0

h

a

2

e

2w0h

(105)

Transformaçã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).

(106)

Modelo de estado discreto

Dado o modelo de estado em tempo contínuo:

)

(

)

(

)

(

)

(

)

(

t

Cx

t

y

t

bu

t

Ax

t

x

(107)

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 k

e

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 k

e

x

t

e

ds

bu

t

t

x

k k k

   

1

(108)

)

(

)

(

)

(

1 1 ) ( 1 k t t s t A k Ah k

e

x

t

e

ds

bu

t

t

x

k k k

   

Para calcular o integral, faz-se a mudança de variável

: tk1  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 k

e

x

t

e

d

bu

t

t

x

(109)

)

(

)

(

)

(

0 1 k h A k Ah k

e

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      

Referências

Documentos relacionados

Como resultado dessa incompetência, Schumpeter (1984) e Sartori (1965) argumentam que a úni- ca forma de considerar a possibilidade de uma democracia é a partir da representação,

O presente estudo objetivou demarcar a idade de segregação, por meio da variação radial da massa espe- cífica básica, caracterizar o comportamento de propriedades físicas no

The challenges of aging societies and the need to create strong and effective bonds of solidarity between generations lead us to develop an intergenerational

O relatório encontra-se dividido em 4 secções: a introdução, onde são explicitados os objetivos gerais; o corpo de trabalho, que consiste numa descrição sumária das

libras ou pedagogia com especialização e proficiência em libras 40h 3 Imediato 0821FLET03 FLET Curso de Letras - Língua e Literatura Portuguesa. Estudos literários

Os estudos de resiliência parecem confirmar que as pessoas resistentes têm um forte senso de compromisso, um forte senso de controle sobre os eventos e que elas estão mais abertas

Feitiço do Segredo: deposita um segredo numa pessoa de confiança, essa pessoa fica deposita um segredo numa pessoa de confiança, essa pessoa fica sendo o &#34;Fiel do sendo o

volume indeterminado e aleatório de cupons para o alto, resgatando-se aleatoriamente apenas um cupom, e que atendendo as especificações dos itens anteriores apresentará o