Оглавление:

Робот-манипулятор UStepper 4: 5 шагов
Робот-манипулятор UStepper 4: 5 шагов

Видео: Робот-манипулятор UStepper 4: 5 шагов

Видео: Робот-манипулятор UStepper 4: 5 шагов
Видео: uStepper controlled motorised dolly test 2024, Июль
Anonim
Робот-манипулятор UStepper 4
Робот-манипулятор UStepper 4
Робот-манипулятор UStepper 4
Робот-манипулятор UStepper 4
Робот-манипулятор UStepper 4
Робот-манипулятор UStepper 4
Робот-манипулятор UStepper 4
Робот-манипулятор UStepper 4

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

Конструкция основана на промышленном роботе-палетоукладчике и относительно проста. С учетом сказанного, я потратил бесчисленные часы на разработку и оптимизацию дизайна как для простоты сборки, так и для простоты печати деталей.

Дизайн я делал с учетом простоты печати и сборки. Не то чтобы нет никакого способа улучшить эти два параметра, но я думаю, что я прошел долгий путь. Кроме того, я хотел бы довести промышленную робототехнику до уровня, на котором любители могут следить за ней, показывая, что ее можно сделать относительно простой - а также математику для управления ею!

Не стесняйтесь оставлять комментарии с конструктивными отзывами о дизайне, но больше всего о том, как я делаю его доступным для всех (особенно по математике).

Шаг 1. Необходимые детали, 3D-печать и сборка

Необходимые детали, 3D-печать и сборка
Необходимые детали, 3D-печать и сборка
Необходимые детали, 3D-печать и сборка
Необходимые детали, 3D-печать и сборка
Необходимые детали, 3D-печать и сборка
Необходимые детали, 3D-печать и сборка
Необходимые детали, 3D-печать и сборка
Необходимые детали, 3D-печать и сборка

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

3D-печать выполняется на 3D-принтере приемлемого качества (FDM) с толщиной слоя 0,2 мм и заполнением 30%. Вы можете найти последнюю версию деталей и инструкции здесь:

Шаг 2: кинематика

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

Чтобы заставить руку двигаться предсказуемым образом, вам нужно выполнить математику: O Я просмотрел много мест для относительно простого описания кинематики, связанной с этим типом роботов, но я не нашел ни одного, который, как мне кажется, был на уровень, на котором большинство людей могло это понять. Я сделал свою собственную версию кинематики, основанную исключительно на тригонометрии, а не на матричных преобразованиях, которые могут показаться довольно пугающими, если вы никогда раньше не работали с этим материалом - однако они довольно просты для этого конкретного робота, так как это всего 3 степени свободы.

Тем не менее я думаю, что мой подход в прилагаемом документе изложен относительно легко для понимания. Но посмотрите, имеет ли это смысл для вас!

Шаг 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); right = deg2rad (142,5); left = deg2rad (50); rad2deg (rot) rad2deg (справа) rad2deg (слева) T1 = rot; #base T2 = right; #shoulder T3 = left; #elbow #FW кинематика для получения XYZ с углов: disp ('Calculated X, Y, Z:') z = ZOFFSET + sin (справа) * LOWERARMLEN - cos (слева - (pi / 2 - справа)) * UPPERARMLEN + AZOFFSET k1 = sin (слева - (pi / 2 - справа)) * UPPERARMLEN + cos (справа) * LOWERARMLEN + XOFFSET + AXOFFSET; x = cos (rot) * k1 y = sin (rot) * k1 ## обратная кинематика для получения углов из XYZ: rot = atan2 (y, x); x = x - cos (вращение) * AXOFFSET; у = у - грех (гниль) * AXOFFSET; z = z - AZOFFSET-ZOFFSET; L1 = sqrt (x * x + y * y) - XOFFSET; L2 = sqrt ((L1) * (L1) + (z) * (z)); а = (z) / L2; b = (L2 * L2 + LOWERARMLEN * LOWERARMLEN - UPPERARMLEN * UPPERARMLEN) / (2 * L2 * LOWERARMLEN); c = (LOWERARMLEN * LOWERARMLEN + UPPERARMLEN * UPPERARMLEN - L2 * L2) / (2 * LOWERARMLEN * UPPERARMLEN); right = (atan2 (a, sqrt (1-a * a)) + atan2 (sqrt (1-b * b), b)); слева = atan2 (sqrt (1-c * c), c); ## вывести вычисленные углы disp ('Output angles:') rot = rad2deg (rot) right = rad2deg (right) left = rad2deg (left)

С помощью приведенного выше сценария у вас в основном есть готовый к реализации код для прямой и обратной кинематики.

Прямая кинематика, которую вы используете для расчета, где вы в конечном итоге окажетесь с заданным набором углов двигателя. Затем обратная кинематика (сделает обратное) вычислит, какие углы двигателя вам нужны, чтобы получить желаемое положение x, y, z. Затем необходимо ввести ограничения на движение мотора, например, база вращения может идти только от 0 до 359 градусов. Таким образом вы гарантируете, что не пойдете на невыполнимые позиции.

Шаг 4: Запуск Thing

Image
Image

Мы еще не совсем подошли к реализации библиотеки кинематики, поэтому я пока не могу ее предоставить. Но я могу показать вам видео, как это работает. Он довольно стабилен и плавен благодаря использованию подшипников и ременной передачи, помимо приемлемого качества приводов, которое есть у плат uStepper S.

Шаг 5: Дополнительные конечные эффекты

Дополнительные конечные эффекты
Дополнительные конечные эффекты
Дополнительные конечные эффекты
Дополнительные конечные эффекты

Я разработал 3 дополнительных концевых эффектора. Один - это просто горизонтальный захват, другой подходит для обычной европейской банки для пива или газировки, и, наконец, есть система вакуумного захвата, которая позволяет вам поместиться на вакуумную чашку, насос и клапан.

Все будет или доступно здесь (файлы 3D STL и инструкции):

Рекомендуемые: