Índice:

Braço do robô UStepper 4: 5 etapas
Braço do robô UStepper 4: 5 etapas

Vídeo: Braço do robô UStepper 4: 5 etapas

Vídeo: Braço do robô UStepper 4: 5 etapas
Vídeo: uStepper Robot Arm 4 Part 3 - Teach Mode Control 2024, Novembro
Anonim
UStepper Robot Arm 4
UStepper Robot Arm 4
UStepper Robot Arm 4
UStepper Robot Arm 4
UStepper Robot Arm 4
UStepper Robot Arm 4
UStepper Robot Arm 4
UStepper Robot Arm 4

Esta é a 4ª iteração do meu braço robótico, que desenvolvi como um aplicativo para nossa placa de controle de passo uStepper. Como o robô possui 3 motores de passo e um servo para acionamento (em sua configuração básica) não se limita ao uStepper, mas pode ser usado com qualquer placa de driver de passo.

O design é baseado em um robô paletizador industrial - e é relativamente simples. Dito isso, passei incontáveis horas elaborando o design e otimizando-o tanto para facilitar a montagem quanto para imprimir as peças.

Fiz o design pensando na facilidade de impressão e na simplicidade de montagem. Não que não haja como melhorar esses dois parâmetros, mas acho que já percorri um longo caminho. Além disso, gostaria de reduzir a robótica industrial a um nível em que os amadores possam segui-la, mostrando que pode ser relativamente simples - também a matemática para controlá-la!

Sinta-se à vontade para deixar um comentário com feedback construtivo sobre o design, mas principalmente sobre como eu me saio para torná-lo acessível a todos (especialmente à matemática).

Etapa 1: peças necessárias, impressão 3D e montagem

Peças necessárias, impressão 3D e montagem
Peças necessárias, impressão 3D e montagem
Peças necessárias, impressão 3D e montagem
Peças necessárias, impressão 3D e montagem
Peças necessárias, impressão 3D e montagem
Peças necessárias, impressão 3D e montagem
Peças necessárias, impressão 3D e montagem
Peças necessárias, impressão 3D e montagem

Basicamente, tudo que você precisa saber está no manual de montagem. Há uma lista de materiais detalhada com as peças compradas e impressas e uma instrução de montagem detalhada.

A impressão 3D é feita em uma impressora 3D de qualidade razoável (FDM) com altura de camada de 0,2 mm e preenchimento de 30%. Você pode encontrar a iteração mais recente de partes e instruções aqui:

Etapa 2: Cinemática

Cinemática
Cinemática
Cinemática
Cinemática

Para fazer o braço se mover de maneira previsível, você precisa fazer matemática: OEu procurei em muitos lugares uma descrição relativamente simples da cinemática relacionada a este tipo de robô, mas não encontrei um que eu acredite que estivesse um nível onde a maioria das pessoas poderia entender. Eu fiz minha própria versão da cinemática baseada unicamente na trigonometria e não nas transformações de matriz que podem parecer bastante assustadoras se você nunca trabalhou nisso antes - no entanto, elas são bastante simples para este robô em particular, uma vez que tem apenas 3 DOF.

No entanto, acho que minha abordagem no documento em anexo está escrita de uma maneira relativamente fácil de entender. Mas dê uma olhada e veja se faz sentido para você!

Etapa 3: Codificando a Cinemática

A cinemática pode ser difícil de entender, mesmo com os cálculos que forneci no primeiro. Portanto, aqui está, antes de mais nada, uma implementação do Octave - o Octave é uma ferramenta gratuita com muitos dos mesmos recursos encontrados no Matlab.

L1o = 40; Zo = -70; L_2 = 73,0; Au = 188,0; Al = 182,0; Lo = 47,0; UPPERARMLEN = Au; LOWERARMLEN = Al; XOFFSET = Lo; ZOFFSET = L_2; AZOFFSET = Zo; AXOFFSET = L1o; disp ('Implementação do código') disp ('Ângulos de entrada:') rot = deg2rad (30); direita = deg2rad (142,5); esquerda = deg2rad (50); rad2deg (rot) rad2deg (direita) rad2deg (esquerda) T1 = rot; #base T2 = direita; #shoulder T3 = left; #elbow #FW cinemática para obter XYZ dos ângulos: disp ('Calculado X, Y, Z:') z = ZOFFSET + sin (direita) * LOWERARMLEN - cos (esquerda - (pi / 2 - direita)) * UPPERARMLEN + AZOFFSET k1 = sin (esquerda - (pi / 2 - direita)) * UPPERARMLEN + cos (direita) * LOWERARMLEN + XOFFSET + AXOFFSET; x = cos (rot) * k1 y = sin (rot) * k1 ## cinemática inversa para obter ângulos de XYZ: rot = atan2 (y, x); x = x - cos (rot) * AXOFFSET; y = y - sin (rot) * AXOFFSET; z = z - AZOFFSET-ZOFFSET; L1 = sqrt (x * x + y * y) - XOFFSET; L2 = sqrt ((L1) * (L1) + (z) * (z)); a = (z) / L2; b = (L2 * L2 + LOWERARMLEN * LOWERARMLEN - UPPERARMLEN * UPPERARMLEN) / (2 * L2 * LOWERARMLEN); c = (LOWERARMLEN * LOWERARMLEN + UPPERARMLEN * UPPERARMLEN - L2 * L2) / (2 * LOWERARMLEN * UPPERARMLEN); direita = (atan2 (a, sqrt (1-a * a)) + atan2 (sqrt (1-b * b), b)); esquerda = atan2 (sqrt (1-c * c), c); ## ângulos calculados de saída disp ('Ângulos de saída:') rot = rad2deg (rot) right = rad2deg (direita) left = rad2deg (esquerda)

Com o script acima, você basicamente tem o código pronto para implementação para cinemática direta e retrógrada.

A cinemática direta que você usa para calcular onde você terminará com um determinado conjunto de ângulos de motor. A cinemática inversa irá então (fazer o inverso) calcular quais ângulos do motor você precisa para terminar na posição desejada x, y, z. As restrições ao movimento do motor devem então ser inseridas, como, por exemplo, a base rotacional só pode ir de 0 a 359 graus. Dessa forma, você garante que não irá para posições que não são viáveis.

Etapa 4: Executando a coisa

Image
Image

Ainda não chegamos lá com a implementação da biblioteca cinemática, de modo que ainda não posso fornecer. Mas posso mostrar um vídeo de como está funcionando. É bastante estável e suave devido ao uso de rolamentos e acionamento por correia, além de razoável qualidade de acionamentos que aqui estão as placas uStepper S.

Etapa 5: efetores finais adicionais

Efectores finais adicionais
Efectores finais adicionais
Efectores finais adicionais
Efectores finais adicionais

Eu projetei 3 efetores finais adicionais. Uma delas é simplesmente uma pinça horizontal, outra se encaixa em uma lata de cerveja ou refrigerante comum europeia e, por último, há um sistema de pinça a vácuo que permite encaixar uma ventosa, uma bomba e uma válvula.

Todos estarão ou estão disponíveis aqui (arquivos 3D STL e instruções):

Recomendado: