Методические указания по выполнению лабораторных работ по дисциплине Введение Дальнейшее развитие науки, техники и производства требует решения всё более и более сложных проблем управления различными динамическими процессами в области механики, электротехники, радиоэлектроники, в экологических и социальных системах. Увеличение производительности, быстроты движений, размеров и мощности машин, увеличение точности и усложнение характера производственного процесса или научного эксперимента затрудняют или даже делают невозможным для человека достаточно быстрое и точное управление движением машин или ходом производственного процесса. Для автоматизации управления машинами и производственными процессами необходимо, прежде всего, глубокое теоретическое и экспериментальное изучение самих процессов управления, а затем создание на основе полученных знаний широкого набора надежных и эффективных приборов, устройств и систем автоматики. В настоящее время для решения многих из указанных проблем с успехом применяются персональные компьютеры, оснащенные специальным программным обеспечением. Их использование делает более эффективным реализацию аналитических расчетов и многих численных методов, а также позволяет производить визуальное графическое моделирование, имитируя работу исследуемой системы или воспроизводя изменяющуюся во времени структуру сложного прибора или устройства. Такие методы исследования получили название соответственно имитационного и ситуационного моделирования. Среди ряда современных специальных программных систем компьютерной математики особо выделяется матричная математическая система MATLAB корпорации MathWorks Inc. Эта система является идеальным средством для реализации всех видов моделирования: аналитического, численного, имитационного и ситуационного. Система имеет мощные средства диалога, графики и комплексной визуализации, а также многочисленные программные пакеты для расширения функций системы: символического дифференцирования и интегрирования, идентификации систем, построения и исследования искусственных нейронных систем, обработки сигналов и изображений, решения обыкновенных дифференциальных уравнений и т.д. Одним из таких пакетов системы MATLAB является пакет визуального имитационного и ситуационного моделирования Simulink, позволяющий исследовать многие линейные и нелинейные блочные динамические системы и устройства произвольного назначения. Модель создается из стандартных функциональных графических блоков, набор которых в пакете очень велик и постоянно расширяется. Параметры блоков задаются с помощью удобных диалоговых панелей. Результаты работы регистрируются либо в виде графиков, либо в цифровой форме для последующего применения. По желанию пользователя формируется отчет в формате HTML, который содержит структурную схему модели, перечень её блоков, таблицы параметров блоков и записи регистрирующих устройств в виде соответствующих графиков и диаграмм. В данном методическом пособии показано, каким образом надо умело сочетать аналитические подходы и визуальное компьютерное моделирование для решения сложных математических задач, возникающих при исследовании систем оптимального управления различными динамическими системами. Лабораторная работа № 1 ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ ПРОСТЕЙШИМИ ЗВЕНЬЯМИ Цель работы: разработка аналитических моделей для определения характеристик и нахождения оптимального управления объектами, состоящими из простейших звеньев, реализация этих моделей в программной среде математической системы MATLAB и построение имитационных моделей с помощью пакета Simulink, верификация разработанных моделей и определение с их использованием характеристик объектов управления, а также нахождение оптимального управления для обеспечения изменения выходной величины на заданное значение за минимальное время. 5.1 Постановка задач исследования В данной лабораторной работе рассматриваются объекты, движение которых описывается обыкновенными дифференциальными уравнениями с постоянными коэффициентами, порядок которых не ниже второго. С точки зрения структуры это – либо отдельные простейшие звенья, либо несложные соединения таких звеньев. Целью управления является минимизация времени изменения выходной величины объекта на заданное значение за счет рационального выбора ограниченного по модулю управляющего воздействия U(t). Прежде чем приступить к поиску оптимального управления, необходимо определить характеристики объекта и провести всесторонние исследования динамики его поведения при различных возмущающих воздействиях, в частности оценить устойчивость звена или соединения, так как только для устойчивых объектов имеет смысл поиск оптимального управления. Аналитическое выражение для оптимального управления U(t) следует искать с помощью функции Гамильтона (гамильтониана) и принципа максимума Понтрягина. Расчет характеристик переходного процесса должен производиться с помощью системы MATLAB. Имитационная модель должна подтвердить расчеты по программе. Необходимо также разработать имитационную модель для автоматического определения параметров оптимального управления и имитационную модель для нахождения управлений, улучшающих динамические характеристики целевой системы при оптимальном управлении. Необходимо также с помощью интеграла Дюамеля рассчитать реакцию системы на оптимальное управляющее воздействие и проверить это на имитационной модели. 5.2 Разработка аналитических моделей 122 В качестве прототипа рассмотрим объект управления, который описывается дифференциальным уравнением T ⋅ &x& + x& = k ⋅ u , (5.1) где T и k – положительные постоянные. Данное уравнение характеризует объект, состоящий из интегрирующего и инерционного звеньев, соединенных последовательно. Уравнением (5.1) приближенно описываются многие объекты управления: маломощные электрические следящие системы постоянного и переменного тока, двигатели которых управляются электронными усилителями, некоторые тепловые объекты, у которых регулирующий орган имеет интегрирующий электрический, гидравлический или пневматический привод; транспортные механизмы, двигатели которых управляются напряжением сети, и т. д. Требуется найти алгоритм управления, переводящий объект из положения x = 0 , x& = 0 при t = 0 в положение x = xn , x& = 0 за минимальное время t 2 ; на управляющее воздействие наложено ограничение u ≤ u max . Определить момент переключения t1 , оптимальный переходной процесс r x (t ) = ( x1 (t ) , x2 (t ) ) и время перехода t 2 . По точкам построить графики x1 (t ) и x2 (t ) . Для этого интервал времени от 0 до t1 и интервал от t1 до t2 разделить на 5 равных частей и вычислить значения x1 (t ) и x2 (t ) в соответствующих точках. В точке t = t1 x1 (t ) и x2 (t ) должны рассчитываться дважды по разным формулам и эти значения должны совпадать. Прежде чем приступить к поиску оптимального решения, необходимо оценить характеристики объекта и устойчивость его состояния. Передаточная и частотная функции объекта имеют вид: K ( p) = 1 , p(Tp + 1) (5.2) K (iω ) = 1 . iω (Tiω + 1) (5.3) Функция переходной проводимости объекта находится как решение дифференциального уравнения (5.1) при толчкообразном внешнем воздействии (5.4) T&x& + x& = 1(t ). Используя прямое и обратное преобразование Лапласа, получаем Λ (t ) = −T + t + Te − t T , (5.5) или Λ (t ) = t + T (e 123 − t T − 1) (5.6) Функция веса объекта получается путем дифференцирования функции переходной проводимости и имеет вид − t (5.7) W (t ) = 1 − e T . Реакция объекта на синусоидальное возмущающее воздействие определяется путем решения дифференциального уравнения T&x& + x& = A0 sin ω 0 t (5.8) и имеет следующее аналитическое выражение: t − A0ω 0 T T3 1 T x(t ) = e − ( 2 − ( 2 2 T ω 0 (1 + k 0 T 2ω 02 1 1 − iω 0 + T e − iω 0 t + 1 1 iω 0 + T e iω 0t )). (5.9) Рассмотрим порядок вывода этого выражения. Используя преобразования Лапласа при нулевых начальных условиях, получаем Aω (Tp 2 + p ) ⋅ x( p) = 2 0 0 2 . (5.10) p + ω0 Отсюда находим изображение регулируемой величины A0ω 0 x( p ) = . (5.11) p (Tp + 1)( p 2 + ω 02 ) Корни характеристического уравнения легко находятся и равны: p1 = 0 ; p2 = − 1 ; p3 = −iω 0 ; p1 = iω 0 . T Разложим дробь на простейшие дроби: 1 1 ( p − 0)( p − (− ))( p − (−iω 0 ))( p − iω 0 ) T = A B C D + + + . p − 0 p + 1 p + iω 0 p − iω 0 T (5.12) Приведя это уравнение к общему знаменателю и отбросив его, получим: A( p + 1 1 1 )( p 2 + ω 02 ) + Bp( p 2 + ω 02 ) + Cp ( p + )( p − iω 0 ) + Dp( p + )( p + iω 0 ) = 1 .(5.13) T T T Подставим в это уравнение корни и найдем коэффициенты разложения: A= T ω 02 B=− D=− ; (5.14) T3 1 + ω 0T 2 1 ; 1 2ω (iω 0 + ) T 2 0 124 (5.15) ; (5.16) C=− 1 1 2ω (−iω 0 + ) T . (5.17) 2 0 Переходя с помощью таблиц от изображения к оригиналу, получаем следующее выражение для вынужденных колебаний объекта: ⎛ ⎞ t ⎟ T 3 ⎞ −T ⎜ 1 1 ⎛ A0ω 0 ⎞⎛ T ⎜ ⎟⎛⎜ ω 0 sin ω 0t + cos ω 0 t ⎞⎟ (5.18) ⎟ x(t ) = ⎜ e − ⎟⎜⎜ 2 − 2 2 ⎟ T ⎜ ω 2 (ω 2 + 1 ) ⎟⎝ ⎠ ⎝ T ⎠⎝ ω 0 1 + ω 0 T ⎠ ⎜ 0 0 2 ⎟ T ⎠ ⎝ Теперь необходимо найти алгоритм оптимального управления. Обозначим: x1 (t ) = x(t ), x2 (t ) = x&1 (t ). Тогда вместо уравнения (5.1) будем иметь следующую систему дифференциальных уравнений: ⎧ x&1 (t ) = x2 (t ), ⎨ ⎩T ⋅ x& 2 (t ) + x2 (t ) = k ⋅ u. (5.18) Разделим все члены второго уравнения на T и запишем систему в следующем виде: ⎧ x&1 (t ) = x 2 (t ), ⎪ ⎨ 1 ⎪⎩ x& 2 (t ) = T ⋅ (k ⋅ u − x 2 ). (5.19) Функция Гамильтона для системы двух дифференциальных уравнений конструируется следующим образом: r r H (ψ , x , u ) = ψ 1 (t ) ⋅ f1 ( x1 , x2 , t , u ) + ψ 2 (t ) ⋅ f 2 ( x1 , x2 , t , u ) , (5.20) где ψ 1 (t ) и ψ 2 (t ) - вспомогательные функции, f1 ( x1 , x2 , t , u ) и f 2 ( x1 , x2 , t , u ) - правые части дифференциальных уравнений. В нашем случае f1 (x1 , x2 , t , u ) = x2 (t ) , f 2 ( x1 , x2 , t , u ) = 1 ⋅ (k ⋅ u − x2 (t )) . T Тогда гамильтониан запишется в виде r r 1 H (ψ , x , u ) = ψ 1 (t ) ⋅ x2 + ψ 2 (t ) ⋅ ⋅ (k ⋅ u − x2 (t )) . T (5.21) ψ 2 (t ) должны удовлетворять Вспомогательные функции ψ 1 (t ) и следующей системе дифференциальных уравнений: ∂H ⎧& ⎪ψ 1 (t ) = − ∂x , ⎪ 1 ⎨ ⎪ψ& (t ) = − ∂H . ⎪⎩ 2 ∂x2 В нашем случае эта система будет иметь вид: 125 (5.22) ⎧ψ& 1 (t ) = 0, ⎪ ⎨ 1 ⎪⎩ψ& 2 (t ) = −ψ 1 (t ) + T ⋅ψ 2 (t ). (5.23) Из первого уравнения следует ψ 1 (t ) = c1 , где c1 - постоянная величина. Тогда второе уравнения можно записать в виде: ψ& 2 (t ) − Это линейное 1 ⋅ψ 2 (t ) = −c1 . T неоднородное (5.24) уравнение. Решением линейного t однородного уравнения является функция c2 ⋅ exp⎛⎜ ⎞⎟ , а частное решение ⎝T ⎠ неоднородного уравнения равна константе c3 . Подставляя эту константу в дифференциальное уравнение, получим c3 = c1 ⋅ T , тогда можно записать ⎛t⎞ ⎝T ⎠ ψ 2 (t ) = c1T + c 2 ⋅ exp⎜ ⎟ . (5.25) Функция Гамильтона примет вид ⎛ ⎛ t ⎞⎞ 1 H = c1 ⋅ x 2 (t ) + ⎜⎜ c1 ⋅ T + c 2 ⋅ exp⎜ ⎟ ⎟⎟ ⋅ ⋅ [k ⋅ u − x 2 (t )] . ⎝ T ⎠⎠ T ⎝ (5.26) На основании принципа максимума Понтрягина управление выбирается таким образом, чтобы H принимала наибольшее значение. Для этого максимальное значение должно принять слагаемое функции H, которое зависит от управления u . Обозначим это слагаемое H * . В нашем случае оно имеет вид H* = Величина H* k⎛ ⎛ t ⎞⎞ ⎜⎜ c1 ⋅ T + c2 ⋅ exp⎜ ⎟ ⎟⎟ ⋅ u . T⎝ ⎝ T ⎠⎠ принимает (5.27) наибольшее значение при / ⎛ ⎛ ⎛ t ⎞⎞ c ⎛ t ⎞⎞ ⎛t⎞ k = sign⎜⎜ c1 ⋅ T + c2 ⋅ exp⎜ ⎟ ⎟⎟ ⋅ u max . Так как ⎜⎜ c1 ⋅ T + c2 ⋅ exp⎜ ⎟ ⎟⎟ = 2 ⋅ exp⎜ ⎟ , то мы T ⎝ T ⎠⎠ ⎝ T ⎠⎠ ⎝T ⎠ ⎝ ⎝ видим, что производная в нуль не обращается. Поэтому функция k ⎛t⎞ c1 ⋅ T + c2 ⋅ exp⎜ ⎟ может менять знак не более одного раза. Так как > 0 , то T ⎝T ⎠ max H * = u∈U k ⎛t⎞ c1 ⋅ T + c2 ⋅ exp⎜ ⎟ ⋅ u max . T ⎝T ⎠ (5.28) Обозначим через t1 - время переключения управления, через t 2 - время r r перехода системы из начальной точки x0 = (0;0) в конечную точку x1 (xn ;0) . Оптимальное управление будет таким: 126 ⎧ u max , при 0 ≤ t < t1 , u=⎨ ⎩− u max , при t1 < t ≤ t 2 . (5.29) График функции представлен на рис 5.1. Рис 5.1 Оптимальное управление для простейшего звена Теперь найдем время переключения t1 , время управления t 2 , а также x1 (t ) и x2 (t ) . Решим дифференциальное уравнение (5.1) сначала для u = u max , при 0 ≤ t < t1 , а затем для u = −u max , при t1 ≤ t < t 2 . Пусть u = u max . Тогда уравнение (5.1) запишется в виде T ⋅ &x&1 + x&1 = k ⋅ u max . (5.30) Это линейное неоднородное уравнение с постоянными коэффициентами. Соответствующее линейное однородное уравнение имеет вид: T ⋅ &x&1 + x&1 = 0 . (5.31) имеет корни r1 = 0 , Характеристическое уравнение T ⋅ r 2 + r = 0 t r2 = − . Тогда общее решение однородного уравнения будет иметь вид T ⎛ t⎞ c4 + c5 ⋅ exp⎜ − ⎟ . ⎝ T⎠ Так как нуль является корнем характеристического уравнения, а правая часть неоднородного уравнения равна константе, то частное решение неоднородного уравнения будем искать в виде c6 ⋅ t . Подставляя эту функцию в неоднородное уравнение, получим c6 = k ⋅ u max . Поэтому общее решение неоднородного уравнения запишется в виде 127 ⎛ t⎞ x1 (t ) = k ⋅ u max ⋅ t + c 4 + c5 ⋅ exp⎜ − ⎟. ⎝ T⎠ (5.32) Постоянные интегрирования c4 и c5 найдем из начальных условий: x1 (0 ) = 0 , x&1 (0 ) = 0 . В нашем случае x&1 (t ) = k ⋅ u max − c5 ⎛ t⎞ exp⎜ − ⎟ . Тогда будем иметь T ⎝ T⎠ следующую систему: ⎧ x1 (0 ) =c 4 +c5 = 0, ⎪ ⎨ c5 ⎪⎩ x&1 (0 ) = k ⋅ u max − T = 0. (5.33) Решая полученную систему, получим c4 = −k ⋅ u max ⋅ T , c5 = k ⋅ u max ⋅ T . Тогда при 0 ≤ t < t1 : ⎛ ⎛ t⎞ ⎞ x1 (t ) = k ⋅ u max ⋅ t + k ⋅ u max ⋅ T ⋅ ⎜⎜ exp⎜ − ⎟ − 1⎟⎟, ⎝ T⎠ ⎠ ⎝ (5.34) ⎛ t⎞ x&1 (t ) = k ⋅ u max − k ⋅ u max ⋅ exp⎜ − ⎟. ⎝ T⎠ (5.35) Теперь решим уравнение (5.1) при u = −u max . Решение однородного уравнения остается без изменения, а частным решением неоднородного уравнения теперь будет функция − k ⋅ u max ⋅ t . Общим решением неоднородного уравнения является функция ⎛ t⎞ x1 (t ) = −k ⋅ u max ⋅ t + c6 + c7 ⋅ exp⎜ − ⎟ . ⎝ T⎠ (5.36) Используем условия в конце управления: x1 (t 2 ) = xn , x&1 (t 2 ) = 0 . Так как x&1 (t ) = −k ⋅ u max − c7 ⎛ t⎞ exp⎜ − ⎟ , то получим следующие уравнения T ⎝ T⎠ ⎛ t ⎞ x1 (t 2 ) = − k ⋅ u max ⋅ t 2 + c6 + c7 ⋅ exp⎜ − 2 ⎟ = xn , ⎝ T⎠ x&1 (t 2 ) = −k ⋅ u max − c7 ⎛ t ⎞ exp⎜ − 2 ⎟ = 0. T ⎝ T⎠ (5.37) (5.38) Из последних двух уравнений выразим c6 и c7 через неизвестную t 2 . t Имеем c7 = −k ⋅ u max ⋅ T ⋅ exp⎛⎜ 2 ⎞⎟ , c 6 = x n + k ⋅ u max ⋅ t 2 + k ⋅ u max ⋅ T . Тогда при t1 ≤ t < t 2 ⎝T ⎠ будем иметь ⎛ ⎛ t − t ⎞⎞ x1 (t ) = x n + k ⋅ u max ⋅ ⎜⎜ t 2 − t + T − T ⋅ exp⎜ 2 ⎟ ⎟⎟ , ⎝ T ⎠⎠ ⎝ 128 (5.39) ⎛ ⎛t −t ⎞ ⎞ x&1 (t ) = k ⋅ u max ⋅ ⎜⎜ exp⎜ 2 ⎟ − 1⎟⎟ . ⎝ T ⎠ ⎠ ⎝ (5.40) Теперь мы имеем две неизвестные t1 и t 2 . Для их определения применим метод стыковывания уравнений. В точке t = t1 x1 (t ) , вычисленные по формулам (5.16) и (5.18), должны совпадать. В этой точке значения x&1 (t ) , вычисленные по формулам (5.17) и (5.19), также должны совпадать. Имеем следующую систему уравнений ⎧ ⎛ ⎛ ⎛ t 2 − t1 ⎞ ⎞ ⎛ t1 ⎞ ⎞ ⎟ ⎟⎟ ⎪k ⋅ u max ⋅ t1 + k ⋅ u max ⋅ T ⋅ ⎜⎜ exp⎜ − ⎟ − 1⎟⎟ = x n + k ⋅u max ⋅⎜⎜ t 2 − t1 + T − T ⋅ exp⎜ T T ⎠⎠ ⎠ ⎝ ⎝ ⎪ ⎝ ⎝ ⎠ , (5.41) ⎨ ⎛ ⎞ t t t − ⎞ ⎞ ⎛ ⎛ ⎪k ⋅ u − k ⋅ u ⋅ exp − 1 = k ⋅u ⋅⎜ exp 2 1 − 1⎟. ⎟ ⎟ ⎟ ⎜ ⎜ max max max ⎜ ⎪ T T ⎠ ⎠ ⎠ ⎝ ⎝ ⎝ ⎩ В первом уравнении раскроем скобки и приведем подобные члены, а правую и левую часть второго уравнения разделим на k ⋅ u max , получим ⎧ ⎛ ⎛ t1 ⎞ ⎞ ⎛ t 2 − t1 ⎞ ⎟, ⎪2 ⋅ k ⋅ u max ⋅ t1 + k ⋅ u max ⋅ T ⋅ ⎜⎜ exp⎜ − ⎟ − 2 ⎟⎟ = xn + k ⋅ u max ⋅ t 2 − k ⋅ u max ⋅ T ⋅ exp⎜ ⎝ T⎠ ⎠ ⎝ T ⎠ ⎪ ⎝ ⎨ ⎪exp⎛ t 2 − t1 ⎞ + exp⎛ − t1 ⎞ − 2 = 0. ⎜ ⎟ ⎪⎩ ⎜⎝ T ⎟⎠ ⎝ T⎠ (5.42) Перепишем первое уравнение в виде: ⎛ ⎛t −t ⎞ ⎛ t ⎞ ⎞ 2 ⋅ k ⋅ u max ⋅ t1 + k ⋅ u max ⋅ T ⋅ ⎜⎜ exp⎜ 2 1 ⎟ + exp⎜ − 1 ⎟ − 2 ⎟⎟ = xn + k ⋅ u max ⋅ t 2 . ⎝ T ⎠ ⎝ T⎠ ⎠ ⎝ (5.43) Так как выражение в скобках равно 0, то из последнего уравнения находим t 2 = 2 t1 − xn . k ⋅ u max (5.44) t Второе уравнение сначала умножим на exp⎛⎜ 1 ⎞⎟ , а вместо t 2 подставим ⎝T ⎠ его найденное значение, получим xn ⎛ ⎜ 2t1 − k ⋅ u max ⎛t ⎞ 2 exp⎜ 1 ⎟ − exp⎜ ⎜ T ⎝T ⎠ ⎜ ⎝ ⎞ ⎟ ⎟ −1 = 0 . ⎟ ⎟ ⎠ (5.45) t Обозначим exp⎛⎜ 1 ⎞⎟ = y , ( y > 1) . Тогда следует ⎝T ⎠ ⎛ ⎞ xn ⎟⎟ − 1 = 0 . 2 y − y 2 ⋅ exp⎜⎜ − k ⋅ u ⋅ T max ⎝ ⎠ 129 (5.46) Правую и левую части последнего xn уравнения умножим на xn ⎛ ⎞ ⎞ ⎛ xn xn ⎟⎟ , ⎟⎟ , получим y 2 − 2 k ⋅umax ⋅T ⋅ y + e k ⋅umax ⋅T = 0 . Обозначим z = exp⎜⎜ − exp⎜⎜ ⎝ k ⋅ u max ⋅ T ⎠ ⎝ k ⋅ u max ⋅ T ⎠ (z > 1) . Тогда уравнение примет вид y 2 − 2 z ⋅ y + z = 0 . Решая квадратное уравнение, получим y1 = z − z 2 − z , y 2 = z + z 2 − z . Так как z > 1 , то z −1 < z 2 − z < z , а тогда − z < − z 2 − z < 1 − z . Прибавим ко всем частям неравенства z , получим 0 < z − z 2 − z < 1 . Следовательно, y1 < 1 является посторонним корнем. Таким образом y = z + z 2 − z . Произведем расчеты для заданных исходных данных: T = 0.62; k = 0.0023; Umax = 220; xn = 2.09. Подставляя эти значения в выражения для z и y, получим: 2.09 ⎛ ⎞ z = exp⎜ ⎟ = 782.107 , ⎝ 0.0023 ⋅ 220 ⋅ 0.62 ⎠ (5.47) y = 782.107 + 782.107 2 − 782 / 107 = 1563.714 . (5.48) t Из уравнения exp⎛⎜ 1 ⎞⎟ = y , находим t1 = T ⋅ ln y = 0.62 ⋅ ln(1563.714 ) = 4.5600 . ⎝T ⎠ Теперь по формуле (5.20) найдем время управления. 2.09 = 4.9895 . Траектория движения точки в фазовом 0.0023 ⋅ 220 пространстве x1 (t ) и её скорость x 2 (t ) должны рассчитываться по формулам: t 2 = 2 ⋅ 4.5600 − ⎧ ⎛ ⎛ t⎞ ⎞ при 0 ≤ t < t1 , ⎪k ⋅ u max ⋅ t + k ⋅ u max ⋅ T ⋅ ⎜⎜ exp⎜ − ⎟ − 1⎟⎟, ⎝ T⎠ ⎠ ⎝ ⎪ x1 (t ) = ⎨ ⎪ x + k ⋅ u ⋅ ⎛⎜ t − t + T − T ⋅ exp⎛⎜ t 2 − t ⎞⎟ ⎞⎟, при t < t ≤ t . max ⎜ 2 1 2 ⎟ ⎪ n ⎝ T ⎠⎠ ⎝ ⎩ ⎧ ⎪k ⋅ u max ⎪ x 2 (t ) = ⎨ ⎪k ⋅ u max ⎪ ⎩ ⎛ ⎛ t ⎞⎞ ⋅ ⎜⎜1 − exp⎜ − ⎟ ⎟⎟, ⎝ T ⎠⎠ ⎝ ⎛ ⎛t −t⎞ ⎞ ⋅ ⎜⎜ exp⎜ 2 ⎟ − 1⎟⎟, ⎝ T ⎠ ⎠ ⎝ (5.49) при 0 ≤ t < t1 , (5.50) при t1 < t ≤ t 2 . 5.3 Программная реализация аналитических моделей function RKiw(T) % %-- ГРАФИКИ ЧАТОТНОЙ ФУНКЦИИ K(iw): % %-- 1.Диапазон частот: % 130 w=0.01:0.001:1; % %-- 2.Частотная функция: % Kiw=1./((i.*w).*(T.*i.*w+1)); % %-- 3.Модуль частотной функции: % subplot(2,2,1) plot(w,abs(Kiw),'r') xlabel('w') ylabel('abs(Kiw)') % %-- 4.Фаза частотной функции: % subplot(2,2,2) plot(w,angle(Kiw),'r') xlabel('w') ylabel('angle(Kiw)') % %-- 5.Годограф на плоскости: % subplot(2,2,3) plot(real(Kiw),imag(Kiw),'r') xlabel('real(Kiw)') ylabel('image(Kiw)') % %-- 6.Годограф в трехмерном пространстве (комета): % subplot(2,2,4) comet3(real(Kiw),imag(Kiw),w) xlabel('real(Kiw)') ylabel('image(Kiw)') zlabel('w') % %-- Конец функции RKiw(T). function [t1,t2] = Param(T,k,Umax,Xn) % %-- ФУНКЦИЯ ДЛЯ РАСЧЕТА ПАРАМЕТРОВ МАТЕМАТИЧЕСКИХ %-МОДЕЛЕЙ: % %-- T = 0.62; %-- постоянная при x''; %-- k = 0.0023; %-- постоянная при управляющем воздействии u(t); %-- Umax = 220; %-- максимальное значение управляющего 131 %-- воздействия u(t); %-- конечное значение управляемой величина x(t); %-- Xn = 2.09; % %-- 1.Расчет параметров математических моделей: % z = exp(Xn/(k*Umax*T))%-- промежуточный расчетный параметр; y = z + sqrt(z^2-z) %-- промежуточный расчетный параметр; t1 = T*log(y) %-- время переключения управления; t2 = 2*t1-Xn/(k*Umax) %-- время перехода системы в конечную %-- точку; % %-- 2.Конец функции Param(T,k,Umax,Xn). function [Lambda, Weight,XSin]= LWSin(T,a0,w) % %-- ГРАФИКИ ПЕРЕХОДНЫХ ФУНКЦИЙ Lambda(t), Weight(t) и %-Sin(A, B, C): % %-- 1.Временной интервал: % t = 0:1:10; % %-- 2.Функция переходной проводимости: % Lambda = -T+t+T.*exp(-t./T); subplot(4,2,1) plot(t,Lambda,'r') xlabel('t') ylabel('Lambda') % %-- 3.Функция веса: % Weight = 1-exp(-t./T); subplot(4,2,2) plot(t,Weight,'r') xlabel('t') ylabel('Weight') % %-- 4.Реакция звеньев на синусоидальные воздействия: % XSin = (a0.*w./T).*(T./w.^2-(T.^3./... (1+w.^2.*T.^2)).*exp(-t./T)-... (1./(w.^2.*(w.^2+1./T.^2))).*... (w.*sin(w.*t)+1./T.*cos(w.*t))); subplot(4,2,3) 132 plot(t,XSin,'r') xlabel('t') ylabel('X') % %-- 8.Конец функции LWSin(T,a0,w). function [X,DX] = OptUpr(T,k,Umax,Xn) % %-- ФУНКЦИЯ ДЛЯ РАСЧЕТА ПЕРЕХОДНОГО ПРОЦЕССА %-ОПТИМАЛЬНОГО УПРАВЛЕНИЯ: % %-- 1.Расчет параметров математической модели: % z = exp(Xn/(k*Umax*T)) %-- промежуточный расчетный параметр; y = z + sqrt(z^2-z) %-- промежуточный расчетный параметр; t1 = T*log(y) %-- время переключения управления; t2 = 2*t1-Xn/(k*Umax) %-- время перехода системы в конечную точку; % %-- 2.Задание временных точек: % t = [0.0000 0.9120 1.8240 2.7360 3.6480 4.5600 4.6459 4.7318 4.8177 … 4.9036 4.9895]; % %-- 3.Расчет управляемой величины: % for i = 1:1:11 if t(i) <= t1 X(i) = k*Umax*t(i)+k*Umax*T*(exp(-t(i)/T)-1); else X(i) = Xn+k*Umax*(t2-t(i)+T-T*exp((t2-t(i))/T)); end end % %-- 4.Расчет скорости изменения управляемой величины: % for i = 1:1:11 if t(i) <= t1 DX(i) = k*Umax*(1-exp(-(t(i)/T))); else DX(i) = k*Umax*(exp((t2-t(i))/T)-1); end end % %-- 5.Визуализация управляемой величины и скорости ee изменения: % 133 subplot(2,2,1) plot(t,X,'r') xlabel('t') ylabel('X') subplot(2,2,2) plot(t,DX,'r') xlabel('t') ylabel('DX') %-- 6.Конец функции OptUpr(T,k,Umax,Xn). 5.4 Построение имитационных моделей В соответствии с математическим описанием объекта управления и поставленными задачами имитационная модель содержит два интегрирующих блока, необходимые генераторы сигналов, дисплеи, осциллографы, сумматоры и другие элементы (см. рис. 5.2). Требуется построить эту модель, используя библиотеки блоков пакета Simulink, и настроить параметры блоков в соответствии с условиями задачи. Проверить работу модели можно путем её многократного запуска при изменении времени окончания работы. Модифицируя состав модели и изменяя режим её работы, можно получить все требуемые характеристики объекта управления. 134 Рис. 5.2 Имитационная модель оптимального управления Рис. 5.3 Осциллограммы оптимального управления 5.5 Верификация математических моделей Верификацию аналитической и имитационной моделей объекта управления произведем с помощью сопоставления переходных процессов, протекающих в этих моделях при оптимальном управляющем воздействии с ограничением Umax = 220 для следующих значений параметров объекта T = 0.6200 и k = 0.0023, когда конечное значение выходной величины xn=2.09. 135 Таблица 5.1 Результаты расчета и моделирования переходного процесса для объекта управления при оптимальном управляющем воздействии u(t) Текущее время t 0.0000 0.9120 1.8240 2.7360 3.6480 4.5600 4.6459 4.7318 4.8177 4.9036 4.9895 Оптимальное управляющее воздействие u(t) 220 220 220 220 220 -220 -220 -220 -220 -220 -220 Управляемая величина x(t) Расчетное Модельное значение значение 0.0000 0.0000 0.2198 0.2198 0.6258 0.6258 1.0745 1.0745 1.5330 1.5330 1.9338 1.9338 2.0315 2.0315 2.0587 2.0587 2.0768 2.0768 2.0868 2.0868 2.0900 2.0900 Скорость изменения управляемой величины x'(t) Расчетное Модельное значение значение 0.0000 0.0000 0.3898 0.3898 0.4793 0.4793 0.4999 0.4999 0.5046 0.5046 0.5057 0.5057 0.3748 0.3748 0.2608 0.2608 0.1616 0.1616 0.0752 0.0752 0.0000 0.0000 5.6 Варианты заданий и порядок их выполнения 1. Для рассматриваемого простейшего звена с помощью функции RKiw построить частотные графики. 2. Используя функцию LWSin , построить графики переходных функций при отсутствии возмущающих воздействий и нулевых начальных условиях, при толчкообразном и синусоидальном возмущениях, сравнить их с осциллограммами имитационной модели для таких же режимов и заполнить таблицы значений переходных функций. 3. По табл. 4.2 лабораторной работы № 4 выбрать два простейших звена и образовать из них систему, движение которой должно описываться обыкновенным дифференциальным уравнением порядка не ниже второго. 4. Для выбранной целевой системы вывести самостоятельно или получить с помощью компьютера аналитические выражения для вычисления передаточной и частной функций, а также функций переходной проводимости и веса. 5. С помощью пакета символьных вычислений Symbolic Math найти вид оптимального управления, обеспечивающего изменение выходной величины на заданное значение за минимальное время, используя функцию Гамильтона и принцип максимума Понтрягина, и вывести аналитические выражения для переходных функций системы, работающей в этом режиме. 136 6. Написать программы для вычисления амплитуды и фазы частот-ной функции, а также для расчёта переходного процесса системы при толчкообразном входном сигнале, используя выражения для функций переходной проводимости и веса. 7. На комплексной плоскости построить амплитудно-фазовую характеристику - годограф вектора К(iw) и оценить устойчивость целевой системы. 8. Для целевой системы найти аналитическое выражение для её ре-акции на синусоидальное возмущающее воздействие и выявить наличие собственных колебаний, а также возможность возникновения резонанса. 9. Построить имитационную модель целевой системы и произвести её моделирование при нулевых начальных условиях и отсутствии возмущающих сил, регистрируя переходной процесс с помощью соответствующих осциллографов. 10. Используя синусоидальный входной сигнал с переменной частотой, произвести моделирование системы и проверить её амплитудно-фазовые характеристики. 11. Используя ступенчатый входной сигнал Step, произвести моделирование системы и проверить её функции переходной проводимости и веса. 12. С помощью интеграла Дюамеля рассчитать реакцию целевой системы на заданное возмущающее воздействие и проверить результаты расчёта на имитационной модели этой системы. 13. Построить имитационную модель оптимальной целевой систе-мы, произвести её моделирование и регистрацию динамических процессов с помощью соответствующих осциллографов. 14. Построить имитационную модель для автоматического опре-деления параметров оптимального управления. 15. Произвести верификацию всех построенных моделей. 16. Построить имитационные модели для нахождения управлений, улучшающих динамические характеристики целевой системы при оптимальном управлении. 17. Оформить отчёт по лабораторной работе, применяя средства генерирования описания и результатов работы имитационных моделей, встроенные в пакет Simulink. 18. Если при выполнении какого-либо этапа исследования встре-тятся затруднения, рекомендуется сначала выполнить этот этап для системы-прототипа, описанный в лабораторной работе. 5.7 Оформление отчета по результатам исследований Для завершения лабораторной работы необходимо сгенерировать отчет в формате HTML, затем преобразовать его в формат RTF с помощью текстового редактора, включит в него теоретические результаты, отформатировать текст и графические объекты, записать на дискету и в электронном виде предъявить преподавателю. Обосновать достоверность полученных результатов. 137 Лабораторная работа № 2 ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ ЗВЕНЬЯМИ С ПЕРЕМЕННЫМИ ПАРАМЕТРАМИ Цель работы: разработка аналитических моделей для определения характеристик и нахождения оптимального управления объектами, состоящими из простейших звеньев с переменными параметрами, реализация этих моделей в программной среде математической системы MATLAB и построение имитационных моделей с помощью пакета Simulink, верификация разработанных моделей и определение с их использованием характеристик объектов управления, а также нахождение оптимального управления для обеспечения изменения выходной величины на заданное значение за минимальное время. 6.1 Постановка задач исследования В данной лабораторной работе рассматриваются объекты, движение которых описывается обыкновенными дифференциальными уравнениями с переменными коэффициентами, порядок которых не ниже второго. С точки зрения структуры это – либо отдельные простейшие звенья, либо несложные соединения таких звеньев. Целью управления является минимизация времени изменения выходной величины объекта на заданное значение за счет рационального выбора ограниченного по модулю управляющего воздействия U(t). Прежде чем приступить к поиску оптимального управления, необходимо определить характеристики объекта и провести всесторонние исследования динамики его поведения при различных возмущающих воздействиях, в частности оценить устойчивость звена или соединения, так как только для устойчивых объектов имеет смысл поиск оптимального управления. Аналитическое выражение для оптимального управления U(t) следует искать с помощью функции Гамильтона (гамильтониана) и принципа максимума Понтрягина. Расчет характеристик переходного процесса должен производиться с помощью системы MATLAB. Имитационная модель должна подтвердить расчеты по программе. Необходимо также разработать имитационную модель для автоматического определения параметров оптимального управления и имитационную модель для нахождения управлений, улучшающих динамические характеристики целевой системы при оптимальном управлении. Желательно также с помощью интеграла Дюамеля рассчитать реакцию системы на оптимальное управляющее воздействие и проверить это на имитационной модели. 6.2 Разработка аналитических моделей В качестве прототипа рассмотрим объект управления, который описывается дифференциальным уравнением 138 T1 ⋅ &x& + x& = k ⋅ u , при 0 ≤ t < t1 , T2 ⋅ &x& + x& = k ⋅ u , при t1 < t ≤ t 2 , (6.1) (6.2) где T1 , T2 и k - положительные постоянные. Данная система уравнений возникает, например, при описании торможения двигателя противовключением, когда в его якорь включается добавочное сопротивление. Алгоритм управления, переводящий объект из положения x = 0 , x& = 0 при t = 0 в положение x = xn , x& = 0 за минимальное время состоит из двух интервалов управления ± u max . На управляющее воздействие наложено ограничение u ≤ umax . Определить момент переключения t1 , оптимальный переходной процесс r x (t ) = ( x1 (t ), x2 (t )) и время перехода t 2 . По точкам построить графики x1 (t ) и x2 (t ) . В точке t = t1 x1 (t ) и x2 (t ) должны рассчитываться дважды по разным формулам и эти значения должны совпадать. Прежде чем приступить к поиску оптимального решения, необходимо исследовать характеристики объекта и устойчивость его состояния. Для этих целей следует воспользоваться формулами для передаточной, частотной и переходной функций и функции веса, которые были выведены в лабораторной работе № 5. В эти формулы надо подставить сначала T1 , а затем T2 . Построить графики частотных функций, а также графики переходных функций при толчкообразном и синусоидальном внешних воздействиях, используя M-функции RKiw и LWSin. Теперь необходимо найти алгоритм оптимального управления для следующих исходных данных: T1 = 0.6200; T2 = 1.2000; k = 0.0023; umax= 220; xn = 2.0900. Сначала найдем решение уравнения на первом интервале. Обозначим: x1 = x . Так как на нем u = u max , то дифференциальное уравнение будет иметь вид T1 ⋅ &x&1 + x&1 = k ⋅ u max . (6.3) Общим решением этого уравнения является функция ⎛ t ⎞ x1 (t ) = k ⋅ u max ⋅ t + c1 + c2 ⋅ exp⎜⎜ − ⎟⎟ . ⎝ T1 ⎠ (6.4) Тогда x&1 (t ) = k ⋅ u max − ⎛ t ⎞ c2 ⋅ exp⎜⎜ − ⎟⎟ . T1 ⎝ T1 ⎠ (6.5) Используя начальные условия x1 = 0 , x&1 = 0 определим c1 и c2 . Имеем следующую систему уравнений: ⎧c1 + c2 = 0, ⎪ c2 ⎨ ⋅ − = 0. k u max ⎪ T1 ⎩ c1 = −k ⋅ u max ⋅ T1 , (6.6) Решая систему, получим c2 = k ⋅ u max ⋅ T1 . Подставляя найденные значения c1 и c2 в формулы (6.4) и (6.5), получим 139 ⎛ ⎛ t ⎞ ⎞ (6.7) x1 (t ) = k ⋅ u max ⋅ t + k ⋅u max ⋅T1 ⋅ ⎜⎜ exp⎜⎜ − ⎟⎟ − 1⎟⎟ , T 1 ⎝ ⎠ ⎠ ⎝ ⎛ ⎛ t ⎞⎞ (6.8) x&1 (t ) = k ⋅ u max ⋅ ⎜⎜1 − exp⎜⎜ − ⎟⎟ ⎟⎟ . T 1 ⎝ ⎠ ⎝ ⎠ На втором интервале (t1 < t ≤ t 2 ) управление u = − u max . На этом интервале дифференциальное уравнение будет иметь вид T2 ⋅ &x&1 + x&1 = −k ⋅ u max . Общим решением является функция (6.9) ⎛ t ⎞ x1 (t ) = −k ⋅ u max ⋅ t + c3 + c4 ⋅ exp⎜⎜ − ⎟⎟ . ⎝ T2 ⎠ (6.10) Тогда x&1 (t ) = −k ⋅ u max − ⎛ t ⎞ c4 ⋅ exp⎜⎜ − ⎟⎟ . T2 ⎝ T2 ⎠ (6.11) Имеется четыре неизвестных c3 , c4 , t1 и t 2 . Для их определения используем два условия x1 (t 2 ) = xn , x&1 (t 2 ) = 0 . Метод стыкования дает еще уравнения. Тогда получим четыре уравнения с четырьмя неизвестными. Сначала используем условия в точке t 2 ⎛ t ⎞ x1 (t 2 ) = −k ⋅ u max ⋅ t 2 + c3 + c4 ⋅ exp⎜⎜ − 2 ⎟⎟ = xn , ⎝ T2 ⎠ ⎛ t ⎞ c x&1 (t 2 ) = −k ⋅ u max − 4 exp⎜⎜ − 2 ⎟⎟ = 0 . T2 ⎝ T2 ⎠ (6.12) (6.13) Решая эту систему относительно c3 и c4 , получим ⎛t ⎞ c4 = −k ⋅ u max ⋅ T2 ⋅ exp⎜⎜ 2 ⎟⎟ , ⎝ T2 ⎠ c3 = xn + k ⋅ u max ⋅t 2 + k ⋅ u max ⋅ T2 . (6.14) (6.15) Подставляя эти значения в формулы (6.10) и (6.11), получим ⎛ ⎛ t − t ⎞⎞ x1 (t ) = x n + k ⋅ u max ⋅ (t 2 − t ) + k ⋅ u max ⋅ T2 ⋅ ⎜⎜1 − exp⎜ 2 ⎟ ⎟⎟ , ⎝ T ⎠⎠ ⎝ ⎛ ⎛t −t ⎞ ⎞ x&1 (t ) = k ⋅ u max ⋅ ⎜⎜ exp⎜ 2 ⎟ − 1⎟⎟ . ⎝ T ⎠ ⎠ ⎝ (6.16) (6.17) Теперь будем считать, что x1 (t ) и x&1 (t ) в точке переключения управления t1 непрерывны. Приравняем значения x1 (t ) , найденное по формулам (6.7) и (6.16), а также значения x&1 (t ) , найденное по формулам (6.8) и (6.17), ⎛ ⎛ t ⎞ ⎞ k ⋅ u max ⋅ t1 + k ⋅u max ⋅T1 ⋅ ⎜⎜ exp⎜⎜ − 1 ⎟⎟ − 1⎟⎟ = ⎝ T1 ⎠ ⎠ ⎝ (6.18) ⎛ ⎛ t 2 − t1 ⎞ ⎞ = xn + k ⋅ u max ⋅ (t 2 − t1 ) + k ⋅ u max ⋅ T2 ⋅ ⎜1 − exp⎜ ⎟⎟, T ⎝ ⎠⎠ ⎝ получим 140 ⎛ ⎛ ⎛ t ⎞⎞ ⎛t −t ⎞ ⎞ k ⋅ u max ⋅ ⎜⎜1 − exp⎜⎜ − 1 ⎟⎟ ⎟⎟ = k ⋅ u max ⋅ ⎜⎜ exp⎜⎜ 2 1 ⎟⎟ − 1⎟⎟ . ⎝ T1 ⎠ ⎠ ⎝ T2 ⎠ ⎠ ⎝ ⎝ (6.19), Первое уравнение, с учетом второго, можно записать в виде ⎛ ⎛ ⎛ t ⎞ ⎞ ⎛ t ⎞ ⎞ k ⋅ umax ⋅ t1 + k ⋅u max ⋅T1 ⋅ ⎜⎜ exp⎜⎜ − 1 ⎟⎟ − 1⎟⎟ = xn + k ⋅ umax ⋅ (t2 − t1 ) + k ⋅ umax ⋅ T2 ⋅ ⎜⎜ exp⎜⎜ − 1 ⎟⎟ − 1⎟⎟ . ⎝ T1 ⎠ ⎠ ⎝ T1 ⎠ ⎠ ⎝ ⎝ Приведем подобные члены. ⎛ ⎛ t ⎞ ⎞ 2k ⋅ u max ⋅ t1 + k ⋅u max ⋅(T1 − T2 ) ⋅ ⎜⎜ exp⎜⎜ − 1 ⎟⎟ − 1⎟⎟ = xn + k ⋅ u max ⋅ t 2 . ⎝ T1 ⎠ ⎠ ⎝ (6.20) Второе уравнение системы можно записать в виде ⎛t −t ⎞ ⎛ t ⎞ exp⎜⎜ 2 1 ⎟⎟ + exp⎜⎜ − 1 ⎟⎟ − 2 = 0 . ⎝ T2 ⎠ ⎝ T1 ⎠ Найдем из уравнений (6.20) и (6.21) t 2 и приравняем их. Из уравнения (6.21) (6.20) имеем ⎛ ⎛ t ⎞ ⎞ xn t 2 = 2t1 + (T1 − T2 ) ⋅ ⎜ exp⎜ − 1 ⎟ − 1⎟ − . ⎜ T ⎟ ⎟ k ⋅ u max ⎜ ⎠ ⎠ ⎝ ⎝ ⎛t ⎞ Уравнение (6.21) умножим на exp⎜⎜ 1 ⎟⎟ , получим ⎝ T2 ⎠ ⎛t exp⎜⎜ 2 ⎝ T2 ⎞ ⎛t ⎟⎟ = 2 ⋅ exp⎜⎜ 1 ⎝ T2 ⎠ ⎞ ⎛t t ⎞ ⎟⎟ − exp⎜⎜ 1 − 1 ⎟⎟ . ⎝ T2 T1 ⎠ ⎠ (6.22) (6.23), Тогда ⎡ ⎛t ⎞ ⎛ ⎛ t ⎞ ⎞⎤ t2 = ln ⎢exp⎜⎜ 1 ⎟⎟ ⋅ ⎜⎜ 2 − exp⎜⎜ − 1 ⎟⎟ ⎟⎟⎥ . T2 ⎢⎣ ⎝ T2 ⎠ ⎝ ⎝ T1 ⎠ ⎠⎥⎦ (6.24), Из последнего соотношения имеем ⎛ ⎛ t ⎞⎞ t 2 = T2 ⋅ ln⎜⎜ 2 − exp⎜⎜ − 1 ⎟⎟ ⎟⎟ + t1 . ⎝ T1 ⎠ ⎠ ⎝ (6.25) Приравнивая правые части (6.22) и (6.25) после некоторых преобразований получим нелинейное уравнение относительно t1 ⎛ ⎛ ⎛ t ⎞⎞ ⎛ t ⎞ ⎞ xn f (t1 ) = T2 ⋅ ln⎜⎜ 2 − exp⎜⎜ − 1 ⎟⎟ ⎟⎟ + + (T2 − T1 ) ⋅ ⎜⎜ exp⎜⎜ − 1 ⎟⎟ − 1⎟⎟ − t1 = 0 . ⎝ T1 ⎠ ⎠ k ⋅ u max ⎝ T1 ⎠ ⎠ ⎝ ⎝ (6.26) Применяя метод половинного деления для решения уравнения (6.26) с помощью компьютера для заданных исходных данных находим t1 = 4.3822 . Тогда по формуле (6.25) имеем t 2 = 5.2135 . Обозначим x2 (t ) = x&1 (t ) . Тогда формулы оптимального процесса можно записать в виде 141 ⎧ ⎡ ⎛ ⎞⎤ ⎛ t ⎞ ⎟⎟ − 1 ⎟ ⎥ , ⎪ k ⋅ u max ⋅ ⎢ t + T 1 ⋅ ⎜⎜ exp ⎜⎜ − ⎟ ⎝ T1 ⎠ ⎝ ⎠ ⎦⎥ ⎪⎪ ⎣⎢ x 1 (t ) = ⎨ ⎡ ⎛ ⎛ t2 − ⎪ ⎪ x n + k ⋅ u max ⋅ ⎢ t 2 − t + T 2 ⎜⎜ 1 − exp ⎜⎜ T ⎪⎩ 2 ⎝ ⎝ ⎣⎢ ⎧ ⎛ ⎛ t ⎞ ⎞⎟ ⎟ , ⎪ k ⋅ u max ⋅ ⎜⎜ 1 − exp ⎜⎜ − T 1 ⎟⎠ ⎟⎠ ⎝ ⎪ ⎝ x 2 (t ) = ⎨ ⎛ ⎞ ⎛ t2 − t ⎞ ⎪ ⎜ ⎟⎟ − 1 ⎟ , ⎪ k ⋅ u max ⋅ ⎜ exp ⎜⎜ T ⎟ 2 ⎝ ⎠ ⎝ ⎠ ⎩ 0 ≤ t < t1 , при (6.27), t ⎞ ⎞⎤ ⎟⎟ ⎟ ⎥ , при ⎟ ⎠ ⎠ ⎦⎥ при t1 < t ≤ t 2 , 0 ≤ t < t1 , (6.28), при t1 < t ≤ t 2 . Для заданных значений параметров и найденных значений t1 и t 2 с помощью компьютера вычислены значения x1 (t ) и x2 (t ) в некоторых точках. 6.3 Программная реализация аналитических моделей Расчет переходного процесса для оптимального управления производится с помощью следующей M-функции: function [X,DX] = OptUpr(T1,T2,k,Umax,Xn) % %-- ФУНКЦИЯ ДЛЯ РАСЧЕТА ПЕРЕХОДНОГО ПРОЦЕССА %-ОПТИМАЛЬНОГО УПРАВЛЕНИЯ: % %-- 1.Расчет параметров математической модели: % t1 = 4.3822 t2 = 5.2135 %-- время переключения управления; %-- время перехода системы в конечную точку; % %-- 2.Задание временных точек: % t = [0.0000 0.8764 1.7529 2.6293 3.5058 4.3822 4.5484 4.7147 4.8810… 5.0472 5.2135]; % %-- 3.Расчет управляемой величины: % for i = 1:1:11 if t(i) <= t1 X(i) = k*Umax*t(i)+k*Umax*T1*(exp(-t(i)/T1)-1); else X(i) = Xn+k*Umax*(t2-t(i)+T2-T2*exp((t2-t(i))/T2)); end 142 end % %-- 4.Расчет скорости изменения управляемой величины: % for i = 1:1:11 if t(i) <= t1 DX(i) = k*Umax*(1-exp(-(t(i)/T1))); else DX(i) = k*Umax*(exp((t2-t(i))/T2)-1); end end % %-- 5.Визуализация управляемой величины и скорости ee изменения: % subplot(2,2,1) plot(t,X,'r') xlabel('t') ylabel('X') subplot(2,2,2) plot(t,DX,'r') xlabel('t') ylabel('DX') %-- 6.Конец функции OptUpr(T,k,Umax,Xn). 6.4 Построение имитационных моделей В соответствии с математическим описанием объекта управления и поставленными задачами имитационная модель содержит два интегрирующих блока, необходимые генераторы сигналов, дисплеи, осциллографы, сумматоры и другие элементы (см. рис. 6.1). Требуется построить эту модель, используя библиотеки блоков пакета Simulink, и настроить параметры блоков в соответствии с условиями задачи. Проверить работу модели можно путем её многократного запуска при изменении времени окончания работы. Модифицируя состав модели и изменяя режим её работы, можно получить все требуемые характеристики объекта управления. 143 Рис 6.1 Имитационная модель оптимального управления 144 Рис. 6.2 Осциллограммы оптимального управления 6.5 Верификация математических моделей Верификацию аналитической и имитационной моделей объекта управления произведем с помощью сопоставления переходных процессов, протекающих в этих моделях при оптимальном управляющем воздействии с ограничением Umax = 220, для следующих значений параметров объекта T = 0.6200 и k=0.0023, когда конечное значение выходной величины xn равно 2.09. Расчетные значения времени переключения и времени перехода в конечную точку соответственно равны: t1 = 4.3822; t2 = 5.2135. Таблица 6.1 Результаты расчета и моделирования переходного процесса для объекта управления при оптимальном управляющем воздействии u(t) 145 Текущее время t 0.0000 0.8764 1.7529 2.6293 3.5058 4.3822 4.5484 4.7147 4.8810 5.0472 5.2135 Оптимальное управляющее воздействие u(t) 220 220 220 220 220 -220 -220 -220 -220 -220 -220 Управляемая величина x(t) Расчетное Модельное значение значение 0.0000 0.0000 0.2061 0.2061 0.5918 0.5918 1.0212 1.0212 1.4613 1.4613 1.9039 1.9039 1.9769 1.9769 2.0295 2.0295 2.0644 2.0644 2.0839 2.0839 2.0900 2.0900 Скорость изменения управляемой величины x'(t) Расчетное Модельное значение значение 0.0000 0.0000 0.3829 0.3829 0.4761 0.4761 0.4987 0.4987 0.5042 0.5042 0.5056 0.5056 0.3747 0.3747 0.2608 0.2608 0.1616 0.1616 0.0752 0.0752 0.0000 0.0000 6.6 Варианты заданий и порядок их выполнения 1. Для рассматриваемого простейшего звена с помощью функции RKiw построить частотные графики. 2. Используя функцию LWSin , построить графики переходных функций при отсутствии возмущающих воздействий и нулевых начальных условиях, при толчкообразном и синусоидальном возмущениях, сравнить их с осциллограммами имитационной модели для таких же режимов и заполнить таблицы значений переходных функций. 3. По табл. 4.2 лабораторной работы № 4 выбрать два простейших звена и образовать из них систему, движение которой должно описываться обыкновенным дифференциальным уравнением порядка не ниже второго. 4. Для выбранной целевой системы вывести самостоятельно или получить с помощью компьютера аналитические выражения для вычисления передаточной и частной функций, а также функций переходной проводимости и веса. 5. С помощью пакета символьных вычислений Symbolic Math найти вид оптимального управления, обеспечивающего изменение выходной величины на заданное значение за минимальное время, используя функцию Гамильтона и принцип максимума Понтрягина, и вывести аналитические выражения для переходных функций системы, работающей в этом режиме. 6. Написать программы для вычисления амплитуды и фазы частот-ной функции, а также для расчёта переходного процесса системы при толчкообразном входном сигнале, используя выражения для функций переходной проводимости и веса. 7. На комплексной плоскости построить амплитудно-фазовую характеристику - годограф вектора К(iw) и оценить устойчивость целевой системы. 146 8. Для целевой системы найти аналитическое выражение для её ре-акции на синусоидальное возмущающее воздействие и выявить наличие собственных колебаний, а также возможность возникновения резонанса. 9. Построить имитационную модель целевой системы и произвести её моделирование при нулевых начальных условиях и отсутствии возмущающих сил, регистрируя переходной процесс с помощью соответствующих осциллографов. 10. Используя синусоидальный входной сигнал с переменной частотой, произвести моделирование системы и проверить её амплитудно-фазовые характеристики. 11. Используя ступенчатый входной сигнал Step, произвести моделирование системы и проверить её функции переходной проводимости и веса. 12. С помощью интеграла Дюамеля рассчитать реакцию целевой системы на заданное возмущающее воздействие и проверить результаты расчёта на имитационной модели этой системы. 13. Построить имитационную модель оптимальной целевой систе-мы, произвести её моделирование и регистрацию динамических процессов с помощью соответствующих осциллографов. 14. Построить имитационную модель для автоматического опре-деления параметров оптимального управления. 15. Произвести верификацию всех построенных моделей. 16. Построить имитационные модели для нахождения управлений, улучшающих динамические характеристики целевой системы при оптимальном управлении. 17. Оформить отчёт по лабораторной работе, применяя средства генерирования описания и результатов работы имитационных моделей, встроенные в пакет Simulink. 18. Если при выполнении какого-либо этапа исследования встре-тятся затруднения, рекомендуется сначала выполнить этот этап для системы-прототипа, описанный в лабораторной работе. 6.7 Оформление отчета по результатам исследований Для завершения лабораторной работы необходимо сгенерировать отчет в формате HTML, затем преобразовать его в формат RTF с помощью текстового редактора, включит в него теоретические результаты, отформатировать текст и графические объекты, записать на дискету и в электронном виде предъявить преподавателю. Обосновать достоверность полученных результатов. 147 Лабораторная работа № 3 ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ ПРОСТЕЙШИМИ ЗВЕНЬЯМИ С ДИНАМИЧЕСКИМИ ОГРАНИЧЕНИЯМИ Цель работы: разработка аналитических моделей для определения характеристик и нахождения оптимального управления объектами с динамическими ограничениями, состоящими из простейших звеньев, реализация этих моделей в программной среде математической системы MATLAB и построение имитационных моделей с помощью пакета Simulink, верификация разработанных моделей и определение с их использованием характеристик объектов управления, а также нахождение оптимального управления для обеспечения изменения выходной величины на заданное значение за минимальное время. 7.1 Постановка задач исследования В данной лабораторной работе рассматриваются объекты, движение которых описывается обыкновенными дифференциальными уравнениями с постоянными коэффициентами, порядок которых не ниже второго. С точки зрения структуры это – либо отдельные простейшие звенья, либо несложные соединения таких звеньев. Целью управления является минимизация времени изменения выходной величины объекта на заданное значение за счет рационального выбора ограниченного по модулю управляющего воздействия U(t) и при ограничении скорости изменения управляемой величины. Прежде чем приступить к поиску оптимального управления, необходимо определить характеристики объекта и провести всесторонние исследования динамики его поведения при различных возмущающих воздействиях, в частности оценить устойчивость звена или соединения, так как только для устойчивых объектов имеет смысл поиск оптимального управления. Аналитическое выражение для оптимального управления U(t) следует искать с помощью функции Гамильтона (гамильтониана) и принципа максимума Понтрягина. Расчет характеристик переходного процесса должен производиться с помощью системы MATLAB. Имитационная модель должна подтвердить расчеты по программе. Необходимо также разработать имитационную модель для автоматического определения параметров оптимального управления и имитационную модель для нахождения управлений, улучшающих динамические характеристики целевой системы при оптимальном управлении. Желательно также с помощью интеграла Дюамеля рассчитать реакцию системы на оптимальное управляющее воздействие и проверить это на имитационной модели. 7.2 Разработка аналитических моделей 148 В качестве прототипа рассмотрим объект управления, который описывается дифференциальным уравнением T ⋅ &x& + x& = k ⋅ u, (7.1) где T и k – положительные постоянные. Требуется перевести объект из положения x = 0 , x& = 0 при t = 0 в положение x = xn , x& = 0 за минимальное время при ограничении скорости x& ≤ x& max . На управляющее воздействие наложено ограничение u ≤ u max . Известно, что алгоритм управления должен состоять из интервала разгона, когда u = +u max , интервала, на котором u пропорционально скорости ограничения x& max , а скорость движения равна x& max , и интервала торможения, на котором u = −u max . Определить время разгона t1, время движения с постоянной скоростью t2 , время торможения t 3 , оптимальный переходной r процесс x (t ) = (x1(t), x2(t)) и время перехода t 4 =t 1 +t 2 + t 3 . По точкам построить графики x1(t) и x2(t). Для этого интервал времени от 0 до t1, от t1 до t1 + t 2 , от t1 + t 2 до t1 + t 2 + t 3 разделить на 5 равных частей и вычислить значения x1(t) и x2(t) в соответствующих точках. В точках t = t1 и t = t1 + t 2 x1(t) и x2(t) должны рассчитываться дважды по разным формулам и эти значения должны совпадать. Прежде чем приступить к поиску оптимального решения, необходимо оценить характеристики объекта и устойчивость его состояния. Передаточная и частотная функции объекта имеют вид: K ( p) = 1 , p(Tp + 1) K (iω ) = (7.2) 1 . iω (Tiω + 1) (7.3) Функция переходной проводимости объекта находится как решение дифференциального уравнения (7.1) при толчкообразном внешнем воздействии (7.4) T&x& + x& = 1(t ). Используя прямое и обратное преобразование Лапласа, получаем Λ (t ) = −T + t + Te − t T , (7.5) или − t T − t T (7.6) Функция веса объекта получается путем дифференцирования функции переходной проводимости и имеет вид Λ (t ) = t + T (e − 1) W (t ) = 1 − e . (7.7) Реакция объекта на синусоидальное возмущающее воздействие определяется путем решения дифференциального уравнения T&x& + x& = A0 sin ω 0 t и имеет следующее аналитическое выражение: 149 (7.8) x(t ) = t − A0ω 0 T T3 1 T e − ( 2 − ( 2 2 T ω 0 (1 + k 0 T 2ω 02 1 1 − iω 0 + T e − iω 0 t + 1 1 iω 0 + T e iω 0t )). (7.9) Рассмотрим порядок вывода этого выражения. Используя преобразования Лапласа при нулевых начальных условиях, получаем Aω (Tp 2 + p ) ⋅ x( p) = 2 0 0 2 . (7.10) p + ω0 Отсюда находим изображение регулируемой величины A0ω 0 x( p ) = . (7.11) p (Tp + 1)( p 2 + ω 02 ) Корни характеристического уравнения легко находятся и равны: p1 = 0 ; p2 = − 1 ; p3 = −iω 0 ; p1 = iω 0 . T Разложим дробь на простейшие дроби: 1 1 ( p − 0)( p − (− ))( p − (−iω 0 ))( p − iω 0 ) T = C D A B + + + . p − 0 p + 1 p + iω 0 p − iω 0 T (7.12) Приведя это уравнение к общему знаменателю и отбросив его, получим: A( p + 1 1 1 )( p 2 + ω 02 ) + Bp( p 2 + ω 02 ) + Cp ( p + )( p − iω 0 ) + Dp( p + )( p + iω 0 ) = 1 . (7.13) T T T Подставим в это уравнение корни и найдем коэффициенты разложения: A= T T3 ; B=− 1 + ω 0T 2 1 ; D=− 1 2ω 02 (iω 0 + ) T C=− ω 02 1 1 2ω (−iω 0 + ) T ; (7.14) . 2 0 Переходя с помощью таблиц от изображения к оригиналу, получаем следующее выражение для вынужденных колебаний объекта: ⎞ ⎛ t ⎟ T 3 ⎞ −T ⎜ 1 1 ⎛ A0ω 0 ⎞⎛ T ⎟⎛⎜ ω 0 sin ω 0 t + cos ω 0 t ⎞⎟ ⎜ ⎟ x(t ) = ⎜ e − (7.15) ⎟⎜⎜ 2 − 2 2 ⎟ T ⎜ ω 2 (ω 2 + 1 ) ⎟⎝ ⎠ ⎝ T ⎠⎝ ω 0 1 + ω 0 T ⎠ ⎟ ⎜ 0 0 T2 ⎠ ⎝ Теперь необходимо найти алгоритм оптимального управления. Расчеты u max = 220 ; x n = 2.09 ; произвести для следующих данных: T = 0.62 ; k = 0.0023 ; x& max = 0.4 . Обозначим x1 (t ) = x(t ), x2 (t ) = x&1 (t ). На первом участке (0 ≤ t ≤ t1 ) u = u max . Уравнение (20) имеет вид 150 T ⋅ &x&1 + x&1 = k ⋅ u max . Общим решением этого уравнения является функция ⎛ t⎞ x1 (t ) = k ⋅ u max ⋅ t + c1 + c 2 ⋅ exp⎜ − ⎟ . (7.16) Для ⎝ T⎠ определения c1 и c 2 используем начальные условия: x1 (0) = 0 ; x&1 (0) = 0 . Так как c ⎛ t⎞ (7.17) то x1 (t ) = k ⋅ u max − 2 ⋅ exp⎜ − ⎟ , T ⎝ T⎠ получим следующую систему уравнений: ⎧с1 + с2 = 0, ⎪ ⎨ c2 ⎪⎩k ⋅ u max − T = 0. Решая полученную систему, найдем c1 = −k ⋅ u max ⋅ T ; c2 = k ⋅ u max ⋅ T . Подставляя эти значения в (7.16) и (7.17) получим: ⎛ ⎛ t⎞ ⎞ x1 (t ) = k ⋅ u max ⋅ t + k ⋅ u max ⋅ T ⋅ ⎜⎜ exp⎜ − ⎟ − 1⎟⎟ , (7.18) ⎝ T⎠ ⎠ ⎝ ⎛ t⎞ (7.19) x&1 (t ) = k ⋅ u max − k ⋅ u max ⋅ exp⎜ − ⎟` . ⎝ T⎠ Определим время разгона объекта t1 из условия: x&1 (t1 ) = x& max . В нашем случае уравнение имеет вид ⎛ t ⎞ k ⋅ u max − k ⋅ u max ⋅ exp⎜ − 1 ⎟ = x& max ; ⎝ T⎠ ⎛ t⎞ k ⋅ u max ⋅ exp⎜ − ⎟ = k ⋅ u max − x& max . Тогда ⎝ T⎠ ⎛ ⎞ x& t1 = −T ⋅ ln⎜⎜1 − max ⎟⎟ . ⎝ k ⋅ u max ⎠ 0.4 ⎞ наших исходных данных t1 = −0.62 ⋅ ln⎛⎜1 − ⎟ = 0.9691 . ⎝ 0.0023 ⋅ 220 ⎠ отсюда следует (7.20) Для Теперь найдем время торможения объекта. На третьем участке, а уравнение (7.1) будет иметь вид: T ⋅ &x&1 + x&1 = −k ⋅ u max . (7.21) Общим решением этого уравнения является функция ⎛ t⎞ x1 (t ) = −k ⋅ u max ⋅ t + c 3 + c 4 ⋅ exp⎜ − ⎟ . (7.22) В ⎝ T⎠ формуле (7.22) будем считать, что (0 ≤ t ≤ t 3 ) . При расчете x1 (t ) на всем интервале управления будем учитывать путь, пройденный на первых двух участках. Начальными условиями для уравнения (7.21) будут x1 (0) = 0 ; x&1 (0) = x& max . Так как x&1 (t ) = − k ⋅ u max − c4 ⎛ t⎞ ⋅ exp⎜ − ⎟ , T ⎝ T⎠ то для определения постоянных интегрирования систему уравнений ⎧c3 + c4 = 0, ⎪ ⎨ c4 ⎪⎩− k ⋅ u max − T = x& max . 151 (7.23) c3 и c 4 имеем следующую Решая систему, находим c3 = T ⋅ (k ⋅ u max + x& max ) , c4 = −T ⋅ (k ⋅ u max + x& max ) . Подставляя найденные значения в формулы (7.22) и (7.23), получим ⎛ ⎛ t ⎞⎞ x1 (t ) = − k ⋅ u max ⋅ t + T ⋅ (k ⋅ u max + x& max ) ⋅ ⎜1 − exp⎜ − ⎟ ⎟ , (7.24) T ⎝ ⎠ ⎝ ⎠ ⎛ t⎞ x&1 (t ) = − k ⋅ u max + (k ⋅ u max + x& max ) ⋅ exp⎜ − ⎟ . ⎝ T⎠ Найдем время торможения объекта из условия x&1 (t 3 ) = 0 . (7.25) Из уравнения (7.25) имеем ⎛ t ⎞ − k ⋅ u max + (k ⋅ u max + x& max ) ⋅ exp⎜ − 3 ⎟ = 0 . ⎝ T⎠ k ⋅ u max ⎛ t ⎞ Отсюда получаем exp⎜ − 3 ⎟ = , а тогда ⎝ T ⎠ k ⋅ u max + x& max ⎛ k ⋅ u max + x& max ⎞ ⎟⎟ . t 3 = T ⋅ ln⎜⎜ ⋅ k u max ⎝ ⎠ 0.0023 ⋅ 220 + 0.4 ⎞ наших исходных данных имеем t 3 = 0.62 ⋅ ln⎛⎜ ⎟ = 0.3612 . ⎝ 0.0023 ⋅ 220 ⎠ (7.26) Для По формуле (7.18) найдем путь, пройденный объектом во время разгона ⎡ ⎛ ⎛ t ⎞ ⎞⎤ s1 = k ⋅ u max ⎢t1 + T ⋅ ⎜⎜ exp⎜ − 1 ⎟ − 1⎟⎟⎥ . ⎝ T ⎠ ⎠⎦ ⎝ ⎣ (7.27) Подставим в формулу (32) исходные и найденные данные ⎡ ⎛ −0.9691 ⎞⎤ s1 = 0.0023 ⋅ 220⎢0.9691 + 0.62 ⋅ ⎜ e 0.62 − 1⎟⎥ = 0.2424 . ⎝ ⎠⎦ ⎣ По формуле (7.24) найдем путь, пройденный объектом за время торможения ⎛ ⎛ t s 3 = −k ⋅ u max ⋅ t 3 + T ⋅ (k ⋅ u max + x& max ) ⋅ ⎜⎜1 − exp⎜ − 3 ⎝ T ⎝ ⎞⎞ ⎟ ⎟⎟ . ⎠⎠ (7.28) Для наших данных получим −0.3612 ⎛ ⎞ s3 = −0.0023 ⋅ 220 ⋅ 0.3612 + 0.62 ⋅ (0.0023 ⋅ 220 + 0.4) ⋅ ⎜1 − e 0.62 ⎟ = 0.0653 . Путь, пройденный ⎝ ⎠ на втором участке s 2 = x n − s1 − s3 . Подставляя исходные и полученные данные, (7.29) имеем s 2 = 2.09 − 0.2424 − 0.0653 = 1.7824 . Время движения объекта на втором участке управления s2 . (7.30) Для x& max 1.7824 t2 = = 4.4559 . Общее время оптимального управления 0.4 t2 = наших данных t 4 = t1 + t 2 + t 3 . В нашем случае t 4 = 0.9691 + 4.4559 + 0.3612 = 5.4250 . На втором участке уравнение (20) будет иметь вид: x&1 = k ⋅ u , (7.31) так как здесь &x&1 = 0 . Но на этом участке x&1 = x& max . Тогда управление на этом участке 152 u= В нашем случае u = x& max . k (7.32) 0.4 = 173.9100 . 0.0023 Обозначим x 2 (t ) = x&1 (t ) . Тогда полученные результаты можно записать в виде 220, при 0 ≤ t ≤ t1 , u= 173.91, -220, при t1 < t < t1 + t 2 , при t1 + t 2 < t < t1 + t 2 + t 3 , (7.33) ⎧ ⎡ ⎛ ⎛ t ⎞ ⎞⎤ при 0 ≤ t ≤ t1 , ⎪k ⋅ u max ⎢t + T ⋅ ⎜ exp⎜ − ⎟ − 1⎟⎥ , T ⎝ ⎠ ⎠ ⎝ ⎣ ⎦ ⎪ ⎪⎪s + x& max ⋅ (t − t1 ), при t 1 ≤ t ≤ t 1 + t 2 , x1 (t ) = ⎨ 1 ⎪s + s − k ⋅ u ⋅ (t − t − t ) + T ⋅ (k ⋅ u + x& ) ⋅ ⎛⎜1 − exp⎛ − t − t1 − t 2 ⎞ ⎞⎟ , ⎟ ⎜ 2 max 1 2 max max ⎪1 T ⎠⎠ ⎝ ⎝ ⎪ ⎪⎩ при t1 + t 2 ≤ t ≤ t1 + t 2 + t 3 . ⎧ ⎛ ⎛ t ⎞⎞ при 0 ≤ t ≤ t1 , ⎪ k ⋅ u max ⋅ ⎜1 − exp⎜ − T ⎟ ⎟, ⎝ ⎠ ⎝ ⎠ ⎪⎪ x2 (t ) = ⎨ x& max , при t1 ≤ t ≤ t1 + t 2 , ⎪ t − t1 − t 2 ⎞ ⎪− k ⋅ u max + (k ⋅ u max + x& max ) ⋅ exp⎛⎜ − ⎟ , при t1 + t 2 ≤ t ≤ t1 + t 2 + t 3 . T ⎪⎩ ⎝ ⎠ Ниже приведены результаты расчетов на компьютере всех искомых величин. Результаты показывают, что функции x1(t) и x2(t) непрерывны на всем интервале управления, в том числе и в точках переключения управления t = t1 и t = t1 + t 2 . 7.3 Программная реализация аналитических моделей Расчет переходного процесса для оптимального управления производится с помощью следующей M-функции: function [X,DX] = OptUpr(T,k,Umax,Vmax,Xn) % %-- Функция для расчета переходного процесса оптимального управления % % %-- 1.Задание параметров математической модели: % t1 = 0.9691; t2 = 4.4559; t3 = 0.3612; t4 = 5.7862; %-- время разгона объекта управления; %-- время движения со скоростью Vmax; %-- время торможения; %-- время перехода системы в конечную точку; 153 S1 = 0.2424; S2 = 1.7824; S3 = 0.0653; S4 = 2.0900; %-- путь разгона; %-- путь движения со скоростью Vmax; %-- путь торможеня; %-- полный путь,равный S1+S2+S3; % %-- 2.Задание временных точек: % t = [0.0000 0.1938 0.3876 0.5815 0.7753 0.9691 1.8603 2.7515... 3.6427 4.5339 5.4250 5.4973 5.5695 5.6417 5.7140 5.7862]; % %-- 3.Расчет управляемой величины: % for i = 1:1:16 if t(i) <= t1 X(i) = k*Umax*(t(i)+T*(exp(-t(i)/T)-1)); end if t1 < t(i) & t(i) <= t1+t2 X(i) = S1+Vmax*(t(i)-t1); end if t1+t2 < t(i) & t(i) <= t1+t2+t3 X(i) = S1+S2-k*Umax*(t(i)-t1-t2)+T*(k*Umax+Vmax)*(1-exp(-(t(i)-… t1-t2)/T)); end end % %-- 4.Расчет скорости изменения управляемой величины: % for i = 1:1:16 if t(i) <= t1 DX(i) = k*Umax*(1-exp(-(t(i)/T))); end if t1 < t(i) & t(i) <= t1+t2 DX(i) = Vmax; end if t1+t2 < t(i) & t(i) <= t1+t2+t3 DX(i) = -k*Umax+(k*Umax+Vmax)*exp(-(t(i)-t1-t2)/T); end end % %-- 5.Визуализация управляемой величины и скорости ee изменения: % 154 subplot(2,2,1) plot(t,X,'r') xlabel('t') ylabel('X') subplot(2,2,2) plot(t,DX,'r') xlabel('t') ylabel('DX') % %-- 6.Конец функции OptUpr(T,k,Umax,Vmax,Xn). % 7.4 Построение имитационных моделей В соответствии с математическим описанием объекта управления и поставленными задачами имитационная модель содержит два интегрирующих блока, необходимые генераторы сигналов, дисплеи, осциллографы, сумматоры и другие элементы (см. рис. 7.1). Требуется построить эту модель, используя библиотеки блоков пакета Simulink, и настроить параметры блоков в соответствии с условиями задачи. Проверить работу модели можно путем её многократного запуска при изменении времени окончания работы. Модифицируя состав модели и изменяя режим её работы, можно получить все требуемые характеристики объекта управления. 155 Рис 7.1 Имитационная модель оптимального управления 156 Рис. 7.2 Осциллограммы оптимального управления 7.5 Верификация математических моделей Верификацию аналитической и имитационной моделей объекта управления произведем с помощью сопоставления переходных процессов, протекающих в этих моделях при оптимальном управляющем воздействии с ограничениями Umax = 220 и Vmax = 0.4, для следующих значений параметров объекта T = 0.6200 и k=0.0023, когда конечное значение выходной величины xn равно 2.09. Расчетные значения времени переключения и времени перехода в конечную точку соответственно равны: t1 = 4.3822; t2 = 5.2135. Расчетные параметры задачи: t1 = 0.9691 ; t 2 = 4.4559 ; t 3 = 0.3612 ; t 4 = 5.7862 ; s1 = 0.2424 ; s 2 = 1.7824 ; s3 = 0.0653 ; Таблица 7.1 Результаты расчета и моделирования переходного процесса для объекта управления при оптимальном управляющем воздействии u(t) 157 Текущее время t 0.0000 0.1938 0.3876 0.5815 0.7753 0.9691 1.8603 2.7515 3.6427 4.5339 5.4250 5.4973 5.5695 5.6417 5.7140 5.7862 Оптимальное Управляемая величина x(t) управляющее воздействие Расчетное Модельное u(t) значение Значение 220.0000 0.0000 0.0000 220.0000 0.0138 0.0138 220.0000 0.0503 0.0503 220.0000 0.1033 0.1033 220.0000 0.1684 0.1684 220.0000 0.2424 0.2424 173.9130 0.5989 0.5989 173.9130 0.9554 0.9554 173.9130 1.3118 1.3118 173.9130 1.6683 1.6683 173.9130 2.0248 2.0248 -220.0000 2.0500 2.0500 -220.0000 2.0685 2.0685 -220.0000 2.0808 2.0808 -220.0000 2.0878 2.0878 -220.0000 2.0900 2.0900 Скорость изменения управляемой величины x'(t) Расчетное Модельное значение значение 0.0000 0.0000 0.1358 0.1358 0.2352 0.2352 0.3079 0.3079 0.3611 0.3611 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.3003 0.3003 0.2116 0.2116 0.1328 0.1328 0.0625 0.0625 0.0000 0.0000 7.6 Варианты заданий и порядок их выполнения 1. Для рассматриваемого простейшего звена с помощью функции RKiw построить частотные графики. 2. Используя функцию LWSin , построить графики переходных функций при отсутствии возмущающих воздействий и нулевых начальных условиях, при толчкообразном и синусоидальном возмущениях, сравнить их с осциллограммами имитационной модели для таких же режимов и заполнить таблицы значений переходных функций. 3. По табл. 4.2 лабораторной работы № 4 выбрать два простейших звена и образовать из них систему, движение которой должно описываться обыкновенным дифференциальным уравнением порядка не ниже второго. 4. Для выбранной целевой системы вывести самостоятельно или получить с помощью компьютера аналитические выражения для вычисления передаточной и частной функций, а также функций переходной проводимости и веса. 5. С помощью пакета символьных вычислений Symbolic Math найти вид оптимального управления, обеспечивающего изменение выходной величины на заданное значение за минимальное время, используя функцию Гамильтона и принцип максимума Понтрягина, и вывести аналитические выражения для переходных функций системы, работающей в этом режиме. 6. Написать программы для вычисления амплитуды и фазы частот-ной функции, а также для расчёта переходного процесса системы при толчкообразном 158 входном сигнале, используя выражения для функций переходной проводимости и веса. 7. На комплексной плоскости построить амплитудно-фазовую характеристику - годограф вектора К(iw) и оценить устойчивость целевой системы. 8. Для целевой системы найти аналитическое выражение для её ре-акции на синусоидальное возмущающее воздействие и выявить наличие собственных колебаний, а также возможность возникновения резонанса. 9. Построить имитационную модель целевой системы и произвести её моделирование при нулевых начальных условиях и отсутствии возмущающих сил, регистрируя переходной процесс с помощью соответствующих осциллографов. 10. Используя синусоидальный входной сигнал с переменной частотой, произвести моделирование системы и проверить её амплитудно-фазовые характеристики. 11. Используя ступенчатый входной сигнал Step, произвести моделирование системы и проверить её функции переходной проводимости и веса. 12. С помощью интеграла Дюамеля рассчитать реакцию целевой системы на заданное возмущающее воздействие и проверить результаты расчёта на имитационной модели этой системы. 13. Построить имитационную модель оптимальной целевой систе-мы, произвести её моделирование и регистрацию динамических процессов с помощью соответствующих осциллографов. 14. Построить имитационную модель для автоматического опре-деления параметров оптимального управления. 15. Произвести верификацию всех построенных моделей. 16. Построить имитационные модели для нахождения управлений, улучшающих динамические характеристики целевой системы при оптимальном управлении. 17. Оформить отчёт по лабораторной работе, применяя средства генерирования описания и результатов работы имитационных моделей, встроенные в пакет Simulink. 18. Если при выполнении какого-либо этапа исследования встре-тятся затруднения, рекомендуется сначала выполнить этот этап для системы-прототипа, описанный в лабораторной работе. 7.7 Оформление отчета по результатам исследований Для завершения лабораторной работы необходимо сгенерировать отчет в формате HTML, затем преобразовать его в формат RTF с помощью текстового редактора, включит в него теоретические результаты, отформатировать текст и графические объекты, записать на дискету и в электронном виде предъявить преподавателю. Обосновать достоверность полученных результатов. 159 Лабораторная работа № 4. Разработка и исследование функционально адаптивной системы управления Цель работы: Приобретение навыков разработки функционально адаптивной системы управления Краткие теоретические сведения Многие задачи современной автоматики можно свести к отысканию экстремумов функций многих переменных 𝐽 = 𝑄(𝑐1 , ⋯ , 𝑐𝑁 ) = 𝑄(𝑐), (1.1) Где вектор 𝑐 = (𝑐1 , ⋯ , 𝑐𝑁 ) является вектором параметров, определяющих качество функционирования системы. Его роль могут играть входные и выходные переменные задачи, или вектор, однозначно определяющий их поведение. Обозначим оптимальное значение вектора с, при котором функция (1) достигает экстремума, через c*. В дальнейшем для определенности будем предполагать, что интересующее нас экстремальное значение представляет собой минимум. Часто существование и единственность искомого минимума следует из простых соображений. Если функция Q(c) известна и дифференцируема, то нахождение c = c* сводится к решению уравнения, которое получается приравниванием градиента этой функции нулю, т. е. ∇𝑄(с) = 0, (1.2) 𝜕𝑄(𝑐) 𝜕𝑄(𝑐) ∇𝑄(𝑐) = { ,⋯, }. 𝜕𝑐1 𝜕𝑐𝑁 Пусть регулятор, вырабатывающий управляющие воздействия в дискретном времени в зависимости от последовательности выходных переменных, подчиняется следующему закону: 𝑢𝑘 = ∑𝑙𝑖=0 𝑐𝑘−𝑖 𝑦𝑘−𝑖 , 𝑘 = 0, ⋯, (1.3) Где 𝑢𝑘 и 𝑦𝑘 - управляющее воздействие и выходная переменная объекта в момент времени k; l параметр, определяющий количество выходных переменных, принимаемых в расчет при определении управления в текущий момент времени. При l=0 закон управления обращается в пропорциональный закон. Рассмотрим систему: y u О Р c АА Рис. 1 Блок АА на схеме определяет значение вектора с. Поскольку в общем случае уравнение (1.2) трансцендентно, то аналитические методы решения исключаются, и для его решения можно использовать итерационные методы, в частности градиентный метод. Градиентный метод связывает координаты текущей точки с координатой предшествующей точки и градиентом ∇𝑄(𝑐) так, что алгоритм определения c* (где вектор c * -- корень уравнения (1.2), о котором пока предполагаем, что он единствен), имеет вид 𝑐[𝑛] = 𝑐[𝑛 − 1] + 𝛾[𝑛]∇𝑄(𝑐[𝑛 − 1]), (1.4) Здесь 𝛾[𝑛] определяет величину очередного шага и может зависеть, вообще говоря, от номера шага и от самой функции. Конкретный выбор 𝛾[𝑛] определяет различные формы итерационных методов. При выполнении условий сходимости 𝑐[𝑛] = с∗ при 𝑛 → ∞. В тех случаях, когда функция Q(c) аналитически не задана либо не дифференцируема, градиент ∇𝑄(𝑐) может быть приближенно определен по формуле 𝑄+ (𝑐, 𝑎) − 𝑄− (𝑐, 𝑎) , 2𝑎 где приняты следующие обозначения векторов: 𝑄± (𝑐, 𝑎) = {𝑄(𝑐 ± 𝑎𝑒1 ), ⋯ , 𝑄(𝑐 ± 𝑎𝑒𝑁 )}. Здесь через 𝑒𝑖 обозначены базисные векторы вида 𝑒1 = {1,0, ⋯ ,0}, ⋯ , 𝑒1 = {0,0, ⋯ ,1}. Тогда вместо алгоритма (4) получим иной алгоритм 𝑄+ (𝑐[𝑛],𝑎[𝑛])−𝑄− (𝑐[𝑛],𝑎[𝑛]) 𝑐[𝑛] = 𝑐[𝑛 − 1] + 𝛾[𝑛] { 2𝑎[𝑛] }. (1.5) (1.6) (1.7) Обычно алгоритмы вида (1.4) регулярными, непоисковыми, а алгоритмы вида (1.7) — поисковыми. Алгоритм определения с = с* согласно методу стохастической аппроксимации может быть представлен в виде 𝑐[𝑛] = 𝑐[𝑛 − 1] + 𝛾[𝑛]∇𝑐 𝑄(𝑥[𝑛]|𝑐[𝑛 − 1]), (1.8) и, если 𝑄(𝑥|𝑐) аналитически не задана или недифференцируема. 𝛾[𝑛] 𝑐[𝑛] = 𝑐[𝑛 − 1] + (𝑄+ (𝑥[𝑛]|𝑐[𝑛 − 1], 𝑎[𝑛]) − 𝑄− (𝑥[𝑛]|𝑐[𝑛 − 1], 𝑎[𝑛])). (1.9) 2𝑎[𝑛] Регулярный, непоисковый алгоритм (1.8) представляет собой многомерный вариант процедуры Роббинса — Монро, а поисковый алгоритм (1.9) —многомерный вариант процедуры Кифера — Вольфовица. Легко увидеть аналогию между детерминированными и стохастическими алгоритмами. Однако подчеркнем, что в стохастических алгоритмах фигурирует реализация стационарной случайной величины (часто независимой), которая может, кроме полезной информации, содержать шумы и помехи. Приведенные алгоритмы, как регулярные, так и поисковые, можно рассматривать как нелинейные разностные уравнения, и сходимости этих алгоритмов соответствует устойчивость решений разностных уравнений. Для детерминированных алгоритмов сходимость соответствует обычной устойчивости. В случае стохастических алгоритмов сходимость связана с устойчивостью в стохастическом смысле, т. е. «по вероятности» или «с вероятностью, равной единице». Как следует из результатов работ, регулярный алгоритм (1.8) сходится с вероятностью, равной единице, т. е. 𝑃 { lim (𝑐[𝑛] − 𝑐 ∗ )} = 1, (1.10) 𝑛→∞ и в среднеквадратичном смысле, т. е. lim 𝑀{‖𝑐[𝑛] − 𝑐 ∗ ‖2 } = 0, (1.11) 𝑛→∞ при соблюдении следующих условий: ∑∞ a) 𝑛=1 𝛾[𝑛] = ∞ , 2 ∑∞ 𝑛=1 𝛾 [𝑛] < ∞ ; (1.12) 𝑖𝑛𝑓 ∗ 𝑇 1𝑀{(𝑐 − 𝑐 ) ∇𝑐 𝑄(𝑥|𝑐)} ≤ 0, 𝜀 > 0; (1.13) 𝜀 < ‖𝑐 − 𝑐 ∗ ‖ < 𝜀 c) 𝑀{∇𝑇𝑐 𝑄(𝑥|𝑐)∇𝑐 𝑄(𝑥|𝑐)} ≤ 𝑑(1 + 𝑐 𝑇 𝑐), 𝑑 > 0. (1.14) Эти условия имеют весьма простой физический и геометрический смысл. Условие (а) требует, чтобы скорость уменьшения 𝛾[𝑛] была такова, чтобы, с одной стороны, дисперсия оценки J(c) исчезла, а с другой стороны, чтобы за время изменения 𝛾[𝑛]можно было использовать достаточно большое число данных, при котором еще справедлив закон больших чисел. Условие «б» определяет характер поведения поверхности 𝑀{∇𝑐 𝑄(𝑥|𝑐)} = 0 вблизи корня и, следовательно, знаки приращений c[n]. Наконец, условие «в» гласит, что математическое ожидание квадратичной формы 𝑀{∇𝑇𝑐 𝑄(𝑥|𝑐)∇𝑐 𝑄(𝑥|𝑐)} с увеличением с должно расти c не быстрее квадратичной параболы. Аналогичным образом, согласно работам, поисковый алгоритм (1.9) сходится с вероятностью, равной единице, и в среднеквадратичном смысле при выполнении следующих условий: b) a) ∞ ∑∞ 𝑛=1 𝛾[𝑛] = ∞ , ∑𝑛=1 𝛾[𝑛]𝑎[𝑛] < ∞, ∑∞ 𝑛=1 ( 𝛾[𝑛] 2 𝑎[𝑛] ) < ∞; (1.15) ‖𝑄+ (𝑐, 𝑎) − 𝑄− (𝑐, 𝑎)‖ ≤ 𝐴‖𝑐 − 𝑐 ∗ ‖ + 𝐵; b) (1.16) (𝑐 − 𝑐 ∗ )𝑇 (𝑄+ (𝑐, 𝑎) − 𝑄− (𝑐, 𝑎)) ≤ −𝑘‖𝑐 − 𝑐 ∗ ‖‖𝑄+ (𝑐, 𝑎) − 𝑄− (𝑐, 𝑎)‖).(17) c) 1 𝜀 > 0, 𝑘 > . √2 1 Задание, например, 𝛾[𝑛] = вышеуказанным условиям удовлетворяет. 𝑛 Работа системы происходит следующим образом. Пусть критерий (1.1) имеет вид: 𝑇 𝑇 𝐽 = ∑∞ 𝑘=1[𝑦𝑘 𝐴(𝑘)𝑦𝑘 + 𝑢𝑘 𝐵(𝑘)𝑢𝑘 ] (1.17) Где 𝐴(𝑘) и 𝐵(𝑘) - матрицы весов, определяющие относительную важность соответствующих слагаемых. В случае наличия случайных воздействий к функционалу (1.17) должна быть применена операция математического ожидания. Пусть модель объекта не известна, или известна не точно, или параметры ее меняются во времени. Для достижения требуемого качества управления необходимо знание его модели. В этом случае модель может быть использована при синтезе управлений. Такие системы принято называть беспоисковыми. При другом подходе, называемом поисковым, или функционально адаптивном, модель в явном виде при синтезе управлений не используется. Но алгоритм управления, создающий поисковые действия путем целенаправленного изменения вектора параметров с (параметров регулятора), позволяет достичь экстремума функционала (1.17). При этом, учитывая, что функция (1.1) недифференцируема, может быть применен алгоритм настройки в соответствии с (1.9). Порядок выполнения работы Синтезировать систему управления, включающую: объект управления. В качестве модели объекта для работы, например, в Матлабе принять звено с передаточной функцией W. Это звено используется для имитации функционирования реального объекта. Управляющие сигналы должны подаваться на вход этого звена, выход которого с аддитивной помехой, имитирует выход реального объекта. Больше нигде, ни в каких расчетах это звено или информация о нем не используется. Там, где это необходимо должна использоваться модель этого звена с априорными оценками параметров. Случай, когда предполагается знание параметров этого звена, соответствует чисто стохастической, не адаптивной, задаче. • регулятор в цепи обратной связи. Параметр l выбрать исходя из порядка передаточной функции W порядок регулятора должен быть не ниже порядка объекта. • предусмотреть влияние случайных аддитивных воздействий на выход объекта и в канале измерений. В качестве модели случайных воздействий принять белый шум с известными характеристиками. 2. Выбрать начальные параметры регулятора. 3. Выбрать критерий качества управления. Рекомендуется интервальный среднеквадратический критерий. 4. Имитировать работу объекта управления. Произвести измерения входных и выходных сигналов. Вычислить текущее значение критерия качества (1.1). 5. С использованием алгоритма (1.9) произвести настройку вектора параметров с регулятора по критерию минимума среднеквадратической ошибки выходной переменной объекта. 6. Произвести исследование разработанного алгоритма: • Произвести наблюдения и фиксацию входных и выходных сигналов. • Сравнить характеристики разработанного алгоритма с неадаптивным алгоритмом. Варианты исходных данных приведены в таблице 1. Содержание отчета 1. Исходные данные. 2. Представить графики переходных процессов и управлений. 3. Выводы. Контрольные вопросы • Алгоритмы нелинейной оптимизации. • Алгоритм стохастической аппроксимации. • Основные различия в реализации различных принципов адаптации. • Принципы адаптации, • Какие факторы влияют на свойства адаптивных систем 1. • Лабораторная работа 5. Разработка и исследование адаптивной системы управления с идентификатором в цепи обратной связи Цель работы: Приобретение навыков построения системы управления с идентификатором в цепи обратной связи Краткие теоретические сведения Схема системы с идентификатором (АСИ) представлена на рис. 1 y u О Р c АИ Рис. 1. В блоке АИ по измерениям управляющего и выходного сигналов производится оценивание параметров модели объекта, которые далее в блоке Р используются для формирования управляющих сигналов. Оценивание производится либо аналитическим методом, реализованным, например, в среде Матлаб или одним из его программных инструментов. В блоке Р на основании модели формируются управляющие воздействия, которые в необходимом количестве подаются на вход объекта управления. В дальнейшем реализации управляющего и выходного сигналов в блоке АИ используются для уточнения параметров модели объекта, которые далее в блоке Р снова используются для синтеза управлений. Таким образом, процесс чередования оценивания параметров модели с использованием получаемой информации и синтеза на основании уточняемой модели объекта повторяется. Порядок выполнения работы 1. Этот пункт выполняется так же, как это указано в таком же пункте лабораторной работы 1. Такая система для синтеза управлений использует имеющуюся модель объекта. Если предполагается точное знание этой модели, то этот случай соответствует чисто стохастической задаче. Задача построения адаптивной системы управления возникает тогда, когда знание этой модели не является точным, а подход рассматриваемого типа адаптивных систем предполагает использование при синтезе управлений явной идентификации параметров модели. В таких системах управления возможность проведения в процессе управления процедуры идентификации, позволяющей использовать поступающую информацию для уточнения оценок параметров модели, обеспечивает достижение адаптивных свойств алгоритма. 2. Настроить параметры регулятора. При настройке использовать имеющиеся начальные оценки параметров модели объекта. Эти оценки являются неточными, поэтому управление будет недостаточно качественным. Но в процессе функционирования эти оценки за счет поступления новой информации будут уточняться, что обеспечит повышение качества управления. В пределе по мере уточнения оценок, такая система будет приближаться к чисто стохастической задаче. 3. Выбрать критерий качества управления. Рекомендуется интервальный среднеквадратический критерий. 4. Имитировать работу объекта управления. Произвести измерения входных и выходных сигналов. Вычислить текущее значение критерия качества. 5. Методом наименьших квадратов уточнить оценки параметров модели. Для оценивания параметров модели могут быть применены и другие методы и средства. 6. Повторить пункты, начиная с п. 2 в течение достаточно большого отрезка времени. 7. Произвести исследование разработанного алгоритма: • Произвести наблюдения и фиксацию входных и выходных сигналов. • Сравнить характеристик разработанного алгоритма с неадаптивным алгоритмом. Варианты исходных данных приведены в таблице 1. Содержание отчета 1. Исходные данные. 2. Представить графики переходных процессов и управлений. 3. Выводы. Контрольные вопросы • Критерий качества в виде классического квадратичного функционала • Какие системы называются адаптивными. • Принципы адаптации. • Какие факторы влияют на свойства адаптивных систем Лабораторная работа № 6. Синтез систем управления с прогнозирующей моделью средствами приложения Матлаб Цель работы: приобретение навыков синтеза систем управления с прогнозирующей моделью с помощью инструментов Матлаб. Определение модели объекта: This example uses the plant model described in Design Controller Using MPC Designer. Создадим модель объекта в пространстве состояний и зададим ее основные свойства: A = [-0.0285 -0.0014; -0.0371 -0.1476]; B = [-0.0850 0.0238; 0.0802 0.4462]; C = [0 1; 1 0]; D = zeros(2,2); CSTR = ss(A,B,C,D); CSTR.InputName = {'T_c','C_A_i'}; CSTR.OutputName = {'T','C_A'}; CSTR.StateName = {'C_A','T'}; CSTR.InputGroup.MV = 1; CSTR.InputGroup.UD = 2; CSTR.OutputGroup.MO = 1; CSTR.OutputGroup.UO = 2; Создадим регулятор: Для улучшения ясности примера подавим сообщения от MPC controller. old_status = mpcverbosity('off'); Создайте прогностический контроллер модели с интервалом управления, или временем выборки, равным 1 секунде, и со всеми другими свойствами, имеющими значения по умолчанию. Ts = 1; MPCobj = mpc(CSTR,Ts) MPC object (created on 26-Jul-2019 15:56:26): --------------------------------------------Sampling time: 1 (seconds) Prediction Horizon: 10 Control Horizon: 2 Plant Model: -------------1 manipulated variable(s) -->| 2 states | | |--> 1 measured output(s) 0 measured disturbance(s) -->| 2 inputs | | |--> 1 unmeasured output(s) 1 unmeasured disturbance(s) -->| 2 outputs | -------------Indices: (input vector) Manipulated variables: [1 ] Unmeasured disturbances: [2 ] (output vector) Measured outputs: [1 ] Unmeasured outputs: [2 ] Disturbance and Noise Models: Output disturbance model: default (type "getoutdist(MPCobj)" for details) Input disturbance model: default (type "getindist(MPCobj)" for details) Measurement noise model: default (unity gain after scaling) Weights: ManipulatedVariables: 0 ManipulatedVariablesRate: 0.1000 OutputVariables: [1 0] ECR: 100000 State Estimation: Default Kalman Filter (type "getEstimator(MPCobj)" for details) Unconstrained Просмотрим и модифицируем свойства регулятора Отобразим списка свойств регулятора и их текущих значений. get(MPCobj) Ts: 1 PredictionHorizon (P): 10 ControlHorizon (C): 2 Model: [1x1 struct] ManipulatedVariables (MV): [1x1 struct] OutputVariables (OV): [1x2 struct] DisturbanceVariables (DV): [1x1 struct] Weights (W): [1x1 struct] Optimizer: [1x1 struct] Notes: {} UserData: [] History: 26-Jul-2020 15:56:26 Отображаемая история будет отличаться для вашего контроллера, так как оно зависит от того, когда был создан контроллер. Для получения описания редактируемых свойств контроллера MPC введите mpcprops в командной строке. Используйте точечную нотацию, чтобы изменить эти свойства. Например, измените горизонт прогнозирования на 15. MPCobj.PredictionHorizon = 15; Вы можете сокращать имена свойств при условии, что аббревиатура является однозначной. Многие свойства контроллера являются структурами, содержащими дополнительные поля. Используйте точечную нотацию для просмотра и изменения этих значений полей. Например, можно задать единицы измерения для выходных переменных контроллера. Свойство OutputUnitproperty предназначено только для отображения и является необязательным. MPCobj.Model.Plant.OutputUnit = {'Deg C','kmol/m^3'}; По умолчанию контроллер не имеет ограничений на управляемые переменные и выходные переменные. Вы можете просматривать и изменять эти ограничения с помощью точечной нотации. Например, установите ограничения для управляемой переменной контроллера. MPCobj.MV.Min = -10; MPCobj.MV.Max = 10; MPCobj.MV.RateMin = -3; MPCobj.MV.RateMax = 3; Вы также можете просматривать и изменять веса настройки контроллера. Например, измените веса для манипулируемой переменной скорости и выходных переменных. MPCobj.W.ManipulatedVariablesRate = 0.3; MPCobj.W.OutputVariables = [1 0]; You can also define time-varying constraints and weights over the prediction horizon, which shifts at each time step. Time-varying constraints have a nonlinear effect when they are active. For example, to force the manipulated variable to change more slowly towards the end of the prediction horizon, enter: Вы также можете определить изменяющиеся во времени ограничения и веса на горизонте прогнозирования, который меняется на каждом временном шаге. Изменяющиеся во времени ограничения имеют нелинейный эффект, когда они активны. Например, чтобы заставить управляемую переменную изменяться медленнее к концу горизонта прогнозирования, введите: MPCobj.MV.RateMin = [-4; -3.5; -3; -2.5]; MPCobj.MV.RateMax = [4; 3.5; 3; 2.5]; Значения -2.5 и 2.5 используются для четвертого шага и далее. Аналогичным образом можно задать различные веса выходных переменных для каждого шага горизонта прогнозирования. Например, введите: MPCobj.W.OutputVariables = [0.1 0; 0.2 0; 0.5 0; 1 0]; Вы также можете изменить характеристики подавления помех контроллера. Дополнительные сведения см. в разделах setEstimator, setindist и setoutdist. Обзор конструкции регулятора Generate a report on potential run-time stability and performance issues. Создайте отчет о потенциальных проблемах устойчивости и показателей во время выполнения. review(MPCobj) В этом примере команда review обнаружила две потенциальные проблемы с дизайном. Первое предупреждение спрашивает, намеревается ли пользователь иметь нулевой вес на выходе C_A. Второе предупреждение советует пользователю избегать жестких ограничений как на MV, так и на MVRate. Выполнение линейного моделирования Используйте функцию sim для запуска линейного моделирования системы. Например, смоделируйте замкнутый контур отклика MPCobj для 26 контрольных интервалов. Укажите уставки 2 и 0 для температуры реактора и остаточной концентрации соответственно. Уставка для остаточной концентрации игнорируется, поскольку вес настройки для второго выхода равен нулю. T = 26; r = [0 0; 2 0]; sim(MPCobj,T,r) Вы можете изменить параметры моделирования с помощью mpcsimopt. Например, запустите моделирование с отключенными ограничениями на управляемые переменные. MPCopts = mpcsimopt; MPCopts.Constraints = 'off'; sim(MPCobj,T,r,MPCopts) Первое перемещение манипулируемой переменной теперь превышает заданное ограничение скорости в 3 единицы. Вы также можете выполнить моделирование с несоответствием между объектом и моделью. Например, определите установку с 50% - ным увеличением коэффициента усиления, чем в модели, используемой контроллером. Plant = 1.5*CSTR; MPCopts.Model = Plant; sim(MPCobj,T,r,MPCopts) Рассогласование между объектом и моделью несколько ухудшает показателями регулятора. Деградация может быть серьезной и должна проверяться на индивидуальной основе. Другие варианты включают добавление определенной последовательности помех к манипулируемым переменным или измеряемым выходам, моделирование разомкнутого контура и перспективный вариант для лучшего отслеживания уставок или подавления измеренных помех. Сохранение результатов моделирования Сохраните результаты моделирования в рабочей области MATLAB. [y,t,u] = sim(MPCobj,T,r); Синтаксис подавляет автоматическое построение графиков и возвращает результаты моделирования. Результаты можно использовать и для других задач, в том числе для построения пользовательских графиков. Например, постройте график управляемой переменной и обеих выходных переменных на одном и том же рисунке. figure subplot(2,1,1) plot(t,u) title('Inputs') legend('T_c') subplot(2,1,2) plot(t,y) title('Outputs') legend('T','C_A') xlabel('Time') Восстановите настройку mpcverbosity. mpcverbosity(old_status); Варианты для индивидуальных работ 𝑥̇ 1 = 2𝑥2 , 𝑥̇ 2 = 5𝑥3 , 1. { 𝑥̇ 3 = −4𝑥1 − 2𝑥2 − 𝑥3 + 5𝑢, 𝑦 = 0.1𝑥1 . 𝑥̇ 1 = 𝑥1 + 𝑥2 , 𝑥̇ 2 = 5𝑥1 + 𝑥3 , 2. 𝑥̇ 3 = −3𝑥1 − 2𝑥2 − 𝑥3 + 4𝑢, 𝑦 = 0.1𝑥1 . 𝑥̇ 1 = 3𝑥1 + 2𝑥2 + 𝑢, 3. 𝑥̇ 2 = 4𝑥1 + 𝑥2 + 2𝑢, 𝑦 = 𝑥1 + 2𝑥2 . 𝑥̇ 1 = 𝑥1 + 𝑥2 , 𝑥̇ 2 = 5𝑥1 + 𝑥3 , 4. 𝑥̇ 3 = −3𝑥1 − 2𝑥2 − 𝑥3 + 4𝑢, 𝑦 = 0.1𝑥1 . 𝑥̇ 1 = 𝑥1 + 2𝑢, 𝑥̇ 2 = 𝑥3 + 𝑢, 5. 𝑥̇ 3 = −4𝑥1 − 0.5𝑥2 − 0.2𝑥3 + 3𝑢, 𝑦 = 𝑥1 . 𝑥̇ 1 = −6𝑥1 + 𝑥2 + 2𝑢, 6. 𝑥̇ 2 = 2𝑥1 − 5𝑥2 − 3𝑢, 𝑦 = 𝑥1 + 2𝑥2 . 𝑥̇ 1 = 2𝑥2 − 𝑥2 −3𝑥3 , 𝑥̇ 2 = −𝑥1 + 𝑢, 7. 𝑥̇ 3 = −3𝑥1 − 2𝑥2 − 𝑥3 + 𝑢, 𝑦 = 2𝑥1 + 𝑥2 . −3 3 0 1 1 0 ],𝐵 = [ ],𝐶 = [ ]. −2 4 3 0 0 1 1 −2 0 1 10 0 𝐴=[ ],𝐵 = [ ],𝐶 = [ ]. −5 1 6 0 0 1 −3 3 0 8 1 0 𝐴=[ ],𝐵 = [ ],𝐶 = [ ]. −4 3 1 0 0 1 −4 3 0 8 1 0 𝐴=[ ],𝐵 = [ ],𝐶 = [ ]. −4 2 1 0 0 1 −4 2 0 1 1 0 𝐴=[ ],𝐵 = [ ],𝐶 = [ ]. −8 −3 1 0 0 1 1 0 −5 10 0 5 𝐴=[ ],𝐵 = [ ],𝐶 = [ ]. 0 2 −6 3 1 0 −2 8 0 1 2 0 𝐴=[ ],𝐵 = [ ],𝐶 = [ ]. −1 4 3 0 0 2 3 4 1 0 0 5 𝐴=[ ],𝐵 = [ ],𝐶 = [ ]. 4 −5 1 1 6 0 0 3 2 0 5 7 𝐴=[ ],𝐵 = [ ],𝐶 = [ ]. 7 0 0 1 −8 4 8. 𝐴 = [ 9. 10. 11. 12. 13. 14. 15. 16.