Você está na página 1de 117

UNIVERSIDADE FEDERAL DE MATO GROSSO

COORDENAO DE ENSINO DE GRADUAO EM CINCIA


DA COMPUTAO



APLICAO DA LGICA FUZZY NO CONTROLE DE UM
SISTEMA DINMICO ACOPLADO




SAYURI ARAKE JOAZEIRO







CUIAB MT
2011


UNIVERSIDADE FEDERAL DE MATO GROSSO
COORDENAO DE ENSINO DE GRADUAO EM CINCIA
DA COMPUTAO


APLICAO DA LGICA FUZZY NO CONTROLE DE UM
SISTEMA DINMICO ACOPLADO


SAYURI ARAKE JOAZEIRO


Orientador: Prof. Dr. ELMO BATISTA DE FARIA

Monografia apresentada ao Instituto de
Computao da Universidade Federal de Mato
Grosso, para obteno do Ttulo de Bacharel
em Cincia da Computao. rea de
Concentrao: Cincia da Computao




CUIAB MT
2011


UNIVERSIDADE FEDERAL DE MATO GROSSO
COORDENAO DE ENSINO DE GRADUAO EM CINCIA
DA COMPUTAO

CERTIFICADO DE APROVAO

Ttulo: Aplicao da Lgica Fuzzy no controle de um sistema dinmico acoplado
Autor: Sayuri Arake Joazeiro
Orientador: Prof. Dr. Elmo Batista de Faria

Aprovada em ___/___/______

Prof. Dr. Elmo Batista de Faria
IC
(Orientador)

Prof. MSc. Fabiana Freitas Mendes
IC

Prof. Dr. Maurcio Fernando Lima Pereira
IC

















Sometimes life is going to hit you in the head with a brick. Dont lose
faith. Im convinced that the only thing that kept me going was that I
loved what I did. Youve got to find what you love. And that is as true
for work as it is for your lovers. Your work is going to fill a large part
of your life, and the only way to be truly satisfied is to do what you
believe is great work. And the only way to do great work is to love
what you do. If you havent found it yet, keep looking. And dont
settle. As with all matters of the heart, youll know when you find it.
And, like any great relationship, it just gets better and better as the
years roll on. So keep looking. Dont settle.
Steve Jobs (1955-2011).


DEDICATRIA

A Deus graas pela minha vida e bnos obtidas.
minha me pelo apoio e amor incondicional.
Ao meu namorado que me compreendeu e me apoiou.



AGRADECIMENTOS

Agradeo a Deus primeiramente por ter iluminado o meu caminho e aberto as portas
para que eu pudesse chegar onde estou hoje.
Aos meus pais, Rosa e Sebastio, pela dedicao, amor e carinho, por me apoiarem em
todas as minhas decises e por acreditarem na minha capacidade.
Ao meu namorado, Denys, por estar ao meu lado em todos os momentos, me apoiando e
ajudando.
A todos os meus professores que me ensinaram tudo, desde escrever o alfabeto a
programar em paralelo, cada um sua maneira contribuindo para o meu contnuo
aprendizado.
Especialmente, agradeo ao Prof. Dr. Elmo Batista de Faria pela dedicao e pacincia
com que me orientou no desenvolvimento deste trabalho de concluso de curso e no
projeto de pesquisa, Prof. Msc. Fabiana Freitas Mendes pela orientao e ajuda neste
trabalho e pelo carinho com que me atendeu toda vez que ia sua sala e ao Prof.
Mauricio Fernando Lima Pereira por ter aceitado fazer parte deste trabalho.
Aos amigos e colegas da Computao pelo companheirismo e auxlio durante o curso,
por todos os momentos que passamos juntos durante estes quatro anos de curso.




SUMRIO

LISTA DE FIGURAS ..................................................................................................... 9
LISTA DE TABELAS .................................................................................................. 11
LISTA DE SIGLAS E ABREVIATURAS.................................................................. 12
RESUMO ....................................................................................................................... 13
ABSTRACT ................................................................................................................... 14
1. INTRODUO ......................................................................................................... 15
2. INTELIGNCIA ARTIFICIAL ............................................................................. 19
2.1. Definies ............................................................................................................ 19
2.2. Histrico ............................................................................................................... 20
3. LGICA FUZZY ...................................................................................................... 32
3.1. Lgica Aristotlica ............................................................................................... 32
3.2. Lgicas Clssicas ................................................................................................. 34
3.2.1. Lgica Modal ................................................................................................ 34
3.2.2. Lgica Epistmica......................................................................................... 35
3.2.3. Lgica Dentica ............................................................................................ 36
3.3. Lgicas Anticlssicas ........................................................................................... 37
3.3.1. Lgica Paraconsistente ................................................................................. 37
3.3.2. Lgica Paracompleta..................................................................................... 37
3.3.3. Lgica Difusa ................................................................................................ 38
3.4. Lgica Fuzzy ........................................................................................................ 38


4. ESTUDO DE CASO ................................................................................................. 48
4.1. Desenvolvimento do estudo de caso .................................................................... 48
4.1.1. Hardware do Sistema Dinmico Acoplado .................................................. 48
4.1.1.1. Servo Motores ........................................................................................ 49
4.1.1.2. Microcontrolador ARM ......................................................................... 50
4.1.1.3. Sistema de Aquisio de Dados ............................................................. 50
4.1.2. Software do Sistema Dinmico Acoplado .................................................... 52
4.1.2.1. Fuzzificao ........................................................................................... 53
4.1.2.2. Base de Dados ........................................................................................ 53
4.1.2.3. Regras de Inferncia .............................................................................. 54
4.1.2.4. Defuzzificao ....................................................................................... 55
4.1.2.5. Controlador fuzzy de posio ................................................................ 55
4.1.2.6. Controlador fuzzy de velocidade ........................................................... 56
4.2. Testes e Resultados .............................................................................................. 58
4.2.1. Teste 01 ......................................................................................................... 60
4.2.2. Teste 02 ......................................................................................................... 63
4.2.3. Teste 03 ......................................................................................................... 65
4.2.4. Teste 04 ......................................................................................................... 67
4.2.5. Teste 05 ......................................................................................................... 69
5. CONSIDERAES FINAIS ................................................................................... 75
5.1. Concluses ........................................................................................................... 75
5.2. Limitaes ............................................................................................................ 76
5.3. Trabalhos Futuros ................................................................................................ 77
6. REFERNCIAS BIBLIOGRFICAS .................................................................... 78


7. ANEXOS .................................................................................................................... 82
Anexo A Algoritmos dos controladores fuzzy de posio e velocidade ................. 82
Anexo B Tabela com os dados da execuo do Teste 01 ........................................ 87
Anexo C Tabela com os dados da execuo do Teste 02 ........................................ 94
Anexo D Tabela com os dados da execuo do Teste 03 ...................................... 101
Anexo E Tabela com os dados da execuo do Teste 04 ...................................... 105
Anexo F Tabela com os dados da execuo do Teste 05 ....................................... 109



9
LISTA DE FIGURAS
Figura 1 - Primeira Parte do Teste de Turing ................................................................. 22
Figura 2 - Segunda Parte do Teste de Turing ................................................................. 22
Figura 3 - Verso online do Algoritmo de Eliza ............................................................. 23
Figura 4 - Verso online do Algoritmo do Cleverbot ..................................................... 24
Figura 5 - Arquitetura do Perceptron ............................................................................. 25
Figura 6 Representao de um SE por meio de rvore de Deciso ............................ 26
Figura 7 Neurnio Biolgico ....................................................................................... 28
Figura 8 - Componentes do neurnio artificial ............................................................... 29
Figura 9 - Funo de ativao ......................................................................................... 30
Figura 10 - Tipos de camadas das redes neurais ............................................................. 30
Figura 11 - Tipos de Lgicas .......................................................................................... 34
Figura 12 - Conjuntos Numricos ................................................................................... 39
Figura 13 Representao Grfica do Conjunto das Pessoas Baixas ............................ 43
Figura 14 Representao Grfica do Conjunto das Pessoas Mdias ........................... 43
Figura 15 - Representao Grfica do Conjunto das Pessoas Altas ............................... 44
Figura 16 - Arquitetura do Sistema Dinmico Acoplado ............................................... 49
Figura 17 servo motores modificados .......................................................................... 49
Figura 18 - Microcontrolador ARM ............................................................................... 50
Figura 19 - Placa de Aquisio de Dados ....................................................................... 51
Figura 20 - Brao Robtico ............................................................................................ 51
Figura 21 - Diagrama de blocos do Controlador Fuzzy .................................................. 52
Figura 22 Grfico dos erros do Teste 01 ..................................................................... 60
Figura 23 - Grfico das variaes de erro do Teste 01 .................................................. 61


10
Figura 24 - Grfico dos valores defuzzificados do Teste 01 ........................................... 62
Figura 25 Grfico dos erros do Teste 02 ..................................................................... 63
Figura 26 Grfico das variaes de erro do Teste 02 .................................................. 64
Figura 27 Grfico dos valores defuzzificados do Teste 02 .......................................... 65
Figura 28 Grfico dos erros do Teste 03 ..................................................................... 66
Figura 29 Grfico das variaes de erro do Teste 03 .................................................. 66
Figura 30 Grfico dos valores defuzzificados do Teste 03 .......................................... 67
Figura 31 Grfico dos erros do Teste 04 ..................................................................... 68
Figura 32 Grfico das variaes de erro do Teste 04 .................................................. 68
Figura 33 Grfico dos valores defuzzificados do Teste 04 .......................................... 69
Figura 34 Grfico dos erros do Teste 05 ..................................................................... 70
Figura 35 Grfico das variaes de erro do Teste 05 .................................................. 70
Figura 36 Grfico dos valores defuzzificados do Teste 05 .......................................... 71




11
LISTA DE TABELAS
Tabela 1 - Definies de inteligncia artificial .............................................................. 20
Tabela 2 - Altura das Pessoas na Sala ............................................................................. 41
Tabela 3 - Classificao Nebulosa dos Elementos ......................................................... 42
Tabela 4 - Trabalhos desenvolvidos utilizando lgica fuzzy........................................... 46
Tabela 5 - Conjuntos nebulosos do controlador fuzzy .................................................... 54
Tabela 6 - Resultados dos testes e sentido de movimentao ......................................... 71
Tabela 7 Anlise dos Resultados ................................................................................. 72
Tabela 8 - Dados da execuo do Teste 01 ..................................................................... 87
Tabela 9 - Dados da execuo do Teste 02 ..................................................................... 94
Tabela 10 - Dados da execuo do Teste 03 ................................................................. 101
Tabela 11 - Dados da execuo do Teste 04 ................................................................. 105
Tabela 12 - Dados da execuo do Teste 05 ................................................................ 109




12
LISTA DE SIGLAS E ABREVIATURAS
CSV Comma Separated Values
IA Inteligncia Artificial
IARA Inteligncia Artificial, Robtica e Automao
IP Internet Protocol
NQ Nvel de Quantizao
PWM Pulse Width Modulation
RI Regras de Inferncia
RNA Rede Neural Artificial
SDA Sistema Dinmico Acoplado
SE Sistema Especialista
TCP Transmission Control Protocol
UFMT Universidade Federal de Mato Grosso




13
RESUMO
A lgica fuzzy ou nebulosa uma extenso da lgica aristotlica, a qual trabalha com os
conjuntos nebulosos que permitem valorar em um intervalo entre verdadeiro e falso. O
principal uso deste tipo de lgica em sistemas de controle, onde a lgica nebulosa
utilizada atravs do que chamado de controlador fuzzy. Os controladores fuzzy so
sistemas que proveem controle de variveis pr-definidas fazendo uso da lgica e dos
conjuntos fuzzy. Permitem um controle eficaz e robusto destas variveis, as quais a
utilizao da lgica clssica bivalente no seria satisfatria. Este trabalho objetiva um
estudo aprofundado de um estudo de caso com abordagem em Inteligncia Artificial e
Lgica Fuzzy. O estudo de caso em questo o desenvolvimento de uma aplicao
programada em lgica fuzzy para um sistema dinmico acoplado: um brao robtico
composto tanto de hardware quanto de software. O software necessrio para o brao
robtico um controlador fuzzy que lida com duas variveis: sua posio e velocidade.
Os resultados deste trabalho esto presentes em todas as etapas do seu desenvolvimento
contemplando a explicao da fundamentao terica de forma aprofundada e didtica
permitindo o seu fcil entendimento, a programao do algoritmo do controlador fuzzy
de posio e velocidade, a fase de testes com o controlador de posio, anlise dos
resultados obtidos com a experincia realizada e consideraes finais, concluses,
limitaes e possveis trabalhos futuros desta pesquisa. Aps o desenvolvimento de
todas as etapas deste trabalho, percebeu-se a viabilidade de diversas melhorias e gerao
de novos artefatos como trabalhos futuros. O principal trabalho futuro concernente
criao de algoritmos proprioceptivos para o sistema dinmico acoplado utilizado nesta
pesquisa. A criao de tais algoritmos permitir ao brao robtico a percepo de si
mesmo e do ambiente em que se encontra, resultando em maior equilbrio e desvio de
obstculos. Este trabalho tem tambm gerado discusso na comunidade cientfica, onde
os resultados desta importante pesquisa tem sido reconhecidos atravs de publicaes
em congressos nacionais e internacionais.



