Integrantes:
- Ivo Tadeu Jardim Diniz
- Fernanda Amorin Fenelon
- Lucas Ribeiro Alves
- Wender Gonçalves dos Santos
O primeiro trabalho prático consistiu no projeto e construção de um dispositivo capaz que realizar três desenhos: escrever UFMG, desenhar um círculo e um desenho à escolha do grupo. O trabalho foi desenvolvido com o kit de Lego disponibilizado pelo professor e a montagem final deveria conter dois motores elétricos e ocupar um espaço máximo delimitado.
Foi considerado, inicialmente, um projeto semelhante a um braço humano, com duas juntas de revolução e uma garra em uma extremidade para a fixação da caneta. Esse modelo facilitaria o desenho do círculo, mas poderia dificultar desenhos compostos por retas. A figura 1.1 mostra esquematicamente o modelo. Devido à complexidade da construção e da implementação do código, decidiu-se por um modelo mais simples, mas capaz de realizar os desafios propostos. Optou-se por um manipulador cartesiano, baseado em uma CNC, com dois motores elétricos. O modelo escolhido pode ser visto na figura 1.2.
A construção começou a partir das reduções que seriam acopladas ao motor, para garantir a velocidade e torque necessários para realização dos desenhos. Elas podem ser vistas nas figuras 1.3 e 1.4. O movimento foi transmitido dos motores para as engrenagens e, delas, para uma cremalheira, que converteu o movimento rotacional em retilíneo. Esse método foi utilizado para gerar movimento em duas direções perpendiculares, como pode ser observado na figura 1.4 que mostra o modelo final.
O desafio encontrado na construção do modelo foi ajustar a velocidade dos motores para realizar os desenhos. O motor do eixo y, que mexe a cremalheira ligada diretamente à caneta, apresentou uma velocidade muito maior que no eixo x, sendo necessário alguns testes para calibrar o modelo implementado. Outro desafio encontrado no final do projeto foi que os motores apresentaram velocidades muito maiores quando ligados diretamente às pilhas. Isso foi resolvido diminuindo gradativamente a velocidade dos motores até que apresentassem um resultado satisfatório.
O primeiro desenho consiste em escrever UFMG dentro de um espaço delimitado. A escrita consiste em um conjunto de linhas retas. Para isso ser feito, a razão de velocidade dos motores foi mantida constante em uma mesma linha, mas modificada de uma linha para outra para alterar a inclinação das retas. Para desenhar o círculo, as velocidades foram consideradas uma função de seno e cosseno. A diferença de velocidade entre os motores também apresentou problemas nessa etapa, pois a diferença fazia o círculo ficar com um formato oval. Para minimizar esse efeito, foram feitos ajustes empíricos no modelo para calibrá-lo. Já o desenho que deve ser escolhido pelo grupo, foi definido como uma pipa, desenhada a partir de uma adaptação do código utilizado no círculo.
O trabalho prático 2 consistiu no projeto de um robô capaz de realizar 3 tarefas: se locomover de uma forma previamente especificada, indentificar cores e se locomover tomando decisões a partir de objetos. Na primeira tarefa foi preciso se locomover em linha reta, em um quadrado e em um triângulo. A segunda tarefa consistiu em identificar as cores verde, azul, vermelho e amarelo. Já a terceira tafera, era preciso que o robô se locomovesse, identificasse um objeto e, com base em sua cor, realizasse um movimento específico. O trabalho foi realizado com dois motores elétricos e um kit de lego disponibilizado pelo professor.
Inicialmente foi testado uma montagem com mais de uma redução, mas a estrutura principal do robô era pequena e impossibilou uma motagem confiável. Porém, como testes com somente uma redução se mostraram satisfatórios, foi adotado somente uma redução em cada motor como pode ser observado na figura 2.1.
Como pode ser observado na figura 2.1, foi colocado um suporte ligado a seus eixos das rodas, que os mantinham fixos à estrutura, impedindo que eles saíssem durante a locomoção do carrinho. O sistema de verificação de cores foi montado para ficar acima dos blocos e a altura foi ajustada para que ele fosse capaz de identificar as cores com precisão. Já o sensor de proximidade foi colocado na parte de baixo do carrinho, junto à roda frontal. Para impedir que os fios enrolassem nas rodas, foi montado um sistema de canaleta mostrado na figura 2.2. Durante os testes, foi verificado que o um dos motores se desprendia do carrinho à medida que a potência diponibilizada a ele aumentava. Logo, foi construído uma estrutura acima desse motor, impedindo que que ele saísse. Essa estrutura pode ser vista na figura 2.1.
Um dos maiores desafios foi a calibração dos motores. Devido à baixa redução adotada, as tarefas de locomoção ficaram muito sensíveis a pertubações, como material da superfície das mesas de teste e variações na carga das pilhas. Portanto, não foi possível fazer uma calibração que garantisse o bom funcionamento todas as vezes. No próximo trabalho, será adotado um modelo com mais reduções, garantindo um torque mais elevado.
Outro desafio encontrado foi o sistema de identificação de cores. Inicialmente, a calibração era feita emitindo a luz dos 3 leds em momentos diferentes, sobre uma mesma superfície, e medindo o sinal de retorno somente uma vez para cada sinal. Com essa calibração, o sistema não conseguia identificar com precisão as cores verde e amarelo. Por isso, foi medido o sinal algumas vezes para cada led e feito a média. Dessa forma, o sistema foi capaz de identificar com precisão as cores dos blocos.
O terceiro trabalho prático consistiu de 3 partes: localização, odometria e controle e navegação.
Para realizar as tarefas propostas foi necessário fazer algumas mudanças no robô utilizado no segundo trabalho prático. Foi preciso aumentar o número de redução para 3, como pode ser visto nas figuras 3.1 e 3.2, o que facilitou o controle da rotação das rodas. Para isso ser possível, foi preciso ampliar a estrutura principal do robô, aumentando a distância do eixo, possibilitando a montagem dos componentes.
A medição da odometria foi feita em um eixo intermediário, garantindo que a roda na qual foi feita a medição, girasse na velocidade adequada. A montagem pode ser vista na figura 3.3. Já os sensores da tarefa de localização foram colocados na parte superior do robô, como pode ser visto na figura 3.5. Para realizar a tarefa de navegação, os sensores foram colocados na parte da frente do robô.
O posicionamento dos fios e as conexões podem ser vistas nas figuras 3.4, 3.5, 3.6 e 3.7.
Uma visão geral da forma final do robô pode ser visa nas figuras abaixo.
Em relação à montagem, o maior desafio foi a conexão dos fios. Alguns apresentaram mau contato e dois deles, necessários para navegação, não funcionaram normalmente durante a apresentação, impossibilitando que o robô seguisse a linha.
O projeto final consistiu na construção de um robô que fosse capaz de navegar e capturar blocos autonomamente pelo campo após o acionamnto de uma luz.
Com base em dificuldades nos trabalhos anteriores, o grupo chegou à conclusão que era necessário comprar dois motores novos para movimentar as rodas. Com esses motores, foi possível calibrar as velocidades para que o robô andasse em linha reta e realizasse curvas facilmente.
Foi optado por uma estratégia semples, mas que garantisse o funcionamento do robô durante toda as partidas realizadas na competição. A estratégia consistiu em mover por um caminho que coincidisse com a posição do maior número de blocos possível, sem utilização de sensores para detectar os blocos ou linhas. No final do caminho, o robô volta de ré, vira 180 graus e realiza o caminho novamente para o outro lado. Dessa forma, foi possível aumentar as chances de capturar os blocos. Foi escolhido que o robô realizaria esse movimento somente duas vezes devido ao erro acumulado ao longo do movimento, o que provavelmente resultaria em um colisão contra a parede se fosse feita uma terceira tentativa.
A montagem do robô ficou bastante semelhante ao apresentado no trabalho 3, sendo que foi alterado somente os motores e acrescentado a garra na parte frontal para capturar os blocos. A garra não é móvel, mas foi montada de maneira a segurar os blocos durante a realização de curvas.
As figuras abaixo mostram como foi a montagem final do robô.
Um dos desafios encontrados foi o encaixe das engrenagens nos eixos dos motores novos. Para isso foi necessário desgastar os eixos até fosse possível encaixar as engrenagens com uma pequena interferência.