Выбор и анализ систем автоматического управления.
Для выбора систем автоматического управления было изучено много литературы. Главные критерии по которым отбирались системы, это простота исполнения, возможность применения данной системы (алгоритма) для движения робота вдоль чёрной линии и возможность перевода данной системы в язык программирования Arduino IDE. Были отобраны шесть систем, с которыми мы и продолжили дальнейшую работу:
1. Система автоматического управления - релейный регулятор.
Релейным регулятором называется регулятор, у которого регулирующий орган под действием сигнала от датчика может принимать одно из двух крайних положений:
«открыт» - «закрыт». При этом управляющее воздействие на регулируемый объект может быть только максимальным или минимальным [1].
Смысл данного регулятора очень прост. У нас имеется робот, состоящий из двух моторов, поворотного колеса и двух аналоговых датчиков освещённости. Модель данного робота представлена на рисунке №3. Буквой М обозначены моторы, кружки, закрашенные красным цветом - датчики освещённости. При движении данного робота вдоль чёрной линии возможно четыре различных состояния датчиков (рисунок №3). Состояние №1, оба датчика расположены на белом, в таком случае управляющий регулятор должен подать на оба мотора робота одинаковую мощность т.к. в такой ситуации робот должен поехать вперёд. Состояние №2, робот наехал на линию левым датчиком, следовательно, регулятор сообщает правому мотору большую мощность и робот поворачивает влево до тех пор, пока левый датчик освещённости не окажется на белом. Аналогично с состоянием №3, только в данном случае робот поворачивает направо. Состояние №4. Робот наехал на перекрёсток, оба датчика расположены над чёрной линией. Регулятор так же как и при состоянии №1 подаёт на моторы одинаковую мощность - робот едет вперёд.
2. Система автоматического управления - пропорциональный регулятор.
Данный регулятор отличается от релейного кардинальный образом и позволяет плавно управлять мощностью моторов робота в зависимости от того, насколько "глубоко" робот заехал тем или иным датчиком на линию.
При использовании данного регулятора, введём некоторые переменные. - показания левого датчика освещённости, - показания правого датчика освещённости, - разница между показаниями левого и правого датчиками освещённости, рассчитывается один раз ( ) за выполнение алгоритма (заводская ошибка датчиков). Математическая модель регулятора:
,
где U- влияющий коэффициент, k- усиливающий коэффициент (обычно равен от 2 до 10, в зависимости от конфигурации робота), ml- мощность левого мотора, mr - мощность правого мотора.
3. Система автоматического управления - пропорциональный регулятор с кубической составляющей.
Глядя на результаты применения регуляторов при движении по линии с двумя датчиками, можно заметить, что робот показывает лучшее время, если на прямолинейных участках движется с малыми отклонениями, а на изгибах поворачивает резко. Такого эффекта можно достичь, используя вместе с пропорциональной кубическую составляющую с малым коэффициентом:
- расчёт статической ошибки (заводская разность сенсоров, рассчитывается один раз в самом начале программы):
Математическая модель регулятора:
Мощность, подаваемая на моторы:
разница показаний сенсоров с учётом заводской ошибки. пропорциональная составляющая регулятора. кубическая составляющая регулятора. усиливающий коэффициент для пропорциональной составляющей. усиливающий коэффициент для кубической составляющей.
Данный регулятор позволяет разгрузить пропорциональную составляющую, понизив её коэффициент. При малых отклонениях «куб» практически не оказывает влияния на движение. Зато на поворотах, когда невязка повышается значительно, кубическая составляющая стремительно "вырастает" из своего понижающего коэффициента.
4. Система автоматического управления – пропорционально-дифференциальный регулятор.
В некоторых ситуациях пропорциональный регулятор может вывести систему из устойчивого состояния. Для защиты от подобных ситуаций в регулятор добавлена дифференциальная составляющая, которая будет следить за направлением движения робота. Иными словами, значение скорости будет влиять на управляющее воздействие [2]. - расчёт статической ошибки (заводская разность сенсоров, рассчитывается один раз в самом начале программы).
Математическая модель регулятора:
Мощность, подаваемая на моторы:
разница показаний сенсоров с учётом заводской ошибки. пропорциональная составляющая регулятора. дифференциальная составляющая регулятора. усиливающий коэффициент для пропорциональной составляющей. усиливающий коэффициент для дифференциальной составляющей. отклонение на предыдущем шаге.
ПД регулятор позволяет добиться точного движения робота вдоль чёрной линии, особенно это заметно на больших скоростях.
5. Система автоматического управления – пропорционально-дифференциальный регулятор с регулятором скорости движения.
Данный регулятор построен на базе ПД регулятора, единственная разница в том, что в его математическую модель добавлена ещё одна составляющая регулирующая начальную скорость движения.
Как известно, даже опытные гонщики притормаживают на поворотах. Для робота, движущегося по линии, скорость характеризуется увеличением абсолютного значения управляющего воздействия, в нашем случае – это переменная u. Таким образом в данном регуляторе скорость (v) можно регулировать следующим образом:
,
где vmax – максимальная мощность подаваемая на моторы, а kv – понижающий коэффициент.
Таким образом, робот управляемый данным регулятором будет притормаживать на поворотах.
6. Система автоматического управления – пропорционально-дифференциальный регулятор с кубической составляющей.
Данный регулятор является нашим экспериментом. Мы просто в ПД регулятор внесли кубическую составляющую. Математическая модель выглядит следующим образом:
Мощность, подаваемая на моторы:
,
где uK – кубическая составляющая данного регулятора, а в остальном данный регулятор ни чем не отличается от ПД.
Выводы:
Из множества автоматических систем регулирования мы остановились на основных системах:
1. Релейный регулятор
2. Пропорциональный регулятор
3. Пропорциональный регулятор с кубической составляющей
4. Пропорционально-дифференциальный регулятор
5. Пропорционально-дифференциальный регулятор с регулировкой скорости
6. Пропорционально-дифференциальный регулятор с кубической составляющей
Все регуляторы будут использоваться на роботе с двумя датчиками освещённости. В каждом регуляторе, кроме релейного, используется расчёт статической ошибки датчиков (калибровка).