Ferramentas do usuário

Ferramentas do site


cursos:introrobotica:2017-1:grupo09:tp01

Objetivo

Estruturar um manipulador robótico a fim de que este seja capaz de escrever, de forma completamente autônoma, a palavra ‘UFMG’. Para isso devem-se seguir algumas condições de restrição:

  1. A base do manipulador robótico não pode ultrapassar um determinado espaço delimitado, indicado na figura A.
  2. A palavra escrita deve respeitar o limite também especificado pela figura A, de tal maneira que ocupe o maior espaço possível.
  3. O percurso deve ser concluído em no máximo 4 minutos
  4. Não é permitido o uso de nenhum sensor.

Estrutura

Através de pesquisa e das aulas teóricas, decidimos que a melhor estrutura do manipulador para executar a tarefa descrita acima seria a de um manipulador com duas juntas prismáticas (PP). Desta forma, construímos uma pequena estrutura para entendermos o funcionamento da junta e, em seguida, aumentar sua escala para utilizá-la no manipulador O funcionamento da junta prismática encontra-se no vídeo abaixo:

Para a movimentação do manipulador, utilizamos dois motores 9V DC.

O primeiro, preso diretamente na base, movimentava o braço robótico ao longo do eixo horizontal. Para isso, utilizamos uma caixa de redução 135:1, como mostrado na “Figura 1”.

Figura 1 - Caixa de Redução na base

O segundo motor, responsável por movimentar o braço robótico no eixo vertical, também foi ligado à uma caixa de redução de 1:135, mostrada na “Figura 2

Figura 2 - Caixa de redução junto ao segundo motor.

Ao juntar toda a estrutura do manipulador, tivemos alguns problemas relacionados ao posicionamento da placa dentro da estrutura, ao comprimento dos fios do motor que, quando conectados à placa, atrapalhavam a movimentação do manipulador, e, principalmente, uma certa instabilidade da parte móvel, que pode ser vista nos vídeos da seção de testes. Sendo assim, elevamos o o braço do manipulador, onde está fixada a caneta, dando mais espaço para conectar os cabos à placa, e procuramos estabilizar nossa estrutura, obtendo a versão final, apresentada na “Figura 3”.

Figura 3 - Versão final do manipulador


Software

Para o código inicialmente pensamos em como gostaríamos de passar as instruções para o manipulador, instruções que poderíamos usar não só para escrever UFMG mas que fossem capazes de desenhar algo arbitrário, uma solução genérica para o problema.

Optamos por uma função goTo(x,y) onde poderíamos passar as coordenadas para onde o braço deveria se mover, dessa forma o próprio robô teria de calcular a força e tempo necessários para atingir o alvo. Para isso precisávamos saber a posição atual do braço e uma relação de quanta força é necessária para mover o braço uma unidade em um segundo. Criamos assim cx e cy, duas constantes com essa força.

A partir dos testes vimos que ainda precisávamos de uma constante para modificar a velocidade de movimento do braço e que seria mais fácil usar coordenadas relativas para escrever, então implementamos e passamos a utilizar uma função move(x,y) no lugar da goTo(x,y), que executa movimentos relativos a posição atual.

Por fim, para permitir maior controle do tamanho da escrita, adicionamos dois parâmetros para controlar a escala do desenho.


Testes

Teste 1: No primeiro teste, o resultado foi não foi satisfatório, mostrando a instabilidade de nossa base quando uma força maior era exercida sobre ela.

Teste 2: Em seguida, após algumas correções, o travamento no eixo horizontal do manipulador ainda mostrou-se ineficiente

Diversos Testes: Depois dos incidentes nos testes acima, começamos a buscar uma melhor forma de estabilizar nossa estrutura, bem como adequar o tamanho da escrita do robô, através de pequenas modificações no código

Teste Final: Até que, por fim, depois de muitos outros testes, chegamos à nossa estrutura final (“Figura 3”) e código final, apresentados nas seções acimas, e que nos forneceram o resultado mostrado abaixo.


Principais dificuldades

Por ser o primeiro trabalho prático, e o nosso primeiro contato com a placa controladora e com o kit de LEGO, tivemos algumas dificuldades básicas com os materiais.

Inicialmente, o maior problema encontrado foi a adaptação com as peças de LEGO, e de encontrar a melhor forma de montar a plataforma e criar as relações de engrenagens. Alguns erros e adaptações depois, conseguimos criar uma certa “intimidade” com as peças, e a plataforma saiu de uma forma bastante satisfátoria. Mas, mesmo após esse período de adaptação, não conseguimos ultrapassar completamente a barreira imposta pelo material. Por ser LEGO, as montagens não ficavam completamente estáveis, e alguns erros de precisão na grafia podiam ser observados.

Os primeiros usos da placa controladora também foram um pouco desafiadores, enfrentamos alguns “bugs”, mas nada que nos atrasasse demais, e logo ficamos experiente em resolver os problemas que apareciam.

cursos/introrobotica/2017-1/grupo09/tp01.txt · Última modificação: por 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki