Trabalho Prático 2
Objetivo
Já tendo sido obtida a familiarização com a Handy Board, construções com LEGO e linguagem IC no trabalho prático 1, neste trabalho prático o objetivo é aprofundar um pouco mais nestes recursos. Para isso atividades como programação de tarefas concorrentes, avaliação experimental dos erros de atuação e controle simples para o robô são exigidas.
Desenvolvimento
A primeira idéia para construção deste robô partiu do princípio de uso de duas rodas e um terceiro suporte que não influenciaria na trajetória. Uma sugestão para este suporte é o chamado roll-on, muito utilizado em embalagens de cosméticos, que se baseia em uma esfera que pode ser rotacionada em qualquer direção com um suporte fixo. Esta sugestão foi temporariamente posta de lado, pois queríamos evitar, sempre que possível, a utilização de peças não pertencentes ao kit LEGO, pois são de difícil adaptação aos tamanhos, espaços e conexão com o restante do robô. Por isso foram realizadas diversas tentativas de construção de uma roda caster (ou roda de apoio), para agir como este terceiro suporte. Porém, nas tentativas realizadas, ficou clara a dificuldade da implementação desta idéia quando tratamos do fato da roda não poder afetar a direção, característica indispensável na aplicação. A utilização do roll-on foi então reconsiderada e aceita. A primeira atitude a tomar foi a adaptação desse dispositivo às peças do kit, de forma a encaixá-lo de forma mais fácil e segura.
Já que a velocidade angular no eixo do motor é maior do que a velocidade desejada no eixo da roda do robô, vemos a necessidade e importância das reduções inseridas no mesmo. Tais reduções diminuem a velocidade linear da roda e aumentam o torque da mesma. Várias opções foram analisadas, já que inúmeras combinações de engrenagens eram possíveis. Ao final decidimos que a redução principal seria feita com a utilização da rosca sem fim.
A primeira versão do robô já levava em conta as decisões descritas acima. Porém, muitas melhorias deveriam ser realizadas. A primeira delas foi a tentativa de remoção das esteiras nele utilizadas, pois não são muito confiáveis, existindo grande possibilidade de rupturas e perdas na transmissão. Nesse momento, muito tempo foi gasto e diversas tentativas foram elaboradas para eliminação desta possível fonte de problemas. A utilização de somente engrenagens para as transmissões também se mostrou uma tarefa difícil, sendo necessário o ajuste das folgas entre engrenagens para que elas não fossem pequenas a ponto de desgastar as engrenagens e forçar os motores, mas também não tão grandes de maneira a ocorrer falhas na transmissão do movimento.
A posição da caneta para melhor visualização dos movimentos também foi fonte de problemas, dado que se estivesse muito baixa oferecia resistência excessiva ao movimento, e se estivesse alta não deixaria as marcas necessárias. Também existiu o problema do posicionamento da caneta, que inicialmente foi colada na traseira do robô. Porém, nessa posição os desenhos não representavam bem a trajetória do robô, como por exemplo, em uma movimentação de mudança de ângulo sem deslocamento, na qual a caneta desenharia um arco de circunferência.
Na apresentação do trabalho tivemos problemas decorrentes da queima dos LED’s, excesso de carga na bateria e falta de travamento. Como os LED’s estavam queimados, uma das tarefas não foi realizada. Com o excesso de carga da hand board, as distâncias, os ângulos e o raio do círculo foram maiores que os esperados. A falta de travamento causou danos ao robô quando este era movimentado. Assim, foi decidido que reapresentaríamos o trabalho em outro dia, segunda-feira dia 5/10.
Com estes resultados, foi decidido que o robô seria inteiramente refeito. Nesta segunda tentativa a primeira atitude foi a adaptação de peças que não pertencem ao LEGO (motores, caneta e roll-on), em peças de LEGO para serem melhor fixadas e facilmente montadas. A seguir, nos focamos nas reduções, continuando utilizando rosca sem fim para a transmissão do motor para a primeira engrenagem, várias transmissões com engrenagens de tamanhos diferentes, e uma transmissão final para as rodas com a utlização de esteiras (pois a distância a ser coberta não era obtida com as combinações de engrenagens testadas). Vale ressaltar que anteriormente estávamos usando uma coroa para a transmissão do movimento da rosca sem fim fixada no eixo do motor para as outras engrenagens. Como os pontos de contato desta peça eram poucos e nosso objetivo não era mudar a direção do movimento, decidimos utilizar uma engrenagem comum para esta interação. As rodas foram inicialmente colocadas no interior da largura do corpo prinicpal do robô, porém, a distância entre os eixos se tornou muito pequena em relação ao comprimento do robô, sendo necessário aumentá-la para que o robô obtivesse estabildade para rotacionar. Assim, mudamos as rodas para o exteriror desta largura, e construímos sobre elas uma estrutura para melhor funcionamento e acoplamento no corpo do robô.
Calibração
Com a remontagem do robô, a calibração foi totalmente refeita. Para calibrar, fizemos repetidas experiências, variando a duração do movimento e as potências aplicadas nos motores. A primeira atitude foi a comparação entre as potências aplicadas a cada motor, de forma a equilibrá-los e o robô andar reto. Surpreendentemente, estas potências aplicadas a cada motor eram iguais, não existindo diferenças significativas entre os motores. Os valores dos testes são mostrados nas tabelas a seguir. Foram realizados testes para quatro potências, 25%, 30%, 40% e 50%. E para tempos 2, 3, 4 e 5 segundos. Sendo que para a potência de 50% não foram realizados os testes para 5 segundos, pois a distância percorrida era muito grande, não cabendo em nossa cartolina, aproximadamente 85 cm.
Potência 25%
Tempo(s) | 2 | 3 | 4 | 5 |
---|---|---|---|---|
Medida 1 (cm) | 12,4 | 40,3 | 49,9 | 66 |
Medida 2 (cm) | 13 | 41,9 | 48,1 | 67,2 |
Medida 3 (cm) | 12,2 | 40,6 | 47,6 | 66,4 |
Medida 4 (cm) | 12,1 | 42 | 49,8 | 65,8 |
Medida 5 (cm) | 12,6 | 40,5 | 48,2 | 64,9 |
Medida 6 (cm) | 12,7 | 39,2 | 46,7 | 68,2 |
Medida 7 (cm) | 13,3 | 40,1 | 48,3 | 63,9 |
Medida 8 (cm) | 12.5 | 41,3 | 48,9 | 66,6 |
Medida 9 (cm) | 13.1 | 39,6 | 48,8 | 66,1 |
Medida 10 (cm) | 13.5 | 40,8 | 47,9 | 65,9 |
Potência 30%
Tempo(s) | 2 | 3 | 4 | 5 |
---|---|---|---|---|
Medida 1 (cm) | 20,6 | 29,1 | 42,2 | 46,6 |
Medida 2 (cm) | 21,5 | 28,7 | 40,8 | 46,8 |
Medida 3 (cm) | 21,8 | 29,4 | 39,9 | 45,2 |
Medida 4 (cm) | 21,2 | 30 | 42,6 | 47 |
Medida 5 (cm) | 21,4 | 30,6 | 41,7 | 48,7 |
Medida 6 (cm) | 22,4 | 31,7 | 43,5 | 45,4 |
Medida 7 (cm) | 22,2 | 29,2 | 41 | 47,9 |
Medida 8 (cm) | 22 | 29,9 | 41,9 | 49,3 |
Medida 9 (cm) | 21,6 | 30,8 | 42,5 | 48,2 |
Medida 10 (cm) | 21,9 | 29,1 | 41,6 | 49 |
Potência 40%
Tempo(s) | 2 | 3 | 4 | 5 |
---|---|---|---|---|
Medida 1 (cm) | 25,9 | 40,3 | 49,9 | 66 |
Medida 2 (cm) | 26,2 | 41,9 | 48,1 | 67,2 |
Medida 3 (cm) | 25,7 | 40,6 | 47,6 | 66,4 |
Medida 4 (cm) | 26,3 | 42 | 49,8 | 65,8 |
Medida 5 (cm) | 26,4 | 40,5 | 48,2 | 64,9 |
Medida 6 (cm) | 25,7 | 39,2 | 46,7 | 68,2 |
Medida 7 (cm) | 26 | 40,1 | 48,3 | 63,9 |
Medida 8 (cm) | 25,8 | 41,4 | 48,9 | 66,6 |
Medida 9 (cm) | 27 | 41,8 | 49,1 | 65,4 |
Medida 10 (cm) | 26,4 | 42 | 50 | 67,7 |
Potência 50%
Tempo(s) | 2 | 3 | 4 |
---|---|---|---|
Medida 1 (cm) | 32,3 | 49,4 | 65,8 |
Medida 2 (cm) | 33 | 46,5 | 65,4 |
Medida 3 (cm) | 32,9 | 48 | 63,7 |
Medida 4 (cm) | 32,5 | 47,6 | 64,3 |
Medida 5 (cm) | 32,5 | 49,3 | 64 |
Medida 6 (cm) | 33,6 | 46,4 | 64,2 |
Medida 7 (cm) | 32,4 | 50,4 | 62,9 |
Medida 8 (cm) | 33,8 | 47,3 | 64,2 |
Medida 9 (cm) | 31,9 | 48,2 | 66,1 |
Medida 10 (cm) | 32,8 | 46,8 | 66,2 |
Gráficos
Com estes dados foi possível o cálculo das médias e desvios-padrão para cada par de valores (potência, tempo) e também o desenvolvimento de um gráfico relacionando distância e tempo, para cada potência. Estes gráficos são mostrados a seguir:
Potência 25%
Potência 30%
Potência 40%
Potência 50%
Testes de rotação também foram feitos, como os de translação. Dois pares de potência foram utilizados, 15% e 80%; e 15% e 90%. Os gráficos gerados são mostrados a seguir.
15% e 80%
15% e 90%
Com esta calibração feita, foi possível determinar os parâmetros (potência de cada motor e tempo) para a realização das tarefas. Sendo assim, a apresentação do trabalho consistirá na realização de três quadrados e três círculos consecutivos. É uma tarefa complexa, já que muitos fatores influenciam no movimento do robô, como já mencionado anteriormente. Contudo, esperamos conseguir alcançar nossos objetivos satisfatoriamente.
Baseando nos dados obtidos na calibração, escolhemos os valores de potência dos motores e o tempo de funcionamento dos mesmos para que eles realizassem os movimentos de translação e rotação, que após combinados, gerariam os movimentos do quadrado e círculo. Assim, escolhemos para a translação a potência de 30% nos dois motores, a fim do robô andar a uma velocidade baixa para obtermos maior precisão do movimento. Já para a curva, calibramos os motores com -40% e 40% para que cada roda girasse em um sentido com o objetivo do robô permanecer no mesmo lugar ao fazer a curva. Para o círculo, colocamos os valores de 92% e 15% nos motores, para que o raio se aproximasse ao máximo de 25 cm.
Conclusão
Neste trabalho prático tornou-se clara a importância de uma estrutura mecância bem planejada e executada, pois sem esta não é possível a verificação do bom funcionamento dos outros componentes. Verificamos também a dificuldade de calibração sem a utilização de sansores, muitos fatores influenciam o deslocamento do robô não só a potência aplicada aos motores e o intervalo de tempo utilizado, que são as únicas variáveis que podemos manipular em malha aberta (sem sensores). Também utilizamos o programa com múltiplas tarefas, que se revelará mais importante ao utilizarmos sensores e ao mesmo tempo atuarmos.