Tabela de conteúdos

Robótica Móvel

Introdução

O objetivo do trabalho é construir um robô capaz de se movimentar por conta própria através de trajetos pré-determinados. Além disso o robô deve ser capaz de piscar leds enquanto realiza um trajeto escolhido pelo grupo. Para a execução do projeto foram utilizados as peças do kit de LEGO e a HandyBoard, dois motores e os LEDs.


Construção

A primeira decisão para a construção do robô foi quais tipos de rodas seriam utilizadas. O grupo decidiu utilizar duas rodas kit LEGO que seriam motorizadas e uma roda esférica que serviria apenas para a manobrabilidade do robô. Foram escolhidas as rodas menores do kit LEGO pois elas são mais rígidas, causando menos problemas durante a execução. Dessa forma o robô seria capaz de se mover em todas as direções necessárias para realizar os trajetos.

O segundo passo foi a construção da caixa de engrenagens para cada roda.

Com as rodas fixadas, foram adicionados os motores com uma estrutura de sustenção que tornou necessário o rebaixamento das rodas. Isso fez com que fosse necessário utilizar um correa para ligar as rodas à caixa de engrenagem.


Por fim foi construída uma estrutura de sustenção para a HandyBoard e para a caneta.

Durante a implementação do código, percebemos que a utilização da correia que foi necessária por causa do rebaixamento das rodas tornava imprevisivel a movimentação. No entanto, devido as proporções do LEGO, era impossível utilizar apenas engrenagens para fazer essa conexão do jeito que o robô estava montado. Portanto foi necessária uma reformulação total da estrutura de sustentação. Utilizando peças finas entre as peças furadas para atingir a proporção necessária para tal conexão

img_4648.jpgimg_4667.jpg Comparação - antes e depois da alteração.

Depois dessa mudança a movimentação do motor se tornou mais consistente, possibilitando a realização de testes.


Tarefas

Locomoção

Para a execução dos trajetos, primeiramente foram realizados testes para determinar quais potencias deveriam ser acionadas nos motores para que o robô se movesse em linha reta. Depois disso, era possivel fazer com que ele girasse no proprio eixo invertendo a rotação de um desses motores. Com esse valores, só faltava determinar o tempo necessário para que o robô andasse 30 cm e girasse nos angulos necessários. Como nosso robô apresentava reduções grandes na caixa de engrenagens, conseguimos fazer com que o robô realizasse todos os trajetos com sucesso. Como exemplo, um video da execução do quadrado.


Avaliação Experimental

Foram realizados testes acionando os dois motores com potências nos valores 100, 50, 20. Primeiramente eles foram acionados na mesma direção durante 10 segundos e foram medidas as distâncias percorridas. No outro teste eles foram acionados em direções opostas e foram medidos os ângulos percorridos (procuramos atingir o ângulo de 90 graus). Como nosso robô apresentava reduções de engrenagens muito grandes, os erros obtidos foram menores que os esperados. É interessante notar que, como esperado, quanto menor a potência menor o erro obtido.

Gráficos relativos aos testes

Multitarefa

A tarefa para utilizar os Leds foi um desafio, para ligá-los em sequência e fazê-los piscar foi instruído que seriam usadas as saídas digitais. No entanto, a falta de maior aprofundamento em como encontrá-las e utilizá-las nos fez procurar por uma alternativa. Encontramos uma solução no manual da Handyboard e resolvemos que seria mais adequado utilizar os pinos SPI, de entrada digital, e utilizá-los com a função poke para serem configurados como saídas digitais. Para isso era necessário usar a função poke da forma poke (0x1009, 0x3c). Em seguida os Leds seriam mapeados no endereço 0x1008, e para acionar algum Led, um simples poke (0x1008, 0x04) ou poke (0x1008, 0x08) fazia determinado Led acender. Para desligá-los bastava usar poke(0x1009, 0x00).

O robô foi capaz de realizar um trajeto e piscar os LEDs ao mesmo tempo.


Desafios e dificuldades

Foi necessário refazer toda a parte de sustentação do motor do robô para conseguirmos remover a corrêa que ligava a saída da caixa de engrenagens a roda. Também tivemos que substituir um motor para que fosse possível conecta-lo com as engrenagens. Como os dois motores eram diferentes, foram necessários diversos testes para conseguir fazer com que o robô andasse em linha reta. No final concluímos que um dos motores era aproximadamente duas vezes mais potente que o outro.


Conclusão

Conseguimos completar as tarefas propostas. Conseguimos perceber a relação entre o tamanho da redução a precisão do robô. Nosso robô apresentou uma precisão alta devido a grande redução que utilizamos. No entanto ele demorou para realizar as tarefas. Para os próximos projetos, como serão utilizados sensores, talvez não seja necessária uma redução tão grande, possibilitando uma velocidade maior. A maneira como foi montada nossa caixa de engrenagens permite que sejam realizadas alterações facilmente.