DPritykin / Control-Theory-Course

Lecture notes and exercises for control theory course

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Аннотация: Курс посвящен изложению основ теории управления динамическими системами. Основная задача курса – показать основные подходы и методы к управлению техническими системами, используемые в современной инженерной практике. Математическая строгость материала сознательно приносится в жертву наглядности, доказательства теорем приводятся на лекциях только в тех случаях, когда они необходимы для более чёткой иллюстрации обсуждаемых методов. Материал курса по возможности сопровождается примерами реализации рассматриваемых алгоритмов в Jupyter Notebooks. Поскольку курс читается преимущественно для студентов факультета аэрофизики и космических исследований, часть примеров иллюстрирует управление орбитальным и угловым движением космических аппаратов.

Уровень подготовки студентов для понимания излагаемого материала примерно соответствует второму-третьему курсу (аналитическая геометрия, математический анализ, дифференциальные уравнения, теоретическая механика, опционально динамика космического полёта).

Весенний семестр

  1. Основные понятия и постановка задач теории управления. Объект управления, фазовые координаты, управляющие функции, уравнения состояния объекта, управляющее устройство. Расширенное фазовое пространство управляемой системы. Описание системы в пространстве состояний. Способы задания цели управления. Функционал задачи. Замкнутые и разомкнутые системы управления. Программа управления, синтез управления. Обратная связь по координатам и возмущениям.
  2. Краткое введение в Python. Numpy, Scipy, Matplotlib. Интегрирование дифференциальных уравнений. Методы численного интегрирования и их настройки. Движение точки в центральном поле, эффект J2 (вторая зональная гармоника геопотенциала). Механизм событий (events).
  3. Система ориентации и стабилизации космического аппарата как пример системы управления. Проектирование системы ориентации и стабилизации. Пассивные и активные системы управления. Цели управления. Режимы систем управления. Датчики и исполнительные органы системы ориентации и стабилизации. Алгоритмы, реализуемые в контуре систем управления ориентацией.
  4. Линейные системы. Описание линейного звена. Преобразование Лапласа. Передаточная функция линейного звена. Весовая функция, переходная функция. Передаточные функции типовых звеньев. Эквивалентность описания систем управления в виде дифференциального уравнения высокого порядка и системы линейных дифференциальных уравнений первого порядка. Отклики звеньев на типичные воздействия. Частотная характеристика. Sympy и символьные вычисления прямых и обратных преобразований Лапласа.
  5. Типовые звенья и их передаточные, весовые и переходные функции. Соединения звеньев. Отрицательная обратная связь. Следящая система. ПИД-регулятор.
  6. Устойчивость по входу линейного звена. Устойчивость по начальным данным. Связь задачи устойчивости линейного звена с расположением корней характеристического многочлена на комплексной плоскости. Критерии устойчивости многочлена. Стабилизация с помощью отрицательной обратной связи. Стабилизация с помощью ПИ-регулятора. ПИД-регуляторы. Общий вид стабилизирующих регуляторов.
  7. Пример системы управления для электродвигателя (управляющий двигатель-маховик). Управление по скорости. Управление по моменту. Способы настройки ПИД-регуляторов. Регулятор с внутренней моделью.
  8. Линеаризация нелинейных систем по состоянию (на примере модели системы ориентации и стабилизации космического аппарата).
  9. Алгоритмы оценки состояния. Фильтр Калмана. Вывод уравнений фильтра Калмана для линейных систем. Расширенный фильтр Калмана. Сигма-точечный фильтр Калмана.
  10. Пример реализации алгоритмов системы управления квадрокоптером.
  11. Оптимальное управление. Общая постановка задачи, фазовое пространство, начальное и терминальное многообразия, функционал задачи управления. Функция Гамильтона-Понтрягина. Сопряженные переменные и соответствующие им дифференциальные уравнения. Условия трансверсальности (граничные условия на вектор сопряженных переменных). Локальный вариационный анализ. Принцип максимума Понтрягина с доказательством для задачи с фиксированным левым и свободным правым концом.
  12. Локальный вариационный анализ. Формула для малых изменений фазовых переменных при изменении начальных условий и управлений. Формула для малых изменений функционала. Численный метод решения задач оптимального управления.
  13. Принцип оптимальности Беллмана. Опорная функция (функция Беллмана) и уравнение Беллмана для поиска оптимального управления в форме синтезирующей функции. Метод динамического программирования Беллмана. Примеры применения к непрерывным и дискретным системам.

