Рука манипулятор своими руками чертежи. Недорогая роборука, программируемая на Ардуино: роботизированный манипулятор своими руками
Робот-манипулятор MeArm — карманная версия промышленного манипулятора. MeArm - простой в сборке и управлении робот, механическая рука. Манипулятор имеет четыре степени свободы, что позволяет легко захватывать и перемещать различные небольшие предметы.
Данный товар представлен в виде набора для сборки. Включает в себя следующие части:
- набор деталей из прозрачного акрила для сборки механического манипулятора;
- 4 сервопривода;
- плата управления, на которой расположен микроконтроллер Arduino Pro micro и графический дисплей Nokia 5110;
- плата джойстиков, содержащая два двухкоординатных аналоговых джойстика;
- USB кабель питания.
Перед сборкой механического манипулятора необходимо произвести калибровку сервоприводов. Для калибровки будем использовать контроллер Arduino. Подсоединяем сервоприводы к плате Arduino (необходим внешний источник питания 5-6В 2А).
Servo middle, left, right, claw ; // создание 4 объектов Servo
Void setup()
{
Serial.begin(9600);
middle.attach(11); // присоединяет серво на контакт 11 на вращение платформы
left.attach(10); // присоединяет серво на контакт 10 на левое плечо
right.attach(9); // присоединяет серво на контакт 11 на правое плечо
claw.attach(6); // присоединяет серво на контакт 6 claw (захват)
}
Void loop()
{
// устанавливает позицию сервопривода по величине(в градусах)
middle.write(90);
left.write(90);
right.write(90);
claw.write(25);
delay(300);
}
Используя маркер, сделайте линию через корпус серводвигателя и шпиндель. Подключите пластмассовую качалку из комплекта к сервоприводу, как показано ниже с помощью небольшого винта из комплекта креплений к сервоприводу. Мы будем использовать их в этом положении при сборке механической части MeArm. Будьте осторожны, чтобы не переместить положение шпинделя.
Теперь можно производить сборку механического манипулятора.
Возьмём основание и прикрепим ножки к её углам. Затем установим четыре 20 мм болта и накрутим на них гайки (половину от общей длины).
Теперь крепим центральный сервопривод двумя 8-мм болтами к маленькой пластине, и получившуюся конструкцию крепим к основанию с помощью 20 мм болтов.
Собираем левую секцию конструкции.
Собираем правую секцию конструкции.
Теперь необходимо соединить левую и правую секции. Сначала леую к переходной пластине
Потом правую, и получаем
Подсоединяем конструкцию к платформе
И собираем "клешню"
Крепим "клешню"
Для сборки можно использовать следующее руководство (на англ. языке) или руководство по сборке подобного манипулятора (на русском).
Схема расположения выводов
Теперь можно приступать к написанию Arduino кода. Для управления манипуляторм, наряду с возможностью управления управления с помощью джойстика, было бы неплохо направлять манипулятор в какую-то определенную точку декартовых координат (x, y, z). Есть соответствующая библиотека, которую можно скачать с github - https://github.com/mimeindustries/MeArm/tree/master/Code/Arduino/BobStonesArduinoCode .
Координаты измеряются в мм от центра вращения. Исходное положение находится в точке (0, 100, 50), то есть 100 мм вперед от основания и 50 мм от земли.
Пример использования библиотеки для установки манипулятора в определенной точке декартовых координат:
#include "meArm.h"
#include
Void setup() {
arm.begin(11, 10, 9, 6);
arm.openGripper();
}
Void loop() {
// вверх и влево
arm.gotoPoint(-80,100,140);
// захватить
arm.closeGripper();
// вниз, вред и вправо
arm.gotoPoint(70,200,10);
// отпустить захват
arm.openGripper();
// вернуться вт начальную точку
arm.gotoPoint(0,100,50);
}
Методы класса meArm:
void
begin
(int
pinBase
,
int
pinShoulder
,
int
pinElbow
,
int
pinGripper
)
- запуск meArm, указываются пины подключения для сервоприводов middle, left, right, claw. Необходимо вызвать в setup();
void
openGripper
()
- открыть захват;
void
closeGripper
()
- захватить;
void
gotoPoint
(float
x
,
float
y
,
float
z
)
- переместить манипулятор в позицию декартовых координат (x, y, z);
float
getX
()
- текущая координата X;
float
getY
()
- текущая координата Y;
float
getZ
()
- текущая координата Z.
Руководство по сборке (англ.)
Привет, гиктаймс!
Проект uArm от uFactory собрал средства на кикстартере уже больше двух лет назад. Они с самого начала говорили, что это будет открытый проект, но сразу после окончания компании они не торопились выкладывать исходники. Я хотел просто порезать оргстекло по их чертежам и все, но так как исходников не было и в обозримом будущем не предвиделось, то я принялся повторять конструкцию по фотографиям.
Сейчас моя робо-рука выглядит так:
Работая не спеша за два года я успел сделать четыре версии и получил достаточно много опыта. Описание, историю проекта и все файлы проекта вы сможете найти под катом.
Пробы и ошибки
Начиная работать над чертежами, я хотел не просто повторить uArm, а улучшить его. Мне казалось, что в моих условиях вполне можно обойтись без подшипников. Так же мне не нравилось то, что электроника вращается вместе со всем манипулятором и хотелось упростить конструкцию нижней части шарнира. Плюс я начал рисовать его сразу немного меньше.С такими входными параметрами я нарисовал первую версию. К сожалению, у меня не сохранилось фотографий той версии манипулятора (который был выполнен в желтом цвете). Ошибки в ней были просто эпичнейшие. Во-первых, ее было почти невозможно собрать. Как правило, механика которую я рисовал до манипулятора, была достаточно простая, и мне не приходилось задумываться о процессе сборки. Но все-таки я его собрал и попробовал запустить, И рука почти не двигалась! Все детли крутились вокруг винтов и, сли я затягивал их так, чтобы было меньше люфтов, она не могла двигаться. Если ослаблял так, чтобы она могла двигаться, появлялись невероятные люфты. В итоге концепт не прожил и трех дней. И приступил к работе над второй версией манипулятора.
Красный был уже вполне пригоден к работе. Он нормально собирался и со смазкой мог двигаться. На нем я смог протестировать софт, но все-таки отсутствие подшипников и большие потери на разных тягах делали его очень слабым.
Затем я забросил работу над проектом на какое-то время, но вскоре принял решении довести его до ума. Я решил использовать более мощные и популярные сервоприводы, увеличить размер и добавить подшипники. Причем я решил, что не буду пытаться сделать сразу все идеально. Я набросал чертежи на скорую руки, не вычерчивая красивых сопряжений и заказал резку из прозрачного оргстекла. На получившемся манипуляторе я смог отладить процесс сборки, выявил места, нуждающиеся в дополнительном укреплении, и научился использовать подшипники.
После того, как я вдоволь наигрался с прозрачным манипулятором, я засел за чертежи финальной белой версии. Итак, сейчас вся механика полностью отлажена, устраивает меня и готов заявить, что больше ничего не хочу менять в этой конструкции:
Меня удручает то, что я не смог привнести ничего принципиально нового в проект uArm. К тому времени, как я начал рисовать финальную версию, они уже выкатили 3D-модели на GrabCad. В итоге я только немного упростил клешню, подготовил файлы в удобном формате и применил очень простые и стандартные комплектующие.
Особенности манипулятора
До появления uArm, настольные манипуляторы подобного класса выглядели достаточно уныло. У них либо не было электроники вообще, либо было какое-нибудь управление с резисторами, либо было свое проприетарное ПО. Во-вторых, они как правило не имели системы параллельных шарниров и сам захват менял свое положение в процессе работы. Если собрать все достоинства моего манипулятора, то получается достаточно длинный список:- Система тяг, позволяющих разместить мощные я тяжелые двигатели в основании манипулятора, а также удерживающие захват параллельно или перпендикулярно основанию
- Простой набор комплектующих, которые легко купить или вырезать из оргстекла
- Подшипники почти во всех узлах манипулятора
- Простота сборки. Это оказалось действительно сложной задачей. Особенно трудно было продумать процесс сборки основания
- Положение захвата можно менять на 90 градусов
- Открытые исходники и документация. Все подготовлено в доступных форматах. Я дам ссылки для скачивания на 3D-модели, файлы для резки, список материалов, электронику и софт
- Arduino-совместимость. Есть много противников Arduino, но я считаю, что это возможность расширения аудитории. Профессионалы вполне могут написать свой софт на C - это же обычный контроллер от Atmel!
Механика
Для сборки необходимо вырезать детали из оргстекла толщиной 5мм:С меня за резку всех этих деталей взяли около $10.
Основание монтируется на большом подшипнике:
Особенно трудно было продумать основание с точки зрения процесса сборки, но я подглядывал за инженерами из uArm. Качалки сидят на штифте диаметром 6мм. Надо отметить, что тяга локтя у меня держится на П-образном держателе, а у uFactory на Г-образном. Трудно объяснить в чем разница, но я считаю у меня получилось лучше.
Захват собирается отдельно. Он может поворачиваться вокруг своей оси. Сама клешня сидит прямо на валу двигателя:
В конце статьи я дам ссылку на суперподробную инструкцию по сборке в фотографиях. За пару часов можно уверенно все это скрутить, если все необходимое есть под рукой. Также я подготовил 3D-модель в бесплатной программе SketchUp. Её можно скачать, покрутить и посмотреть что и как собрано.
Электроника
Чтобы заставить руку работать достаточно всего навсего подключить пять сервоприводов к Arduino и подать на них питание с хорошего источника. У uArm использованы какие-то двигатели с обратной связью. Я поставил три обычных двигателя MG995 и два маленьких двигателя с металлическим редуктором для управления захватом.Тут мое повествование тесно сплетается с предыдущими проектами. С некоторых пор я начал преподавать программирование Arduino и для этих целей даже подготовил свою Arduino-совместимую плату . С другой стороны как-то раз мне подвернулась возможность дешево изготовить платы (о чем я тоже писал). В итоге все это закончилось тем, что я использовал для управления манипулятором свою собственную Arduino-совместимую плату и специализированный шилд.
Этот шилд на самом деле очень простой. На нем четыре переменных резистора, две кнопки, пять разъемов для сервопривода и разъем питания. Это очень удобно с точки зрения отладки. Можно загрузить тестовый скетч и записать какой-нибудь макрос для управления или что-нибудь вроде того. Ссылку для скачивания файла платы я тоже дам в конце статьи, но она подготовлена для изготовления с металлизацией отверстий, так что мало пригодна для домашнего производства.
Программирование
Самое интересное, это управление манипулятором с компьютера. У uArm есть удобное приложение для управления манипулятором и протокол для работы с ним. Компьютер отправляет в COM-порт 11 байт. Первый из них всегда 0xFF, второй 0xAA и некоторые из оставшихся - сигналы для сервоприводов. Далее эти данные нормализуются и отдаются на отработку двигателям. У меня сервоприводы подключены к цифровым входам/выходам 9-12, но это легко можно поменять.Терминальная программа от uArm позволяет изменять пять параметров при управлении мышью. При движении мыши по поверхности изменяется положение манипулятора в плоскости XY. Вращение колесика - изменение высоты. ЛКМ/ПКМ - сжать/разжать клешню. ПКМ + колесико - поворот захвата. На самом деле очень удобно. При желании можно написать любой терминальный софт, который будет общаться с манипулятором по такому же протоколу.
Я не буду здесь приводить скетчи - скачать их можно будет в конце статьи.
Видео работы
И, наконец, само видео работы манипулятора. На нем показано управление мышью, резисторами и по заранее записанной программе.Ссылки
Файлы для резки оргстекла, 3D-модели, список для покупки, чертежи платы и софт можно скачать в конце моейВид на внутреннюю часть ладони человекоподобного робота RKP-RH101-3D. Ладонь кисти человекоподобного робота зажата на 50%. (смотри Рис. 2).
В таком случае возможны сложные движения кисти человекоподобного робота, но программирование при этом становится более сложным, интересным и захватывающим. При этом на каждом из пальцев кисти руки человекоподобного робота возможна установка дополнительных разнообразных датчиков и сенсоров, управляющих различными процессами.
Таково в общих чертах устройство манипулятора RKP-RH101-3D. Что касается сложности задач, которые может разрешать тот или иной робот, оборудованный различными манипуляторами, заменяющими ему руки, то они во многом зависят от сложности и совершенства управляющего устройства.
Принято говорить о трех поколениях роботов: промышленных, адаптивных и роботах с искусственным интеллектом. Но какой бы робот не проектировался ему не обойтись без рук манипуляторов для выполнения различных задач. Звенья манипулятора подвижны друг относительно друга и могут совершать вращательные и поступательные движения. Иногда вместо простого захвата предмета у промышленных роботов последним звеном манипулятора (его кистью) служит какой-нибудь рабочий инструмент, например, дрель, гаечный ключ, краскораспылитель или сварочная горелка. У человекоподобных роботов на кончиках пальцев их манипуляторов в виде кисти могут быть также расположены различные дополнительные миниатюрные приспособления, например, для сверления, гравировки или рисования.
Общий вид человекоподобного боевого робота на сервоприводах с кистями рук RKP-RH101-3D (смотри Рис. 3).
Одной из основных движущих сил автоматизации современного производства являются промышленные роботы-манипуляторы. Их разработка и внедрение позволили выйти предприятиям на новый научно-технический уровень выполнения задач, перераспределить обязанности между техникой и человеком, повысить производительность. О видах роботизированных помощников, их функционале и ценах поговорим в статье.
Помощник №1 – робот-манипулятор
Промышленность – фундамент большинства экономик мира. От качества предлагаемых товаров, объемов и ценообразования зависит доход не только отдельно взятого производства, но и государственного бюджета.
В свете активного внедрения автоматизированных линий и повсеместного использования умной техники возрастают требования к поставляемой продукции. Выдержать конкуренцию без использования автоматизированных линий или промышленных роботов-манипуляторов сегодня практически невозможно.
Как устроен промышленный робот
Робот-манипулятор выглядит как огромная автоматизированная «рука» под контролем системы электроуправления. В конструкции устройств отсутствует пневматика или гидравлика, все построено на электромеханике. Это позволило сократить стоимость роботов и повысить их долговечность.
Промышленные роботы могут быть 4-х осевыми (используются для укладки и фасовки) и 6-ти осевыми (для остальных видов работ). Кроме того, роботы отличаются и в зависимости от степени свободы: от 2 до 6. Чем он выше, тем точнее манипулятор воссоздает движение человеческой руки: вращение, перемещение, сжатие/разжатие, наклоны и прочее.
Принцип действия устройства зависит от его программного обеспечения и оснащения, и если в начале своего развития основная цель была освобождение работников от тяжелого и опасного вида работ, то сегодня спектр выполняемых задач значительно возрос.
Использование роботизированных помощников позволяет справляться одновременно с несколькими задачами:
- сокращение рабочих площадей и высвобождение специалистов (их опыт и знания могут быть использованы на другом участке);
- увеличение объемов производства;
- повышение качества продукции;
- благодаря непрерывности процесса сокращается цикл изготовления.
В Японии, Китае, США, Германии на предприятиях работает минимум сотрудников, обязанностью которых является лишь контроль работы манипуляторов и качество изготавливаемой продукции. Стоит отметить, что промышленный робот-манипулятор – это не только функциональный помощник в машиностроении или сварочном деле. Автоматизированные устройства представлены в широком ассортименте и используются в металлургии, легкой и пищевой промышленности. В зависимости от потребностей предприятия можно подобрать манипулятор, соответствующий функциональным обязанностям и бюджету.
Виды промышленных роботов-манипуляторов
На сегодняшний день существует около 30 видов роботизированных рук: от универсальных моделей до узкоспециализированных помощников. В зависимости от выполняемых функций, механизмы манипуляторов могут отличаться: так например, это могут быть сварочные работы, резка, сверление, гибка, сортировка, укладка и упаковка товаров.
В отличие от существующего стереотипа о дороговизне роботизированной техники, каждое, даже небольшое предприятие, сможет приобрести подобный механизм. Небольшие универсальные роботы-манипуляторы с небольшой грузоподъемностью (до 5кг) ABB, и FANUC будут стоить от 2 до 4 тысяч долларов.
Несмотря на компактность устройств, они способны увеличить скорость работы и качество обработки изделий. Под каждого робота будет написано уникальное ПО, которое в точности координирует работу агрегата.
Узкоспециализированные модели
Роботы сварщики нашли свое наибольшее применение в машиностроении. Благодаря тому, что устройства способны сваривать не только ровные детали, но и эффективно проводить сварочные работы под углом, в труднодоступных местах устанавливают целые автоматизированные линии.
Запускается конвейерная система, где каждый робот за определенное время проделывает свою часть работы, а после линия начинает двигаться к следующему этапу. Организовать такую систему с людьми достаточно непросто: никто из работников не должен отлучаться ни на секунду, в противном случае сбивается весь производственный процесс, либо появляется брак.
Сварщики
Самыми распространенными вариантами являются сварочные роботы. Их производительность и точность в 8 раз выше, чем у человека. Такие модели могут выполнять несколько видов сварки: дуговая или точечная (в зависимости от ПО).
Лидерами в данной области считаются промышленные роботы-манипуляторы Kuka. Стоимость от 5 до 300 тысяч долларов (в зависимости от грузоподъемности и функций).
Сборщики, грузчики и упаковщики
Тяжелый и вредный для человеческого организма труд стал причиной появления в этой отрасли автоматизированных помощников. Роботы упаковщики за считанные минуты подготавливают товар к отгрузке. Стоимость таких роботов до 4 тысяч долларов.
Производители ABB, KUKA, и Epson предлагают воспользоваться устройствами для подъема тяжелых грузов весом больше 1 тонны и транспортировку от склада к месту погрузки.
Производители промышленных роботов манипуляторов
Бесспорными лидерами в данной отрасли считаются Япония и Германия. На их долю приходится более 50% всей роботизированной техники. Конкурировать с гигантами, непросто, однако, и в странах СНГ постепенно появляются собственные производители и стартапы.
KNN Systems. Украинская компания является партнером немецкой Kuka и занимается разработкой проектов по роботизации процессов сварки, фрезеровки, плазменной резки и паллетизации. Благодаря их ПО промышленный робот может быть перенастроен под новый вид задач всего за один день.
Rozum Robotics (Беларусь). Специалисты компании разработали промышленный робот-манипулятор PULSE, отличающийся своей легкостью и простотой в использовании. Устройство подходит для сборки, упаковки, склеиванию и перестановки деталей. Цена робота в районе 500 долларов.
«АРКОДИМ-Про» (Россия). Занимается выпуском линейных роботов-манипуляторов (двигаются по линейным осям), используемых для литья пластика под давлением. Кроме того, роботы ARKODIM могут работать, как часть конвейерной системы, и выполнять функции сварщика или упаковщика.
Всем привет!
Пару лет назад на kickstarter появился очень занятный проект от uFactory - настольная робо-рука uArm . Они обещали со временем сделать проект открытым, но я не мог ждать и занялся реверс-инжинирингом по фотографиям.
За эти годы я сделал четыре версии своего виденья этого манипулятора и в итоге разработал вот такую конструкцию:
Это робо-рука с интегрированным контроллером, приводимая в движение пятью сервпоприводами. Основное ее достоинство в том, что все детали либо можно купить, либо дешево и быстро вырязать из оргстекла лазером.
Так как в качестве источника вдохновения я брал open sorce - проект, то всеми своими результатми делюсь полностью. Вы сможете скачать все исходники по ссылкам в конце статьи и, при желании, собрать такую же (все ссылки в конце статьи).
Но проще один раз показать ее в работе, чем долго рассказывать что она из себя представляет:
Итак, перейдем к описанию.
Технические характеристики
- Высота: 300мм.
- Рабочая зона (при полностью вытянутом манипуляторе): от 140мм до 300мм вокруг основания
- Максимальная грузоподъемность на вытянутой руке, не менее: 200г
- Потребляемый ток, не более: 6А
- Подшипники во всех подвижных частях манипулятора. Всего их одинадцать: 10 штук на вал 3мм и один на вал 30мм.
- Простота сборки. Я очень много внимания уделил тому, чтобы была такая последовательность сборки манипулятора при которой все детали прикручивать предельно удобно. Особенно сложно было сделать это для узлов мощных сервоприводов в основании.
- Все мощные сервоприводы расположены в основании. То есть "нижние" сервоприводы не таскают "верхние".
- За счет параллельных шарниров инструмент всегда остается параллелен или перпендикулярен земле.
- Положение манипулятора можно менять на 90 градусов.
- Готовое Arduino-совместимое программное обеспечение. Правильно собранная рука может управляться мышкой, а по примерам кода можно составить свои алгоритмы движения
Все детали манипулятора режутся из оргстекла толщиной 3 и 5мм:
Обратите внимание, как собирается поворотное основание:
Самый сложный, это узел в нижней части манипулятора. В первых версиях у меня уходило очень много сил, чтобы собрать его. В нем соединяются три сервопривода и передаются усилия на захват. Детали вращаются вокруг штифта диаметром 6мм. Захват удерживается парралельно (или перпендикулярно) рабочей поверхности за счет дополнительных тяг:
Манипулятор с установленым плечом и локтем показан на фотографии ниже. К нему еще только предстоит добавить клешню и тяги для нее:
Клешня тоже устанавливается на подшипниках. Она может сжиматься и поворачиваться вокруг своей оси:
Клешню можно установить как вертикально, так и горизонтально:
Управляется все Arduino-совместимой платой и шилдом для нее:
Сборка
Чтобы собрать манипулятор потребуется около двух часов и куча крепежа. Сам процесс сборки я офмил в виде инструкции в фотографиях (осторожно, траффик!) с подробными комментариями по каждой операции. Также я сделал подробную 3D-модель в простой и бесплатной программе SketchUp. Так что всегда можно повертеть ее перед глазами и посмотреть непонятные места:
Электроника и программирование
Я сделал целый шилд, на котором установил, помимо разъемов сервоприводов и питания, переменные резисторы. Для удобства отладки. На самом деле достаточно при помощи макетки подвести сигналы к двигателям. Но у меня в итоге получился вот такой шилд, который (так уж сложилось) я заказал на заводе:
Вообще я сделал три разные программы под Arduino. Одна для управления с компьютера, одна для работы в демо-режиме и одна для управления кнопками и переменными резисторами. Самая интересная из них, конечно, первая. Я не буду приводить здесь код целиком - он доступен в онлайн .
Для управления необходимо скачать программу для компьютера. После ее запуска мышь переходит в режим управления рукой. Движение отвечает за перемещение по XY, колесико изменяет высоту, ЛКМ/ПКМ - захват, ПКМ+колесико - поворот манипулятора. И это на самом деле удобно. Это было на видео в начале статьи.
Исходники проекта