CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do...

23
CONTROLO POR COMPUTADOR Controlo por Realimentac ¸˜ ao de Var´ aveis de Estado em Tempo Discreto Jo˜ ao Miranda Lemos e Jo˜ ao Pedro Gomes Vers˜ ao 2, Outubro de 2016 Resumo Este texto apresenta de modo esquem´ atico as ideias principais para o projecto de controladores por realimentac ¸˜ ao de vari´ aveis de estado. Destina-se prioritariamente a ser usado como apoio aos alunos que realizam o laborat´ orio da disciplina de Controlo por Computador do Mestrado em Engenharia Aeroespacial e do Mestrado em Engenharia Electrot´ ecnica e de Computadores do IST, mas pode ser ´ util noutros contextos. Instituto Superior T´ ecnico, Universidade de Lisboa, Portugal, [email protected] Instituto Superior T´ ecnico, Universidade de Lisboa, Portugal, [email protected] 1

Transcript of CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do...

Page 1: CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do popular her oi dos livros de quadradinhos Luky Luke. Conta a hist´oria do juiz

CONTROLO POR COMPUTADOR♢

Controlo por Realimentacao de Varaveis de Estadoem Tempo Discreto

Joao Miranda Lemos∗ e Joao Pedro Gomes†

Versao 2, Outubro de 2016

Resumo

Este texto apresenta de modo esquematico as ideias principais para o projecto de controladores por realimentacaode variaveis de estado. Destina-se prioritariamente a ser usado como apoio aos alunos que realizam o laboratorioda disciplina de Controlo por Computador do Mestrado em Engenharia Aeroespacial e do Mestrado em EngenhariaElectrotecnica e de Computadores do IST, mas pode ser util noutros contextos.

∗Instituto Superior Tecnico, Universidade de Lisboa, Portugal, [email protected]†Instituto Superior Tecnico, Universidade de Lisboa, Portugal, [email protected]

1

Page 2: CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do popular her oi dos livros de quadradinhos Luky Luke. Conta a hist´oria do juiz

Contents

1 Modelo de estado de sistemas discretos. 5

2 Estado acessıvel para medida directa. 5

3 Controlo optimo LQ. 7

4 Polos do controlador LQ. 9

5 Observador preditivo. 10

6 Observador corrente. 13

7 O filtro de Kalman 14

8 O controlador LQG. 16

9 Recuperacao do ganho de malha. 17

10 Root-square locus para os polos do erro do filtro de Kalman 19

11 Seguimento de uma referencia nao nula. 19

12 Funcao de transferencia do sistema controlado 20

13 Observacoes finais 21

2

Page 3: CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do popular her oi dos livros de quadradinhos Luky Luke. Conta a hist´oria do juiz

Nota introdutoria

A utilizacao de instrumentos de observacao levou no passado a grandes avancos, quer na Ciencia e na Tecnolo-

gia, quer na Filosofia, atraves do modo como os seres humanos, cada um de nos, considera o seu lugar no Mundo e

o sentido das suas vidas. Dois exemplos extremos sao a luneta astronomica de Galileu (ou telescopio de refraccao)

e o microscopio, inventado no seculo XVII por Anton van Leeuwenhoek (Holanda, 1632-1723). Com a luneta

astronomica, Galileu observou a superfıce da Lua com detalhe suficiente para mostrar que, ao contrario do que na

altura a corrente oficial de pensamento defendia, os corpos celestes tinham tantas imperfeicoes como os terrestres.

Descobriu ainda que Jupiter, com os seus satelites naturais formava como que uma miniatura do sistema solar tal

como o descrevia Copernico. Galileu foi perseguido pela Inquisicao mas, em conjunto com Copernico, Newton e

outros, contribuiu para uma nova visao do Mundo, que mudou radicalmente a vida do Homem.

Spinoza (1632 – 1677), filho de judeus portugueses estabelecidos em Amsterdam para fugir a Inquisicao, viveu

numa parte da Holanda onde, ao tempo, se gozava de uma invulgar liberdade de expressao, o que mesmo assim

nao o livrou de conflitos com a sua propria comunidade Judia, de que foi expulso, e com o Calvinismo que adquiria

uma forca crescente. Nao foi certamente por acaso que Spinoza se dedicou ao fabrico de lentes para microscopios

e telescopios como modo de vida, embora tenha sido pela sua actividade como filosofo que o seu nome perdurou.

De facto, para Spinoza, a Ciencia, a Filosofia e a tecnologia (neste caso a optica) nao eram ramos separados mas

partes integrantes da sua vida, o que lhe valeu ser considerado um dos filosofos mais importantes de todos os

tempos e ter defendido ideias hoje extremamente actuais, e cujo valor esta mais do que nunca na ordem do dia,

como o direito a liberdade de pensamento e expressao, ou a importancia de uma vida feliz para cada ser humano.

Embora o telescopio se refira a objectos de enormes dimensoes (planetas ou galaxias), e o microscopio a

objectos de muito pequenas dimensoes (bacterias ou, no caso dos modernos microscopios electronicos, vırus),

quer um quer outro amplificam detalhes. Por oposicao, o macroscopio permite-nos abstrair os detalhes, abrindo

os olhos do nosso entendimento para compreender globalmente os sistemas complexos. Uma vez compreendida a

essencia do problema, a ausencia de detalhes nao essenciais permite tracar uma estrategia para a solucao. Ao segui-

la deveremos entao incorporar os detalhes, que muitas vezes fazem a diferenca entre funcionar e nao funcionar.

Ao contrario dos microscopios e dos telescopios que podemos adquiri numa loja, o macroscopio nao esta a

venda em nenhum centro comercial, perto ou mesmo longe de si. Podemos no entanto construir um dentro de

nos proprios, comecando por adoptar uma atitude adequada perante os problemas e tentando olhar para eles de

um modo global. Expliquemo-nos com um exemplo. Quando no inıcio do seculo XX se fizeram as primeiras

comunicacoes de radio entre a Europa e a America houve uma perplexidade: A curvatura da terra deveria impedir

a propagacao em linha recta das ondas de radio. Embora hoje se saiba que a comunicacao foi possıvel gracas

a troposfera, uma camada ionizada que envolve a terra e que reflecte sucessivamente as ondas, na altura tal era

desconhecido, pelo que as atencoes se viraram para a difraccao, um fenomeno associado a propagacao de ondas

que lhes permite contornar obstaculos.

3

Page 4: CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do popular her oi dos livros de quadradinhos Luky Luke. Conta a hist´oria do juiz

Provou-se no entanto que a difraccao nao permitia explicar o fenomeno da propagacao das ondas entre a Europa

e a America. Quem o fez, desenvolveu uma demonstracao matematica mas, antes de se embrenhar nos calculos,

fez uma analise muito simples que lhe permitiu ter uma ideia inicial do problema: Pegou numa esfera cujo raio

estava para o comprimento de onda da luz como o raio da Terra estava para o comprimento de onda das ondas de

radio usadas na comunicac ao. Colocou a esfera contra a luz e nao viu qualquer difraccao. Este raciocınio nao

e um argumento definitivo (o problema pode nao ser escalavel), mas proporcionou uma intuicao razoavel sobre o

que esperar.

O macroscopio funciona assim, na nossa mente, como uma maquina que constroi o essencial de um problema

por forma a criar-nos uma primeira intuicao sobre a solucao, ou pelo menos a indicar-nos um caminho que nos

leve a uma solucao. Sem ser a ultima resposta a todos os problemas (afinal de contas deve haver algum espa-

cinho para os Engenheiros que as prodigiosas victorias da Inteligencia Artificial nao ocupem, ou ficarıamos todos

desempregados...), o macroscopio e, a par com a maquina que da resposta a todas as perguntas (The-Know-It-All

machine, inventada nos anos 50 pelo improvavelmente genial inventor Gyro Gearloose), e o canivete suico com

esferografica incorporada, uma ferramenta essencial que deve equipar todos os novos candidatos a Engenheiro.

Na forma que aqui descrevemos, o macroscopio foi apresentado originalmente em 1975 por Joel de Rosnay

na sua obra Le Macroscope. Vers une vision globale (Editions du Seuil)1. Como e referido nesta obra, o termo

”megaloscopio” foi empregado pelo matematico e escritor fantasista, autor da famosa historia Alice No Paıs das

Maravilhas, Lewis Carroll. E significativo que o percursor da Ecologia, Howard T. Odum tenha empregue o termo

“macroscopio” ha cerca de 100 anos (1917).

E claro que um bom macroscopio nao se arranja de um dia para o outro. Como o bom vinho do Porto, tem

de ser maturado ao longo de anos de experiencias e cuidados diversificados. Estas notas visam dar uma ajudinha

no que diz respeito a projectar e, ponto crucial, afinar os ganhos de um controlador por realimentacao de variaveis

de estado para a barra flexıvel que se considera no trabalho de laboratorio de Controlo por Computador. Este

texto visa explicar os pontos principais e tentar dar uma perspectiva global sobre o problema. Os detalhes podem

ser vistos no excelente livro2 de Franklin, Powell e Workman, Digital Control of Dynamic Systems, sobretudo no

capıtulo 8 (3ra edicao).

Joao Pedro Gomes esta completamente inocente deste prefacio!

1Foi feita uma traducao portguesa, editada pela primeira vez pela Arcadia em 1977, e existe uma edicao americana disponıvel na internet.2A historia do Juiz e uma historia do popular heroi dos livros de quadradinhos Luky Luke. Conta a historia do juiz Roy Bean, no Oeste

americano do seculo XIX. Como e explicado, o juiz Roy Bean baseava a sua accao num livro com o codigo civil, que nunca usava, e numawinchester que usava a toda a hora. Um dia, pelo menos na historia em que Luky Luke intervem, Roy Bean e expulso da cidade onde vivia.Sem nada para fazer, comecou a ler o Codigo e conluiu: Este livro esta cheio de coisas interessantes. E ate uteis para um juiz!. Do livro deFranklin e dos seus co-autores pode certamente dizer-se o mesmo: Este livro esta cheio de coisas interessantes. E ate uteis para um engenheiroelectrotecnico!

4

Page 5: CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do popular her oi dos livros de quadradinhos Luky Luke. Conta a hist´oria do juiz

1 Modelo de estado de sistemas discretos.

Assume-se que o processo a controlar e descrito pelo modelo de estado linear, invariante, e de dimensao finita, em

tempo discreto, a que correspondem as equacoes

x(k+1) = Φx(k)+Γu(k), (1)

y(k) = Hx(k), (2)

em que

• u ∈ R, y ∈ R (sistema SISO),

• x ∈ Rn,

• k = 0, 1, 2, 3, . . . (tempo discreto).

2 Estado acessıvel para medida directa.

Lei de controlo (realimentacao linear de variaveis de estado):

u(k) =−Kcx(k). (3)

Sistema em cadeia fechada ((3) → (1)):

x(k+1) = (Φ−ΓKc)x(k). (4)

Processoy

u

x

Kc

-

Figure 2: Controlo por realimentacao do estado.

A figura 2 mostra o diagrama de blocos deste sistema em que se supoe que o estado x esta acessıvel para

medida directa. Como em geral isto nao sucede, estudar-se-ao posteriormente se outras leis de controlo em que a

realimentacao e feita a partir da saıda.

5

Page 6: CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do popular her oi dos livros de quadradinhos Luky Luke. Conta a hist´oria do juiz

Problema de colocacao de polos (Pole placement): Determinar o vector de ganhos Kc tal que a matriz da

dinamica em cadeia fechada, Φ−ΓKc, tenha os valores proprios (ou seja, os polos da cadeia fechada) em posicoes

