Дельта робот своими руками

Дельта-робот. Часть 1. Корпус. Заклепки

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Здравствуй, уважаемый читатель.

Сперва благодарю Alex Korvin за столь замечательный проект, обязательно поддержу автора материально.

Где-то с полгода назад попалось в YouTube мне одно интересное видео 3D принтер на 3D принтере: Уникальный Дельта -Робот за $300. Посмотрев ролик, я вдохновился и принялся ждать финальной версии проекта для претворения в жизнь. С месяц назад, после очередного ролика на том же канале, принято решение — собирать принтер. На странице проекта найден список комплектующих и заказан. А пока не все запчасти пришли, надо подготовиться и собрать каркас будущего принтера и напечатать детали.

В проекте автор собирал каркас из отфрезерованного ЛДСП. Это быстро и просто, если есть где заказать по месту жительства. Что ж, пришлось отказаться от него: во-первых, негде отфрезеровать; во-вторых, не хочу деревянный каркас.

Так же отказался от сборки из экструдированного алюминиевого профиля: стоимость доставки в половину стоимости заказа, а еще всякие уголки для крепления, гайки для профиля — все это весьма дорого на фоне самого профиля.

В итоге выбор пал на алюминиевый профиль, а для крепления между собой — заклёпки.

Ну и как же без плана. В solidworks был спроектирован каркас:

При проектировании был твёрдо уверен, что буду использовать экструдированый профиль. Но теперь мне нужны лишь размеры деталей.

Вот и был закуплен прямоугольный профиль 20х40 две трубы по два метра и уголок с шириной 50, куча заклепок, заклепочник, струбцины, напильник и что-то еще. Нарезал из труб детальки:

Самые короткие по 200, средние по 311.8, длинные 650 вместо 600 планируемых (для крепления нижнего треугольника уголками и сверху и снизу).

Пора клепать, и собираю первую ногу:

Заклёпки расположены в определенно-хаотичном порядке. Можно было конечно все разместить, накернить и сделать красиво, но зачем? Выступающие края уголков обрабатываю напильником. Получилось превосходно, жёсткость на высоте. Повторяем еще два раза:

Вот и каркас уже проявляется. Приклепываем крепление для нижних балок пока все легкодоступно:

А теперь надо соединить ноги между собой.

Две ноги соединяю пластинкой сверху и отгибаю; попутно креплю нижнию балку:

Подобным образом креплю третью ногу:

Ну и что же получилось в итоге:

Данная конструкция уже весьма крепкая, я могу на ней спокойно сидеть с моими 70 кг, но если её пытаться раскачивать, то чувствуется недостаточная жёсткость в нижнем треугольнике. Да и выглядит этот треугольник не презентабельно. Еще тремя уголками я увеличиваю жёсткость, а напильником убираю все торчащие края уголков:

Рама закончена, жёсткости предостаточно, а я прибывал в эйфории. Как же я был горд собой. Алюминий и заклёпки. Как же я раньше без вас жил. Это же сколько всего можно сделать из них. Эмоции меня переполняли, идеи переполняли. Мда вот она маленькая радость в жизни большого ребёнка.

Печально, что не все запчасти еще пришли с Китая, и не все детали отпечатались. Но кое-что еще можно прикрутить к каркасу, например стол и блок питания. Блок питания взял 24 вольтовый, а вот стол китайцы прислали с распаянными проводами на 12в. Из паяльников у меня лишь станция KSGER, минут 10 я грел этот припой пока он начал плавиться, как же сложно паять эти алюминиевые столы. Но ничего справился, приклеил каптоновым скотчем терморезистор и вуаля:

Читайте также:  Диодные стопы для ваз своими руками

Ну и чего долго ждать, сразу же устанавливаем его на принтер:

Как же много алюминия. Надо бы разбавить всю эту красоту тремя кусочками резины:

Ну и конечно же блок питания:

Как вариант, думал установить БП под столом, но тогда с ним было бы труднее взаимодействовать. Пусть все будет в легкой доступности, чем где-то скрыто. Мне же для себя.

Здесь заканчивается только этот пост, но не вся история.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Источник

Кинематика дельта-робота

В далёком 2009 году я загорелся идеей постройки собственного промышленного робота, который мог бы делать что-то полезное (а именно — сортировать мелкие детали на конвейере). Сразу скажу, что робота я построил (результат вы видите на заглавном фото), а заодно, в качестве побочного продукта, написал небольшую статью о кинематике дельта-роботов на форуме TrossenRobotics — американского продавца наборов из деталей для роботов. Они как раз проводили в то время какой-то конкурс для авторов. Конкурс я, разумеется, не выиграл, но статья на английском осталась. Несколько раз я порывался перевести её на родной язык, однако завершить начатое удалось только сейчас.

Если вы хотите построить свою модель дельта-робота, или просто разобраться, как можно вывести кинематические формулы для этого типа роботов (не выходя при этом за рамки школьной программы по алгебре и геометрии) — добро пожаловать под кат. Для тех, кто не очень любит теорию, в конце статьи приведены примеры готового кода на языке C.

Что такое дельта-робот

Дельта-робота (wiki) придумал в начале 1980-х швейцарский учёный Реймонд Клавель, ниже приведена иллюстрация из оригинального патента US4976582 на «Устройство для перемещения и позиционирования элемента в пространстве»:

Робот состоит из двух платформ: неподвижно закреплённого верхнего основания (1) и небольшой подвижной платформы (8), соединённых тремя рычагами. Каждый рычаг состоит из двух частей: верхнее плечо (4) жёстко соединено с двигателем (3), расположенным на верхнем основании, а нижнее представляет собой параллелограмм (5), в углах которого установлены т.н. универсальные шарниры (6, 7) (wiki), которые позволяют углам изменяться. Каждый параллелограмм соединён с верхним рычагом шарниром (16) таким образом, чтобы его верхняя сторона всегда оставалась перпендикулярной своему рычагу и параллельной плоскости верхнего основания. Благодаря этому подвижная платформа робота, прикреплённая к нижним сторонам параллелограммов также будет всегда параллельной верхнему основанию. Управлять положением платформы мы сможем, изменяя угол поворота верхних рычагов относительно основания робота при помощи двигателей.

В центре нижней платформы (8) крепится т.н. рабочий орган (в английском языке употребляют термин end effector) робота (9). Это может быть манипулятор, захватывающее устройство или, например, экструдер в случае 3D принтера. Дополнительно может использоваться ещё один двигатель (11), который обеспечивает вращение рабочего органа через штангу (14).

Главным преимуществом дельта-роботов является скорость: тяжёлые двигатели размещены на неподвижном основании, движутся только рычаги и нижняя платформа, которые стараются изготавливать из лёгких композитных материалов, уменьшая тем самым их инерцию. Вот, к примеру, статья на Geektimes с парой очень эффектных видеороликов.

Читайте также:  Как сделать печь своими руками отработанных масел

Формулировка задачи

Чтобы построить своего собственного дельта-робота, необходимо научиться решать две задачи. В первой ситуации нам известна позиция, в которую мы хотим переместить манипулятор нашего робота (например, мы хотим схватить печенье, которое находится на конвейере в точке с координатами (x, y, z). Для этого нам требуется определить величины углов, на которые мы должны повернуть двигатели, связанные с рычагами робота, чтобы установить его в правильное положение для захвата. Процедура определения этих углов называется обратной (в некоторых русскоязычных источниках употребляется слово «инверсной») кинематической задачей.
Во второй ситуации нам известны углы, на которые повёрнуты управляющие моторы робота (если мы используем сервомоторы, то углы легко можно узнать, считав показания с датчиков углов поворота), и мы хотим найти положение платформы робота в пространстве (например, чтобы скорректировать его позицию). Это — прямая кинематическая задача.

Формализуем обе задачи. И неподвижное основание робота, и его движущуюся платформу можно представить в виде равносторонних треугольников: на схеме ниже они закрашены зелёным и розовым цветами соответственно. Углы поворота рычагов робота относительно плоскости основания (они же — углы поворота моторов) обозначены как Ѳ1, Ѳ2 и Ѳ3, а координаты точки Е0, расположенной в центре подвижной платформы и в которой в реальной жизни будет закреплён манипулятор нашего робота — как (x0, y0, z0).

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

Обратная кинематика

Зададим несколько ключевых параметров, которые определяются геометрическими размерами нашего робота:

Обозначим длину стороны верхнего основания f, сторону нижней платформы e, длину верхнего плеча рычага rf и длину нижнего плеча (длинной стороны параллелограмма) re. Для вычислений выберем систему координат с точкой отсчёта, совпадающей с геометрическим центром верхнего треугольника. Ось Z направим вверх, таким образом, z-координата подвижной платформы всегда будет отрицательной.

Конструкция робота подразумевает, что рычаг F1J1 (см. рисунок ниже) может вращаться лишь в плоскости YZ, описывая при этом окружность радиусом rf с центром в точке F1 (именно в этом месте он прикреплён к двигателю). В отличие от F1, в узлах J1 и E1 используются универсальные шарниры, благодаря которым плечо E1J1 может свободно вращаться относительно E1, описывая сферу радиусом re с центром в точке E1.

Пересечением этой сферы и плоскости YZ является окружность с центром в точке E’1 радиусом E’1J1, где точка E’1 находится как проекция точки E1 на плоскость YZ. Тогда точка J1 будет находиться на пересечении двух окружностей с центрами в точках E’1 и F1, причём радиусы этих окружностей мы можем определить. Тут есть небольшая тонкость: окружности пересекаются в двух точках, но нас интересует только одна из них — с меньшим значением координаты y, поскольку мы хотим, чтобы рычаги робота всегда торчали «локтями» наружу. Определив таким образом координаты точки J1, мы легко сможем найти угол интересующий нас угол Ѳ1.

Для удобства восприятия ниже показана проекция нашей трёхмерной картинки на плоскость YZ:

Нижняя платформа является равносторонним треугольником, центром которого является точка E0(x0, y0, z0). Значит, расстояние

что даёт нам следующие координаты точки E1 и её проекции E’1 на плоскость YZ:

Расстояние E1E’1=x0, тогда, согласно теореме Пифагора,

Поскольку верхняя платформа также является равносторонним треугольником, то координаты у точки F1 будут

Чтобы найти координаты точки J1, являющейся пересечением двух окружностей, надо решить систему уравнений:

Координаты центров окружностей нам известны, если их подставить, получится следующее выражение:

Если раскрыть скобки и вычесть одно уравнение из другого, можно линейным образом выразить z-координату точки J1 через y-координату, после чего, подставив её во второе уравнение, получим обычное квадратное уравнение относительно y, из двух решений которого выберем наименьшее (об этом мы говорили выше). А получив таким образом координаты точки J1, найдём и угол

Читайте также:  Ваз ремонт своими руками гура рулевая рейка

Все выражения получились достаточно простыми благодаря удачному выбору системы координат: плечо рычага F1J1 всегда движется в плоскости YZ, поэтому мы можем просто не учитывать координату x. Чтобы сохранить это преимущество при нахождении двух оставшихся углов Ѳ2 и Ѳ3, воспользуемся симметрией конструкции дельта-робота. Сначала повернём нашу систему координат на 120° против часовой стрелки в плоскости XY вокруг оси Z:

Мы получили новую систему координат X’Y’Z’, и в этой новой системе мы можем воспользоваться нашими готовыми формулами для нахождения угла Ѳ2. Единственная тонкость заключается в том, что мы должны предварительно пересчитать координаты точки E0 в новой системе отсчёта. Это легко сделать при помощи известной формулы (преобразования при повороте системы вокруг начала координат), показанной на рисунке выше. Для нахождения угла Ѳ3 необходимо будет также повернуть исходную систему отсчёта, но теперь уже по часовой стрелке. Этот приём очень удобно реализуется в виде программы: достаточно написать функцию для вычисления угла Ѳ в плоскости YZ, а затем вызвать её три раза для каждого из углов и систем отсчёта.

Прямая кинематика

Попробуем решить обратную задачу: теперь нам известны углы Ѳ1, Ѳ2 и Ѳ3, и мы хотим найти координаты (x0, y0, z0) точки E0, расположенной в центре подвижной платформы нашего робота. Зная углы, мы легко можем найти координаты точек J1, J2 и J3 (см. рисунок ниже). Плечи рычагов J1E1, J2E2 и J3E3 могут свободно вращаться вокруг точек J1, J2 и J3 соответственно, образуя в пространстве три сферы с радиусами re.

Воспользуемся хитрым приёмом: сместим центры каждой из этих сфер из точек J1, J2, J3 в плоскости XY в направлении оси Z, используя вектора смещения E1E0, E2E0 и E3E0 соответственно (на рисунке они показаны в виде красных стрелочек). После этого преобразования окажется, что все три сферы пересекаются в точке E0, как показано на рисунке ниже:

Получается, что для определения координат (x0, y0, z0) точки E0 мы должны найти точку пересечения трёх сфер, радиусы и координаты центров которых нам известны. Иными словами, нам надо решить систему из трёх уравнений, описывающих трёхмерные сферы:

Ниже для сокращения записи я буду использовать в качестве координат точек J’1, J’2 и J’3 обозначения (x1, y1, z1), (x2, y2, z2) и (x3, y3, z3) соответственно. Также хочу обратить внимание, что x1=0 (поскольку точка J’1 находится в плоскости YZ). Получаем следующую систему уравнений:

и, вычтя из верхнего уравнения второе и третье, а также из второго третье, получим:

Вычитая из первого уравнения второе (сократив, таким образом, y) и из второго третье (сократив x), сможем выразить x и y через z:

Теперь, подставив x и y, выраженные через z, в уравнение для первой окружности (с центром в точке J’1), получим:

Осталось решить это квадратное уравнение (стандартным образом, через дискриминант), чтобы найти z (мы помним, что надо выбирать наименьший из двух z!), а через него x и y.

Примеры исходного кода

Ниже приведены примеры функций для расчёта кинематики дельта-робота на языке С. Названия переменных соответствуют обозначениям, используемым в статье, углы theta1 , theta2 и theta3 указываются в градусах.

Используемая литература

Все ключевые идеи о кинематике дельта-робота я взял из работы проф. Paul Zsombor-Murray «Descriptive Geometric Kinematic Analysis of Clavel’s «Delta» Robot». Честно признаюсь, что моей математической подготовки не хватило, чтобы понять её до конца, поэтому многое пришлось выводить самому.

Источник

Оцените статью