Trabalho Prático 1 - Kerlon "Foquinha"
Introdução
O trabalho prático 1 consiste em montar um robô utilizando peças Lego. Tal robô deve ser capaz, de forma autônoma, andar em linha reta por uma distância de 15cm, fazer uma curva (90°) e andar por mais 15cm também em linha reta.
A primeira parte do trajeto deve ser feita em menos de 1 minuto. Para o deslocamento não é permitido o uso de esteiras nem rodas. Além do que, nenhuma interação externa será permitida, visto que o uso da HandyBoard será necessário.
Objetivos
Tal trabalho visa iniciar o desenvolvimento e familiaridade com o Kit-Lego. O que envolve enfrentar dificuldades como montagem de estruturas rígidas e resistentes.
Além disso, iniciar o contato com a programação da HandyBoard que será de suma importância aos trabalhos práticos seguintes.
Desenvolvimento
Iniciamos o desenvolvimento decidindo qual meio de lomoção escolher/construir. Decidimos, inicialmente que implementaríamos um sistema de locomoção utilizando 6 “pernas”.
Visando simplicidade, criamos um simples compartimento que guardasse a HandyBoard e a partir dele expandimos este para acoplar os dois motores, bem como fixar as engrenagens das pernas e fazer os travamentos.
Infelizmente, após diversas tentativas mal-sucedidas da locomoção do robô, o modelo não foi satisfatório. Os principais problemas que encontramos com o modelo foram: sincronia, dificuldades com os motores e estabilidade durante o movimento.
Observamos, então, que o desacoplamento das engrenagens relativas às pernas frontais em relação às anteriores, proporcionou uma melhor estabilidade ao robô e uma locomoção condizente com o trabalho.
Tal estabilidade proporcionou um movimento bem eficaz e forte. Tamanha força que os travamentos realizados às peças no modelo anterior não foram suficientes demandando novas travas.
É neste ponto que dependemos fortemente da base de peças do Lego. Sendo que as travas foram feitas utilizando as próprias peças do kit. Ou seja, estamos sujeitos à sua capacidade de estabilidade.
Esta capacidade muitas vezes limita um movimento mais robusto e até mais veloz. Os principais problemas que enfrentamos durante a manutenção da estabilidade da estrutura foram manter os motores fixos e as “pernas” do robô fixas aos seus eixos.
Além disso, os desafios relacionados aos motores foram críticos. Nossa estrutura utiliza dois motores, cada um move um lado do robô. Esta escolha decorreu visando o movimento de curva, que será explicado mais a frente.
Os motores são diferentes. Assim como suas capacidades de torque. A força imprimida por cada um sob mesma frequência é distinta uma da outra. O que compromete o movimento em linha reta. A menos de calibração, tal movimento seria impossível caso utilizassem a mesma potência.
Seus ajustes diferenciados de potência, graças ao controle da handyboard, foi outro ponto crucial. Dezenas de testes tiveram de ser realizados para estimar um valor que se adequasse ao movimento.
Mesmo a uma adequação de potências, outro problema vem à tona. A carga da bateria da Handyboard. Isso interfere nos testes bem como na calibração. Ou seja, foi possível, apenas, chegar a um valor que melhor se adequou durante os testes.
Prender os motores à estrutura Lego de modo estável foi um pouco trabalhosa visto que é a parte mais frágil durante o movimento. (Lembre-se que a Handyboard tem seu próprio compartimento adequado ;)
Se não bastasse esses problemas, lembre-se que o robô foi projetado para fazer uma curva! A curva foi definida como a configuração de um lado do robô parado enquanto o movimento do outro lado continue.
Como pode-se concluir à medida que se lê o texto, as definições funcionam perfeitamente apenas no “papel”. A curva em questão demandou análises durante os testes para avaliar problemas como o motor que faria a curva sozinho conseguisse realizar o movimento. Surpreendentemente, as reduções que fizemos com as engrenagens foram suficientes. Porém, o peso do robô ficava em cima das pernas e travamentos fracos. Tudo teve de ser reavaliado e ajustado.
Para evitar transtornos, enquanto um motor continua num mesmo sentido de rotação, invertemos o outro para que o movimento pudesse acontecer mais facilmente.
A curva depende fortemente da característica da superfície de onde o robô está se movimentando. Em superfícies mais lisas o movimento não ocorre com robustez visto que há necessidade de um atrito considerável.
O que foi feito então é deixar o robô o mais estável possível e num estado de configuração o qual o movimento fosse satisfatório na maioria dos testes.
Dos males o menor, bastou, por fim, calibrar o tempo de ativação dos motores. Bom, ainda é problema pois o tempo de ativação varia inversamente à potência dos motores configuradas. Ou seja, dezenas de testes possibilitaram um valor médio que foi bem sucedido na maioria dos testes.
Sem esses ajustes, veja o que acontece :
kerlon_teste1.mp4 (Cam de celular ;P)
Da programação, não obtivemos dificuldades consideráveis visto que a interface do software utilizado bem como a linguagem Interactive C é bem simples e fácil de usar.
Código utilizado: codigo_-_tp1.tar.gz
O trabalho foi concluído através de reuniões do grupo que se decorreram durante o período dado para a realização da tarefa.
Em todas as reuniões fazíamos novos ajustes. Como explicado anteriormente, é difícil manter condições padrões para testes. É mais eficaz procurar por uma faixa de acerto do que tentar encontrar um valor exato.
O robô, então, até os testes finais realizados, percorria 15 cm, fazia a curva e andava por mais 15 cm em menos de 1 minuto. O desafio maior foi manter a linha reta nas direções. Numa prévia da apresentação:
(Bem melhor que o vídeo anterior! Mas perceba que os ajustes de potência e velocidade são cruciais e difíceis de definir.)
Como toda criação recebe um nome, seu jeito de andar lembrava muito o de uma foca, pois locomove-se usando somente as patas da frente, então, foi a partir desse momento que nasceu Kerlon - “O foquinha”.
Conclusões
O desenvolvimento do primeiro robô foi um desafio e tanto, pois não tínhamos nenhuma experiência sobre montagem de robôs de LEGO até então. O que justifica sua simplicidade. Porém, ficamos satisfeitos com os resultados que conseguimos obter.
A maior experiência, certamente adquirida com esse trabalho foi aprender a olhar para circustâncias variáveis que antes eram ignoradas. Replicar situações é algo certamente difícil.
Outro ponto importante é saber discernir idéias que são aplicáveis às restrições tecnológicas que se possui.
O trabalho foi certamente importante como preparação para a construção de estruturas mais complexas e cumpriu o objetivo de familiarização com o Kit-Lego e a programação com a Handyboard.