• Nenhum resultado encontrado

PROJETO DE CONTROLADORES FUZZY VIA ROUGH SETS

N/A
N/A
Protected

Academic year: 2021

Share "PROJETO DE CONTROLADORES FUZZY VIA ROUGH SETS"

Copied!
6
0
0

Texto

(1)

PROJETODECONTROLADORESFUZZYVIAROUGHSETS

CARLOS A.M.PINHEIRO

Instituto de Engenharia de Sistemas e Tecnologia da Informação, Universidade Federal de Itajubá Caixa Postal 50, 37500-908 Itajubá, MG, BRASIL

E-mail: pinheiro@unifei.edu.br

Abstract⎯ A new design method of fuzzy controllers via rough sets is proposed. The method can define linear and non-linear characteristics in the compensation of control systems, supplying a simple alternative to design rule-based controllers. A systematic methodology to compute control rules will be proposed. Numeric examples of computational simulations and of real experiments will be shown.

Keywords⎯ Fuzzy controllers, control systems, rule-based controllers, rough sets, rule-based models.

Resumo⎯ Um novo método de projeto de controladores nebulosos via conjuntos aproximados é proposto. O método pode defi- nir características lineares e não-lineares na compensação de sistemas de controle, fornecendo uma alternativa simples para proje- tar controladores baseados em regras. Exemplos numéricos de simulações computacionais e de experimentos reais serão mostra- dos.

Palavras-chave⎯ Controladores nebulosos, sistemas de controle, controladores baseados em regras, conjuntos aproximados, modelos baseados em regras.

1 Introdução

Modelos baseados em regras constituem o cerne das representações na modelagem de sistemas dinâmicos complexos e de controladores que utilizam lógica difusa. As regras resultantes estabelecem relações entre as variáveis envolvidas e os respectivos proce- dimentos de processamento (Pedrycz e Gomide, 2007). Existem dois esquemas principais para cons- truir modelos baseados em regras, os baseados em conhecimentos de especialistas e os orientados por dados. Os dois métodos têm suas vantagens e des- vantagens, e existem abordagens que permitem com- binar ambos em determinados contextos. Em aplica- ções onde a extração de conhecimentos efetuada por especialistas é dificultada em razão da quantidade das informações envolvidas, métodos orientados por dados são mais eficientes.

A teoria dos conjuntos aproximados ou Rough Set Theory (Pawlak, 1982), tem sido aplicada com sucesso na obtenção de sistemas de informações concisos a partir de dados empíricos. Uma das prin- cipais vantagens desta abordagem é não necessitar de detalhes a respeito dos dados a serem manipulados, como distribuições de probabilidade, intervalos de confiança ou valores de possibilidades (Pawlak, 1991).

A geração de modelos baseados em regras via processamento de conjuntos aproximados, consiste de uma abordagem simples e relativamente fácil de ser realizada (Pinheiro et al., 2009). As regras de modelagem podem ser computadas diretamente dos dados processados com técnicas de conjuntos apro- ximados. Ou alternativamente serem geradas regras difusas e conjuntos nebulosos associados, constituin-

do a modelagem correspondente as informações pro- cessadas.

No contexto citado, aplicações práticas em sis- temas de controles mostram-se promissoras. Os con- troladores baseados em regras podem ser derivados de sistemas de informações, onde as regras são obti- das diretamente de processamentos de conjuntos aproximados.

Entretanto, aplicações em sistemas de controle que utilizem regras difusas geradas com a metodolo- gia mencionada, ainda não foram devidamente de- senvolvidas e testadas. A utilização desta abordagem no projeto de controladores fuzzy e as aplicações correspondentes em alguns sistemas de controles, constituem a essência deste trabalho.

Nos próximos segmentos deste artigo encontra- se uma revisão de conceitos básicos, a metodologia proposta, exemplos de aplicações, e finalmente as conclusões finais.

2 Conceitos Básicos

Um espaço aproximado é definido como S = (U,A), onde U é um conjunto de objetos chamado universo e A é um conjunto de atributos. Seja S um sistema de informação representado por uma tabela de atributos- valores, onde os atributos a ∈ A e os correspondentes valores Va determinam funções de classificação F:U×A Va. Seja R uma relação de equivalência sobre U denominada relação de indiscernibilidade.

Classes de equivalência de R (denotadas por U/R) são denominadas elementares. Objetos de U perten- centes ao mesmo conjunto elementar são indiscerní- veis.

Seja I(X) um conjunto de todos os elementos de uma classe de equivalência. DadoXU,é impor- tante saber quantos elementos de X são definidos por

(2)

conjuntos elementares de S. Para este propósito defi- ne-se a aproximação inferior (I*) e a aproximação superior (I*), expressas em (1). Se I*(X) = I*(X) o conjunto X é conhecido como I-exato, caso contrário como I-rough.

};

) ( : { )

*(X x U I x X

I = ∈ ⊆

I*(X)={xU:I(x)∩X ≠φ}. (1) Sejam P e Q conjuntos de atributos. Uma região chamada P-positiva (denotada por POSP) de Q é o conjunto de todos os objetos do universo U que po- dem ser classificados como classes de U/Q.

U

Q U

P Q X P X

POS

/*( ) )

( = (2) Seja o grau de dependência γ(P,Q) de um con- junto de atributos P relativos a outro conjunto de atributos Q, conforme definido em (3). O grau de dependência em questão fornece uma medida de quão importante os atributos de P estão mapeando um conjunto de dados de um sistema de informação relativos aos atributos de Q. Se γ(P,Q) = 0, então Q não está associado com P. Se γ(P,Q) = 1, então Q está completamente associado com P.

U Q Q POS

P P( )

) ,

( =

γ (3) Dados L e K, um reduto é definido como um conjunto mínimo de atributos para qual γ(K,L) = γ(M,L), MK. Regras de decisão de um sistema de informação são geradas pela computação de redu- tos (Pawlak e Skowron, 2007). Dado P, Q e um obje-

to x ∈ P, um atributo x é dispensável se γ(P,Q) = γ(P−{x},Q). As relações entre classes de

equivalências associadas a conjuntos de atributos são utilizadas para gerar regras de decisão na forma de (4). Onde F são funções de classificação do sistema de informação, a1, a2 e av são atributos de condição, b1, b2 e bm são atributos de decisão.

IF F(x,a1) = a1 AND…AND F(x,av) = av THEN F(x,b1) = b1 OR…OR F(x,bm) = bm (4)

Existem ferramentas computacionais (várias de acesso gratuito) desenvolvidas especificamente para o processamento de conjuntos aproximados, tais co- mo: RSL (Rough Sets Library); Rough Enough; CI (Column Importance facility); Rosetta. Processando- se os dados de um determinado sistema de informa- ção (SI) com softwares deste tipo (que utilizam os conceitos citados anteriormente), é fácil obter regras de decisão correspondentes ao sistema em questão.

As regras obtidas refletem as informações computa- das em um SI de forma consistente, onde valores não pertinentes ou redundâncias nos dados não são in- corporados nas regras de decisão resultantes.

3 Metodologia Proposta

A representação de um sistema de informação gené- rico está ilustrada na Tabela 1. As sentenças (5) deri- vam da tabela em questão. Por exemplo, para x1 = x1(k), x2 = x2(k), x3 = x3(k), e xN = xN(k) tem-se y = y(k) expresso por sk. E para x1 = x1(m), x2 = x2(m), x3 = x3(m), e xN = xN(m) tem-se y = y(m) definido por sm. Valores intermediários entre x1(k)x1x1(m), x2(k) ≤ x2 ≤ x2(m), x3(k) ≤ x3 ≤ x3(m), e xN(k) ≤ xN ≤ xN(m)

podem ser representados pela combinação de sk e sm

por meio da regra genérica (6).

Tabela 1. Sistema de Informação Genérico.

x1 x2 x3 ... xN y x1(1) x2(1) x3(1) ... xN(1) y(1) x1(2) x2(2) x3(2) ... xN(2) y(2)

... ... ... ... ... ...

x1(k) x2(k) x3(k) ... xN(k) y(k) ... ... ... ... ... ...

x1(m) x2(m) x3(m) ... xN(m) y(m) ... ... ... ... ... ...

x1(v) x2(v) x3(v) ... xN(v) y(v)

s1: IF x1 = x1(1) AND x2 = x2(1) AND… AND xN = xN(1)

THEN y = y(1)

s2: IF x1 = x1(2) AND x2 = x2(2) AND… AND xN = xN(2)

THEN y = y(2)

… … … sk: IF x1 = x1(k) AND x2 = x2(k) AND… AND xN = xN(k) THEN y = y(k)

… … … sm: IF x1 =x1(m) AND x2 = x2(m) AND…AND xN= xN(m) THEN y = y(m)

… … … sv: IF x1 = x1(v) AND x2 = x1(v) AND…AND xN = xN(v) THEN y = y(v) (5)

rg: IF x1(k) ≤ x1 ≤ x1(m) AND x2(k) ≤ x2 ≤ x2(m) AND…

AND xN(k) ≤ xN ≤ xN(m)

=> min{y(k),…, y(m)} ≤ y ≤ max{y(k),…, y(m)} (6) Como ilustração seja a Tabela 2. Os dados desta tabela podem representar, por exemplo, valores nu- méricos de um controlador do tipo PI (Proporcional e Integral). A variável x1 está relacionada com a in- formação do erro do controlador, e x2 com a integra- ção do mesmo. Considerando a variável y a informa- ção de atuação do controlador, a tabela em questão pode vista como um sistema de informação. Reali-

(3)

zando uma interpretação dos dados da tabela por meio de (5) e (6), obtém-se (7).

Tabela 2. Dados do SI.

x1 x2 y

-1 -1 -2

-1 0 -1 -1 1 0

0 -1 -1

0 0 0 0 1 1

1 -1 0

1 0 1 1 1 2

r1: IF -1 ≤ x1 ≤ 0 AND -1 ≤ x2 ≤ 0 => -2 ≤ y ≤ 0;

r2: IF -1 ≤ x1 ≤ 0 AND 0 ≤ x2 ≤ 1 => -1 ≤ y ≤ 1;

r3: IF 0 ≤ x1 ≤ 1 AND -1 ≤ x2 ≤ 0 => -1 ≤ y ≤ 1;

r4: IF 0 ≤ x1 ≤ 1 AND 0 ≤ x2 ≤ 1 => 0 ≤ y ≤ 2.

(7) Com as informações das regras de decisão (7) é fácil obter os parâmetros de um modelo funcional difuso correspondente (8).

rn: IF x1 = Dm(ij) AND x2 = Dm(ij)

THEN yn = c0n+ c1nx1 + c2nx2 (8) Os conjuntos nebulosos podem ser definidos por funções de pertinência gaussianas, cujos valores mo- dais são os extremos (ou médias) dos intervalos das variáveis de entrada. Neste exemplo, -1 e 1 (definin- do dois conjuntos nebulosos N e P, por exemplo). Os desvios padrões das funções são escolhidos de modo que a interseção das mesmas ocorra em um grau de pertinência em torno de 0,5. Os coeficientes dos po- linômios do modelo são obtidos diretamente pela função de interpolação de Lagrange (9), onde os da- dos são provenientes de (7) conforme a notação (6).

=

==

− + −

=

= N

n k

n m n

k n n k m k N nkm i i i n n

n x x

x x N

y y y

y x x y

1 ( ) ()

) ) (

( ) ( ) ( , 1, ) ( ) (

) (

) ( ) ) (

, ,

(

(9) As regras resultantes do modelo funcional estão indicadas em (10). A equação de modelagem (11) de um controlador PI clássico será utilizada para efeito de comparação. A Fig. 1 ilustra o controlador PI di- fuso correspondente, onde g1 e g2 são fatores de es- cala. A Fig. 2 mostra a resposta (u) do mesmo para uma entrada de erro (e) degrau unitário. Os pontos circulares no gráfico representam a resposta do con-

trolador difuso para um tempo de amostragem (T) em 0,1 [s] e fatores de escala unitários. A resposta do compensador clássico (para mesma entrada de erro) e com ganhos (Kp e Ki) unitários, está representada em linha cheia no gráfico. Os resultados indicam que o modelo nebuloso está de acordo com o comporta- mento desejado para um controlador difuso com ação PI.

r1: IF x1 = N AND x2 = N THEN y1 = x1 + x2; r2: IF x1 = N AND x2 = P THEN y2 = x1 + x2;

r3: IF x1 = P AND x2 = N THEN y3 = x1 + x2; r4: IF x1 = P AND x2 = P THEN y4 = x1 + x2. (10) u(t) = Kpe(t)+ Ki

e(t)dt (11)

Figura 1. Controlador difuso com ação PI.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

t [s]

u(t)

Figura 2. Respostas do modelo clássico e do fuzzy.

Para um controlador difuso com ação PID basta- ria acrescentar na modelagem outra variável (x3) com a informação da derivada do erro. O próximo item contém exemplos de sistemas de controle de proces- sos práticos.

4 Exemplos

Neste item serão mostrados dois exemplos. O primei- ro é relativo a um sistema de controle de velocidade real. O segundo é referente a sistemas de amorteci- mento ativo aplicados em veículos automotivos.

4.1 Exemplo 1

O diagrama de blocos ilustrado na Fig. 3 representa uma planta modelada por uma função de transferên- cia (12) e duas não-linearidades. A primeira é repre- sentada pelo bloco (a), e modela os níveis de satura- ção de um amplificador eletrônico (K) do processo.

e g2.∑e.T

u x1

Regras

x2

g1

(4)

A segunda não-linearidade, indicada pelo bloco (b), representa um efeito de zona-morta relacionado com folgas de engrenagens do sistema. A função de trans- ferência de segunda ordem modela um motor elétri- co. Os pólos da mesma estão relacionados com a parte elétrica (devido a resistências e indutâncias associadas), e com a parte mecânica (devido a mo- mentos de inércia e atritos) do motor. Os valores nominais dos parâmetros do processo são: K = 2,55;

c0 = 0,73; c1 = 1,74; d0 = 0,73; níveis das satura- ções em ±12; faixa da zona-morta em ±1. A Fig. 4 ilustra uma malha de controle típica para regulação da velocidade do processo dentro de certa faixa de operação.

) ) (

(

0 2 1

0

c s c s s d

P = + + (12)

A Fig. 5 é um gráfico de respostas da malha de controle em questão para um controlador PI conven- cional, com ganhos Kp = 12 e Ki = 1. Os mesmos foram ajustados para atender as especificações de tempo de acomodação próximo de 7 segundos e má- ximo pico em torno de 20% (para um valor de refe- rência de entrada ou set-point (sp) em 2,8). Os valo- res das respostas foram normalizados (c/sp), e são referentes aos seguintes valores de referência sp = [1.5; 2; 2.8]. Devido às características não- lineares da planta, as respostas dinâmicas da malha de controle mudam conforme os valores de set-point.

Alterações nos ganhos do controlador em função da intensidade do erro da malha de controle, mantém a dinâmica do sistema dentro das especificações dese- jadas. O mapeamento dos ganhos por meio de redes neurais artificiais ou por lógica difusa, por exemplo, possibilita a realização de controladores com caracte- rísticas adaptativas. A Tabela 3 ilustra alguns valores de ganhos em função da intensidade do erro (x1) e da sua integral (x2). O mapeamento dos ganhos pode ser definido na forma y = Kp(x1)x1 + Ki(x2)x2. A Fig. 6 ilustra este mapeamento (na parte superior da figura em cor preta estão os dados relativos à variável x1, e em cor cinza os dados relativos a x2).

0 1 2 3 4 5 6 7 8 9 10

0 0.2 0.4 0.6 0.8 1 1.2 1.4

Time (s)

Normalized responses (classical controller)

sp= 1.5 sp= 2 sp= 2.8

Figura 5. Respostas da malha com o controlador clássico.

Tabela 3. Ganhos em função do erro e da sua integral.

x1 Kp x2 Ki

0.00 20.0 0.00 1.40 0.08 20.0 0.07 1.40 0.16 11.5 0.15 1.00 0.31 6.37 0.30 1.00 0.74 3.23 0.72 1.00 1.19 2.35 1.17 0.89 1.62 2.02 1.60 0.76 2.00 2.00 1.99 0.75 2.50 2.00 2.48 0.75 3.01 2.00 3.00 0.75

0 50 100 150 200 250 300

-4 -2 0 2 4

0 50 100 150 200 250 300

-10 -5 0 5 10

Samples

Output values

Samples

Input values

Figura 6. Dados do mapeamento dos ganhos.

As informações da Fig. 6 constituem a tabela do sistema de informação em questão. Para processar estes dados e gerar as regras de decisão, foi utilizado o software Rosetta (http://www.idi.ntnu.no/~aleks/

rosetta/). Os seguintes procedimentos foram selecio- nados no aplicativo: Discretize → Equal frequency binning Intervals = 5; Reduction → Exhaustive calculation (RSES) Full; Rule generator (RSES).

As regras de decisão (as primeiras e as últimas) ge- radas pelo software estão mostradas em (13).

u c

P(s)

a b

K

Figura 3. Planta não-linear.

sp +

e Controlador u

Planta c

-

Figura 4. Malha de controle.

(5)

x1(0.6875,*) AND x2(0.2942,0.8800) => y(4.0889) OR y(4.2937) OR ... OR y(2.5230) OR … OR y(3.4186) x1(0.6875,*) AND x2(-0.2123,0.2942) => y(2.4749) OR y(3.6601) OR y(5.4837) OR ... OR y(1.8793)

x1(0.1744,0.6875) AND x2(-0.9279,-0.2123) => y(1.7301) OR … OR y(2.0570) OR y(1.2289) OR … OR y(1.8768) … … x1(0.1744,0.6875) AND x2(0.2942,0.8800)) => y(2.8625) OR y(3.0640) OR … OR y(2.2344) OR … OR y(2.5777) x1(*,-0.8340) AND x2(0.2942, 0.8800) => y(-2.4899) OR y(-1.8370) OR … OR y(-3.2713) OR … OR y(-2.9220) (13)

Utilizando a metodologia proposta, regras po- dem escritas na forma dada por (6) resultando em (14), cujos valores dos intervalos são: x1(a) = -2.6759;

x1(b) = -0.834; x1(c) = -0.2338; x1(d) = 0.1744;

x1(e) = 0.6875; x1(f) = 2.8149; x2(a) = -3.5027;

x2(b) = -0.9279; x2(c) = -0.2123; x2(d) = 0.2942;

x2(e) = 0.88; x2(f) = 2.7042.

r1: IF x1(e)≤x1≤x1(f) AND x2(d)≤x2≤x2(e) => 2.523≤y≤4.2937 r2: IF x1(e)≤x1≤ x1(f) AND x2(c)≤x2≤x2(d) => 1.8793≤y≤5.4837 r3: IF x1(d)≤x1≤x1(e) AND x2(b)≤x2≤x2(c) => 1.2289≤y≤ 2.057 r4: IF x1(b)≤x1≤x1(c) AND x2(a)≤x2≤x2(b) => -3.4899≤y≤-2.847 r5: IF x1(a) ≤x1≤x1(b) AND x2(c)≤x2≤x2(d) => -6.581≤y≤-1.942 r6: IF x1(b)≤x1≤x1(c) AND x2(e)≤x2≤x2(f) => -1.2319≤y≤-0.461 r7: IF x1(a)≤x1≤x1(b) AND x2(e)≤x2≤x2(f) => -2.708≤ y≤1.1847 r8: IF x1(c)≤x1≤x1(d) AND x2(d)≤x2≤x2(e) => -1.8116≤y≤2.417 r9: IF x1(b)≤x1≤x1(c) AND x2(c)≤x2≤x2(d) => -2.421≤y≤-1.6233 r10:IFx1(a)≤x1≤x1(b) AND x2(b)≤x2≤x2(c) => -4.2604≤y≤-2.436 r11:IF x1(c)≤x1≤x1(d) AND x2(e)≤x2≤x2(f) => -1.234≤y≤2.2624 r12:IF x1(c)≤x1≤x1(d) AND x2(b)≤x2≤x2(c) => -3.0277≤y≤ 1.600 r13:IF x1(c)≤x1≤x1(d) AND x2(a)≤x2≤x2(b) => -4.443≤ y≤4.1896 r14:IF x1(b)≤x1≤x1(c) AND x2(b)≤x2≤x2(c) => -3.203≤y≤-2.076 r15:IF x1(e)≤x1≤x1(f) AND x2(b)≤x2≤x2(c) => 1.1753≤y≤6.476 r16:IF x1(b)≤x1≤x1(c) AND x2(d)≤x2≤x2(e) => -1.825≤y≤-1.078 r17:IF x1(e)≤x1≤ x1(f) AND x2(a)≤x2≤ x2(b) => 0.612≤y≤ 2.736 r18:IF x1(c)≤x1≤x1(d) AND x2(c)≤x2≤x2(d) => -2.098≤y≤2.1297 r19:IF x1(d) ≤x1≤x1(e) AND x2(c)≤x2≤x2(d) => 1.7996≤y ≤2.458 r20:IF x1(d)≤x1≤x1(e) AND x2(e)≤x2≤x2(f) => 2.9106≤y≤3.616 r21:IF x1(a)≤x1≤x1(b) AND x2(a)≤x2≤x2(b) => -5.4544≤y≤-3.029 r22:IF x1(e)≤x1≤x1(f) AND x2(e)≤x2≤x2(f) => 2.8684≤y≤ 5.6692 r23:IF x1(d)≤x1≤x1(e) AND x2(a)≤x2≤x2(b) => 0.6848≤y ≤1.219 r24:IF x1(d)≤x1≤x1(e) AND x2(d)≤x2≤ x2(e) => 2.2344≤ y≤3.064 r25:IF x1(a)≤x1≤x1(b) AND x2(d)≤x2≤x2(e) => -3.2713≤y≤-1.84 (14)

Para a obtenção das regras funcionais (15) cor- respondentes, os dados da representação (14) são aplicados em (9) para se calcular os coeficientes das funções polinomiais do modelo difuso. Os valores resultantes são: c01 = 1,79; c11 = 0,42; c21 = 1,51;

c02 = 2,05; c12 = 0,85; c22 = 3,56; c03 = 1,62;

c13 = 0,81; c23 = 0,58; c04 = -2,60; c14 = 0,54;

c24 = 0,12; c05 = -2,24; c15 = 1,26; c25 = 4,58;

c06 = -0,88; c16 = 0,64; c26 = 0,21; c07 = -0,82;

c17 = 1,06; c27 = 1,07; c08 = -1,66; c18 = 5,18;

c28 = 3,61; c09 = -1,70; c19 = 0,66; c29 = 0,79;

c010 = -1,75; c110 = 0,49; c210 = 1,27; c011 = -1,08;

c111 = 4,28; c211 = 0,96; c012 = 1,30; c112 = 5,67;

c212 = 3,23; c013 = 3,90; c113 = 10,57; c213 = 1,67;

c014 = 3,89; c114 = 4,40; c214 = 3,69; c015 = 3,75;

c115 = 1,24; c215 = 3,70; c016 = -1,49; c116 = 0,62;

c216 = 0,64; c017 = 1,71; c117 = 0,50; c217 = 0,41;

c018 = 0,00; c118 = 5,18; c218 = 4,17; c019 = 1,82;

c119 = 0,64; c219 = 0,65; c020 = 2,62; c120 = 0,69;

c220 = 0,19; c021 = -2,04; c121 = 0,66; c221 = 0,47;

c022 = 1,74; c122 = 0,66; c222 = 0,77; c023 = 0,96;

c123 = 0,52; c223 = 0,10; c024 = 1,88; c124 = 0,81;

c224 = 0,71; c025 = -2,59; c125 = 0,39; c225 = 1,22. Os valores modais das funções de pertinência gaussianas são obtidos pela média aritmética dos valores dos intervalos de (14), exemplificando: m1ab = (x1(a) + x1(b))/2; m1bc = (x1(b) + x1(c))/2; m1ef = (x1(e) + x1(f))/2;

m2ab = (x2(a) + x2(b))/2; m2bc = (x2(b) + x2(c))/2;

m2ef = (x2(e) + x2(f))/2. Os valores de dispersão das funções gaussianas são escolhidos de modo que a interseção das mesmas ocorra em um grau de perti- nência em torno de 0,5. Assim, podem ser definidos os conjuntos nebulosos denominados D1(ab), D1(bc), D1(cd), D1(de), D1(ef), D2(ab), D2(bc), D2(cd), D2(de), D2(ef). r1: IF x1=D1(ef) AND x2=D2(de) THEN y1= c01+c11x1+c21x2

r2: IF x1=D1(ef) AND x2=D2(cd) THEN y2 = c02+c12x1+c22x2 r3: IF x1=D1(de) AND x2=D2(bc) THEN y3= c03+c13x1+c23x2 r4: IF x1=D1(bc) AND x2=D2(ab) THEN y4= c04+c14x1+c24x2

r5: IF x1=D1(ab) AND x2=D2(cd) THEN y5= c05+c15x1+c25x2

r6: IF x1=D1(bc) AND x2=D2(ef) THEN y6= c06+c16x1+c26x2

r7: IF x1=D1(ab) AND x2=D2(de) THEN y7= c07+c17x1+c27x2

r8: IF x1=D1(cd) AND x2=D2(de) THEN y8= c08+c18x1+c28x2

r9: IF x1=D1(bc) AND x2=D2(cd) THEN y9= c09+c19x1+c29x2 r10:IF x1=D1(ab) ANDx2=D2(bc) THEN y10=c010+c110x1+c210x2

r11:IF x1=D1(cd)ANDx2=D2(ef) THEN y11=c011+c111x1+c211x2

r12:IF x1=D1(cd)ANDx2=D2(bc) THEN y12=c012+c112x1+c212x2

r13:IF x1=D1(cd) ANDx2=D2(ab) THEN y13=c013+c113x1+c213x2

r14:IF x1=D1(bc)ANDx2=D2(bc) THEN y14=c014+c114x1+c214x2

r15:IF x1=D1(ef) ANDx2=D2(bc) THEN y15=c015+c115x1+c215x2 r16:IF x1=D1(bc)ANDx2=D2(de) THEN y16=c016+c116x1+c216x2 r17:IF x1=D1(ef) ANDx2=D2(ab) THEN y17=c017+c117x1+c217x2

r18:IF x1=D1(cd)ANDx2=D2(cd) THEN y18=c018+c118x1+c218x2

r19:IF x1=D1(de)ANDx2=D2(cd) THEN y19=c019+c119x1+c219x2

r20:IF x1=D1(de)ANDx2=D2(ef) THEN y20=c020+c120x1+c220x2

r21:IF x1=D1(ab)ANDx2=D2(ab) THEN y21=c021+c121x1+c221x2 r22:IF x1=D1(ef)ANDx2=D2(ef) THEN y22=c022+c122x1+c222x2 r23:IF x1=D1(de)ANDx2=D2(ab) THEN y23=c023+c123x1+c223x2

r24:IF x1=D1(de)ANDx2=D2(de) THEN y24=c024+c124x1+c224x2

r25:IF x1=D1(ab)ANDx2=D2(de) THEN y25=c025+c125x1+c225x2

(15) Na Fig. 7 têm-se as respostas normalizadas (c/sp) da malha de controle usando agora o controla- dor funcional modelado pelas regras (15). As respos- tas tendem a manter as características especificadas de máximo pico e tempo de acomodação para os diferentes valores de set-point utilizados sp = [1.5; 2;

2.8], diferentemente das respostas do controlador PI clássico (cujas respostas estão mostradas na Fig. 5).

Isto mostra que o controlador difuso incorporou as relações (não-lineares) dos ganhos da Tabela 3 em função do erro da malha de controle da sua integra- ção. Os fatores de escala (Fig. 1) são unitários, pois as regras já incorporam as variações dos ganhos rela- tivos ao mapeamento das informações pertinentes a Tabela 3. A atuação do controlador fuzzy resultante tem ação adaptativa conforme a intensidade do sinal do erro da malha de controle

(6)

0 1 2 3 4 5 6 7 8 9 10 0

0.2 0.4 0.6 0.8 1 1.2 1.4

Time (s)

Normalized responses (rough controller)

sp=1.5 sp=2

sp=2.8

Figura 7. Respostas da malha com o controlador difuso.

4.2 Exemplo 2

Este exemplo refere-se a um sistema de suspensão ativo. Nas referências bibliográficas é citado um tra- balho (Pinheiro, 2004) que fornece detalhes sobre a estrutura, modelagem e resultados experimentais de um sistema de suspensão semi-ativo típico. No artigo é desenvolvida uma estratégia de controle que utiliza lógica fuzzy, onde as regras nebulosas são obtidas por meio de análises qualitativas de uma lógica de controle típica (16). A grandeza Fa corresponde à força desenvolvida pelo amortecedor ativo (ou semi- ativo) do sistema de amortecimento. A mesma de- pende dos valores (Con e Coff) definidos para o coefi- ciente de operação do amortecedor, e das velocida- des absoluta (Vabs) e relativa (Vrel) do processo. Neste exemplo as regras serão obtidas com o emprego da metodologia proposta. A Fig. 8 mostra dados de (16) que processados pelo software Rosetta, chega-se as regras (17) segundo a estrutura (6) proposta, onde:

x1(a)= -2.385; x1(b)= -0.681; x1(c)= -0.184; x1(d) = 0.383;

x1(e)= 0.90; x1(f)= 2.731; x2(a)= -0.3153; x2(b)= -0.078;

x2(c) = -0.008; x2(d) = 0.04; x2(e )= 0.1; x2(f) = 0.368.

Os resultados obtidos com o controlador funcio- nal resultante são similares aos do artigo citado, onde x1 está relacionado com Vabs, x2 com Vrel e y com Fa.

⎩⎨

<

= +

0.

V se

0, V

se V C

abs abs rel

off

rel rel

off

rel abs

on

a C V V

V V

F C (16)

0 50 100 150 200

-0.4 -0.2 0 0.2 0.4

Samples

Absolute speed (m/s)

0 50 100 150 200

-4 -2 0 2 4

Samples

Relative speed (m/s)

0 50 100 150 200

-3 -2 -1 0 1 2 3

Samples

Command input (V)

0 50 100 150 200

-2000 -1000 0 1000 2000

Samples

Compensation force (N)

Figura 8. Dados da estratégia modelada por (16).

r1: IF x1(e)≤x1≤x1(f) AND x2(e)≤x2≤x2(f) => -3.709≤y≤1.562 r2: IF x1(e)≤x1≤x1(f) AND x2(d)≤x2≤x2(e) => -3.593≤y≤1.379 r3: IF x1(c)≤x1≤x1(d) AND x2(d)≤x2≤x2(e) => 0.621 ≤y ≤0.226 r4: IF x1(e)≤x1≤x1(f) AND x2(b)≤ x2≤x2(c) => -2.385≤y≤-1.23 r5: IF x1(e)≤x1≤x1(f) AND x2(c)≤x2≤x2(d) => -2.279≤y≤-1.218 r6: IF x1(d)≤x1≤x1(e) AND x2(c)≤x2≤x2(d) => -1.092≤y≤-0.597 r7: IF x1(a)≤x1≤x1(b) AND x2(a)≤x2≤x2(b) => 1.513≤y≤ 3.387 r8: IF x1(e)≤x1≤x1(f) AND x2(a)≤x2≤x2(b) => -2.251≤y≤-1.128 r9: IF x1(a)≤x1≤x1(b) AND x2(d)≤x2≤x2(e) => 0.967≤y≤ 3.443 r10:IF x1(d) ≤x1≤x1(e) AND x2(b)≤x2≤x2(c) => -0.513≤y≤-1.062 r11:IF x1(a)≤x1≤x1(b) AND x2(c)≤x2≤x2(d) => 0.923≤y≤ 3.174 r12:IF x1(c)≤x1≤x1(d) AND x2(a)≤x2≤x2(b) => -0.437≤y≤-0.074 r13:IF x1(b)≤x1≤x1(c) AND x2(a)≤x2≤x2(b) => 0.783≤y≤ 1.547 r14:IF x1(c)≤x1≤x1(d) AND x2(c)≤x2≤x2(d) => -0.555≤ y≤0.188 r15:IF x1(d)≤x1≤x1(e) AND x2(a)≤x2≤x2(b) => -1.088≤y≤-0.580 r16:IF x1(c)≤x1≤x1(d) AND x2(e)≤x2≤x2(f) => -1.048≤y ≤0.116 r17:IF x1(d)≤x1≤x1(e) AND x2(d)≤x2≤x2(e) => -1.361≤y≤ -0.773 r18:IF x1(b)≤x1≤x1(c) AND x2(d)≤x2≤ x2(e) => 0.282≤ y≤ 0.800 r19:IF x1(d)≤x1≤x1(e) AND x2(c)≤x2≤x2(d) => 0.300≤y≤ 0.810 r20:IF x1(c)≤x1≤x1(d) AND x2(b)≤x2≤x2(c) => -0.384≤y≤ 0.300 r21:IF x1(a)≤x1≤x1(b) AND x2(e)≤x2≤x2(f) => 0.854≤y≤ 2.688 r22:IF x1(d)≤x1≤x1(e) AND x2(e)≤x2≤x2(f) => -2.169≤ y≤-0.992 r23:IF x1(b)≤x1≤x1(c) AND x2(e)≤x2≤x2(f) => 0.235≤y≤ 0.848 r24:IF x1(a)≤x1≤x1(b) AND x2(b)≤x2≤x2(c) => 1.073≤y≤ 2.998 r25:IF x1(b)≤x1≤x1(c) AND x2(b)≤x2≤x2(c) => 0.408≤y≤ 0.991 (17)

5 Conclusão

Este trabalho apresentou uma nova metodologia para projeto de controladores difusos via processamento de conjuntos aproximados. O método proposto pos- sibilita a obtenção de parâmetros de modelos basea- dos em regras de forma sistemática e de fácil compu- tação. Os resultados obtidos indicam que o método é adequado para aplicações em sistemas de controle reais. A extensão desta metodologia para sistemas de múltiplas entradas e saídas é simples e será mostrada em trabalhos futuros.

Referências Bibliográficas

Pawlak, Z. (1982). Rough sets. International Journal of Computer and Inf. Sciences, 341-356.

Pawlak, Z. (1991). Rough Sets: Theoretical Aspects of Reasoning about Data. Kluwer Academic Publishers, Dordrecht.

Pawlak, Z. e Skowron, A. (2007). Rudiments of rough sets. Information Sciences, 177, 3-27.

Pedrycz, W. e Gomide, F. (2007). Fuzzy Systems Engineering: Toward Human Centric Computing. Wiley Interscience/IEEE, Hoboken.

Pinheiro, C. (2004). Estratégia de Controle Fuzzy para Suspensão Ativa Automobilística. XV Congresso Brasileiro de Automática (em CD).

Pinheiro, C., Gomide, F., Carpinteiro, O. e Lopez, B.

(2009). Granular Synthesis of Rule-Based Models and Function Approximation using Rough Sets. Chapter in the book Novel Developments in Granular Computing, ed.

JingTao Yao, Information Science Publishing.

Referências

Documentos relacionados

A terceira razão centra-se no facto de, para além de uma formação essencial em marketing e estratégia, o curso lhe proporciona conhecimentos aprofundados com base naquilo que de

Trata-se de um relato de pesquisa e experiência prática, de natureza descritiva, sobre a vivência em um projeto de extensão universitário multidisciplinar realizado na

As variáveis canônicas explicaram a maior parte da variância total dos dados, mas a den- sidade básica da madeira, característica funda- mental na avaliação de clones de

Código: 05 SECRETÁRIA Vagas:02 Escala de Trabalho: não há, o staff irá apoiar o evento enquanto estiverem ocorrendo atividades Perfil do Candidato:. Ter o perfil

O presente estudo foi realizado com o objetivo de descrever o perfil das mulheres que tiveram parto na maternidade do Hospital Universitário Polydoro Ernani de São Thiago em

- Se o estagiário, ou alguém com contacto direto, tiver sintomas sugestivos de infeção respiratória (febre, tosse, expetoração e/ou falta de ar) NÃO DEVE frequentar

Silva e Márquez Romero, no prelo), seleccionei apenas os contextos com datas provenientes de amostras recolhidas no interior de fossos (dado que frequentemente não há garantia

Assim, o objetivo do presente trabalho é estimar parâmetros genéticos e ganhos com a seleção dos melhores indivíduos para formação de pomar clonal de sementes