Игра «Управление обратным маятником» — это задача, которая может быть решена методами теории управления.
Общие сведения об обратном маятнике
Перевернутым или обратным маятником является маятник, у которого центр масс располагается выше своей точки опоры и который закреплен на конце жесткого стержня.
Иногда точка опоры может быть закреплена на тележке, способной перемещаться в горизонтальном направлении. Причем, если нормальный маятник обладает устойчивым положением, провисая вниз, обратный маятник по своей физической природе является неустойчивым и должен все время подвергаться балансированию, для того чтобы остаться в вертикальном положении. Балансирование может осуществляться при помощи использования крутящего момента к опорной точке или при помощи перемещения точки опоры по горизонтали, что выступает как обратная связь системы. В качестве простейшего демонстрационного примера можно привести балансировку карандаша на кончике пальца.
Обратный маятник считается стандартной проблемой динамики и теории управления и повсеместно применяется как эталон для тестирования алгоритмов управления, таких как ПИД - регуляторы, нейронные сети, нечеткое управление, генетические алгоритмы и так далее. Проблематика обратного маятника сопряжена с осуществлением наведения ракет, поскольку двигатель ракеты располагается ниже центра тяжести, что может вызывать аэродинамическую нестабильность. Данная проблема была разрешена, к примеру, в сегвее (Segway), то есть, в электрическом самобалансирующемся транспортном средстве или иначе средстве индивидуальной мобильности от корпорации Segway Inc., которое имеет два колеса, расположенные по обе стороны от водителя и по внешнему виду напоминающее колесницу.
Еще одним методом стабилизации обратного маятника может служить быстрое колебание вверх и вниз основания. В таком случае можно обходиться без наличия обратной связи. Когда колебания являются достаточно сильными, имея в виду его ускорение и амплитуду, то обратный маятник способен стабилизироваться самым удивительным образом. Когда движущаяся точка колеблется согласно простым гармоническим колебаниями, то движение маятника может быть описано функцией Матье. В качестве примера можно привести балансировку людей и предметов, к примеру, в акробатике, или катание на одноколесном велосипеде. Обратный маятник являлся центральным элементом при проектировании ряда ранних сейсмографов.
Игра «Управление обратным маятником»
Рассмотрим задачу стабилизации шеста, который расположен на подвижной платформе, как показано на рисунке ниже.
Рисунок 1. Шест на подвижной платформе. Автор24 — интернет-биржа студенческих работ
Шест может удерживаться в вертикальном состоянии путем коррекции скорости движения тележки. Управление шестом на тележке может быть описано Марковским процессом. В подобных процессах управляющее воздействие должно определяться лишь текущим состоянием объекта управления и не должно иметь зависимости от предшествующих состояний. Для данных процессов можно применить принцип оптимальности Беллмана.
Задача может быть решена с применением объекта CartPole-v1 библиотеки gym. Для того чтобы решить задачу, следует в каждом состоянии s объекта управления оптимально определить воздействие a, которое оказывается на тележку с шестом. Существуют следующие возможные варианты действий:
- Подтолкнуть тележку в левую сторону.
- Подтолкнуть тележку в правую сторону.
Задача, связанная со стабилизацией шеста на тележке должна решаться при помощи агента, который взаимодействует со средой, способной фиксировать, в том числе и состояние объекта, представленного тележкой с шестом.
Среда должна передать агенту состояние объекта управления и награду за действие агента, которое перевело объект в текущее состояние. Агент, после получения от среды информации о состоянии объекта и полагающуюся награду, должен определить следующее действие, которое будет, как он полагает, самым правильным, учитывая сложившиеся обстоятельства. Сведения о принятом решении он должен передать среде, которая и будет предпринимать соответствующее действие. Структурная организация данного алгоритма приведена на рисунке ниже.
Рисунок 2. Алгоритм. Автор24 — интернет-биржа студенческих работ
CartPole-v1 является моделью среды, где присутствует возможность управления тележкой, по центру которой при помощи шарнира прикреплен шест, являющийся обратным маятником. Тележка может передвигаться по горизонтальному рельсу, причем силы трения и сопротивления не учитываются. Шест в момент начала симуляции, то есть, игры, располагается практически в вертикальном положении.
Конечной целью игры является предотвращение падения шеста. Это может быть достигнуто за счет коррекции скорости тележки. Скорость изменяется в результате воздействия на тележку горизонтальной силы, которая может равняться плюс или минус единице.
Среда должна задаваться состоянием, действием, наградой, начальным состоянием, а также флагом, означающем завершение эпизода. Состояние может описываться при помощи следующих величин:
- Положение тележки, которое может принимать значения в диапазоне $[-4.8, 4.8]$.
- Величина скорости тележки.
- Значение угла отклонения шеста от вертикального положения, которое может принимать значение в диапазоне $[-24°, 24°]$.
- Величина скорости изменения угла наклона шеста.
Воздействие способно принимать следующие два значения:
- Значение, равное нулю, которое означает толчок тележки влево, то есть, приложение к тележке горизонтальной силы, равной плюс единице.
- Значение, равное единице, которое означает толчок тележки вправо, то есть, приложение к тележке горизонтальной силы, равной минус единице.
Награда на любом шаге равняется единице, в том числе и на последнем шаге.
Начальное состояние может задаваться при помощи датчика равномерно распределенных случайных чисел. Случаи завершения эпизода могут быть следующими:
- Значение угла шеста вышло из диапазона $[-24°, 24°]$.
- Расположение тележки вышло из допустимого диапазона $[-4.8, 4.8]$.
- Значение длины эпизода превысило пятьсот.