Как управлять роботом манипулятором

Мымриков Александр Александрович

Электротехнический факультет

Кафедра электропривода и автоматизации промышленных установок

Специальность Электромеханические системы автоматизации и электропривод

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

Научный руководитель: к.т.н. Розкаряка Павел Иванович

Содержание

Введение

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

1. Актуальность темы

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

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

Заменяя человека, роботизированные механизмы эффективно уменьшают затраты производства на оплату разного рода специалистов. Этот фактор наиболее актуален в развитых странах с высокими заработными платами и необходимостью больших надбавок за переработку. С применением робота на производстве необходимо лишь наличие оператора, контролирующего процесс. Повышается качество обработки – промышленные роботы имеют высокую точность позиционирования (0.1 – 0.05 мм) и повторяемость. Исключение человеческого фактора приводит к уменьшению различных ошибок и сохранению постоянной повторяемости на всем периоде производства. Применение роботов особенно эффективно на вредных производствах, оказывающих негативное влияние на человека, например, в химической промышленности. В случаях, когда применение человеческого труда ограничивается на законодательном уровне, применение роботов является наилучшим решением. Современные промышленные манипуляторы практически не требуют обслуживания, за счет применения бесколлекторных двигателей и передаточных механизмов из высококачественной стали [2].

2. Обзор роботов – манипуляторов.

В современности промышленные робот–манипулятор представляют собой механизм, схожий с человеческой рукой – стандартный антропоморфный робот–манипулятор. Данный вид робота пользуется наибольшим спросом. Любой промышленный робот–манипулятор представляет собой универсальный механизм, зачастую, имеющий несколько степеней свобод (осей подвижности). Наиболее распространенными являются дистанционно управляемые «механические руки», которые устанавливаются на неподвижном или подвижном основании. Однако специфика различных применений промышленных роботов заставляет изготовителей разрабатывать специализированных роботов под конкретные задачи [3].

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

Рисунок 2 – Промышленный манипулятор производства ABB

Например, для таких операций, как укладка материалов на палеты и транспортеры используются специализированные роботы–укладчики. К достоинствам такого робота можно отнести простоту кинематики, за счет чего возможно использовать одну систему управления для сразу нескольких роботов, достаточно компактные размеры, высокую скорость и энергоэффективность. С другой стороны, имея 4 управляемые оси, такие роботы могут ориентировать переносимый груз всего в 4–х горизонтальных плоскостях [4].

2.1 Функциональная схема робота – манипулятора.

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

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

Рисунок 2.1 – Моделирование и визуализация перемещений манипулятора в библиотеке SimMechanics
(анимация: 10 кадров, 5 циклов, 349 кб)

2.1.1 Исполнительный механизм.

Исполнительный механизм манипулятора, представляет собой открытую кинематическую цепь, звенья которой последовательно соединены между собой сочленениями различного типа (вращательные либо поступательные). Комбинация и взаимное расположение звеньев и сочленений определяет число степеней подвижности, а также область действия захвата робота. Зачастую предполагается, что первые три сочленения в исполнительном механизме манипулятора обеспечивают транспортные степени подвижности (обеспечивая перемещение рабочего органа в требуемое положение), а остальные сочленения – реализуют ориентирующие степени подвижности (ориентируя рабочий орган согласно заданию)[4].

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

Рисунок 2.2 – Обобщенная схема робота манипулятора

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

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

2.2.2. Рабочий орган.

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

Самой универсальной разновидностью захватного устройства является схват – устройство, в котором захватывание и удержание объекта производятся посредством относительного перемещения частей данного устройства. Как правило, схват по своей конструкции напоминает кисть человеческой руки: захват объекта осуществляется с помощью механических «пальцев». Для захвата плоских предметов используются захватные устройства с пневматической присоской. Применяют также крюки (для поднятия деталей с конвейеров), черпаки или совки (для жидких, сыпучих или гранулированных веществ). Для захвата же множества однотипных деталей применяют специализированные конструкции.

По способу удержания объекта захватные устройства подразделяют :

2.2.3. Приводы.

