Escolar Documentos
Profissional Documentos
Cultura Documentos
, x
;
b. Matriz de pesos (
;
c. Ponto de soma ();
d. Limitador de sinais ou limiar;
e. Funo de ativao;
f. Sada.
29
Figura 8 - Componentes do neurnio artificial
Cada neurnio artificial em uma RNA recebe um vetor de entradas. Esse vetor de
entradas multiplicado por um valor chamado de peso, armazenados em uma matriz.
Esses valores definem a influncia de cada entrada no valor de sada do neurnio. Aps
essa multiplicao, os valores so somados e seus sinais so limitados, transformando-
se em um nico valor. Este valor utilizado em uma funo de ativao. Existem
diversos tipos de funes de ativao, dentre elas: funo degrau, funo sigmoide e
funo linear, ilustradas na Figura 9. O valor resultante da funo o valor de sada do
neurnio.
30
Figura 9 - Funo de ativao (COPPIN, 2004)
As RNAs possuem trs tipos de camadas: camada de entrada, camada intermediria e
camada de sada, ilustradas na Figura 10.
Figura 10 - Tipos de camadas das redes neurais
As redes neurais artificiais so classificadas de acordo com a sua topologia: quantidade
de camadas e distribuio dos neurnios. Sero abordadas as seguintes topologias:
perceptron, modelo multicamadas, redes neurais construtivas e redes neuro-fuzzy.
Existem estruturas as quais se consegue identificar claramente as camadas da RNA e
estas so definidas antes do seu treinamento, tais como: o modelo do perceptron (Figura
31
5), a qual possui somente a camada de entrada e sada, e o modelo multicamadas,
aperfeioamento do modelo de Rosenblatt que possui uma ou mais camadas
intermedirias (exemplificado na Figura 10).
Porm, h um modelo onde a topologia das camadas da RNA definida e alterada
conforme o seu treinamento, sendo chamadas de redes neurais construtivas. A ideia
desse tipo de RNA imitar a propriedade da maleabilidade do crebro humano, onde a
rede procura uma estrutura das conexes dos neurnios a qual otimiza os resultados
obtidos.
O ltimo tipo de rede neural a rede neuro-fuzzy. A rede neuro-fuzzy no
propriamente um tipo de RNA, pois esta faz uso de outros modelos (multicamadas,
redes neurais construtivas). A sua diferena que, em sua estrutura, uma das camadas
possui implementao de regras escritas em lgica fuzzy. E esta lgica abordada no
prximo captulo.
32
3. LGICA FUZZY
Neste captulo, so apresentados conceitos abordados na lgica clssica e as derivadas
desta, cuja nfase a lgica fuzzy. A respeito da lgica nebulosa, discute-se sua
definio, base terica de forma exemplificada e simplificada e trabalhos relacionados
na rea de Cincia da Computao.
3.1. Lgica Aristotlica
Antes da explicao acerca da lgica fuzzy, h a necessidade de discusso dos conceitos
que a lgica abrange. Tal discusso vem sido feita por vrios sculos, especialmente
pela filosofia.
O comeo da lgica se remonta ao sculo IV a.C., por meio de Aristteles que exprimiu
pensamentos acerca de proposies, silogismos, premissas e concluses.
Pode-se definir proposio como conjunto de palavras ou smbolos que exprimem um
pensamento de sentido completo (FILHO, 2002). Aristteles classificou as proposies
em quatro categorias, diferenciando-se em qualidade e quantidade, sendo esta
distribuda em universais ou particulares e aquela subdividida em afirmao e negao
(D'OTTAVIANO e FEITOSA, 2003). As categorias so: universal afirmativa, universal
negativa, particular afirmativa e particular negativa. A seguir, so apresentados
exemplos de proposio para cada uma destas categorias:
Universal afirmativa Todos os animais so mortais;
Universal negativa Nenhum animal imortal
Particular afirmativa Alguns homens so sbios
Particular negativa Alguns homens no so sbios.
Alm da classificao, as proposies fazem parte de sistemas dicotmicos, ou seja,
possuem dois estados excludentes um do outro bem definidos, sendo eles: verdadeiro e
falso.
Esse sistema dicotmico aristotlico possui algumas regras fundamentais: Lei da
Identidade, Lei da No Contradio e Lei do Terceiro Excludo.
33
Lei da Identidade Esta lei determina que um elemento seja igual a ele
mesmo, ou seja, a = a.
Lei da No Contradio Esta lei determina que uma dada proposio no
pode ser verdadeira e falsa simultaneamente.
Lei do Terceiro Excludo Esta lei determina que uma dada proposio ou
verdadeira ou falsa, ou seja, no h uma terceira opo.
Uma proposio cujo valor fundamentalmente verdadeiro chamada de premissa.
Quando se tem duas premissas interconectadas em seu significado de alguma forma e, a
partir da, infere-se uma terceira proposio, necessariamente verdadeira, tem-se o que
Aristteles chamou de silogismo.
De maneira mais simples, o silogismo definido a partir de duas premissas e uma
concluso (a proposio inferida) obtida a partir daquelas. A seguir, apresentado um
exemplo de silogismo:
Premissa A: Todos os homens so mortais
Premissa B: Scrates homem
Concluso: Scrates mortal.
Devido ao fato da lgica aristotlica ser uma lgica bivalente, ela muito utilizada na
computao, pois os computadores tambm so sistemas dicotmicos, cujos valores so
zero (0) e um (1), podendo assim fazer a associao dos valores lgicos aristotlicos aos
valores binrios computacionais, associao esta a qual o principal paradigma de
programao na cincia da computao atualmente.
Alm da lgica aristotlica, h tambm outros tipos de lgicas: lgica modal, lgica
epistmica, lgica dentica, lgica paraconsistente, lgica paracompleta e lgica
difusa.
Estas so divididas em dois tipos baseadas em sua origem: clssicas e anticlssicas,
apresentadas na Figura 11.
34
Figura 11 - Tipos de Lgicas
As clssicas so baseadas na lgica de Aristteles obedecendo s suas regras
fundamentais, sendo elas: lgica modal, epistmica e dentica.
As anticlssicas revogam pelo menos uma das leis adotadas pela lgica aristotlica e,
dentre elas, pode-se citar: lgica paraconsistente, paracompleta e difusa.
Todas elas sero abordadas nos tpicos a seguir.
3.2. Lgicas Clssicas
A seguir, sero abordadas as definies das lgicas fundamentadas na lgica clssica,
ou seja, lgicas que obedecem todas as leis aristotlicas.
3.2.1. Lgica Modal
Este tipo de lgica exprime noes de possibilidade e necessidade (MARCOS, 2006),
as quais definem quatro tipos de proposies:
Proposio necessariamente verdadeira: proposio que possui apenas valor
verdadeiro, ou seja, no h situao em que seu valor mude para falso. Pode-se
citar como exemplo esta proposio necessariamente verdadeira: Todos os
homens so mortais, pois no h homem imortal.
35
Proposio possivelmente verdadeira: proposio que est verdadeira, porm
podem existir circunstncias as quais o seu valor est falso, sendo para a
situao em questo verdadeira. Pode-se citar como exemplo esta proposio
possivelmente verdadeira: O cu est nublado hoje, ou seja, hoje o tempo est
nublado, mas amanh pode estar ensolarado.
Proposio necessariamente falsa: proposio a qual o seu valor falso, ou
seja, no h situao em que seu valor mude para verdadeiro. Pode-se citar
como exemplo esta proposio necessariamente falsa: Os ces miam, pois no
existe um co que mie.
Proposio possivelmente falsa: proposio que est falsa, porm podem
existir circunstncias as quais o seu valor est verdadeiro, sendo para a situao
em questo falsa. Pode-se citar como exemplo esta proposio possivelmente
falsa: O cu est ensolarado, ou seja, o cu est nublado, porm amanh pode
estar ensolarado.
3.2.2. Lgica Epistmica
Este tipo de lgica baseado no conhecimento adquirido e expresso em noes de
certeza e incerteza, definindo quatro tipos de proposies:
Proposio incertamente verdadeira: proposio verdadeira a qual possvel
que seu valor mude para falso por causa de aquisio de conhecimento sobre o
assunto. Pode-se citar como exemplo esta proposio: Pode ser que no tenha
vida em outros planetas, ou seja, de acordo com o conhecimento obtido at o
momento no foi descoberto nenhum extraterrestre, mas no se tem certeza que
estamos sozinhos no universo.
Proposio certamente verdadeira: proposio que permanecer verdadeira,
devido ao fato de que o conhecimento permite afirmar que tal conjectura
verdade. A proposio: impossvel a existncia de gua em estado lquido
com temperaturas abaixo de zero grau Celsius certamente verdadeira, pois tal
afirmao j foi provada.
Proposio incertamente falsa: proposio falsa a qual possvel que seu valor
mude para verdadeiro porque houve aquisio de conhecimento sobre o assunto.
36
Pode-se citar como exemplo esta proposio: Pode ser que os neutrinos
possuam uma velocidade maior do que a da luz, mas tal fato deve ser provado
com o conhecimento da fsica atual a luz possui a maior velocidade, sendo acima
da dos neutrinos.
Proposio certamente falsa: proposio que permanecer falsa, devido ao fato
de que o conhecimento permite afirmar que tal conjectura falsa. A proposio:
impossvel a existncia dos dinossauros certamente falsa, pois a existncia
dos dinossauros provada atravs dos seus esqueletos.
3.2.3. Lgica Dentica
Este tipo de lgica baseado em princpios morais e ticos, sendo expresso em noes
de obrigatoriedade e permisso (GOMES, 2008), definindo quatro tipos de
proposies:
Proposio obrigatoriamente verdadeira: proposio a qual seu valor
verdadeiro por causa de algum princpio moral ou tico. Exemplificando:
Quando um cidado no sonega impostos, este obrigado a pagar impostos,
ou seja, verdadeiro porque existem leis que determinam este valor para esta
proposio.
Proposio permitidamente verdadeira: proposio a qual seu valor
verdadeiro por causa de alguma permisso fundamentada em algum princpio
moral ou tico. Exemplificando: Nos Estados Unidos, permitido que as
pessoas doentes fumem maconha com prescrio mdica, ou seja, tal afirmao
verdadeira, mas no necessariamente obrigatria.
Proposio obrigatoriamente falsa: proposio a qual seu valor falso por
causa de algum princpio moral ou tico. Exemplificando: No obrigatrio o
uso de cinto de segurana para motoristas, ou seja, falso porque existe uma lei
que determina o uso do cinto de segurana para motoristas e qualquer ocupante
do carro.
Proposio permitidamente falsa: proposio a qual seu valor falso por
causa de alguma permisso fundamentada em algum princpio moral ou tico.
Exemplificando, temos: No Brasil, permitido que as pessoas doentes fumem
37
maconha com prescrio mdica, ou seja, tal afirmao falsa, pois no
permitido o uso de maconha para fins teraputicos.
3.3. Lgicas Anticlssicas
Agora sero abordadas as lgicas anticlssicas, as quais abolem pelo menos uma das
leis fundamentais da lgica aristotlica.
3.3.1. Lgica Paraconsistente
Esta lgica, criada pelo brasileiro Newton da Costa (COSTA e CARNIELLI, 1986),
suprime a Lei da No Contradio, ou seja, as proposies podem possuir valores
verdadeiros e falsos conforme o seu contexto.
A lgica paraconsistente trata de inconsistncias, paradoxos e ambiguidades, permitindo
um estudo semntico das proposies (NETO e VENSON, 2002).
Exemplificando, pode-se citar esta proposio: A ma vermelha. Para determinar o
valor lgico desta afirmao, necessrio um contexto, pois as mas so vermelhas
quando esto maduras, mas elas podem ser verdes tambm, ou seja, a afirmao
verdadeira em um contexto, mas seu valor pode ser falso em outro contexto diferente.
3.3.2. Lgica Paracompleta
Esta lgica revoga a Lei do Terceiro Excludo, ou seja, uma proposio pode possuir um
valor diferente de verdadeiro e falso, como por exemplo: indeterminado e nem
verdadeira e nem falsa.
De acordo com Carneiro (2006), enquanto a lgica paraconsistente trabalha com
contradies, a paracompleta faz uso das lacunas que uma afirmao pode ter em seu
significado, exemplificando: Esta frase falsa e verdadeira. Se o valor desta
proposio for verdadeiro, ou seja, Esta frase falsa e verdadeira verdadeiro, ento
a frase falsa, pois o contedo da frase diz que esta falsa. Se o valor for falso, ou seja,
Esta frase falsa e verdadeira falso, ento a frase passa a ser verdadeira, pois o
contedo da frase diz que esta verdadeira, contrariando assim o valor assumido. Assim
38
sendo, a proposio no pode ser falsa e tambm no pode ser verdadeira, possuindo
um valor indeterminado para o seu contedo.
3.3.3. Lgica Difusa
Esta lgica abole a Lei da No Contradio e a Lei do Terceiro Excludo, pois suas
proposies trabalham com graus de pertinncia (probabilidade) que so valores que
definem o quanto uma proposio verdadeira e/ou falsa.
Assim sendo, a proposio possui um valor X% verdadeiro e um valor Y% falso, o que
contraria a Lei da No Contradio, pois suas afirmaes so falsas e verdadeiras ao
mesmo tempo.
Estes valores podem ser expressos em outros termos como possvel, talvez,
provavelmente verdade e provavelmente falso, fazendo com que a Lei do Terceiro
Excludo seja abolida de seu conceito.
Quando o meteorologista informa que amanh tem 80% de chance de chover, ele est
valorizando a proposio Chover amanh com 80% verdadeiro.
Dentre todos estes tipos de lgica apresentados, ser abordada de forma mais
aprofundada a lgica difusa ou fuzzy.
3.4. Lgica Fuzzy
Em 1965, Lofti Askar Zadeh idealizou o conceito fuzziness (traduzido do idioma ingls,
significa difuso ou nebuloso) em um artigo chamado Fuzzy Sets (ZADEH, 1965).
Neste artigo, Zadeh explica a fundamentao dos conjuntos nebulosos, contrastando o
conceito destes definio de conjuntos proposta por Georg Cantor.
A teoria dos conjuntos de Cantor define a relao de pertinncia entre elementos e
conjuntos.
A pertinncia determina que certo elemento pertence (simbolizado por ) ou no
pertence (simbolizado por ) a um determinado conjunto. Como exemplo, podem-se
citar dois conjuntos numricos: o conjunto dos inteiros (simbolizado por ) nmeros
39
inteiros positivos e negativos e o conjunto dos nmeros naturais (simbolizado por )
nmeros inteiros positivos representados na Figura 12.
Figura 12 - Conjuntos Numricos
Tendo como exemplo os elementos 5, -2 e , pode-se dizer que:
5 , 5 : o nmero 5 pertence aos dois conjuntos, pois um nmero inteiro
positivo.
-2 , -2 : o nmero -2 pertence ao conjunto dos inteiros, mas no pertence
ao conjunto dos naturais, pois um nmero inteiro negativo.
, : o nmero no pertence a nenhum dos conjuntos, pois um
nmero fracionrio (racional).
A teoria dos conjuntos de Cantor tambm faz uso das leis da lgica clssica, ou seja:
Lei do Terceiro Excludo: um elemento ou pertence () ou no pertence ) a
um determinado conjunto, no h outra opo. Ou seja, seja a um elemento e A
um conjunto, tem-se que: ou a A ou a A verdadeiro, pois no h terceira
opo de acordo com esta lei.
Lei da No Contradio: um elemento no pode pertencer () e no pertencer
() a um determinado conjunto. Ou seja, seja a um elemento e A um conjunto,
tem-se que: a A e a A falso, pois contrrio a Lei da No Contradio.
40
Em contraste com a teoria dos conjuntos cantoriana, pode-se conceituar o que vem a ser
a teoria dos conjuntos nebulosos, idealizado por Zadeh.
Devido complexidade dos problemas do mundo real, o pai da lgica fuzzy notou que
os conjuntos cantorianos no admitiam algumas situaes reais as quais eram possveis
e, na verdade, frequentes. Sendo assim, percebeu algo que ningum havia notado, que o
paradigma at ento utilizado era muito limitado e props o conjunto nebuloso que
uma expanso da teoria dos conjuntos de Cantor e nela baseada. A sua principal ideia
a que a pertinncia de um conjunto descrita por meio de valores chamados de grau
de pertinncia.
O grau de pertinncia possui um intervalo de valores o qual pode se limitar. Este
intervalo chamado de universo de discurso.
Existe tambm o conceito de cardinalidade que a quantidade de conjuntos nebulosos
utilizados para a classificao.
Para melhor entendimento, pode-se utilizar o exemplo da Figura 12 com os conjuntos
dos inteiros () e o conjunto dos nmeros naturais (), onde se tem que a cardinalidade
dois.
Ser utilizado o elemento -2 da explicao da teoria dos conjuntos de Cantor. Para
Cantor, -2 e -2 . Mas para Zadeh, tem-se que:
-2 , -2 , -2 e -2 (1)
Mas como isso possvel? possvel devido ao grau de pertinncia, o valor que
determina o quanto o elemento pertence a um conjunto e no pertence a este conjunto.
E para determinar este valor, determina-se tambm um universo de discurso e uma
funo de pertinncia.
O universo de discurso o intervalo que determina a variao dos valores fuzzy
possveis.
A funo de pertinncia uma funo a qual retorna o grau de pertinncia de um dado
elemento. Os valores retornados desta funo de pertinncia devem estar entre os
valores do intervalo definido do universo de discurso escolhido.
41
Sejam escolhidos os valores entre 0% e 100% como universo de discurso, com intervalo
fechado (0% e 100% inclusive). Assim sendo, possvel para Zadeh que (1) acontea,
onde:
-2 com grau de pertinncia 0%: o nmero -2 pertence 0% ao conjunto dos
naturais.
-2 com grau de pertinncia 100%: o nmero -2 no pertence 100% ao
conjunto dos naturais.
-2 com grau de pertinncia 100%: o nmero -2 pertence 100% ao conjunto
dos inteiros.
-2 com grau de pertinncia 0%: o nmero -2 no pertence 0% ao conjunto
dos inteiros.
Outra forma de se abordar os conceitos envolvidos em conjuntos nebulosos o descrito
em Breunig (2004): em uma sala, existem quatro pessoas com as alturas descritas na
Tabela 2.
Tabela 2 - Altura das Pessoas na Sala
Pessoa Altura (metros)
Ana 1,2
Maria 1,5
Joo 1,75
Pedro 2,0
O objetivo classificar se a pessoa alta, baixa ou de estatura mdia. Neste exemplo,
ento, a cardinalidade trs, ou seja, existem trs conjuntos nebulosos: pessoas baixas,
pessoas altas e pessoas de estatura mdia. Os elementos a serem classificados so: Ana,
Maria, Joo e Pedro.
42
Utilizando os valores entre 0 e 1 com intervalo fechado (0 e 1 inclusive) como o
universo de discurso, os elementos sero classificados em pessoas de estatura alta,
mediana ou baixa.
Por exemplo, Joo tem 1,75m de altura. Ele uma pessoa alta, mdia ou baixa? Zadeh o
classificaria conforme os valores do universo de discurso nas trs categorias com
valores os quais diria o quanto Joo pertence ao conjunto dos baixos, mdios e altos.
Assim, podem-se classificar as pessoas conforme a Tabela 3.
Tabela 3 - Classificao Nebulosa dos Elementos
Conjunto Nebuloso Pertinncia
Pessoa baixa 1 0,3 0 0
Pessoa de estatura mdia 0 1 0,8 0
Pessoa alta 0 0,1 0,4 1
Elementos Ana Maria Joo Pedro
Pode-se observar que Ana com seus 1,2 metros de altura uma pessoa baixa com o
valor mximo do universo de discurso. Pelo fato de sua altura ser pequena, o grau de
pertinncia aos outros dois conjuntos zero. Pedro possui 2 metros de altura e
considerado uma pessoa alta e o grau de pertinncia aos outros conjuntos zero, pois
uma pessoa com 2 metros de altura no nem baixa nem mdia.
J Maria com a altura de 1,5 metros de altura pode ser considerada como pouco baixa
(0,3), totalmente mdia (1) e improvavelmente alta (0,1). E, por ltimo, Joo com 1,75
metros de altura nada baixo (0), provavelmente de estatura mdia (0,8) e mais ou
menos alto (0,4).
Para determinar o valor do grau de pertinncia de um elemento a um dado conjunto, a
lgica fuzzy faz uso de funes de pertinncia. Tais funes de pertinncia podem ser
representadas atravs de equaes algbricas ou graficamente.
43
As equaes algbricas geram representaes grficas de funes contnuas, ou seja,
para cada valor de entrada existe um valor de sada correspondente.
Quando no h uma equao algbrica definida, usa-se certa quantidade de valores fuzzy
definidos. A esta quantidade d-se o nome de nvel de quantizao (NQ). Cada valor
definido do NQ um ponto descontnuo no grfico.
A limitao do valor do NQ pode fazer com que vrios valores de entrada correspondam
a um mesmo valor de sada, gerando um grfico pontual de funo descontnua.
Pode-se, ento, definir as funes de pertinncia dos conjuntos de pessoas baixas,
mdias e altas conforme Figura 13, Figura 14 e Figura 15, respectivamente.
Figura 13 Representao Grfica do Conjunto das Pessoas Baixas (BREUNIG, 2004)
Figura 14 Representao Grfica do Conjunto das Pessoas Mdias (BREUNIG, 2004)
44
Figura 15 - Representao Grfica do Conjunto das Pessoas Altas (BREUNIG, 2004)
Foi com esta ideia que Zadeh revolucionou o modo como os conjuntos matemticos
eram vistos. Mas ele no parou por a. Ele notou que, da mesma maneira que a lgica
clssica era bivalente, os conjuntos cantorianos tambm o eram. Assim sendo, os seus
conjuntos poderiam ser descritos de forma mais abrangente. Fazendo o uso da corrente
de lgicas anticlssicas, Zadeh props a lgica fuzzy em 1973 (ZADEH, 1973), uma
lgica que era baseada na sua teoria de conjuntos fuzzy.
Da mesma maneira que os conjuntos fuzzy so expanses da teoria dos conjuntos de
Cantor, a lgica fuzzy uma expanso de todas as lgicas mencionadas neste trabalho:
lgica aristotlica, dentica, modal, epistmica, paraconsistente e paracompleta.
Zadeh descreveu quando a lgica fuzzy deve ser utilizada (ZADEH, 1973): Quanto
mais perto olhamos para um problema do mundo real, mais nebulosa se torna a sua
soluo, ou seja, o pensamento humano no valorado conforme a lgica clssica, em
dois valores, mas sim baseada em verdades fuzzy, conectivos fuzzy e regras de
inferncia fuzzy.
Pode-se dividir o funcionamento da lgica fuzzy em trs mdulos: fuzzificao, regras
de inferncia e defuzzificao.
A fuzzificao o processo de converso de um valor escalar de entrada em um valor
lgico fuzzy. Para fuzzificar valores escalares, so utilizadas funes de pertinncia as
quais determinam o grau de pertinncia (KOHAGURA, 2007). Valores so fuzzificados
o tempo todo no nosso cotidiano: quando uma mulher sobe numa balana para ver o seu
45
peso (valor escalar de entrada) e afirma que est gorda (valor fuzzy), ela est
fuzzificando o seu peso.
Aps a fuzzificao, chega-se no segundo mdulo. na fase de regras de inferncia
que so definidas regras que determinam a ao a ser realizada conforme os dados
advindos da fase anterior. Estas regras de inferncia definem aes para todas as
combinaes possveis de valores fuzzy. Conforme o exemplo anterior, pode-se definir
uma regra descrita assim: Se gorda, ento emagrea.
No ltimo mdulo, faz-se uso da ao determinada na fase de regras de inferncia e
converte tal dado (que se encontra fuzzificado) em um valor escalar. De maneira
simples, o processo contrrio ao de fuzzificao. Utilizando o mesmo exemplo, a ao
determinada pelo mdulo de regras de inferncia que uma pessoa gorda emagrea.
Assim sendo, a defuzzificao poderia retornar a quantia em quilos que esta pessoa
deveria emagrecer.
Em Moraes (2007), so destacadas algumas das principais caractersticas que
transformam a lgica fuzzy neste instrumento importante:
A capacidade de facilitar a modelagem de problemas independentes da sua
complexidade;
A modelagem cognitiva que permite aquisio de conhecimento de forma mais
rpida e otimizada;
Simplicidade na sua implementao;
Manipulao do conceito de incertezas e valores indeterminados que permite
auxiliar na soluo de problemas do mundo real de diversos tipos.
Tais caractersticas somadas ao modo como os dados so tratados e organizados na
lgica fuzzy faz desta uma ferramenta poderosa para diversos tipos de aplicaes. Na
Tabela 4, so apresentados alguns trabalhos realizados que utilizam a lgica fuzzy,
explicando sucintamente a respeito do foco de cada uma destas aplicaes.
46
Tabela 4 - Trabalhos desenvolvidos utilizando lgica fuzzy
Aplicao Foco
Bancos de dados relacionais fuzzy Adequao do tratamento das informaes no
processo de tomada de deciso em bancos de
dados relacionais, fazendo uso de consultas em
lgica fuzzy (PERES e BOSCARIOLI, 2002)
Anlise de concesso de crdito
pessoal
Desenvolvimento de mtodo automtico para
concesso de crdito pessoal baseado em lgica
fuzzy e sistemas especialistas (CESAR,
MACHADO e JUNIOR, 2006)
Clusterizao de bancos de
dados
Desenvolvimento de um algoritmo usando lgica
fuzzy para melhoria da tarefa de clusterizao de
bancos de dados (JUNIOR, MATTOS e SIMES,
2010)
Sistema de avaliao para
educao distncia
Desenvolvimento de um sistema de avaliao de
desempenho de alunos de educao distncia
utilizando lgica fuzzy (FARIA et al., 2008)
Sistema de avaliao de qualidade
de software
Desenvolvimento de um sistema que avalia a
qualidade do software, obtm um padro de
qualidade e estima a sua qualidade utilizando a
lgica fuzzy (BELCHIOR, 1997)
Controle de navegao de robs Desenvolvimento de um controlador fuzzy de
velocidade e posio para um rob proprioceptivo
(FARIA et al., 2011)
47
Estas aplicaes so utilizadas nas seguintes reas: sistemas especialistas, banco de
dados, robtica, linguagem natural, reconhecimento de padres, controle de processos e
sistemas de controle.
O sistema de controle implementado por meio de controladores fuzzy (FARIA et al.,
2011) a aplicao discutida no Captulo 4.
48
4. ESTUDO DE CASO
O estudo de caso em questo um controlador fuzzy de velocidade e posio para um
sistema dinmico acoplado, fazendo a abordagem do estudo de caso nas seguintes fases:
desenvolvimento, testes e resultados.
A fase de desenvolvimento a definio de como o estudo de caso foi feito, onde ser
apresentado o hardware do SDA, detalhando acerca dos principais componentes de sua
arquitetura e o software do controlador fuzzy de velocidade e posio, explicando o seu
funcionamento e implementao.
A fase de testes e resultados a fase a qual testes foram realizados e, atravs destes, os
resultados da pesquisa foram colhidos e analisados atravs de grficos.
4.1. Desenvolvimento do estudo de caso
Neste tpico, ser feita a descrio do hardware do sistema dinmico acoplado, bem
como a parte do software utilizada, apresentando a arquitetura do controlador fuzzy
implementado no estudo de caso.
4.1.1. Hardware do Sistema Dinmico Acoplado
O sistema dinmico acoplado utilizado neste trabalho, conforme dito anteriormente,
um brao robtico. A estrutura de hardware utilizada para a sua construo
representada na Figura 16. Dentre a estrutura apresentada, ser feita uma breve
explicao acerca dos servo motores, do microcontrolador ARM (Advanced RISC
Machine) e do sistema de aquisio de dados.
49
Figura 16 - Arquitetura do Sistema Dinmico Acoplado (FARIA et al., 2011)
4.1.1.1. Servo Motores
Os servo motores utilizados no brao robtico so do modelo Futaba 3003 (Figura 17),
cuja estrutura interna foi modificada para melhor utilizao no sistema dinmico
acoplado (FARIA et al., 2011).
Figura 17 servo motores modificados (FARIA et al., 2011)
50
A funo destes no sistema dinmico acoplado a mesma funo das juntas do corpo
humano que permitem a movimentao dos ossos do esqueleto em vrios graus.
4.1.1.2. Microcontrolador ARM
Ser utilizado um ARM 7 LPC2368 (Figura 18), o qual possui sistemas digitais,
implementao em PWM (Pulse Width Modulation modulao por largura de pulso),
conversores analgico-digitais e digital-analgicos, bem como comunicao em
protocolo TCP/IP (Transmission Control Protocol/Internet Protocol) (FARIA et al.,
2011).
Figura 18 - Microcontrolador ARM (FARIA et al., 2011)
no ARM que o sistema de controle fuzzy implementado neste trabalho funcionar
futuramente, aps a sua gravao no microcontrolador com a utilizao de uma
ferramenta denominada Yagarto Tools.
4.1.1.3. Sistema de Aquisio de Dados
Placa externa de aquisio de dados da DataQ Instruments, modelo DI-148U (Figura
19). Esta placa possui cinco portas digitais de entrada e sada e oito portas de converso
analgico-digital. Alm de possuir conexo USB, a sua programao feita em C++.
51
Figura 19 - Placa de Aquisio de Dados (FARIA et al., 2011)
Os dados necessrios para o funcionamento do controlador fuzzy esto nesta placa de
aquisio de dados, tais como a velocidade a qual o sistema dinmico acoplado se mexe
e em que posio este se encontra, sendo utilizado para a leitura e escrita de dados.
Aps a definio da arquitetura do sistema dinmico acoplado, foi feita a sua
construo. O hardware do sistema dinmico acoplado apresentado na Figura 20.
Figura 20 - Brao Robtico (FARIA et al., 2011)
52
4.1.2. Software do Sistema Dinmico Acoplado
Aps a construo do hardware do SDA, deu-se incio implementao necessria para
este sistema de controle. Para a implementao, foi escolhida uma abordagem em
Inteligncia Artificial e Lgica Fuzzy, por meio de controladores fuzzy.
Para iniciar o desenvolvimento do software do brao robtico, foram definidas a
linguagem de programao e ambiente de desenvolvimento. A escolha foi feita
pensando na compatibilidade entre os componentes da arquitetura de hardware.
A linguagem escolhida foi a linguagem C devido sua robustez, facilidade de
implementao e compatibilidade com o microcontrolador ARM e a placa de aquisio
de dados.
O ambiente de desenvolvimento escolhido para a implementao foi o Eclipse, pois este
tambm possui compatibilidade com as ferramentas utilizadas no desenvolvimento do
firmware para microcontroladores ARM, facilitando, aps o desenvolvimento do
software, a sua migrao para esta plataforma.
O ambiente de estudo em questo necessita de controle de duas variveis, fazendo com
que o desenvolvimento do controlador fuzzy se dividisse em duas subfases:
Desenvolvimento do controlador fuzzy de posio
Desenvolvimento do controlador fuzzy de velocidade
Aps o desenvolvimento dos dois controladores, estes foram integrados em um s. O
controlador fuzzy implementado definido pelo diagrama de blocos, definido na Figura
21.
Figura 21 - Diagrama de blocos do Controlador Fuzzy
53
Para maior entendimento dos itens 4.1.2.1, 4.1.2.2, 4.1.2.3, 4.1.2.4, 4.1.2.5 e 4.1.2.6,
pode-se verificar o Anexo A Algoritmos dos controladores fuzzy de posio e
velocidade para maior entendimento do funcionamento da implementao
desenvolvida neste trabalho.
4.1.2.1. Fuzzificao
Para a fuzzificao, foi utilizado um nvel de quantizao de 25 pontos, ou seja, existem
somente 25 valores fuzzy possveis para este controlador, os quais so armazenados em
uma estrutura de dados do tipo vetor. A quantidade de 25 pontos o mais comumente
escolhido na literatura para a implementao inicial, podendo ser ajustado e alterado
posteriormente. Primeiramente, valores so adquiridos da placa de aquisio de dados
(como a posio atual do brao robtico, por exemplo). Aps a coleta dos dados
necessrios, so calculados os valores de erro e variao de erro. O valor de erro
calculado fazendo a diferena entre a posio/velocidade desejada e a
posio/velocidade atual. Este valor informa o quanto a posio/velocidade atual est
errada da posio/velocidade desejada. O valor da variao de erro calculado pela
diferena entre os valores do erro anterior com o erro atual. Com os valores de erro e
variao de erro, estes so utilizados para a fuzzificao. Esta funo chamada duas
vezes, uma para o valor de erro e outra para o valor de variao de erro. Com o valor
de entrada (erro ou variao de erro), a funo de fuzzificao faz uma busca no vetor
de NQ de valores fuzzy com universo de discurso entre -1 e 1 para encontrar um valor
fuzzy compatvel com o valor escalar de entrada, sendo este valor nebuloso o mais
aproximado do valor escalar correspondente. A busca utilizada divide o vetor de valores
difusos em duas partes para facilitar e agilizar o resultado da busca.
4.1.2.2. Base de Dados
A definio das regras de inferncia a serem utilizadas no controlador fuzzy est na base
de dados. A base de dados deste controlador est armazenada em uma matriz. A
cardinalidade desta base de dados 7, ou seja, so usados sete conjuntos nebulosos
representados por nmeros e nomes especficos, descritos na Tabela 5.
54
Tabela 5 - Conjuntos nebulosos do controlador fuzzy
Abreviatura do nome do
conjunto nebuloso
Nome por extenso do
conjunto nebuloso
Nmero representativo
NG Negativo Grande 0
NM Negativo Mdio 1
NP Negativo Pequeno 2
Z Neutro ou Zero 3
PP Positivo Pequeno 4
PM Positivo Mdio 5
PG Positivo Grande 6
A partir da base de dados definida que o bloco de regras de inferncia obtm as regras
de inferncia pertinentes aos valores fuzzificados advindos do bloco de fuzzificao.
4.1.2.3. Regras de I nferncia
Este mdulo possui duas funes: obter as regras de inferncia e unir as regras de
inferncia. Com os valores fuzzificados, procura-se na base de dados o conjunto
nebuloso correspondente aos valores de entrada, armazenando as regras de inferncia a
ser utilizada. O valor pesquisado um valor inteiro entre 0 e 6, simbolizando a que
conjunto nebuloso as regras de inferncia correspondem. Aps a busca, a funo de
obter as regras de inferncia chamada. Nesta funo, procuram-se os menores valores
fuzzy correspondentes para o conjunto nebuloso da regra de inferncia utilizada. Aps a
execuo desta funo, a unio das regras de inferncia chamada. Nesta funo,
utilizam-se os valores fuzzy encontrados na obteno das regras de inferncia para
55
encontrar o maior valor entre todos os valores. Assim sendo, o mtodo utilizado para
este mdulo o mximo dos mnimos. Os valores fuzzy encontrados aps a execuo
das duas funes utilizado no prximo mdulo.
4.1.2.4. Defuzzificao
Os valores armazenados aps a unio das regras de inferncia so utilizados na
defuzzificao. Para defuzzificar estes valores, necessrio algum mtodo matemtico.
O mtodo escolhido foi a diviso da multiplicao pela soma pela sua larga utilizao.
feita a multiplicao dos valores fuzzy advindos do bloco regras de inferncia com
outro valor fuzzy e, depois, estes valores multiplicados so somados. Tambm feita a
soma de todos os valores armazenados no vetor da execuo do bloco de regras de
inferncia. Depois de realizadas a soma e a multiplicao, a diviso destes dois valores
feita, resultando no valor de sada do controlador fuzzy. A diviso a converso do
valor fuzzy para um valor escalar. Este valor simboliza se h movimentao e quanto
falta para que o brao robtico chegue posio/velocidade desejada. Quanto maior o
valor modular de sada, maior a distncia que o brao deve percorrer. Conforme o valor
modular de sada fica menor, menor tambm a distncia da posio em que o brao se
encontra da posio desejada.
4.1.2.5. Controlador fuzzy de posio
O funcionamento do controlador fuzzy de posio o seguinte: a placa de aquisio de
dados informa a posio atual (em valor de voltagem) do sistema dinmico acoplado.
Este valor convertido por meio de uma regra de trs simples em valor de graus.
Define-se a posio desejada para onde o brao robtico deve ir, em graus. Com essas
duas posies, calcula-se o valor de erro e da variao de erro. Para o clculo do valor
de erro de posio, foi usada uma funo que normaliza os valores em graus, ou seja,
transforma ngulos em valores inteiros. Nesta funo, os valores da posio desejada e
posio atual so normalizados. O clculo de variao de erro a diferena entre o
erro anterior e o erro atual. Estes valores so parmetros para a funo da fuzzificao.
A funo da fuzzificao converter esses valores escalares para valores fuzzy. Aps
esta converso, os valores de entrada so passados para o prximo mdulo: regras de
56
inferncia. Neste mdulo, tem-se duas aes a serem realizadas: obter as regras de
inferncia (RI) e unir as RI. Os valores resultantes da funo de unio das regras de
inferncia so os valores a serem utilizados no mdulo de defuzzificao.
No mdulo de defuzzificao, os valores do vetor so multiplicados por uma matriz
denominada vetorDelta e estas multiplicaes so somadas. Tambm feita a soma dos
valores do vetor armazenado na funo de unio de RI.
A multiplicao e a soma permitem unificar os valores em um nico e converter este
valor para um valor defuzzificado por meio da diviso do produto pela soma, ou seja,
fazendo-se a converso para escalar. Este valor gravado no sistema de aquisio de
dados e o servo motor responsvel pelo movimento executa a ao necessria fazendo
com que o sistema dinmico acoplado possa se movimentar.
O sinal positivo ou negativo do valor resultante da defuzzificao diz para que lado o
brao robtico deve girar para chegar a posio desejada mais rpida: sentido horrio ou
sentido anti-horrio.
Se a posio desejada for maior que a posio atual, significa que o brao ter que
mover em sentido horrio. Quando a posio desejada menor que a posio atual, o
brao ter que mover em sentido anti-horrio.
4.1.2.6. Controlador fuzzy de velocidade
A principal funo do controlador fuzzy de velocidade controlar a velocidade a qual o
brao robtico se move. Sem este controle, o SDA se comportaria como um brao
bobo, movendo-se de forma brusca a uma velocidade constante.
O valor de sada do controlador fuzzy de posio tambm permite ajustar a velocidade,
pois dependendo do seu valor a velocidade maior ou menor. Quanto maior a distncia
da posio a qual o brao se encontra para a posio desejada, importante que a
velocidade seja maior tambm para que o brao consiga alcanar seu destino final em
menor tempo. Este controle pode ser analogicamente comparado ao comportamento de
um motorista que est indo em direo a um semforo fechado: a velocidade do
motorista diminuir conforme a proximidade do veculo com o farol.
57
Para auxiliar no controlador fuzzy, usa-se o conceito de PWM (Pulse Width
Modulation). A modulao por largura de pulso permite controlar a velocidade
definindo intervalos para que esta trabalhe em maior velocidade e menor velocidade.
Fazendo uso do PWM e do valor de sada do controlador fuzzy de posio, o brao
robtico se movimenta de forma adequada, permitindo que chegue ao local desejado de
maneira mais eficiente e rpida.
O funcionamento do controlador fuzzy de velocidade o seguinte: a placa de aquisio
de dados informa a velocidade atual (em valor de voltagem) do sistema dinmico
acoplado. Este valor convertido por meio de uma regra de trs simples em termos de
velocidade. A informao da velocidade desejada obtida a partir do que foi dito no
pargrafo anterior, onde a velocidade adequada definida pelo PWM e pelo valor de
sada do controlador fuzzy de posio. Com essas informaes, calcula-se o valor de
erro e de variao de erro da velocidade. Estes valores so parmetros para a funo da
fuzzificao.
A funo da fuzzificao converter esses valores escalares de velocidade para valores
fuzzy. Aps esta converso, os valores de entrada so passadas para o prximo mdulo:
regras de inferncia. Neste mdulo, tem-se duas aes a serem realizadas: obter as
regras de inferncia (RI) e unir as RI. Os valores resultantes da funo de unio das
regras de inferncia so os valores a serem utilizados no mdulo de defuzzificao.
No mdulo de defuzzificao, os valores do vetor so multiplicados por uma matriz
denominada vetorDelta e estas multiplicaes so somadas. Tambm feita a soma dos
valores do vetor armazenado na funo de unio de RI.
A multiplicao e a soma permitem unificar os valores em um nico e converter este
valor para um valor defuzzificado por meio da diviso do produto pela soma, ou seja,
fazendo-se a converso para escalar. Com este valor, define-se a velocidade adequada
para o movimento requerido.
O sinal positivo ou negativo do valor resultante da defuzzificao informa se a
velocidade do brao robtico ser aumentada ou diminuda. J o valor modular informa
o quanto a velocidade aumentar ou diminuir.
58
4.2. Testes e Resultados
Nesta seo, sero apresentadas as condies como os testes foram feitos. Tambm
sero discutidos os resultados obtidos com os testes realizados.
Os testes foram feitos com a implementao redigida no Anexo A Algoritmos dos
controladores fuzzy de posio e velocidade que foi realizada na fase de
desenvolvimento deste trabalho. Apesar de ter sido feito o desenvolvimento dos dois
controladores fuzzy (posio e velocidade) e, depois, a sua integrao em um nico
controlador, a fase de testes mostra os resultados somente do controlador de posio.
O motivo a dificuldade de implementao do algoritmo do PWM, uma das bases de
testes fundamentais para o controlador de velocidade, que ainda no havia sido
finalizado.
Os testes foram executados de maneira simulada, no havendo testes reais no brao
robtico. Isso ocorreu em decorrncia da funcionalidade incompleta do controlador de
velocidade.
A quantidade de execues deste algoritmo definida pelo usurio e, a cada execuo,
criado um arquivo com os resultados do controlador fuzzy, cujo procedimento descrito a
seguir se repete conforme o valor definido de quantidade de vezes a ser executada.
Inicialmente, houve a necessidade de gerao de valores randmicos de posies
desejadas, cujo intervalo era de 0 180. A primeira vez que o programa executa
tambm gera um valor randmico para o valor da posio inicial que seria a posio
onde o brao robtico se encontraria.
Com os valores de posies escolhidos ao acaso, o programa executa em um lao da
posio inicial at a posio final a fim de que se possa verificar a consistncia dos
dados obtidos.
Estes dados gerados pelo algoritmo do controlador fuzzy so salvos em arquivos de
extenso CSV (Comma Separated Values), delimitados por ponto-e-vrgula (;). A
escolha do CSV foi feita devido sua compatibilidade com o programa Microsoft
Office Excel, onde o fato do arquivo possuir delimitadores fixos faz com que o Excel
insira automaticamente os valores nas colunas. Tal fato facilitou a gerao dos grficos
59
demonstrativos dos resultados obtidos, fazendo do Excel a ferramenta escolhida para
construo destes grficos.
Assim sendo, os grficos com os resultados da pesquisa foram construdos a partir do
arquivo criado pelo programa. Sendo a pesquisa do tipo qualitativa, estes grficos so a
representao visual dos dados dos testes realizados, no havendo nenhum processo
estatstico quanto aos seus valores e, portanto, facilitando a visualizao dos dados.
Os dados salvos pela execuo do programa so as posies em graus, os valores de
erro, variao de erro e o valor defuzzificado (valor de sada) do controlador fuzzy de
posio.
A posio o valor que o SDA se encontra no momento, mostrando do valor inicial at
o valor desejado.
Os valores de erro e variao de erro so os valores de entrada para o controlador fuzzy.
Por ltimo, o valor defuzzificado o valor de sada da execuo do algoritmo do
controlador.
Para a fase de testes, o algoritmo foi executado cinco vezes. Esta execuo gerou cinco
arquivos com os valores aleatrios de posio desejada e, na primeira execuo, valor
aleatrio para posio inicial tambm. So estes os cinco arquivos:
(1) 41 155 Este arquivo disposto no Anexo B Tabela com os dados da
execuo do Teste 01 tem os dados da execuo do controlador fuzzy com
posio inicial de 41 e posio desejada ou final de 155.
(2) 155 27 Este arquivo disposto no Anexo C Tabela com os dados da
execuo do Teste 02 tem os dados da execuo do controlador fuzzy com
posio inicial de 155 (posio em que se encontrava aps a primeira execuo)
e posio desejada ou final de 27.
(3) 27 90 Este arquivo disposto no Anexo D Tabela com os dados da
execuo do Teste 03 tem os dados da execuo do controlador fuzzy com
posio inicial de 27 (posio em que se encontrava aps a segunda execuo) e
posio desejada ou final de 90.
(4) 90 21 Este arquivo disposto no Anexo E Tabela com os dados da
execuo do Teste 04 tem os dados da execuo do controlador fuzzy com
60
posio inicial de 90 (posio em que se encontrava aps a terceira execuo) e
posio desejada ou final de 21.
(5) 21 158 Este arquivo disposto no Anexo F Tabela com os dados da
execuo do Teste 05 tem os dados da execuo do controlador fuzzy com
posio inicial de 21 (posio em que se encontrava aps a quarta execuo) e
posio desejada ou final de 158.
Em seguida sero abordados os resultados de cada uma das cinco execues do
controlador fuzzy de posio.
4.2.1. Teste 01
Nesta execuo, a posio inicial do brao robtico foi gerada randomicamente e seu
valor 41 e a posio desejada definida aleatoriamente 155. Os dados detalhados
desta execuo esto no Anexo B Tabela com os dados da execuo do Teste 01.
O valor de erro informa ao controlador fuzzy que, enquanto seu valor no zerar, a
posio em que o brao robtico se encontra est errada. No grfico da Figura 22,
pode-se observar que quanto mais perto se chega do valor de posio desejada (155),
menor o valor de erro, fazendo com que a forma do grfico seja uma reta crescente. Ao
chegar posio 155, o erro se torna 0, pois foi alcanada a posio final.
Figura 22 Grfico dos erros do Teste 01
61
Nota-se tambm que todos os valores de erro so negativos, ou seja, o movimento do
brao ser no sentido horrio, pois a posio desejada (155) maior do que a posio
inicial (41).
J o grfico da Figura 23 permite a visualizao das variaes de erro. Este grfico
linearmente constante, pois a variao de erro permite limitar e orientar de forma mais
eficiente e adequada os valores de erro. O fato dos valores da variao de erro no
oscilar significa que no h mudana brusca dos valores de erro (valor de entrada).
Figura 23 - Grfico das variaes de erro do Teste 01
Analogamente, pode-se dizer que o valor de erro o volante e a variao de erro o
motorista, ou seja, este faz com que o controle daquele seja feito da maneira correta,
sem movimentaes rspidas.
O valor de variao de erro em 41 (posio inicial) o mesmo valor em mdulo do
erro. Isso acontece devido ao fato de que a variao de erro calculada com a
diferena dos valores do erro anterior e erro atual. O valor de erro anterior 0, ento a
variao de erro igual ao valor negativo do erro em 41.
62
E, por ltimo, os valores de sada do controlador fuzzy de posio nos diz o quanto
falta para chegar posio desejada, conforme ilustrado na Figura 24. Pode-se notar
que o grfico se assemelha a uma escada crescente, onde existem vrias posies as
quais o valor defuzzificado o mesmo. Isso ocorre devido ao nvel de quantizao, onde
diversas posies, ao serem fuzzificadas, resultam em um mesmo valor fuzzy. Sendo
assim, o valor de sada ser igual, pois os valores de entrada tambm so iguais.
Figura 24 - Grfico dos valores defuzzificados do Teste 01
Para que o tamanho do degrau da escada do grfico seja menor, pode-se colocar
mais valores fuzzy, ou seja, aumentar o nmero do nvel de quantizao, a fim de que
diversas posies no resultem em um mesmo valor fuzzy.
Quanto mais longe do valor 0, seja para valores positivos ou negativos, mais longe da
posio final o brao robtico se encontra. Assim sendo, faz-se uso do valor
defuzzificado para auxiliar tambm no controle da velocidade, j que quanto maior seu
valor modular, mais rpido o brao pode se movimentar. Isso se deve ao fato de que
quanto maior o mdulo do valor defuzzificado, mais longe est da posio desejada,
podendo assim se mover mais rpido para alcanar a posio final de forma mais
eficiente.
63
4.2.2. Teste 02
Nesta execuo, a posio inicial do brao robtico 155, posio final do SDA na
primeira execuo e a posio desejada 27. Os dados detalhados desta execuo esto
no Anexo C Tabela com os dados da execuo do Teste 02.
Na Figura 25, pode-se notar que os valores de erro so todos valores positivos, ou seja,
o sentido em que o brao ir se movimentar o sentido anti-horrio. Isso ocorre devido
ao fato de que a posio final menor que a posio inicial, significando que o brao
robtico j passou pela posio desejada anteriormente.
Figura 25 Grfico dos erros do Teste 02
Para tanto, faz-se necessrio que o SDA volte para tal posio, indo para trs. Para
que seja feito tal movimento, necessrio que o brao robtico inverta o seu sentido.
Para simbolizar essa troca de sentido, o clculo da variao de erro tambm invertido.
Antes, era feita a diferena entre o erro anterior pelo erro atual; agora, a diferena
entre o erro atual e o erro anterior.
Percebe-se que o grfico da funo do erro representa um grfico linear decrescente,
onde o valor do erro diminui conforme o valor da posio desejada chega.
64
Assim sendo, similar primeira execuo, o primeiro clculo da variao de erro
igual ao valor inicial de erro, onde pode ser observado no pico inicial da Figura 26.
Isso ocorre devido ao fato de que o valor de erro anterior igual ao valor do ltimo
erro calculado e este, por sua vez, 0. O erro da posio desejada anterior sempre ser
0, pois a posio em que o brao se encontra a desejada e no h mais erro de
posio.
Figura 26 Grfico das variaes de erro do Teste 02
Aps esse valor inicial, o grfico de variao de erro passa a ser novamente constante,
o que indica o controle dos valores de erro at a posio desejada.
Na Figura 27, pode-se observar que o grfico semelhante ao grfico dos valores
defuzzificados do teste anterior. A diferena que o grfico presente na Figura 24
crescente, enquanto o da Figura 27 decrescente. Isto ocorre devido ao fato de que o
sentido de movimento do SDA mudou, ou seja, passou de horrio para anti-horrio.
65
Figura 27 Grfico dos valores defuzzificados do Teste 02
Para refletir essa mudana, o clculo do erro tambm alterado para simbolizar atravs
dos dados a modificao de sentido de movimento. Com essas mudanas, o valor
defuzzificado tambm demonstra a mudana do sentido, pois seus valores vo
decrescendo conforme a posio em que se encontra chega posio desejada. E, ao
chegar ao ngulo 27, o valor de sada 0, ou seja, o brao parar de se mover.
4.2.3. Teste 03
Nesta execuo, a posio inicial do brao robtico 27, posio final do SDA na
segunda execuo e a posio desejada 90. Os dados detalhados desta execuo esto
no Anexo D Tabela com os dados da execuo do Teste 03.
A execuo do Teste 03 semelhante ao Teste 01, j que a posio final maior que a
posio inicial. Sendo assim, o brao ter que se mover pra frente no sentido horrio.
Na Figura 28, nota-se que os valores de erro vo aumentando de forma gradual
linearmente crescente e, quando, a posio desejada alcanada, o erro se torna nulo.
66
Figura 28 Grfico dos erros do Teste 03
Pode-se observar na Figura 29 que a funo de variao de erro constante da mesma
maneira que os resultados dos testes anteriores haviam demonstrado.
Figura 29 Grfico das variaes de erro do Teste 03
67
A Figura 30 ilustra o grfico dos valores defuzzificados como sendo um grfico
crescente. Sendo assim, a movimentao do brao robtico se dar em sentido horrio,
pois a posio desejada est frente da posio em que o brao se encontra.
Figura 30 Grfico dos valores defuzzificados do Teste 03
Percebe-se que o grfico novamente em formato de escada, pois o nvel de
quantizao do controlador faz com que uma grande quantidade de valores escalares
corresponda ao mesmo valor fuzzy.
4.2.4. Teste 04
Nesta execuo, a posio inicial do brao robtico 90, posio final do SDA na
segunda execuo e a posio desejada 21. Os dados detalhados desta execuo esto
no Anexo E Tabela com os dados da execuo do Teste 04.
O Teste 04 semelhante ao Teste 02, onde a posio final menor que a posio inicial,
ou seja, o brao se movimentar no sentido anti-horrio.
Na Figura 31, pode-se observar que o grfico uma reta decrescente, cujos valores de
erro so positivos. Isso justifica a mudana no sentido de movimento do SDA.
68
Figura 31 Grfico dos erros do Teste 04
Na Figura 32, observa-se que o grfico da variao de erro novamente constante,
significando que no houve mudana brusca dos valores de erro.
Figura 32 Grfico das variaes de erro do Teste 04
69
O grfico representado na Figura 33 decrescente, mostrando que o sentido de
movimentao do sistema dinmico acoplado anti-horrio. Percebe-se tambm que um
mesmo valor fuzzy corresponde a vrios valores de graus, da mesma maneira dos testes
anteriores.
Figura 33 Grfico dos valores defuzzificados do Teste 04
4.2.5. Teste 05
Nesta execuo, a posio inicial do brao robtico 21, posio final do SDA na
quarta execuo e a posio desejada 158. Os dados detalhados desta execuo esto
no Anexo F Tabela com os dados da execuo do Teste 05.
No Teste 05, tal como ocorre nos Teste 01 e Teste 03, a posio final maior que a
posio inicial. Para tanto, o brao mudar mais uma vez o sentido de seu movimento:
de anti-horrio para horrio.
Os valores de erro para a execuo do Teste 05 esto dispostos no grfico ilustrado na
Figura 34. O grfico linearmente crescente e os valores do erro so valores negativos
que confirmam que a movimentao do SDA ser em sentido horrio.
70
Figura 34 Grfico dos erros do Teste 05
Na Figura 35, os valores dispostos no grfico de variao de erro so constantes,
mostrando que o brao se move gradualmente de forma no brusca.
Figura 35 Grfico das variaes de erro do Teste 05
71
E, por ltimo, a Figura 36 que representa o grfico dos valores de sada do controlador
crescente, partindo de valores negativos at chegar ao valor 0, indicando que o brao
robtico chegou posio desejada.
Figura 36 Grfico dos valores defuzzificados do Teste 05
Pode-se observar novamente que o grfico dos valores defuzzificados possui um
formato de escada, onde vrios valores de posio possuem como correspondentes o
mesmo valor fuzzy.
No geral, os resultados obtidos no possuem grandes diferenas de um teste para o
outro, onde o Teste 02 e Teste 04 so semelhantes, assim como o Teste 01, Teste 03 e
Teste 05 so similares entre si, onde os resultados das execues se encontra na Tabela
6.
Tabela 6 - Resultados dos testes e sentido de movimentao
Nmero do Teste Sentido de movimentao
Teste 01 Horrio
Teste 02 Anti-horrio
72
Teste 03 Horrio
Teste 04 Anti-horrio
Teste 05 Horrio
Assim, os resultados obtidos podem ser padronizados de acordo com algumas
caractersticas em razo do sentido de movimentao, sendo descritas na Tabela 7.
Tabela 7 Anlise dos Resultados
Caractersticas Movimento Horrio Movimento Anti-horrio
Valor do erro Negativo Positivo
Valor da variao do erro Negativo Positivo
Valor defuzzificado Negativo Positivo
Grfico do erro Crescente Decrescente
Grfico da variao de
erro
Constante Constante
Grfico do valor
defuzzificado
Crescente Decrescente
Clculo de erro Posio atual posio
desejada
Posio desejada
posio atual
Clculo de variao de
erro
erro anterior erro erro erro anterior
Para o primeiro valor executado em cada teste, nota-se que os valores de erro e
variao de erro so iguais em valores absolutos. Aps cada execuo, o valor de erro
73
atual 0. Ao executar novamente, este erro atual passa a ser o erro anterior e o erro
atual recalculado. Como o clculo do erro anterior uma subtrao, o valor da
variao de erro ser modularmente igual ao valor do erro. por causa do fato de que
estes dois valores sempre sero iguais em valores absolutos que os grficos possuem um
pico no valor inicial de cada execuo.
O grfico dos valores de erro sempre ser linear, diferenciando somente no fato de ser
crescente ou decrescente.
Aps o pico inicial, o grfico dos valores de variao de erro sempre ser constante,
independente do sentido de movimentao. Tal fato representa que no houve mudana
brusca dos valores de erro, ou seja, o brao se movimenta de maneira gradual.
Quanto ao grfico dos valores defuzzificados, este sempre possuir um formato de
escada com vrios degraus. Os degraus, conforme dito anteriormente, so formados
devido ao fato de que vrios valores escalares so convertidos em um mesmo valor
fuzzy.
Para que o tamanho do degrau diminua, ser necessrio aumentar o nvel de
quantizao do controlador, ou ento, usar uma funo de pertinncia contnua. Tal
modificao poderia afetar o desempenho dos movimentos do brao robtico, pois
exigiria maior processamento, tornando-o mais lento.
Ao observar nos grficos dos cinco testes realizados, nota-se que os valores finais de
erro e valor defuzzificado so sempre 0. Como dito anteriormente, o valor de erro
informa que a posio onde o SDA se encontra est errada. Ao chegar posio
desejada (a correta), o erro se torna 0. O valor defuzzificado informa se ainda h
movimentao e quanto falta para os movimentos cessarem. Quando este valor se torna
0, no haver mais movimentao.
Aps tais constataes iniciais, foi percebido que os resultados do brao poderiam ser
classificados de acordo com o sentido da sua movimentao: horrio ou anti-horrio.
Quando o movimento do SDA horrio, a posio em que o brao deseja ir maior que
a posio que o brao se encontra, ou seja, a posio desejada est a frente da posio
atual. O sentido do movimento representado com o sinal dos dados, onde as variveis
de erro, variao de erro e valor defuzzificado so valores negativos. Pelo fato de que
74
os valores dos dados so negativos, os grficos de erro e valor defuzzificado so
crescentes.
Quando o sentido do movimento anti-horrio, a posio desejada menor do que a
posio atual. Para isso, o brao ter que voltar, indo pra trs. O sinal dos valores dos
dados de erro, variao de erro e valor defuzzificado positivo, onde tais valores
geram grficos decrescentes de erro e valor defuzzificado.
Em todos os testes executados, foi observado que o controlador fuzzy funcionou da
maneira esperada, controlando a posio e ajudando no controle da velocidade.
75
5. CONSIDERAES FINAIS
Neste captulo, so discutidos as principais concluses acerca de todas as etapas de
desenvolvimento deste trabalho, as limitaes encontradas durante a realizao desta
pesquisa e os trabalhos futuros que podem ser feitos para que esta pesquisa continue.
5.1. Concluses
A utilizao da Inteligncia Artificial requer o uso de tcnicas para a modelagem de
sistemas computacionais. Dentre os diversos tipos de tcnicas existentes, destaca-se a
utilizao da lgica fuzzy. A sua utilizao feita em larga escala em sistemas de
controle, devido ao fato de que a lgica difusa robusta e eficiente para os seus
propsitos.
Os propsitos deste trabalho foram definidos por meio de objetivos especficos que
foram alcanados com o decorrer do seu desenvolvimento, os quais contriburam
imensamente para a comunidade cientfica de Inteligncia Artificial, Robtica e Lgica
Fuzzy.
Tais contribuies no so notadas somente no que concerne ao desenvolvimento de
uma aplicao em lgica fuzzy, mas tambm na redao da fundamentao terica de
tais assuntos. Tal redao contribui para a literatura tanto de Inteligncia Artificial
quanto de Lgica Fuzzy, permitindo ao leitor o fcil entendimento de conceitos
complexos envolvendo tais reas.
No Captulo 2, so discutidas as principais tcnicas usadas em sistemas computacionais
que utilizam inteligncia artificial, bem como definies do que inteligncia e o
significado de inteligncia artificial.
A discusso da tcnica computacional inteligente utilizada no estudo de caso feita no
Captulo 3, onde so abordadas a origem da lgica clssica aristotlica e suas derivadas.
Dentre as lgicas originadas a partir da lgica aristotlica, explica-se o funcionamento
da lgica fuzzy por meio de conjuntos nebulosos exemplificando todos os conceitos para
garantir o total entendimento das ideias apresentadas neste trabalho.
76
Tambm foi feita a unio destes trs assuntos atuais por meio de um estudo de caso com
a implementao de controladores fuzzy de velocidade e posio no controle do sistema
dinmico acoplado utilizado neste trabalho, trazendo tona a discusso acerca do
desenvolvimento dos algoritmos e os resultados obtidos com a gerao de testes com o
controlador de posio.
Com a anlise dos resultados obtidos com os dados coletados dos testes, foi possvel a
classificao do comportamento de movimentao do brao robtico, onde foi notado
um padro nos valores e sinais das variveis que fazem o controle da posio do SDA.
A importncia das contribuies deste trabalho realizado foi notada pela comunidade
cientfica com a publicao e apresentao de artigo e resumos.
O artigo Hardware System for Robot and Proprioceptive Algorithms discute a
arquitetura de hardware necessria para a implementao de um rob proprioceptivo
fazendo uso de microcontroladores ARM e controladores fuzzy de velocidade e posio
(FARIA et al., 2011).
Durante o desenvolvimento deste trabalho, foram aceitos tambm dois resumos com os
seguintes ttulos: Aplicao da Lgica Fuzzy utilizando microcontroladores ARM em
um rob proprioceptivo (JOAZEIRO, FARIA e BUENO, 2011) e Aplicao da
Lgica Fuzzy no controle de um sistema dinmico acoplado.
5.2. Limitaes
Com o decorrer do desenvolvimento do trabalho, ocorreram algumas limitaes de
pesquisa.
Uma das limitaes mais significativas foi a ausncia de gerao de testes, coleta de
dados e anlise dos resultados com o controlador fuzzy de velocidade. Tal empecilho foi
a dificuldade da implementao de uma das bases necessrias, o PWM, que auxilia o
funcionamento do controle da velocidade do sistema dinmico acoplado de maneira
integral.
Outra limitao foi a ausncia de testes com o brao robtico. Os testes foram
simulados para verificar o comportamento e resultados do controlador de posio.
77
5.3. Trabalhos Futuros
As limitaes citadas nos tpicos acima podem ser superadas por meio de melhorias
como trabalhos futuros.
A dificuldade da implementao do PWM pode ser suplantada, permitindo a fase de
testes, coleta de dados e anlise dos dados obtidos.
Com o controlador fuzzy de velocidade funcional, pode-se aproveitar para realizar uma
fase de testes no brao robtico com o controlador de velocidade e de posio, fazendo
com que no haja mais limitaes quanto ao modo de realizao dos testes dos
algoritmos.
Alm das melhorias, pode-se tambm citar a criao de novos artefatos como trabalhos
futuros. No Captulo 1, foi citado o IARA da UFMT que tem como objetivo o
desenvolvimento de um rob proprioceptivo, onde a fase inicial deste projeto a
utilizao de controladores fuzzy. Concernente ao trabalho realizado por este grupo de
pesquisa, o controlador fuzzy o pontap inicial para o posterior desenvolvimento de
algoritmos proprioceptivos, sendo somente os valores de entrada para a
proprioceptividade. Mas, apesar de ser somente o comeo desta pesquisa mais
abrangente, este trabalho de concluso de curso traz os seus primeiros resultados.
78
6. REFERNCIAS BIBLIOGRFICAS
BELCHIOR, A. D. Um Modelo Fuzzy para Avaliao da Qualidade de Software.
Universidade Federal do Rio de Janeiro. Rio de Janeiro, p. 208. 1997.
BELLMAN, R. An Introduction to Artificial Intelligence: Can Computers Think?.
San Francisco: Boyd & Fraser Publishing Company, 1978.
BREUNIG, A. Lgica Fuzzy Aplicada ao Controle de Processos, 2004. Disponvel
em:
<http://200.169.53.89/download/CD%20congressos/2004/Sucesu/tut_prat/L%C3%B3gi
ca%20Fuzzy.pdf>. Acesso em: 16 Outubro 2011.
CARNEIRO, M. F. Alguns Aspectos da Lgica e da Informtica Jurdicas. Revista
Jurdica Cesumar, Curitiba, v. 6, n. 1, p. 37-45, 2006.
CARPENTER, R. Cleverbot, 2011. Disponvel em: <http://cleverbot.com/>. Acesso
em: 29 Setembro 2011.
CARVALHAL, A. Rob que bate papo pode se passar por humano. Tribuna Hoje,
2011. Disponvel em: <http://tribunahoje.com/noticia/5254/tecnologia/2011/09/12/robo-
que-bate-papo-pode-se-passar-por-humano.html>. Acesso em: 29 Setembro 2011.
CESAR, B. L.; MACHADO, M. A. S.; JUNIOR, H. A. E. O. Sistema de Apoio
Deciso na Concesso de Crdito Pessoal usando Lgica Fuzzy. Banco Morada e
Faculdades IBMEC. Rio de Janeiro. 2006.
CHARNIAK, E.; MCDERMOTT, D. Introduction to Artificial Intelligence.
Massachusetts: Addison-Wesley, 1985.
COPPIN, B. Artificial Intelligence Iluminated. Massachusetts: Jones and Bartlett
Publishers, 2004.
COSTA, N. C. A. D.; CARNIELLI, W. A. On Paraconsistent Deontic Logic.
Philosophia, v. 16, p. 293-305, 1986.
CRUZ, T. O Teatro Organizacional. Rio de Janeiro: Editora E-papers, 2006.
D'OTTAVIANO, . M. L.; FEITOSA, H. D. A. Sobre a histria da lgica, a lgica
clssica e o surgimento das lgicas no-clssicas, 2003. Disponvel em:
79
<ftp://www.cle.unicamp.br/pub/arquivos/educacional/ArtGT.pdf>. Acesso em: 9
Outubro 2011.
FARIA, E. B. D. et al. Hardware System for Robot and Proprioceptive Algorithms.
The 15th World Multi-Conference on. Systemics, Cybernetics and Informatics,
Orlando, Julho 2011.
FARIA, M. N. et al. Um Sistema de Avaliao em EAD baseado em Lgica Fuzzy,
Uberlndia, 2008.
FERREIRA, A. B. D. H. Mini Aurlio: o dicionrio da lingua portuguesa. 6. ed.
Curitiba: Posigraf, 2004.
FILHO, E. D. A. Iniciao Lgica Matemtica. So Paulo: Nobel, 2002.
GALLANT, S. I. Neural Network Learning & Expert Systems. London: The MIT
Press, 1994.
GOMES, Nelson Gonalves. Um panorama da lgica dentica. Kriterion: Revista de
Filosofia. 2008, v. 49, n. 117, p. 9-38.
HALFPAP, D. M.; SOUZA, G. C. D.; ALVES, J. B. D. M. Robs como artefatos.
Cincia & Cognio, Rio de Janeiro, v. 12, p. 203-213, Novembro 2007.
HAUGELAND, J. Artificial Intelligence: The Very Idea. Massachusetts: MIT Press,
1985.
JOAZEIRO, S. A.; FARIA, E. B. Aplicao da Lgica Fuzzy no controle de um
sistema dinmico acoplado. 2 Escola Regional de Informtica SBC Mato Grosso,
Cuiab. Caderno de Resumos ERI-MT, 2011. p. 19-21.
JOAZEIRO, S. A.; FARIA, E. B.; BUENO, J. F. Aplicao da lgica fuzzy utilizando
microcontroladores ARM em um rob proprioceptivo. XIX Seminrio de Iniciao
Cientfica, Resumos 2010/2011, Cuiab, 2011.
JUNIOR, A. C.; MATTOS, M. C. D.; SIMES, P. W. T. A. O Algoritmo
Unsupervised Robust C-Prototypes para a Tarefa de Clusterizao Utilizando o
Mtodo de Lgica Fuzzy. Peridicos UNESC, Anais V SULCOMP, Santa Catarina,
2010.
80
KOHAGURA, T. Lgica Fuzzy e suas Aplicaes. Monografia (Graduao em
Cincia da Computao - Universidade Estadual de Londrina, Londrina, 2007.
KURZWEIL, R. The Age of Intelligent Machines. Massachusetts: MIT Press, 1990.
LOESCH, C.; SARI, S. T. Redes Neurais Artificiais: Fundamentos e Modelos.
Blumenau: Edifurb, 1996.
MARCOS, J. Lgica Modal, 2006. Disponvel em:
<http://www.dimap.ufrn.br/~jmarcos/courses/LC/Cap4.pdf>. Acesso em: 12 Outubro
2011.
MCCULLOCH, W. S.; PITTS, W. A logical calculus of the ideas immanent in
nervous activity. Bulletin of Mathematical Biology, v. 5, p. 115133, 1943.
MINAMI, T. "Robs em sala de aula aumentam motivao dos alunos", diz
educadora. Uol, 2011. Disponvel em:
<http://noticias.uol.com.br/educacao/2011/05/19/robos-em-sala-de-aula-aumentam-
motivacao-dos-alunos-diz-educadora.jhtm>. Acesso em: 07 Junho 2011.
MORAES, C. M. M. Fuzzycom - Componente de Lgica Fuzzy. Resumo PIBIC,
2007. Disponvel em: <http://www.puc-
rio.br/pibic/relatorio_resumo2007/relatorios/ele/ele_claudio_magno_martins_moraes.pd
f>. Acesso em: 17 Outubro 2011.
NETO, L. G. P.; NICOLETTI, M. D. C. Introduo s Redes Neurais Construtivas.
So Carlos: EdufSCar, 2005.
NETO, M. C. L.; VENSON, N. Lgica Paraconsistente, 2002. Disponvel em:
<http://www.inf.ufsc.br/~barreto/trabaluno/TC_Nerio_Mauricio.pdf>. Acesso em: 12
Outubro 2011.
NORVIG, P.; RUSSEL, S. Inteligncia Artificial. 2. ed. New Jersey: Prentice Hall,
2004.
PARTRIDGE, D. Artificial Intelligence and Software Engineering. Nova Iorque:
Glenlake Publishing Company, 1998.
81
PERES, S. M.; BOSCARIOLI, C. Sistemas Gerenciadores de Banco de Dados
Relacionais Fuzzy: uma Aplicao em Recuperao de Informao. Acta
Scientiarum, Maring, 2002. 1733-1743.
POOLE, D.; MACKWORTH, A. K.; GOEBEL, R. Computational Intelligence: A
Logical Approach. Oxford: Oxford University Press, 1998.
RAYNOR, W. The International Dictionary of Artificial Intelligence. Nova Iorque:
Glenlake Publishing Company, 1999.
SILVA, J. M. N. Redes Neurais Artificiais: Rede Hopfield e Redes Estocsticas,
2003. Disponvel em: <http://www.ic.uff.br/~jsilva/monografia_RNA.pdf>. Acesso em:
4 Outubro 2011.
TURING, A. M. Computing Machinery and Intelligence. Mind, New York, p. 433-
460, Outubro 1950.
WALLACE, M. Eliza Program. Talk to Eliza, 1997. Disponvel em:
<http://www.vistua.com/cgi-bin/eliza.shtml>. Acesso em: 29 Setembro 2011.
WANDERLEY, E. Robtica ganha espao nas salas de aula. Dirio de Pernambuco,
2011. Disponvel em:
<http://www.pernambuco.com/ultimas/nota.asp?materia=20110527153736&assunto=1
95&onde=VidaUrbana>. Acesso em: 07 Junho 2011.
WINSTON, P. H. Artificial Intelligence. 3. ed. Massachusetts: Addison-Wesley,
1992.
ZADEH, L. A. Fuzzy Sets. Information and Control, Califrnia, v. 8, p. 338-353, 1965.
______. A. Outline of a new approach to the analysis of complex systems and
decision processes. IEEE Transactions on Systems, Man and Cybernetics, p. 28-44,
Janeiro 1973.
82
7. ANEXOS
Anexo A Algoritmos dos controladores fuzzy de posio e velocidade
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <dos.h>
#include <math.h>
#define CARDINALIDADE 7 //Quantidade de conjuntos nebulosos
#define NQ 25 //Nvel de Quantizao
/* As variveis descritas abaixo so as variveis compartilhadas
* entre o controlador fuzzy de velocidade e posio */
//vetor Erro de valores fuzzy posio e velocidade
double vetorErro[NQ] =
{-1.0, -0.9167, -0.8333, -0.75, -0.6667,
-0.5833, -0.5, -0.4167, -0.3333, -0.25,
-0.1667, -0.0833, 0.0, 0.0833, 0.1667,
0.25, 0.3333, 0.4167, 0.5, 0.5833,
0.6667, 0.75, 0.8333, 0.91767, 1.0};
//vetor de Variao de Erro de valores fuzzy de posio e velocidade
double vetorVariacaoErro[NQ] =
{-1.0, -0.9167, -0.8333, -0.75, -0.6667,
-0.5833, -0.5, -0.4167, -0.3333, -0.25,
-0.1667, -0.0833, 0.0, 0.0833, 0.1667,
0.25, 0.3333, 0.4167, 0.5, 0.5833,
0.6667, 0.75, 0.8333, 0.91767, 1.0};
//vetor Delta de posio e velocidade utilizada na defuzzificao
double vetorDelta[NQ]=
{-1.0, -0.9167, -0.8333, -0.75, -0.6667,
-0.5833, -0.5, -0.4167, -0.3333, -0.25,
-0.1667, -0.0833, 0.0, 0.0833, 0.1667,
0.25, 0.3333, 0.4167, 0.5, 0.5833,
0.6667, 0.75, 0.8333, 0.91767, 1.0};
//matriz controladora Fuzzy de posio e velocidade
double cFuzzy[CARDINALIDADE][NQ]=
{{1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.6, 0.7, 0.8, 0.9, 1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3,
0.2, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 0.9, 0.8, 0.7,
0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9,
1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0.0, 0.0, 0.0},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.2, 0.3, 0.4, 0.5,
0.6, 0.7, 0.8, 0.9, 1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2},
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1,
0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 0.9, 0.8, 0.7, 0.6},
83
{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}
};
//matriz das Regras de Implicao dos conjuntos nebulosos de posio e
velocidade
int regrasImplicacao[CARDINALIDADE][CARDINALIDADE] =
//NG NM NP Z PP PM PG
//0 1 2 3 4 5 6
{{0, 0, 1, 1, 2, 2, 3}, //NG - 0
{0, 1, 1, 2, 2, 3, 4}, //NM - 1
{1, 1, 1, 2, 3, 4, 4}, //NP - 2
{1, 2, 2, 3, 4, 4, 5}, //Z - 3
{2, 2, 3, 4, 5, 5, 5}, //PP - 4
{2, 3, 4, 4, 5, 5, 6}, //PM - 5
{3, 4, 4, 5, 5, 6, 6} //PG - 6
};
int npe,npdfi, numeroRegrasInferencia, ncsaida, xnc[5], ync[5];
double erro, variacaoErro, regrasInferenciaObtidas[NQ][NQ],
regrasInferenciaUnidas[NQ], xmi[5], ymi[5], valorDefuzzificacao;
//mdulo de Fuzzificao: int fuzzificao(int opcao)
int fuzzificacao(int opcao){
int valorRetorno = NQ/2;
int i;
float difAnt, difAtual;
switch (opcao){
case 1:{ //funo fuzzificao para erro
difAnt = fabs (erro - vetorErro[0]);
//diviso da busca pelo vetor
if(erro < 0){
i=0;
while (valorRetorno == NQ/2 && i< NQ/2){
difAtual = fabs (erro - vetorErro[i+1]);
if (difAnt <= difAtual) valorRetorno = i;
difAnt = difAtual;
i++;
}
} else if(erro > 0){
i = valorRetorno + 1;
while (valorRetorno == NQ/2 && i < NQ){
difAtual = fabs (erro - vetorErro[i+1]);
if (difAnt <= difAtual) valorRetorno = i;
difAnt = difAtual;
i++;
}
}
}
case 2: { //funo fuzzificao para variacao do erro
difAnt = fabs(variacaoErro - vetorVariacaoErro[0]);
//diviso da busca pelo vetor
if(variacaoErro < 0){
i=0;
while (valorRetorno == NQ/2 && i< NQ/2){
84
difAtual = fabs (variacaoErro -
vetorVariacaoErro[i+1]);
if (difAnt <= difAtual) valorRetorno = i;
difAnt = difAtual;
i++;
}
} else if(variacaoErro > 0){
i = valorRetorno + 1;
while (valorRetorno == NQ/2 && i < NQ){
difAtual = fabs (variacaoErro -
vetorVariacaoErro[i+1]);
if (difAnt <= difAtual) valorRetorno = i;
difAnt = difAtual;
i++;
}
}
}
}
return valorRetorno;
}
/*mdulo de Regras de Inferncia:
* void obterRegrasInferencia(int valorYmi, int valorXmi)
* void unirRegrasInferencia() */
void obterRegrasInferencia(int valorYmi, int valorXmi){
double minimo;
int i;
minimo = xmi[valorXmi];
if(ymi[valorYmi] < minimo) minimo = ymi[valorYmi];
for(i=0;i< NQ; i++){
if(minimo < cFuzzy[ncsaida][i])
regrasInferenciaObtidas[numeroRegrasInferencia][i] = minimo;
else regrasInferenciaObtidas[numeroRegrasInferencia][i] =
cFuzzy[ncsaida][i];
}
}
void unirRegrasInferencia(){
int i, j;
float maximo;
for(j=0;j<NQ;j++){
maximo = regrasInferenciaObtidas[0][j];
for (i=1;i<numeroRegrasInferencia;i++)
if (regrasInferenciaObtidas[i][j] > maximo) maximo =
regrasInferenciaObtidas[i][j];
regrasInferenciaUnidas[j] = maximo;
}
}
//mdulo de defuzzificacao: double defuzzificacao()
double defuzzificacao(){
double soma = 0.0, produto = 0.0;
int i;
for (i=0; i < NQ; i++){
soma+=regrasInferenciaUnidas[i];
85
produto+= regrasInferenciaUnidas[i]*vetorDelta[i];
}
return produto/soma;
}
//chamada aos mtodos concernente ao controle de posio
double controladorFuzzyPosicao(double e, double ve){
//para a chamada da fuzzificao, devido ao uso de variveis
globais,
//uso parmetro para controle de qual fuzzificao est sendo
calculada
//1 - clculo posio de erro de posio
//2 - clculo posio de variao de erro de posio
int posicaoErro, posicaoVarErro;
erro = e;
variacaoErro = ve;
posicaoErro = fuzzificacao(1);
posicaoVarErro = fuzzificacao(2);
npe = 0;
int i,j;
for (i=0; i<CARDINALIDADE;i++)
if(cFuzzy[i][posicaoErro]!=0.0){
xnc[npe] = i;
xmi [npe] = cFuzzy[i][posicaoErro];
npe++;
}
npdfi = 0;
for (i=0; i<CARDINALIDADE;i++)
if(cFuzzy[i][posicaoVarErro]!=0.0){
ync[npdfi] = i;
ymi [npdfi] = cFuzzy[i][posicaoVarErro];
npdfi++;
}
numeroRegrasInferencia = 0;
for (i=0; i<npe; i++)
for (j=0; j<npdfi; j++){
ncsaida = regrasImplicacao[ync[j]][xnc[i]];
obterRegrasInferencia(j, i);
numeroRegrasInferencia++;
}
unirRegrasInferencia();
valorDefuzzificacao = defuzzificacao();
return valorDefuzzificacao;
}
//chamada aos mtodos concernente ao controle de velocidade
double controladorFuzzyVelocidade(double e, double ve){
//para a chamada da fuzzificao, devido ao uso de variveis
globais,
//uso parmetro para controle de qual fuzzificao est sendo
calculada
//1 - clculo posio de erro de velocidade
//2 - clculo posio de variao de erro de velocidade
int velocidadeErro, velocidadeVarErro;
erro = e;
variacaoErro = ve;
86
velocidadeErro = fuzzificacao(1);
velocidadeVarErro = fuzzificacao(2);
npe = 0;
int i, j;
for (i=0; i<CARDINALIDADE;i++)
if(cFuzzy[i][velocidadeErro]!=0.0){
xnc[npe] = i;
xmi [npe] = cFuzzy[i][velocidadeErro];
npe++;
}
npdfi = 0;
for (i=0; i<CARDINALIDADE;i++)
if(cFuzzy[i][velocidadeVarErro]!=0.0){
ync[npdfi] = i;
ymi [npdfi] = cFuzzy[i][velocidadeVarErro];
npdfi++;
}
numeroRegrasInferencia = 0;
for (i=0; i<npe; i++)
for (j=0; j<npdfi; j++){
ncsaida = regrasImplicacao[ync[j]][xnc[i]];
obterRegrasInferencia(j, i);
numeroRegrasInferencia++;
}
unirRegrasInferencia();
valorDefuzzificacao = defuzzificacao();
return valorDefuzzificacao;
}
87
Anexo B Tabela com os dados da execuo do Teste 01
Tabela 8 - Dados da execuo do Teste 01
ngulo Erro Variao de Erro Valor Defuzzificado
41 -1,2667 1,2667 -0,0936
42 -1,2556 -0,0111 -0,289
43 -1,2444 -0,0111 -0,289
44 -1,2333 -0,0111 -0,289
45 -1,2222 -0,0111 -0,289
46 -1,2111 -0,0111 -0,289
47 -1,2 -0,0111 -0,289
48 -1,1889 -0,0111 -0,289
49 -1,1778 -0,0111 -0,289
50 -1,1667 -0,0111 -0,289
51 -1,1556 -0,0111 -0,289
52 -1,1444 -0,0111 -0,289
53 -1,1333 -0,0111 -0,289
54 -1,1222 -0,0111 -0,289
55 -1,1111 -0,0111 -0,289
56 -1,1 -0,0111 -0,289
57 -1,0889 -0,0111 -0,289
88
58 -1,0778 -0,0111 -0,289
59 -1,0667 -0,0111 -0,289
60 -1,0556 -0,0111 -0,289
61 -1,0444 -0,0111 -0,289
62 -1,0333 -0,0111 -0,289
63 -1,0222 -0,0111 -0,289
64 -1,0111 -0,0111 -0,289
65 -1 -0,0111 -0,289
66 -0,9889 -0,0111 -0,289
67 -0,9778 -0,0111 -0,289
68 -0,9667 -0,0111 -0,289
69 -0,9556 -0,0111 -0,2608
70 -0,9444 -0,0111 -0,2608
71 -0,9333 -0,0111 -0,2608
72 -0,9222 -0,0111 -0,2608
73 -0,9111 -0,0111 -0,2608
74 -0,9 -0,0111 -0,2608
75 -0,8889 -0,0111 -0,2608
76 -0,8778 -0,0111 -0,2608
89
77 -0,8667 -0,0111 -0,2341
78 -0,8556 -0,0111 -0,2341
79 -0,8444 -0,0111 -0,2341
80 -0,8333 -0,0111 -0,2341
81 -0,8222 -0,0111 -0,2341
82 -0,8111 -0,0111 -0,2341
83 -0,8 -0,0111 -0,2341
84 -0,7889 -0,0111 -0,2074
85 -0,7778 -0,0111 -0,2074
86 -0,7667 -0,0111 -0,2074
87 -0,7556 -0,0111 -0,2074
88 -0,7444 -0,0111 -0,2074
89 -0,7333 -0,0111 -0,2074
90 -0,7222 -0,0111 -0,2074
91 -0,7111 -0,0111 -0,2074
92 -0,7 -0,0111 -0,1797
93 -0,6889 -0,0111 -0,1797
94 -0,6778 -0,0111 -0,1797
95 -0,6667 -0,0111 -0,1797
90
96 -0,6556 -0,0111 -0,1797
97 -0,6444 -0,0111 -0,1797
98 -0,6333 -0,0111 -0,1797
99 -0,6222 -0,0111 -0,1515
100 -0,6111 -0,0111 -0,1515
101 -0,6 -0,0111 -0,1515
102 -0,5889 -0,0111 -0,1515
103 -0,5778 -0,0111 -0,1515
104 -0,5667 -0,0111 -0,1515
105 -0,5556 -0,0111 -0,1515
106 -0,5444 -0,0111 -0,1515
107 -0,5333 -0,0111 -0,1238
108 -0,5222 -0,0111 -0,1238
109 -0,5111 -0,0111 -0,1238
110 -0,5 -0,0111 -0,1238
111 -0,4889 -0,0111 -0,1238
112 -0,4778 -0,0111 -0,1238
113 -0,4667 -0,0111 -0,1238
114 -0,4556 -0,0111 -0,1081
91
115 -0,4444 -0,0111 -0,1081
116 -0,4333 -0,0111 -0,1081
117 -0,4222 -0,0111 -0,1081
118 -0,4111 -0,0111 -0,1081
119 -0,4 -0,0111 -0,1081
120 -0,3889 -0,0111 -0,1081
121 -0,3778 -0,0111 -0,1081
122 -0,3667 -0,0111 -0,0929
123 -0,3556 -0,0111 -0,0929
124 -0,3444 -0,0111 -0,0929
125 -0,3333 -0,0111 -0,0929
126 -0,3222 -0,0111 -0,0929
127 -0,3111 -0,0111 -0,0929
128 -0,3 -0,0111 -0,0929
129 -0,2889 -0,0111 -0,0791
130 -0,2778 -0,0111 -0,0791
131 -0,2667 -0,0111 -0,0791
132 -0,2556 -0,0111 -0,0791
133 -0,2444 -0,0111 -0,0791
92
134 -0,2333 -0,0111 -0,0791
135 -0,2222 -0,0111 -0,0791
136 -0,2111 -0,0111 -0,0791
137 -0,2 -0,0111 -0,0588
138 -0,1889 -0,0111 -0,0588
139 -0,1778 -0,0111 -0,0588
140 -0,1667 -0,0111 -0,0588
141 -0,1556 -0,0111 -0,0588
142 -0,1444 -0,0111 -0,0588
143 -0,1333 -0,0111 -0,0588
144 -0,1222 -0,0111 -0,0323
145 -0,1111 -0,0111 -0,0323
146 -0,1 -0,0111 -0,0323
147 -0,0889 -0,0111 -0,0323
148 -0,0778 -0,0111 -0,0323
149 -0,0667 -0,0111 -0,0323
150 -0,0556 -0,0111 -0,0323
151 -0,0444 -0,0111 -0,0323
152 -0,0333 -0,0111 0
93
153 -0,0222 -0,0111 0
154 -0,0111 -0,0111 0
155 0 -0,0111 0
94
Anexo C Tabela com os dados da execuo do Teste 02
Tabela 9 - Dados da execuo do Teste 02
ngulo Erro Variao de Erro Valor Defuzzificado
155 1,4222 1,4222 0,552
154 1,4111 -0,0111 0,2331
153 1,4 -0,0111 0,2331
152 1,3889 -0,0111 0,2331
151 1,3778 -0,0111 0,2331
150 1,3667 -0,0111 0,2331
149 1,3556 -0,0111 0,2331
148 1,3444 -0,0111 0,2331
147 1,3333 -0,0111 0,2331
146 1,3222 -0,0111 0,2331
145 1,3111 -0,0111 0,2331
144 1,3 -0,0111 0,2331
143 1,2889 -0,0111 0,2331
142 1,2778 -0,0111 0,2331
141 1,2667 -0,0111 0,2331
140 1,2556 -0,0111 0,2331
139 1,2444 -0,0111 0,2331
95
138 1,2333 -0,0111 0,2331
137 1,2222 -0,0111 0,2331
136 1,2111 -0,0111 0,2331
135 1,2 -0,0111 0,2331
134 1,1889 -0,0111 0,2331
133 1,1778 -0,0111 0,2331
132 1,1667 -0,0111 0,2331
131 1,1556 -0,0111 0,2331
130 1,1444 -0,0111 0,2331
129 1,1333 -0,0111 0,2331
128 1,1222 -0,0111 0,2331
127 1,1111 -0,0111 0,2331
126 1,1 -0,0111 0,2331
125 1,0889 -0,0111 0,2331
124 1,0778 -0,0111 0,2331
123 1,0667 -0,0111 0,2331
122 1,0556 -0,0111 0,2331
121 1,0444 -0,0111 0,2331
120 1,0333 -0,0111 0,2331
96
119 1,0222 -0,0111 0,2331
118 1,0111 -0,0111 0,2331
117 1 -0,0111 0,2331
116 0,9889 -0,0111 0,2331
115 0,9778 -0,0111 0,2331
114 0,9667 -0,0111 0,2331
113 0,9556 -0,0111 0,2157
112 0,9444 -0,0111 0,2157
111 0,9333 -0,0111 0,2157
110 0,9222 -0,0111 0,2157
109 0,9111 -0,0111 0,2157
108 0,9 -0,0111 0,2157
107 0,8889 -0,0111 0,2157
106 0,8778 -0,0111 0,2157
105 0,8667 -0,0111 0,2019
104 0,8556 -0,0111 0,2019
103 0,8444 -0,0111 0,2019
102 0,8333 -0,0111 0,2019
101 0,8222 -0,0111 0,2019
97
100 0,8111 -0,0111 0,2019
99 0,8 -0,0111 0,2019
98 0,7889 -0,0111 0,1902
97 0,7778 -0,0111 0,1902
96 0,7667 -0,0111 0,1902
95 0,7556 -0,0111 0,1902
94 0,7444 -0,0111 0,1902
93 0,7333 -0,0111 0,1902
92 0,7222 -0,0111 0,1902
91 0,7111 -0,0111 0,1902
90 0,7 -0,0111 0,1798
89 0,6889 -0,0111 0,1798
88 0,6778 -0,0111 0,1798
87 0,6667 -0,0111 0,1798
86 0,6556 -0,0111 0,1798
85 0,6444 -0,0111 0,1798
84 0,6333 -0,0111 0,1798
83 0,6222 -0,0111 0,1516
82 0,6111 -0,0111 0,1516
98
81 0,6 -0,0111 0,1516
80 0,5889 -0,0111 0,1516
79 0,5778 -0,0111 0,1516
78 0,5667 -0,0111 0,1516
77 0,5556 -0,0111 0,1516
76 0,5444 -0,0111 0,1516
75 0,5333 -0,0111 0,1239
74 0,5222 -0,0111 0,1239
73 0,5111 -0,0111 0,1239
72 0,5 -0,0111 0,1239
71 0,4889 -0,0111 0,1239
70 0,4778 -0,0111 0,1239
69 0,4667 -0,0111 0,1239
68 0,4556 -0,0111 0,1082
67 0,4444 -0,0111 0,1082
66 0,4333 -0,0111 0,1082
65 0,4222 -0,0111 0,1082
64 0,4111 -0,0111 0,1082
63 0,4 -0,0111 0,1082
99
62 0,3889 -0,0111 0,1082
61 0,3778 -0,0111 0,1082
60 0,3667 -0,0111 0,093
59 0,3556 -0,0111 0,093
58 0,3444 -0,0111 0,093
57 0,3333 -0,0111 0,093
56 0,3222 -0,0111 0,093
55 0,3111 -0,0111 0,093
54 0,3 -0,0111 0,093
53 0,2889 -0,0111 0,0792
52 0,2778 -0,0111 0,0792
51 0,2667 -0,0111 0,0792
50 0,2556 -0,0111 0,0792
49 0,2444 -0,0111 0,0792
48 0,2333 -0,0111 0,0792
47 0,2222 -0,0111 0,0792
46 0,2111 -0,0111 0,0792
45 0,2 -0,0111 0,0588
44 0,1889 -0,0111 0,0588
100
43 0,1778 -0,0111 0,0588
42 0,1667 -0,0111 0,0588
41 0,1556 -0,0111 0,0588
40 0,1444 -0,0111 0,0588
39 0,1333 -0,0111 0,0588
38 0,1222 -0,0111 0,0588
37 0,1111 -0,0111 0,0588
36 0,1 -0,0111 0,0588
35 0,0889 -0,0111 0,0588
34 0,0778 -0,0111 0,0588
33 0,0667 -0,0111 0,0588
32 0,0556 -0,0111 0,0588
31 0,0444 -0,0111 0,0588
30 0,0333 -0,0111 0,0588
29 0,0222 -0,0111 0,0588
28 0,0111 -0,0111 0,0588
27 0 -0,0111 0
101
Anexo D Tabela com os dados da execuo do Teste 03
Tabela 10 - Dados da execuo do Teste 03
ngulo Erro Variao de Erro Valor Defuzzificado
27 -0,7 0,7 0
28 -0,6889 -0,0111 -0,1797
29 -0,6778 -0,0111 -0,1797
30 -0,6667 -0,0111 -0,1797
31 -0,6556 -0,0111 -0,1797
32 -0,6444 -0,0111 -0,1797
33 -0,6333 -0,0111 -0,1797
34 -0,6222 -0,0111 -0,1515
35 -0,6111 -0,0111 -0,1515
36 -0,6 -0,0111 -0,1515
37 -0,5889 -0,0111 -0,1515
38 -0,5778 -0,0111 -0,1515
39 -0,5667 -0,0111 -0,1515
40 -0,5556 -0,0111 -0,1515
41 -0,5444 -0,0111 -0,1515
42 -0,5333 -0,0111 -0,1238
43 -0,5222 -0,0111 -0,1238
102
44 -0,5111 -0,0111 -0,1238
45 -0,5 -0,0111 -0,1238
46 -0,4889 -0,0111 -0,1238
47 -0,4778 -0,0111 -0,1238
48 -0,4667 -0,0111 -0,1238
49 -0,4556 -0,0111 -0,1081
50 -0,4444 -0,0111 -0,1081
51 -0,4333 -0,0111 -0,1081
52 -0,4222 -0,0111 -0,1081
53 -0,4111 -0,0111 -0,1081
54 -0,4 -0,0111 -0,1081
55 -0,3889 -0,0111 -0,1081
56 -0,3778 -0,0111 -0,1081
57 -0,3667 -0,0111 -0,0929
58 -0,3556 -0,0111 -0,0929
59 -0,3444 -0,0111 -0,0929
60 -0,3333 -0,0111 -0,0929
61 -0,3222 -0,0111 -0,0929
62 -0,3111 -0,0111 -0,0929
103
63 -0,3 -0,0111 -0,0929
64 -0,2889 -0,0111 -0,0791
65 -0,2778 -0,0111 -0,0791
66 -0,2667 -0,0111 -0,0791
67 -0,2556 -0,0111 -0,0791
68 -0,2444 -0,0111 -0,0791
69 -0,2333 -0,0111 -0,0791
70 -0,2222 -0,0111 -0,0791
71 -0,2111 -0,0111 -0,0791
72 -0,2 -0,0111 -0,0588
73 -0,1889 -0,0111 -0,0588
74 -0,1778 -0,0111 -0,0588
75 -0,1667 -0,0111 -0,0588
76 -0,1556 -0,0111 -0,0588
77 -0,1444 -0,0111 -0,0588
78 -0,1333 -0,0111 -0,0588
79 -0,1222 -0,0111 -0,0323
80 -0,1111 -0,0111 -0,0323
81 -0,1 -0,0111 -0,0323
104
82 -0,0889 -0,0111 -0,0323
83 -0,0778 -0,0111 -0,0323
84 -0,0667 -0,0111 -0,0323
85 -0,0556 -0,0111 -0,0323
86 -0,0444 -0,0111 -0,0323
87 -0,0333 -0,0111 0
88 -0,0222 -0,0111 0
89 -0,0111 -0,0111 0
90 0 -0,0111 0
105
Anexo E Tabela com os dados da execuo do Teste 04
Tabela 11 - Dados da execuo do Teste 04
ngulo Erro Variao de Erro Valor Defuzzificado
90 0,7667 0,7667 0,4829
89 0,7556 -0,0111 0,1902
88 0,7444 -0,0111 0,1902
87 0,7333 -0,0111 0,1902
86 0,7222 -0,0111 0,1902
85 0,7111 -0,0111 0,1902
84 0,7 -0,0111 0,1798
83 0,6889 -0,0111 0,1798
82 0,6778 -0,0111 0,1798
81 0,6667 -0,0111 0,1798
80 0,6556 -0,0111 0,1798
79 0,6444 -0,0111 0,1798
78 0,6333 -0,0111 0,1798
77 0,6222 -0,0111 0,1516
76 0,6111 -0,0111 0,1516
75 0,6 -0,0111 0,1516
74 0,5889 -0,0111 0,1516
106
73 0,5778 -0,0111 0,1516
72 0,5667 -0,0111 0,1516
71 0,5556 -0,0111 0,1516
70 0,5444 -0,0111 0,1516
69 0,5333 -0,0111 0,1239
68 0,5222 -0,0111 0,1239
67 0,5111 -0,0111 0,1239
66 0,5 -0,0111 0,1239
65 0,4889 -0,0111 0,1239
64 0,4778 -0,0111 0,1239
63 0,4667 -0,0111 0,1239
62 0,4556 -0,0111 0,1082
61 0,4444 -0,0111 0,1082
60 0,4333 -0,0111 0,1082
59 0,4222 -0,0111 0,1082
58 0,4111 -0,0111 0,1082
57 0,4 -0,0111 0,1082
56 0,3889 -0,0111 0,1082
55 0,3778 -0,0111 0,1082
107
54 0,3667 -0,0111 0,093
53 0,3556 -0,0111 0,093
52 0,3444 -0,0111 0,093
51 0,3333 -0,0111 0,093
50 0,3222 -0,0111 0,093
49 0,3111 -0,0111 0,093
48 0,3 -0,0111 0,093
47 0,2889 -0,0111 0,0792
46 0,2778 -0,0111 0,0792
45 0,2667 -0,0111 0,0792
44 0,2556 -0,0111 0,0792
43 0,2444 -0,0111 0,0792
42 0,2333 -0,0111 0,0792
41 0,2222 -0,0111 0,0792
40 0,2111 -0,0111 0,0792
39 0,2 -0,0111 0,0588
38 0,1889 -0,0111 0,0588
37 0,1778 -0,0111 0,0588
36 0,1667 -0,0111 0,0588
108
35 0,1556 -0,0111 0,0588
34 0,1444 -0,0111 0,0588
33 0,1333 -0,0111 0,0588
32 0,1222 -0,0111 0,0588
31 0,1111 -0,0111 0,0588
30 0,1 -0,0111 0,0588
29 0,0889 -0,0111 0,0588
28 0,0778 -0,0111 0,0588
27 0,0667 -0,0111 0,0588
26 0,0556 -0,0111 0,0588
25 0,0444 -0,0111 0,0588
24 0,0333 -0,0111 0,0588
23 0,0222 -0,0111 0,0588
22 0,0111 -0,0111 0,0588
21 0 -0,0111 0
109
Anexo F Tabela com os dados da execuo do Teste 05
Tabela 12 - Dados da execuo do Teste 05
ngulo Erro Variao de Erro Valor Defuzzificado
21 -1,5222 1,5222 -0,0936
22 -1,5111 -0,0111 -0,289
23 -1,5 -0,0111 -0,289
24 -1,4889 -0,0111 -0,289
25 -1,4778 -0,0111 -0,289
26 -1,4667 -0,0111 -0,289
27 -1,4556 -0,0111 -0,289
28 -1,4444 -0,0111 -0,289
29 -1,4333 -0,0111 -0,289
30 -1,4222 -0,0111 -0,289
31 -1,4111 -0,0111 -0,289
32 -1,4 -0,0111 -0,289
33 -1,3889 -0,0111 -0,289
34 -1,3778 -0,0111 -0,289
35 -1,3667 -0,0111 -0,289
36 -1,3556 -0,0111 -0,289
37 -1,3444 -0,0111 -0,289
110
38 -1,3333 -0,0111 -0,289
39 -1,3222 -0,0111 -0,289
40 -1,3111 -0,0111 -0,289
41 -1,3 -0,0111 -0,289
42 -1,2889 -0,0111 -0,289
43 -1,2778 -0,0111 -0,289
44 -1,2667 -0,0111 -0,289
45 -1,2556 -0,0111 -0,289
46 -1,2444 -0,0111 -0,289
47 -1,2333 -0,0111 -0,289
48 -1,2222 -0,0111 -0,289
49 -1,2111 -0,0111 -0,289
50 -1,2 -0,0111 -0,289
51 -1,1889 -0,0111 -0,289
52 -1,1778 -0,0111 -0,289
53 -1,1667 -0,0111 -0,289
54 -1,1556 -0,0111 -0,289
55 -1,1444 -0,0111 -0,289
56 -1,1333 -0,0111 -0,289
111
57 -1,1222 -0,0111 -0,289
58 -1,1111 -0,0111 -0,289
59 -1,1 -0,0111 -0,289
60 -1,0889 -0,0111 -0,289
61 -1,0778 -0,0111 -0,289
62 -1,0667 -0,0111 -0,289
63 -1,0556 -0,0111 -0,289
64 -1,0444 -0,0111 -0,289
65 -1,0333 -0,0111 -0,289
66 -1,0222 -0,0111 -0,289
67 -1,0111 -0,0111 -0,289
68 -1 -0,0111 -0,289
69 -0,9889 -0,0111 -0,289
70 -0,9778 -0,0111 -0,289
71 -0,9667 -0,0111 -0,289
72 -0,9556 -0,0111 -0,2608
73 -0,9444 -0,0111 -0,2608
74 -0,9333 -0,0111 -0,2608
75 -0,9222 -0,0111 -0,2608
112
76 -0,9111 -0,0111 -0,2608
77 -0,9 -0,0111 -0,2608
78 -0,8889 -0,0111 -0,2608
79 -0,8778 -0,0111 -0,2608
80 -0,8667 -0,0111 -0,2341
81 -0,8556 -0,0111 -0,2341
82 -0,8444 -0,0111 -0,2341
83 -0,8333 -0,0111 -0,2341
84 -0,8222 -0,0111 -0,2341
85 -0,8111 -0,0111 -0,2341
86 -0,8 -0,0111 -0,2341
87 -0,7889 -0,0111 -0,2074
88 -0,7778 -0,0111 -0,2074
89 -0,7667 -0,0111 -0,2074
90 -0,7556 -0,0111 -0,2074
91 -0,7444 -0,0111 -0,2074
92 -0,7333 -0,0111 -0,2074
93 -0,7222 -0,0111 -0,2074
94 -0,7111 -0,0111 -0,2074
113
95 -0,7 -0,0111 -0,1797
96 -0,6889 -0,0111 -0,1797
97 -0,6778 -0,0111 -0,1797
98 -0,6667 -0,0111 -0,1797
99 -0,6556 -0,0111 -0,1797
100 -0,6444 -0,0111 -0,1797
101 -0,6333 -0,0111 -0,1797
102 -0,6222 -0,0111 -0,1515
103 -0,6111 -0,0111 -0,1515
104 -0,6 -0,0111 -0,1515
105 -0,5889 -0,0111 -0,1515
106 -0,5778 -0,0111 -0,1515
107 -0,5667 -0,0111 -0,1515
108 -0,5556 -0,0111 -0,1515
109 -0,5444 -0,0111 -0,1515
110 -0,5333 -0,0111 -0,1238
111 -0,5222 -0,0111 -0,1238
112 -0,5111 -0,0111 -0,1238
113 -0,5 -0,0111 -0,1238
114
114 -0,4889 -0,0111 -0,1238
115 -0,4778 -0,0111 -0,1238
116 -0,4667 -0,0111 -0,1238
117 -0,4556 -0,0111 -0,1081
118 -0,4444 -0,0111 -0,1081
119 -0,4333 -0,0111 -0,1081
120 -0,4222 -0,0111 -0,1081
121 -0,4111 -0,0111 -0,1081
122 -0,4 -0,0111 -0,1081
123 -0,3889 -0,0111 -0,1081
124 -0,3778 -0,0111 -0,1081
125 -0,3667 -0,0111 -0,0929
126 -0,3556 -0,0111 -0,0929
127 -0,3444 -0,0111 -0,0929
128 -0,3333 -0,0111 -0,0929
129 -0,3222 -0,0111 -0,0929
130 -0,3111 -0,0111 -0,0929
131 -0,3 -0,0111 -0,0929
132 -0,2889 -0,0111 -0,0791
115
133 -0,2778 -0,0111 -0,0791
134 -0,2667 -0,0111 -0,0791
135 -0,2556 -0,0111 -0,0791
136 -0,2444 -0,0111 -0,0791
137 -0,2333 -0,0111 -0,0791
138 -0,2222 -0,0111 -0,0791
139 -0,2111 -0,0111 -0,0791
140 -0,2 -0,0111 -0,0588
141 -0,1889 -0,0111 -0,0588
142 -0,1778 -0,0111 -0,0588
143 -0,1667 -0,0111 -0,0588
144 -0,1556 -0,0111 -0,0588
145 -0,1444 -0,0111 -0,0588
146 -0,1333 -0,0111 -0,0588
147 -0,1222 -0,0111 -0,0323
148 -0,1111 -0,0111 -0,0323
149 -0,1 -0,0111 -0,0323
150 -0,0889 -0,0111 -0,0323
151 -0,0778 -0,0111 -0,0323
116
152 -0,0667 -0,0111 -0,0323
153 -0,0556 -0,0111 -0,0323
154 -0,0444 -0,0111 -0,0323
155 -0,0333 -0,0111 0
156 -0,0222 -0,0111 0
157 -0,0111 -0,0111 0
158 0 -0,0111 0