Os objetivos desse trabalho são familiarizar o grupo com a utilização de sensores ópticos e técnicas básicas de controle e planejamento. O principal problema é obter uma estimativa da posição do robô através do tempo.
Realizar medidas utilizando um potenciômetro para saber qual a resistência que, quando ligada em paralelo, apresenta uma faixa de resposta mais ampla para os sensores ópticos. Executar os algoritmos de controle propostos no capítulo 5 para estimativa de posição relativa à uma parede e estimativa de deslocamento em relação a uma posição inicial. Implementar o algoritmo wavefront para planejamento de rota com desvio de obstáculos.
Para esse trabalho foram implementados todos os códigos propostos no livro em interative c. o robô apresentado no último trabalho foi alterado para possuir uma maior redução e ser mais compacto e leve. As funções de medidas de sensor e controle de aceleração foram implementadas em processos distintos para que pudessem ser executadas com maior eficiência, e isso acabou levando a um pequeno atraso na resposta entre esses elementos o que não acarretou no mal funcionamento do algoritmo.
A primeira parte dessa tarefa consistiu em ligar em paralelo ao circuito da handyboard um potenciômetro para que pudesse ser avaliada qual resistência que quando ligada em paralelo apresentava melhor faixa de resposta para o sensor óptico.
Foi utilizado um potenciômetro que apresentou máxima resistência em aproximadamente 30 KΏ. os resultados obtidos mostraram que, quanto maior a resistência em paralelo maior é faixa de valores que o sensor consegue medir. Dessa forma concluímos que a resistência em paralelo deve tender para infinito e a resistência de 47 KΏ. Da handyboard já é ideal para esse sensor e que colocar qualquer resistência em paralelo somente reduz a faixa de amplitude
A seguda parte dessa tarefa consistiu em calcular qual a corrente que circula em um LED ligado a uma fonte de 5V em série com um resistor de 330 Ώ supondo que a queda de tensão no LED é de 2V. como V = (5 – 2)V = RI ⇒ I = 3/R = 3/330 = 9,09 mA. segundo o esquema apresentado em 6.27 e supondo que seja possível fornecer uma corrente de 100 mA. O máximo de LEDs que podem ser ligados em paralelo é. n = 100/9,09 = 11 LEDs
Essa tarefa consistiu em implementar e testar vários algoritmos para seguir parede utilizando um sensor óptico para medir a distancia aproximada. Mais especificamente as técnicas testadas foram: Threshold simples com curvas bruscas. Histerese com curvas bruscas, Histerese com curvas suaves e um modelo de Breitenberg ligando a diferença entre o valor medido e os Thresholds diretamente aos motores.
Essa Técnica apresentou os piores resultados em linha reta, por ter de gastar mais tempo corrigindo a orientação ela percorria uma distancia menor, porem em curvas ela era superior às técnicas de curva suave, pois realizava uma curva de menor raio.
Apresentou resultados muito semelhantes ao item anterior.
Em linha reta apresentou os melhores resultados percorrendo uma distancia maior do que os métodos com viradas bruscas abaixo estão os valores medidos dessa técnica para essa técnica.
Esse método apresentou resultados semelhantes aos do item anterior para retas, porém seu desempenho em curvas foi muito superior pois o afastamento maior da parede fazia com que ele percorresse uma curva de raio menor, abaixo estão os valores medidos para linhas retas.
Utilizando os sensores break-beans, montou-se o sistema equivalente ao do livro
Sua construção tem por finalidade realizar o controle de posição da roda com o uso de um controlador PD. Este controlador é composto por duas parcelas, a proporcional, diretamente ligada à posição, e a derivativa, relativa à derivada da posição ou velocidade. A função de controle foi implementada como apresentada no livro Fred Martin e tem por objetivo obter a mesma resposta da figura 5.14.
Para valores inteiros do ganho, a resposta que mais se assemelhou à figura do livro foi a com os ganhos iguais a 1. Para verificar o comportamento do sistema, com estes mesmos ganhos, acrescentou-se uma massa maior à roda. Assim visualmente verificou-se que a resposta ficou mais rápida, devido principalmente ao fato da inércia da roda ajudar na estabilidade de seu movimento
O algoritmo wavefront foi implementado e testado apesar de não estar funcionando no dia da apresentação( somente a parte do planejamento funcionava corretamente durante a execução ocorria RUNTIME error). posteriormente os problemas foram corrigidos e os experimentos foram realizados com sucesso, o robô ainda apresentava erros na sua posição final porem esses erros se devem à erros de odometria.
Para o algoritmo de seguir paredes tivemos dificuldades com reflexos e com as diferentes texturas nas paredes o que fazia com que a medida dos sensores não fosse muito confiável para distancias muito próximas. Quanto ao controle por odometria uma das grandes dificuldades foi que as funções de controle por odometria disponíveis assumiam dois break-bean sensors em cada roda e o número desses disponíveis forçou modificações no controle original.
Apesar do não funcionamento do wavefront no dia da apresentação concluímos que o robô apresentou resultados satisfatórios quanto às técnicas de seguir parede e de controle por odometria. Com os testes posteriores do wavefront pudemos concluir que não importa a qualidade do controle e das medidas de odometria. O problema de posicionamento não pode ser resolvido com um grande grau de certeza usando apenas sensores proprioceptivos, justamente por esses não possuírem informação da interação do robô com o ambiente.