Trabalho Prático 1

Objetivo

  1. O objetivo desse trabalho prático é montar e programar um robô que realize movimentos pré-programados de deslocamento sobre um plano. Dessa forma, o robô deve desenhar um quadrado de 30cm de lado no chão em que esse se movimenta. Para isso, dispõe-se de dois motores cc e o kit lego.

Idéias

  1. Com a experiência do primeiro trabalho prático, percebemos que a primeira coisa a se fazer num projeto como este é fazer o robô o mais simples possível para que o mesmo primeiro cumpra o objetivo proposto.
  2. Então, resolvemos primeiro criar uma caixa de lego que coubesse a HandyBoard e, à partir da mesma, fazer o restante do robô, respeitando suas medidas.

Decisão

  1. Decidiu-se a montagem de um robô que se apóia sobre três rodas, sendo uma totalmente livre, sem nenhum tipo de acionamento, e outras duas acionadas, independentemente, pelos motores.

Problemas Encontrados

  1. O primeiro problema foi que um dos motores não veio com nenhuma parte metálica em um dos conectores, impossibilitando seu ativamento. Porém, quando conversamos com o monitor da matéria, ele nos forneceu outro no mesmo momento.
  2. Outro problema encontrado é que os motores não são idênticos (nem ao menos pertencem a um mesmo fabricante). Em determinados níveis de potência aplicada igualmente nos mesmos, o robô não se movimenta em linha reta (pois os motores não giram a uma mesma velocidade). Esse fato levou ao uso de um fator de correção que ajusta a potencia de um dos motores para que haja o movimento em linha reta. É importante salientar que o fator de correção muda para diferentes valores de potência. Por exemplo, para uma potência de 100% o fator de correção foi de “0.92”.
  3. Um terceiro problema foi colocar a caneta de forma mais precisa possível e exatamente abaixo do eixo central do robô, para que a mesma não deslize quando o robô gira sobre os vértices dos quadrados a serem desenhados.
  4. Por fim, foi difícil fixar o motor em uma peça de lego, de forma que o mesmo fique bem fixo e não trepide durante seu funcionamento.

Montagem

  1. A HandyBoard fica em cima do robô, localizada acima do centro de gravidade do mesmo.
  2. A Caneta foi colocada exatamente entre as duas rodas, e no centro do eixo do robô. Além disso, colocamos uma mola para a mesma ficar sempre com uma certa pressão e não atrapalhar também o movimento do robô.
  3. Cada motor foi envolvido por um tubo termo-retrátio e preso por presilhas plásticas a uma peça lego.
  4. Os motores ficam próximos às respectivas rodas que eles impulsionam e são reduzidos para que o movimento seja mais suave e forte ao mesmo tempo. Eles estão diretamente ligados ao “sem-fim” que faz as engranagens funcionarem.

Funcionamento

  1. Para a realização de curva pelo robô basta fazer com que haja diferença entre as velocidades angulares das duas rodas que são acionadas pelos motores. Caso a roda esquerda gire mais rápido que a roda direita o robô realiza uma curva para direita. Se, ao contrário, a roda direita girar mais rápido que a esquerda uma curva para a esquerda é efetuada.
  2. A HandyBoard possui um menu para a escolha da tarefa a ser executada pelo robô e configurar as constantes de calibragem. A navegação no menu é feita da seguinte forma: Na primeira linha do display é descrita a opção atual, enquanto na segunda linha estão indicados nas partes esquerda e direita da tela as funções dos botões start e stop, respectivamente, dependendo do contexto. As tarefas presentes no menu são desenhar os quadrados, tocar a música enquanto se movimenta, andar para frente e girar. As duas últimas foram incluídas para realizar as medições. Há também uma opção ajustes, que abre um submenu com diversas constantes que podem ser especificadas, como a potência dos motores, tempo de execução das tarefas, etc. É possível ajustar cada casa decimal das constantes de forma independente por meio do knob, de forma a obter uma maior precisão.
  3. O robô não possui sensores. Toda a programação das tarefas é baseada no tempo. No caso da tarefa de se desenhar um quadrado informa-se a velocidade linear e angular que o robô desenvolve (esses dados dependem muito da carga disponível na bateria) e o tempo de acionamento dos motores é calculado internamente.

Medições

  1. Foram realizadas 10 medidas para cada potência tanto para rotação quanto para translação. Com isso, pudemos perceber que a melhor potência no nosso caso foi a de 100% tanto para rotação quanto para translação, já que foi encontrado um menor desvio nos resultados.
  2. Após definida a potência, definimos o tempo para o robô andar 30cm de lado para o quadrado e o tempo para o mesmo girar 90º para realizar cada vértice do quadrado.
  3. Abaixo seguem os gráficos e os histogramas das medidas realizadas:
Gráficos
Rotação Translação
Gráfico1Gráfico2
Histogramas
Rotação
P = 40% P = 60% P = 100%
Histograma1Histograma2Histograma3
Translação
P = 40% P = 60% P = 100%
Histograma4Histograma5Histograma6

Demonstração

Fotos
Foto1Foto2Foto3
Foto4Foto5Foto6

Documentação

1 - Documentação Tp1