Sommario:
- Passaggio 1: parti necessarie, stampa 3D e assemblaggio
- Passaggio 2: cinematica
- Passaggio 3: codifica della cinematica
- Passaggio 4: eseguire la cosa
- Passaggio 5: effettori finali aggiuntivi
Video: Braccio robotico UStepper 4: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
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
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
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
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
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:
Braccio robotico con pinza: 9 passaggi (con immagini)
Braccio robotico con pinza: La raccolta degli alberi di limoni è considerata un lavoro duro, a causa delle grandi dimensioni degli alberi e anche a causa dei climi caldi delle regioni in cui vengono piantati i limoni. Ecco perché abbiamo bisogno di qualcos'altro per aiutare i lavoratori agricoli a completare più facilmente il loro lavoro
Braccio robotico 3D con motori passo-passo controllati tramite Bluetooth: 12 passaggi
Braccio robotico 3D con motori passo-passo controllati da Bluetooth: In questo tutorial vedremo come realizzare un braccio robotico 3D, con motori passo-passo 28byj-48, un servomotore e parti stampate in 3D. Circuito stampato, codice sorgente, schema elettrico, codice sorgente e molte informazioni sono inclusi nel mio sito web
Controllo del braccio robotico con TLV493D, joystick e Arduino: 3 passaggi
Controllo del braccio robotico con TLV493D, Joystick e Arduino: un controller alternativo per il tuo robot con un sensore TLV493D, un sensore magnetico con 3 gradi di libertà (x,y,z) con questi puoi controllare i tuoi nuovi progetti con la comunicazione I2C sul tuo microcontrollori e scheda elettronica che Bast P
BRACCIO ROBOTIZZATO Xbox 360 [ARDUINO]: BRACCIO ASSIOM: 4 passaggi
BRACCIO ROBOTIZZATO Xbox 360 [ARDUINO]: BRACCIO ASSIOM:
COME ASSEMBLARE UN IMPRESSIONANTE BRACCIO ROBOT IN LEGNO (PARTE 3: BRACCIO ROBOT) -- BASATO SUL MICRO: BITN: 8 passaggi
COME ASSEMBLARE UN IMPRESSIONANTE BRACCIO ROBOT IN LEGNO (PART3: BRACCIO ROBOT) -- BASATO SUL MICRO: BITN: Il prossimo processo di installazione si basa sul completamento della modalità di evitamento degli ostacoli. Il processo di installazione nella sezione precedente è lo stesso del processo di installazione nella modalità di tracciamento della linea. Allora diamo un'occhiata alla forma finale di A