Подпишись и читай
самые интересные
статьи первым!

Робо-рука с дистанционным управлением от перчатки и Arduino. Робот типа «рука

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

Обратите внимание! Это старая статья! Вы можете ознакомиться с ней, если вас интересует история проекта. Актуальная версия .

Манипулятор от сайт

Вот видео ее работы:

Описание конструкции

За основу мы взяли, манипулятор представленный на сайте Kickstarter, который назывался uArm . Авторы этого проекта обещали, что после завершения компании выложат все исходники, но этого не произошло. Их проект представляет собой отличное сочетание качественно сделанного как аппаратного, так и программного обеспечения. Вдохновившись их опытом мы решили сделать подобный манипулятор самостоятельно.
Большинство существующих манипуляторов предполагают расположение двигателей непосредственно в суставах. Это проще конструктивно, но выходит, что двигатели должны поднимать не только полезную нагрузку, но и другие двигатели. В проекте с Kickstarter’а этого недостатка нет, так как усилия передаются через тяги и все двигатели расположены у основания.
Второе преимущество конструкции в том, что площадка для размещения инструмента (захвата, присоски и т.д.) всегда расположена параллельно рабочей поверхности.

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

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

Для нашего манипулятора мы использовали сервоприводы Hitec HS-485 . Это достаточно дорогие цифровые сервомашинки, но за свои деньги они обеспечивают честное усилие 4,8кг/см, точную отработку позиции и приемлемую скорость.
Их можно заменить на другие с такими же размерами

Разработка манипулятора

Для начала мы составили модель в SketchUp. Проверили конструкцию на собираемость и подвижность.

Нам пришлось немного упростить конструкцию. В оригинальном проекте использовались подшипники, которые сложно купить. Еще мы решили на начальном этапе не делать захват. Для начала мы планируем сделать из манипулятора управляемый светильник.
Изготавливать манипулятор мы решили из оргстекла. Оно достаточно дешево, хорошо выглядит и легко режется лазером. Для резки достаточно нарисовать требуемые детали в любом векторном редакторе. Мы сделали это в NanoCad:

Резка оргстекла

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

Эту пленку необходимо удалить с обоих сторон.

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

В итоге после удаления пленки и затирки у нас получилось вот это:

Сборка манипулятора

Для начала необходимо собрать пять частей:






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


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

Сначала необходимо установить шпильку длиной 40мм (показана желтой линией на фото), а затем прикрутить качалки.
Для шарниров мы использовали обычные винты М3 и гайки с нейлоновой вставкой для предотвращения самораскручивания. Эти гайки хорошо видно на конце манипулятора:

Пока это просто плоская площадка на которую мы для начала планируем приделать лампочку.

Собранный манипулятор

Итоги

Сейчас мы работаем над электроникой и программным обеспечением и скоро расскажем вам о продолжении проекта, так что пока у нас нет возможности продемонстрировать его работу.
В перспективе мы планируем оснастить манипулятор захватом и добавить подшипники.
Если у Вас возникло желание сделать свой манипулятор — вы можете скачать файл для резки .
Список крепежа, который потребуется:

  1. М4х10 винт с головкой под внутренний шестигранник, 12шт
  2. М3х60 винт, 1шт
  3. М3х40 шпилька, 1шт (возможно придется немного укоротить напильником)
  4. М3х16 винт с гол. под в/ш, 4шт
  5. М3х16 винт с головкой в потай, 8шт
  6. М3х12 винт с гол. под в/ш, 6шт
  7. М3х10 винт с гол. под в/ш, 22шт
  8. М3х10 винт с головкой в потай, 8шт
  9. М2х6 винт с гол. под в/ш, 12шт
  10. М3х40 стойка латунная мама-мама, 8шт
  11. М3х27 стойка латунная мама-мама, 5шт
  12. М4 гайка, 12шт
  13. М3 гайка, 33шт
  14. М3 гайка с нейлоновым фиксатором, 11шт
  15. М2 гайка, 12шт
  16. Шайбы

UPD1

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

Фантастика стала ещё на один шажок ближе к реальности. Новая рука для робота — это замечательный пример комбинации принципов биомиметики и мехатроники. Увидев её, кто-то непременно вспомнит Терминатора, но изобретение должно найти массу мирных областей применения.

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

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

«Коронный номер» новой руки - письмо по экрану-планшету. На видео заметно, что для робота пневматическая рука выполняет свою задачу очень хорошо, но до плавности и непринуждённости движений человека ей всё-таки далеко (фото Festo).

Называется это творение Airic"s_arm . Это рука и прилегающий «кусок» спины (кстати, компания создала не один образец данной машины). Габариты Airic’s_arm, когда рука распрямлена, составляют 85 × 85 × 65 сантиметров. А вес её равен всего-то 6,3 килограмма.

Главным достоинством разработки германские специалисты считают её приближение к руке человека в плане точности движений, динамики и мощности. Секрет же новинки – в так называемых «Жидкостных мускулах» (Fluidic Muscle).


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

Вопреки названию, мускулы эти (правильнее было бы назвать их актуаторами) работают от сжатого (до 6-8 атмосфер) воздуха. Состоят они (упрощённо) из отрезков эластомерных шлангов, армированных арамидными волокнами.

При подаче давления они раздуваются вширь (поскольку в длину из начального, сдутого, состояния они вытянуться не могут) и одновременно сокращаются, словно настоящие мышцы.

Примерно такой тип актуаторов (в том или ином варианте) изобретатели придумывали и строили не раз, но Festo полагает, что именно она довела конструкцию искусственных пневматических мускулов до совершенства. Фирма выпускает целую линейку таких устройств, отличающихся размерами и силой, а предназначены они для работы в качестве приводов в самом разном оборудовании.

Вид сокращающейся мышцы робота вызывает биологические ассоциации (кадры и фото Festo).

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

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

Система управления может менять «напряжение» таких мышц до 100 раз в секунду, и никакой инерционности в движении они не проявят. Пусть скорость перемещения деталей, соединённых такой робототехнической мышцей, не очень велика, зато Fluidic Muscle может развивать ускорение до 100 м/c 2 .

Спортивные упражнения робот Airic’s_arm выполняет не так энергично, как человек. Зато движения похожи (кадр и фото Festo).

Сокращается Fluidic Muscle на 10-20% от своей начальной длины, то есть — на считанные сантиметры. Но вспомните: мускулы человека, скажем, той же руки, прикреплены к костям вблизи суставов. И эти мускулы также отличаются сравнительно небольшим перемещением своих концов, зато развивают приличное усилие. А уж геометрия скелета обеспечивают в результате требуемое (быстрое и большое по размаху) движение конечности.

Вот и в новом роботе инженеры Festo пошли по тому же, проторённому природой, пути. Они решили сделать вот что: взяв несколько давно выпускаемых компанией «робо-мускулов», построить максимально близкое подобие руки человека. Близкое и по общим пропорциям, и по размерам, и по анатомии.


Опять тест на «грамотность». Тут неплохо видна задняя часть машины и, соответственно, искусственные мышцы спины (фотографии Festo).

В руке Airic’s_arm её авторы воссоздали в металле и пластике практически все кости руки и плеча человека, включая лопатку (впервые в технике, утверждает компания), и даже кисть с пятью пальцами (по составным деталям аналогичными настоящим) и все положенные этой структуре суставы.

А приводят эту систему в движение Fluidic Muscle числом 32 штуки! Это приблизительно вдвое меньше, чем в настоящей руке и плечевом поясе, но всё равно — впечатляет.

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


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

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

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

Данный проект представляет собой многоуровневую модульную задачу. Первый этап проекта – сборка модуля роботизованной руки-манипулятора, поставляемой в виде набора деталей. Вторым этапом задачи будет сборка интерфейса IBM PC также из набора деталей. Наконец, третий этап задачи представляет собой создание модуля голосового управления.

Манипулятором робота можно управлять вручную с помощью ручного пульта управления, входящего в комплект набора. Рукой робота можно также управлять либо через собранный из набора интерфейс IBM PC, либо используя модуль голосового управления. Набор интерфейса IBM PC позволяет управлять и программировать действия робота через рабочий компьютер IBM PC. Устройство голосового управления позволит вам управлять рукой робота с помощью голосовых команд.

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

Интерфейс PC позволит вам с помощью персонального компьютера запрограммировать руку-манипулятор на цепь автоматизированных действий или «оживить» ее. Существует также опция, в которой вы можете управлять рукой в интерактивном режиме, используя либо ручной контроллер, либо программу под Windows 95/98. «Оживление» руки представляет собой «развлекательную» часть цепочки запрограммированных автоматизированных действий. Например, если вы наденете на руку-манипцулятор детскую перчаточную куклу и запрограммируете устройство на показ небольшого шоу, то вы запрограммируете «оживление» электронной куклы. Программирование автоматизированных действий находит широкое применение в промышленности и индустрии развлечений.

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

Итак, как мы видим, рука-манипулятор робота выполняет много полезных функций и может служить идеальным инструментом для изучения различных процессов. Однако создание роботизованной руки-манипулятора с «нуля» представляет собой сложную задачу. Гораздо проще собрать руку из деталей готового набора. Компания OWI продает достаточно хорошие наборы руки-манипулятора, которые можно приобрести у многих дистрибьюторов электронных устройств (см. список деталей в конце этой главы). С помощью интерфейса можно подключить собранную руку-манипулятор к порту принтера рабочего компьютера. В качестве рабочего компьютера можно использовать машину серии IBM PC или совместимую, которая поддерживает DOS или Windows 95/98.

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

Программирование цепочки автоматизированных действий также не составляет особого труда. Сперва щелкните по клавише Program, чтобы перейти в программную моду. В этой моде рука функционирует точно так же, как это было описано выше, но при этом в дополнение каждая функция и время ее действия фиксируются в script-файле. Script-файл может содержать до 99 различных функций, включая паузы. Сам script-файл может быть повторно воспроизведен 99 раз. Запись различных script-файлов позволяет производить эксперименты с управляемой компьютером последовательностью автоматизированных действий и «оживлению» руки. Работа с программой под Windows 95/98 более детально описана ниже. Программа под Windows включена в набор интерфейса роботизованной руки-манипулятора или может быть бесплатно загружена из Интернета http://www.imagesco.com .

В дополнение к программе Windows рукой можно управлять, используя BASIC или QBASIC. Программа уровня DOS содержится на дискетах, включенных в комплект набора интерфейса. Однако DOS программа позволяет осуществлять управление только в интерактивном режиме с использованием клавиатуры (см. распечатку BASIC программы на одной из дискет). Программа уровня DOS не позволяет создавать script-файлы. Однако если есть опыт программирования на BASIC, то последовательность движений руки-манипулятора может быть запрограммирована аналогично работе script-файла, используемого в программе под Windows. Последовательность движений может повторяться, как это сделано во многих «одушевленных» роботах.

Роботизованная рука-манипулятор

Рука-манипулятор (см. рис. 15.1) имеет три степени свободы движения. Локтевое сочленение может перемещаться вертикально вверх-вниз по дуге примерно 135°. Плечевой «сустав» перемещает захват вперед и назад по дуге примерно 120°. Рука может поворачиваться на основании по часовой стрелке или против часовой стрелки на угол примерно 350°. Захват руки робота может брать и удерживать объекты до 5 см в диаметре и поворачиваться вокруг в кистевом сочленении примерно на 340°.

Рис. 15.1. Кинематическая схема движений и поворотов руки-робота


Для приведения руки в движение компания OWI Robotic Arm Trainer использовала пять миниатюрных двигателей постоянного тока. Двигатели обеспечивают управление рукой при помощи проводов. Такое «проводное» управление означает, что каждая функция движения робота (т. е. работа соответствующего двигателя) управляется отдельными проводами (подачей напряжения). Каждый из пяти двигателей постоянного тока управляет своим движением руки-манипулятора. Управление по проводам позволяет сделать блок контроллера руки, непосредственно реагирующий на электрические сигналы. Это упрощает схему интерфейса руки робота, который подключается к порту принтера.

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

Набор для изготовления руки робота и его компоненты представлены на рисунках 15.2 и 15.3.


Рис. 15.2. Набор для изготовления руки-робота



Рис. 15.3. Редуктор перед сборкой

Принцип управления двигателями

Для того чтобы понять принцип работы управления по проводам, посмотрим, как цифровой сигнал управляет работой отдельного двигателя постоянного тока. Для управления двигателем требуются два комплементарных транзистора. Один транзистор имеет проводимость PNP типа, другой – соответственно проводимость NPN типа. Каждый транзистор работает как электронный ключ, управляя движением тока, протекающего через двигатель постоянного тока. Направления движения тока, управляемые каждым из транзисторов, противоположны. Направление тока определяет направление вращения двигателя соответственно по часовой стрелке или против часовой стрелки. На рис. 15.4 приведена тестовая схема, которую вы можете собрать перед изготовлением интерфейса. Обратите внимание, что когда оба транзистора заперты, то двигатель выключен. В каждый момент времени должен быть включен только один транзистор. Если в какой-то момент оба транзистора случайно окажутся открытыми, то это приведет к короткому замыканию. Каждый двигатель управляется двумя транзисторами интерфейса, работающими аналогичным образом.


Рис. 15.4. Схема устройства проверки

Конструкция интерфейса для PC

Схема PC интерфейса приведена на рис. 15.5. В набор деталей PC интерфейса входит печатная плата, расположение деталей на которой показано на рис. 15.6.


Рис. 15.5. Принципиальная схема интерфейса РС



Рис. 15.6. Схема расположения деталей РС интерфейса


Прежде всего нужно определить сторону монтажа печатной платы. На стороне монтажа прочерчены белые линии, обозначающие резисторы, транзисторы, диоды, ИС и разъем DB25. Все детали вставляются в плату с монтажной стороны.

Общее указание: после пайки детали к проводникам печатной платы необходимо удалить излишне длинные выводы со стороны печати. Очень удобно следовать определенной последовательности при монтаже деталей. Сперва смонтируйте резисторы 100 кОм (цветная маркировка колец: коричневое, черное, желтое, золотое или серебряное), которые обозначены R1-R10. Затем смонтируйте 5 диодов D1-D5, убедившись, что черная полоска на диодах находится напротив разъема DB25, как это показано белыми линиями, нанесенными на монтажную сторону печатной платы. Затем смонтируйте резисторы 15 кОм (цветная маркировка, коричневый, зеленый, оранжевый, золотой или серебряный), обозначенные R11 и R13. В позиции R12 припаяйте к плате красный светодиод. Анод светодиода соответствует отверстию под R12, обозначенному знаком +. Затем смонтируйте 14– и 20-контактные панельки под ИС U1 и U2. Смонтируйте и впаяйте разъем DB25 уголкового типа. Не пытайтесь вставлять ножки разъема в плату с излишним усилием, здесь требуется исключительно точность. При необходимости осторожно покачайте разъем, стараясь не погнуть ножки выводов. Закрепите движковый переключатель и регулятор напряжения типа 7805. Отрежьте четыре куска провода необходимой длины и припаяйте к верхней части переключателя. Придерживайтесь расположения проводов, как показано на рисунке. Вставьте и впаяйте транзисторы TIP 120 и TIP 125. Наконец, впаяйте восьмиконтактный цокольный разъем и соединительный 75 миллиметровый кабель. Цоколь монтируется так, что наиболее длинные выводы смотрят вверх. Вставьте две ИС – 74LS373 и 74LS164 – в соответствующие панельки. Убедитесь, что положение ключа ИС на ее крышке совпадает с ключом, помеченным белыми линиями на печатной плате. Вы могли заметить, что на плате остались места под дополнительные детали. Это место предназначено для сетевого адаптера. На рис. 15.7 показана фотография готового интерфейса со стороны монтажа.


Рис. 15.7. РС интерфейс в сборе. Вид сверху

Принцип работы интерфейса

Рука-манипулятор имеет пять двигателей постоянного тока. Соответственно нам потребуются 10 шин входа/выхода для управления каждым двигателем, включая направление вращения. Параллельный (принтерный) порт IBM PC и совместимых машин содержит только восемь шин ввода/вывода. Для увеличения числа шин управления в интерфейсе руки робота используется ИС 74LS164, которая является преобразователем последовательного кода в параллельный (SIPO). При использовании всего двух шин параллельного порта D0 и D1, по которым посылается последовательный код в ИС, мы можем получить восемь дополнительных шин ввода/вывода. Как уже говорилось, можно создать восемь шин ввода/вывода, но в данном интерфейсе используются пять из них.

Когда последовательный код поступает на вход ИС 74LS164, на выходе ИС появляется соответствующий параллельный код. Если бы выходы ИС 74LS164 были непосредственно подключены к входам управляющих транзисторов, то отдельные функции руки-манипулятора включались и выключались бы в такт посылке последовательного кода. Очевидно, что такая ситуация является недопустимой. Чтобы избежать этого, в схему интерфейса введена вторая ИС 74LS373 – управляемый восьмиканальный электронный ключ.

ИС 74LS373 восьмиканальный ключ имеет восемь входных и восемь выходных шин. Двоичная информация, присутствующая на входных шинах передается на соответствующие выходы ИС только в том случае, если на ИС подан разрешающий сигнал. После выключения разрешающего сигнала текущее состояние выходных шин сохраняется (запоминается). В этом состоянии сигналы на входе ИС не оказывают никакого действия на состояние выходных шин.

После передачи последовательного пакета информации в ИС 74LS164 с вывода D2 параллельного порта подается разрешающий сигнал на ИС 74LS373. Это позволяет передать информацию уже в параллельном коде с входа ИС 74LS174 на ее выходные шины. Состоянием выходных шин управляются соответственно транзисторы TIP 120, которые, в свою очередь, управляют функциями руки-манипулятора. Процесс повторяется при подаче каждой новой команды на руку-манипулятор. Шины параллельного порта D3-D7 управляют непосредственно транзисторами TIP 125.

Подключение интерфейса к руке-манипулятору

Питание роботизованной руки-манипулятора осуществляется от источника питания 6 В, состоящего из четырех D-элементов, расположенных в основании конструкции. Интерфейс PC питается также от этого источника 6 В. Источник питания является биполярным и выдает напряжения ±3 В. Питание на интерфейс подается через восьмиконтактный разъем Molex, присоединенный к основанию манипулятора.

Присоедините интерфейс к руке-манипулятору при помощи восьмижильного кабеля Molex длиной 75 мм. Кабель Molex присоединяется к разъему, расположенному в основании манипулятора (см. рис. 15.8). Проверьте правильность и надежность вставки разъема. Для соединения платы интерфейса с компьютером используется кабель типа DB25 длиной 180 см, имеющийся в наборе. Один конец кабеля присоединяется к порту принтера. Другой конец соединяется с разъемом DB25 на плате интерфейса.


Рис. 15.8. Соединение РС интерфейса с рукой-роботом


В большинстве случаев к порту принтера штатно подключен принтер. Чтобы не заниматься присоединением и отключением разъемов каждый раз, когда вы хотите использовать манипулятор, полезно приобрести двухпозиционный блок переключателя шин принтеров A/B (DB25). Присоедините разъем интерфейса манипулятора к входу А, а принтер – к входу В. Теперь вы можете использовать переключатель для соединения компьютера либо с принтером, либо с интерфейсом.

Установка программы под Windows 95

Вставьте дискету 3,5" с меткой «Disc 1» в дисковод для флоппи-дисков и запустите программу установки (setup.exe). Программа установки создаст директорию с именем «Images» на жестком диске и скопирует необходимые файлы в эту директорию. В Start меню появится иконка Images. Для запуска программы щелкните по иконке Images в стартовом меню.

Работа с программой под Windows 95

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

Щелкнув два раза по иконке Images в стартовом меню, запустите программу. Окно программы показано на рис. 15.9. При работе программы красный светодиод на плате интерфейса должен мигать. Примечание: чтобы светодиод начал мигать, включение питания интерфейса не требуется. Скорость мигания светодиода определяется скоростью работы процессора вашего компьютера. Мерцание светодиода может оказаться очень тусклым; для того чтобы это заметить, вам, возможно, придется уменьшить освещенность в комнате и сложить ладони «колечком» для наблюдения за светодиодом. Если светодиод не мигает, то, возможно, программа обращается по ошибочному адресу порта (порт LPT). Для переключения интерфейса на другой адрес порта (LPT порт), зайдите в окно меню установки адреса порта принтера (Printer Port Options box), расположенного в правом верхнем углу экрана. Выберите другую опцию. Правильная установка адреса порта вызовет мигание светодиода.


Рис. 15.9. Скриншот программы РС интерфейса под Windows


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

Создание script-файла

Для программирования движений и автоматизированных последовательностей действий руки-манипулятора используются script-файлы. Script-файл содержит список временных команд, управляющих движениями руки-манипулятора. Создать script-файл очень просто. Для создания файла кликните по функциональной клавише program. Эта операция позволит войти в моду «программирования» script-файла. Нажимая на функциональные клавиши, мы будем управлять движениями руки, как мы уже делали, но при этом информация команд будет записываться в желтую script-таблицу, расположенную в нижнем левом углу экрана. Номер шага, начиная с единицы, будет указан в левой колонке, а для каждой новой команды он будет увеличиваться на единицу. Тип движения (функции) указан в средней колонке. После повторного щелчка функциональной клавиши выполнение движения прекращается, а в третьей колонке появляется значение времени выполнения движения от его начала до окончания. Время выполнения движения указывается с точностью до четверти секунды. Продолжая таким же образом, пользователь может запрограммировать в script-файл до 99 движений, включая паузы во времени. Затем script-файл можно сохранить, а в дальнейшем загрузить из любой директории. Выполнение команд script-файла можно циклически повторить до 99 раз, для чего необходимо ввести количество повторов в окно Repeat и нажать Start. Для окончания записи в script-файл нажмите клавишу Interactive. Эта команда переведет компьютер обратно в интерактивный режим.

«Оживление» предметов

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

Ограничения области применения

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

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

Поиск исходного положения

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

Для этого существует много возможностей. В одном из основных методов позиционный контроль в каждой точке не предусмотрен. Вместо этого используется набор концевых выключателей, которые соответствуют исходной «стартовой» позиции. Концевые выключатели определяют точно только одну позицию – когда манипулятор доходит до положения «старт». Чтобы это сделать, необходимо установить последовательность концевых выключателей (кнопок) таким образом, чтобы они замыкались, когда манипулятор достигает крайнего положения в том или ином направлении. Например, один конечный выключатель можно установить на основании манипулятора. Выключатель должен срабатывать только тогда, когда рука-манипулятор достигнет крайнего положения при вращении по часовой стрелке. Другие конечные выключатели нужно установить на плечевом и локтевом сочленении. Они должны срабатывать при полном разгибании соответствующего сочленения. Еще один выключатель устанавливается на кисти и срабатывает, когда кисть поворачивается до упора по часовой стрелке. Последний концевой выключатель устанавливается на захвате и замыкается при его полном открывании. Чтобы поставить манипулятор в исходное положение, каждое возможное движение манипулятора осуществляется в сторону, необходимую для замыкания соответствующего концевого выключателя до тех пор, пока этот выключатель не замкнется. После того как достигнуто начальное положение для каждого движения, компьютер будет точно «знать» истинное положение руки-манипулятора.

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

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

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

Система ручного управления интерфейсом

После того как вы убедитесь, что интерфейс работает правильным образом, вы можете с помощью 8-контактного плоского разъема подключить к нему блок ручного управления. Проверьте положение подключения 8-контактного разъема Molex к головке разъема на плате интерфейса, как показано на рис. 15.10. Аккуратно вставьте разъем до его надежного соединения. После этого рукой-манипулятором можно управлять с ручного пульта в любой момент времени. Не имеет значения, соединен ли интерфейс с компьютером или нет.


Рис. 15.10. Подключение ручного управления

Программа DOS управления с клавиатуры

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

B голосовом управлении рукой-манипулятором используется набор распознавания речи (УРР), который был описан в гл. 7. В этой главе мы изготовим интерфейс, связывающий УРР с рукой-манипулятором. Этот интерфейс также предлагается в виде набора компанией Images SI, Inc.

Схема интерфейса для УРР показана на рис. 15.11. В интерфейсе использован микроконтроллер 16F84. Программа для микроконтроллера выглядит следующим образом:


‘Программа интерфейса УРР

Symbol PortA = 5

Symbol TRISA = 133

Symbol PortB = 6

Symbol TRISB = 134

If bit4 = 0 then trigger ‘Если запись в триггер разрешена, читать схе

Goto start ‘Повторение

pause 500 ‘Ожидание 0,5 с

Peek PortB, B0 ‘Чтение кода BCD

If bit5 = 1 then send ‘Выходной код

goto start ‘Повторение

peek PortA, b0 ‘Чтение порта А

if bit4 = 1 then eleven ‘Число есть 11?

poke PortB, b0 ‘Выходной код

goto start ‘Повторение

if bit0 = 0 then ten

goto start ‘Повторение

goto start ‘Повторение



Рис. 15.11. Схема контроллера УРР для руки-робота


Обновление программы под 16F84 можно бесплатно загрузить из http://www.imagesco.com

Программирование интерфейса УРР

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

Таблица 15.1

Список деталей для интерфейса PC

(5) Транзистор NPN TIP120

(5) Транзистор PNP TIP 125

(1) ИС 74164 преобразователь кода

(1) ИС 74LS373 восемь ключей

(1) Светодиод красный

(5) Диод 1N914

(1) Гнездо разъема Molex на 8 контактов

(1) Кабель Molex 8-жильный длиной 75 мм

(1) Двухпозиционный переключатель

(1) Разъем уголковый типа DB25

(1) Кабель DB 25 1,8 м с двумя разъемами М – типа.

(1) Печатная плата

(3) Резистор 15 кОм, 0,25 Вт


Все перечисленные детали входят в комплект набора.

Список деталей для интерфейса распознавания речи

(5) Транзистор NPN TIP 120

(5) Транзистор PNP TIP 125

(1) ИС 4011 логический элемент ИЛИ-НЕ

(1) ИС 4049 – 6 буферов

(1) ИС 741 операционный усилитель

(1) Резистор 5,6 кОм, 0,25 Вт

(1) Резистор 15 кОм, 0,25 Вт

(1) Головная часть разъема Molex 8 контактов

(1) Кабель Molex 8 жил, длина 75 мм

(10) Резистор 100 кОм, 0,25 Вт

(1) Резистор 4,7 кОм, 0,25 Вт

(1) ИС регулятор напряжения 7805

(1) ИС PIC 16F84 микроконтроллер

(1) Кварцевый резонатор 4,0 МГц

Набор интерфейса руки-манипулятора

Набор для изготовления руки манипулятора компании OWI

Интерфейс распознавания речи для руки-манипулятора

Набор устройства распознавания речи


Детали можно заказать в:

Images, SI, Inc.

Идея этого проекта появилась и увлекла меня во время отпуска.

Мысль была примерно следующая: "Было бы классно иметь робо-руку, которая управлялась бы моей собственной!". И через некоторое время я принялся за разработку и реализацию этого проекта. Надеюсь, вам будет интересно!

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

Конструкция руки взята из open-source проекта InMoov. На странице проекта можно загрузить 3-D модели всех узлов и напечатать их на 3-D принтере.

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

Необходимые материалы

Для проекта вам понадобятся:

Все! Вы можете начинать ваш проект робо-руки!

Печатаем руку

Рука является частью open-source проекта под названием InMoov. Это робот, который печатается на 3-D принтере. Рука - это лишь отдельный узел общей конструкции. Скачайте с этой страницы и напечатайте следующие детали:

Auriculaire3.stl

WristsmallV3.stl

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

RobCableFrontV1.stl

RobRingV3.stl (в этой детали пришлось сделать дополнительные отверстия, чтобы подошли мои сервы)

RobCableBackV2.stl

RobServoBedV4.stl

(Это две детали "обшивки" - они не обязательны с точки зрения жесткости конструкции и ее функционирования)


В общей сложности понадобилось около 13-15 часов для печати. Зависит от качества печати. Я использовал MakerBot Replicator 2X. Рекомендую печатать детали пальцев на стандартном или высоком разрешении, чтобы избежать нежелательного трения в конструкции.


Подключаем датчики изгиба к Arduino

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


Резисторы на фото имеют номинал 22 кОм. Цвета проводов соответствуют цветам, приведенным на схеме подключения.

Все контакты GND от датчиков соединены в общую Землю. Земля идет к пину GND на Arduino. +5V на Arduino подключается к общему контакту питания от всех датчиков. Каждый голубой коннектор сигнала подключается к отдельному аналоговому входу на микроконтроллере.




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




Устанавливаем сенсоры на перчатке

Можем приступать к установке датчиков и нашей монтажной платы на саму перчатку. Сначала просверлите небольшое отверстие в пластике датчиков. Отверстия сверлятся в местах, где чувствительный элемент закончился. ВАЖНО! Ни в коем случае не сверлите отверстие в чувствительном материале. После этого оденьте перчатку. Сделайте отметки карандашом или ручкой на вершине каждого сустава. Эти места вы будете использовать для крепежа сенсоров. Датчики изгиба крепятся обычной ниткой. Пришейте сенсоры к перчатке. Используйте отверстие, которые вы сделали на концах датчика. В местах, где отмечены суставы сенсоры "прихватываются" нитью поверх. Более детально все это показано на фото ниже. Монтажная плата пришивается к перчатке аналогично сенсорам. Учтите, что для движения пальцев надо оставить определенный запас длины проводников. Это надо учесть при установке нашей монтажной платы и выборе длины коннекторов от нее к датчикам.






Я не буду детально останавливаться на этом шаге. Он очень подробно раскрыт на веб-сайте InMoov (в разделе "Assembly Sketches" и "Assembly Help"):

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


Не спешите устанавливать леску. Сначала проверьте работоспособность серводвигателей.

Проверка сервомоторов

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

ВАЖНО! Не забудьте подключить контакт Arduino к рельсе с отрицательным зарядом: помните, что все контакты Земля должны быть соединены между собой. Контакт VCC может подключаться к различным источникам питания, но GND должен быть одинаковым.

Загрузите программу на Arduino (файл с программой прилагается). Убедитесь, что подключение сенсоров, сервомоторов и т.п. Было правильным. Наденьте перчатку и включите Arduino. Серводвигатели должны вращаться в зависимости от того, каким пальцем вы будете двигать. Если сервы двигаются, значит все работает!


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

Если сервомоторы отрабатывают неправильно, убедитесь, что вы их правильно подключили (например, когда я работал над этим проектом, я, как обычно, забыл соединить пин GND Arduino с GND источника питания и всех серв. В этом случае работать ничего не будет). Убедитесь, что все отрабатывает перед тем, как двигаться дальше.

Добавляем леску

Добавить леску - это, наверное, самая сложная и ответсвенная часть проекта робо-руки. На сайте InMoov есть инструкция на этот счет. Концепция простая, но реализовать ее практически не так то просто. Обратите внимание, что эта часть проекта требует сосредоточения и терпения. Единственное отличие моего варианта от конструкции на InMoov - использование клея. Благодаря этому мы можем получить возможность более губкой настройки при калибровке серв. Для этого достаточно расплавить клей и подтянуть нужные нам болты. Хотя, конечно же, надежность конструкции падает. В конце-концов, после окончательной настройки и калибровки, мы в любой момент можем использовать другой вариант фиксации.

Для калибровки сервомоторов, проверните роторы так, чтобы пальцы робо-руки лежали на столе. Подключите ваш Arduino и источник питания. Выставьте качалки приводов таким образом, чтобы в полностью "лежащем" состоянии руки натяжение было максимальным.


Объяснить процесс калибровки достаточно сложно. Кроме того, инструкция с InMoov мне, например, не подошла. То есть, при крепеже вам надо проявить фантазию и подстроиться под ваши реалии - как то: тип качалок, тип лески или ниток, погрешности конструкции и сборки, расстояние установки сервомоторов относительно суставов робо-руки.

К счастью - это последний этап проекта!

Послесловие


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

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

Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!

  • DIY или Сделай сам ,
  • Электроника для начинающих
  • Привет, гиктаймс!

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

    Сейчас моя робо-рука выглядит так:

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

    Пробы и ошибки

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

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

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

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

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

    Меня удручает то, что я не смог привнести ничего принципиально нового в проект uArm. К тому времени, как я начал рисовать финальную версию, они уже выкатили 3D-модели на GrabCad. В итоге я только немного упростил клешню, подготовил файлы в удобном формате и применил очень простые и стандартные комплектующие.

    Особенности манипулятора

    До появления uArm, настольные манипуляторы подобного класса выглядели достаточно уныло. У них либо не было электроники вообще, либо было какое-нибудь управление с резисторами, либо было свое проприетарное ПО. Во-вторых, они как правило не имели системы параллельных шарниров и сам захват менял свое положение в процессе работы. Если собрать все достоинства моего манипулятора, то получается достаточно длинный список:
    1. Система тяг, позволяющих разместить мощные я тяжелые двигатели в основании манипулятора, а также удерживающие захват параллельно или перпендикулярно основанию
    2. Простой набор комплектующих, которые легко купить или вырезать из оргстекла
    3. Подшипники почти во всех узлах манипулятора
    4. Простота сборки. Это оказалось действительно сложной задачей. Особенно трудно было продумать процесс сборки основания
    5. Положение захвата можно менять на 90 градусов
    6. Открытые исходники и документация. Все подготовлено в доступных форматах. Я дам ссылки для скачивания на 3D-модели, файлы для резки, список материалов, электронику и софт
    7. Arduino-совместимость. Есть много противников Arduino, но я считаю, что это возможность расширения аудитории. Профессионалы вполне могут написать свой софт на C - это же обычный контроллер от Atmel!

    Механика

    Для сборки необходимо вырезать детали из оргстекла толщиной 5мм:

    С меня за резку всех этих деталей взяли около $10.

    Основание монтируется на большом подшипнике:

    Особенно трудно было продумать основание с точки зрения процесса сборки, но я подглядывал за инженерами из uArm. Качалки сидят на штифте диаметром 6мм. Надо отметить, что тяга локтя у меня держится на П-образном держателе, а у uFactory на Г-образном. Трудно объяснить в чем разница, но я считаю у меня получилось лучше.

    Захват собирается отдельно. Он может поворачиваться вокруг своей оси. Сама клешня сидит прямо на валу двигателя:

    В конце статьи я дам ссылку на суперподробную инструкцию по сборке в фотографиях. За пару часов можно уверенно все это скрутить, если все необходимое есть под рукой. Также я подготовил 3D-модель в бесплатной программе SketchUp. Её можно скачать, покрутить и посмотреть что и как собрано.

    Электроника

    Чтобы заставить руку работать достаточно всего навсего подключить пять сервоприводов к Arduino и подать на них питание с хорошего источника. У uArm использованы какие-то двигатели с обратной связью. Я поставил три обычных двигателя MG995 и два маленьких двигателя с металлическим редуктором для управления захватом.

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

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

    Программирование

    Самое интересное, это управление манипулятором с компьютера. У uArm есть удобное приложение для управления манипулятором и протокол для работы с ним. Компьютер отправляет в COM-порт 11 байт. Первый из них всегда 0xFF, второй 0xAA и некоторые из оставшихся - сигналы для сервоприводов. Далее эти данные нормализуются и отдаются на отработку двигателям. У меня сервоприводы подключены к цифровым входам/выходам 9-12, но это легко можно поменять.

    Терминальная программа от uArm позволяет изменять пять параметров при управлении мышью. При движении мыши по поверхности изменяется положение манипулятора в плоскости XY. Вращение колесика - изменение высоты. ЛКМ/ПКМ - сжать/разжать клешню. ПКМ + колесико - поворот захвата. На самом деле очень удобно. При желании можно написать любой терминальный софт, который будет общаться с манипулятором по такому же протоколу.

    Я не буду здесь приводить скетчи - скачать их можно будет в конце статьи.

    Видео работы

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

    Ссылки

    Файлы для резки оргстекла, 3D-модели, список для покупки, чертежи платы и софт можно скачать в конце моей
    Включайся в дискуссию
    Читайте также
    Салат с кукурузой и мясом: рецепт
    Римские акведуки - водное начало цивилизации С какой целью строили акведуки
    Мыс крестовый лиинахамари