especificadas β1, β2, . . . , βn. Ou seja, sendo αc(z) o polinomio caracterıstico desejado, da forma

αc(z) = (z−β1)(z−β2) . . .(z−βn),

pretende-se calcular o vector de ganhos de realimentacao Kc tal que se verifique

det(zI −Φ+ΓKc) = αc(z). (5)

A equacao (5) pode ser resolvida pelo metodo dos coeficientes indeterminados: Igualam-se os coeficientes dos

monomios da mesma ordem em ambos os membros de (5, e obtem-se um sistema de n equacoes algebricas a n

incognitas para as componentes de Kc.

Questao: Sera que este sistema de equacoes algebricas tem sempre solucao? Por outras palavras, sera que a

equacao (5) tem solucao qualquer que seja o polinomio caracterıstico especificado αc(z)?

A resposta e dada pelo seguinte teorema (que nao demonstraremos):

Teorema 1

A equacao (5) tem solucao sse a matriz

C (Φ, Γ) △=[Γ |ΦΓ |Φ2Γ | . . . |Φn−1Γ

],

dita matriz de controlabilidade associada a realizacao de estado (Φ, Γ), tiver caracterıstica n:

carC (Φ, Γ) = n. (6)

2

A condicao expressa no Teorema 1 tem uma interpretacao em termos de estrutura do sistema: Significa que o

actuador (ou actuadores, no caso de sistemas multivariaveis) tem de estar colocado por forma a influenciar todas

as componentes do estado.

Para sistemas controlaveis, ou seja, sistemas que verificam a condicao (6) do teorema 1, os ganhos podem ser

calculados com a formula de Ackerman, dada por

Kc = [0 . . . 01]C−1αc(Φ) (7)

em que

αc(Φ) = Φn +αc1Φn−1 + . . .+αc

nI. (8)

e o polinomio caracterıstico desejado calculado para z = Φ.

No MATLAB, a f’ormula de Ackerman e realizada atraves da funcao acker. Esta funcao e statisfat0ria para

sistemas SISO com ordens ate 10 e pode tratar raızes repetidas. Para sistemas de ordem superior, ou para sistemas

multivariaveis, deve usar-se a funcao place.

6

Page 7: CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do popular her oi dos livros de quadradinhos Luky Luke. Conta a hist´oria do juiz

3 Controlo optimo LQ.

Tudo me e permitido, mas nem tudo me convem.

S. Paulo

Para sistemas controlaveis podemos calcular os ganhos do controlador por realimentacao das variaveis de

estado por forma a colocar os polos da cadeia fechada em qualquer posicao. Poe-se no entanto o problema de

determinar as posicoes adequadas a escolher para os polos.

Obviamente, os polos da cadeia fechada deverao estar dentro do cırculo unitario para que o sistema em cadeia

fechada seja ssimptoticamente estavel. Restam no entanto muitos graus de liberdade.

Uma possibilidade consiste em projectar o controlador por forma a minimizar o custo quadratico

J =12

∑k=0

[xT (k)Qx(k)+Ru2(k)

],

em que Q e uma matriz quadrada n×n, semidefinida positiva, e R e um escalar, R > 0.

Repare-se que, se escolhermos

Q = HT H (9)

como (note que y e um escalar, pelo que yT = y)

xT Qx = xT HT Hx = (Hx)T Hx = yT y = y2,

o custo fica

J =12

∑k=0

[y2(k)+Ru2(k)

].

Este custo e formado por duas parcelas:

• Uma parcela (y2) reflecte o objectivo de que a potencia da saıda seja pequena;

• A outra parcela (u2) reflecte o objectivo de que a variavel manipulada seja pequena.

De um modo geral, estes dois objectivos sao antagonicos, e o parametro R ( o “peso” na accao de controlo) pondera

a importancia relativa de um em relacao ao outro.

Assim, um valor pequeno de R significa que o custo da parcela do controlo e menor, pelo que o controlador vai

reduzir y, deixando u ser maior. Aumentando R, a potencia de u vai diminuir e a de y aumentar (o que se reflecte,

por exemplo, nos valores maximos destas variaveis), tal como se mostra na figura 3 para uma situacao tıpica.

De um ponto de vista do domınio da frequencia, quando R aumenta o sistema em cadeia fechada fica mais

lento, ou seja a sua largura de banda diminui. Podemos compreender intuitivamente que assim seja pois a variavel

manipulada fica com menos capacidade de responder quando R aumenta devido ao facto de o seu crescimento ser

penalizado.

7

Page 8: CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do popular her oi dos livros de quadradinhos Luky Luke. Conta a hist´oria do juiz

R

Σ uk2

Σ yk2

Figure 3: Variacao tıpica das potencias dos sinais de entrada e de saıda com o parametro R.

O parametro R um “botao de ajuste” muito importante para que o projectista configure a resposta do sistema

controlado. Quando reduzimos R, a largura de banda da cadeia fechada aumenta, e a resposta fica mais rapida (o

que e em geral bom), mas acontecem dois fenomenos indesejaveis:

• A amplitude de u aumenta, o que pode levar a saturacao do controlador;

• O aumento da largura de banda leva a que haja efeitos nao considerados no modelo (por exemplo, picos de

ressonancia de alta frequencia, tal como na barra flexıvel considerada no laboratorio) que sao amplificados

(porue o aumento da largura de banda levou a que o ganho de malha de alta frequencia aumente), e que

podem conduzir a instabilidade do sistema em cadeia fechada.

A escolha de R e assim um compromisso entre conseguir uma resposta rapida e a estabilidade. Repare-se que

na situacao ideal em que a ordem do sistema utilizada para projectar o controlador e a correcta, o controlador

LQ garante a estabilidade assimptotica do sistema em cadeia fechada. Isso nao sucede no entanto se a ordem

assumida para o modelo for inferior a do sistema real, situacao em que os modos de alta frequencia (polos muito

rapidos desprezados no modelo) podem causar a instabilidade da cadeia fechada. No exemplo da barra flexıvel que

motiva estas notas, a ordem do sistema real e infinita, correspondendo aos multiplos modos de oscilacao da barra,

e qualquer modelo de dimensao finita despreza modos de alta frequencia. Aumentando a largura de banda e pois

inevitavel que haja modos de alta frequencia que se manifestem.

Numa situacao pratica devemos comecar por escolher um valor alto de R e fazer ensaios, ou simulacoes, em

que o baixamos sucessivamente para averiguar qual o melhor compromisso entre desempenho e estabilidade face

a erros de modelacao (estabilidade robusta).

A lei de controlo obtida pela minimizacao de J denomina-se Linear (do facto de o modelo (1), (2) ser linear)

Quadratica (pelo fecto de o custo ser quadratico), ou controlo LQ.

A solucao (que pode ser demonstrada usando Programacao Dinamica) e dada por uma retroaccao constante

8

Page 9: CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do popular her oi dos livros de quadradinhos Luky Luke. Conta a hist´oria do juiz

do estado

u(k) =−KLQx(k) (10)

em que o vector de ganhos optimo e dado por

KLQ =1

R+ΓT SΓΓT SΦ, (11)

e a matriz S satisfaz a equacao algebrica dita equacao de Riccati algebrica

S = ΦT[

S−SΓT ΓS1R

]Φ+HT H. (12)

No MATLAB, os ganhos do controlador LQ podem ser obtidos com a funcao dlqr.

4 Polos do controlador LQ.

Onde sao colocados os polos da cadeia fechada quando se utiliza o controlador LQ?

A resposta e dada pelo teorema seguinte.

Teorema 2 (Chang, Letov)

Os polos da cadeia fechada do controlador LQ (ou seja, os valores proprios da matriz Φ−ΓKLQ, com KLQ

calculado por (11)) sao dados pelas n raızes estaveis (dentro do cırculo unitario) da equacao algebrica

1+1R

G(z)G(z−1) = 0

em que

G(z) = H(zI −Φ)−1Γ

e a funcao de transferencia do sistema a controlar, correspondente ao modelo (1), (2), ou, equivalentemente

Ra(z)a(z−1)+b(z)b(z−1) = 0 (13)

em queb(z)a(z)

= G(z).

2

Repare-se que para R muito pequeno, (13) reduz-se a

b(z)b(z−1) = 0,

pelo que, para esta escolha de R os polos da cadeia fechada cancelam os zeros se estes estiverem dentro do cırculo

unitario, ou sao os seus “simetricos” (quer dizer, a um zero em zi corresponde um polo em 1/zi) se os zeros

estiverem fora do cırculo unitario.

9

Page 10: CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do popular her oi dos livros de quadradinhos Luky Luke. Conta a hist´oria do juiz

Analogamente, se R for muito grande, (13) e

a(z)a(z−1) = 0.

Nesta situacao, os polos da cadeia fechada sao iguais ao polos da cadeia aberta, se estes forem estaveis, ou os seus

simetricos se os polos da cadeia aberta forem instaveis.

Em qualquer caso, o sistema em cadeia fechada e sempre assimptoticamente estavel quando se usam os ganhos

do controlador LQ.

Para valores intermedios e necessario resolver a equacao (13) e tomar os n polos estaveis entre as suas 2n

raızes. Deste modo, ficamos a saber qual a posicao dos polos da cadeia fechada que correspondem ao ganho KLQ.

Esta tecnica e conhecida como root-locus simetrico.

5 Observador preditivo.

Na maior parte das situacoes nao conseguimos medir directamente o estado x, mas apenas a saıda y, com ele

relacionada atraves de (2), que traduz o modelo dos sensores. Uma estrategia pode entao ser estimar o estado a

partir do conhecimento dos sinais disponıveis (u e y) e do modelo do sistema, e realimentar esta estimativa usando

os ganhos do controlador LQ. E o que se mostra na figura 5, em que estimativa de estado e designada por x. Esta

abordagem levanta duas questoes:

1. Como estimar o estado?

2. Sera que podemos projectar separadamente o estimador de estado e o controlador (com o ganho LQ ou outra

realimentacao do estado) e o sistema que resulta do acoplamento dos dois (estimador e controlador) ainda

tem os polos nas posicoes especificadas?

Como podemos definir um algoritmo de estimacao de estado (dito tambem um observador) que permita,

tal como se mostra na figura 3, construir uma estimativa x (uma funcao do tempo k) do estado x, a partir das

observacoes das amostras sucessivas de u e y e do conhecimento do modelo de estado (1), (2)?

A figura 5 ilustra o que pretendemos: Inicialmente a estimativa do estado, x(0), pode ter um valor muito

diferente do estado x(0). A medida que o tempo discreto avanca queremos que a estimativa x(k) se aproxime do

valor verdadeiro do estado x(k).

Uma primeira hipotese seria, tal como se mostra na figura 5, “construir” (integrar as equacoes) uma replica do

sistema e excita-lo pela mesma entrada que esta a excitar o sistema.

A equacao que define o observador seria uma replica da equacao de estado que modela o sistema, guiada pela

mesma entrada, mas com um estado diferente (a estimativa x), resultando em (compare com a equacao (1)

x(k+1) = Φx(k)+Γu(k). (14)

10

Page 11: CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do popular her oi dos livros de quadradinhos Luky Luke. Conta a hist´oria do juiz

u yProcessofísico

Estimador deestado

(observador)

x

Computacional

Figure 4: Estimador de estado (observador).

0 1 2 3 4 ...

x(k)

x(k)

x(k)

x(0)

x(0)

x(0)

^

^

~

~

k

Figure 5: O estado x, a sua estimativa x e o erro de estimativa x = x− x.

Processo

Estimador

u y

x

Figure 6: Observador em cadeia aberta.

11

Page 12: CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do popular her oi dos livros de quadradinhos Luky Luke. Conta a hist´oria do juiz

O erro na estimativa do eestado, x = x− x satisfaz uma equacao que se obtem subtraindo (14) de (1), sendo dada

por

x(k+1) = Φx(k).

O erro de estimativa do estado x = x− x satisfaz entao a equacao de diferencas

x(k+1) = Φx(k), (15)

com condicao inicial

x(0) = x(0)− x(0). (16)

O problema de valores iniciais (15), (16) pode facilmente ser resolvido, obtendo-se a seguinte expressao para o

erro em funcao do tempo k

x = Φkx(0). (17)

Daqui se conclui imediatamente que, para que o erro tenda para zero, e necessario que todos os valores proprios de

Φ estejam no interior do cırculo unitario, ou seja, que o processo em cadeia aberta seja assimptoticamente estavel.

Com o estimador de estado da equacao (14) nao e pois possıvel estimar o estado de um processo instavel pois o

erro divergiria. Mesmo para processos assimptoticamente estaveis a taxa de convergencia do erro para zero e igual

a taxa de variacao dos transitoriuos do proprio processo que se pretende controlar (porque em ambos os casos, no

processo e no observador, a dinamica e definida pela mesma matriz Φ), o que impede que o estado seja conhecido

com precisao durante o transitorio. O estimador (14) e assim inutil, mas pode ser modificado.

Deste modo, uma outra possibilidade consiste em acrescentar a equacao que define o estimador um termo que

dependa da saıda medida no processo

x(k+1) = Φx(k)+Γu(k)+Lp(y(k)−Hx(k)), (18)

em que Lp ∈ Rn e um vector a dimensionar. O termo adicional e proporcional a y(k)−Hx(k), ou seja, a diferenca

entre o que observamos na saıda no instante k, y(k), e o que estamos a espera de observar dada a estimativa do

estado e o nosso conhecimento do nosso modelo das observacoes definido por (2).

A equacao de erro obtem-se subtraindo (18) de (1), sendo agora

x(k+1) = Φx(k)−Lp (y(k)−Hx(k)) .

Tendo em conta (2), a equacao da dinamica do erro e

x(k+1) = (Φ−LpH) x(k). (19)

O projecto do ganho Lp do observador e feito por forma a impor os valores proprios de Φ−LpH. Sendo αo(z)

o polinomio caracterıstico especificado para o observador, Lp satisfaz a equacao

det(zI −Φ+LpH) = αo(z). (20)

12

Page 13: CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do popular her oi dos livros de quadradinhos Luky Luke. Conta a hist´oria do juiz

De modo analogo ao problema de colocacao de polos por realimentacao do estado, tem-se

Teorema 3

A equacao (20) tem solucao sse a matriz

O(H,Φ)△=

H

HΦHΦ2

...HΦn−1

,

dita matriz de observabilidade tiver caracterıstica n:

carO(H,Φ) = n. (21)

2

Tal como para o caso do controlador, a equacao (20) pode ser resolvida para problemas de pequena dimensao

pelo metodo dos coeficientes indeterminados. Tambem pode ser resolvida pela formula de Ackerman (7) (usando

as funcoes acker ou place) trocando Φ por ΦT e Γ por HT .

6 Observador corrente.

O observador (18) e tal que o calculo de x(k) e feito com base na observacao da saıda y(k− 1) feita no instante

anterior. Por este motivo diz-se um observador preditivo. Tem a desvantagem de nao usar a informacao mais

recente.

A alternativa e usar o chamado observador corrente, definido pela equacao recursiva

x(k) = Φx(k−1)+Γu(k−1)+Lc [y(k)−H (Φx(k−1)+Γu(k−1))] . (22)

Uma maneira alternativa de escrever as equaces dos observadores e

x(k) = x(k)+Lc(y(k)−Cx(k)), (23)

x(k+1) = Φx(k)+Γu(k), (24)

em que x e a estimativa preditiva e x e a estimativa corrente.

As equacoes (23) e (24) podem ser interpretadas do seguinte modo:

1. Estamos no instant k e temos disponııvel uma estimativa preditiva x(k), feita no instante anterior, k−1.

2. Fazemos uma observacao y(k) e corrigimos a estimativa x com base nesta observacao para obter a estimativa

corrente no instante k, x(k), utilizando para tal (23).

13

Page 14: CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do popular her oi dos livros de quadradinhos Luky Luke. Conta a hist´oria do juiz

Γu(k)

y(k)

Φ

H

Lc

z-1x(k+1) x(k)

_

x(k)^

_+

+

+

+

+-

Figure 7: Diagrama de blocos do observador.

3. Com base na estimativa corrente no instante k, x(k), e usando (24), calculamos uma estimativa preditiva para

o prximo instante, x(k+1), e iteramos este procedimento voltando ao passo 1, agora com k substituııdo por

k+1.

As equacoes (22), por um lado, e (23) e (24), por outro, sao perfeitamente equivalentes. Este facto pode ser

facilmente verificado se substituirmos k por k− 1 em 24) e substituirmos a expressao assim obtida para x(k) em

(24), do que resulta (22).

A vantagem de usar o par (23, 24) consiste no facto de ele corresponder a um diagrama de blocos que nao

envolve nenhum atraso explıcito em u(k), ao contrario da equacao (22). Para alem disso, (23, 24) pode ser repre-

sentado atrav’es do diagrama de blocos da figura 6. Nesta figura, a parte a vermelho corresponde a equacao (24), e

a parte a azul corresponde a equacao (23). Este diagrama de blocos tem como entradas y(k) e u(k), e como saııda

a estimativa corrente do estado no iunstante k, x(k), embora a estimativa preditiva tambem esteja disponııvel.

O ganho Lc do observador corrente esta relacionado com o ganho Lp do observador preditivo atraves de

Lc = Φ−1Lp.

Poderemos assim calcular Lp usando a formula de Ackerman e, em seguida, calcular Lc usando a expressao acima.

Vamos no entanto ver ja a seguir uma outra maneira, optimizada, de dimensionar Lc.

7 O filtro de Kalman

O filtro de Kalman3 e um observador corrente, em que portanto a estimativa do estado e propagada no tempo

com base na equacao (22), mas em que o ganho Lc do observador e calculado por forma a optimizar a relacao

3O filtro de Kalman e uma das mais importantes descobertas da Engenharia Electrotecnica e de Computadores. Foi concebido no inıcio dosanos 60 por Rudolph Kalman na versao em tempo discreto, e por R. Kalman e Richard S. Bucy na versao em tempo contınuo.

14

Page 15: CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do popular her oi dos livros de quadradinhos Luky Luke. Conta a hist´oria do juiz

sinal/ruıdo.

No domınio da frequencia, a escolha dos valores proprios desejados para a equacao de erro pode ser vista do

seguinte modo: A escolha dos valores proprios implica um valor para a largura de banda do observador. Quanto

mais rapidos forem os valores proprios especificados (ou seja, quanto mais perto da origem estiverem), maior sera

a largura de banda do observador.

Poder-se-ia pensar que e bom aumentar a largura de banda do observador dado que isso conduz a uma melhor

reproducao da evolucao temporal do estado, mas de facto isso nao e assim por dois motivos:

1. Pode haver erros de modelacao na alta frequencia. Aumentando a largura de banda do observador, estes erros

sao amplificados e podem levar a divergencia do observador (quer dizer o erro cresce em vez de aumentar).

2. Ha perturbacoes aleatorias (“ruıdo do sistema”) e ruıdo do sensor.

Consideremos o ponto 2) mais em detalhe. Em presenca do ruıdo, o modelo de estado passa a ser

x(k+1) = Φx(k)+Γu(k)+ v1(k), (25)

y(k) = Hx(k)+ v2(k). (26)

Os sinais v1 (vector) e v2 (escalar) sao sequencias gaussianas e incorrelacionadas, de media nula e variancia

E[v1(k)vT

1 (k)]= QE , (27)

E[v2

2(k)]= RE . (28)

Admitindo valido este modelo, considere-se uma situacao correspondente a um determinado valor do ganho Lc

do observador e, correspondentemente, a uma dada largura de banda do mesmo observador. Nesta situacao o

observador “deixa passar” para a estimativa x as componentes do estado x que estao dentro da sua banda. E e claro

que tambem deixa passar ruıdo.

Redimensionando Lc for forma a aumentar a largura de banda do observador, passarao mais componentes do

estado x (o que e bom), mas tambem passara mais ruıdo, correspondentemente ao acrescimo da banda (o que e

mau).

Aumentando progressivamente a largura de banda do observador (atraves da manipulacao do ganho L f ) havera

um ponto a partir do qual nao passam mais frequencias do sinal de interesse x (admitindo que este sinal e passa-

baixo), mas continuarao sempre a passar mais frequencias do ruıdo (uma vez que, como o ruıdo e branco, a sua

densidade espectral de potencia e constante na frequencia. Podemos assim perguntar-nos qual a largura de banda

do observador (e a correspondente distribuicao dos polos do observador) que optimiza a relacao sinal ruıdo?

O filtro de Kalman responde a uma pergunta ligeiramente diferente, mas relacionada com esta. Para tal

considere-se o custo

Jo = E

[∞

∑k=0

∥x(k)− x(k)∥2

].

15

Page 16: CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do popular her oi dos livros de quadradinhos Luky Luke. Conta a hist´oria do juiz

Processo

Estimador

u y

x

-

Kc

Figure 8: Estrutura do controlador LQG.

Qual o estimador centrado (isto e, tal que E[x(k)− x(k)] = 0, ∀k) que minimiza Jo?

Quando o estado e as observacoes sao geradas pelo modelo (25, 26), o requisito de que o estimador seja

centrado conduz a estrutura do observador (equacao (22)).

A minimizacao de Jo conduz a um ganho calculado por

Lc = ΦPHT 1RE +HPHT , (29)

em que a matriz de covariancia do erro de estimativa do estdo, P satisfaz a equacao de Riccati algebrica

P = ΦPΦT +QE − ΦPHT HPΦT

RE +HPHT . (30)

O vector de ganhos optimo correspondente ao filtro de Kalman (ou seja, ao observador corrente optimizado)

pode ser calculado no MATLAB atraves da funcao dlqe.

8 O controlador LQG.

Podemos acoplar um controlador LQ a um observador realimentando a estimativa de estado, tal como se mostra

na figura 8, para obter o chamado controlador LQG (Linear Quadratico Gaussiano). Aqui, estamos a tratar do

chamado problema de regulacao, em que a referencia a seguir e nula. Posteriormente consideraremos referencias

nao nulas (problema do servomecanismo).

As equacoes que definem o controlador correspondem ao diagrama de blocos da figura 8 e sao, por conseguinte

x(k) = Φx(k−1)+Γu(k−1)+Lc [y(k)−H (Φx(k−1)+Γu(k−1))] , (31)

u(k) =−Kcx(k). (32)

Os ganhos do observador corrente, Lc, e do controlador, Kc sao calculados como se explicou nas seccoes

anteriores. Em particular, Lc pode ser obtido com as expressoes do filtro de Kalman ou com a funcao dlqe do

MATLAB, e Kc pode ser obtido com as expressoes do controlador LQ ou com a funcao dlqr do MATLAB.

Repare-se que podemos calcular a funcao de transferencia do controlador LQG, que relaciona a entrada y do

controlador (igual a saıda do processo) com o simetrico da saıda −u do controlador (a entrada do processo a con-

trolar), obtendo-se o diagrama de blocos da figura 8 que representa a interligacao entre o processo e o controlador.

16

Page 17: CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do popular her oi dos livros de quadradinhos Luky Luke. Conta a hist´oria do juiz

Processo(1,2)

Controlador(33,34)

u y

-

Figure 9: O controlador LQG representado pela sua funcao de transferencia.

Com efeito, eliminando a variavel u na equacao (31) que define o observador, usando a lei de controlo (32) e

reagrupando termos, vem

x(k+1) = (Φ−ΓKc −LcHΦ+LcHΓKc)x(k)+Lcy(k). (33)

e ainda

u(k) =−Kcx(k). (34)

As equacoes (33) e (34) definem um modelo de estado para o controlador em que a matriz da dinamica e

Φ−ΓKc −LcHΦ+LcHΓKc, o vector de entrada e Lc, a entrada e y (a saıda do processo), o vector de saıda Kc, e a

saıda e −u(k) (o simetrico da entrada do processo).

9 Recuperacao do ganho de malha.

Recorde-se que o ganho de malha e dado pelo produto de todas as funcoes de transferencia da cadeia de retroaccao.

Como se conclui da observacao da figura 8, o ganho de malha pode ser facilmente calculado no MATLAB como

o produto das funcoes de transferencia do processo (definido pelas equacoes de estado (1) e (2)), e do controlador

(definido pelas equacoes de estado (33) e (34). O procedimento de calculo do ganho de malha no MATLAB e

assim:

1. Converter o modelo de estado do sistema (definido pelas equacoes de estado (1) e (2) para uma funcao de

transferencia equivalente, usando a func ao ss2tf do MATLAB.

2. Converter o modelo de estado do controlador (definido pelas equacoes de estado (33) e (34) para uma funcao

de transferencia equivalente, usando a func ao ss2tf do MATLAB.

3. Usar a funcao do MATLAB series para obter a funcao de transferncia do produto das duas funcoes de

transferencia anteriores, o que da o ganho de malha.

4. Usar a funcao bode para tracar a curva de resposta em frequencia do ganho de malha. Atencao: Deve fazer

o tracado numa gama de frequencias conveniente.

17

Page 18: CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do popular her oi dos livros de quadradinhos Luky Luke. Conta a hist´oria do juiz

Ganho baixo naalta frequênciadevido a ruído nossensores eerros de modelação

Ganho alto nabaixa frequênciapara rejeição deperturbações eseguimento de referências

Ganho de malha |L|

ω

Perto dos 0 dB o ganhonão pode cair a mais de20dB/década para garantira estabilidade da cadeia fechada

Figure 10: Restricoes impostas a moldagem do ganho de malha numa cadeia de controlo por realimentacao.

Tal como e estudado no curso basico de controlo, o ganho de malha desempenha um papel de grande im-

portancia no projecto de controladores por realimentacao.

Tal como se mostra na figura 9, o projecto do controlador deve “moldar” o ganho de malha por forma a garantir

as seguintes restricoes:

1. Ganho de malha elevado nas baixas frequencias para garantir a atenuacao das perturbacoes e o seguimento

de referencias.

2. Ganho de malha reduzido nas altas frequencias por forma a garantir a insensibilizacao ao ruıdo nos sensores

(que aparece na alta frequencia) e a condicao de estabilidade robusta (quer dizer, a dinamica nao modelada de

alta frequencia deve ser afectada por um ganho suficientemente baixo que a impede de causar a instabilidade

do sistema em cadeia fechada).

3. Na vizinhamnca dos 0 dB a taxa de queda do ganho de malha em relacao a frequencia nao pode ser muito

elevada (em modulo) para nao causar instabilidade, garantindo que o sistema tenha margens de estabilidade

relativa adequadas (margem de fase e margem de ganho)4.

Quando se tem acesso a medida directa do estado, o controlador LQ proporciona margens de estabilidade

relativa boas (margem de ganho infinita em muitos casos e margem de fase de 60o).

4Isto e uma consequencia do Teorema Integral de Bode que relaciona a fase com a inclinacao da curva de amplitude para um sistema de fasenao mınima. De acordo com este teorema, a fase e tanto menor quanto maior for a inclinacao da curva do modulo de resposta em frequencia, oque implica uma reducao da margem de fase.

18

Page 19: CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do popular her oi dos livros de quadradinhos Luky Luke. Conta a hist´oria do juiz

No entanto, quando a realimentacao do estado e substituıda pela sua estimativa x dada por um filtro de Kalman,

estas garantias na estabilidade relativa desaparecem completamente. Dependendo das matrizes de covariancia dos

ruıdos no modelo (25, 26), QE e RE , as margens de estabilidade relativa podem ser quase nulas.

Surgiu entao a ideia5 de escolher o valor de QE e RE nao com base nas covariancias dos ruıdos (que sao muito

difıceis de medir), mas considerando estas matrizes como paramteros que podem ser ajustados pelo projectista.

E em particular possıvel escolher QE e RE de tal maneira que o ganho de malha do controlador LQG aproxime

o ganho de malha do controlador LQ (com as suas boas propriedades de estabilidade relativa). Esta tecnica e

denominada recuperacao do ganho de malha ou LTR (do Ingles Loop Transfer Recovery).

No trabalho de laboratorio de Controlo por Computador sugere-se uma escolha de QE e RE que corresponde

a fazer RE = 1 e QE = qI em que q e um numero elevado. Esta e apenas uma sugestao inicial e que pode ser

optimizada.

10 Root-square locus para os polos do erro do filtro de Kalman

A influencia do peso na dinamica do erro do filtro de Kalman pode ser calculada usando uma tecnica semelhante

ao peso do controlo, tal como se estudou na seccao 4. De facto e possıvel mostrar (Franklin et al., 3ł ed., seccao

9.4.3, p.396) que para um sistema SISO os polos da dinamica do erro de estimacao com o filtro de Kalman seguem

o mesmo padrao dos polos optimos do controlador LQ. Especificamente, os polos optimos satisfazem a equacao

1+ γGe(z−1)Ge(z) = 0, (35)

em que

γ =QE

RE(36)

e

Ge(z) = H(zI −Φ)−1Γ. (37)

11 Seguimento de uma referencia nao nula.

Ate agora temo-nos preocupado com o chamado problema de regulacao, que consiste em levar para a zero a saıda

face a condicoes niciais nao nulas ou perturbacoes. Vamos agora considerar o problema do seguimento de uma

referencia diferente de zero (o problema dito do servomecanismo).

Existem diversas maneiras de resolver o problema do servomecanismo, que correspondem a sistemas em cadeia

fechada com zeros diferentes (e portanto com respostas dinamicas diferentes). Na solucao que se ilustra na figura

11, o sinal de referencia r pode ser introduzido atraves da lei de controlo

u(k) = Nr−Kcx(k), (38)5Esta ideia surgiu cerca de 1979.

19

Page 20: CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do popular her oi dos livros de quadradinhos Luky Luke. Conta a hist´oria do juiz

Processo

Estimador

u y

x

-

Kc

rN

+

Figure 11: Introducao da referencia.

em que N e um escalar tal que o ganho estatico da funcao de transferencia seja 1, o que, a par da estabilidade

assimptotica da cadeia fechada, garante que, em regime estacionario y ≈ r.

O calculo de N pode ser feito de acordo com as formulas[NxNu

]=

[Φ− I Γ

H 0

]−1 [ 01

], (39)

N = Nu +KcNx. (40)

A demonstracao pode ser vista em

Franklin, Powell, Workman. Digital Control of Dynamic Systems, 3rd ed., Addison Wesley, pp. 310-313.

Uma outra hipotese consiste em introduzir a referencia por forma a que o erro de seguimento seja amplificado.

Os detalhes desta abordagem sao omitidos aqui, podendo ser vistos no livro indicado.

12 Funcao de transferencia do sistema controlado

A funcao de transferencia do sistema controlado traduz a relacao entre a referncia e a saıda) (posicao da ponta

da barra). E muito importante observar a curva de resposta em frequencia correspondente a esta funcao de trans-

ferencia pois ela da-nos uma informacao preciosa sobre o cumprimento das especificacoes, por exemplo:

• O ganho estatico e 1 (quer dizer, a saııda segue uma referencia constante em regime estacionario)? O

ganho de baixa frequencia da funcao de transferencia do sistema controlado tem de ser 0 dB (1 em unidades

lineares).

• A largura de banda e adequada?

• H’a sobrelevacao na frequencia?

A funcao de transferencia do sistema controlado pode ser obtida facilmente no MATLAB com o seguinte

procedimento:

1. Converter o modelo de estado do sistema (definido pelas equacoes de estado (1) e (2) para uma funcao de

transferencia equivalente, usando a func ao ss2tf do MATLAB.

20

Page 21: CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do popular her oi dos livros de quadradinhos Luky Luke. Conta a hist´oria do juiz

2. Converter o modelo de estado do controlador (definido pelas equacoes de estado (33) e (34) para uma funcao

de transferencia equivalente, usando a func ao ss2tf do MATLAB.

3. Usar a funcao do MATLAB feedback para obter a funcao de transferncia do produto das duas funcoes de

transferencia anteriores.

4. Usar de novo a funcao series para obter a funcao de transferencia do sistema controlado como a serie da

funcao de transferencia obtida no numero acima e o ganho N.

5. Usar a func ao bode para tracar a curva de resposta em frequencia da funcao de transferencia do sistema

controlado. Atencao: Deve fazer o tracado numa gama de frequencias conveniente.

13 Observacoes finais

A figura 13 mostra o diagrama de blocos do SIMULINK para a simulacao do sistema controlado. Neste diagrama

SIMULINK:

• O bloco a amarelo e o modelo do processo que e usado para simular o controlador. No Laboratorio este bloco

e substituıdo por por dois blocos de entrada e saıda de dados que permitem fazer a interface com o sistema

real. As matrizes A, B e C definem o modelo de estado do sistema linearizado. Neste texto correspondem,

respectivamente, as matrizes Φ, Γ e H do modelo descrito nas equacoes (1) e (12). A matriz D tem todas as

entradas nulas.

• Os blocos a verde correspondem ao observador preditivo, implementado com a estrutura da figura 6.

• O bloco vermelho e o vector de ganhos de realimentacao do estado.

• O bloco azul corresponde ao ganho N calculado por 40, que e designado neste diagrama SIMULINK por

Nbar.

Na pagina seguinte mostra-se o codigo MATLAB que permite dimensionar o controlador com o observador

corrente.

21

Page 22: CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do popular her oi dos livros de quadradinhos Luky Luke. Conta a hist´oria do juiz

Figure 12: Simulacao no SIMULINK do controlador de RLVE com observador corrente.

22

Page 23: CONTROLO POR COMPUTADOR - fenix.tecnico.ulisboa.pt · 2A hist´oria do Juiz ´e uma hist ´oria do popular her oi dos livros de quadradinhos Luky Luke. Conta a hist´oria do juiz

% Controlo por Computador

% Design of the current observer and state feedback gains

% A, B, C, D denote the state model of the process to control

% A, B, C are obtained from model identification; D=0

% regulator gain computation using LQ expressions

Q = C’*C;

R = 500; % 100

[K,S,E] = dlqr(A,B,Q,R);

%dstep(A-B*K,B,C,D);

% estimator gain computation using Kalman filter expressions

w2 = 100;

QE = eye(size(A))*w2;

RE = 1;

G = eye(size(A));

[M,P,Z,EE] = dlqe(A,G,C,QE,RE);

% Computing reference feedforward gain according to

% (8.73) Franklin DCDS 3rd Ed

N = inv([A-eye(size(A)), B; C,0])*[zeros(size(A,1),1);1];

Nx = N(1:end-1,:);

Nu = N(end,:);

Nbar = Nu+K*Nx;

23