Sommario:

Braccio robotico UStepper 4: 5 passaggi
Braccio robotico UStepper 4: 5 passaggi

Video: Braccio robotico UStepper 4: 5 passaggi

Video: Braccio robotico UStepper 4: 5 passaggi
Video: Marlin Firmware 2.0.x Explained 2024, Novembre
Anonim
Braccio robotico UStepper 4
Braccio robotico UStepper 4
Braccio robotico UStepper 4
Braccio robotico UStepper 4
Braccio robotico UStepper 4
Braccio robotico UStepper 4
Braccio robotico UStepper 4
Braccio robotico UStepper 4

Questa è la quarta iterazione del mio braccio robotico, che ho sviluppato come applicazione per la nostra scheda di controllo stepper uStepper. Poiché il robot ha 3 motori passo-passo e un servo per l'attuazione (nella sua configurazione di base) non è limitato a uStepper, ma può essere utilizzato con qualsiasi scheda driver passo-passo.

Il design si basa su un robot pallettizzatore industriale ed è relativamente semplice. Detto questo, ho trascorso innumerevoli ore a ideare il design e ad ottimizzarlo sia per la facilità di assemblaggio, ma anche per la facilità di stampa delle parti.

Ho realizzato il design pensando alla facilità di stampa e alla semplicità di assemblaggio. Non che non ci sia alcun modo per migliorare questi due parametri, ma penso di aver fatto molta strada. Inoltre, vorrei portare la robotica industriale a un livello in cui l'hobbista può seguirla dimostrando che può essere resa relativamente semplice - anche la matematica per controllarla!

Sentiti libero di lasciare un commento con un feedback costruttivo sia sul design ma soprattutto su come faccio a renderlo accessibile a tutti (soprattutto la matematica).

Passaggio 1: parti necessarie, stampa 3D e assemblaggio

Parti necessarie, stampa 3D e assemblaggio
Parti necessarie, stampa 3D e assemblaggio
Parti necessarie, stampa 3D e assemblaggio
Parti necessarie, stampa 3D e assemblaggio
Parti necessarie, stampa 3D e assemblaggio
Parti necessarie, stampa 3D e assemblaggio
Parti necessarie, stampa 3D e assemblaggio
Parti necessarie, stampa 3D e assemblaggio

Praticamente tutto quello che c'è da sapere è nel manuale di montaggio. C'è una distinta base dettagliata con parti acquistate e stampate e istruzioni di montaggio dettagliate.

La stampa 3D viene eseguita su una stampante 3D (FDM) di qualità ragionevole con un'altezza dello strato di 0,2 mm e un riempimento del 30%. Puoi trovare l'ultima versione di parti e istruzioni qui:

Passaggio 2: cinematica

Cinematica
Cinematica
Cinematica
Cinematica

Per far muovere il braccio in modo prevedibile devi fare dei calcoli:O Ho cercato in molti posti una descrizione relativamente semplice della cinematica relativa a questo tipo di robot, ma non ne ho trovato uno che credo fosse su un livello in cui la maggior parte delle persone poteva capirlo. Ho fatto la mia versione della cinematica basata esclusivamente sulla trigonometria e non sulle trasformazioni della matrice che possono sembrare abbastanza spaventose se non hai mai lavorato su quella roba prima - tuttavia, sono abbastanza semplici per questo particolare robot poiché è solo 3 DOF.

Tuttavia, penso che il mio approccio nel documento allegato sia scritto in un modo relativamente facile da capire. Ma dai un'occhiata e vedi se ha senso per te!

Passaggio 3: codifica della cinematica

La cinematica può essere difficile da comprendere anche con i calcoli che ho fornito nel primo. Quindi ecco prima di tutto un'implementazione di Octave: Octave è uno strumento gratuito con molte delle stesse funzionalità che si trovano in Matlab.

L1o = 40;Zo = -70; L_2 = 73,0; Au = 188,0; Al = 182,0; Lo = 47,0; BRACCIO SUPERIORE = Au; LOWERARMLEN = Al; XOFFSET = Basso; ZOFFSET = L_2; AZOFFSET = Zo; AXOFFSET = L1o; disp('Implementazione del codice') disp('Angoli di input:') rot = deg2rad(30); destra = deg2rad(142.5); sinistra = deg2rad(50); rad2deg(rot) rad2deg(destra) rad2deg(sinistra) T1 = rot;#base T2 = destra;#spalla T3 = sinistra;#gomito #FW cinematica per ottenere XYZ dagli angoli: disp('Calculated X, Y, Z:') z = ZOFFSET + sin(right)*LOWERARMLEN - cos(sinistra - (pi/2 - right))*UPPERARMLEN + AZOFFSET k1 = sin(left - (pi/2 - right))*UPPERARMLEN + cos(right)* MIN BASSO + XOFFSET + AXOFFSET; x = cos(rot)*k1 y = sin(rot)*k1 ##cinematica inversa per ottenere angoli da 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 + LEN. INFERIORE*LEN. INFERIORE - LEN. UPPER*LEN. UPPER)/(2*L2*LEN. INFERIORE); c = (LOWERARMLEN*LOWERARMLEN + UPPERARMLEN*UPPERARMLEN - L2*L2)/(2*LOWERARMLEN*UPPERARMLEN); destra = (atan2(a, sqrt(1-a*a)) + atan2(sqrt(1-b*b), b)); sinistra = atan2(sqrt(1-c*c), c); ##output angoli calcolati disp('output angoli:') rot = rad2deg(rot) right = rad2deg(destra) left = rad2deg(sinistra)

Con lo script sopra hai fondamentalmente il codice pronto per l'implementazione per la cinematica in avanti e all'indietro.

Cinematica in avanti che usi per calcolare dove ti ritroverai con un determinato insieme di angoli del motore. La cinematica inversa calcolerà quindi (farà l'inverso) gli angoli del motore necessari per raggiungere una posizione x, y, z desiderata. Devono quindi essere inseriti vincoli sul movimento del motore, come ad es. la base di rotazione può andare solo da 0 a 359 gradi. In questo modo ti assicuri di non andare a posizioni che non sono fattibili.

Passaggio 4: eseguire la cosa

Image
Image

Non siamo ancora lì con l'implementazione della libreria cinematica, quindi non posso ancora fornire. Ma posso mostrarti un video di come funziona. È abbastanza stabile e fluido grazie all'uso di cuscinetti e trasmissione a cinghia, oltre alla ragionevole qualità delle unità che è qui le schede uStepper S.

Passaggio 5: effettori finali aggiuntivi

Effettori finali aggiuntivi
Effettori finali aggiuntivi
Effettori finali aggiuntivi
Effettori finali aggiuntivi

Ho progettato 3 ulteriori end effector. Uno è semplicemente una pinza orizzontale, un altro si adatta a una normale lattina di birra o soda europea e infine c'è un sistema di presa a vuoto che consente di adattarsi a una ventosa, una pompa e una valvola.

Tutti saranno o saranno disponibili qui (file e istruzioni 3D STL):

Consigliato: