6
Análise de Desempenho de um Controlador Nebuloso com Quantização de Sinais Gabriel O. AIvarez Zapata' Karl Heioz Takashi Yoneyama' Divisão de Engenharia Elétrica - Instituto Tecnológico de Aeronáutica ITA - Div. Eletrônica CEP 12.228-900 São Jossé dos Campos-SP Brazil [email protected] .cta.br [email protected] .br [email protected] .br Abstract: This work concerns the evaluation of a fuzzy controller with discretized input and output signals, presently under development in an integrated circuit formo The controller has a fixed number of predefined membership functions and the roles can be altered by software. The particular example used to evaluate the proposed fuzzy controller is the classical problem of parking an autonomous vehicle. Resumo: O objetivo deste trabalho é avaliar o desempenho de um controlador nebuloso a ser implementado na forma de circuito integrado e que apresenta quantízação dos sinais de entrada e saída. A avaliação é baseada no problema aplicativo clássico que consiste em estacionar Um veículo autômo em uma zona de manobras: O desempenho do controlador proposto é comparado, para diversos valores do número de bits de quantização, com os controladores apresentados na literatura. O -90 O 90 180 210 Figura 2 Funções de Pertinência para entrada <I> x neg nep pop pog 1 o-+---f--''---f---''--+-------f-. O 25 50 . 75 100 Figura 1 Funções de Pertinência para entrada x 1 triangulares, com exceção daquelas localizadas nas extremidades que apresentam forma trapezoidal . Para efeito de descrição ao longo do presente texto, as funções de pertinência consideradas são as apresentadas nas Figuras 1 a 3. O controlador nebuloso estudado neste trabalho possui uma arquitetura clásica, como a apresentada em [passino (1995) e Bühler (1994)] e encontra-se em processo de implementação na forma de circuito integrado. São os blocos fundamentais o de Nebulização, o de Inferência e o de Desnebulização. Este trabalho objetiva apresentar os resultados da análise do efeito da quantização no controle nebuloso de um veículo auto-guiado. O estudo dos efeitos da quantização foi motivado pela necessidade de se avaliar o desempenho do circuito integrado que realiza as funções de um controlador nebuloso, ora em fase adiantado de projeto dentro do programa CNPq/ProTeM-CC/Sm 2 Introdução Arquitetura do Controlador Nebuloso Os termos lingüisticos usados para representar os diferentes conjuntos nebulosos tanto das variáveis de entrada do nebulizador quanto para a variável de saída do desnebulizador são: neg == negativo grande, nem == negativo mediano, nep == negativo pequeno, ze == zero, pop == positivo pequeno, pom == positivo mediano e pog == positivo grande. As funções de pertinência são 301

Análise de Desempenho um Controlador Nebuloso com ... · A matriz de regras é interpretada de forma tradicional, ... O veículo simulado possui rodas: duas dianteiras, cada uma

Embed Size (px)

Citation preview

Análise de Desempenho de um Controlador Nebulosocom Quantização de Sinais

Gabriel O. AIvarezZapata'Karl HeiozTakashi Yoneyama'

Divisão de Engenharia Elétrica - Instituto Tecnológico de AeronáuticaITA - Div. Eletrônica CEP 12.228-900 São Jossé dos Campos-SP Brazil

[email protected] [email protected] [email protected] .br

Abstract: This work concerns the evaluation of a fuzzy controller with discretized input and outputsignals, presently under development in an integrated circuit formo The controller has a fixednumber of predefined membership functions and the roles can be altered by software. Theparticular example used to evaluate the proposed fuzzy controller is the classical problem ofparking an autonomous vehicle.

Resumo: O objetivo deste trabalho é avaliar o desempenho de um controlador nebuloso a serimplementado na forma de circuito integrado e que apresenta quantízação dos sinais de entrada esaída. A avaliação é baseada no problema aplicativo clássico que consiste em estacionar Um veículoautômo em uma zona de manobras: O desempenho do controlador proposto é comparado, paradiversosvalores do número de bits de quantização, com os controladores apresentados na literatura.

O-90 O 90 180 210

Figura 2 Funções de Pertinência para entrada <I>

x

neg nep pop pog1

