- •Всероссийский форум научной молодежи «Шаг в будущее» Системы управления с обратной связью. Выбор оптимальной системы управления роботизированной платформой
- •Системы управления с обратной связью. Выбор оптимальной системы управления роботизированной платформой
- •Аннотация
- •Системы управления с обратной связью. Выбор оптимальной системы управления роботизированной платформой
- •План исследования
- •Системы управления с обратной связью. Выбор оптимальной системы управления роботизированной платформой.
- •Научная статья введение
- •Основное содержание
- •Список литературы
- •Заключение
Системы управления с обратной связью. Выбор оптимальной системы управления роботизированной платформой
Тагильцев Даниил Анатольевич
Красноярский край, Северо-Енисейский район, п. Тея, МБОУ ТСШ № 3, 11 класс
План исследования
Проблема данного исследования заключается в том, что основные системы управления не адаптированы под платформу Arduino, а так же отсутствует сравнительная таблица основных настроек регуляторов, которые управляют роботом с определёнными геометрическими и техническими характеристиками при движении вдоль чёрной линии.
Методы исследования: моделирование, анализ, синтез, сравнение, обобщение, интеграция, эксперимент.
План исследования:
1. Изучение литературы по данному вопросу.
2. Обоснованный выбор некоторых алгоритмов управления.
3. Построение робота на базе Arduino для исследования алгоритмов управления.
4. Написание выбранных алгоритмов управления на языке программирования Arduino IDE.
5. Определение экспериментальным путём оптимальной системы управления данным роботом и основных параметров регуляторов, при которых робот лучше всего перемещается вдоль чёрной линии.
Системы управления с обратной связью. Выбор оптимальной системы управления роботизированной платформой.
Тагильцев Даниил Анатольевич
Красноярский край, Северо-Енисейский район, п. Тея, МБОУ ТСШ № 3, 11 класс
Научная статья введение
Такое понятие как системы автоматического управления (теория автоматов, алгоритм управления) используется давно и не является новшеством в теории робототехники. Впервые о использовании систем автоматического управления роботами в образовательной робототехники в России заговорил Сергей Александрович Филиппов - преподаватель информатики и Робототехники в Физико-математическом лицее №239. Его труды по данному направлению вошли в книгу - Робототехника для детей и родителей. Правда, все его труды, а так же труды других авторов работающих над данным направление связаны с использованием систем автоматического управления для знаменитого конструктора Lego Mindstorms NXT 2.0, либо EV3. Алгоритмы управления роботами при движении по чёрной линии были написаны на таких языках программирования, как РоботСи, NXT-G, RoboLab. Полностью отсутствует информация по использованию данных алгоритмов управления для платформы Arduino. Проблема данного исследования заключается в том, что основные системы управления не адаптированы под платформу Arduino, а так же отсутствует сравнительная таблица основных настроек регуляторов, которые управляют роботом с определёнными геометрическими и техническими характеристиками при движении вдоль чёрной линии.
Объект исследования: Образовательная робототехника.
Предмет исследования: Системы автоматического управления.
Основное содержание
Цель работы: Выбор оптимальной системы управления роботизированной платформой с определёнными техническими характеристиками на базе Arduino.
Область применения алгоритмов автоматического управления в образовательной робототехнике.
Алгоритмы автоматического управления широко применяются на занятиях по робототехнике в кружках и других образовательных учреждениях. Изучение данного направления показывает учащимся возможность управления роботизированной платформой без участия человека, используя датчики, изменяя внешние условия. Применение подобных алгоритмов управления используется в соревнованиях по робототехнике. Практически во всех соревнованиях по робототехнике присутствует движение вдоль чёрной линии. Придвижение робота вдоль чёрной линии могут быть использованы как аналоговые, так и цифровые датчики освещённости в различном количестве.
Отличия платформы Arduino от Lego.
Самой распространённой робототехнической платформой, которую используют в образовательной робототехнике, является платформа Lego Mindstorms NXT 2.0. Данная платформа представляет собой конструктор (Рисунок №1) состоящий из центрального процессора, различных датчиков, сервомоторов и элементов входящих в состав набора Lego Technic.
Конструктор позволяет собирать интересные модели со стороны изучения физики, а датчики и центральный блок, содержащий маломощный процессор, позволяют данную модель механизировать и запрограммировать на выполнение определённых команд. Данный набор используется на занятиях по робототехнике и играет ведущую роль, среди роботизированных платформ, при участии в соревнованиях по робототехнике. Огромным минусом данного набора, является его закрытость и ограниченность. Компания Lego запрещает разбирать, модернизировать, видоизменять элементы данного конструктора. При нарушении данного запрета участие робота, содержащего изменённые элементы, в большинстве видов соревнований, запрещается. Это очень мешает при создании крупных робототехнических проектов. Высокая цена, также является недостатком данной платформы.
В последнее время набирает популярность робототехническая платформа под названием Arduino (Рисунок №2). Данная платформа является открытой, что позволяет модернизировать её, видоизменять и добавлять самодельные модули для решения определённых задач. Так же это позволяет использовать датчики и механическую часть от различных наборов, что делает данную платформу универсальной и безграничной по своему функционалу.
Вывод:
Преимущество использования платформы Arduino старшими школьниками для создания роботов над платформой Lego очевидно. Тем более в последние годы разрешается использование Arduino в соревнованиях по робототехнике.
Выбор и анализ систем автоматического управления.
Для выбора систем автоматического управления было изучено много литературы. Главные критерии по которым отбирались системы, это простота исполнения, возможность применения данной системы (алгоритма) для движения робота вдоль чёрной линии и возможность перевода данной системы в язык программирования Arduino IDE. Были отобраны шесть систем, с которыми мы и продолжили дальнейшую работу:
Система автоматического управления - релейный регулятор.
Релейным регулятором называется регулятор, у которого регулирующий орган под действием сигнала от датчика может принимать одно из двух крайних положений:
«открыт» - «закрыт». При этом управляющее воздействие на регулируемый объект может быть только максимальным или минимальным [1].
Смысл данного регулятора очень прост. У нас имеется робот, состоящий из двух моторов, поворотного колеса и двух аналоговых датчиков освещённости. Модель данного робота представлена на рисунке №3. Буквой М обозначены моторы, кружки, закрашенные красным цветом - датчики освещённости. При движении данного робота вдоль чёрной линии возможно четыре различных состояния датчиков (рисунок №3). Состояние №1, оба датчика расположены на белом, в таком случае управляющий регулятор должен подать на оба мотора робота одинаковую мощность т.к. в такой ситуации робот должен поехать вперёд. Состояние №2, робот наехал на линию левым датчиком, следовательно, регулятор сообщает правому мотору большую мощность и робот поворачивает влево до тех пор, пока левый датчик освещённости не окажется на белом. Аналогично с состоянием №3, только в данном случае робот поворачивает направо. Состояние №4. Робот наехал на перекрёсток, оба датчика расположены над чёрной линией. Регулятор так же как и при состоянии №1 подаёт на моторы одинаковую мощность - робот едет вперёд.
Система автоматического управления - пропорциональный регулятор.
Данный регулятор отличается от релейного кардинальный образом и позволяет плавно управлять мощностью моторов робота в зависимости от того, насколько "глубоко" робот заехал тем или иным датчиком на линию.
При
использовании данного регулятора,
введём некоторые переменные.
-
показания левого датчика освещённости,
-
показания правого датчика освещённости,
-
разница между показаниями левого и
правого датчиками освещённости,
рассчитывается один раз (
)
за выполнение алгоритма (заводская
ошибка датчиков). Математическая модель
регулятора:
,
где U- влияющий коэффициент, k- усиливающий коэффициент (обычно равен от 2 до 10, в зависимости от конфигурации робота), ml- мощность левого мотора, mr - мощность правого мотора.
Система автоматического управления - пропорциональный регулятор с кубической составляющей.
Глядя на результаты применения регуляторов при движении по линии с двумя датчиками, можно заметить, что робот показывает лучшее время, если на прямолинейных участках движется с малыми отклонениями, а на изгибах поворачивает резко. Такого эффекта можно достичь, используя вместе с пропорциональной кубическую составляющую с малым коэффициентом:
-
расчёт статической ошибки (заводская
разность сенсоров, рассчитывается один
раз в самом начале программы):
Математическая модель регулятора:
Мощность, подаваемая на моторы:
разница
показаний сенсоров с учётом заводской
ошибки.
пропорциональная
составляющая регулятора.
кубическая
составляющая регулятора.
усиливающий
коэффициент для пропорциональной
составляющей.
усиливающий коэффициент для кубической
составляющей.
Данный регулятор позволяет разгрузить пропорциональную составляющую, понизив её коэффициент. При малых отклонениях «куб» практически не оказывает влияния на движение. Зато на поворотах, когда невязка повышается значительно, кубическая составляющая стремительно "вырастает" из своего понижающего коэффициента.
Система автоматического управления – пропорционально-дифференциальный регулятор.
В некоторых ситуациях пропорциональный регулятор может вывести систему из устойчивого состояния. Для защиты от подобных ситуаций в регулятор добавлена дифференциальная составляющая, которая будет следить за направлением движения робота. Иными словами, значение скорости будет влиять на управляющее воздействие [2]. - расчёт статической ошибки (заводская разность сенсоров, рассчитывается один раз в самом начале программы).
Математическая модель регулятора:
Мощность, подаваемая на моторы:
разница
показаний сенсоров с учётом заводской
ошибки.
пропорциональная
составляющая регулятора.
дифференциальная
составляющая регулятора.
усиливающий
коэффициент для пропорциональной
составляющей.
усиливающий коэффициент для дифференциальной
составляющей.
отклонение
на предыдущем шаге.
ПД регулятор позволяет добиться точного движения робота вдоль чёрной линии, особенно это заметно на больших скоростях.
Система автоматического управления – пропорционально-дифференциальный регулятор с регулятором скорости движения.
Данный регулятор построен на базе ПД регулятора, единственная разница в том, что в его математическую модель добавлена ещё одна составляющая регулирующая начальную скорость движения.
Как известно, даже опытные гонщики притормаживают на поворотах. Для робота, движущегося по линии, скорость характеризуется увеличением абсолютного значения управляющего воздействия, в нашем случае – это переменная u. Таким образом в данном регуляторе скорость (v) можно регулировать следующим образом:
,
где vmax – максимальная мощность подаваемая на моторы, а kv – понижающий коэффициент.
Таким образом, робот управляемый данным регулятором будет притормаживать на поворотах.
Система автоматического управления – пропорционально-дифференциальный регулятор с кубической составляющей.
Данный регулятор является нашим экспериментом. Мы просто в ПД регулятор внесли кубическую составляющую. Математическая модель выглядит следующим образом:
Мощность, подаваемая на моторы:
,
где uK – кубическая составляющая данного регулятора, а в остальном данный регулятор ни чем не отличается от ПД.
Выводы:
Из множества автоматических систем регулирования мы остановились на основных системах:
1. Релейный регулятор
2. Пропорциональный регулятор
3. Пропорциональный регулятор с кубической составляющей
4. Пропорционально-дифференциальный регулятор
5. Пропорционально-дифференциальный регулятор с регулировкой скорости
6. Пропорционально-дифференциальный регулятор с кубической составляющей
Все регуляторы будут использоваться на роботе с двумя датчиками освещённости. В каждом регуляторе, кроме релейного, используется расчёт статической ошибки датчиков (калибровка).
Создание робота для исследования систем управления, написание скетчей систем управления.
При реализации данного этапа работы были разработаны две модели робота:
1. Робот на базе шасси Gekko Sport - mini 2 wd (Рисунок 5).
Для создания робота были использованы следующие элементы:
Arduino Uno (Рисунок 4).
Драйвер моторов двухканальный DFRobot для Arduino на L298P v1.2 <2А (Рисунок 4).
Плата расширения для подключения сенсоров (Arduino Sensor Shield v5) (Рисунок 4).
Шасси Gekko Sport-mini 2wd, переработанное, изготовлено самодельное основание из органического стекла. Диаметр основания 127 мм. На данной платформе используются моторы с редуктором Gekko MR12-030. Скорость вращения мотора без нагрузки: 400 об/мин. Крутящий момент: 0,35 кг*см. Диаметр колёс 42 мм (Рисунок 5).
Аналоговые датчики уровня серого DFRobot v2 (датчики освещённости). Датчики имеют встроенную подсветку. Данный датчик работает по принципу делителя напряжения.
Для питания данной системы использовались батарейки и аккумуляторы: крона 9V Camelion (250 mAh) (питание контроллера), пальчиковые батарейки типа АА, 6 штук.
Болты М3, гайки М3, стойки для крепления Arduino, соединительные провода.
Для датчиков, из пластиковой крышечки, была изготовлена защита от засвечивания внешними источниками света. Что позволило уменьшить погрешность снятия показаний с датчиков при различном освещении. После того, как все элементы были соединены, получился робот компактных размеров (Рисунок 6).
При тестировании выбранных систем управления на данном роботе выяснилось, что крутящего момента 0,35 кг*см, которым обладают моторы платформы Gekko, не хватает и робот становится очень инертным, т.к. моторы не успевают качественно реагировать на приказы регулятора. Времени, заказывать моторы с большим крутящим моментом для данной платформы, не было, поэтому мы решили воспользоваться тем, что у нас есть.
2. Робот на базе конструктора Lego с управляющим модулем Arduino.
Так как времени заказывать новые моторы не было, мы решили воспользоваться имеющимся набором Lego Mindstorms NXT2.0 для создания платформы («мозг» Arduino). Моторы набора Lego имеют крутящий момент 3 кг*см, для данного эксперимента этого показателя будет достаточно. На данном роботе было использовано стандартное поворотное колесо от базовой модели Lego Mindstorms (Рисунок.7).
Для того чтобы можно было использовать платформу Arduino и моторы Lego Mindstorms, были изготовлены кабели-переходники (Рисунок 8). На фото Белый провод – питание мотора + (Vcc), Чёрный провод – питание мотора –(GND), Красный и Зелёный провода – питание энкодеров, Синий и Жёлтый провода – сигнал с энкодеров смещённых на полу фазу. Готовый робот изображён на рисунке 9.
В дальнейшем наш робот был модернизирован. Схема робота с его геометрическими параметрами представлена на рисунке 10.
На данной модели робота тестировались алгоритмы управления. Выбранные регуляторы (системы управления) были переведены в язык программирования Arduino IDE для последующей заливки в чип робота. Программа, написанная на языке программирования Arduino IDE, называется скетчем.
Выводы:
1. Для данной исследовательской работы были изготовлены два робота. Один на базе платформы Gekko Sport-mini 2wd, второй – на базе конструктора Lego.
2. Получена возможность совмещения двух платформ Lego и Arduino.
3. Системы регулирования переведены на язык программирования Arduino IDE.
4. Создана геометрическая модель нашего робота.
Выбор экспериментальным путём оптимальной системы управления.
Для сравнения выбранных алгоритмов управления было использовано игровое поле для соревнований «Hello! Robot! Биатлон» (Рисунок №11).
Как проводилось тестирование алгоритмов: в чип робота заливался скетч с определённым алгоритмом, робот устанавливался на основной круг игрового поля, запускался секундомер, и робот начинал движение, которое продолжалось ровно один круг, после чего секундомер останавливался. Каждый алгоритм управления испытывался 5 раз. В таблице №1 приведены основные значения мощности подаваемой на двигатели и коэффициентов для каждого регулятора, при которых робот двигался стабильно вдоль чёрной линии и не сбивался при поворотах 90o.
Таблица №1. Основные значения мощности и коэффициентов регуляторов.
|
Регуляторы |
|||||
Р |
П |
П+куб |
ПД |
ПД + регулировка скорости |
ПД+куб |
|
Мощность (max =100) |
90 |
77 |
82 |
90 |
≈100 |
90 |
Значения коэффициентов |
|
k1=7 |
k1=5 k2=0.0055 |
k1=5 k2=45 |
k1=5 k2=35 kv=0.3 |
k1=5 k2=38 k3=0.005 |
В таблице №2 представлено время тестирования каждого регулятора.
Таблица №2. Сравнительная таблица времени движения робота управляемого различными системами.
№ |
Р (с) |
П (с) |
П+куб (с) |
ПД (с) |
ПД+куб (с) |
ПД с регулятором скорости (с) |
1 |
18.99 |
20.18 |
19.27 |
16.51 |
17.03 |
14.85 |
2 |
19.80 |
20.01 |
19.24 |
16.71 |
17.36 |
14.75 |
3 |
19.51 |
20.58 |
19.37 |
16.77 |
17.25 |
14.64 |
4 |
19.50 |
20.34 |
19.57 |
16.96 |
17.54 |
15.23 |
5 |
20.11 |
20.25 |
19.45 |
16.72 |
17.14 |
15.09 |
Из данной таблицы видно, что самое лучшее время движения робота вдоль чёрной линии показывает пропорционально-дифференциальный регулятор с изменением скорости. Как и предполагалось теоретически. Это и есть оптимальный регулятор, для управления роботизированной платформой на базе Arduino.
Результаты.
Таблица №3. Среднее время прохождения роботом трассы, используя различные регуляторы
Регулятор |
Время прохождения трассы (среднее) (с) |
Релейный |
19.58 |
Пропорциональный |
20.27 |
Пропорциональный с кубической составляющей |
19.38 |
Пропорционально-дифференциальный |
16.73 |
Пропорционально-дифференциальный с кубической составляющей |
17.26 |
Пропорционально-дифференциальный с регулятором скорости |
14.90 |
