Trabalho Prático 1

Programação utilizando a HandyBoard

Data de apresentacao: 18/09/08

Objetivos:

  • Familiarizar o aluno com o desenvolvimento de software para a HandyBoard,
  • Avaliação experimental dos erros de atuação
  • Desenvolvimento de controle simples para o robô.

Material para consulta:

Instruções:

  1. Registre no site suas idéias, metodologias utilizadas na realização dos experimentos.
  2. O trabalho desenvolvido deve ser mostrado em funcionamento na data marcada para a apresentação e todo grupo deve estar presente e ser capaz de responder perguntas.
  3. O relatório deve ser entregue IMPRESSO para o monitor do curso e postado na página do grupo até a data de apresentação. O relatório deve conter as principais decisões tomadas e desafios encontrados, assim como uma pequena explicação do funcionamento da robô. Fotos e videos podem ser de grande ajuda para ilustrar um determinado ponto.

Tarefas:

  • 1 - Estrutura e Controle: Desenvolva um robô apenas com peças do kit Lego. Esse robô será controlado apenas pela HandyBoard.
  • 2 - Menu: Todas as tarefas devem ser acessadas facilmente por meio de um menu, do potenciômetro e dos botões. A usabilidade dessa interface será avaliada.
  • 3 - Erros de translação e rotação:

Para auxiliá-lo nessas tarefas, crie um dispositivo que levante e abaixe uma marcador (pincel atômico, marcador de quadro branco, caneta hidrográfica, etc.) sobre a cartolina ou papel sobre o qual o robô trafegará (lembre-se de levar um idêntico para a apresentação). Dessa forma as trajetórias ficarão claramente marcadas e poderão ser medidas e verificadas com maior facilidade e precisão.

  • Calibração. Para determinar a distância percorrida ou o ângulo de rotação em função do tempo de acionamento dos motores, realize uma “calibração” prévia. Para isso, faça menos 10 testes para cada potência P faça uma tabela onde para cada tempo t, haja 10 colunas com valores das distâncias (ângulos) percorridas. Plote um gráfico t x d (t-tempo; d-distância percorrida pelo robô ou theta - ângulo de rotação do robô). (P e t devem ser selecionados no menu). O gráfico deve mostrar o valor médio e a barra de erro correspondente de um desvio padrão em torno da média, como mostrado abaixo.

grafico.jpg

Com as tabelas de calibração, é possível ajustar-se curvas (polinômios) que podem ser utilizados para se obter distâncias e ângulos quaisquer.

  • Experimentos
  • Translação linear - O valor de distância desejado deve ser informado por meio do potenciômetro e o valor correspondente mostrado no display. Para cada um dos 3 valores de distância: 10cm, 20cm e 30cm, meça a distância real e plote em gráfico como na etapa de calibração. Estime o erro médio e o desvio padrão de suas medidas.
  • Rotação - O valor de ângulo desejado deve ser informado por meio do potenciômetro e o valor correspondente mostrado no display. Para cada um dos 3 valores de ângulo: 30 graus, 60 graus e 90 graus, meça o ângulo real com um transferidor e plote em gráfico como na etapa de calibração. Estime o erro médio e o desvio padrão de suas medidas. Dica: para medir o ângulo, monte uma haste próxima ao nível do piso.
  • 4 - Leds: Escreva um programa que faça um grupo de 4 leds funcionar em seqüência. Utilize os botões start e stop para inicializar e parar a seqüência dos leds. A cada 'start' o robô deve executar uma seqüência diferente. Dica: Utilize as Digital Outputs da Handyboard através do SPI para acionar os Leds.
  • 5 - Multitarefa: Utilize a característica multitarefa do IC para ligar os leds enquanto o robô se move (trajetória livre) . O robô e os leds devem ficar em execução durante exatos 30 segundos, interrompendo ambas tarefas após esse tempo.
  • Tarefa a ser mostrada no dia da apresentação: Fazer o robô realizar autonomamente uma trajetória quadrada de 30cm de lado. Logo após, uma trajetória circular de 25 cm de raio, ambos por 3 vezes consecutivas. O robô deve desenhar numa cartolina sobre o chão a trajetória (cada grupo deve trazer sua própria cartolina no dia). As tarefas 2, 4 e 5 também serão avaliadas no dia da apresentação.
  • OBS : Não devem ser utilizados sensores.
cursos/introrobotica/2008-2/tp2.txt · Última modificação: 2008/09/02 14:48 (edição externa)