Осенний семестр

  1. Обзорная лекция по материалам предыдущего семестра. Постановка задачи управления. Активные и пассивные системы управления. Системы управления с обратной связью. Представление систем управления в пространстве состояний. Следящая система. ПИД-регулятор. Фильтр Калмана.
  2. Обзорная лекция по материалам предыдущего семестра. Задачи оптимального управления. Принцип максимума Понтрягина. Формула для малых приращений функционала. Численный метод решения задач оптимального управления с помощью последовательных малых улучшений функционала. Метод динамического программирования и уравнение Беллмана для поиска оптимального управления в форме синтезирующей функции.
  3. Метод функций Ляпунова. Уравнения в отклонениях. Синтез регулятора, обеспечивающего сходимость траекторий системы к заданному режиму. Примеры.
  4. Маховичные системы ориентации космических аппаратов (КА). Синтез регулятора для системы ориентации КА с помощью метода функций Ляпунова. Метод искусственных потенциалов. Задача об управлении ориентацией КА с условием обхода запрещённых зон.
  5. Метод линеаризации обратной связью. Стабилизация перевернутого маятника на тележке.
  6. Каскадные системы. Синтез управления методом бэкстеппинга. Частный случай с несколькими последовательно включёнными интеграторами. Стабилизация верхнего положения маятника методом бэкстеппинга.
  7. Линейно-квадратичный регулятор. Уравнение Риккати (алгебраическое и дифференциальное). Задача о Formation Flying (групповой полёт нескольких КА с условием поддержания геометрии в группе). Уравнения относительного движения КА в орбитальной системе координат (Hill-Clohessy-Wiltshire). Выбор квадратичного функционала для задачи управления.
  8. Обобщение линейно-квадратичного регулятора на нелинейные системы. Уравнения Риккати с параметрами, зависящими от состояния (State-Dependent Riccati Equation). iLQR – итеративный линейно-квадратичный регулятор. Примеры.
  9. Скользящие режимы управления. Целевое многообразие и скользящий режим на нём. Приведение траекторий управляемой системы на целевое многообразие за конечное время. Чаттеринг. Использование сигмоид. Стабилизация перевернутого маятника. Скользящие режимы управления в контуре системы ориентации и стабилизации КА.
  10. Управление с прогнозирующими моделями. Постановка задачи. Горизонт прогнозирования и управления. Условная оптимизация при наличии нелинейных ограничений на фазовые переменные и управляющие воздействия.
  11. Обучение с подкреплением. Основные понятия (агент и среда, пространство состояний, пространство управляющих действий, оператор эволюции, механизм наград, кумулятивная награда). Постановка задачи управления в парадигме обучения с подкреплением. Функция полезности (value-function) и её связь с опорной функцией. Метод последовательных улучшений функции полезности (value-iteration). Обучение агента на примере детерминированной игры GridWorld.
  12. Обучение с подкреплением. Функция полезности (value-function) и функция качества (Q-value function). Метод последовательных улучшений функции качества (q-value iteration). Обучение агента на примере игры GridWorld с недетерминированным оператором эволюции. Примеры Value-iteration и Policy-iteration.
  13. Алгоритм Q-learning (обучение агента без модели среды). Обучение с подкреплением и динамическое программирование в больших и непрерывных пространствах. Необходимость в аппроксимации (функции полезности и стратегии). Deep Q-learning. Классические задачи управления в OpenAI Gym.
  14. Алгоритмы градиентного спуска Policy Gradient и основная Policy Gradient теорема. Алгоритм REINFORCE. Алгоритмы Actor-Critic. Trust Region Policy Optimization (TRPO) и Proximal Policy Optimization (PPO).

Литература

  1. Поляк Б.Т., Хлебников М.В., Рапопорт Л.Б. Математическая теория оптимального управления: учебное пособие. — М.: ЛЕНАНД, 2019. — 500 с.
  2. Летов А.М. Динамика полета и управление. – М.: Наука, 1969, 359 с.
  3. Аграчев А.А., Сачков Ю.Л. Геометрическая теория управления. — М.: ФИЗМАТЛИТ, 2005. — 392 с.
  4. Ким Д.П. Теория автоматического управления: учебник: в 2 т. / Д. П. Ким. – 2-е изд., испр. и доп. – Москва: Физматлит. – 2007.
  5. Sutton RS, Barto AG. Reinforcement learning: an introduction. Second edition. Cambridge, MA: The MIT Press, [2018] | Series: Adaptive computation and machine learning series
  6. Sergey Ivanov Reinforcement Learning Textbook. (Конспект по обучению с подкреплением) https://arxiv.org/abs/2201.09746

About

Lecture notes and exercises for control theory course

License:MIT License


Languages

Language:Jupyter Notebook 100.0%