Anda di halaman 1dari 6

DESENVOLVIMENTO DE UMA BIBLIOTECA FUZZY PARA O CONTROLE

AUTNOMO DE UM ROB MVEL EM AMBIENTE DESCONHECIDO


Douglas Santiago Kridi, Antnio Jos de Oliveira Alves, Marcus Vincius de Sousa Lemos, Ricardo de
Andrade Lira Rablo
Universidade Estadual do Piau Uespi / Laboratrio de Informtica Aplicada - LAIC
Caixa Postal 381
CEP 64002-150 - Teresina PI

Resumo Este trabalho introduz a eFLL (Embedded Fuzzy


Logic Library), uma biblioteca escrita em C++ que auxilia na
implementao de controladores fuzzy em plataformas
embarcadas. Alm de demonstrar o funcionamento da
biblioteca, este artigo analisa o desempenho da mesma por
meio de um controlador fuzzy, embarcado em um
microcontrolador ATmega, para o controle de um rob mvel
autnomo.
Palavras Chaves: Arduino, Robtica Mvel, Inteligncia
Artificial, Controlador Fuzzy.
Abstract:
This
paper introduces
the eFLL (Embedded Fuzzy Logic Library), a library written
in C ++ that helps in the implementation of fuzzy controllers in
embedded platforms. In addition to demonstrating the
operation of
the
library,
this
article
analyzes its
performance using a fuzzy
controller, embedded in an
ATmega microcontroller to control an autonomous
mobile
robot.
Keywords: Arduino, Mobile Robotics, Artificial Intelligence,
Fuzzy Controller.

INTRODUO

A robtica mvel tem sido objeto de discusso constante em


artigos e trabalhos com os mais diversos propsitos e, segundo
Wolf et al. (2009), nas ultimas duas dcadas esta rea de
estudos e pesquisas se multiplicou com o surgimento de novas
tecnologias cada vez mais acessveis e embarcadas. Uma das
ferramentas que alavancaram a robtica mvel autnoma foi a
utilizao de tcnicas de inteligncia artificial [Silva 2008] que
deram aos robs a caracterstica adaptativa de lidar com
ambientes desconhecidos ou que sofrem modificaes
aleatrias.
Robs desenvolvidos para explorar lugares
inspitos ou que ofeream extremo perigo, so exemplos de
aplicaes que envolvem a mobilidade autnoma e seus
percalos.
Para que um rob possa tomar atitudes como se desviar de um
obstculo, ou traar uma trajetria eficiente, ele precisa obter
dados a respeito do ambiente. Estas informaes so obtidas
por meio de sensores que equipam o rob e permitem a
percepo do que est ao seu redor, dando a maquina sinais de
entrada que sero usados no processo decisrio responsvel
pelas interaes do rob com o ambiente, sem a interveno
humana [Jcobo 2001].

Como o cenrio em que o rob ir se locomover um ambiente


desconhecido, assim como a localizao dos possveis
obstculos, o mtodo de controle que originar as regras e
parmetros de navegao precisa ser capaz de modelar o
conhecimento incerto ou impreciso. Neste ponto, podemos
recorrer a uma tcnica de inteligncia artificial conhecida por
sistemas fuzzy ou sistemas nebulosos, que se baseia nos
conceitos de lgica fuzzy [Zadeh 1965] e na teoria dos
conjuntos fuzzy [Zadeh 1965]. Na literatura, podemos encontrar
vrios trabalhos que utilizam uma abordagem baseada em
sistemas fuzzy para o controle de robs mveis [Moratori et al
2006], [Fracasso e Costa 2005], [Ottoni e Lages 2000].
Diversos trabalhos em robtica utilizam hardware com
recursos limitados, no entanto, ainda no h uma biblioteca que
auxilie na implementao de sistemas fuzzy neste tipo de
tecnologia embarcada.
Este artigo introduz a eFLL (Embedded Fuzzy Logic Library),
uma biblioteca capaz de auxiliar o desenvolvimento de
sistemas fuzzy em plataformas de hardware embarcados, de
forma a tornar a criao de controladores fuzzy para robs
mveis e outras aplicaes diversas mais intuitiva e rpida. A
biblioteca suficientemente leve para ser executada em
microcontroladores com recursos limitados, alm de possuir
uma implementao simples e direta.
O restante do artigo descrito a seguir. Na seo 2,
apresentamos uma viso geral sobre sistemas, conjuntos e
lgica fuzzy. Na seo 3, descrevemos brevemente os principais
componentes da biblioteca desenvolvida, enquanto na seo 4,
sero descritos os testes feitos em ambiente real usando a
biblioteca. Por fim, na seo 5 apresentamos as concluses e
trabalhos futuros.

CONJUNTOS FUZZY, LGICA FUZZY


E SISTEMAS DE INFERNCIA

Na teoria clssica de conjuntos, um valor s pode assumir dois


estados (verdadeiro ou falso) o que nos leva ao raciocnio
exato. Lofti A. Zadeh, em 1965, apresenta a teoria dos
conjuntos fuzzy, a qual visa determinar um grau de pertinncia
que indica o quanto um determinado elemento pertence a um
determinado conjunto. Esse grau de pertinncia definido por
meio de uma funo caracterstica real (funo de pertinncia)
mapeada por F: U [0,1], que associa a cada  
(universo de discurso) um nmero real F (x) no intervalo [0,1],
ao invs dos valores binrios usuais: pertence (1) e no

SBA Controle & Automao Vol. 00 no. 00 / Jan., Fev., Mar, Abril de 0000

pertence (0). Vrios conjuntos fuzzy podem estar associados a


um nome, chamado de varivel lingustica[Engelbrecht 07].
Por exemplo, a distncia de um determinado rob com relao
a um obstculo pode ser uma varivel lingustica assumindo os
valores perto, mdio e longe. Estes valores so descritos por
intermdio de conjuntos fuzzy, representados por funes de
pertinncia, conforme mostrado na figura Figura 2. Na
imagem, os conjuntos Perto e Longe so representados por um
trapzio, enquanto o conjunto Mdio representao por um
triangulo.
Pode-se definir lgica fuzzy (difusa) como sendo uma
ferramenta capaz de capturar informaes vagas, em geral
descritas por meio de uma preposio fuzzy (afirmao do tipo
P A, onde P nome de uma varivel e A um conjunto
fuzzy), e atribuir um grau de verdade a esta preposio, no
intervalo [0,1]. De modo figurativo enquanto a lgica clssica
enxerga somente o preto e branco, a logica fuzzy capaz de,
alm do preto e branco, enxergar vrios tons de cinza entre as
duas cores.
Sistemas de inferncia fuzzy so capazes de tratar processos
bastante complexos, onde existem informaes incertas ou
imprecisas. Para tanto os sistemas de inferncia fuzzy utilizam
regras lingusticas do tipo se...ento que tem na teoria dos
conjuntos fuzzy [Zadeh 1965] e na lgica fuzzy [Zadeh 1965] a
base matemtica condizente [Leal 2011].
A Figura 1 mostra a viso geral de um sistema fuzzy.

A Figura 2 mostra como o valor da entrada Distncia pertence


a dois conjuntos, com graus de pertinncia diferentes.

Figura 2. Mostra a fuzzificao da entrada Distancia.


No exemplo da Figura 2, o valor de entrada 3,50 pertence ao
conjunto Perto, com grau de pertinncia 0,45 e tambm
pertence ao conjunto Mdio com grau de pertinncia 0,65.

2.2

O valor preciso da entrada Distncia resultante de leituras


externas feitas por sensores passou por um estgio de
fuzzificao, isto , atribui-se o grau de pertinncia do valor
desta entrada em relao a um dado conjunto fuzzy. Aps a
fuzzificao, iniciado o processo de inferncia.
Neste momento associamos as combinaes possveis entre as
pertinncias e conjuntos ativados pela varivel de entrada, e
seus reflexos nos conjuntos da varivel de sada.
O mdulo de inferncia do sistema fuzzy ir associar os
conjuntos atingidos na fuzzificao da entrada aos conjuntos
correspondentes na sada, sempre se baseando nas regras que
foram modeladas previamente.

2.3
Figura 1. Viso geral de um sistema fuzzy.
Nos sistemas fuzzy, em geral, o comportamento dinmico do
sistema modelado por meio de regras fuzzy. Estas regras so
baseadas no conhecimento e na experincia de um especialista
da rea [Engelbrecht 2007]. Regras fuzzy so definidas na
seguinte forma:
Se <antecedente(s)> ento <consequente(s)>
O antecedente e consequente de uma regra fuzzy so
proposies contendo variveis lingusticas:
Se A a e B b ento C c
A base de regras e a base de dados formam a base de
conhecimentos de um sistema fuzzy [Leal 2011]. Alm desta
base de conhecimento, um sistema de raciocnio fuzzy
composto por outros componentes, cada qual realizando uma
tarefa especfica. Estes componentes so descritos a seguir.

2.1

Fuzzificao

Para demonstrar alguns conceitos, vamos usar um exemplo


prtico em que teremos duas variveis lingusticas, uma de
entrada, chamada Distncia, e outra de sada, chamada
Velocidade. Estas variveis podero assumir um conjunto de
valores, que no caso, sero Perto, Mdio e Longe, para a
varivel Distncia, e Lento, Normal e Rpido, para a varivel
Velocidade.
2 SBA Controle & Automao Vol. 00 no. 00 / Jan., Fev., Mar, Abril de 0000

Inferncia

Defuzzificao

Aps a inferncia descobrir com qual grau de pertinncia os


conjuntos da varivel de sada foram acionados, iniciado o
processo de defuzzificao. O objetivo desta etapa descobrir
o valor preciso associado ao grau de pertinncia de um dado
conjunto, como ilustra a Figura 3. Este procedimento
necessrio, pois, em aplicaes prticas, geralmente so
requeridas sadas precisas. No caso de um sistema de controle
da navegao de um rob, por exemplo, em que o controle
efetuado por um sistema de inferncia fuzzy (ou controlador
fuzzy), este deve fornecer ao rob dados ou sinais precisos, j
que a "apresentao" de um conjunto fuzzy entrada do rob
no teria significado algum. Existem vrios mtodos de
defuzzificao na literatura; dois dos mais empregados so o
centro de gravidade e a mdia dos mximos. Neste, a sada
precisa obtida tomando-se a mdia entre os dois elementos
extremos no universo que correspondem aos maiores valores
da funo de pertinncia do consequente. Com o centro de
gravidade, a sada o valor no universo que divide a rea sob a
curva da funo de pertinncia em duas partes iguais. Neste
trabalho, consideramos apenas a mdia dos mximos.

A BIBLIOTECA

A biblioteca desenvolvida neste trabalho implementa


computacionalmente os conceitos e tcnicas fuzzy abordados na
seo anterior, para serem usados principalmente em
aplicaes embarcadas que possuem recursos limitados no seu
processamento.
Deste modo, desenvolvemos um algoritmo orientado a objetos,
usando a linguagem de programao C++ [Stroustrup 2000]

por esta ser uma linguagem de propsitos gerais, alm de ser a


linguagem de programao padro do microcontrolador
ATmega (plataforma utilizada neste projeto). Outra vantagem
da biblioteca ser escrita em C++ a fcil portabilidade para
outras plataformas de micro controladores. A biblioteca possui
uma interface de fcil configurao, permitindo que o sistema
fuzzy seja rapidamente projetado. A seguir, descrevemos a
biblioteca e seus principais elementos.

Figura 3. Defuzzificao da sada Velocidade.

3.1

Classes e Principais Mtodos

A biblioteca composta por 4 classes, chamadas Fuzzy,


FuzzySet, FuzzyRule e FuzzyComposition, que se relacionam
como na Figura 4.

encontrar o ponto em que a fuzzificao atinge os conjuntos das


variveis, usando truncate().
Para determinar quais conjuntos estaro associados a uma
entrada, e seus respectivos valores, usamos a classe
FuzzySet.cpp e seus mtodos. Fornecemos 4 valores para cada
conjunto, o limite inferior, o ponto de mximo 1, o ponto de
mximo 2, e o limite superior, assim, podemos ter um conjunto
que graficamente seja representado por um triangulo ou por um
trapzio, dependendo dos valores dos seus pontos. A Figura 5
ilustra a posio dos pontos.

Figura 5. Disposio dos pontos de um conjunto fuzzy.


De acordo com a Figura 5, que os valores dos pontos de
mximo 1 e 2, orientados pela horizontal, determinam se o
grfico da funo ser um trapzio ou um triangulo. No
exemplo da Figura 5, quando temos o ponto de mximo 1
valendo 2 e o ponto de mximo 2 valendo 4, obtemos uma reta
que forma a base menor de um trapzio. Mas quando temos os
pontos de mximo 1e 2 valendo 4, obtemos um ponto que
forma um dos vrtices do triangulo. Assim, quando
determinarmos pontos de mximo diferentes, teremos um
trapzio, e quando determinarmos pontos de mximo iguais,
teremos um triangulo.
J em FuzzyRule.cpp, construmos todas as regras que guiaro
as decises de nosso sistema fuzzy, sendo que estas sero
chamadas e organizadas respectivamente, pelos mtodos
addRule() e reOrderBaseRules(), ambos da classe Fuzzy.
Na classe FuzzyComposition, ser feita a defuzzificao do
valor obtido pelo sistema fuzzy, neste trabalho, consideramos
apenas o mtodo mdia dos mximos onde obtemos a mdia
entre os pontos das extremidades do conjunto acionado na
sada. A defuzzificao chamada pelo mtodo defuzzify() na
classe principal, Fuzzy. Podemos ver este mtodo de
defuzzificao na Figura 6.
Na Tabela 1, podemos verificar um exemplo de cdigo em que
chamamos a biblioteca fuzzy criada em nosso trabalho.

Figura 4. Relacionamento entre as classes.


Fuzzy.cpp a classe principal, na qual determinamos quantas
entradas o nosso sistema poder ter, e obtemos a fuzzificao
dos valores das entradas por meio do mtodo fuzzify(), alm de

O cdigo expresso na Tabela 1, um exemplo da


implementao de um sistema fuzzy por meio da biblioteca
criada neste trabalho. No exemplo, usamos o mesmo caso
trabalhado na Seo 2 deste artigo. Trata-se de um sistema que
avalia a distancia de um rob a um obstculo, e gera como
sada uma variao de velocidade para este rob.
O algoritmo foi escrito em Arduino Programing Language,
uma de linguagem de programao utilizada nas placas
baseadas na plataforma Arduino. Vale destacar que a
linguagem permite a importao de bibliotecas escritas em
C++. Dessa forma, foi possvel a utilizao da nossa biblioteca
com a referida linguagem.

SBA Controle & Automao Vol. 00 no. 00 / Jan., Fev., Mar, Abril de 0000

Figura 6. Defuzzificao por mdia entre os mximos.

Tabela 1 Exemplo de Cdigo

39. //Fuzzificando a entrada//


40. fuzzy.fuzzify(0);
41.
42. //Avaliando as pertinncias//
43. fuzzy.evaluate();
44.
45. //Defuzzificao//
46. float velAjuste= fuzzy.desfuzzify();
Na linha 4, definimos quantas variveis de entrada havero no
sistema, o ndice da varivel de entrada comea em zero, ou
seja, ndice 0 a primeira entrada e ndice 1 a segunda
entrada. No exemplo inserimos 0 como parametro, portanto,
temos uma entrada (velocidade), e consequentemente teremos a
sada como n+1, neste caso a sada que ter ndice 1.
Atualmente, nossa biblioteca aceita no mximo duas variveis
de entrada e mais uma de sada, ao todo, trs variveis.
J da linha 7 at a 14, inserimos os nomes e pontos dos
conjuntos da entrada e da sada, respectivamente.
Criamos as regras nas linhas 17, 18 e 19, totalizando trs
regras.
Da linha 22 a 29, associamos os conjuntos criados as variveis,
sempre observando o ndice das mesmas, 0 para a entrada e 1
para a sada.
Nas linhas 32, 33 e 34 adicionamos as trs regras que criamos
anteriormente. Em seguida chamamos a fuzzificao e
defuzzificao, obtendo o valor final determinado pelo sistema,
que indicar a variao de velocidade.

sitemaFuzzy.pde
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.