Для приведения звеньев манипулятора и устройства схвата в движение используют электрические, гидравлические или пневматические приводы. Гидравлические приводы предпочтительны в случаях, когда надо обеспечить значительную величину развиваемых усилий или высокое быстродействие; обычно такими приводами снабжаются крупные роботы большой грузоподъёмности. Электрические приводы не обладают столь же большой силой или быстродействием, но позволяют добиться лучших точностных характеристик. Наконец, пневматические приводы обычно применяют для небольших по размерам роботов, выполняющих простые и быстрые циклические операции. По имеющимся оценкам, примерно в 50 % современных промышленных роботах используется электрический привод, в 30 % — гидравлический и в 20 % — пневматический.

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

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

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

Рисунок 2.3 – Манипулятор Manus установленный на инвалидной коляске.

Manus может иметь собственный управляющий компьютер и пульт–джойстик для ручного управления, что позволяет осуществлять действия, не доступные лицам с ограниченными возможностями в силу их физических особенностей. Например, данный манипулятор может подавать различные предметы, удаленные от кресла, в пределах зоны досягаемости манипулятора. Кроме ручного управления с джойстика, компьютер (контроллер), обслуживающий данный манипулятор, позволяет подключать камеры и может обрабатывать полученное изображение с помощью алгоритмов машинного зрения. Данная особенность позволяет манипулятору выполнять не только заданные управляющим лицом действия, но и автоматизировать некоторые задачи. Также управляющий компьютер позволяет совмещать вышеописанные типы управления (в оригинальной документации на Manus данный тип управления называется Collaborative Control). Совместное управление позволяет добиться лучших показателей в точности позиционирования захвата манипулятора за счет того, что задание поступающее с джойстика от управляющего лица корректируется по определенным алгоритмам исходя их окружающей ситуации. Анализ окружающей ситуации производится с помощью алгоритмов машинного зрения на основе поступающих с камер данных. Такие корректировки задания позволяют выбрать наиболее оптимальную траекторию, а также позволяют автоматически обходить препятствия [5].

На рисунках 2.4 и 2.5 представлены фотографии нашего экземпляра манипулятора Manus.

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

Рисунок 2.5 – Фотография манипулятора Manus.

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

Рисунок 2.5 – Фотография манипулятора Manus.

Данный манипулятор состоит из четырех подвижных звеньев, каждое из которых имеет свою ось вращения, а также захватного устройства (схвата), закрепленного на конце последнего из звеньев. Схват манипулятора также имеет ось вращения. Такая конфигурация манипулятора обеспечивает 6 степеней свободы. Размер данного манипулятора можно примерно оценить по фотографии, а его вес – около 15 кг.

Обычно, в подобных роботах могут применяться 2 типа приводов: на базе СДПМ – синхронных двигателей с постоянными магнитами, либо на основе ДПТ – двигателей постоянного тока.

В манипуляторе, рассматриваемом в данном проекте, применяются привода второго типа – на базе двигателей постоянного тока с возбуждением от постоянных магнитов. Такое решение имеет ряд преимуществ: относительно простая СУЭП в сравнении с приводами на базе СДПМ, а также значительно более низкая стоимость как самих двигателей, так и силовых преобразователей к ним. Кроме преимуществ данная система имеет недостаток – более низкая динамика (относительно СДПМ). Однако, в случае с манипулятором Manus данный недостаток не имеет никакого значения, так как робот проектировался для установки на инвалидных колясках с целью помощи ограниченным в движениях людям, а в таком применении высокая динамика системы и не требуется.

Двигатели всех сочленений, примененные в манипуляторе Manus – одинаковые, фирмы Maxon серии maxon DC motor. Внешний вид данного двигателя представлен на рисунке 2.5.

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

Рисунок 2.5 – Внешний вид двигателей установленных в манипуляторе.

Основные параметры данного двигателя приведены в таблице 2.1.

Номинальное напряжение24 В
Номинальный ток0.7 А
Номинальная скорость8670 об/мин
Ток холостого хода0.05 А
Максимальный допустимый ток2 А

