voltar

Trabalho Prático 3

Link para o relatório do trabalho 3 (sem imagens) : tprob_3.pdf

Link para o código do trabalho: codigo_tp3_redcyclone.tar.gz

Fluxograma do menu implementado na handyboard: menu_tp3.pdf

Objetivo

O objetivo do trabalho é a utilização de sensores ópticos (opto-reflexivo e chave óptica) para a aquisição de dados, que uma vez tratados serão utilizados no controle do robô conforme o que está proposto na atividade.

Montagem dos Sensores

O primeiro passo pára realização do tp3 foi construção dos sensores ópticos e sua montagem na estrutura do robô. Sensores opto-reflixivos são vendidos no comercio com vários nomes diferentes,assim foi fundamental levar uma ilustração dos componentes para facilitar sua aquisição

Problemas:

Solução:

Construção do robô

Nome do ROBO: GEBRABELEX-T3

.

Para obter maior precisão quanto ao numero de giro das rodas os shaft-encoders foram montados nos eixos tracionadores do robô(.

Problemas:

Solução:

Os sensores foram montados muito afastados do local de encaixe e alem disso eram muitos os fios dessa forma foram confeccionados chicotes ,que melhoraam a organização dos fios.Figura_4 –fotos dos chicotes.

A principio pensou em utilizar rodas montadas na parte frontal do robô para facilitar as curvas nas quinas de paredes, mas esta solução não se apresentou muito eficiente na prática, e esta ideia foi abandonada, e ao invés foi utilizada a estratégia de um sensor frontal para detectar a colisão com a parede, então o robô recua e faz uma curva para a direita.

Tarefas

Testes de Respostas do Opto-Reflexivo.

Video da Execução do WallFollow Hard: http://www.youtube.com/watch?v=qRPkUkX6J2w

Video da Execução do WallFollow Gentle: http://www.youtube.com/watch?v=-mk5qiYVV6g

Video da Execução do Three State: http://www.youtube.com/watch?v=LrO8wIKXgRQ Simple feedback control.

Uso de gráficos para comparar e discutir as funções hard, gentle e tri-state

Hard

Gentle

Three-State

Controle Proporcional Derivativo. A partir das funções encoder?_counts( conta o numero de pulsos) e encoder?_velocity (retorna a velocidade) foi elaborado o controle proporcional derivativo do robô. O controle visava igualar as posições das rodas a cada unidade de tempo. A roda esquerda foi tomada com Referência.

ErroProrcional = PosiçãoDir - PosiçãoEsq
Erro derivativo = velocidadeD - velocidadeEsq
Potencia =  potencia_Atual  - ganhoP*(ErroProporcional) - ganhoDx∗Erroderivativo)

Problemas:

Solução:

Problema2:

Solução:

Para o Controle PD foi elaborado um menu de permite ajustar os ganhos Proporcional, Derivativos e o tempo para amostragem dos sensores.

Controle Deliberativo: Algoritmo Wave Front

Esse algoritmo permite que o robô parta de um ponto de coordenadas A(x,y) e chegue ao ponto B(x¹,y¹), sendo capaz de desviar de obstáculos no seu caminho.

 Plano do Wave Front

Problema1:

Solução:

Problema2:

Solução:

Problema3:

Solução:

A identificação das células do grid foi parametrizadas. Assim, o valor entrado é uma identificação que é convertida nas coordenadas (x,y).

Execução do Algoritmo Wave Front:

Após algumas tentativas frustradas, conseguimos achar os valores de calibração ideal para as curvas para a esquerda e para a direita. E enfim o trajecto de teste foi executado correctamente duas vezes.

Video da Execução do Wave Front: http://www.youtube.com/watch?v=LE9egb27r7c

Tira-teima: http://www.youtube.com/watch?v=vGwdo8yZUro