Приложение к Препринту
"Робастное управление в игровых задачах с линейной динамикой" С.А. Ганебный
1. Описание задачи
Работу робастного управления поясним на примере линеаризованного конфликтно-управляемого маятника. Систему, описывающую динамику маятника, запишем в виде
x1′ = x2 + v, x2′ = −x1 + u.
Здесь u и v — скалярные управления первого и второго игроков (полезное управление и возмущающее воздействие).
Поведение системы будем изучать на промежутке времени T = [0, θ].
На плоскости x1, x2 зададим терминальное множество M в виде круга радиуса 2 с центром в нуле.
Цель первого игрока — привести систему в момент окончания θ на терминальное множество M, по возможности как можно ближе к нулю. Цель второго игрока противоположна.
Предлагаемое нами робастное управление предназначено для случаев, когда полезное управление ограничено, а ограничение на возмущающее воздействие отсутствует. Введем ограничение на управление первого игрока: |u| ≤ 1.
Напомним понятие робастного управления (точная формулировка, способ построения и доказательство теоремы о гарантии смотрите в Препринте). Робастное управление — это управление обратной связи, обладающее следующими свойствами:
Если помеха не превосходит некоторого "критического уровня" Qmax и начальная позиция находится внутри трубки главного стабильного моста W, то
существует гарантия удачного завершения игры (приведение на терминальное множество в момент окончания) вне зависимости от действий помехи;
при этом, чем "слабее" действие помехи, тем "слабее" реализация полезного управления.
В случаях, когда помеха превосходит критический уровень, допускается терминальный промах. Величина возможного промаха оценивается сверху.
В случае маятника критический уровень Qmax будем задавать при помощи ограничения |v| ≤ ν.
Отметим, что рассматриваемое нами робастное управление не реализует какой-либо критерий оптимальности, но обеспечивает хорошую гарантию.
В качестве возмущающего воздействия можно брать:
Некоторое программное управление. В нашем случае это будут синусоиды различных частот и амплитуд.
Оптимальное управление второго игрока, построенное в игре с заданным ограничением на управление второго игрока и терминальной функцием платы в виде функции Минковского от терминального множества. Такую помеху ниже будем называть игровой.
2. Результаты моделирования
Мы приготовили несколько тестовых случаев, показывающих результаты моделирования. Для всех случаев рассматриваемый интервал времени — [0, 10], шаг дискретной схемы выбора управления — 0.05, начальное положение системы — (0, 1). В качестве критического уровня Qmax выбрано ограничение |v| ≤ 1.
Случай 1. (animated gif, 1.37mb) Здесь помеха задается при помощи синусоиды с длиной волны равной 8 и амплитудой 0.8, т.е. меньше критического уровня.
Случай 2. (animated gif, 1.44mb) Здесь помеха является игровой и рассчитана на уровень |v| ≤ 0.8.
Ниже на рисунке представлен один из кадров случая 1.
Здесь Вы можете посмотреть:
Текущее положение в эквивалентной системе (система (2) в Препринте). Черной точкой отмечено текущее положение, синее множество — сечение главного стабильного моста W; коричневая линия — линия переключения, которая используется для выбора знака управления в текущий момент времени; красная стрелка — выбранное в данный момент времени управление первого игрока; тонкая серая линия — траектория движения системы.
Текущее положение в естественных координатах (система (1) в Препринте). Черной точкой отмечено текущее положение; тонкой серой линией — траектория движения; синий круг — терминальное множество M.
Здесь отмечен текущий момент времени, а также сведения о параметрах моделирования.
График реализации управления первого игрока — робастного управления. Красными линиями обозначены максимально допустимые значения полезного управление. Как видно, в зависимости от текущего положения управление возрастает или уменьшается, и (в данном примере) не доходит до своих максимальных ограничений.
График реализации помехи — в данном случае — синусоиды.
Также Вы можете скачать программу, которая позволит Вам проводить подобное моделирование. Описание возможностей программы в следующем параграфе.
Замечание. Для работы программы необходима библиотека .NET Framework. Она входит в состав Windows XP Service Pack 1, либо ее можно скачать с сайта Microsoft (23.1mb).
3. Описание возможностей программы
Пользовательский интерфейс достаточно прост и состоит из двух листков — с параметрами и результатами моделирования.
Рассмотрим листок с параметрами.
Здесь Вы можете изменить:
Начальное положение системы в естественных координатах.
Интервал времени, на котором проводится моделирование, и шаг дискретной схемы управления.
Ожидаемое ограничение на управление второго игрока Qmax.
Способ формирования управления второго игрока: синусоида некоторой амплитуды и некоторой длины волны; либо оптимальное игровое управление, соответствующее некоторому ограничению на управление второго игрока;
кнопка, запускающая моделирование.
Теперь перейдем к листку с результатами моделирования.
Здесь Вы видите картинку аналогичную описанной в предыдущем параграфе, за исключением расположенных внизу кнопок выбора текущего момента времени.