controle digital alocação de polos por realimentação de ... · laboratório de automação e...

36
Controle Digital – Alocação de Polos por Realimentação de Estados PTC 3471 – Práticas de Projeto de Sistemas de Controle 2º semestre de 2017 Bruno Angélico Laboratório de Automação e Controle Departamento de Engenharia de Telecomunicações e Controle Escola Politécnica da Universidade de São Paulo 1

Upload: ngothuan

Post on 16-Dec-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Controle Digital – Alocação de Polos por Realimentação de Estados

PTC 3471 – Práticas de Projeto de Sistemas de Controle 2º semestre de 2017

Bruno Angélico

Laboratório de Automação e Controle Departamento de Engenharia de Telecomunicações e Controle

Escola Politécnica da Universidade de São Paulo

1

Introdução

2

• Considere o sistema LIT:

os autovalores da matriz A são os polos do sistema. • Controlabilidade: o sistema será dito controlável no instante t0 se existir uma entrada capaz de transferir o sistema de x(t0) para qualquer outro estado, em um intervalo de tempo arbitrário.

Introdução

3

Para o sistema ser completamente controlável, a matriz

deve possuir posto igual a n. • Observabilidade: O sistema é observável em t0, se com o sistema em x(t0), for possível determinar esse estado a partir da observação da saída durante um intervalo de tempo arbitrário.

Introdução

4

Para o sistema ser completamente observável, a matriz

deve possuir posto igual a n.

Introdução

5

• O equivalente discreto do sistema é dado por:

O comando c2d do MATLAB faz o serviço: [Phi,Gamma] = c2d(A,B,Ts).

• Os conceitos de controlabilidade, observabilidade para sistemas discretos são idênticos ao caso contínuo.

Realimentação de Estados

6

• Considere o sistema:

Ao invés de realimentar a saída y, que tal utilizar a retroação das variáveis de estado? • Realim. linear de estados: u[k]=-Kc x[k]. • Em malha fechada:

[ 1] [ ]c

k kx K x

Realimentação de Estados

7

Realimentação de Estados

8

• Os polos de M.F. são os autovalores de • Para sistemas SISO, a fórmula de Ackermann pode ser utilizada para calcular Kc que aloque os polos de acordo com um vetor pc. • No MATLAB: K_c = acker(Phi, Gamma,p_c)

ou K_c = place(Phi, Gamma,p_c)

• OBS: O comando place também funciona para sistemas MIMO.

cK

Projeto de Observadores

9

ˆ[ ] [ ]c

k ku K x

• Algumas das variáveis de estado podem ser inacessíveis. Assim, as estimativas de estado são obtidas através de um modelo do sistema, caso o mesmo seja observável. • A lei de controle fica: • A equação do estimador preditor é dada por:

[̂ ]kx

Projeto de Observadores

10

Projeto de Observadores

11

• onde Ko é o vetor de os ganhos do estimador. Ao definir , tem-se: • Como os autovalores de são os mesmos de , então, para alocar os polos do observador de acordo com o vetor po, pode-se fazer:

ˆ[ ] [ ] [ ]k k kx x x

oK C

T T T

oC K

Projeto de Observadores

12

K_o = acker(Phi’, C’,p_o)’

ou K_o = place(Phi’, C’,p_o)’

Inserção de Integradores

13

• Para o rastreamento da referência ocorrer adequadamente, muitas vezes é necessária a inserção de integradores na malha de controle

Inserção de Integradores

14

A equação de estados do integrador inserido é dada por: A equação de estados do sistema em malha fechada é dada por: Tem-se, portanto, a seguinte equação para o sistema aumentado:

Inserção de Integradores

15

ou seja, Assim, basta determinar o ganho que aloca os polos para o sistema aumentado.

Exercício

16

• Projetar um controlador digital por realimentação de estados, sem integrador, tal que os polos de malha fechada sejam posicionados no plano-z em posições pd = exp([-2 -2.5 -11 -10]*Ts);

• Validar o controle via simulação com o modelo completo não linear;