Таблица 2.1 – Параметры двигателя maxon DC motor.

Для передачи вращения от моторов к звеньям манипулятора применяются редуктора с планетарной передачей. Данный тип редукторов имеет немало преимуществ над другими, такие как компактность и надежность. Редукторы установленные на всех двигателях одинаковые и имеют передаточное число 1:800.

Кроме двигателей и редукторов в исходную систему электропривода входят датчики скорости вращения двигателей, установленные непосредственно на валах двигателей. Тип применяемых датчиков – инкрементальный энкодер с оптической коммутацией. Разрешение применяемых датчиков 100 имп/об, что в целом является достаточно маленьким значением для построения качественной позиционной системы. Но учитывая тот факт, что датчик установлен до редуктора, имеющего передаточное число 1:800 – такого разрешения будет более чем достаточно.

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

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

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

4.Разработка аппаратной части.

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

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

Рисунок 4.1 – обобщенная схема Н–моста.

Данная схема состоит из четырех ключей, включенных попарно последовательно, между парами включается двигатель (якорная цепь). Два верхних ключа подключаются к положительной шине источника питания, два нижних ключа – к отрицательной шине источника питания. Для работы двигателя необходимо, чтобы были включены два ключа, например S1 и S4, в таком случае ток будет протекать от источника питания через ключ S1, далее через якорь двигателя и через ключ S4. В то же время, два другие ключа должны быть закрыты. Для изменения направления тока в якоре двигателя (а, соответственно, и направления вращения двигателя) необходимо закрыть открытые ключи S1 и S4, а ключи S2 и S3 открыть.

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

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

Для разрабатываемого проекта из имеющихся на рынке выбрана микросхема драйвера двигателя L298. Структурная схема драйвера l298 показана на рис.4.2.

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

Рисунок 4.2 – Структурная схема драйвера l298.

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

В документации указано, что для работы данной микросхеме нужно всего несколько внешних элементов, таких как: дополнительный источник питания 5В (необходим для питания логических цепей внутри микросхемы), а также 8 внешних диодов, которые будут выполнять функцию защиты драйвера и будут принимать на себя обратную ЭДС двигателя. Параметры микросхемы L298 приведены в таблице 4.1.

Напряжение питания5 – 46 В
Напряжение питания логики5 В
Ток коллектора длительный2 А
Ток коллектора импульсный3 А
Рабочая частота25 – 40 кГц
Входное напряжение логики3 – 5 В

Таблица 4.1 – параметры двигателя maxon DC motor.

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

Для управления данным драйвером требуется 3 входных сигнала, которые будут подаваться от микроконтроллера: 1 – разрешение работы, 2 и 3 направления вращения двигателя.

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

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

Из доступных в продаже на момент выбора датчиков тока на эффекте Холла, подходит лишь модель ACS758 фирмы Allegro Microsystem. Только данный датчик имеет биполярный вход, что в свою очередь позволит измерять не только величину тока, но и его знак. На рисунке 4.3 представлена схема подключения датчика из документации на него.

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

Рисунок 4.3 – Схема подключения датчика ACS758.

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

Максимальный измеряемый ток+- 50 А
Чувствительность40 мВ/А
Напряжение питания3.3 – 5 В

Таблица 4.2 – Основные параметры датчика тока

Так, как максимальный ток используемого в проекте двигателя не превышает 2 А, то можно посчитать, что максимальный диапазон выходного напряжения с датчика тока будет 1.55 – 1.75 В при питании от источника 3.3 В. Данный диапазон целесообразно будет расширить, т.к. АЦП в микроконтроллерах измеряет от нуля до напряжения питания с конечным разрешением (например 10 бит), а значит при таком диапазоне точность измерения будет низкой, а соответственно и точность регулирования тока также будет низкой.

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

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

Рисунок 4.4 – Схема включения операционного усилителя.

Данная схема позволяет отмасштабировать сигнал с датчика так, что при выходе с датчика сигнала 1.55 В на выходе операционного усилителя будет сигнал близкий к нулю, а при выходе с датчика 1.75 В уровень сигнала с выхода операционного усилителя будет близок к напряжению его питания, что позволит подключить его к АЦП микроконтроллера и получать более точные измерения. Расчет номиналов резисторов в реферате приводиться не будет. На основе приведенных выше выводов и выбора компонентов разработана общая схема драйвера двигателя, представленная на рис.4.5.

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

Рисунок 4.4 – Схема драйвера двигателя.

Данная схема включает драйвер для двух двигателей, два датчика тока и два операционных усилителя. Коннекторы TO_MOTOR – разъемы подключения двигателей и энкодеров, коннекторы TO_MCU – разъемы для подключения к микроконтроллеру, включающие три линии управления драйвером (описанные в предыдущем разделе) и две линии для сигналов с энкодера. Диоды в обвязке драйвера – любые быстродействующие диоды на напряжение и ток, превышающие напряжение и ток двигателя, стабилитроны по управляющим линиям – защитные стабилитроны с напряжением стабилизации, равным рабочему напряжению управляющего микроконтроллера, необходимые для защиты микроконтроллера в случае пробоя силового драйвера.

5. Описание программной части.

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

Самые распространенные на рынке микроконтроллеры – AVR, STM32, TI. Микроконтроллеры архитектуры AVR не соответствует требованиям 1,4 и 5 поэтому рассматриваться к применению не будут.

Микроконтроллеры STM32 и TI построены на одной архитектуре – Cortex M. Данная архитектура имеет поддержку всех ресурсов, необходимых по требованиям. Из двух линеек микроконтроллеров выберем STM32, так как микроконтроллеры TI при тех же характеристиках значительно дороже первых, а также менее распространены в продаже. На сайте производителя микроконтроллеров STM32 можно увидеть сравнительную характеристику всех линеек и все контроллеров среди линейки. Для разрабатываемой системы выбрана линейка контроллеров на ядре Cortex M4, так как линейки ниже не имеют поддержки аппаратных вычислений над числами с плавающей запятой, а контроллеры самой старшей линейки Cortex M7 стоят значительно дороже и имеют избыточные для разрабатываемой СУЭП ресурсы.

Из линейки STM32F4 выбран микроконтроллер STM32f407vgt6 так как начиная с этого контроллера имеется необходимое количество внешних прерываний, а также кроме этого имеется 6 аппаратных модулей энкодера, позволяющий обрабатывать данные с энкодера, не задействуя процессор. Кроме того, на базе данного микроконтроллера существует популярная плата для разработчиков, включающая сам микроконтроллер и необходимый для него программатор – отладчик. Применение такой платы значительно упрощает этап разработки микропроцессорных устройств. В таблице 5.1 приведены основные характеристики выбранного микроконтроллера которые повлияли на его выбор.

Таблица 5.1 – Основные характеристики микроконтроллера STM32f407vgt6.

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

С данным микроконтроллером работает множество IDE, но самой распространенной является среда Keil, так так имеет в своем составе наиболее мощные инструменты для работы с МК и имеет бесплатную версию.

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

Источник

Управление манипулятором meArm через web-интерфейс

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

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

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

Надо было каким-то образом включить смартфоны в учебный процесс. И это удалось. У одного из учащихся была сломанная «роборука» meArm. Решено было её отремонтировать, а затем написать для неё web-интерфейс.

Сразу попрошу прощения за излишнюю в некоторых местах «разжёванность» материала. Как оказалось, некоторые очевидные для профессионалов моменты представляют неодолимые трудности для новичков.

▍ Ремонт манипулятора meArm

Манипулятор meArm достаточно популярен в мире. Многие его продают за деньги, но это изначально open source.

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

Библиотека была скачана из репозитория как обычно, но установить её в Arduino IDE из zip-файла стандартным способом не удалось. Пришлось создать в папке libraries каталога установки Arduino IDE подпапку meArm и скопировать туда из скачанного архива файлы как на рисунке ниже:

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

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

«Роборуку» мы сначала разобрали, а затем собрали строго по инструкции. Серводвигатели подключили к Arduino Uno. Цепи питания серводвигателей «усилили» лабораторным блоком питания.

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