14
ABSTRACT
Fuzzy logic is an extension of aristotelic logic, which works with fuzzy sets that allows
valuing in an interval between true and false. The main use of this kind of logic is in
control systems, where fuzzy logic is what is called fuzzy controller. Fuzzy controllers
are systems that provide control of pre-defined variables using fuzzy logic and sets.
They allow a robust and effective control of these variables, where the use of classical
bivalent logic would not be satisfactory. This work aims a deep learning in the use of
fuzzy controllers through a case study with approaches in Artificial Intelligence and
Fuzzy Logic. The case study in question is the development of an application
programmed in fuzzy logic for a coupled dynamic system: a robotic arm composed of
hardware and software. The software required for the robotic arm is a fuzzy controller
that deals with two variables: its position and speed. The results of this work are present
in every phase of its development considering the explanation of the fundamental theory
in a depth and didactic way allowing its easy understanding, programming of the
position and speed fuzzy controller, the testing phase with the position controller,
analysis of the obtained results with the experience realized and final considerations,
conclusions, limitations and possible future work of this research. After the
development of all phases of this work, we noticed the feasibility of various
improvements and generation of new artifacts as future work. The main future work is
concerned with the creation of proprioceptive algorithms for the coupled dynamic
system used in this research. The creation of these algorithms will allow the robotic arm
perception of itself and its environment, resulting in greater balance and obstacle
avoidance. This work has also generated discussion in the scientific community, where
the results of this important research have been recognized through publications in
national and international conferences.



15
1. INTRODUO
A lgica fuzzy (tambm chamada de nebulosa ou difusa), apesar de ser um tema
bastante recente, possui uma grande aplicabilidade. Est presente nas reas de processos
industriais, cincias ambientais, robtica e tambm na rea de negcios e finanas e se
encontra em diversos equipamentos utilizados no nosso cotidiano, dentre eles: micro-
ondas, elevador, motor de carro e ar-condicionado (KOHAGURA, 2007).
Alm da grande aplicabilidade, esta lgica possui como principais caractersticas a
robustez e eficincia que ela proporciona ao trabalhar com valores vagos.
Neste trabalho, so discutidas tais caractersticas e aplicabilidades atravs de uma
fundamentao terica da Inteligncia Artificial e Lgica Fuzzy e do desenvolvimento
de uma aplicao utilizando tal tipo de lgica por meio de um estudo de caso.
O objetivo geral deste trabalho o desenvolvimento deste estudo de caso: um
controlador fuzzy de posio e velocidade para auxiliar o controle de um sistema
dinmico acoplado (SDA), compreendendo desde a sua fase de programao at a fase
de anlise de resultados de testes feitos com o algoritmo implementado. Sistema
dinmico acoplado definido como um sistema cujo comportamento dinmico, ou
seja, caracterizado por mudanas conforme a variao do tempo. O SDA utilizado neste
projeto de pesquisa um brao robtico, sendo este o ambiente de estudo da aplicao
da lgica fuzzy.
Tal ambiente de estudo foi escolhido devido expanso da robtica. H muita pesquisa
nesta rea, onde a cada dia aparece um novo projeto de rob que faz determinada
atividade ou conjunto de tarefas. A capacidade de utilizao dos robs pode ser
percebida at na rea educacional onde escolas fazem uso de conceitos desta rea para a
facilitao do aprendizado de conceitos complexos nas reas de cincia, matemticas e
tecnolgicas (MINAMI, 2011).
Um dos exemplos da robtica educacional a sua utilizao nos colgios particulares de
Pernambuco, onde alunos de 7 a 13 anos constroem e programam robs. O objetivo
que o estudante possa ter uma melhor compreenso do contedo e tambm facilitar a
insero deste neste contexto tecnolgico, alm de compreender os conceitos por trs da
construo e programao de robs (WANDERLEY, 2011).


16
O rob representa cada vez mais a tentativa de capacidade intelectual do ser humano
de exercer as funes superiores de sua mente em ao: procurar facilitar a vida
(HALFPAP, SOUZA e ALVES, 2007). Da mesma maneira que a automao de alguns
processos fez com que houvesse uma revoluo industrial, inevitvel o uso de robs
para atividades dirias que podem ser terceirizadas para eles realizarem, permitindo a
facilidade e o conforto da humanidade.
Acerca dos projetos e desenvolvimento de robs, uma das pesquisas a do grupo de
pesquisa Inteligncia Artificial, Robtica e Automao (IARA) da Universidade Federal
de Mato Grosso (UFMT) que objetiva desenvolver um rob humanoide proprioceptivo.
A propriocepo, tambm chamada de cinestesia, a capacidade humana de
localizao espacial do seu prprio corpo bem como do ambiente em que se encontra
(JOAZEIRO, FARIA e BUENO, 2011). Trata-se de um conjunto de sensores que
promovem feedback possibilitando a eles a realizao de atividades tais como andar e se
mover com equilbrio e eficincia.
O tema proposto de interesse da comunidade cientfica na rea de Robtica e
Inteligncia Artificial, especialmente na rea de implementao fazendo uso de Lgica
Fuzzy.
A proposta do uso destes controladores em lgica nebulosa permitiu a independncia de
coordenao motora do brao robtico.
Para alcanar o objetivo proposto neste trabalho, foi necessria a definio de vrios
objetivos especficos para o desenvolvimento deste projeto:
Pesquisa bibliogrfica a respeito da abordagem utilizada nesta pesquisa:
Inteligncia Artificial e Lgica Fuzzy;
Redao dos resultados obtidos com a pesquisa bibliogrfica anteriormente
realizada;
Desenvolvimento dos controladores fuzzy de posio e velocidade;
Realizao de testes no brao robtico;
Coleta de dados dos testes realizados;
Anlise dos dados coletados;


17
Tais objetivos especficos foram tambm definidos como fases desta pesquisa, onde os
resultados de cada fase so apresentados nos captulos seguintes.
Aps a realizao da fase de pesquisa bibliogrfica acerca dos assuntos de Inteligncia
Artificial e Lgica Fuzzy, foram escritos dois captulos resultando na fundamentao
terica necessria para o desenvolvimento deste trabalho. Essa redao est descrita no
Captulo 2 e Captulo 3, seguindo a estrutura descrita a seguir.
No Captulo 2, discorre-se sobre a Inteligncia Artificial. Discute-se o conceito do que
vem a ser inteligncia e, por conseguinte, so apresentadas diversas definies de
inteligncia artificial. Foi tambm narrada brevemente a histria desta rea promissora,
explicando sucintamente acerca dos principais assuntos que revolucionaram esta rea,
entre elas: Teste de Turing, Sistemas Especialistas e Redes Neurais Artificiais.
No Captulo 3, o assunto a lgica fuzzy. Para a compreenso desta lgica, foram
abordadas as caractersticas e leis pertinentes lgica clssica aristotlica. A partir
desta, comenta-se de maneira rpida todas as lgicas oriundas da lgica aristotlica,
baseadas nesta ou no. Dentre estas lgicas apresentadas, ser abordada a lgica fuzzy e
sua origem, os conjuntos fuzzy. Para completo aprendizado sobre os conjuntos fuzzy,
contrasta-se esta teoria com a teoria dos conjuntos matemticos. E, por ltimo, definem-
se alguns trabalhos relacionados acerca da lgica fuzzy, sendo um deles o nosso estudo
de caso.
Aps a fase de redao da fundamentao terica, houve incio das fases pertinentes ao
desenvolvimento do estudo de caso, onde seus resultados foram redigidos no Captulo
4. Neste captulo, discute-se o desenvolvimento do estudo de caso apresentando-o
atravs de trs fases: desenvolvimento da aplicao, testes e resultados obtidos. A fase
de desenvolvimento dividida em dois subtpicos: hardware e software do SDA. No
subtpico de hardware, apresenta-se a estrutura do brao robtico, onde so abordados
os seus principais componentes. Na parte de software, explica-se o funcionamento do
controlador fuzzy implementado. Nas fases de testes e resultados, o controlador
desenvolvido testado, onde seus resultados so analisados criteriosamente.
E, por ltimo, no Captulo 5, so apresentadas as consideraes finais deste trabalho de
concluso de curso, apresentando os seus principais resultados e incluindo as limitaes


18
dessa pesquisa e as possibilidades de estudos futuros acerca da temtica desta
monografia.




