Определение динамических характеристик в точках q1 b q2
Было задано движение звеньев модели
манипулятора таким образом, что он занимает 5 различных положений (Рис. 4.7),
при этом средняя угловая скорость поворота каждого звена составляла 1.57 рад/с,
достигнув каждого положения манипулятор останавливался на 0.5 сек.
Рис. 4.7. Движение модели
манипулятора для определения динамических характеристик
На рисунке 4.8 показаны графики:
угол поворота q1 1 ого звена, сила F, момент M, угловая скорость ω и угловое ускорение а, зависящие от времени. В начальный
момент времени, когда манипулятор в положении «1» угол поворота 1 ого звена
считается нулевым.
Рис. 4.8. Динамические
характеристики манипулятора в точке q1
Стоит заметить что в динамической модели угловая скорость изменяется плавно, а вращающий момент в среднем не превышает 1 Н*м, что является допустимой нагрузкой реальный сервопривод.
Аналогично строятся графики
динамических характеристик для точки q2 (Рис. 4.9)
Рис. 4.9. Динамические
характеристики манипулятора в точке q2
Здесь угол q2 поворота 2 ого звена в начальный момент времени (положение «1») отклонён на 90 градусов.
Определение динамических характеристик в точке q0
Точка q0 - это точка поворота основания
манипулятора вокруг своей оси. Движение модели манипулятора пройдёт через 4
разных положения (Рис. 4.10). Сначала манипулятор поворачивает на 90 градусов с
максимально вытянутой вперёд рукой, затем отклоняет руку назад и обратно
поворачивается на 90 градусов.
Рис. 4.10. Движение модели
манипулятора для определения динамических характеристик
Графики динамических характеристик
точки q0 показаны на рисунке 4.11
Рис. 4.11. Динамические
характеристики манипулятора в точке q0
4.4
Грузоподъёмность манипулятора
Грузоподъёмность манипулятора зависит от мощности его сервоприводов. Самая большая нагрузка идёт на сервопривод DF15RMG, отвечающий за поворот 1 го звена на угол q1. Он создаёт момент на валу 19 кг*см ≈ 1.86 Н*м. Максимальная грузоподъёмность - это тот максимальный вес, который манипулятор сможет поднять при максимально вытянутой вперёд руки.
Модель манимулятора ставится в
положение с максимально вытянутой рукой вперёд, на ось 1 го звена задаётся
вращающий момент М=1.86 Н*м, который сможет развить сервопривод, схват
манипулятора держит груз, масса которого m постепенно увеличивается
до тех пор, пока силы момента не хватит чтобы его поднять (Рис. 4.12).
Максимальная масса которую смог поднять манипулятор = 150 грамм (при 160 грамм
он уже опускается вниз).
Рис. 4.12. Определение
грузоподъёмности манипулятора
Таким же способом можно определить
сколько поднимет сервопривод RDS3115, поворачивающий 2 ое звено, с моментом M = 17 кг*см ≈ 1.67
Н*м (Рис. 4.13).
Рис. 4.13. Определение
грузоподъёмности 2 го звена
Максимальный вес, который смогло
поднять 2 ое звено составил 330 грамм.
Также с помощью динамической модели
можно определить с какой скоростью манипулятор сможет повернуть свои звенья при
определённом вращающем моменте и массе груза. Ниже показаны зависимости угловой
скорости 1 ого звена от времени и угла поворота q1 при вращающем моменте М=1.86
Н*м, без груза (Рис. 4.14), с грузом массой 150 грамм (Рис. 4.15).
Рис. 4.14. Зависимость угловой 1 ого
звена скорости от времени (без груза)
Рис. 4.15. Зависимость угловой 1 ого
звена скорости от времени (с грузом)
Такие же зависимости были определены
для 2 го звена с вращающим моментом М=1.67 Н*м без груза (Рис. 4.16) и с
грузом массой 150 грамм (Рис. 4.17).
Рис. 4.16. Зависимость угловой 1 ого звена скорости от времени (без груза)
Стоит заметить что в реальности
сервоприводы обоих звеньев не смогут вращаться быстрее 400 град/с (по
техническим характеристикам). Так же в динамической модели не учитываются
различные сопротивления и силы трения, поэтому реальные скорости окажутся куда
ниже.
4.5
Математическое описание динамической модели манипулятора
Для упрощения математического
описания динамики манипулятора сделаем его поворотное основание неподвижным,
тогда получим двухзвенный манипулятор (Рис. 4.18).
Рис. 4.18. Двухзвенный манипулятор
Для описания динамики движения манипулятора выполним применение уравнений Лагранжа-Эйлера.
присоединенными
переменными являются
;
первое и второе звенья
имеют массы
и
;
параметры звеньев имеют
значения
;
;
.
Тогда для матрицы имеем:
,
,
,
где
В соответствии с
определением матрицы
для
вращательного сочленения имеем:
,
получаем:
,
аналогично для
и
получаем:
,
.
Полагая, что
центробежные моменты инерции равны нулю, получим формулу для матрицы
псевдоинерции
:

Определения слагаемых, описывающих
центробежное и кориолисово ускорение:
,
,
.
Слагаемые, определяющие
влияние гравитационных сил
:
Таким образом, вектор,
определяющий влияние силы тяжести:
.
Окончательно имеем
уравнения описывающие динамику движения манипулятора, где
сила,
которую должен развить силовой привод i-го
сочленения, чтобы реализовать данное движение:
,
Для сравнения работы математической
и компьютерной динамических моделях манипулятора был вычислен график
зависимости момента от времени в сочленении 2-го и 1-го звеньев. График
компьютерной модели был показан в главе 4.3 на рисунке 4.9. Для расчёта момента
в упрощённой математической модели были использованы данные из расчётов в главе
4.3, а именно функции угловых скоростей и ускорений 1-го и 2-го звеньев, а так
же их массы и длины. Это выполнялось для того, чтобы расчёт момента в
математической модели выполнялся при тех же условиях, которые были заданы в
компьютерной модели. На рисунке 4.19 представлено сравнение графиков момента,
возникающего в сочленении 2-го и 1-го звена при движении манипулятора. Как
видно форма графиков похожа, но в некоторой степени отличаются значения
моментов на разных графиках. Такая разница происходит из-за того, что в
математической модели рассчитывалась упрощённая схема двухзвенного
манипулятора, а также не учитывалось влияние параллельного механизма
манипулятора.
Рис. 4.19. Сравнение графиков
динамической характеристики манипулятора, рассчитанных на компьютерной и
математической динамических моделях
5. Разработка аппаратного комплекса манипулятора
.1
Печать деталей на 3D-принтере
Детали схвата манипулятора детали
изготавливались при помощи 3D печати на 3D принтере Makerbot Replicator.
Процесс печати показан на рисунке 5.1. Детали печатались пустотелыми, для
экономии материала, и получились лёгкими по весу, что хорошо скажется на грузоподъёмности
манипулятора, при этом они обладают достаточной прочностью.
Рис. 5.1. Печать деталей для схвата
манипулятора
Так же на принтере Makerbot Replicator печатались детали для шарнира, который соединяет схват и 2 ое звено манипулятора, эти детали также являются пустотелыми для уменьшения веса. Все детали печатались по 3D моделям, разработанным в главе 3.4.
Всё остальное печаталось на 3D
принтере 3DTouch. Это были детали основания и детали параллельного механизма.
Они печатались с более грубой точностью чем детали схвата и не являются
пустотелыми, при этом обладают значительной массой, но являются очень прочными.
Прочность основания играет большую роль, т.к. на него действуют самые большие
нагрузки. При этом большой вес основания не влияет на грузоподъёмность
манипулятора. На рисунке 5.2 показаны напечатанные деталь основания и кронштейн
для крепления звена параллельного механизма к основанию.
Рис. 5.2. Напечатанные деталь для
основания и кронштейн
5.2
Ручное изготовление деталей
Детали 1-го и 2-го звена и дополнительных звеньев параллельного механизма манипулятора изготавливаются вручную из алюминиевых реек. Т.к. эти детали достаточно длинные, они должны обладать хорошей прочностью и жёсткостью. Алюминий обладает этими качествами в отличии от пластика, который более гибкий, и использование пластика привело бы к сильным колебаниям манипулятора во время движения.
Детали изготавливались согласно
размерам 3D моделей из главы 3.4. На рисунке 5.3 изображена деталь 1 го звена
с прикреплёнными к ней кронштейнами сервоприводов.
Рис. 5.3. Деталь 1 го звена
На деталь 2 го звена кронштейн
сервопривода крепится только с одной стороны (Рис. 5.4), к другой стороне будет
крепится шарнирное соединение схвата.
Рис. 5.4. Деталь 2 го звена
Чтобы манипулятор стоял устойчиво и
не опрокинулся при работе, было решено сделать для него специальную платформу,
к которой будет крепиться основание манипулятора. Размеры платформы будут 50x50 см. Т.к. значительная часть
рабочей зоны манипулятора находится ниже его основания (Рис. 4.4), было решено
поднять основание над платформой на 10 см. На рисунке 5.5 изображена модель
платформы с указанными размерами.
Рис. 5.5. Схема платформы для
манипулятора
Платформа изготавливалась целиком из
фанеры толщиной 10 мм, все элементы платформы скреплены саморезами (Рис. 5.6).
Рис. 5.6. Платформа для манипулятора
.3
Сборка манипулятора
Все детали схвата скреплены болтами
диаметром 4 мм, они не слижком затянуты, чтобы схват работал без затруднений.
На рисунке 5.7 изображен собранный схват (вид сверху и снизу).
Рис. 5.7. Собранный схват
манипулятора
На рисунке 5.8 изображено
скрепленные 1 ое и 2 ое звено, это основная часть конструкции манипулятора, её
вес составляет 260 грамм.
Рис. 5.8. 1-ое и 2-ое звенья
манипулятора
Схват крепится к 2 му звену через
специальное шарнирное соединение (Рис. 5.9).
Рис. 5.9. Шарнирное соединение
Нижняя неподвижная часть основания
манипулятора крепится болтами к платформе (Рис. 5.10), затем к ней крепится
верхняя подвижная часть основания.
Рис. 5.10. Нижняя часть основания
Полностью собранный робот,
установленный на платформу и подключенный к плате Arduino и блоку питания показан
на рисунке 5.11
Рис. 5.11. Готовый манипулятор
6. Разработка системы управления манипулятором
6.1 Разработка системы
управления манипулятором на основе Arduino
Система управления манипулятором разработана на основе Arduino Uno которая подключена к компьютеру через COM порт, по которому поступает на Arduino питание и команды для управления сервоприводами манипулятора. Четы сервопривода подключены к Arduino к цифровым портам под номерами 6, 8, 10, 12 . Сервоприводы подключены параллельно к отдельному источнику питания, номинальное напряжение питания 7В. Также земля (GND) сервоприводов подключена к Arduino к контакту GND.
Сервопривод «servo 0», подключенный к pin 6 (Рис. 6.1), управляет поворотом основания манипулятора, модель сервопривода SR430. «servo 1», подключенный к pin 8, управляет поворотом 1 го звена манипулятора, модель сервопривода DF15RMG. «servo 2», подключенный к pin 10, управляет поворотом 2 го звена манипулятора, модель сервопривода RDS3115. «servo 3», подключенный к pin 12, управляет сжатием / разжатием механического схвата манипулятора, модель сервопривода SR430.
При подключении Arduino к питанию, в ней тут же
запускается программа и посылает сигналы на сервоприводы, чтобы они повернулись
в начальное положение. Далее программа начинает ожидать команды, поступающие в COM порт с компьютера.
Команды являются строками, содержащими значения углов поворотов сервоприводов
манипулятора. Как только поступает команда (строка) в COM порт, программа
считывает данные углов поворота из этой строки и отправляет сигналы управления
с новыми значениями на сервоприводы.
6.2 Разработка
копмьютерной программы для управления манипулятором
Компьютерная программа выполняет все вычисления для управления манипулятором. Она позволяет выполнить следующее: вручную управлять поворотами каждого звена по отдельности а также схватом; управлять передвижением рабочей точки манипулятора вдоль осей X, Y, Z декартовой системы координат; управлять скоростью движения манипулятора; позволить программировать манипулятор для автоматического передвижения через конкретные точки.
Код программы написан на языке C# в среде Visual Studio [21]. Внешне программа выглядит в виде формы, на которой расположены отдельные панели, выполняющие свои функции, например: панель для ручного управления роботом, которое выполняется с помощью кнопок; панель настройки скорости движения манипулятора; панель программирования манипулятора, которая позволяет задать и запустить программу автоматического управления роботом; панель информации, где указываются данные о состоянии манипулятора. На рисунке 6.3 показана копия экрана программы в которой стоят обозначения отдельных её функций, которые далее будут более подробно описаны.