#include <Fuzzy.h>
//Definindo o nmero de entradas//
Fuzzy fuzzy(0);
//Nomes e pontos para a entrada//
FuzzySet perto(0, 0, 2, 5);
FuzzySet medio(2, 5, 5, 8);
FuzzySet longe(5, 8, 10, 10);
//Nomes e pontos para a sada//
FuzzySet lento(0, 0, 5, 10);
FuzzySet normal(5, 10, 10, 15);
FuzzySet rapido(10, 15, 20, 20);
//Criando as regras do sistema//
//Se Distancia=&perto Ento Velocidade=&lento//
FuzzyRule rule1(&perto,&lento);
FuzzyRule rule2(&medio,&normal);
FuzzyRule rule3(&longe,&longe);
//Entrada 0 Distancia//
fuzzy.addFuzzySet(0,0, &perto);
fuzzy.addFuzzySet(0,1, &medio);
fuzzy.addFuzzySet(0,2, &longe);
//Saida Velocidade//
fuzzy.addFuzzySet(1,0, &lento);
fuzzy.addFuzzySet(1,1, &normal);
fuzzy.addFuzzySet(1,2, &rapido);
//Adicionando as regras que criamos//
fuzzy.addRule(rule1);
fuzzy.addRule(rule2);
fuzzy.addRule(rule3);
//setando a(s) entrada(s)//
fuzzy.setInputs(0,dist);

4 SBA Controle & Automao Vol. 00 no. 00 / Jan., Fev., Mar, Abril de 0000

AVALIAO EM AMBIENTE REAL

Para testar a aplicabilidade da biblioteca desenvolvida, em


ambiente real, utilizamos um rob mvel controlado por um
chip ATmega 328P por meio de uma placa Arduino
Duemilanove [Arduino 11].
Nos nossos testes, o rob deve cumprir um pequeno trajeto
com curvas e retas, sem que o mesmo bata ou fique preso pelo
caminho. Para conseguir seu objetivo e chegar ao fim do
precursso sem erros o rob ser guiado por um controlador
fuzzy que ir determinar os movimentos corretos para fazer as
curvas e para qual lado guia-las.
A compilao do cdigo de teste, somado ao da biblioteca,
geram 13144 bytes, um tamanho perfeitamente aceitvel para a
plataforma utilizada (ATmega 328P) que suporta 30720 bytes.

4.1

O Rob

O nosso rob est equipado com dois sensores de


infravermelhor e um sonar, por meio dos quais dever ser
capaz de perceber o ambiente ao seu redor. Alm disso, possui
trs servo-motores, dos quais dois se responsabilizam por cada
roda, e o terceiro se encarrega pela movimentao do sonar,
como podemos ver na Figura 7. Nestes testes no levamos em
considerao as leituras do sonar.

4.2

Descrio do Controlador Fuzzy

O sistema fuzzy que modelamos por meio de nossa biblioteca,


conta com duas variaveis de entrada, sendo que uma armazena
a leitura de distncia do infravermelho esquerdo, e a outra
armazena a leitura de distncia do infraverelho direito. Alm da
variavelde sada que indica quantos graus virar a esquerda ou a
direita. A Figura 8, ilustra as funes de pertinncia para os
conjuntos das variveis do sistema.

cenrio sem colidir com as paredes. A Figura 9 apresenta


algumas imagens que demonstram os testes feitos em ambiente
real.
Nos itens a), b) e f), o rob anda em linha reta, pois a distncia
observada pelos sensores de infravermelho igual ou muito
prxima, ou seja, a diferena entres as distancias laterais entre
o rob e a parede so parecidas de tal modo, que ele se mantm
retilineo. J nos itens c) e d), existe uma diferena consideravel
entre as distncias laterais, mais precisamente, o lado esquerdo
possui uma distncia maior que o direito, portanto, o conjunto
de regras fuzzy acionadas, faz com que o rob faa uma curva a
esquerda. Em e), as diferenas das distncias laterais vo
diminuindo e se igualando, at que o rob volte a andar em
reta.
Figura 7. Rob utilizado nos testes da biblioteca.

Figura 9. Rob navegando em ambiente fechado.


Figura 8. Funes de pertinncia das variveis usadas
Por meio da biblioteca, pudemos implementar rapidamente o
sistema fuzzy e calibrar os valores e regras at obter um arranjo
ideal. Neste sentido, a biblioteca acelerou bastante a realizao
dos testes, por agilizar as modificaes que eram feitas no
controlador fuzzy. A Tabela 2, mostra a base de regras final
usada no teste.

Na Figura 10, ilustramos como o rob entende que deve


fazer uma curva a partir das diferenas de distncias laterais e
como estes parmetros acionam as regras fuzzy que implicam
na ao do rob.

Tabela 2. Base de regras final usada nos testes.


Esq
Dir

PD

PE

C
Figura 10. Orientao do rob de acordo com suas leituras.

4.3

Desempenho nos Testes

Nos testes iniciais o rob invariavelmente colidia com as


paredes do cenrio, ento, modificamos a varivel de sada,
adicionando a ela mais dois conjuntos (PE PoucoEsquerda e
PD PoucoDireita) e diminuindo o espao de busca das
entradas (para tornar as leituras dos sensores infravermelho
mais consistentes). Assim observamos uma melhora
significativa no desempenho do controlador ao guiar o rob,
pois a partir de ento ele foi capaz de cumprir seu trajetopelo

Podemos observar, na Figura 10, que os valores das entradas


Esquerda e Direita ativam os conjuntos que, combinados, vo
acionar as regras correspondentes para andar reto, como em a)
e para fazer uma curva a esquerda, como em b). Podemos
atestar estas concluses, observando as funes de pertinncia
na Figura 8, e a base de regras na Tabela 2.
bom reforar, que a dinmica envolvida em modificar os
parmetros do sistema fuzzy e testar as suas implicaes nos

SBA Controle & Automao Vol. 00 no. 00 / Jan., Fev., Mar, Abril de 0000

resultados, foram realizadas muito facilmente devido a


praticidade da biblioteca.

TRABALHOS FUTUROS

sabido que sistemas fuzzy utilizados conjuntamente com


outras tcnicas de inteligncia artificial, podem trazer
resultados mais eficientes [Tahboub e Al-Din 2009]. Assim,
vislumbramos uma possvel continuidade deste trabalho,
analisando o desempenho desta biblioteca juntamente com
outras tcnicas de inteligncia artificial, no sentido de
aprimorar os resultados do controlador.
Alm disso, pretendemos implementar na biblioteca outros
mtodos de defuzzificao, como o mtodo do centride
(centro de rea) [Passino e Yurkovich 1998], bem como
permitir outras formas de representao de funes de
pertinncia, como a gaussiana [Barbosa 2005]. Outra melhoria
a ser implementada deve aumentar a quantidade de variaveis de
entrada suportadas pela biblioteca.
Uma das dificuldades que tambm percebemos nos testes, foi
a inconsistncia dos sensores de infravermelho. Embora
tenhamos amenizado as disparidades a partir de ajustes no
espao de busca das variaveis de entrada, temos como sugesto
para futuros trabalhos a adoo de sonares tanto para leituras
laterais como para leituras frontais, esta ltima, para controle
da variao de velocidade global do rob.

CONCLUSES

De um modo geral, as leituras adquiridas pelo rob mvel, so


presumivelmente, suficientes para determinar as aes de
controle apropriadas ao rob no cumprimento de seu objetivo,
navegar com segurana em ambientes desconhecidos. Para este
fim, usamos para o controlador, unicamente sistemas fuzzy,
pois esse, torna possvel modelar o conhecimento incerto e
impreciso presente nestes ambientes.
Um dos problemas associados aos sistemas fuzzy, quando
usados como nica forma de controle, que as suas regras e
parametros no podem ser ajustados em tempo real, e seu
ajuste off-line acaba sendo um processo trabalhoso [Tahboub e
Al-Din 2009]. Neste contexto, a biblioteca que ns
apresentamos , supera esta desvantagem, deixando a
modelagem, bem como, os futuros ajustes do sistema fuzzy,
como uma tarefa menos trabalhosa e demorada, permitindo que
o pesquisador utilize esta ferramenta em aplicaes diversas.
Ao analisar em ambiente real esta biblioteca, pudemos atestar
sua viabilidade no que foi proposto por este artigo, observando
a facilidade de ajuste do controlador, quando estes ajustes se
mostraram necessrios, assim como pudemos perceber a
liberdade que tivemos em criar um sistema fuzzy para qualquer
propsito. Outro ponto que destacamos na utilidade da
biblioteca, se concentra na ausncia de uma soluo parecida
para o desenvolvimento de aplicaes embarcadas, onde o
poder de procesamento limitado.

REFERNCIA BIBLIOGRFICA

Moratori, P. B., Cruz, A. J. O., Ferreira, E. B., Pedro, M. V.,


Manhes, L.M.B., Andrade, L.C.V., Lima, C., Moratori,
R. B. (2006) Anlise de Estabilidade e Robustez de um
Sistema de Controle Fuzzy Otimizado Desenvolvido
para Guiar um Rob Simulado. XXV Congresso da
Sociedade Brasileira de Computao (Brasil). P.17041714.
6 SBA Controle & Automao Vol. 00 no. 00 / Jan., Fev., Mar, Abril de 0000

Wolf, D F., Osrio, F. S., Simes, E., Trindade J. O. (2009)


Intelligent Robotics: From Simulation to Real World
Applications, SBC - JAI 2009 - Congresso da SBC
Sociedade Brasileira de Computao (Brasil). SBC
Jornada de Atualizao em Informtica. p. 279-330.
Ottoni, G. L., Lages, W. F. (2000). Planejamento de Trajetrias
para Robs Mveis em Ambientes Desconhecidos,
Projeto de Graduao em Engenharia de Computao,
Universidade Federal do Rio Grande.
Jcobo, J.E.A. (2001). Desenvolvimento de um Rob
Autnomo Mvel Verstil utilizando Arquitetura
Subsumption, Faculdade de Engenharia Mecnica,
Universidade Estadual de Campinas.
Silva, A.L.V. (2008). Arquitetura Compacta Para Projeto de
Robs Mveis Visando Aplicaes Multipropsitos,
Mestrado em Engenharia Eltrica, Universidade de So
Paulo.
Fracasso, P. T., Costa, A. H. R. (2005). Navegao Reativa de
Robs Mveis Autnomos Utilizando Lgica Nebulosa
com Regras Ponderadas, Laboratrio de Tcnicas
Inteligentes LTI. Escola Politcnica da Universidade
de So Paulo.
Tahboub, K. K., Al-Din, M. S. N. (2009). A Neuro-Fuzzy
Reasoning System for Mobile Robot Navigation, Jordan
Journal of Mechanical and Industrial Engineering,
Volume 3, Nmero 1, Maro. 2009. ISSN 1995-6665. p
77 88.
Barbosa, D. A., (2005). Ferramenta de Desenvolvimento e de
Aplicao de Lgica Fuzzy, Universidade Federal de
Itajub, dissertao de Mestrado em Engenharia
Eltrica. Instituto de Engenharia Eltrica.
Passino. K. M., Yurkovich. S., (1998) Fuzzy Control. Ed.
Addison-Wesley Longman, Inc. ISBN 0-201-18074-X
Bittencourt, G. (2006). Inteligncia Artificial: Ferramentas e
Teoria. 3. Ed. rev. Editora da UFSC. P.290. ISBN: 85328-0138-2
Zadeh, L. (1965). Fuzzy Sets. Information and Control. v.8,
n.3, 1965. p.338-353.
Engelbrecht, Andries P. Computational Intelligence: An
Introduction. Jonh Wiley & Sons, Ltd. Second Edition,
2007
Leal, L. B., (2011). Uma Abordagem para Estimao da
Qualidade de Rotas em Redes de Sensores Sem Fio
Multi-Sink Baseada em Sistemas Fuzzy Genticos.
Dissertao de Mestrado em Informtica Aplicada.
Universidade de Fortaleza
Stroustrup, B. (2000). A Linguagem de Programao C++. Ed.
Addison-Wesley. ISBN 0201700735
Arduino (2011). Site oficial: www.arduino.cc, acessado em
17/08/2011.