• Implementar filtros de primeira ordem nas posições e nas velocidades angulares, com constante de tempo = 0,03.

Exercício

17

• O modelo obtido deve ser conferido. Considerando coeficientes de atrito nulos, deve-se encontrar:

Controle LQR

18

Lei de controle da forma u = -Kc x, em que o ganho de realimentação é escolhido de forma a minimizar o funcional: onde, Q é simétrica definida semipositiva e R simétrica definida positiva.

Controle LQR

19

A solução é dada por: em que P é a solução da Eq. Algébrica de Riccati, dada por: No Matlab: Kc = dlqr(Phi,Gamma,Q,R).

Controle LQR

20

Um aumento em Q aumenta a velocidade de convergênciada solução ao ponto de equilíbrio. Um aumento em R reduz o esforço de controle considerado. Regra de Bryson:

Controle LQR

21

Um aumento em Q aumenta a velocidade de convergênciada solução ao ponto de equilíbrio. Um aumento em R reduz o esforço de controle considerado. Regra de Bryson:

Controle LQR

22

Imponto taxa de decaimento: Deseja-se que a taxa de decaimento de xj[n] seja ~(1/)n. Se ts for o tempo de assentamento, pode-se ter: com nTs = ts. Define-se ts como o tempo em que xj decaia a 1% do seu valor máximo (xj[0]). Assim,

Controle LQR

23

Portanto, > 100(1/n) = 100(Ts/ts).Para impor essa condição, defina um novo estado: Observe que se z[n] for estável, x[n] também o será, com decaimento pelo menos igual a (1/)n para o estado mais lento. Assim:

Controle LQR

24

Assim, ao projetar um controlador para estabilizar z[n], ou seja, com as matrizes () e (), o estado x[n] também será estável com taxa de decaimento pelo menos igual a (1/)n . No Matlab: Kc = dlqr(alpha*Phi, alpha*Gamma,Q,R).

Observador Tempo Corrente

25

No MATLAB: L = place(Phi', Phi'*C',p_o)'

Observador Tempo Corrente

26

Filtro de Kalman

27

O filtro de Kalman (FK) consiste em um conjunto de equações recursivas para estimar os estados do sistema descrito pelas seguintes equações de diferenças. em que v[n] e w[n] representam os ruídos de medida e de processo, respectivamente.

Filtro de Kalman

28

O filtro de Kalman (FK) consiste em um conjunto de equações recursivas para estimar os estados do sistema descrito pelas seguintes equações de diferenças. em que v[n] e w[n] são os ruídos de medida e de processo, respectivamente, caracterizados como ruído branco Gaussiano, tais que

Filtro de Kalman

29

Considere um estimador com a mesma estrutura do estimador de valor atual, tal que:

Atualização temporal

Atualização de medida

Filtro de Kalman

30

Definem-se: como os erros de estimação. Suas respectivas covariâncias (medidas das magnitudes dos ruídos) são dadas por: O FK é o estimador linear ótimo para sistemas sujeitos a ruído branco.

Filtro de Kalman

31

Uma forma de algoritmo:

Filtro de Kalman

32

Outra Forma, mais eficiente computacionalmente (lema da inversão de matrizes):

Filtro de Kalman

33

Trata-se de um algoritmo recursivo, onde o ganho é atualizado a cada iteração. Pode-se obter uma versão estacionária do filtro, tal que:

Filtro de Kalman

34

No MATLAB, há o comando \texttt{dlqe} que, de acordo com a notação utilizada aqui, possui a seguinte sintaxe: [L,M,P,E] = dlqe(Phi,Psi,C,Rw,Rv),

sendo E os polos resultantes do observador.

Filtro de Kalman

35

O LQR e o FK são duais, ou seja, relações análogas são obtidas nos dois casos, simplesmente fazendo as correspondências apontadas:

Filtro de Kalman

36

Para o pêndulo, por exemplo:

4 4I

6

6

1 10 0

0 1 10vR

4

4

0 0 0 0

0 0 0 0

0 0 1 10 0

0 0 0 1 10

wR