o-+---f--''---f---''--+-------f-.O 25 50 . 75 100

Figura 1 Funções de Pertinência para entrada x

1

triangulares, com exceção daquelas localizadas nasextremidades que apresentam forma trapezoidal . Paraefeito de descrição ao longo do presente texto, as funçõesde pertinência consideradas são as apresentadas nasFiguras 1 a 3.

O controlador nebuloso estudado neste trabalho possuiuma arquitetura clásica, como a apresentada em[passino (1995) e Bühler (1994)] e encontra-se emprocesso de implementação na forma de circuitointegrado. São os blocos fundamentais o deNebulização, o de Inferência e o de Desnebulização.

Este trabalho objetiva apresentar os resultados daanálise do efeito da quantização no controle nebulosode um veículo auto-guiado. O estudo dos efeitos daquantização foi motivado pela necessidade de seavaliar o desempenho do circuito integrado que realizaas funções de um controlador nebuloso, ora em faseadiantado de projeto dentro do programaCNPq/ProTeM-CC/Sm2•

Introdução

Arquitetura do Controlador Nebuloso

Os termos lingüisticos usados para representar osdiferentes conjuntos nebulosos tanto das variáveis deentrada do nebulizador quanto para a variável de saídado desnebulizador são: neg == negativo grande, nem ==negativo mediano, nep == negativo pequeno, ze == zero,pop == positivo pequeno, pom == positivo mediano e pog== positivo grande. As funções de pertinência são

301

u

de pertinência, para cada antecedente das regras,mediante simples circuitos combinacionais. A figura 4apresenta o bloco de nebulização que possui 5 funçõesde pertinência fixas que recebem o valor I; obtido apartir de um conversor NO e armazenado no registradorREG. Os valores do grau de pertinência são calculadosutilizando a representação apresentada nas tabelas 1 e 2.

o 123Figura 3 Funções de Pertinência para saida u

o número de bits de quantização é tomado, para efeitode ilustração, como sendo de 7 bits para as variáveisde entrada e saida e 4 bits para o valor do grau depertinência variando no intervalo [0,1]. A codificaçãodas funções de pertinência para uma dada entrada 1;,proposta por [D'Amore (1997)] é:

sendo 1;6 o bit mais significativo e as funções depertinência são da forma:

onde xxx representa a variável lingüistica associadaaos diferentes conjuntos nebulosos. Para ocaso defunções de pertinência ilustradas nas Figuras I e 2,apresenta-se as correspondências nas Tabelas I e 2,considerando duas entradas 1;1 = Xe 1;2 = <1>.

controLx

Figura 4 Bloco de Nebulização

O sinal control_x permite que se faça a varredura dosantecedentes das regras que são utilizadas no bloco deinferência.

O bloco de inferência é constituído de um circuito querealiza função min (para implementar a regra de[Mamdani (1974)] e um seletor (DEMUX) queapresenta o valor w, correspondente à função depertinância da saida, de acordo com as regras como asapresentadas na Tabela 3, a serem acumulados nosblocos add_xxx do bloco de desnebulização.

.Tabela 1: Funções de Eertinência Eara a entrada x: Tabela 3: Exemplo de Regras (regras 1 a 25) :

"">, .

.. P.-...ll.?,(l ..0001111 0000 0000 0000 0000001 1111 0000 0000 0000 0000

o 1 o 1;31;21;11;0 o o o o o o o o o o o oo 1 1 o o o o /;3/;2/;1/;0 /;3/;2/;11;0 o o o o o o o o1 o o o o o o o o o o /;3/;2/;1/;0 1;31;21;11;0 o o o o1 o 1 o o o o o o o o o o o o /;3/;2/;1/;0 1;31;21;11;0

1100000 0000 0000 0000 11111110000 0000 0000 0000 1111

A matriz de regras é interpretada de forma tradicional,Tabela 2: Funções de pertinência para a entrada <1> : por exemplo,/;6 I;s S. /!.neg I:.nep !!:..ze !!:..J?Op pog regra 1 : Se (x é neg) 1\ (<1> é neg) então (u é pop)o o o 1;3/;21;11;0 o o o o o o o o o o o o o o o oo o 1 1 1 1 1 o o o o o o o o o o o o o o o o cuja função de pertinência será:

- ---1;3/;2/;11;0 o o o oo 1 o /;3/;2/;1/;0 o o o o o o o o llJegl(u)= min[min[ll_neg(x') , ll_neg($')],Il-P0P(u)] (1)

o 1 1 o o o o /;3/;2/;1/;0 /;3S2/;1/;0 o o o o o o o opara os quais a- - --

1;3/;2/;1/;0onde x' e <1>' são os valores dex e <1>

1 O O O O O O O O O O /;3/;2/;1/;0 o O O O regra será avaliada. A função de pertinência do conjunto- - -- /;31;2/;11;0101 O O O O O O O O O O o O /;3/;2/;1/;0 nebuloso da saida (llJes(u) ) resultante da aplicação de110 o O O O O O O O O O o O o O O O 1 1 1 1 m regras será :1 1 1 o O O O o O O O o O o O o O O O /;3/;21;1/;0

llJes(u)= max [ llJegl(u) , llJeg2(u) ,...... llJegm(u) ] (2)

Como mostrado.em [D'Amore (1997)] , esta forma derepresentação permite que se obtenha o valor do grau Analogamente ao caso do bloco de nebulização, o bloco

de inferência utiliza o sinal control_u para selecionar o

302

neg cen x wto + nem cen x wt1 + nep cen x wt2u=

wttze cen x wt3 + pop cen x wt4+----'=----=----':.......=.-=---_:..

\\11+pom_cen xwts +pog_ cen x wt6

wtt

WÍo= W16 + W17 + WZl + WZZ

wt, = Wl1 + WIZ + W18 + W23 + WZ4wtz = W6 + W19 + Wzswt, = W13

wt, = WI + W20 + W7wt, = Wz+ W3+ W8 + WI 4 + W1SWÍ6 = W4 + w, + W9 + WIO

Os valores dos demaís wt, são dádos por:

O centro de gravidade da função de pertinência de saídaceifada pela relação não é alterado e, portanto, a .relação(4) corresponde a:

onde wt, acumula as premissas associadas a uma mesmaconclussão. Por exemplo wto representa a soma daavaliaçào de todas as premissas cuja conclusão é (u ==neg).

e,

seLxS

M ELI E wJ

N CT

controLu ---'Figura 5 Bloco de Inferência

peso (weightj) a ser colocado no barramento dasaída, em função dos consequentes das regras deinferência.

m

LWjUiU = j=1 (3)

mLWji=1

sendo Ui a abcissa do centro de gravidade do conjuntonebuloso resultante da inferência da regra i, m onúmero de regras e w, o peso do retângulocorrespondente à adequação do valor de controle Uidado por :

o método de desnebulização maís empregado é ocálculo do centro de massa. Entretanto, tal cálculodemanda considerável número de operações. Ométodo adotado neste trabalho é o apresentado em[Kienitz (1995)] onde a saída é calculada pela relação:

w, = max[O,l-aSa (4)onde w, é fornecido pela relação (5).

onde Sié a área do retângulo e a um fator de escala.

Neste caso específico, adotando-se o fator de escalaa=l/2 verifica-se que (4) é:

onde e são as funções depertinência das variáveis de entrada correspondentes àavaliação da premissa da regra i. Para o banco deregras considerado:

O bloco de desnebulização realiza uma soma ponderada,como ilustrado na figura 6, onde cada módulo do tipoadd_xxx é o acumulador dos pesos w, .

WEIGH uTED

sUM

Figura 6 Bloco de Desnebulização.e o centro de gravidade de cada função de pertinênciada saída é feito corresponder ao ponto médio da basede cada triangulo, ou seja : neg_cen = -3, nep_cen = -2, nem_cen = -I, ze_cen = O, pop_cen = I , pom_cen =2 e pog_cen = 3.

Aplicação no Estacionamento de um Veículo

O veículo simulado possui três rodas: duas dianteiras,cada uma com tração independente e, uma traseira quegira livremente. As manobras são feitas mediante a

303

tração diferencial das duas rodas dianteiras conformeos comandos fornecidos pelo controlador.

-t-FFigura 7 Veículo e as grandezas associadas

As três variáveis de estado <1>, x, Y, mostradasna figura 7, determinam exatamente a posição doveículo. O ângulo <I> é tomado com referencia à linhahorizontal e o par (x, y) especifica as coordenadas daparte central da face dianteira do veículo. O objetivo éfazer que o veículo chegue ao ponto (xr, Yr) numangulo reto (<I>r =90°) e alinhe a posição (x, y) doveículo com o ponto de chegada desejado (xr, Yr)partindo de uma condição inicial (x, Yi,<I>j) arbitraria.

O plano de manobras corresponde ao plano[O,100]x [O, 100], o ponto (0,0) corresponderá aoextremo inferior esquerdo da figura, o valor de (xr, Yr)escolhido será (50,100).

O modelo, cinemático do veículo é obtido comreferência à figura 8:

: ácl>

,I .I/

/

Figura 8 Esquema para obtenção do modelo dinâmico

onde as variáveis usadas são (onde 'd' se refere a direitoe 'e' a esquerdo)

T: Período de amostragemL: Distância entre as rodasWd, W.: Velocidades angulares das rodasr : raio das rodasVd=Wdr: Velocidade linear da roda direita (d)v.=we r: Velocidade linear da roda esquerda (e)M : ponto médio do eixo de comprimento L

Conforme apresentado em [Hemerly e Camargo (1995)]o modelo discreto é

<I>(k+J) = <I>(k) + !1<1>(k)XM(k+1) = XM(k) + !1XM(k)YM(k+I) = YM(k) + !1YM(k)

onde(v d(k) +ve(k)T

= ---'--"-L----'---'---

_ (Vd(k) +v.(k»TV(k) = 2

, __.1XM(k)-V(k) COS(<I>(k) +--)

12 2_ _ sen(!1<1>(k) 12)

V(k) sen(<I>(k) +--)!1<1>(k) 12 2

As equações anteriores são exatas se o deslocamento doponto M descrever uma reta ou uma circunferênciadurante um período de amostragem.

As variáveis de entrada ao controlador serão a posiçãono eixo horizontal x e o ângulo <I> que o veículo faz coma horizontal, a variável de saída será o fator de diferênçade velocidade u que deve-se aplicar nas rodas para podermudar a orientação e posição do veículo. A variável Ynão será tomada em conta . As faixas dos valores dasvariáveis são:

os x s 100-90 s <I> s 270-3 s u s 3

A ação da variável u nas velocidades das rodas doveículo éa seguinte

Vd=Vo+Uvyvo - u

onde v, é uma velocidade constante e u a saída docontrolador. Para valores positivos de u o veículo avançagirando à esquerda, e para valores negativos de u oveículo avança girando à direita.

Avaliação do Controlador Nebuloso \Proposto\

A relação entrada-saída para o controlador nebulosoempregando as regras na tabela 3 e as funções de

304

pertinência apresentadas nas figuras 1 a 3, comquantificação dos sinais de entrada e saída, assumindourna codificação com 7 bits na entrada e 7 bits nasaída, é a vista na Figura 9.

É possivel gerar uma superfície de erro entre as duassuperficies de controle obtidas. Definindo-se estasuperficie através de:

= -

obtém-se o resultado apresentado na figura 12.5

= O-5O

100 -200400

2et: O

-2O

100 -200

400

Figura 9 Superficie de controle gerada pelocontrolador proposto com 7 bits de quantização. Figura 12 Superficie de erro entre os dois controladores

(com quantização 7 bits e sem quantização).

(6)

r contro lado r (ili) [4 bits]

4

6

o

2

8

10

-90 -45 O 45 90 135 180 225 270ângulo inicial

para os seguintes casos dos controladores:

i) Controlador sem quantizaçãoii) Controlador quantizado com 7 bitsiii) Controlador quantizado com 4 bits

A comparação entre os desempenhos dos controladoresfoi realizada acumulando-se os erros obtidos através desimulações de manobras do veículo para as seguintescondições iniciais:

Yi=20x,= 10 + 20k , k=O,1...,4l1l i= -90 + 30k, k=O, 1,.,...12

No caso de quantização com 4 bits, ç assume a forma[Ç3Ç2Ç!ÇOJ. As figuras 13 e 14 mostram a norma sup dovalor absoluto do erro' para cada angulo inicial, onde ovalor inicial de X é feito variar conforme (6).

400100 -200

HIly

00

so40

20

o xo 20 40 60 00 100

-5O

Figura 10 Trajetórias típica correspondendo àscondições iniciais (x., Yi,11l i) = (30,10,220)

5

= O

Uma trajetória tipica do veículo para o 'caso dequantização com 7 bits é vista na figura 10.

Para efeito de avaliação do efeito da quantização, éfeita uma comparação entre o controlador comdiscretização e sem quantização (porém 'com asmesmas regras nebulosas e mesma forma de funçõesde pertinência). A superficie gerada pelo controladorsem quantização é vista na figura 11.

Figura 11 Superficie gerada pelo controlador propostomas sem quantização dos sinais .

Figura 13 Erro final li> em função do ângulo de partidado veículo, para os casos de controlador comquantização de 4 bits, 7 bits e sem quantização.

305

4 Conclusões

2

o controlador nebuloso implementado na forma decircuito integrado segundo a arquitetura proposta por[D'Amore (1997)] apresenta erros de quantizaçãoresultante do processamento com número finito de bits .Entretanto, foi verificado por simulação que odesempenho do controlador obtido não ésignificativamente inferior ao conseguido com autilização de controlador sem discretização, desde que onúmero de bits utilizado para a representação dos sinaisde entrada e saída seja adequado.

controlador (iii) [4 bits]

controlador (ii) [7 bits]

controlador (i) [sI quantizar]I I Io

3

-90 -45 O 45 90 135 180 225 270ângulo inicial . Agradecimentos

Figura 14 Erro final x em função do ângulo departidado veículo, para os casos de controlador comquantização de 4 bits , 7 bits e sem quantização.

Para se investigar o erro introduzido pela quantizaçãodas variáveis foi implementado um sistemaempregando o controlador nebuloso apresentandoapenas um sinal de entrada e um sinal de saída e comas funções de pertinência e regras escolhidas demaneira que a siúda apresente uma característicalinear com relação à entrada.

A seguir é comparada a saída do controladorquantizado com a saída do mesmo controlador semquantização. A figura 15 mostra o erro normalizadoentre a saída do sistema quantizado e do sistema semquantização, em função ao número de bits empregadosna representação dos sinais.

0.8

o 0.6-eos.!::l";

0.4o=

0.2

0.0

Os autores desejam manifestar os seus agradecimentosao Conselho Nacional de Desenvolvimento Cientifico eTecnológico pelo suporte a este trabalho na forma deProjeto SHf - ProTeM-CC, Proc. 680092/95-1.

Referências

B. Kosko. Neural Networks and Fuzzy Systems, PrenticeHall, Englewood Cliffs, NJ, 1992

R. D'Amore. Proposta de um Circuito Integrado paraControlador Nebuloso. Relatório do Projeto sm',ITNCNPq/ProTeM-CC, 1996.

E.M. Hemerlye C.C. Rodrigues. Guiagem de VeículosAutônomos UtilizandoSensor de Visão, Anais do 100CBA, Rio de Janeiro, 1994, pp. 873-878.

K.M. Passino. Intelligent Control for AutonomousSystems. IEEE Spectrum, jun, 1995, pp . 58-62 .

D.L. Hung. Dedicated Digital Fuzzy Hardware, IEEEMicro, aug, 1995, pp.31-39 .

K.H. Kienitz. A Fuzzy Control Method Based onPossibi/ity Distributions. 20 Simpósio Brasileiro deAutomação Inteligente, Curitiba, set, 1995, pp. 79-84.

H. Bühler, H. - Réglage par Logique Floue. PressesPolytechniques, Lausanne, 1994.

E.H. Mamdani. Applications of Fuzzy Algorithms forSirnple Dynarnic Plant. Proc . IEE, voI. 121, pp.1585-1588, 1974.

2 3 4 5 6 7 8 9 10número de bits

Figura 15 Gráfico do máximo erro percentual emfunção do número de bits empregados na quantização

A partir da figura 15 é possível observar que umaquantização mais refinada do que sete bits nãoacarreta uma melhora significativa na redução do erro.

306