Innholdsfortegnelse:

UStepper Robot Arm 4: 5 trinn
UStepper Robot Arm 4: 5 trinn

Video: UStepper Robot Arm 4: 5 trinn

Video: UStepper Robot Arm 4: 5 trinn
Video: uStepper Robot Arm 4 - Demo 2024, Juli
Anonim
UStepper robotarm 4
UStepper robotarm 4
UStepper robotarm 4
UStepper robotarm 4
UStepper robotarm 4
UStepper robotarm 4
UStepper robotarm 4
UStepper robotarm 4

Dette er den fjerde iterasjonen av min robotarm, som jeg har utviklet som en applikasjon for vårt uStepper stepper kontrollkort. Siden roboten har tre trinnmotorer og en servo for aktivering (i den grunnleggende konfigurasjonen) er den ikke begrenset til uStepper, men kan brukes med alle trinndriverkort.

Designet er basert på en industriell palleteringsrobot - og er relativt enkel. Når det er sagt, har jeg brukt utallige timer på å komme på designet og optimalisere det både for enkel montering, men også for å skrive ut delene.

Jeg gjorde designet med enkel utskrift og enkel montering i tankene. Ikke at det ikke er noen måte å forbedre de to parameterne, men jeg tror jeg har kommet langt. Videre vil jeg trekke industriell robotikk ned til et nivå der hobbyisten kan følge den ved å vise at den kan gjøres relativt enkel - også matematikken for å kontrollere den!

Legg igjen en kommentar med konstruktiv tilbakemelding på både designet, men mest av alt om hvordan jeg gjør det for å gjøre det tilgjengelig for alle (spesielt matematikken).

Trinn 1: Nødvendige deler, 3D -utskrift og montering

Nødvendige deler, 3D -utskrift og montering
Nødvendige deler, 3D -utskrift og montering
Nødvendige deler, 3D -utskrift og montering
Nødvendige deler, 3D -utskrift og montering
Nødvendige deler, 3D -utskrift og montering
Nødvendige deler, 3D -utskrift og montering
Nødvendige deler, 3D -utskrift og montering
Nødvendige deler, 3D -utskrift og montering

I utgangspunktet er alt du trenger å vite i monteringshåndboken. Det er en detaljert styklist med både kjøpte og trykte deler og en detaljert monteringsinstruksjon.

3D -utskrift utføres på en rimelig kvalitet 3D -skriver (FDM) med laghøyde på 0,2 mm og 30 % utfylling. Du finner den siste iterasjonen av deler og instruksjoner her:

Trinn 2: Kinematikk

Kinematikk
Kinematikk
Kinematikk
Kinematikk

For å få armen til å bevege seg på en forutsigbar måte må du gjøre matte: Jeg har sett mange steder etter en relativt enkel beskrivelse av kinematikken knyttet til denne typen roboter, men jeg har ikke funnet en som jeg tror var på et nivå der de fleste kunne forstå det. Jeg har gjort min egen versjon av kinematikken utelukkende basert på trigonometri og ikke matrisetransformene som kan virke ganske skremmende hvis du aldri har jobbet med det før - men de er ganske enkle for denne roboten siden det bare er 3 DOF.

Ikke desto mindre tror jeg at min tilnærming i vedlagte dokument er skrevet på en relativt lettfattelig måte. Men ta en titt og se om det er fornuftig for deg!

Trinn 3: Koding av kinematikken

Kinematikken kan være vanskelig å forstå selv med beregningene jeg ga i den første. Så her er først og fremst en Octave -implementering - Octave er et gratis verktøy med mange av de samme funksjonene som finnes i 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 ('Kodeimplementering') disp ('Inngangsvinkler:') rot = deg2rad (30); høyre = deg2rad (142,5); venstre = deg2rad (50); rad2deg (råte) rad2deg (høyre) rad2deg (venstre) T1 = råte; #base T2 = høyre;#skulder T3 = venstre; #elbue #FW kinematikk for å få XYZ fra vinkler: disp ('Beregnet X, Y, Z:') z = ZOFFSET + sin (høyre)*LOWERARMLEN - cos (venstre - (pi/2 - høyre))*UPPERARMLEN + AZOFFSET k1 = sin (venstre - (pi/2 - høyre))*UPPERARMLEN + cos (høyre)* LOWERARMLEN + XOFFSET + AXOFFSET; x = cos (råte)*k1 y = sin (råte)*k1 ## invers kinematikk for å få vinkler fra XYZ: rot = atan2 (y, x); x = x - cos (råte)*AXOFFSET; y = y - sin (råte)*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); høyre = (atan2 (a, sqrt (1-a*a)) + atan2 (sqrt (1-b*b), b)); venstre = atan2 (sqrt (1-c*c), c); ## utgangsberegnede vinkler disp ('Utgangsvinkler:') rot = rad2deg (rot) høyre = rad2deg (høyre) venstre = rad2deg (venstre)

Med skriptet ovenfor har du i utgangspunktet implementeringskoden for fremover og bakover kinematikk.

Forward Kinematics du bruker til å beregne hvor du vil ende opp med et gitt sett med motorvinkler. Invers kinematikk vil da (gjøre det inverse) beregne hvilke motorvinkler du trenger for å ende opp med en ønsket x, y, z posisjon. Begrensninger på motorisk bevegelse må da settes inn, som f.eks. rotasjonsbase kan bare gå fra 0 til 359 grader. På denne måten sikrer du at du ikke går til stillinger som ikke er gjennomførbare.

Trinn 4: Kjøre tingen

Image
Image

Vi er ikke helt der med kinematikkbibliotekets implementering, slik at jeg ikke kan gi det ennå. Men jeg kan vise deg en video av hvordan det går. Det er ganske stabilt og glatt på grunn av bruk av lagre og remdrift, i tillegg til rimelig kvalitet på drivenheter som er her uStepper S -kortene.

Trinn 5: Ytterligere slutteffekter

Ekstra endeffektorer
Ekstra endeffektorer
Ekstra endeffektorer
Ekstra endeffektorer

Jeg har designet ytterligere 3 effekteffekter. Den ene er ganske enkelt en horisontal griper, en annen passer til en vanlig europeisk øl- eller brusboks, og til slutt er det et vakuumgripesystem som lar deg passe på en vakuumkopp, pumpe og ventil.

Alt vil være eller er tilgjengelig her (3D STL-filer og instruksjoner):

Anbefalt: