Всем привет!
Пару лет назад на 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, колесико изменяет высоту, ЛКМ/ПКМ - захват, ПКМ+колесико - поворот манипулятора. И это на самом деле удобно. Это было на видео в начале статьи.
Исходники проекта

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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


Подключение:

Если Вы собрали детали манипулятора в соответствии с инструкцией, то можно приступить к сборке электронной схемы. Мы предлагаем подключить сервоприводы манипулятора к Arduino UNO через Trerma-Power Shield , а управлять сервоприводами используя Trema-потенциометры .

  • Поворот ручки первого Trema-потенциометра приведёт к повороту основания.
  • Поворот ручки второго Trema-потенциометра приведёт к повороту левого плеча.
  • Поворот ручки третьего Trema-потенциометра приведёт к повороту правого плеча.
  • Поворот ручки четвёртого Trema-потенциометра приведёт в движение захват.

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

Код программы:

Если вы подадите питание, до калибровки, манипулятор может начать двигаться неадекватно! Сначала выполните все шаги калибровки.

#include // Подключаем библиотеку Servo для работы с сервоприводами Servo servo1; // Объявляем объект servo1 для работы с сервоприводом основания Servo servo2; // Объявляем объект servo2 для работы с сервоприводом левого плеча Servo servo3; // Объявляем объект servo3 для работы с сервоприводом правого плеча Servo servo4; // Объявляем объект servo4 для работы с сервоприводом захвата int valR1, valR2, valR3, valR4; // Объявляем переменные для хранения значений потенциометров // Назначаем выводы: const uint8_t pinR1 = A2; // Определяем константу с № вывода потенциометра управл. основанием const uint8_t pinR2 = A3; // Определяем константу с № вывода потенциометра управл. левым плечом const uint8_t pinR3 = A4; // Определяем константу с № вывода потенциометра управл. правым плечом const uint8_t pinR4 = A5; // Определяем константу с № вывода потенциометра управл. захватом const uint8_t pinS1 = 10; // Определяем константу с № вывода сервопривода основания const uint8_t pinS2 = 9; // Определяем константу с № вывода сервопривода левого плеча const uint8_t pinS3 = 8; // Определяем константу с № вывода сервопривода правого плеча const uint8_t pinS4 = 7; // Определяем константу с № вывода сервопривода захвата void setup(){ // Код функции setup выполняется однократно: Serial.begin(9600); // Инициируем передачу данных в монитор последовательного порта servo1.attach(pinS1); // Назначаем объекту servo1 управление сервоприводом 1 servo2.attach(pinS2); // Назначаем объекту servo2 управление сервоприводом 2 servo3.attach(pinS3); // Назначаем объекту servo3 управление сервоприводом 3 servo4.attach(pinS4); // Назначаем объекту servo4 управление сервоприводом 4 } void loop(){ // Код функции loop выполняется постоянно: valR1=map(analogRead(pinR1), 0, 1024, 10, 170); servo1.write(valR1); // Вращаем основанием Указанные в данной строке углы: 10 и 170 возможно потребуется изменить (откалибровать) valR2=map(analogRead(pinR2), 0, 1024, 80, 170); servo2.write(valR2); // Управляем левым плечом Указанные в данной строке углы: 80 и 170 возможно потребуется изменить (откалибровать) valR3=map(analogRead(pinR3), 0, 1024, 60, 170); servo3.write(valR3); // Управляем правым плечом Указанные в данной строке углы: 60 и 170 возможно потребуется изменить (откалибровать) valR4=map(analogRead(pinR4), 0, 1024, 40, 70); servo4.write(valR4); // Управляем захватом Указанные в данной строке углы: 40 и 70 возможно потребуется изменить (откалибровать) Serial.println((String) "A1 = "+valR1+",\t A2 = "+valR2+", \t A3 = "+valR3+", \t A4 = "+valR4); // Выводим углы в монитор }

Калибровка:

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

    Калибровка заключается в указании крайних значений угла поворота для каждого сервопривода, так чтобы детали не мешали их движениям.
  • Отсоедините все сервоприводы от Trema-Power Shield, загрузите скетч и подключите питание.
  • Откройте монитор последовательного порта.
  • В мониторе будут отображаться углы поворота каждого сервопривода (в градусах).
  • Подключите первый сервопривод (управляющий вращением основания) к выводу D10.
  • Поворот ручки первого Trema-потенциометра (вывод A2) приведёт к повороту первого сервопривода (вывод D10), а в мониторе изменится значение текущего угла этого сервопривода (значение: A1 = ...). Крайние положения первого сервопривода будут лежать в диапазоне, от 10 до 170 градусов (как написано в первой строке кода loop). Этот диапазон можно изменить, заменив значения последних двух аргументов функции map() в первой строке кода loop, на новые. Например, заменив 170 на 180, Вы увеличите крайнее положение сервопривода в данном направлении. А заменив 10 на 20, Вы уменьшите другое крайнее положение того же сервопривода.
  • Если Вы заменили значения, то нужно заново загрузить скетч. Теперь сервопривод будет поворачиваться в новых, заданных Вами, пределах.
  • Подключите второй сервопривод (управляющий поворотом левого плеча) к выводу D9.
  • Поворот ручки второго Trema-потенциометра (вывод A3) приведёт к повороту второго сервопривода (вывод D9), а в мониторе изменится значение текущего угла этого сервопривода (значение: A2 = ...). Крайние положения второго сервопривода будут лежать в диапазоне, от 80 до 170 градусов (как написано во второй строке кода loop скетча). Этот диапазон изменяется так же как и для первого сервопривода.
  • Если Вы заменили значения, то нужно заново загрузить скетч.
  • Подключите третий сервопривод (управляющий поворотом правого плеча) к выводу D8. и аналогичным образом осуществите его калибровку.
  • Подключите четвертый сервопривод (управляющий захватом) к выводу D7. и аналогичным образом осуществите его калибровку.

Калибровку достаточно выполнить 1 раз, после сборки манипулятора. Внесённые Вами изменения (значения предельных углов) сохранятся в файле скетча.

Муниципальное бюджетное учреждение

дополнительного образования «Станция юных техников»

города Каменск Шахтинский

Муниципальный этап областного слета-конкурса

«Юные конструкторы Дона – третьему тысячелетию»

Раздел «Робототехника»

« Рука-манипулятор на Arduino»

педагог дополнительного образования

МБУ ДО «СЮТ»

    Введение 3

    Исследование и анализ 4

    Этапы изготовления узлов и сборка манипулятора 6

    1. Материалы и инструменты 6

      Механическая начинка манипулятора 7

      Электронная начинка манипулятора 9

    Заключение 11

    Источники информации 12

    Приложение 13

    Введение

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

В настоящее время развитие робототехники не идет, а бежит, обгоняя время. Только за первые 10 лет XXI века было изобретено и внедрено более 1 млн. роботов. Но самое интересное, что разработками в этой области могут заниматься не только коллективы больших корпораций, группы ученых и инженеров профессионалов, но и обычные школьники по всему миру.

Для изучения робототехники в школе разработано несколько комплексов. Наиболее известные из них – это:

    Robotis Bioloid;

    LEGO Mindstorms;

  • Arduino .

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

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

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

Цель проекта – создание обучающего радио - конструктора на базе руки – манипулятора, для обучения детей программированию в среде Arduino в игровой форме. Дать возможность, чтобы как можно больше детей могли познакомиться с конструкторской деятельностью в робототехнике.

Задачи проекта:

    разработать и построить обучающую руку – манипулятор с минимальными затратами средств, не уступающую зарубежным аналогам;

    в качестве механизмов манипулятора использовать сервоприводы;

    управление механизмами манипулятора осуществить с помощью радио – конструктора Arduino UNO R 3;

    разработать программу в среде программирования Arduino для пропорционального управления сервоприводами.

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

    Исследование и анализ

Исследование.

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

О
бучающий конструктор - манипулятор снабжен роботизированной рукой, которая сжимается и разжимается. С его помощью можно играть в шахматы, управляя дистанционно. Также можно с помощью робо - руки раздавать визитки. Движение включают в себя: запястье 120°, локоть 300°, базовое вращения 270°, базовые движения 180°. Игрушка очень хорошая и полезная, но стоимость его составляет порядка 17200 рублей.

Благодаря проекту «uArm», каждый желающий может собрать своего настольного мини - робота. «uArm» - это 4-x осевой манипулятор, миниатюрная версия промышленного робота «ABB PalletPack IRB460» Манипулятор оснащен микропроцессором Atmel и набором сервомоторов, общая стоимость необходимых деталей - 12959 рублей. Проект uArm требует хотя бы начальных навыков программирования и опыта конструирования лего. Мини - робот можно запрограммировать на множество функций: от игры на музыкальном инструменте, до загрузки какой - то сложной программы. В настоящее время ведется разработка приложений для iOS и Android, что позволит управлять «uArm» со смартфона.

Манипуляторы «uArm»

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

Анализ.

За основу взяли, манипулятор, представленный на сайте Kickstarter, который назывался «uArm». Преимущество этой конструкции в том, что площадка для размещения захвата всегда расположена параллельно рабочей поверхности. Тяжелые двигатели расположены у основания, усилия передаются через тяги. В итоге манипулятор имеет три сервопривода (три степени свободы), которые позволяют ему перемещать инструмент по всем трем осям на 90 градусов.

В подвижных частях манипулятора решили установить подшипники. Такая конструкция манипулятора имеет массу преимуществ перед многими моделями, которые сейчас есть в продаже: Всего в манипуляторе использовано 11 подшипников: 10 штук на вал 3мм и один на вал 30мм.

Характеристики руки манипулятора:

Высота: 300мм.

Рабочая зона (при полностью вытянутом манипуляторе): от 140мм до 300мм вокруг основания

Максимальная грузоподъемность на вытянутой руке: 200г

Потребляемый ток, не более: 1А

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

Управление реализуется с помощью переменных резисторов, пропорциональное управление. Можно сконструировать управление типа пантограф, как у ядерщиков и у героя в большом роботе из фильма «Аватара», может управляться и мышкой, а по примерам кода можно составить свои алгоритмы движения.

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

    Этапы изготовления узлов и сборка манипулятора

      Материалы и инструменты

Для изготовления руки - манипулятора использовали композитную панель, толщиной 3мм и 5мм. Это материал, который состоит из двух алюминиевых листов, толщиной 0,21 мм соединенных термопластичной прослойкой из полимера, обладает хорошей жесткостью, легкий и хорошо обрабатывается. Скаченные фотографии манипулятора в интернете обрабатывались компьютерной программой Inkscape (векторный графический редактор). В программе AutoCAD (трёхмерная система автоматизированного проектирования и черчения) чертились чертежи руки - манипулятора.

Готовые детали для манипулятора.

Готовые детали основания манипулятора.

      Механическая начинка манипулятора

Для основания манипулятора использовали сервоприводы MG-995. Это цифровые сервоприводы с металлическими шестеренками и шарикоподшипниками, они обеспечивают усилие 4,8кг/см, точную отработку позиции и приемлемую скорость. Весит один сервопривод 55,0 граммов при размерах 40,7 х 19,7 х 42,9мм, напряжение питания от 4,8 до 7,2 вольт.

Для захвата и поворота кисти использовали сервоприводы MG-90S. Это тоже цифровые сервоприводы с металлическими шестеренками и шарикоподшипник на выходном валу, они обеспечивают усилие 1,8кг/см и точную отработку позиции. Весит один сервопривод 13.4 грамма при размерах 22,8 х 12,2 х 28,5мм, напряжение питания от 4,8 до 6,0 вольт.


Сервопривод MG-995 Сервопривод MG90S

Подшипник размером 30х55х13 используется для облегчения поворота основания руки – манипулятора с грузом.


Установка подшипника. Поворотное устройство в сборе.

Основание руки – манипулятора в сборе.


Детали для сборки захвата. Захват в сборе.

      Электронная начинка манипулятора

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

Для работы с манипулятором использовали плату Arduino UNO R 3 и совместимую плату расширения для подключения сервоприводов. На нем установлен стабилизатор 5 вольт, для питания сервоприводов, PLS-контакты для подключения сервоприводов и разъем для подключения переменных резисторов. Питание осуществляется от блока 9В, 3А.

Плата контроллера Arduino UNO R 3.

Принципиальная схема расширения для платы контроллера Arduino UNO R 3 разрабатывалась с учетом поставленных задач.

Принципиальная схема платы расширения для контроллера.

Плата расширения для контроллера.

Подключаем плату Arduino UNO R 3 с помощью кабеля USB A-B к компьютеру, устанавливаем необходимые настройки в среде программирования, составляем программу (скетч) для работы сервоприводов используя библиотеки Arduino. Компилируем (проверяем) скетч, затем загружаем в контроллер. С подробной информацией о работе в среде Arduino можно ознакомиться на сайте http://edurobots.ru/category/uroki/ (Arduino для начинающих. Уроки).

Окно программы со скетчем.

    Заключение

Данная модель манипулятора, отличается низкой себестоимостью, от таких как простой конструктор «Уткоробот» который выполняет 2 движения и стоит 1102 рублей, или Лего - конструктор «Полицейский участок» стоимостью 8429 рублей. Наш конструктор выполняет 5 движений и стоит 2384 рубля.

Комплектующие и материал

Количество

Сервопривод MG-995

Сервопривод MG90S

Подшипник 30х55х13

Подшипник 3х8х3

М3х27 стойка латунная мама-мама

М3х10 винт с гол. под в/ш

Композитная панель размером 0,6м 2

Плата контроллера Arduino UNO R 3

Переменные резисторы 100ком.

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

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

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

В дальнейшем хочу отказаться от дорогостоящих сервоприводов и использовать шаговые двигатели, таким образом, она будет достаточно точно и плавно перемещаться.

Управление манипулятором осуществить с помощью пантографа по радиоканалу Bluetooth.

    Источники информации

Гололобов Н. В.О проекте Arduino для школьников. Москва. 2011.

Курт Е. Д. Введение в микроконтроллеры с Перевод на русский язык Т. Волкова. 2012.

Белов А. В. Самоучитель разработчика устройств на микроконтроллерах AVR. Наука и техника, Санкт-Петербург, 2008.

http://www.customelectronics.ru/robo-ruka-sborka-mehaniki/ манипулятор на гусеничном ходу.

http://robocraft.ru/blog/electronics/660.html манипулятор по Bluetooth.

http://robocraft.ru/blog/mechanics/583.html ссылка на статью и видео.

http://edurobots.ru/category/uroki/ Arduino для начинающих.

    Приложение

Чертеж основания манипулятора

Чертеж стрелы и захвата манипулятора.



Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png