Índice:
- Etapa 1: peças necessárias, impressão 3D e montagem
- Etapa 2: Cinemática
- Etapa 3: Codificando a Cinemática
- Etapa 4: Executando a coisa
- Etapa 5: efetores finais adicionais
Vídeo: Braço do robô UStepper 4: 5 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
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
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
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
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
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:
Controle do braço do robô com TLV493D, joystick e Arduino: 3 etapas
Controlando o braço do robô com TLV493D, Joystick e Arduino: um controlador alternativo para o seu robô com um sensor TLV493D, um sensor magnético com 3 graus de liberdade (x, y, z) com estes você pode controlar seus novos projetos com comunicação I2C em seu microcontroladores e placa eletrônica que Bast P
Robô de telepresença de tamanho humano com braço de garra: 5 etapas (com fotos)
Robô de telepresença de tamanho humano com braço de garra: MANIFESTOUm inimigo meu me convidou para uma festa de Halloween (mais de 30 pessoas) durante uma pandemia, então eu disse a ele que compareceria e comecei a projetar um robô de telepresença para causar estragos na festa em meu Lugar, colocar. Se você não está familiarizado com o que é um telep
Robô de equilíbrio / Robô de 3 rodas / Robô STEM: 8 etapas
Robô de balanceamento / Robô de 3 rodas / Robô STEM: Construímos um robô de balanceamento combinado e de 3 rodas para uso educacional em escolas e programas educacionais após as aulas. O robô é baseado em um Arduino Uno, um escudo personalizado (todos os detalhes de construção fornecidos), um pacote de bateria Li Ion (todos constr
COMO MONTAR UM BRAÇO DE ROBÔ DE MADEIRA IMPRESSIONANTE (PARTE 3: BRAÇO DE ROBÔ) - COM BASE NO MICRO: BITN: 8 Passos
COMO MONTAR UM BRAÇO DE ROBÔ DE MADEIRA IMPRESSIONANTE (PARTE 3: BRAÇO DE ROBÔ) - COM BASE NO MICRO: BITN: O próximo processo de instalação é baseado na conclusão do modo de evitar obstáculos. O processo de instalação na seção anterior é igual ao processo de instalação no modo de rastreamento de linha. Então, vamos dar uma olhada na forma final de A
COMO MONTAR UM BRAÇO DE ROBÔ DE MADEIRA IMPRESSIONANTE (PARTE 2: ROBÔ PARA Evitar Obstáculos) - COM BASE NO MICRO: BIT: 3 etapas
COMO MONTAR UM ARM DE ROBÔ DE MADEIRA IMPRESSIONANTE (PARTE 2: ROBÔ PARA Evitar Obstáculos) - COM BASE NO MICRO: BIT: Anteriormente, introduzimos o Armbit no modo de rastreamento de linha. A seguir, apresentamos como instalar o Armbit evitando o modo de obstáculo