9
I SBAI - UNESP - Rio Claro/SP - Brasil CONTROLADOR "FUZZY" DE PLANTAS NÃO LINEARES José Homero Feitosa Cavalcanti Antônio Marcus Nogueira Lima Gurdip Singh Deep UFPB/CCTIDEEILIE - Campus li Caixa Postal 10 1 05 58100-109 Campina Grande - PB BRASIL Email: [email protected] Fax: (55)83 .333.1945 RESUMO Neste Trabalho apresentam-se algoritmos e os resultados experimentais obtidos no controle de plantas não lineares representada por um motor de corrente contínua. Inicialmente apresenta-se um algoritmo para o cálculo das funções de pertinência baseados na dinâmica inversa da planta. Usando essas funções de pertinência apresenta-se o projeto de um controlador denominado de controlador "fuzzy" inverso. A seguir apresenta-se o projeto de um controlador de velocidade, derivado do controlador "fuzzy" inverso e baseado no erro contínuo existente entre as velocidades de referência e a atual do motor cc. Por último, propõe-se um algoritmo heurístico para adaptação em tempo real dos pesos do controlador "fuzzy" e sugerem-se novos algoritmos "fuzzy" para controle de plantas não lineares. - 534-

CONTROLADOR FUZZY DE PLANTAS NÃO LINEARES · 2013-02-27 · I SBAI -UNESP -Rio Claro/SP ... "fuzzy" híbrido usando redes neuronais multi-camadas com algoritmo de aprendizagem com

Embed Size (px)

Citation preview

I SBAI - UNESP - Rio Claro/SP - Brasil

CONTROLADOR "FUZZY" DE PLANTAS NÃO LINEARES

José Homero Feitosa Cavalcanti Antônio Marcus Nogueira Lima

Gurdip Singh Deep UFPB/CCTIDEEILIE - Campus li

Caixa Postal 10 1 05 58100-109 Campina Grande - PB

BRASIL Email: [email protected]

Fax: (55)83 .333.1945

RESUMO

Neste Trabalho apresentam-se algoritmos e os resultados experimentais obtidos no controle de plantas não lineares representada por um motor de corrente contínua. Inicialmente apresenta-se um algoritmo para o cálculo das funções de pertinência baseados na dinâmica inversa da planta. Usando essas funções de pertinência apresenta-se o projeto de um controlador denominado de controlador "fuzzy" inverso. A seguir apresenta-se o projeto de um controlador de velocidade, derivado do controlador "fuzzy" inverso e baseado no erro contínuo existente entre as velocidades de referência e a atual do motor cc. Por último, propõe-se um algoritmo heurístico para adaptação em tempo real dos pesos do controlador "fuzzy" e sugerem-se novos algoritmos "fuzzy" para controle de plantas não lineares.

- 534-

I SBAI - UNESP - Rio Claro/SP - Brasil

1. Introdução.

Sistemas "fuzzy" já foram implementados em diversos campos do conhecimento humano [Zimmerman, 1991]. Diversos pesquisadores já implementaram controladores "fuzzy" [Sugeno & Yasukawa, 1993] e alguns pesquisadores já integraram sistemas controladores "fuzzy" e neuronal [Horikawa et alii, 1990]. Usando estratégias de projeto heurística, [Strefezza & Dote, 1991] implementaram, para o controle de posição de um motor de corrente contínua, . um controlador "fuzzy" híbrido usando redes neuronais multi-camadas com algoritmo de aprendizagem com propagação retroativa. Seguindo esse mesmo padrão de projeto, o pesquisador Dote [Dote, 1990] usou duas redes neuronais: a primeira rede neuronal foi usada para geração da função de pertinência ("membership"), e a segunda para geração das regras de controle "fuzzy" do motor. Recentemente, [Chow et alii, 1992] compararam controladores convencionais com controladores "fuzzy" e também com controladores neuronais. Furuhashi [Furuhashi et alii, 1992] apresentou um método de análise da estabilidade de sistemas de controle "fuzzy" usando um método de modelamento também baseado em "fuzzy" .

Neste trabalho são apresentados o algoritmo de treinamento e os resultados obtidos utilizando a abordagem de "fuzzy sets" na implementação da estratégia de controle de velocidade de um motor de corrente contínua. A excitação magnética do motor de corrente contínua é independente ea rotação do seu eixo é controlada pela tensão de armadura. O controle da tensão de armadura é feito através de um inversor transistorizado operando nos quatro quadrantes e comandado em PWM. Os detalhes da implementação do sistema motor CC pode ser vista em A figura 1 ilustra o modelo do controlador "fuzzy" do motor. Neste modelo O(t) é a velocidade angular (rad/s), Or(t) é a velocidade referência angular (rad/s), e U(t) é a tensão de armadura (V) do motor.

nr(t) REGRAS D(t)

IF -1HEN

Figura 1 - Modelo do controlador lógico "fuzzy" .

o trabalho está organizado da seguinte forma: inicialmente apresenta-se o cálculo das funções de pertinência baseados na inversa da planta e apresenta-se a arquitetura geral de controladores "fuzzy" . Apresenta-se um controlador denominado de controlador "fuzzy" inverso. Baseado nesse controlador, apresenta-se o projeto de um controlador de velocidade que usa o erro contínuo existente entre as velocidades de referência e a atual do motor CC e as funções de pertinência da velocidade referência para cálculo do sinal PWM de controle. A seguir, propõe-se um algoritmo para adaptação em tempo real dos pesos desses controladores "fuzzy" . Por último, conclui-se o Trabalho com comentários sobre a implementação desses algoritmos de controle e apresentam-se sugestões para o estudo de estabilidade desses algoritmos.

2. Definição das funções de pertinência.

- 535 -

I SBAI - UNESP - Rio Claro/SP - Brasil

o controlador "fuzzy" é uma ferramenta capaz de processar uma forma "fuzzy" de informação. Ele é construído a partir de um conjunto de regras ou de implicações if - then "fuzzy" do tipo {.f premissa 1 and premissa2 '" and premissan then consequência}. Define-se premissai como uma condição no conjunto "fuzzy" definido para uma quantidade relativa ao sistema. Define-se "consequência" como a ação de controle expressada como um conjunto "fuzzy" e definida no intervalo de variação da entrada da planta. Usualmente a planta requer um controle na forma de qu~ptidade real (não "fuzzy"). Necessita-se de dois dipositivos para o controlador "fu,Z?y", o "fuzzyficador" que precede o controlador "fuzzy" e associa um valor linguístico a uma quantidade real, e o "defuzzyficador" que segue o controlador "fuzzy" e associa um número real a um conjlmto "fuzzy".

No projeto do controlador "fuzzy" é requerido a fixação das variáveis da premissa e a definição das funções de pertinência ("membership") ao conjunto "fuzzy" usado no controlador. Na figura 2 é mostrada a arquitetura típica de um controlador baseado nas regras "fuzzy". O controlador "fuzzy" foi desenvolvido para o controle de velocidade do motor de corrente contínua. Usam-se como entradas do controlador três variáveis "fuzzy", o erro entre o valor desejado e o atual da saída da planta (E(t) = Or(t)-O(t)), a velocidade angular de referência Or(t) e a veloc\dade angular do motor O(t). Ef, Of e Orf são obtidos pela transformação das variáveis contínuas em variáveis "fuzzy" e em seguida escalados para valores exigidos pelo bloco de regras de controle. A saída Uf do controlador "fuzzy" é novamente escalado para a forma determinística U(t) a ser usado no controle da planta. O conjunto das regras usados por um controlador lógico "fuzzy" geralmente é armazenado numa tabela usando variáveis "fuzzy" do tipo PB (positivo grande), PM (positivo médio), PS (positivo pequeno), ZO (zero), NB (negativo grande), NM (negativo médio), NS (negativo pequeno).

RFGRAS n]:;'

I CONTROLEI

1 át Ef

CONVERTE PARA FORMA Of Uf ~ INFERÊNCIA :---- ~ FUZZY E(t),n(t) e n r(t). Orf

U(t) CONVERTEPA n PLANTA /1 RAFORMADE ~ "

TERMINISTICl

Figura 2 - Arquitetura do controlador i'fuzzy" .

Neste trabalho considera-se que a dinâmica da planta possui um modelo inverso e que os sinais de entrada e saida da planta podem ser obtidos experimentalmente. Os sinais usados para

- 536-

I SBAI - UNESP - Rio Claro/SP - Brasil

determinação. da dinâmica inversa da planta são. mo.stradas na figura 3. Os sinais da figura 3, e das demais figuras deste Trabalho., são. no.rmalizado.s co.m valo.res variando. entre -1 e 1. Uso.u-se 120rpm co.mo. peso. da velo.cidadeangular e 12Vo.lts co.mo.peso. do. sinal PWM.

Co.mo. po.de ser o.bservado. na figura 3, 0.' sinal U(t) fo.i gerado. em 7 níveis (NB, NM, NS, ZO, PS, PM e PB). Esses níveis representam intervalo.s das funções de pertinência de U(t) e O(t). Po.r exemplo., para Of = PB asso.cia-se O(t) > 0.9 e para Of = PM asso.cia-se 0.6<0(t) <= 0.9.

0.9

0.8 Uf=PM

0.7

0.6

Uf=PS

0.4

0.3

0.2

0.1 Uf=ZE

O ~----------L-~~------~----------~--~------~----------~ U o.~

Figura 3 - Sinais experimentais de entrada/saida da planta.

3. Controle "fuzzy" inverso (CFI).

Usando.-se a meto.do.logia de projeto denominada de centro de gravidade [Sugeno & Yasukawa, 1993], e empregando o modelo llfuzzi' da inversa da dinâmica da planta proPo.sto por [Furuhashi et alii, 1992], o. algoritmo. heurístico. utilizado. na implementação do controlado.r "fuzzy" inverso (CFI) é o. seguinte .

Algoritmo. I