19
2. INTELIGNCIA ARTIFICIAL
Neste captulo, sero abordados os conceitos de inteligncia e inteligncia artificial.
Aps estas definies, ser feito uma breve viagem no tempo, no comeo da
Inteligncia Artificial (IA), passando pelas principais conquistas dessa rea, definindo e
exemplificando de maneira didtica os principais assuntos considerados complexos e de
difcil compreenso.
2.1. Definies
Antes de abordar a temtica Inteligncia Artificial (IA), importante discutir
primariamente o que significa inteligncia.
Quando se pensa a respeito do que ser inteligente, vrios significados surgem:
raciocnio rpido, vasto conhecimento, habilidade de entendimento de ideias,
capacidade de resoluo de problemas, entre outras. Partindo destes conceitos, define-
se o que inteligncia: faculdade ou capacidade de aprender, apreender, compreender
ou adaptar-se facilmente (FERREIRA, 2004).
Assim sendo, a inteligncia artificial a capacidade de dar inteligncia de forma no
natural. Mas ser que to simples assim? De acordo com Norvig e Russel (2004), h
quatro principais categorias de definies de inteligncia artificial, sendo estas:
Sistemas que pensam como seres humanos
Sistemas que pensam racionalmente
Sistemas que atuam como seres humanos
Sistemas que atuam racionalmente
Conceitos acerca dessas categorias so apresentados na Tabela 1, onde os conceitos
esquerda dizem respeito inteligncia de acordo com a humanidade e do lado direito
referencia-se a racionalidade. Os conceitos apresentados na parte superior so de
acordo com comportamento e os na parte inferior so definidos atravs da importncia
do pensamento.


20
Tabela 1 - Definies de inteligncia artificial
Humanidade Racionalidade
C
o
m
p
o
r
t
a
m
e
n
t
o

Agindo de forma humana Agindo racionalmente
A arte de criar mquinas que executam
funes que exigem inteligncia quando
executadas por pessoas (KURZWEIL,
1990)
A Inteligncia Computacional
o estudo do projeto de agentes
inteligentes. (POOLE,
MACKWORTH e GOEBEL,
1998)
P
e
n
s
a
m
e
n
t
o

Pensando de forma humana Pensando racionalmente
O novo e interessante esforo para fazer
os computadores pensarem... mquinas
com mentes, no sentido total e literal.
(HAUGELAND, 1985)
[Automatizao de] atividades que
associamos ao pensamento humano,
atividades como a tomada de decises, a
resoluo de problemas, o aprendizado..
(BELLMAN, 1978)

O estudo das faculdades mentais
pelo uso de modelos
computacionais. (CHARNIAK e
MCDERMOTT, 1985)
O estudo das computaes que
tornam possvel perceber,
raciocinar e agir. (WINSTON,
1992)

2.2. Histrico
Ao longo da histria da IA, estas definies acima apresentadas se fundem e se
divergem, possibilitando o desenvolvimento dessa rea. O incio da Inteligncia
Artificial foi na dcada de quarenta, mais especificamente no ano de 1943 com um
trabalho de Warren McCulloch e Walter Pitts (MCCULLOCH e PITTS, 1943), onde


21
estes propuseram um modelo de neurnios artificiais que podiam possuir um dos dois
estados vlidos: ligado ou desligado, 0 ou 1.
Em 1949, Donald Hebb tambm contribuiu para o campo da Inteligncia Artificial com
a regra da Aprendizagem de Hebb, uma regra de atualizao simples para modificar as
intensidades de conexo entre os neurnios artificiais (NORVIG e RUSSEL, 2004).
Ele demonstrou que se um neurnio X for repetidamente estimulado pelo neurnio ativo
Y, X ficar mais sensvel aos estmulos de Y, fazendo com que a conexo XY seja mais
eficiente na produo dos valores de sada.
Mas o principal personagem do nascimento da Inteligncia Artificial Alan Turing, um
dos grandes nomes da Cincia da Computao. Alm da sua participao na criao do
computador com a mquina de Turing, este plantou as razes da rea de IA. Durante a
Segunda Guerra Mundial, Turing trabalhou para a inteligncia britnica quebrando os
cdigos de guerra dos alemes e espionando-os, Turing (1950) teve a sua grande ideia,
descrita no artigo Computing Machinery and Intelligence: As mquinas podem
pensar?. Como definir o que o pensar difcil, Turing substituiu a pergunta por uma
mais simples, a qual pudesse obter respostas mais satisfatrias: H computadores que
se dariam bem no Jogo de Imitao?.
O Jogo de Imitao conhecido comumente como Teste de Turing. Este teste possui
trs jogadores, onde um deles um homem (A), o segundo jogador uma mulher (B) e
o sexo do terceiro (C) no importante. Este o interrogador, o qual fica isolado dos
outros dois jogadores e os interroga. Seu objetivo descobrir qual o sexo dos jogadores,
onde os interrogados podem mentir para dificultar o jogo, conforme Figura 1.


22

Figura 1 - Primeira Parte do Teste de Turing

Com este tabuleiro de jogo, Turing resolve tirar um dos interrogados (qualquer um
dos dois) e substituir por uma mquina, conforme a Figura 2. O interrogado percebe a
mudana? Se no perceber, ento h computadores que se do bem no Jogo de Imitao
e, portanto, podem pensar.

Figura 2 - Segunda Parte do Teste de Turing


23
Ao longo dos anos, vrios programas tentaram passar no teste de Turing, sendo o Eliza
o primeiro chatterbot (rob que simula conversas) a ser quase bem sucedido, conforme
ilustrado na Figura 3. O Eliza foi desenvolvido em 1965, no MIT (Massachusetts
Institute of Technology), pelo cientista da computao Joseph Weizenbaum. De acordo
com Wallace (1997), Eliza um psicoterapeuta rogeriano (mtodo centrado no
paciente), ou seja, se voc fala que est deprimido, Eliza pergunta o porqu de voc
estar deprimido, mostrando-se ser um rob adorvel e amvel. Este programa trabalha
com regras definidas e programadas com uma tabela relacional, o que a torna bastante
limitada em suas respostas, pois no h aquisio de novos conhecimentos.

Figura 3 - Verso onlinedo Algoritmo de Eliza (WALLACE, 1997)

Ao contrrio do Eliza, o Cleverbot (CARPENTER, 2011) ilustrado na Figura 4 faz uso
das respostas dadas anteriormente por usurios e mantm uma conversao contnua
acerca do assunto discutido. Carpenter, disse em entrevista a Carvalhal (2011):
Cleverbot como uma Wikipdia falante. Cada vez que algum conversa
com ele, ele aprende os diferentes contextos do que a pessoa est dizendo e
usa isso em outras conversas. O objetivo imitar uma conversa humana,
medida que se desenvolve, ele fica cada vez mais sensvel.



24
Por causa dessa arquitetura diferenciada, ao ser posto em prova no Festival Technique,
na ndia, em 2011, passou no Teste de Turing. O algoritmo criado em 1988 pelo
cientista Rollo Carpenter conseguiu enganar 59,3% dos participantes da prova.
Apesar do nascimento de IA ter sido nos anos quarenta, o termo Inteligncia Artificial
s foi utilizado pela primeira vez em 1956, por John McCarthy em uma conferncia no
Darmouth College.
Com a repercusso da primeira conferncia de Inteligncia Artificial, os cientistas
ficaram entusiasmados com a perspectiva de crescimento desta nova rea, fazendo com
que as pesquisas de IA nos anos seguintes crescessem de forma incomensurvel.

Figura 4 - Verso online do Algoritmo do Cleverbot (CARPENTER, 2011)

Uma das pesquisas mais significativas dessa poca foi o aperfeioamento da
Aprendizagem de Hebb por Frank Rosenblatt em 1962, atravs do que ele chamou de
perceptrons.
O perceptron, ilustrado na Figura 5, um modelo arcaico de redes neurais contendo
somente as camadas de entrada e sada, as quais podem aprender tudo que podem
representar.


25

Figura 5 - Arquitetura do Perceptron

Os modelos baseados no perceptron so atrativos porque so rpidos e poderosos para
a modelagem de dados (GALLANT, 1994).
Ele foi muito utilizado na dcada de sessenta e seu desuso ocorreu devido ao fato de sua
arquitetura no permitir uma representao ilimitada de seu aprendizado. A sua
limitao se deve ao fato de que entradas similares resultam em padres de sadas
semelhantes e, consequentemente, sua estrutura no consegue assimilar aprendizados
mais complexos. Este problema foi contornado com a proposta de uma arquitetura de
mltiplas camadas e um algoritmo de treinamento com o nome de backpropagation
(NETO e NICOLETTI, 2005).
Com a prosperidade obtida no comeo da rea de Inteligncia Artificial, os cientistas
fizeram especulaes acerca dos resultados que ainda estavam por vir e os seus sonhos
foram grandes demais para a realidade da poca. Assim sendo, entre os anos finais da
dcada de sessenta e os anos iniciais da dcada de setenta, as pesquisas nesta rea
ficaram de lado.
O estudo dos Sistemas Especialistas, na dcada de setenta, fez com que as pesquisas
voltassem com todo o vapor. Um sistema especialista (SE) um sistema que soluciona
problemas com base no conhecimento de um especialista humano em uma determinada
rea.


26
Este especialista humano transmite o seu conhecimento para um interpretador ou
engenheiro do conhecimento, o qual definir o contedo assimilado e necessrio para
definir a base do conhecimento, onde so definidas as regras. De acordo com Raynor
(1999), estes sistemas podem ser usados no lugar de, ou auxiliar, especialistas
humanos na tomada de decises.
Os SEs so construdos a partir de um banco de dados de regras pr-definidas, cujas
operaes para a busca pela resoluo dos problemas so definidas atravs de
mecanismos de busca e a representao desses sistemas so feitas em rvores de
deciso.
A rvore de deciso, vide Figura 6, possui regras em cada um dos seus ns (exceto pelas
folhas) e as folhas da rvore tem as solues do problema, de acordo com as regras
definidas pela sua rvore superior.

Figura 6 Representao de um SE por meio de rvore de Deciso

Na Figura 6 est representado um sistema especialista para descobrir qual a ordem
crescente de trs nmeros quaisquer como, por exemplo: 8 (a), 15 (b) e 13 (c). Ao
verificar a regra raiz a < b, constata-se que 8 , de fato, menor que 15. Pelo fato da
regra retornar Sim, a regra a ser verificada agora a que se encontra na subrvore


27
esquerda da raiz: b < c, ou seja, examinado se 15 menor do que 13. Sendo assim,
esta regra retorna No, pois 15 maior do que 13. Com o retorno de No, verifica-se a
regra que est na subrvore direita a < c, ou seja, analisado se 8 menor do que 13.
Esta regra verdadeira e, sendo assim, retorna Sim e chega folha da rvore, a qual
representa a soluo para o nosso problema. A folha contm a soluo a < c < b, ou
seja, 8 < 13 <15.
De acordo com Partridge (1998), um SE nunca estar pronto por duas razes principais:
a. A base de conhecimento (conjunto das regras definidas do SE) incompleta,
pois h a possibilidade de incluir novas regras para que o sistema melhore seu
desempenho, ficando mais robusto, ou ento aumentar o escopo do sistema, para
que este possa resolver mais problemas.
b. No h resposta absoluta produzida pelo sistema, ou seja, as solues dos
problemas podem mudar completamente ou ento informaes serem
acrescentadas a estas. H tambm a possibilidade de adicionar ou melhorar as
heursticas a fim de que os resultados obtidos sejam melhores.
Mas aps a ressureio da Inteligncia Artificial, a maior contribuio foi o tardio
desenvolvimento do campo de redes neurais artificiais (RNAs), rea esta que j possua
contribuies de McCulloch, Pitts, Hebb e Rosenblatt. Segundo Loesch e Sari (1996),
redes neurais artificiais so modelos computacionais baseados no sistema neurolgico
humano, mais especificamente no complexo funcionamento do crebro humano.
O crebro humano possui bilhes de neurnios, os quais so interconectados atravs das
sinapses, que so responsveis pelo processamento de dados humano.
O funcionamento dos neurnios biolgicos, representados pela Figura 7, acontece da
seguinte forma: os dentritos recebem os valores de entrada, os quais causam impulsos
eltricos e so transmitidos atravs do neurnio. Quando estes impulsos chegam ao
terminal do axnio, esses, por sua vez, possuem conexes com os dentritos de outros
neurnios e transmitem os valores de sada para outros neurnios, atravs de seus
dentritos.


28

Figura 7 Neurnio Biolgico (SILVA, 2003)

De acordo com Coppin (2004), o crebro humano possui uma propriedade chamada
maleabilidade a qual permite o aprendizado, onde os neurnios podem mudar a
estrutura das suas conexes com outros neurnios. Essa maleabilidade do crebro
humano a implementao natural da regra de Hebb, onde as conexes de neurnios
que levam a respostas certas so mais fortes do que as conexes que resultam em
retornos errneos.
De maneira anloga, as redes neurais artificiais so o crebro, e os neurnios biolgicos
so os neurnios artificiais que compem a RNA. O neurnio artificial possui a
estrutura representada na Figura 8, com os seguintes componentes representados na
figura pelas letras enumeradas:
a. Vetor de entrada (x

, 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

Você também pode gostar