Проверка показала, что манипулятор собран правильно, и управляется из библиотеки как надо. «Роборуку» мы, таким образом, отремонтировали, можно было переходить к разработке контроллера для управления meArm по web-интерфейсу.

▍ Разработка контроллера

Городить контроллер из Arduino Uno и внешнего модуля Wi-Fi было совсем неинтересно, в результате выбор пал на ESP32. По цене это сопоставимо, но решение на базе ESP32 более компактно и производительно. В качестве источника питания решили использовать три аккумулятора 18650.

На макетную плату был смонтирован понижающий преобразователь DC-DC, какой был в наличии, и отладочная плата с ESP32-WROOM на борту. Схема подключения оборудования контроллера к meArm приведена ниже:

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

Нужно отметить, что плата контроллера разрабатывалась для использования в нескольких проектах, поэтому на установленную на плату микросхему КР1128КТ3А (функциональный аналог L293) внимание можно не обращать. Для управления meArm она не используется.

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

Преобразователь DC-DC на микросхеме LM2596 понижает напряжение батареи из трёх аккумуляторов 18650 до 5 В. Напряжение 5 В подаётся в цепи питания серводвигателей из состава манипулятора, а также на вход питания отладочной платы ESP32-WROOM.

Контроллер готов, настроим Arduino IDE для работы с ним.

▍ Поддержка ESP32 в Arduino IDE

Поддержка ESP32 в Arduino IDE включается через Менеджер плат. Для этого сначала надо открыть в Arduino IDE пункт меню Файл – Настройки и вставить в поле «Дополнительные ссылки для Менеджера плат» ссылку: «https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json»

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

Открываем Менеджер плат, как на рисунке ниже:

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

Находим поддержку ESP32 и устанавливаем последнюю стабильную версию ПО:

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

Подключаем отладочную плату ESP32-WROOM к компьютеру и определяем номер COM-порта. Если требуется драйвер CP2102, то он устанавливается из папки drivers каталога установки Arduino.

Выбираем COM-порт, выбираем тип платы «ESP32 Dev Module» и ничего больше в настройках не изменяем:

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

Поддержка ESP32 в Arduino IDE включена, но есть нюанс. Для работы ESP32 c сервоприводами нужно ещё скачать и установить соответствующую библиотеку, например, эту.

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

Библиотека устанавливается в Arduino IDE штатно:

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

Итак, поддержку ESP32 в Arduino IDE включили, рабочую среду для разработки web-интерфейса для управления манипулятором meArm настроили. Можно переходить к разработке web-интерфейса.

▍ Разработка web-интерфейса

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

Как «поднять» средствами Arduino IDE web-сервер, есть в стандартных примерах. Как создать на странице этого сервера органы управления сервоприводами, в стандартных примерах нет. Найденные в сети примеры реализации в Arduino управления серводвигателем через web-интерфейс, в конечном счёте вели сюда.

За основу был взят следующий код:

С помощью этого кода создавался один «слайдер», при установке «движка» которого в положение «100», например, формировался ответ вида «/?value=100&».

Нам же таких «слайдеров» было нужно четыре. JavaScript из нас до сих пор никто не знает. Методом проб и ошибок мы привели исходный код к такому состоянию:

С помощью этого кода мы получили web-интерфейс для управления манипулятором meArm такого вида:

Как управлять роботом манипулятором. Смотреть фото Как управлять роботом манипулятором. Смотреть картинку Как управлять роботом манипулятором. Картинка про Как управлять роботом манипулятором. Фото Как управлять роботом манипулятором

Скетч находится в свободном доступе здесь.

Перед использованием его нужно настроить: ввести в текст программы имя точки доступа Wi-Fi и пароль для подключения к ней.

При подключении к точке доступа контроллер передаёт по COM-порту свой IP-адрес. Он понадобится для подключения к web-интерфейсу. Для работы web-интерфейса необходим доступ к интернет.

Для тех, кто дочитал публикацию до конца, небольшое видео c результатами нашей разработки:

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *