You are on page 1of 13

UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

COORDENAO DE ENGENHARIA ELETRNICA (COELE)


ENGENHARIA ELETRNICA

IVAN MATHEUS VANIN


JEU TONETE
ROGRIO LUIS FONTANRIO

COTROLE FUZZY APLICADA A VEICULO NO TRIPULVEL


UTILIZANDO LEGO NXT 2.0

TOLEDO - PR
2014

IVAN MATHEUS VANIN


JEU TONETE
ROGRIO LUIS FONTANRIO

COTROLE FUZZY APLICADA A VEICULO NO TRIPULVEL


UTILIZANDO LEGO NXT 2.0

Trabalho

apresentado

como

parte

integrante das atividades avaliativas da


disciplina Inteligncia Computacional.
Professor: Vilson Dalle Mole.

TOLEDO - PR
2014

LISTA DE ILUSTRAES

Figura 1 - Sensor ultrassnico LEGO. ......................................................................... 5


Figura 2 - Servo-Motor LEGO. .................................................................................... 5
Figura 3 - CPU LEGO. ................................................................................................ 6
Figura 4 - Rob montado para experimento. ............................................................... 6
Figura 5 - Visual Studio 2013. ..................................................................................... 7
Figura 6 Conjuntos Fuzzy das variveis de entrada. ................................................ 8
Figura 7 - Conjuntos Fuzzy de sada. .......................................................................... 9

SUMRIO

1 INTRODUO .....................................................................................................4
2 MATERIAIS E MTODOS ....................................................................................5
2.1 LEGO MINDSTORMS NXT ..............................................................................5
2.2 FERRAMENTAS DE PROGRAMAO ...........................................................7
3 CONTROLE FUZZY .............................................................................................8
3.1 ENTRADAS ......................................................................................................8
3.2 SADAS .............................................................................................................8
3.3 CONJUNTO DE REGRAS ................................................................................9
4 DIFICULDADES ...................................................................................................11
5 CONCLUSO .......................................................................................................12

1 INTRODUO

A lgica fuzzy um dos contedos mais abordados em matrias relacionadas


com Inteligncia Artificial Computacional por sua vasta utilizao nessa rea.
Este trabalho tem como objetivo abordar a utilizao da lgica fuzzy em
sistema de controle para um veculo no tripulvel. Para isso ser utilizado a
linguagem de programao C++ e o kit de robtica programvel LEGO Mindstorms
NXT 2.0.
Sero utilizados para o rob explorador sensores de distncia ultrassnicos,
que guiaro o rob informando para ele sua distncia de paredes e obstculos, alm
de atuadores que sero as rodas.
Espera-se, assim, que no final deste trabalho seja obtido um rob que atravs
dos sensores possa distinguir a melhor combinao de atuao dos motores, levandoo a percorrer um caminho sem colidir com as paredes que constituem a pista.

2 MATERIAIS E MTODOS

2.1 LEGO MINDSTORMS NXT

Para o projeto proposto foi montado com o kit de desenvolvimento LEGO


Mindstorms NXT um rob com do tipo explorador, que verifica distancias atravs de
trs sensores ultrassnicos, e se movimenta atravs de servo-motores. O controle da
leitura e acionamentos so executados pelo CPU do LEGO.

Figura 1 - Sensor ultrassnico LEGO.

Figura 2 - Servo-Motor LEGO.

Figura 3 - CPU LEGO.

Foi montado o rob conforme a figura abaixo.

Figura 4 - Rob montado para experimento.

2.2 FERRAMENTAS DE PROGRAMAO

Foi escolhido a linguagem de programao C++, por sua compatibilidade com


o problema em questo e por possuir bibliotecas de auxlios para a plataforma do
LEGO. Toda programao do fuzzy foi desenvolvida e executada em ambiente
Windows utilizando Visual Studio e a comunicao com o rob foi feita atravs do
protocolo bluetooth.

Figura 5 - Visual Studio 2013.

3 CONTROLE FUZZY

3.1 ENTRADAS

Varivel: Distncia
Limites: 0 a 255

Perto: trapzio [0 0 10 20]

Normal: trapzio [10 20 35 55]

Longe: trapzio [45 60 255 255]

Figura 6 Conjuntos Fuzzy das variveis de entrada.

3.2 SADAS

Varivel: Potncia do Motor


Limites: 0 a 30

Nula: tringulo [0 0 5]

Fraca: trapzio [0 10 15 20]

Forte: trapzio [15 25 30 30]

Figura 7 - Conjuntos Fuzzy de sada.

3.3 CONJUNTO DE REGRAS

As regras foram criadas com base em noes previas do movimento de um


rob e de como ele deveria agir em cada situao, elas foram alteradas conforme a
necessidade verificada em testes. Para simplificao iremos utilizar as seguintes
abreviaes: DF Distncia Frontal captada pelo sensor, DR - Distncia da Lateral
Direita, DL Distncia da Lateral Esquerda, MR - Potncia do Motor Direito, ML Potncia do Motor Esquerdo, P - Perto, N Normal, L Longe, Nu - Nula, Fr Fraca
e Fo Forte.
Para o projeto final as regras ficaram definidas como mostrado abaixo:

Se: (DF=P e ((DR=P e DL=P) ou (DR=N e DL=N) ou (DR=L e DL=L))


Ento: (MR=Nu e ML=Nu);
Se: (DF=N e ((DR=P e DL=P) ou (DR=N e DL=N) ou (DR=L e DL=L))
Ento: (MR=Fr e ML=Fr);
Se: (DF=L e ((DR=P e DL=P) ou (DR=N e DL=N) ou (DR=L e DL=L))
Ento: (MR=Fo e ML=Fo);
Se (DF=N e (DR=N ou DR=L) e DL=P)
Ento (MR=Nu e ML=Fr);
Se (DF=P e DR=N e DL=P)
Ento (MR=Nu e ML=Fr);
Se (DF=P e DR=L e DL=P)

10

Ento (MR=Nu e ML=Fo);


Se ((DF=P ou DF=N) e DR=L e (DL=P ou DL=N))
Ento (MR=Nu e ML=Fo);
Se (DF=N e (DR=N ou DR=L) e DL=P)
Ento (MR=Nu e ML=Fr);
Se (DF=L e (DR=N ou DR=L) e DL=P)
Ento (MR=Fr e ML=Fo);
Se (DF=N e DR=P e (DL=N ou DL=L))
Ento (MR=Fr e ML=Nu);
Se (DF=P e DR=P e DL=N)
Ento (MR=Fr e ML=Nu);
Se (DF=L e DR=P e (DL=N ou DL=L))
Ento (MR=Fo e ML=Fr);
Se ((DF=P ou DF=N) e (DR=P ou DR=N) e DL=L)
Ento (MR=Fo e ML=Nu);
Se (DF=P e DR=P e DL=L)
Ento (MR=Fo e ML=Nu);
Se (DF=L e DR=N e DL=L)
Ento (MR=Fo e ML=Fo);
Se (DF=L e DR=L e DL=N)
Ento (MR=Fo e ML=Fo);

11

4 DIFICULDADES

Na realizao desse trabalho foram encontradas vrias dificuldades, tanto


com relao ao fato de projetar o conjunto de regras fuzzy, quanto para adequar os
conjuntos de fuzzyficao e defuzzyficao. Vrios testes com tentativa e erro foram
realizados at encontrar o melhor resultado.
Com relao execuo do sistema ocorreram erros de leitura dos sensores
de distncia, o que gerou alguns erros introduzidos no sistema. Alguns erros de leitura
foram ocasionados pela deficincia do prprio sensor, que necessita de uma
superfcie que reflita o som emitido, quando isso no ocorre h leituras imprecisas.

12

5 CONCLUSO

Com o respectivo trabalho foi possvel implementar a lgica fuzzy em um


sistema real e observar como ele se comporta. Com isso percebemos que h varias
dificuldades envolvidas, como projetar os conjuntos fuzzy que melhor se encaixem na
pratica, alm de termos problemas com os dados que no so perfeitos como em uma
simulao, pois os mesmos sofrem com os efeitos de rudo e da condio de trabalho
dos sensores que os fornecem, e por isso temos ento dados imprecisos/inutilizveis
O projeto conseguiu, de certa forma, fornecer os resultados desejados, pois
em vrios testes houve uma performance boa do rob, j em outras houve falhas. O
fato de sabermos identificar quais foram os problemas foi importante para o projeto,
pois assim pudemos atribuir os erros principais no logica estudada, mas s
condies em que elas foram implementadas, ou seja, maiores problemas ficaram em
relao ao hardware utilizado.
O trabalho pode ento mostrar como a logica fuzzy praticvel e pode muito
bem ser usada em vrios tipos de projetos.

You might also like