Українська   English
ДонНТУ   Портал магистров

Реферат по теме выпускной работы

Содержание

Введение

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

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

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

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

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

Управление роботом осуществляется с помощью платы STM32F4. Система управления была построена в приложении Waijung Blockset, позволяющем создавать и преобразовывать модели, сделанные с помощью обычных Simulink–блоков в программный код, работающий на микроконтроллере STM32.

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

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

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

2. Цель и задачи исследования

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

3. Манипулятор. Общие сведения

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

Современный робот–манипулятор состоит из нескольких твердых звеньев, которые соединены разными типами сочленений (вращательными или поступательными), как это показано на рисунке 3.1.

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

Рисунок 3.1 — Конструкция типичного робота–манипулятора

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

Такая конструкция позволяет с помощью руки манипулятора обеспечить желаемое положение схвата в пространстве, а с помощью запястья — необходимую ориентацию.

4. Конструкция робота–манипулятора

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

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

Общий вид получившегося манипулятора представлен на рисунке 4.1.

Общий вид манипулятора (сборка в SolidWorks)

Рисунок 4.1 — Общий вид манипулятора (сборка в SolidWorks)

После разработки проекта в SolidWorks манипулятор был собран вживую. Большинство деталей были напечатаны на 3D–принтере.

5. Определение параметров для выбора двигателей

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

Для этого была построена модель манипулятора в библиотеке SimMechanics пакета Simulink среды разработки Matlab. Эта библиотека позволяет создавать модели различных объектов с учетом их размеров и физических свойств, что сильно упрощает создание и моделирование сложных механических систем, так как не требуется их математического описания. В работе было использовано второе поколение приложения SimMechanics[6-7].

Моделирование движения манипулятора

Рисунок 5.1 — Моделирование движения манипулятора
(анимация: 8 кадров, 6 циклов повторения, 147 килобайт)

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

Структурная схема задатчика положения

Рисунок 5.2 — Структурная схема задатчика положения

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

Полученные графики

Рисунок 5.3 — Полученные графики

6. Кинематика робота

Задачей является определение необходимых перемещений робота в пространстве для захвата объекта при известных координатах манипулятора и объекта.

Для этого необходимо решить прямую и обратную задачи кинематики.Звенья манипулятора совершают вращательные движения относительно неподвижной системы координат[8].

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

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

Для этого была составлена матрица поворота, из которой была получена система уравнений.

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

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

7. Система управления манипулятором

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

Одноконтурная система регулирования положения

Рисунок 7.1 — Одноконтурная система регулирования положения

ЗП — задатчик положения, РП — регулятор положения, ШИМ — широтно–импульсная модуляция, ДП — датчик положения


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

Управление устройством происходит с помощью смартфона на базе Android, на котором установлено разработанное приложение. Связь с устройством осуществляется беспроводным способом по bluetooth. Для этого на роботе установлен bluetooth–приемник HC–05.

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

Общая структура программы

Рисунок 7.2 — Общая структура программы

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

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

Структура контура регулирования

Рисунок 7.3 — Структура контура регулирования

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

Обратная связь обеспечивается с помощью потенциометра. При вращении вала двигателя, движок потенциометра также вращается, изменяя падение напряжения на своих выводах. Это падение напряжения заводится на АЦП контроллера. Для работы с АЦП используется блок Regular ADC, в параметрах которого нужно указать номер вывода, к которому подключен датчик.

Сигнал с выхода блока Regular ADC масштабируется в радианы с помощью блока Lookup Table. Затем проходит через фильтр, чтобы убрать высокочастотные помехи, наведенные магнитными полями. Роль фильтра играет апериодическое звено.

Графики отработки задания для этого звена представлены на рисунке 7.4.

Отработка задания третьим двигателем

Рисунок 7.4 — Отработка задания третьим двигателем

Таким образом, используя ПИ–регулятор положения удалось добиться желаемой точности отработки задания.

8. Обзор операционной системы реального времени MBED OS

MBED OS является операционной системой реального времени (RTOS), а значит позволяет создавать в программе множество разных потоков, которые будут выполняться квазиодновременно[10]. Очень часто в разработке программ существует необходимость выполнения нескольких задач параллельно друг–другу. Эти задачи могут как не иметь между собой никакой связи, так и зависеть друг от друга. Например, когда необходимо, чтобы определенная функция выполнилась только при условии, что другая функция закончила свое выполнение.

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

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

Еще одним преимуществом такого подхода является то, что библиотека Mbed написана на языке C++, следовательно создание программы возможно как на языке C, так и на C++, а значит можно писать код в объектно–ориентированной парадигме.

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

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

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

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

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

Выводы

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

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

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

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

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

Список источников

  1. Москвичев А. А., Кварталов А. Р., Устинов Б. В.Захватные устройства промышленных роботов и манипуляторов.-М.:Форум, Инфра-М, 2015. — 176 c.
  2. Sam Cubero Industrial Robotics. Theory, Modelling and Control / Pro Literatur Verlag, 2006. — 964 pp.
  3. Lorenzo Sciavicco, Bruno Siciliano Modelling and Control of Robot Manipulators / CreateSpace Independent Publishing Platform, 2001. — 371 pp.
  4. Matt Lombard Mastering SolidWorks / Sybex, 2018. — 1248 pp.
  5. David Planchard Official Certified SOLIDWORKS Professional (CSWP) Certification Guide / SDC Publicaations, 2017. — 192pp.
  6. MatLab. Руководство для начинающих. Основные матричные операции [Электронный ресурс]. — Режим доступа: https://rcs.chemometri...
  7. SimMechanics: Matlab как средство моделирования робототехнических систем [Электронный ресурс]. — Режим доступа: http://trudymai.ru...
  8. Фу К., Гонсалес Р., Ли К. Робототехника.-М.: Мир, 1989. — 624 с.
  9. Анучин А.С. Системы управления электроприводов: учебник для вузов. — М.: Издательский дом МЭИ, 2015. — 373 с.
  10. MBED OS. APIs [Электронный ресурс]. — Режим доступа: https://os.mbed...