Logica fuzzy

Disponível somente no TrabalhosFeitos
  • Páginas : 4 (752 palavras )
  • Download(s) : 0
  • Publicado : 15 de outubro de 2012
Ler documento completo
Amostra do texto
O programa

Este projeto consiste em desenvolver um controlador nebuloso, simulado em MATLAB para resolver o problema de guiar um robô através de um mundo virtual com alguns obstáculos.


Oprojeto foi implementado com dois controladores nebulosos: um para redirecionar o robô para a “parede-alvo” e outro para girar o robô, ao detectar obstáculos. Neste projeto, a quantidade de obstáculospode variar de 2 a 17.


O robô pode girar tanto para a direita quanto para a esquerda para desviar-se de obstáculos. Após dez tentativas de giro diante de um obstáculo, o sistema pára.


Oradar tem alcance limitado; obstáculos somente são detectados estando à frente do robô e no raio de alcance do radar.


Para avaliar cada obstáculo à frente são utilizadas quatro condições:1.   Se o obstáculo está no alcance do radar


2.   Se está à frente do robô


3.   Se está na rota do robô


4.   Se dentre os obstáculos este é o mais próximo


Após determinar oobstáculo, o sistema avalia controle que será usado para determinar o giro do robô.


Se existe obstáculo, o robô tenta desviar do mais próximo, por até 10 vezes, finalizando o programa se nãoconseguir. Senão existe obstáculo, o robô segue em direção ao objetivo (fundo).


O robô possui um radar localizado no seu centro e que aponta na direção do seu movimento, e é capaz de detectar obstáculosna rota de deslocamento.


Sendo

(rbX, rbY) posição do robô

(obXi, obYi) posição do obstáculo

obDist distância entre o centro do robô e o centro doobstáculo

rbAng direção do robô

atan(dY/dX) ângulo da direção que levaria o robô na direção do centro do obstáculo

angObst ângulo que indica a diferença entre adireção do robô e a reta que une o
Centro do robô ao centro do obstáculo

dist1 distância da trajetória do robô ao centro do obstáculo

dist2...
tracking img