Съдържание:

UStepper Robot Arm 4: 5 стъпки
UStepper Robot Arm 4: 5 стъпки

Видео: UStepper Robot Arm 4: 5 стъпки

Видео: UStepper Robot Arm 4: 5 стъпки
Видео: uStepper Robot Arm 4 Part 1 - Assembly 2024, Декември
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

Това е четвъртата итерация на моята роботизирана ръка, която разработих като приложение за нашата uStepper стъпкова контролна платка. Тъй като роботът има 3 стъпкови двигателя и серво за задействане (в основната си конфигурация), той не се ограничава до uStepper, но може да се използва с всяка платка на стъпков драйвер.

Дизайнът се основава на промишлен робот за палетизиране - и е сравнително прост. С това казах, че прекарах безброй часове в разработването на дизайна и оптимизирането му както за по -лесно сглобяване, така и за лесно отпечатване на частите.

Направих дизайна с лекота на печат и простота на сглобяване. Не че няма начин да се подобрят тези два параметъра, но мисля, че съм изминал дълъг път. Освен това бих искал да сваля индустриалната роботика до ниво, на което любителите могат да я следват, като покажат, че тя може да бъде сравнително проста - също и математиката да я контролира!

Не се колебайте да оставите коментар с конструктивна обратна връзка както за дизайна, но най -вече за това как го правя, за да го направя достъпен за всички (особено математиката).

Стъпка 1: Необходими части, 3D печат и монтаж

Необходими части, 3D печат и монтаж
Необходими части, 3D печат и монтаж
Необходими части, 3D печат и монтаж
Необходими части, 3D печат и монтаж
Необходими части, 3D печат и монтаж
Необходими части, 3D печат и монтаж
Необходими части, 3D печат и монтаж
Необходими части, 3D печат и монтаж

По принцип всичко, което трябва да знаете, е в ръководството за сглобяване. Има подробна спецификация с закупени и отпечатани части и подробна инструкция за сглобяване.

3D отпечатването се извършва на 3D принтер с разумно качество (FDM) с височина на слоя 0,2 мм и 30 % пълнеж. Можете да намерите най-новата итерация на части и инструкции тук:

Стъпка 2: Кинематика

Кинематика
Кинематика
Кинематика
Кинематика

За да накарате ръката да се движи по предвидим начин, трябва да направите математика: OI са търсили много места за сравнително просто описание на кинематиката, свързана с този тип роботи, но не намерих такъв, който според мен е бил ниво, на което повечето хора биха могли да го разберат. Направих своя собствена версия на кинематиката, базирана единствено на тригонометрия, а не на матричните трансформации, които могат да изглеждат доста страшни, ако никога преди не сте работили върху тези неща - те обаче са доста прости за този конкретен робот, тъй като е само 3 DOF.

И все пак мисля, че подходът ми в приложения документ е написан по сравнително лесен за разбиране начин. Но погледнете и вижте дали има смисъл за вас!

Стъпка 3: Кодиране на кинематиката

Кинематиката може да бъде трудна за разбиране дори с изчисленията, които дадох в първата. Така че тук е преди всичко реализация на Octave - Octave е безплатен инструмент с много от същите функции, открити в 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 ('Прилагане на кода') disp ('Входни ъгли:') rot = deg2rad (30); вдясно = deg2rad (142.5); ляво = deg2rad (50); rad2deg (гниене) rad2deg (вдясно) rad2deg (вляво) T1 = гниене;#база T2 = дясно;#рамо T3 = наляво;#коляно#FW кинематика, за да получите XYZ от ъгли: disp ('Изчислено X, Y, Z:') z = ZOFFSET + sin (вдясно)*LOWERARMLEN - cos (вляво - (pi/2 - вдясно))*UPPERARMLEN + AZOFFSET k1 = sin (вляво - (pi/2 - вдясно))*UPPERARMLEN + cos (вдясно)* LOWERARMLEN + XOFFSET + AXOFFSET; x = cos (гниене)*k1 y = sin (гниене)*k1 ## обратна кинематика за получаване на ъгли от XYZ: rot = atan2 (y, x); x = x - cos (гниене)*AXOFFSET; y = y - sin (гниене)*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); дясно = (atan2 (a, sqrt (1-a*a)) + atan2 (sqrt (1-b*b), b)); ляво = atan2 (sqrt (1-c*c), c); ## изчислени ъгли disp ('Изходни ъгли:') rot = rad2deg (гниене) надясно = rad2deg (вдясно) вляво = rad2deg (вляво)

С горния скрипт имате по същество готов код за изпълнение за кинематика напред и назад.

Препращаща кинематика, която използвате за изчисляване къде ще се окажете с даден набор от моторни ъгли. Обратната кинематика след това (направете обратното) ще изчисли какви ъгли на двигателя ви трябват, за да завършите в желаната позиция x, y, z. След това трябва да се въведат ограничения за движението на двигателя, като напр. въртящата се основа може да се движи само от 0 до 359 градуса. По този начин гарантирате, че няма да отидете на невъзможни позиции.

Стъпка 4: Управление на нещата

Image
Image

Не сме съвсем там с внедряването на библиотеката за кинематика, така че все още не мога да предоставя. Но мога да ви покажа видеоклип как работи. Той е доста стабилен и гладък поради използването на лагери и ремъчно задвижване, освен приемливото качество на задвижванията, което е тук uStepper S платките.

Стъпка 5: Допълнителни крайни ефекти

Допълнителни крайни ефекти
Допълнителни крайни ефекти
Допълнителни крайни ефекти
Допълнителни крайни ефекти

Проектирал съм 3 допълнителни крайни ефектора. Единият е просто хоризонтален грайфер, друг е подходящ за обикновена европейска кутия за бира или сода и накрая има система за вакуумно захващане, която ви позволява да се поставите на вакуумна чаша, помпа и вентил.

Всички ще бъдат или са достъпни тук (3D STL файлове и инструкции):

Препоръчано: