Innholdsfortegnelse:
- Trinn 1: Nødvendige deler, 3D -utskrift og montering
- Trinn 2: Kinematikk
- Trinn 3: Koding av kinematikken
- Trinn 4: Kjøre tingen
- Trinn 5: Ytterligere slutteffekter
Video: UStepper Robot Arm 4: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
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
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
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
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
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:
Rotary Encoder Controlled Robot Arm: 6 trinn
Rotary Encoder Controlled Robot Arm: Jeg besøkte howtomechatronics.com og så den bluetooth kontrollerte robotarmen der. Jeg liker ikke å bruke bluetooth, pluss at jeg så at vi kan kontrollere servo med roterende encoder, så jeg redesigner den slik at jeg kan kontrollere roboten bruk en roterende encoder og ta den opp
Pocket Sized Robot Arm MeArm V0.4: 20 trinn (med bilder)
Pocket Sized Robot Arm MeArm V0.4: MeArm er en Pocket Sized Robot Arm. Det er et prosjekt som startet i februar 2014, som har hatt en fantastisk rask reise til sin nåværende tilstand takket være det Open Development som et Open Hardware -prosjekt. Versjon 0.3 ble omtalt på Instructables tilbake
Hvordan kontrollere en 4dof High Power Robot Arm med Arduino og Ps2 fjernkontroll ?: 4 trinn
Hvordan kontrollere en 4dof High Power Robot Arm med Arduino og Ps2 fjernkontroll?: Dette settet bruker motor med høy effekt mg996, det trenger høy strøm, vi har testet mye strøminngang. Bare 5v 6a adapter vil fungere. Og arduino bord arbeid på 6dof robotarm også. ende: skriv kjøp SINONING En butikk for DIY leketøy
Chess Robot Raspberry Pi Lynxmotion AL5D Arm: 6 trinn
Chess Robot Raspberry Pi Lynxmotion AL5D Arm: Bygg denne sjakkroboten og se den slå alle! Det er ganske enkelt å bygge hvis du kan følge instruksjonene om hvordan du bygger armen, og hvis du har minst elementær kunnskap om dataprogrammering og Linux . Mennesket, som spiller hvitt, lager
Xbox 360 ROBOTIC ARM [ARDUINO]: AXIOM ARM: 4 trinn
Xbox 360 ROBOTIC ARM [ARDUINO]: AXIOM ARM: