Интересный робот-манипулятор на Arduino. Роботизированная рука манипулятор Робот манипулятор механическая рука

💖 Нравится? Поделись с друзьями ссылкой

Робот-манипулятор 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.

Руководство по сборке (англ.)

Эта статья — вводное руководство для новичков по созданию роботизированных рук, которые программируются при помощи Ардуино. Концепция состоит в том, что проект роборуки будет недорогим и простым в сборке. Мы соберём несложный прототип с кодом, который можно и нужно оптимизировать, это станет для вас отличным стартом в робототехнике. Робот-манипулятор на Ардуино управляется хакнутым джойстиком и может быть запрограммирован на повторение последовательности действий, которую вы зададите. Если вы не сильны в программировании, то можете заняться проектом в качестве тренировки по сборке «железа», залить в него мой код и получить на его основе базовые знания. Повторюсь, проект достаточно простой.

На видео — демка с моим роботом.

Шаг 1: Список материалов



Нам понадобится:

  1. Плата Ардуино. Я использовал Уно, но любая из разновидностей одинаково хорошо справится с задачами проекта.
  2. Сервоприводы, 4 самых дешевых, что вы найдёте.
  3. Материалы для корпуса на ваш вкус. Подойдёт дерево, пластик, метал, картон. Мой проект собран из старого блокнота.
  4. Если вы не захотите заморачиваться с печатной платой, то понадобится макетная плата. Подойдёт плата небольшого размера, поищите варианты с джамперами и блоком питания — они бывают достаточно дешевы.
  5. Что-то для основания руки — я использовал банку от кофе, это не самый лучший вариант, но это всё, что я смог найти в квартире.
  6. Тонкая нить для механизма руки и иголка для проделывания отверстий.
  7. Клей и изолента, чтобы скрепить всё воедино. Нет ничего, что нельзя было бы скрепить изолентой и горячим клеем.
  8. Три резистора на 10K. Если у вас не найдётся резисторов, то в коде на такие случаи есть обходной манёвр, однако лучшим вариантом будет купить резисторы .

Шаг 2: Как всё работает



На приложенном рисунке изображен принцип работы руки. Также я объясню всё на словах. Две части руки соединены тонкой нитью. Середина нити соединена с сервоприводом руки. Когда сервопривод тянет нить — рука сжимается. Я оснастил руку пружиной из шариковой ручки, но если у вас есть более гибкий материал, можете использовать его.

Шаг 3: Модифицируем джойстик

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

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

Я подключил потенциометры к макетной плате, у каждого из них есть по три клеммы. Одну из них нужно соединить с GND, вторую с +5V на Ардуино, а среднюю на вход, который мы определим позже. Мы не будем использовать ось Y на левом потенциометре, поэтому нам нужен только потенциометр над джойстиком.

Что касается переключателей, соедините +5V с одним его концом, а провод, который идёт на другой вход Ардуино со вторым концом. Мой джойстик имеет общую для всех переключателей линию на +5V. Я подключил всего 2 кнопки, но затем подключил еще одну, так как в ней появилась необходимость.

Также важно обрезать провода, которые идут к чипу (черный круг на джойстике). Когда вы завершите всё вышеописанное, можно приступить к проводке.

Шаг 4: Электропроводка нашего устройства

На фотографии изображена электропроводка устройства. Потенциометры — это рычажки на джойстике. Локоть (Elbow) — это правая ось Y, Основа (Base) — это правая ось X, Плечо (Shoulder) — это левая ось X. Если вам захочется поменять направление движения сервоприводов, просто смените положение проводов +5V и GND на соответствующем потенциометре.

Шаг 5: Загрузка кода

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

Заметка: если до этого вы уже загружали код на Ардуино, то просто пропустите этот шаг — вы не узнаете ничего нового.

  1. Откройте ИДЕ Ардуино и вставьте в него код
  2. В Tools/Board выберите вашу плату
  3. В Tools/Serial Port выберите порт, к которому подключена ваша плата. Скорее всего, выбор будет состоят из одного пункта.
  4. Нажмите кнопку Upload.

Вы можете изменить диапазон работы сервоприводов, в коде я оставил заметки о том, как это осуществить. Скорее всего, код будет работать без проблем, вам нужно будет лишь поменять параметр сервопривода руки. Этот параметр зависит от того, как вы настроили нить, поэтому я рекомендую точно подобрать его.

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

Файлы

Шаг 6: Запуск проекта

Робот контролируется движениями на джойстике, рука сжимается и разжимается при помощи кнопки для руки. На видео показано, как все работает в реальной жизни.

Вот способ, которым можно запрограммировать руку:

  1. Откройте Serial Monitor в Ардуино ИДЕ, это позволить проще следить за процессом.
  2. Сохраните начальную позицию, кликнув Save.
  3. За один раз двигайте лишь одним сервоприводом, например, Плечо вверх, и жмите save.
  4. Активируйте руку также только на её шаге, а затем сохраняйте нажатием save. Деактивация также производится на отдельном шаге с последующим нажатием save.
  5. Когда закончите последовательность команд, нажмите кнопку play, робот перейдёт в начальное положение и затем начнёт двигаться.
  6. Если вы захотите остановить его — отсоедините кабель или нажмите кнопку reset на плате Ардуино.

Если вы всё сделали правильно, то результат будет похож на этот!

Надеюсь, урок был вам полезен!

Из особенностей данного робота на платформе Arduino можно отметить сложность его конструкции. Роборука состоит из множества рычагов, которые позволяют ей двигаться по всем осям, хватать и перемещать различные вещи, используя всего 4 серво-мотора. Собрав собственными руками такого робота, Вы точно сможете удивить своих друзей и близких возможностями и приятным видом данного устройства! Помните, что для программирования Вы всегда сможете воспользоваться нашей графической средой RobotON Studio!

Если у Вас появятся вопросы или замечания, мы всегда на связи! Создавайте и выкладывайте свои результаты!

Особенности:

Чтобы собрать робота манипулятора своими руками, вам понадобится довольно много компонентов. Основную часть занимают 3D печатные детали, их около 18 штук (печатать горку необязательно).Если вы скачали и распечатали все необходимое, то вам потребуются болты, гайки и электроника:

  • 5 болтов М4 20мм, 1 на 40 мм и соответствующие гайки с защитой от раскрутки
  • 6 болтов М3 10мм, 1 на 20 мм и соответствующие гайки
  • Макетка с соединительными проводами или шилд
  • Arduino Nano
  • 4 серво мотора SG 90

После сборки корпуса ВАЖНО убедиться в его свободной подвижности. Если ключевые узлы Роборуки двигаются с трудом, серво-моторы могут не справиться с нагрузкой. Собирая электронику, необходимо помнить, что подключать цепь к питанию лучше после полной проверки соединений. Чтобы избежать поломки серво-приводов SG 90, не нужно крутить руками сам мотор, если нет необходимости. В случае, если нужно разработать SG 90, нужно плавно подвигать вал мотора в разные стороны.

Характеристики:
  • Простое программирование ввиду наличия малого количества моторов, причем одного типа
  • Наличие мертвых зон для некоторых серво-приводах
  • Широкая применимость робота в повседневной жизни
  • Интерсная инженерная работа
  • Необходимость использования 3D принтера

Сначала будут затронуты общие вопросы, потом технические характеристики результата, детали, а под конец и сам процесс сборки.

В целом и общем

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

Технические характеристики результата

Будет рассматриваться образец с параметрами длины/высоты/ширины соответственно 228/380/160 миллиметров. Вес сделанной, будет составлять примерно 1 килограмм. Для управления используется проводной дистанционный пульт. Ориентировочное время сборки при наличии опыта - около 6-8 часов. Если его нет, то могут уйти дни, недели, а при попустительстве и месяцы, чтобы была собрана рука-манипулятор. Своими руками и одному в таких случаях стоит делать разве что для своего собственного интереса. Для движения составляющих используются коллекторные моторы. Приложив достаточно усилий, можно сделать прибор, который будет поворачиваться на 360 градусов. Также для удобства работы, кроме стандартного инструментария вроде паяльника и припоя, необходимо запастись:

  1. Удлинёнными плоскогубцами.
  2. Боковыми кусачками.
  3. Крестовой отверткой.
  4. 4-мя батарейками типа D.

Пульт дистанционного управления можно реализовать, используя кнопки и микроконтроллер. При желании сделать дистанционное беспроводное управление элемент контроля действий понадобится и в руке-манипуляторе. В качестве дополнений необходимы будут только устройства (конденсаторы, резисторы, транзисторы), которые позволят стабилизировать схему и передавать по ней в нужные моменты времени ток необходимой величины.

Мелкие детали

Для регуляции количества оборотов можно использовать переходные колесики. Они позволят сделать движение руки-манипулятора плавными.

Также необходимо позаботится о том, чтобы провода не усложняли её движения. Оптимальным будет проложить их внутри конструкции. Можно сделать всё и извне, такой подход сэкономит время, но потенциально может привести к сложностям в перемещении отдельных узлов или всего устройства. А теперь: как сделать манипулятор?

Сборка в общих чертах

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

  1. Установка двух двигателей. Каждый из них будет отвечать за поворот в конкретную сторону. Когда один работает, второй пребывает в состоянии покоя.
  2. Установка одного двигателя со схемой, которая сможет заставить его крутится в обе стороны.

Какой из предложенных вариантов выбрать, зависит исключительно от вас. Далее делается основная конструкция. Для комфорта работы необходимо два «сустава». Прикреплённый к платформе должен уметь наклоняться в разные стороны, что решается с помощью двигателей, размещённых в его основании. Ещё один или пару следует разместить в месте локтевого изгиба, чтобы часть захвата можно было перемещать по горизонтальной и вертикальной линии системы координат. Далее, при желании получить максимальные возможности, можно установить ещё двигатель в месте запястья. Далее наиболее необходимое, без чего не представляется рука-манипулятор. Своими руками предстоит сделать само устройство захвата. Тут существует множество вариантов реализации. Можно дать наводку по двум самым популярным:

  1. Используется только два пальца, которые одновременно сжимают и разжимают объект захвата. Является самой простой реализацией, которая, правда, обычно не может похвастаться значительной грузоподъёмностью.
  2. Создаётся прототип человеческой руки. Тут для всех пальцев может использоваться один двигатель, с помощью которого будет осуществляться сгиб/разгиб. Но можно сделать и конструкцию сложней. Так, можно к каждому пальцу подсоединить по двигателю и управлять ими отдельно.

Далее остаётся сделать пульт, с помощью которого будет оказываться влияние на отдельные двигатели и темпы их работы. И можно приступать к экспериментам, используя робот-манипулятор, своими руками сделанный.

Возможные схематические изображения результата

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

Любая представленная схема манипулятора может быть усовершенствована.

Заключение

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

Всем привет!
Пару лет назад на kickstarter появился очень занятный проект от uFactory - настольная робо-рука uArm . Они обещали со временем сделать проект открытым, но я не мог ждать и занялся реверс-инжинирингом по фотографиям.
За эти годы я сделал четыре версии своего виденья этого манипулятора и в итоге разработал вот такую конструкцию:
Это робо-рука с интегрированным контроллером, приводимая в движение пятью сервпоприводами. Основное ее достоинство в том, что все детали либо можно купить, либо дешево и быстро вырязать из оргстекла лазером.
Так как в качестве источника вдохновения я брал open sorce - проект, то всеми своими результатми делюсь полностью. Вы сможете скачать все исходники по ссылкам в конце статьи и, при желании, собрать такую же (все ссылки в конце статьи).

Но проще один раз показать ее в работе, чем долго рассказывать что она из себя представляет:

Итак, перейдем к описанию.
Технические характеристики

  1. Высота: 300мм.
  2. Рабочая зона (при полностью вытянутом манипуляторе): от 140мм до 300мм вокруг основания
  3. Максимальная грузоподъемность на вытянутой руке, не менее: 200г
  4. Потребляемый ток, не более: 6А
Также мне хочется отметить некоторые особенности конструкции:
  1. Подшипники во всех подвижных частях манипулятора. Всего их одинадцать: 10 штук на вал 3мм и один на вал 30мм.
  2. Простота сборки. Я очень много внимания уделил тому, чтобы была такая последовательность сборки манипулятора при которой все детали прикручивать предельно удобно. Особенно сложно было сделать это для узлов мощных сервоприводов в основании.
  3. Все мощные сервоприводы расположены в основании. То есть "нижние" сервоприводы не таскают "верхние".
  4. За счет параллельных шарниров инструмент всегда остается параллелен или перпендикулярен земле.
  5. Положение манипулятора можно менять на 90 градусов.
  6. Готовое Arduino-совместимое программное обеспечение. Правильно собранная рука может управляться мышкой, а по примерам кода можно составить свои алгоритмы движения
Описание конструкции
Все детали манипулятора режутся из оргстекла толщиной 3 и 5мм:

Обратите внимание, как собирается поворотное основание:
Самый сложный, это узел в нижней части манипулятора. В первых версиях у меня уходило очень много сил, чтобы собрать его. В нем соединяются три сервопривода и передаются усилия на захват. Детали вращаются вокруг штифта диаметром 6мм. Захват удерживается парралельно (или перпендикулярно) рабочей поверхности за счет дополнительных тяг:

Манипулятор с установленым плечом и локтем показан на фотографии ниже. К нему еще только предстоит добавить клешню и тяги для нее:

Клешня тоже устанавливается на подшипниках. Она может сжиматься и поворачиваться вокруг своей оси:
Клешню можно установить как вертикально, так и горизонтально:

Управляется все Arduino-совместимой платой и шилдом для нее:

Сборка
Чтобы собрать манипулятор потребуется около двух часов и куча крепежа. Сам процесс сборки я офмил в виде инструкции в фотографиях (осторожно, траффик!) с подробными комментариями по каждой операции. Также я сделал подробную 3D-модель в простой и бесплатной программе SketchUp. Так что всегда можно повертеть ее перед глазами и посмотреть непонятные места:


Электроника и программирование
Я сделал целый шилд, на котором установил, помимо разъемов сервоприводов и питания, переменные резисторы. Для удобства отладки. На самом деле достаточно при помощи макетки подвести сигналы к двигателям. Но у меня в итоге получился вот такой шилд, который (так уж сложилось) я заказал на заводе:

Вообще я сделал три разные программы под Arduino. Одна для управления с компьютера, одна для работы в демо-режиме и одна для управления кнопками и переменными резисторами. Самая интересная из них, конечно, первая. Я не буду приводить здесь код целиком - он доступен в онлайн .
Для управления необходимо скачать программу для компьютера. После ее запуска мышь переходит в режим управления рукой. Движение отвечает за перемещение по XY, колесико изменяет высоту, ЛКМ/ПКМ - захват, ПКМ+колесико - поворот манипулятора. И это на самом деле удобно. Это было на видео в начале статьи.
Исходники проекта

Рассказать друзьям