cie a Uf o valor "fuzzy" Orf, ou Uf= Or[

- 537-

I SBAI - UNESP - Rio Claro/SP - Brasil

o Algoritmo I é implementado usando a Tabela I. Nesta Tabela a cada valor "fuzzy" Uf é associado um valor "fuzzy" nr[ Na figura 4 são mostrados os sinais nr(t) e n(t) obtidos com simuladores e com o controlador "fuzzy" descrito na · Tabela I. Observe-se que este tipo de controlador não consegue que a velocidade do motor CC siga a velocidade referência precisamente.

Para que o controlador "fuzzy" gere valores "fuzzy" intermediários para que a saída n(t) siga nr(t), a seguir propõe-se um controlador "fuzzy" que utiliza o erro E(t) como variável "fuzzy".

Uf NB NM NS ZE PS PM PB

nrf NB NM NS ZE PS PM PB

Tabela I - Controlador "fuzzy" inverso.

1.5

0.5

o

-0.5

-I

-1.5 o 4

Figura 4 - Sinais da planta obtidos com o CFI.

4. Controle "fuzzy" inverso usando nr<t) em função do erro (CFIVRE).

- 538-

I SBAI - UNESP - Rio Claro/SP - Brasil

Definiram-se três valores "fuzzy" para E(t). Ef = POS quando E(t»O; Ef = NEG quando E(t)<O; e Ef= ZE quando E(t)=O. O controlador "fuzzy" inverso usando 0r(t) em função do erro (CFIVRE) é implementado usando a Tabela lI. A Tabela II foi construída a partir da Tabela I com a heurística mostrada no Algoritmo lI. Na figura 5 é exibida a superficie "fuzzy" de controle do CFIVRE. Na figura 6 são mostrados as formas de ondas experimentais obtidas com o controlador CFIVRE.

Algoritmo II

Se Ef = ZE as variáveis "fuzzy" de Uf = Orf;

Se Ef == NEG, Uf terá um valor "fuzzy" um nível menor que o valor "fuzzy" de Otf;

Se Ef= POS, Ufterá um valor "fuzzy" um nível maior que o valor "fuzzy" de Orf,

Uf NB NM NS ZE PS PM PB

NEG NB NB NM NS ZE PS PM

ZE NB .NM NS ZE PS PM PB

POS NM NS ZE PS PM PB PB

Tabela 11 - Controle "fuzzy" inverso usando Of[ em função de Ef

- 539 ~

I SBAI - UNESP - Rio Claro/SP - Brasil

Figura 5 - Diagrama tri-dimensional do controlador CFIVRE.

.--- c-

0.8 c--

r\

05 r--... ~ / ~ f\ r--.

0.4

0.2

o

I!~~ .- L- ......., 1\

~ k r'I

Q(t) ~(t) '"\.

/~ li

-, U(t)

'--- L-

-0.2

-0.4 I-

- 0.6 u o.~ 1.J L.J

Figura 6 - Formas de onda do controle CFIVRE obtidas experimentalmente.

5. Adaptação em tempo real dos pesos do controlador "fuzzy".

A seguir apresenta-se um algoritmo de adaptação dos pesos do controlador "fuzzy" usando resultados do controle CFIVRE. Inicialmente define-se PWM a nível móvel como a geração de sinais PWM a partir de valores "fuzzy" de Uf com dois níveis distantes entre si. Usam-se 7 pesos adaptáveis a serem associados aos valores de controle U(t) (PNB, PNM, PNS, PZO, PPS, PPM e PPB). ° controle será dado por Up(t)=peso*U(t). Por exemplo, se a saida do controlador é dada por Uf= PM ou o valor contínuo associado U(t) = 8V, e usando-se PPM=O.9, então o valor atual de controle é dado por Up(t) = O.9*8=7.2Y.

Os pesos podem ser adaptados em tempo real sob algumas condições. 1)0 sinal de referência deve ser constante; 2)só existem mudanças entre dois níveis de controle (PWM a nível móvel); 3)inicialmente, todos os pesos devem ter valor inicial igual a um. Propõe-se um algoritmo heurístico que pode ser descrito pela etapa 4: 4)aumentar o peso associado ao menor valor "fuzzy" da função de pertinência e diminuir o peso associado ao maior valor "fuzzy" da função de pertinência.

No Algoritmo IH é mostrado como foi implementado a adaptação em tempo real do controlador. Os resultados da adaptação são mostrados na figura 7. Observe-se, nessa figura, que a sequência de adaptação dos pesos do controlador "fuzzy" converge para um valor constante de U(t).

. - 540-

I SBAI - UNESP - Rio Claro/SP - Brasil

: :

0.9 1-....... .+ ......................... ~ .......................... ~ ........................ + ................... .. ... j .................. ..... . .. -. --. -_...... _ .. _ ....... ~ } ... -_ ............. -. --_ .. "r" ..... o ••••• - _ •••• ••• • • • -i-··· ··········· ........... ! .. .... .... .. -_. --- -0·0 • •

0.8 I- " ~""

0.7 I- " [ " \ ' ~ " h

O.Ú 1-.

O.'i .... = ... ....... , .. .. ................ ........ . .. .. ............ -

-0.4

OJ H .... ... ...... + ........................ ,· ...... ................ I ....................... ... 1, ........................... , .......... ..... ........ .

.. -, ....

0.2 .......... , ........ .... ........... ; ....... .. .... .. ...... ; ........ .. .... .... · .. i .... ········ ...... · ...... , .......... · ........ · .... ·;··· .... ··· .......... · .. ..... ; ...... .. .. .. ........ ..... -

0.1

O ~--~--~·----~--~----~--~----~--~ o 3 8

Figura 8 - Formas de ondas experimentais da adaptação em tempo real do controlador "fuzzy" .

ALGORITMO lU

Se Ef = ZE as variáveis "fuzzy" de Uf = Orf;

Se Ef= NEG, Ufterá um valor "fuzzy" um nível menor que o valor "fuzzy" de Orf;

Se Ef= POS, Ufterá um valor "fuzzy" um nível maior que o valor "fuzzy" de Or[

Se 0r(t) é constante então:

Se Uf atual é maior que Uf anterior, então aumente o peso associado a Uf anterior.

Se Uf atual é menor que Uf anterior, então diminua o peso associado a Uf anterior.

6. Conclusão.

Apresentaram-se resultados experimentais da implementação dos controladores "fuzzy" de velocidade de um motor cc. Propôs-se um mecanismo de adaptação, baseado em técnicas "fuzzy", das funções de pertinência dos controladores "fuzzy" . O controlador CFIVRE, que utiliza o erro E(t) para criar niveis intermediários para Uf, assemelha-se a um controlador PD de

.l ':>Dn..J. - Ul'4,.c.:>r - ~V \....léUV/.:>r - l..Hd:>U

ganho elevado. A adaptação do peso de U(t) permite corrigir o erro estacionário e o controlador "fuzzy" adaptativo se assemelha ao controlador PID.

Atualmente, estamos estudando novos tipos de controladores "fuzzy" baseados nas funções de pertinência da velocidade referência e da velocidade atual do motor CC. Também estamos estudando a estabilidade desses algoritmos "fuzzy" de controle.

REFERÊNCIAS BIBLIOGRÁFICAS

[Furuhashi et alii, 1992]Furuhashi, T. & Horikawa, S.I & Uchikawa, Y "On stability offuzzy control using a fuzzy modeling method", IECON'92, pp.982-985 .

[Chowet alii, 1992]Chow, M. & Menozzi, A. & Holcomb, F. "On the Comparison ofthe Performance ofEmerging and Coventional Control Techniques for DC Motor Velocity and Position Control", IECON'92, pp.1008-1013.

[Horikawa et alii, 1990]Horikawa, S. & Furuhashi, T. & Okuma, s. & Uchikawa, Y "Composition Methods offuzzy Neural Networks", IECON'90, Pacific Grover-California, November 1990,1>p.1253-1258.

[Zin1merman, 1991] Zimmerman, H.J. "Fuzzy Set Theory - and its Application", Kluwer Academic Publisher, USA, '1991 .

[Sugeno & Yasukawa, 1993]Sugeno, M. & Yasukawa, T. "A Fuzzy-Logic-Based Approach to Quàlitative Modeling", IEEE Transactions On Fuzzy Systems, Vol.l, No.l, February 1993, pp.7-31.

[Dote, 1990] Dote, Y, "Fuzzy and Neural Network Controller", Proceeding ofthe IECON'90, Pacific Grove, Califomia - USA, 1990, pp.1314-1343.

[Strefezza & Dote, 1991] Strefezza, M. & Dote, Y., "Fuzzy and Neural Networks Controller", IECON91, Proceedings, October 1991, Kobe - Japan, pp.1437-1442.

~

[Lima et alii, 1993]Lima, A.M.N. & Silva, E.R.C. & Jacobina, C.B. "Sistema de Acionamento Estático de Motor de CC com Controle Digital", Relatório Técnico N.2, ' DEE/CCT/UFPB, Campina Grande PB, Brasil, maio de 1993 .

BIBLlOTEC.-\ I'E. ALDEMAR I\IOREIRA - ',IFEI

REGISTRO DE DOAÇÃO

Doador' fu{~ ç~ ~~ Recibo Doclo Nº ____ Data / /

LRe~la~I(,:.:.:., dO::..:I.:...~9===== Preço Registrado:$O,(i)

- 542-