Turinys:

USpepper Robot Arm 4: 5 žingsniai
USpepper Robot Arm 4: 5 žingsniai

Video: USpepper Robot Arm 4: 5 žingsniai

Video: USpepper Robot Arm 4: 5 žingsniai
Video: НЕ ВЗДУМАЙ снимать аккумулятор с машины. Делай это ПРАВИЛЬНО ! 2024, Liepa
Anonim
„USpepper“roboto ranka 4
„USpepper“roboto ranka 4
„UStepper“roboto ranka 4
„UStepper“roboto ranka 4
„USpepper“roboto ranka 4
„USpepper“roboto ranka 4
„USpepper“roboto ranka 4
„USpepper“roboto ranka 4

Tai yra ketvirtoji mano robotų rankos iteracija, kurią sukūriau kaip programą mūsų „uStepper Stepper“valdymo plokštei. Kadangi robotas turi 3 žingsninius variklius ir valdiklį (pagrindinėje konfigūracijoje), jis neapsiriboja „uStepper“, bet gali būti naudojamas su bet kokia žingsninio valdymo lenta.

Dizainas yra pagrįstas pramoniniu padėklų robotu - ir yra gana paprastas. Tai pasakius, aš praleidau daugybę valandų kurdamas dizainą ir optimizuodamas jį, kad būtų lengviau surinkti, bet ir būtų lengviau spausdinti dalis.

Kurdamas dizainą atsižvelgiau į paprastą spausdinimą ir surinkimo paprastumą. Ne tai, kad nėra jokio būdo pagerinti šiuos du parametrus, bet manau, kad nuėjau ilgą kelią. Be to, norėčiau pramoninę robotiką nuleisti iki tokio lygio, kad mėgėjas galėtų ja sekti, parodydamas, kad ją galima padaryti palyginti paprastai - taip pat ir matematiką jai valdyti!

Nedvejodami palikite komentarą su konstruktyviu atsiliepimu apie dizainą, bet labiausiai apie tai, kaip aš darau, kad jis būtų prieinamas visiems (ypač matematikai).

1 žingsnis: reikalingos dalys, 3D spausdinimas ir surinkimas

Reikalingos dalys, 3D spausdinimas ir surinkimas
Reikalingos dalys, 3D spausdinimas ir surinkimas
Reikalingos dalys, 3D spausdinimas ir surinkimas
Reikalingos dalys, 3D spausdinimas ir surinkimas
Reikalingos dalys, 3D spausdinimas ir surinkimas
Reikalingos dalys, 3D spausdinimas ir surinkimas
Reikalingos dalys, 3D spausdinimas ir surinkimas
Reikalingos dalys, 3D spausdinimas ir surinkimas

Iš esmės viskas, ką reikia žinoti, yra surinkimo vadove. Yra išsamus BOM su įsigytomis ir atspausdintomis dalimis ir išsami surinkimo instrukcija.

3D spausdinimas atliekamas tinkamos kokybės 3D spausdintuvu (FDM), kurio sluoksnio aukštis yra 0,2 mm, o užpildas - 30 %. Naujausią dalių ir instrukcijų iteraciją rasite čia:

2 žingsnis: kinematika

Kinematika
Kinematika
Kinematika
Kinematika

Norėdami, kad ranka judėtų numatytu būdu, turite atlikti matematiką: O aš apžiūrėjau daugybę vietų, kad galėčiau palyginti paprastai apibūdinti kinematiką, susijusią su šio tipo robotu, bet neradau nė vienos, kuri, mano manymu, buvo įjungta lygis, kurį dauguma žmonių galėjo suprasti. Aš padariau savo kinematikos versiją, pagrįstą tik trigonometrija, o ne matricos transformacijomis, kurios gali atrodyti gana bauginančios, jei niekada anksčiau su tuo nedirbote - tačiau tai yra gana paprasta šiam robotui, nes jis yra tik 3 DOF.

Vis dėlto manau, kad mano požiūris pridedamame dokumente yra parašytas gana lengvai suprantamu būdu. Bet pažiūrėkite ir pažiūrėkite, ar tai jums prasminga!

3 žingsnis: Kinematikos kodavimas

Kinematiką gali būti sunku suvokti net ir skaičiavimuose, kuriuos pateikiau pirmame. Taigi čia pirmiausia yra „Octave“diegimas - „Octave“yra nemokamas įrankis, turintis daugybę tų pačių „Matlab“funkcijų.

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 ('Kodo įgyvendinimas') disp ('Įvesties kampai:') rot = deg2rad (30); dešinė = deg2rad (142,5); kairė = deg2rad (50); rad2deg (puvinys) rad2deg (dešinė) rad2deg (kairė) T1 = puvimas;#bazė T2 = dešinė;#pečiai T3 = kairė; #lenkimas #FW kinematika, kad XYZ gautų iš kampų: disp ('Apskaičiuotas X, Y, Z:') z = ZOFFSET + sin (dešinė)*LOWERARMLEN - cos (kairė - (pi/2 - dešinė))*UPPERARMLEN + AZOFFSET k1 = nuodėmė (kairė - (pi/2 - dešinė))*UPPERARMLEN + cos (dešinė)* LOWERARMLEN + XOFFSET + AXOFFSET; x = cos (puvinys)*k1 y = sin (puvinys)*k1 ## atvirkštinė kinematika, norint gauti kampus iš XYZ: puvinys = atan2 (y, x); x = x - cos (puvinys)*AXOFFSET; y = y - sin (puvinys)*AXOFFSET; z = z - AZOFFSET -ZOFFSET; L1 = kv. (X*x + y*y) - XOFFSET; L2 = kv. ((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); dešinė = (atan2 (a, sqrt (1-a*a)) + atan2 (sqrt (1-b*b), b)); kairė = atan2 (kv. (1-c*c), c); ## išvesties apskaičiuoti kampai disp ('Išvesties kampai:') rot = rad2deg (puvimas) dešinė = rad2deg (dešinė) kairė = rad2deg (kairė)

Naudodami aukščiau pateiktą scenarijų, iš esmės turite parengtą įgyvendinimo kodą pirmyn ir atgal kinematikai.

Persiuntimo kinematika, kurią naudojate apskaičiuodami, kur pasieksite nurodytą variklio kampų rinkinį. Atvirkštinė kinematika tada (atliks atvirkštinę) apskaičiuos, kokius variklio kampus reikia pasiekti norimoje x, y, z padėtyje. Tada reikia įvesti variklio judėjimo apribojimus, pvz. sukimosi bazė gali pakilti tik nuo 0 iki 359 laipsnių. Tokiu būdu užtikrinsite, kad nenueisite į pozicijas, kurių neįmanoma įgyvendinti.

4 žingsnis: paleiskite dalyką

Image
Image

Mes dar nesame su kinematikos bibliotekos diegimu, todėl kol kas negaliu pateikti. Bet galiu parodyti jums vaizdo įrašą, kaip tai veikia. Jis yra gana stabilus ir sklandus, nes naudojami guoliai ir diržo pavara, be tinkamos pavaros kokybės, kuri yra čia, „uStepper S“plokštės.

5 žingsnis: papildomi galiniai efektoriai

Papildomi galiniai efektoriai
Papildomi galiniai efektoriai
Papildomi galiniai efektoriai
Papildomi galiniai efektoriai

Sukūriau 3 papildomus galinius efektorius. Vienas yra tiesiog horizontalus griebtuvas, kitas tinka įprastam europietiškam alaus ar sodos skardinei, o galiausiai yra vakuuminė griebtuvų sistema, leidžianti pritvirtinti vakuuminį puodelį, siurblį ir vožtuvą.

Viskas bus arba bus pasiekiama čia (3D STL failai ir instrukcijos):

Rekomenduojamas: