Порядок выполнения работы

ЛАБОРАТОРНАЯ РАБОТА № 3

«Метод динамического программирования для непрерывных систем.

Автономная система. Моделирование работы в среде Simulink»

 

3.1. Цель работы: Научиться строить в математическом пакете MatLab систему, реализующую оптимальный регулятор, полученный при помощи метода динамического программирования Беллмана для непрерывной системы второго порядка.

3.2. Исходные данные (по вариантам, всего 25 комбинаций вариантов заданий)

Варианты начальных значений и :

1) ; ;

2) ; ;

3) ; .

4) ; .

5) ; .

Варианты критериев

1) ;

2) ;

3) ;

4) ;

5) .

Теоретическая часть

Рассматривается объект управления, движение которого задается уравнениями

                                          

В качестве конечной точки  выберем начало координат, т.е. положим  Качество процесса управления будем оценивать функционалом

                                                                            (3.1)

Таким образом, речь идет об определении оптимальной стратегии  которая обеспечивает перевод фазовой точки из произвольного начального состояния в начало координат, и притом так, чтобы на траекториях движения функционал (3.1) принимал наименьшее значение.

Выпишем функциональное уравнение Беллмана

                                                  (3.2)

Так как на управляющий параметр u не наложено никаких ограничений, то для определения минимума необходимо продифференцировать правую часть уравнения (3.2) по u:

                                                                                        (3.3)

Из (3.3) находим

                                                                                         (3.4)

и уравнение Беллмана принимает вид

                                                             (3.5)

Будем искать решение уравнения (3.5) в виде квадратичной формы

                                   

Тогда

                         

Уравнение (3.5) принимает вид

           

.

Квадратичная форма равна всегда нулю, если равны нулю все ее коэффициенты. Тогда коэффициенты  определяются из системы уравнений:

                                                                                    (3.6)

Система нелинейных алгебраических уравнений (3.6) имеет два вещественных решения

                                  

Эти решения в соответствии с (3.4) приводят к двум синтезирующим функциям

                                                                                     (3.7)

                                                                                      (3.8)

В результате получаем две линейные системы, причем линейная система, порождаемая функцией (3.7), оказывается неустойчивой и, следовательно, не может обеспечить перевод фазовой точки в начало координат.

Таким образом, оптимальная синтезирующая функция (оптимальная стратегия) задается равенством (3.8). На рис. 3.1 изображена структурная схема оптимальной системы.

Рис. 3.1. Структурная схема оптимальной системы

Порядок выполнения работы

1) Получить задание по вариантам, определяющие значения начального состояния объекта управления: Получить вариант критерия эффективности.

2) Составить функциональное уравнение Беллмана и решить его, получить описание оптимальной стратегии управления.

3) Скорректировать схему системы оптимального управления в соответствии с найденной оптимальной стратегией. Коэффициенты усиления можно задать при помощи блока Gain.

4) Ввести в командном окне MatLab для загрузки среды моделирования Simulink команду

 

simulink

 

Дождаться загрузки среды.

5) Открыть в меню File ->NewModel новую модель, в которой собрать схему, аналогичную представленной на рис. 3.2 (с учетом коррекции в п. 3). На рис. 3.2 блоки черного цвета моделируют систему на рис. 3.1, блоки красного цвета необходимы для расчета значения критерия эффективности, см. (3.1), а блоки синего цвета необходимы для вывода полученных графиков функций. Для этого необходимо использовать следующие блоки, находящиеся в разделах библиотеки среды Simulink:

· Библиотека CommonlyUsedBlocks (Наиболее часто используемые блоки):

o Gain (коэффициент усиления);

o Integrator (интегратор);

o Mux (шина);

o Sum (сумматор);

· Библиотека MathOperations (Математические операции):

o Add (суммирование);

o Math Function (математическая функция);

· Sinks (Выходные устройства):

o Display (дисплей);

o Scope (осциллограф);

o XYGraph(фазовый портрет);

Рис. 3.2. Схема системы управления в среде Simulink

 

6) Для разворота/отображения блоков в модели можно использовать команды контекстного меню Rotate & Flip, вызвав его правым щелчком мыши на блоке.

7) В одном из сумматоров Sum в соответствии со схемой на рис. 3.2. необходимо установить отрицательную связь. Для этого двойным щелчком открыть сумматор и заменить строку по умолчанию |++ на |+-.

8) Для увеличения количества входов на шине Mux, двойным щелчком открыть меню и изменить количество входов по умолчанию с 2 на 3.

9) В блоке Gain изменить значение коэффициента по умолчанию 1 на выражение sqrt(3), т.е. на .

10) В блоке Add изменить значение по умолчанию ++ на значение +++ для увеличения количества суммируемых компонент.

11) В блоках MathFunction изменить функцию по умолчанию exp на функцию square (возведение в квадрат).

12) В блоках Gain2, Gain3, Gain4 установить значение, соответствующее коэффициенту в критерии эффективности (в данном варианте оно равно единице).

13) В блоках Integrator1 и Integrator (см. рис. 3.2) в поле InitialCondition ввести начальные значения для моделирования процесса управления,  и  соответственно. Вводить заданные числа, а не формулы!

14) Нажатьнакнопку Model Configuration Parameters наверхнейпанели. Дождаться загрузки меню. В поле RelativeTolerance (Относительная погрешность) изменить значение по умолчанию 1e-3 на 1e-7 для повышения точности графиков.

15) Промоделировать работу системы, запустив кнопкой Run на панели инструментов модели.

16) Открыть двойным щелчком блок Scope (осциллограф), нажать кнопку Autoscale (автомасштабирование) на верхней панели. Затем на верхней панели открыть кнопкой Parameters меню настройки параметров, перейти во вкладку Style и настроить цветовую схему отображения графиков и толщину линий.

17) Если переходный процесс не завершён или протекает быстро, можно увеличить или уменьшить время моделирования процесса, для этого ввести значение в поле для редактирования SimulationStopTime (по умолчанию оно равно 10 секунд).

18) В блоке XYGraph требуется настроить для правильного отображения фазовой траектории значения x_min, y_min, x_max и y_max. Для этого заменить их соответственно на такие значения, чтобы после моделирования весь фазовый портрет был виден в блоке XYGraph.

19) Скопировать полученную схему в отчет.

20) Скопировать полученные в блоке Scope графики в отчет. Пример показан на рис. 3.3. Разобраться, графики каких функций отображены на осциллографе. Если это вызывает затруднения, можно временно отключить входящие на шину соединительные линии, удалив их.

Рис. 3.3. Оптимальные траектории и закон управления (зелёным цветом)

 

21) Скопировать фазовый портрет в отчет. Пример показан на рис. 3.4.

Рис. 3.4. Фазовый портрет

 

22) В блоке Display получить оптимальное значение критерия эффективности, скопировать его в отчет. Обратите внимание на то, что значение критерия будет зависеть от времени моделирования. Чем оно больше, тем значения критерия выше.

23) Подать на вход верхнего сумматора системы белый шум (BandLimitedWhiteNoiseиз библиотеки Sources), промоделировать работу системы оптимального управления при параметре белого шума NoisePower, равном 0.05. Для этого открыть блок двойным щелчком и указать данное значение. Добавить графики фазового портрета с шумом, оптимальных траекторий движения системы и оптимального управления в отчет. Для моделирования работы системы указать диапазон времени, равный 50-100 с, в поле для редактирования SimulationStopTime на панели инструментов модели.

24) Сделать выводы о проделанной работе.

Контрольные вопросы

1) Что собой представляет функциональное уравнение Беллмана?

2) Чем отличается задача оптимального программного управления от задачи синтеза оптимальной стратегии (закона) управления?

3) Что произойдет с оптимальной траекторией движения системы при наличии возмущающих воздействий?

4) Сформулируйте принцип оптимальности Беллмана для непрерывных систем.

5) Почему время решения задачи в методе динамического программирования не фиксируется?

6) В каком случае задача на основе метода динамического программирования считается решенной?

Содержание отчета

    Отчет о работе должен содержать следующее:

1) Титульный лист.

2) Схема системы оптимального управления.

3) Графики оптимальных траекторий движения системы.

4) График оптимального управления.

5) График фазового портрета.

6) Оптимальное значение критерия эффективности.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: