:cursos:introrobotica:2008-2:grupo5:surfista_02.jpg

Surfista Prateado

O segundo robô desenvolvido pelos componentes do Quarteto é o Surfista Prateado. Diferente do robô Coisa, o Surfista Prateado utiliza rodas para se locomover. Além disso, ele está apto a realizar uma quantidade maior de tarefas. O grupo inicia uma jornada em busca de um robô cada vez mais autônomo.

Objetivos

O objetivo do presente trabalho é desenvolver um controle simples para um robô através da programação da HandyBoard. Também é desejado avaliar experimentalmente os erros de atuação do robô, comparando e medindo as diferenças entre o que é especificado e o que, de fato, é realizado pelo robô.

Tarefas a serem realizadas pelo robô

O software desenvolvido para a HandyBoard deve permitir ao robô:

  1. Funcionar um grupo de 4 leds em seqüência. Os botões start e stop devem ser utilizados para inicializar e parar a seqüência dos leds. A cada ‘start’ o robô deve executar uma seqüência diferente;
  2. 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;
  3. 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;
  4. Ter um Menu, em que as tarefas podem ser acessadas facilmente, por meio do potenciômetro e dos botões.

Existem opções no menu do robô para cada uma das tarefas 1, 2, e 3. Além dessas tarefas, para realização de experimentos e calibração do robô, foram desenvolvidas mais três opções no menu: calibração, translação e rotação.

Decisões de Projeto e Funcionamento

O Surfista Prateado possui três rodas, sendo duas rodas do tipo simples dispostas lado a lado e uma esférica (do tipo “rolon”) localizada a frente do eixo imaginário formado pelas rodas simples. A cada uma das rodas simples está ligado um motor distindo.

Para o robô transladar uma tensão de mesmo sinal deve ser aplicada em cada motor e para ele rotacionar tensões de sinais contrários devem ser aplicadas em cada motor (o parâmetro de entrada dos motores é o percentual da potência máxima). O eixo de rotação do motor é o centro do eixo imaginário que une as duas rodas simples.

O Surfista Prateado possui também uma caneta hidrocor fixada no seu eixo de rotação, permite ao Quarteto Fantástico observar os rastros e trajeto de sua mais nova criação.

*O parâmetro de entrada dos motores são os percentuais das potências máximas, sendo assim, quando se falar de potência negativa, é a potência aplicada a uma tensão com sinal oposto.

Etapas de desenvolvimento

  • Dia 21/09: Terminamos os testes do robô, fizemos o menu final, o círculo e o quadrado. Para término do trabalho realizamos uma simulação da apresentação do trabalho prático. Finalizamos o relatório e o site que descrevem o robô.
  • Dia 20/09: Fizemos as calibrações de translação e rotação. Fizemos os testes finais dos leds e de funcionamento do robô de forma simultânea com os leds. Iniciamos a construção do site do robô.
  • Dia 19/09: Terminamos o processo de calibração do motor, durante o processo de calibração, notamos que a rampa gerava uma diferença de ativação entre os motores e isso acarretava em um erro em estado estacionário. Com isso, decidimos tirar a rampa e efetuar novamente a calibração do robô.
  • Dia 16/09: Terminamos a montagem do robô, acoplando os motores a estrutura já produzida. Começamos o processo de calibrar o robô. Descobrimos a relação das potências entre os motores para ele andar em linha reta e rotacionar, dado uma potência média. Também iniciamos os testes para cada potência, obter a distância percorrida pelo robô dado um tempo. Foram alteradas as opções de menu para ficarem de acordo com as necessidades levantadas pelo grupo nesse dia. Decidimos inserir uma rampa para controlar a corrente no motor. Inciamos a construção do relatório de funcionamento do robô.
  • Dia 14/09: Programação da HandyBoard para aperfeiçoar opções do menu. Inserção de código prévio para robô realizar movimentos de quadrado e círculo e fazer a tarefa multithread (acender leds e transladar ao mesmo tempo).
  • Dia 13/09: Montamos o circuito eletrônico com os led´s e resistores para limitar a corrente.
  • Dia 12/09: Encontramos para continuar a montagem do robô e discutir sobreas necessidades do menu de tarefas. Para desenvolver um projeto profissional, decidimos montar os led´s em uma placa de circuito.
  • Dia 05/09: Iniciamos a montagem do robô e a programação da hand-board. Montamos o primeiro protótipo do robô e a primeira versão do software a ser utilizada utilizar.
  • Dia 04/09: Reunimos e decidimos qual seria o projeto do robô, separamos as tarefas individuais e do grupo, marcamos a data para reunirmos e fazer a montagem do robô.
  • Dia 02/09: Fomos informados do segundo trabalho prático, com isso decidimos que antes de iniciar a montagem do robô deveríamos projetar e decidir qual seria a lógica de nosso sistema. Marcamos uma reunião para cada um apresentar o seu projeto e justificar suas decisões e assim juntos decidir qual seria o nosso robô.

Dificuldades encontradas e Soluções Propostas

  1. encontrar a relação entre os motores, de forma que, dada uma potência média, qual deveria ser a potência em cada motor para que ele pudesse transladar e rotacionar. Para a translação, foram tomadas as medidas, para cada potência média (40, 60 e 90), do deslocamento linear e lateral efetuado pelo robô. Esse deslocamento lateral em relação a trajetória reta que deveria ser seguida pelo robô foi utilizado como base nesse primeiro processo de calibração. Para a rotação, observou-se que bastava aplicar potências de módulos semelhantes e de sinais contrários em cada motor;
  2. o fato de inserir um degrau de tensão no motor motivou a utilização de uma rampa de tensão, que permite aumentar a tensão nos motores linearmente. Foi testada uma rampa de 1 segundo, que crescia a potência em cada motor de 1/4 até atingir a potência desejada em cada motor. Também foi testada uma rampa de 0,5 segundos, que crescia a potência em cada motor de 1/10 até atingir a potência desejada em cada motor. Outras soluções foram testadas, mas todas levaram a dificuldades no processo de calibração e nos experimentos, principalmente no movimento de rotação. Portanto, optou-se por não utilizar a rampa.
  3. identificar os parâmetros de entrada para as opções nos menus utilizadas nos processos de calibração e experimentos. Isso foi sendo esclarecido a medida que essas atividades foram sendo executadas e o grupo entrava em um consenso quanto as necessidades surgidas.
  4. Durante os primeiros testes do robô foi constatado que o centro de massa do robô estava deslocado no sentido do “rolon”, o que gerava uma falta de atrito nos pneus do robô. Com isso, montamos novamente o robô fizemos uma estrutura adequada.

Gráficos da calibração

d40.jpg d60.jpg d80.jpg

Gráfico utilizado para interpolação:

distgeral.jpg

a40.jpg a60.jpg a80.jpg

Gráfico utilizado para interpolação:

angulogeral.jpg

Experimentos

De acordo com as especificações do trabalho, realizamos alguns experimentos para dadas distâncias e ângulos. Utilizamos as distâncias de 10, 20 e 30 cm e os ângulos de 30, 60 e 90 graus. Os gráficos mostram a média dos valores com seus respectivos desvios.

Distâncias medidas (cm):

10cm 20cm 30cm
10,0 18,7 28,5
10,2 18,5 28,6
09,6 19,4 28,0
09,6 19,2 28,2
10,3 19,0 29,5
10,0 18,0 30,0
10,1 19,4 30,1

:tp1-distfinal.jpg

ângulos medidos (graus):

30 60 90
30,0 60,0 89,0
30,1 58,0 88,0
29,0 59,0 90,0
28,0 60,0 91,0
30,0 59,0 91,0
27,0 60,0 87,0
28,0 59,0 90,0

angulofinal.jpg

Fotos

:cursos:introrobotica:2008-2:grupo5:tp1-foto1.jpg:cursos:introrobotica:2008-2:grupo5:tp1-foto1.jpg:cursos:introrobotica:2008-2:grupo5:tp1-foto1.jpg

:cursos:introrobotica:2008-2:grupo5:tp1-foto1.jpg:cursos:introrobotica:2008-2:grupo5:tp1-foto1.jpg

Vídeos

Documentação

Código

cursos/introrobotica/2008-2/grupo5/tp1.txt · Última modificação: 2008/09/23 22:08 (edição externa)