Sisällysluettelo:

UStepper Robot Arm 4: 5 askelta
UStepper Robot Arm 4: 5 askelta

Video: UStepper Robot Arm 4: 5 askelta

Video: UStepper Robot Arm 4: 5 askelta
Video: uStepper Robot Arm 4 - Demo 2024, Marraskuu
Anonim
UStepper Robot Arm 4
UStepper Robot Arm 4
UStepper Robot Arm 4
UStepper Robot Arm 4
UStepper Robot Arm 4
UStepper Robot Arm 4
UStepper Robot Arm 4
UStepper Robot Arm 4

Tämä on neljäs iterointi robottivartestani, jonka olen kehittänyt sovellukseksi uStepper -askelmoottorikortillemme. Koska robotissa on 3 askelmoottoria ja servo käyttöön (perusrakenteessa), se ei rajoitu uStepperiin, vaan sitä voidaan käyttää minkä tahansa askelmoottorin kanssa.

Suunnittelu perustuu teolliseen lavausrobottiin - ja on suhteellisen yksinkertainen. Näin ollen olen käyttänyt lukemattomia tunteja suunnittelun ja optimoinnin kanssa sekä asennuksen helpottamiseksi että myös osien tulostamisen helpottamiseksi.

Suunnittelun tein tulostamisen ja kokoonpanon yksinkertaisuuden vuoksi. Ei sillä, että näiden kahden parametrin suhteen ei ole mitään keinoa parantaa, mutta mielestäni olen edennyt pitkälle. Lisäksi haluaisin vetää teollisen robotiikan tasolle, jolla harrastaja voi seurata sitä osoittamalla, että se voidaan tehdä suhteellisen yksinkertaiseksi - myös matematiikka sen hallitsemiseksi!

Voit vapaasti jättää kommentin rakentavalla palautteella sekä suunnittelusta että ennen kaikkea siitä, miten teen sen kaikkien (etenkin matematiikan) saataville saattamisen.

Vaihe 1: Tarvittavat osat, 3D -tulostus ja kokoonpano

Tarvittavat osat, 3D -tulostus ja kokoonpano
Tarvittavat osat, 3D -tulostus ja kokoonpano
Tarvittavat osat, 3D -tulostus ja kokoonpano
Tarvittavat osat, 3D -tulostus ja kokoonpano
Tarvittavat osat, 3D -tulostus ja kokoonpano
Tarvittavat osat, 3D -tulostus ja kokoonpano
Tarvittavat osat, 3D -tulostus ja kokoonpano
Tarvittavat osat, 3D -tulostus ja kokoonpano

Periaatteessa kaikki mitä sinun tarvitsee tietää on asennusohjeessa. Siellä on yksityiskohtainen tuoteseloste sekä ostetuilla että painetuilla osilla ja yksityiskohtaiset asennusohjeet.

3D -tulostus suoritetaan kohtuullisen laadukkaalla 3D -tulostimella (FDM), jonka kerroksen korkeus on 0,2 mm ja täyttöaste 30 %. Löydät uusimman osien ja ohjeiden iteraation täältä:

Vaihe 2: Kinematiikka

Kinematiikka
Kinematiikka
Kinematiikka
Kinematiikka

Jotta käsivarsi liikkuisi ennakoitavalla tavalla, sinun on tehtävä matematiikka: Oon etsinyt monista paikoista suhteellisen yksinkertaisen kuvauksen tämän tyyppiseen robottiin liittyvästä kinematiikasta, mutta en ole löytänyt sellaista, joka olisi mielestäni käytössä taso, jonka useimmat ihmiset voisivat ymmärtää. Olen tehnyt oman versioni kinematiikasta, joka perustuu yksinomaan trigonometriaan, eikä matriisimuunnoksiin, jotka voivat tuntua melko pelottavilta, jos et ole koskaan työskennellyt kyseisten asioiden parissa - ne ovat kuitenkin melko yksinkertaisia tälle robotille, koska se on vain 3 DOF.

Mielestäni lähestymistapani liitteenä olevassa asiakirjassa on kuitenkin kirjoitettu suhteellisen helposti ymmärrettävällä tavalla. Mutta katso ja katso, onko se järkevää sinulle!

Vaihe 3: Kinematiikan koodaus

Kinematiikkaa voi olla vaikea ymmärtää edes edellisessä laskelmassa. Tässä on siis ensinnäkin Octave -toteutus - Octave on ilmainen työkalu, jolla on monia samoja ominaisuuksia kuin Matlabissa.

L1o = 40; Zo = -70; L_2 = 73,0; Au = 188,0; Al = 182,0; Lo = 47,0; YLÄMERKKI = Au; LOWERARMLEN = Al; XOFFSET = Lo; ZOFFSET = L_2; AZOFFSET = Zo; AXOFFSET = L1o; disp ('Koodin toteutus') disp ('Tulokulmat:') rot = deg2rad (30); oikea = deg2rad (142,5); vasen = deg2rad (50); rad2deg (rot) rad2deg (oikea) rad2deg (vasen) T1 = mätä;#pohja T2 = oikea;#olkapää T3 = vasen;#akselin#FW kinematiikka saada XYZ kulmista: disp ('Laskettu X, Y, Z:') z = ZOFFSET + sin (oikea)*LOWERARMLEN - cos (vasen - (pi/2 - oikea))*UPPERARMLEN + AZOFFSET k1 = syn (vasen - (pi/2 - oikea))*UPPERARMLEN + cos (oikea)* LOWERARMLEN + XOFFSET + AXOFFSET; x = cos (rot)*k1 y = sin (rot)*k1 ## käänteinen kinematiikka kulmien saamiseksi XYZ: rot = atan2 (y, x); x = x - cos (rot)*AXOFFSET; y = y - sin (mätä)*AXOFFSET; z = z - AZOFFSET -ZOFFSET; L1 = neliömetriä (x*x + y*y) - XOFFSET; L2 = neliömetriä ((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); oikea = (atan2 (a, sqrt (1-a*a)) + atan2 (sqrt (1-b*b), b)); vasen = atan2 (neliömetriä (1-c*c), c); ## lähtö lasketut kulmat disp ('Lähtökulmat:') rot = rad2deg (rot) oikea = rad2deg (oikea) vasen = rad2deg (vasen)

Yllä olevalla komentosarjalla sinulla on periaatteessa toteutusvalmis koodi eteenpäin ja taaksepäin tapahtuvalle kinematiikalle.

Eteenpäin -kinematiikka, jota käytät laskettaessa mihin päädyt määrätyllä moottorikulmalla. Käänteinen kinematiikka laskee sitten (toisinpäin), mitkä moottorin kulmat sinun täytyy päästä haluttuun x, y, z -asentoon. Tällöin on lisättävä moottorin liikkumisen rajoituksia, kuten esim. kiertoalusta voi olla vain 0-359 astetta. Näin varmistat, ettet mene tehtäviin, jotka eivät ole mahdollisia.

Vaihe 4: Suorita asia

Image
Image

Emme ole vielä valmiita kinemaattisen kirjaston toteuttamiseen, joten en voi vielä tarjota. Mutta voin näyttää videon kuinka se toimii. Se on varsin vakaa ja sileä laakereiden ja hihnakäytön käytön ansiosta. Lisäksi käyttölaitteiden kohtuullinen laatu on uStepper S -levyt.

Vaihe 5: Muut päätehosteet

Muut päätehosteet
Muut päätehosteet
Muut päätehosteet
Muut päätehosteet

Olen suunnitellut 3 lisäpäätehostajaa. Yksi on yksinkertaisesti vaakasuora tarttuja, toinen sopii tavalliseen eurooppalaiseen olut- tai soodatölkkiin, ja lopuksi on olemassa tyhjiöpuristinjärjestelmä, jonka avulla voit asentaa tyhjiökupin, pumpun ja venttiilin.

Kaikki ovat tai ovat saatavilla täällä (3D STL-tiedostot ja ohjeet):

Suositeltava: