TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Implementação de um Sistema de Navegação

Por:   •  10/3/2016  •  Relatório de pesquisa  •  1.410 Palavras (6 Páginas)  •  175 Visualizações

Página 1 de 6

ROBÓTICA MÓVEL

Implementação de um sistema de navegação

Flávio Couvo Teixeira Maia - 200910003730

Professor: Eduardo Freire

São Cristóvão-SE


Sumário

1        Objetivo        

2        Metodologia        

2.1        Tratamento dos sensores        

2.2        Funcionamento do sistema        

3        Simulação        

4        Resultados        

5        Conclusões        

6        Bibliografia        


  1. Objetivo

        O principal objetivo deste trabalho foi a implementação e simulação de um sistema de navegação de um robô móvel. Tal sistema tem como finalidade fazer com que o robô, utilizando seus sensores de distância, chegue à um ponto de destino definido de forma mais eficiente possível, que torne possível ao robô sair de tais regiões de mínimos locais. É um sistema simples que trata apenas a ação do robô baseado nos dados de seus sensores. A implementação e simulação deste sistema foi realizada com o auxílio do software Matlab® utilizando o modelo de um robô com tração diferencial.

  1. Metodologia        

  1. Tratamento dos sensores

        O modelo utilizado possui oito sensores distribuídos ao longo que sua estrutura, espaçados entre si em um ângulo de 45º, conforme mostrado na figura 2.1.

[pic 1]

Figura 2.2: gráfico da equação de repulsão.

        Foram utilizados os sensores ds1, ds2, ds3, ds7 e ds8. O sensor ds1 tem a função apenas de evitar que o robô colida frontalmente com um obstáculo. A ideia foi fazer com que a ação de repulsão do robô à um obstáculo fosse feita exponencialmente proporcional à distância entre ele e um obstáculo, ou seja, quanto mais próximo de um obstáculo, de forma exponencial, maior é sua repulsão. para isso, criou-se uma equação de segundo grau simples da forma da equação (1):

        (1)[pic 2]

Onde:

  • Repx  -  taxa de repulsão, onde x = 1 a 8;
  • Dsen  -  distância nominal utilizada do sensor;
  • Dsx  - sensor, onde x = 1 a 8;
  • a  -  peso;

        A taxa de repulsão é utilizada para ajustar proporcionalmente o valor do ângulo de rotação e da velocidade do robô. O peso a é utilizado para diminuir a influência dessa taxa nos mesmos parâmetros.

        A figura a seguir mostra a curva desta equação, onde o eixo das ordenadas é a distância máxima utilizada do sensor e o eixo das ordenadas é o valor da repulsão normalizado.

[pic 3]

Figura 2.2: gráfico da equação de repulsão

        O sensor ds1 é tratado de forma diferente. O robô para quando o sensor detecta uma distância menor que 100cm.

  1. Funcionamento do sistema

        Com os dados dos sensores, faz-se a seleção de qual sensor está mais próximo de um obstáculo. Isso é feito indiretamente, selecionando o maior valor de repulsão angular WauxX, onde X é o número do sensor (nesse caso pode ser 2, 3, 7 e 8) o qual é a multiplicação do valor de repulsão (repx) pela velocidade angular máxima Wmax. Dessa forma o robô sofre a repulsão para um dos lados, conforme explicado mais adiante. A velocidade linear do robô também sofre a interferência dos dados do sensor (apenas sensores 2 e 8) e, da mesma forma, é selecionada a velocidade maior relacionada com o sensor que mais próximo está de um obstáculo.

        Para que o robô desvie do obstáculo para o lado correto, como os sensores ds2 e ds3 estão em lados opostos aos sensores ds7 e ds8, o primeiro par, que fica do lado esquerdo, faz com que o robô gire para sua direita. Da mesma forma, o segundo par, que se encontra à direita, faz com que o robô gire para a esquerda. Isso é feito invertendo os valores de velocidades angulares de um dos pares: sensores ds2 e ds3 têm suas velocidades angulares negativas, enquanto ds7 e ds8 têm suas velocidades angulares positivas.

        Assim, com os dados dos sensores tratados, os valores das velocidades linear e angular são enviadas para o modelo do robô através das seguintes linhas de comando:

Vx = V+2*Vaux; % Velocidade linear final

Wx = W+2*Waux; % Velocidade angular final

Ksir = [Vx ; 0 ; Wx]; Vetor com os dados acima

Ksi_I = R\Ksir; % Modelo do robô

        O robô executa duas funções em paralelo: a primeira é a tentativa de chegar ao destino e a segunda é evitar a colisão com obstáculos. Mas, enquanto o robô executa a ação de desviar de obstáculos, o robô pode ficar sem rumo. Para contornar este problema, implementou-se o seguinte artifício: uma variável recebe o resto da divisão da variável de controle de tempo (i) com 2. Cada vez que esse resto for zero, o tratamento dos sensores é executado. Caso contrário apenas a função de ir ao ponto de destino é executada. Isso faz com que as duas funções sejam executadas de forma alternada.

...

Baixar como (para membros premium)  txt (7.4 Kb)   pdf (355.5 Kb)   docx (136.8 Kb)  
Continuar por mais 5 páginas »
Disponível apenas no TrabalhosGratuitos.com