[[cursos:introrobotica:2007-2:grupo1:index|Voltar para página anterior]] ===== Trabalho Prático 3 ====== ==== Objetivo principal ==== - Fazer WANDO acompanhar a parede a uma distância fixa - Fazer WANDO achar a melhor trajetória a partir de uma mapa dado ====Decisões e desenvolvimento==== WANDO não apresentou modificações mecânicas em relação ao último trabalho. Apenas os shaft encoders foram adicionados em um eixo secundário do robô, diferente do eixo da roda. Esse eixo girava a uma velocidade mais rápida do a roda, porém ainda a uma velocidade mais baixa do que a ideal. em relação ao barulho do motor esquerdo, ele continuou nesse TP. O grupo ainda não identificou a causa do problema, talvez seja o próprio motor sozinho. No próximo TP tentaremos resolver de uma vez por todas. ====Desafios==== Durante a execução do trabalho prático, alguns desafios surgiram: * Fazer WANDO seguir corretamente a parede. Nosso grupo foi o único a usar um LDR para medir a distância com relação a parede. Além disso, o algoritmo usado era fator determinante para o sucesso ou fracasso da missão. Entre os vários disponíveis, o algoritmo de Controle PD foi o que apresentou melhor resultado. * A orientação do robô no teste do WaveFront era crucial. WANDO podia ter 4 orientações diferentes (leste,oeste,norte,sul) e cada uma dessas orientações exigia um código diferente. * O mapa do WaveFront possuía uma "parede" em suas extremidades. Ou seja, toda a lateral do array era um obstaculo. Isso a principio não chega a ser um problema, anão ser que não esteja ciente disso, o que de fato aconteceu. Todos os nossos testes iniciais utilizavam um array [2x2] , ou seja, todas as celulas eram obstaculos e WANDO sempre dava runtime error. Ao se descobrir isso, aumentamos o grid e tudo funcionou beleza. Foi preciso ainda uma calibração de distância percorrida tanto na reta quanto em curvas. ====Funcionamento==== Quando a HandyBoard é ligada, a tela LCD exibe o nome do robô (**Wando**) e **TP3**. Depois, é possível selecionar, com a utilização do knob e do botão start, a opção desejada. O botão stop volta ao menu. As opções novas são: * Segue Parede Proporcional * Segue Parede Gentle * Segue Parede Hard * WaveFront ====Testes==== Vários testes foram executados, a fim de se medir a a eficiencia dos algoritmos executados de seguir parede. === Teste 1=== Gráfico do algoritmo de 3 estados. Bastante parecido com o do livro {{:cursos:introrobotica:2007-2:grupo1:3_estados.JPG|:cursos:introrobotica:2007-2:grupo1:3_estados.JPG}} === Teste 2 === Gráfico do algoritmo Hard turn. Claramente há curvas muito mais bruscas {{:cursos:introrobotica:2007-2:grupo1:hard.JPG|:cursos:introrobotica:2007-2:grupo1:hard.JPG}} ====Código==== O código em IC encontra-se aqui {{:cursos:introrobotica:2007-2:grupo1:tp3robotica.zip|:cursos:introrobotica:2007-2:grupo1:tp3robotica.zip}} ====Multimídia==== Video no YouTube: http://www.youtube.com/watch?v=JqcSXmEp8dc ^ Versão final: ^^^^ | {{:cursos:introrobotica:2007-2:grupo1:Image005.jpg?0x250px}} || {{:cursos:introrobotica:2007-2:grupo1:Image007.jpg?0x250px}} || | {{:cursos:introrobotica:2007-2:grupo1:Image006.jpg?0x250px}} | {{:cursos:introrobotica:2007-2:grupo1:Image008.jpg?0x250px}} || {{:cursos:introrobotica:2007-2:grupo1:Image009.jpg?0x250px}} | ====Conclusão==== WANDO foi bastante eficiente em relação aos outros grupos no quesito WaveFront. Ao seguir a parede, foi apenas mediano, porém ainda assim conseguiu completar o percurso sem ALGUM problema. No WaveFront, WANDO foi bastante deterministico, eficiente e rápido, com curvas perfeitas e posição final idem. Esse TP foi bastante importante porque nos proporcionou um nível a mais de integração de WANDO com o ambiente, através do shaft enconder. Com isso, foi possivel não só comandar WANDO para uma posição mas também ter um feeddback para ver se de facto ele foi para lá e, a a partir disso, escolher qual a ação de controle cabível no momento. ====Relatório (Questões do Livro)==== As respostas das questões do livro propostas na especificação estão no pdf abaixo: {{:cursos:introrobotica:2007-2:grupo1:RoboticaTP3.pdf|:cursos:introrobotica:2007-2:grupo1:RoboticaTP3.pdf}}