Trabalho prático 2: Locomoção, sensores & paralelismo

O projeto
O TP2 aborda a robótica móvel e as interações entre o robô e ambiente. O braço manipulador do último TP teve que ser desmontado (:c) para elaborarmos uma estrutura sobre rodas capaz de realizar movimentos simples de rotação e movimentação linear. Além disso, o novo robô utiliza sensores para medir algumas informações básicas do ambiente.

Foram definidas três tarefas para este trabalho, e cada uma delas pode ser acessada independentemente por meio de um menu programado no Arduino:

  1. locomover-se em três trajetos pré-definidos: uma linha reta, um quadrado e um triângulo;
  2. Utilizar o sensor para identificar a cor de cubos presentes no laboratório;
  3. Realizar a locomoção e identificação de cubos em paralelo, tomando uma decisão baseada na cor do cubo.

A estrutura

O nosso robô tem formato de paralelepípedo, com uma extensão que comporta a roda esférica e um sensor de luminosidade. O interior contém dois motores (e as respectivas reduções), um para cada roda comum. O Arduino encaixa-se no topo da estrutura.

Programação

Como as tarefas propostas eram independentes, estas foram divididas entre o grupo para agilizar a programação:

Desafios encontrados

O principal desafio encontrado está nas rodas do robô. O uso de motores diferentes causa problemas para equalizar a velocidade das rodas. Se as rodas se movimentarem com velocidades diferentes, o robô não consegue se movimentar em linha reta.

A primeira tentativa de solução foi utilizar motores “iguais”. Mesmo assim as velocidades estavam um pouco diferentes. Essa discrepância foi amenizada alterando a redução de um dos motores para compensar, além de um pouco de tentativa&erro no código.

Outro desafio importante foi realizar a tarefa 3. Demoramos para fazer a matemática correta dos 10 segundos (por exemplo, resetar o contador depois de encontrar um bloco), resultando em algumas batidas e tombamentos.

Conclusão

Com relação ao projeto de manipuladores, foi mais fácil corrigir as discrepâncias entre os motores que contornar os problemas causados pelo atrito do manipulador. Entretanto, o paralelismo adiciona desafios um pouco mais complicados na robótica, obrigando-nos a utilizar os recursos do processador de forma mais eficiente.

Considerações para o próximo projeto

Para o próximo projeto, devemos considerar diminuir o peso do robô para aumentar a vida útil das pilhas, e sobrarem peças Lego para aumentar o reforço estrutural do robô.

Galeria