rybalev optimal systems_(отсюда брал лекции) (842910), страница 7
Текст из файла (страница 7)
Отметим: чтобы функция y2(t) меняла знак, что требуется для изменения знака управления, согласно (216) необходимо, чтобы С >y2(0).-3.089e-0141x2u1sx2x11sx1Signx1, x20<STOPStop Simulationu, ksi21.2576ksi21sksi1 = CH1.642e-0072.171Clock-1timeHksi0Рис. 6. Simulink-модель системы для определенияпостоянной С46В результате моделирования найдено значение C = 1,2576 и полученыграфики оптимальных траекторий и оптимального управления (рис.
7). Времяпроцесса составило 2,171 сек. Из этого времени 1,586 сек. управление былоположительным, 0,586 сек. - отрицательным.x1,x2u,y21.2x11u10.80.5y20.600.4x20.2-0.50-0.20-10.511.522.5t-1.500.511.52tРис. 7. Оптимальные траектории и оптимальное управлениеПример 7Требуется объект, описываемый уравнениямиìx& 1 = x 2 ,íîx& 2 = - x 2 + u,(220)перевести из любого начального состояния в состояние x1(tк) = x2(tк) = 0 за минимальное время при ограничении на управлениеu £ 1.(221)Постановка задачи отличается от предыдущего примера только тем, чтоначальное состояние объекта может быть любым.
Поэтому определить оптимальное управление в форме оптимальной программы в данном случае невозможно. Будем искать решение в форме оптимальной стратегии.Согласно теореме об n интервалах оптимальное управление являетсякусочно-постоянной функцией и принимает максимальные по модулю значения на всех интервалах управления. Объект управления имеет второй порядок,корни характеристического полинома системы (-1, 0) - вещественные, поэтому число интервалов управления равно двум.Определим фазовые траектории объекта при u = 1.Решение системы (220) в данном случае имеет вид:x 2 = C1e - t + 1,(222)tx1 = ò x 2 (t)dt = -C1e - t + t + C 2 ,(223)047где С1, С2 - постоянные интегрирования, определяемые начальными условиями:C1 = x 2 (0) - 1,C 2 = x1 (0) + C1 = x1 (0) + x 2 (0) - 1 .(224)(225)Из (222) находимæ x - 1öt = - lnçç 2 ÷÷ .è C1 ø(226)Величина (x2-1)/C1, стоящая под знаком логарифма, положительна(точнее, она лежит в пределах от 0 до 1).
Следовательно, (226) можно записатьв видеt = - lnx2 -1= - ln x 2 - 1 + ln C1 .C1(227)Подставляя (227) в (223), получимx1 = - x 2 + 1 - ln x 2 - 1 + ln C1 + C 2 .(228)Обозначивk1 = 1 + ln C1 + C 2 = ln x 2 (0) - 1 + x1 (0) + x 2 (0) ,(229)окончательно получим:x1 = k1 - x 2 - ln x 2 - 1 .(230)Проведя аналогичные вычисления для случая u = -1, получимx 2 = C3e - t - 1,(231)tx1 = ò x 2 (t)dt = -C3e - t + t + C 4 ,(232)C3 = x 2 (0) + 1 ,C 4 = x1 (0) + C3 = x1 (0) + x 2 (0) + 1 .(233)(234)0гдеИ далееx1 = - x 2 - 1 + ln x 2 + 1 - ln C3 + C 4 .(235)Обозначивk 2 = -1 - ln C3 + C 4 = - ln x 2 (0) + 1 + x1 (0) + x 2 (0) ,(236)окончательно получим:x1 = k 2 - x 2 + ln x 2 + 1 .(237)48На рис.
8 показаны фазовые траектории объекта при u = 1, построенныедля k1 = -1, -0,5, 0, и при u = -1, построенные для k2 = 0, 0,5, 1.Из рисунка видно, что при u = 1 x1 ® ¥, x 2 ® 1 , при u = -1x1 ® -¥, x 2 ® -1 . Это следует непосредственно из (222),(223) и (231),(232).При k1 = 0 и k2 = 0 фазовые траектории проходят через начало координат, т.е. через конечную точку процесса. Обозначим через g+ участок фазовойтраектории при u = 1, k1 = 0 до точки {0,0}, а через g- - участок фазовой траектории при u = -1, k2 = 0 до точки {0,0} (рис.8).Очевидно, что на втором (заключительном) этапе процесса движениеобъекта должно происходить либо по линии g+, либо по линии g-, так как впротивном случае объект не попадет в начало координат.Выйти на линию g+ объект может только справа (с помощью отрицательного управления), а на линию g- - только слева (с помощью положительного управления).
Таким образом, линия g = (g-,g+), «объединяющая» g- и g+,делит фазовую плоскость на две зоны: слева от нее находится зона, в которойуправление должно быть положительным, справа - зона, в которой управлениедолжно быть отрицательным. Поэтому линия g называется линией переключения.x22u=1,k1 = -1; -0,5; 01.51g0.50зона u = 1зона u = -1-0.5g+-1-1.5-2-3u= -1,k2 = 0; 0,5; 1-2-10123x1Рис.
8. Фазовые траектории объектаСформулируем полученные результаты. Для этого определим уравнение линии переключения. Это можно сделать, объединяя уравнения (230) и(237) при k1 = 0 и k2 = 0:49ìï- x 2 - ln x 2 - 1x1 = íïî- x 2 + ln x 2 + 1при x 2 < 0,(238)при x 2 > 0,илиx1 = - x 2 + sign ( x 2 ) ln x 2 + sign ( x 2 ) .(239)Используя (239), запишем закон управления:ì1 при x1 + x 2 - sign ( x 2 ) ln x 2 + sign ( x 2 ) < 0,ïx1 + x 2 + ln x 2 - 1 = 0 и x 2 < 0 ( g + ),ïu=íï- 1 при x1 + x 2 - sign ( x 2 ) ln x 2 + sign( x 2 ) > 0,ïx1 + x 2 - ln x 2 + 1 = 0 и x 2 > 0 ( g - ).î(240)Для упрощения закона управления исключим из (240) условия, касающиеся движения по траекториям g-, g+.
Это оправдано также тем, что точнореализовать контроль нахождения объекта на этих траекториях технически невозможно, так как для этого потребуются абсолютно точные измерения. Окончательно получим:u = -sign (x1 + x 2 - sign ( x 2 ) ln x 2 + sign( x 2 ) ) =(241)= sign (- x1 - x 2 + sign ( x 2 ) ln x 2 + sign ( x 2 ) ).Схема модели системы оптимального управления в Simulink, построенная по уравнениям (220), (241), показана на рис. 9. Фазовая траектория и графики переходного процесса при x1(0) = 1, x2(0) = 0,5 приведены на рис. 10.u1sx21sx1x1x2ln|u|Рис. 9.
Simulink-модель системы50x1,x2x211.50.51x100.5-0.50-1-0.5x2g-1.5-0.500.51x1-100.511.522.533.5tРис. 10. Переходный процесс в системеДалее рассмотрим, как полученные результаты могут быть использованы для построения оптимальной по быстродействию системы при задании конечной точки процесса вида x1(tк) = x1к ¹0, x2(tк) = 0. В этом случае при нахождении линии переключения, очевидно, нужно принять k1 = k2 = x1k. Тогдауравнение линии переключения и закон управления будут следующими:x1 = x1к - x 2 + sign ( x 2 ) ln x 2 + sign ( x 2 ) ,u = sign (x1к - x1 - x 2 + sign( x 2 ) ln x 2 + sign ( x 2 ) ).(242)(243)Схема модели системы оптимального управления в Simulink, построенная по уравнениям (220), (243), показана на рис.
11. Фазовая траектория и графики переходного процесса при x1(0) = 0, x2(0) = 0, x1к = 1 приведены на рис.12.1u1sx1kx21sx1x1x2ln|u|Рис. 11. Simulink-модель системы51x2x1,x21.51.2gx1110.80.50.60.40x20.2-0.50-100.20.40.60.811.21.4x1-0.200.511.522.533.5tРис. 12. Переходный процесс в системеКак и следовало ожидать, решение задачи в данном случае полностьюсоответствует решению из примера 6.3.3. ЗаданияОпределить оптимальное управление в форме оптимальной программы,переводящее объект, описанный матрицами состояния А и управления В, изсостояния x1(0) = 0, x2(0) = 0 в состояние x1(tк) = x1к, x2(tк) = 0 за минимальноевремя tк с учетом ограничения на управление u £ u max (см. пример 6).Определить оптимальное управление в форме оптимальной стратегии,переводящее объект, описанный матрицами состояния А и управления В, излюбого начального состояния в состояние x1(tк) = x1к, x2(tк) = 0 за минимальноевремя tк с учетом ограничения на управление u £ u max (см.
пример 7).Варианты:1ùé0é0 ù1. A = ê, B = ê ú, x1к = 2, u max = 1 ;úë0 - 2 ûë1û1ùé0é0 ù2. A = ê,B=úê2ú, x1к = 1, u max = 1 ;ë0 - 3ûë û1ùé0é0 ù3. A = ê,B=úê1ú, x1к = 5, u max = 4 ;ë0 - 1ûë û1ùé0é0 ù4. A = ê,B=úê3ú, x1к = 3, u max = 2 ;ë0 - 0,5ûë û1ùé0é0 ù5.
A = ê, B = ê ú, x1к = 1, u max = 6 ;úë0 - 4 ûë 2û521ùé0 ùé06. A = ê,B=ê1ú, x1к = 10, u max = 0,5 ;úë ûë0 - 5 û1ùé0ùé07. A = ê,B=ê10ú, x1к = 25, u max = 1 ;úë ûë0 - 0,4û1ùé0 ùé08. A = ê, B = ê ú, x1к = 0,2, u max = 0,1 ;úë1 ûë0 - 20û1ùé0ùé09. A = ê,B=ê4ú, x1к = 10, u max = 3 ;ú08ë ûëû1ùé0 ùé010. A = ê,B=ê1ú, x1к = 1, u max = 4 ;úë ûë0 - 6 û1ùé0é0ù11.
A = ê,B=úê0,1ú, x1к = 12, u max = 2 ;ë0 - 0,6ûë û1ùé0é0 ù12. A = ê, B = ê ú, x1к = 16, u max = 0,5 ;úë0 - 7 ûë 2û1 ùé0é0 ù13. A = ê,B=úê1ú, x1к = 0,8, u max = 1 ;ë0 - 0,25ûë û1ùé0é0 ù14. A = ê,B=úê1ú, x1к = 20, u max = 4 ;ë0 - 50ûë û1ùé0é0 ù15. A = ê,B=úê3ú, x1к = 3, u max = 3 ;09ëûë û1ùé0é0ù16. A = ê, B = ê ú, x1к = 4,8, u max = 3,2 ;úë0 - 1,6ûë0,8û1ùé0é0 ù17. A = ê,B=úê5ú, x1к = 0,3, u max = 0,5 ;ë0 - 11ûë û1 ùé0é0 ù18. A = ê,B=úê1ú, x1к = 1, u max = 2,4 ;ë0 - 0,36ûë û1 ùé0é0ù19. A = ê,B=úê2ú, x1к = 1,5, u max = 1;00,08ëûë û1ùé0é0ù20.
A = ê, B = ê ú, x1к = 5, u max = 3 ;úë0 - 42ûë0,1û534. РЕШЕНИЕ ЗАДАЧ ОПТИМАЛЬНОГО УПРАВЛЕНИЯМЕТОДОМ ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ4.1. Метод динамического программированияМетод динамического программирования предложен Беллманом в основном для оптимизации дискретных многошаговых процессов, однако применяется и для непрерывных систем.В отличие от вариационного исчисления и принципа максимума, изначально направленных на отыскание оптимального управления в виде оптимальной программы, метод динамического программирования ориентированна поиск оптимальной стратегии.В основу метода положен следующий принцип оптимальности Беллмана:Оптимальная стратегия обладает тем свойством, что независимо оттого, каким было первоначальное состояние системы и первоначальное решение (управление), последующие решения (последующее управление) должныбыть оптимальны относительно состояния, которое возникло после принятия первого решения.
Это означает, что оптимальная стратегия в любой момент времени определяется только тем состоянием, в котором находится система в этот момент.Рассмотрим применение метода для непрерывных систем. Для простоты будем полагать управление скалярным. Пусть движение объекта определяется уравнениямиx& i = f i ( x1 , x 2 ,..., x n , u , t ), i = 1...n ,(244)или в векторной форме:& = f ( X, u , t ) .X(245)Необходимо определить оптимальную стратегию u = u(X), минимизирующую функционалtкJ = ò f 0 (X( t ), u ( t ))dt ,(246)0с учетом граничного условия X(tк) = Xк.Согласно методу за начальное состояние объекта можно принять любоесостояние X.
При этом минимальное значение функционала и оптимальноеуправление, переводящее объект из состояния X в состояние Xк, однозначноопределяются состоянием X. Обозначим минимальное значение функционалакак S(X), где S - неизвестная функция:tкS(X ) = min ò f 0 (X ( t ), u ( t ) )dt ,uÎU(247)054где U - область допустимых управлений.Отметим, что S(Xк) = 0, что непосредственно следует из (247).Интеграл, входящий в (247), можно представить в видеtкDt00tкò f 0 (X( t ), u ( t ) )dt = ò f 0 (X( t ), u ( t ) )dt + ò f 0 (X( t ), u ( t ) )dt .(248)DtДопустим, на интервале t = 0…Dt управление было оптимальным. Вдальнейшем управление должно выбираться, исходя из принципа оптимальности:tкò f 0 (X(t ), u( t ) )dt = S(X(Dt )) ,(249)Dtт.е. должно быть оптимально относительно состояния X(Dt).Так как траектория X(t) непрерывна, то при Dt ®0 справедливо следующее:& Dt = X + f (X, u )Dt ,X(Dt ) ® X + X(250)Dtò f 0 (X( t ), u ( t ) )dt ® f 0 (X, u )Dt ,(251)0где X, u - значения координат объекта и управления в начальный момент времени.Подставим выражение (250) в (249).
Результат совместно с (251) подставим в (248) и далее - в (246), (247):J = f 0 (X, u )Dt + S(X + f (X, u )Dt ) ,(252)S(X ) = min (f 0 (X, u )Dt + S(X + f (X, u )Dt )) .(253)uÎUПредположим, что S - непрерывно дифференцируемая по X функция,тогда при Dt ®0S(X + f (X, u )Dt ) ® S(X ) +¶Sf (X, u )Dt ,¶X(254)где¶S¶S¶S¶Sf ( X, u ) =f1 (X, u ) +f 2 (X, u ) + ... +f n ( X, u ) .¶X¶x1¶x 2¶x n(255)Следовательно:¶SæöS(X ) = minç f 0 (X, u )Dt + S(X) +f (X, u )Dt ÷ .uÎU è¶XøИз (256) получим55(256)¶Sæö0 = minç f 0 (X, u )Dt +f (X, u )Dt ÷ .uÎU è¶Xø(257)Так как Dt ¹0, окончательно запишем¶Sæö0 = minç f 0 (X, u ) +f ( X, u ) ÷ .uÎU è¶Xø(258)Уравнение (258) называется функциональным уравнением Беллмана.Оно связывает S(X) c функциями u(t) и X(t), обеспечивающими минимумфункционала (246).