Скачать 224.96 Kb.
|
Институт цветных металлов и материаловедения СФУ Кафедра автоматизации производственных процессов
Лабораторная работа № 3“Изучение пакета Simulink Response Optimization системы MATLAB 7 для расчета оптимальных настроек регуляторов” ЦЕЛЬ РАБОТЫ 1. Ознакомиться с составом и назначением программного пакета Simulink Response Optimization системы MATLAB 7. 2. Ознакомиться с основными методами и примерами использования программного пакета Simulink Response Optimization для моделирования и анализа систем управления. 3. Освоить расчет и настройку одноконтурных САР в среде Simulink Response Optimization системы MATLAB 7. МЕТОДИКА ВЫПОЛНЕНИЯ РАБОТЫ
ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯПакет Simulink Response Optimization (оптимизация отклика в среде Simulink) представляет графический интерфейс пользователя (Graphical User Interface - GUI) для осуществления проектирования систем управления (СУ) во временной области. С помощью пакета Simulink Response Optimization можно найти оптимальные параметры настройки для нелинейной модели системы в SIMULINK, которые обеспечат требуемый переходной процесс по заданным графически ограничениям в окне временной области. Любое число переменных SIMULINK, включая скалярные, векторные и матричные величины, могут быть объявлены настраиваемыми или оптимизируемыми. Для этого надо ввести имена переменных в соответствующем диалоговом боксе. Границы неопределенности можно задать для любых переменных для модели робастной СУ. Пакет Simulink Response Optimization делает процесс достижения требуемого переходного процесса и оптимизации настраиваемых параметров интуитивным и легким. Для использования пакет Simulink Response Optimization необходимо лишь включить в схему модели SIMULINK специальный Signal Constraint блок. Для этого блок соединяет с требуемым сигналом модели, чтобы показать, вы хотите установить какие-то ограничения на этот сигнал во временной области. Пакет Simulink Response Optimization автоматически преобразует ограничения во временной области в ограничения задачи оптимизации параметров СУ и затем решит задачу, используя алгоритмы и процедуры, заложенные в пакете. Задача оптимизации переменных с учетом наложенных ограничений, сформулированная в Simulink Response Optimization -пакете, последовательно вызывает симуляцию работы модели СУ в SIMULINK, сравнивает полученные результаты с заданными ограничениями переходного процесса и, используя градиентный метод, изменяет настраиваемые параметры для достижения заданной формы процесса. Пакет Simulink Response Optimization позволяет вводить неопределенность в задание динамических параметров объекта управления, проводить симуляцию методом Монте Карло, задавать верхние и нижние границы настраиваемых переменных и изменять критерий достижения цели. Ход процесса оптимизации можно видеть в графическом окне задания ограничений прямо при выполнении симуляции. По окончанию процесса результаты можно просмотреть в рабочем окне MATLAB. Промежуточные результаты выводятся там после каждого шага симуляции. Оптимизацию параметров можно прервать до ее окончания с целью вывода промежуточных результатов или изменения модели. Порядок работы с пакетом Simulink Response OptimizationПакет Simulink Response Optimization использует задание верхних и нижних границ отклика СУ с помощью ограничительных линий в графическом окне. Эти ограничительные линии можно растягивать, перемещать, разбивать и открывать различными способами. Signal Constraint - блок можно подключать к любой модели, созданной ранее в SIMULINK. Для этого нужно: 1. Подсоединить Signal Constraint -блок ко всем сигналам, которые вы желаете ограничить. 2. Подать на вход СУ воздействие (ступенчатое, импульсное, по данным наблюдения), для которого требуется получить желаемый переходной процесс. 3. В рабочей области MATLAB задать начальные, наилучшие по предварительной оценке значения настраиваемых переменных. 4. Двойным щелчком мыши по Signal Constraint -блоку вызвать графическое окно задания ограничений для каждой выходной величины. 5. Изменяя, перемещая, разбивая ограничительные линии с помощью меню, мыши или горячих клавиш, задать требуемый вид переходного процесса каждой выходной величины. 6. При необходимости открыть диалоговой бокс Uncertain Parameters (Неточно определенные параметры), из меню Optimization (Оптимизация). Начальные значения этих неточно определенных переменных принимаются равными номинальным значениям и задаются в рабочем окне MATLAB. 7. Для того чтобы задать в Signal Constraint - блоке начальный и конечный момент времени симуляции нужно зайти в меню Optimization (Оптимизация), там выбрать подменю Simulation Options (настройки симуляции). В открывшемся окне можно изменить время начала симуляции Start time и ее окончания Stop time. Подобным же образом можно изменить время начала и конца оптимизации, для этого в том же окне (настройки симуляции) Simulation Options нужно выбрать закладку Optimization Options (настройки оптимизации) (или в меню Optimization Constraint –блока выбрать подменю Optimization Options). Время начала и конца для симуляции и оптимизации обычно задается автоматически и принимается равным соответствующим значениям времен, настроенных в Simulink, при необходимости их можно изменять. 8. Нажать кнопку Start или выбрать опцию Start в меню Optimization. Пример расчета нелинейной СУРассмотрим СУ одномерного (SISO) объекта с ПФ второго порядка с интегральным регулятором, приведенную на рисунок 1. Рисунок 1.Для вызова этой модели необходимо набрать в рабочем окне MATLAB команду srotut1. Коэффициент усиления И-регулятора Kint должен быть таким, чтобы обеспечить следующие показатели качества регулирования при единичном ступенчатом воздействии: - максимальное перерегулирование 10%; - максимальное время нарастания 10 секунд; - максимальное время регулирования 30 секунд. Из-за наличия в СУ нелинейного элемента и звена транспортного запаздывания обычные методы расчета СУ могут не дать желаемого результата. Перед началом работы необходимо инициализировать переменные модели СУ, напечатав в рабочем окне MATLAB zeta =1;w0 =1: Kint =0.3; Начальное значение Kint было выбрано после построения переходной характеристики для линеаризованной модели СУ при нескольких значениях Kint. Задание ограниченийДля открытия окна ограничений дважды щелкните мышью по Signal Constraint -блоку. Заголовок открывшегося окна (рисунок 2) будет содержать имя модели SIMULINK в которую включен Signal Constraint -блок (в нашем случае srotut1). Окно ограничений содержит оси отклика (Amplitude) и времени (Time), панель меню вверху, панель управления внизу и верхнюю и нижнюю ограничительные линии, заданные по умолчанию. Окно ограничений имеет заданные по умолчанию размеры и положение. Их можно изменять при помощи мыши. Верхняя и нижняя ограничительные линии задают пределы области, в которую должен попасть сигнал отклика СУ. По умолчанию эта область задает время нарастания 5 секунд и время регулирования 15 секунд. Эти границы необходимо изменить, чтобы они соответствовали указанным ранее значениям. Для задания положения ограничительной линии времени нарастания установите указатель мыши на горизонтальную ограничительную линию, соответствующую 5 секундам. Нажмите и удерживая нажатой правую кнопку мыши и тащите ее. При необходимости более точной установки линий можно включить сетку, выбрав опцию Grid щелчком правой кнопки мыши в поле ограничения. Рисунок 2. Указатель мыши изменится и примет форму сжатой ладони. В этом режиме можно изменять границу (по времени) между двумя уровнями ограничительной линии снизу. Перетащите вертикальную линию на отметку 10 секунд и отпустите мышь. Рисунок 3. Рисунок 3. Для более точной установки линий следует использовать диалог Edit Design Requirement, который появляется при двойном щелчке левой кнопкой мыши по нужному сегменту ограничительной (горизонтальной) линии, рисунок 4. Рисунок 4. Для установки верхней ограничительной линии нажмите и удерживайте нажатой левую кнопку мыши где-нибудь на верхней линии. Она изменит свой цвет, а указатель мыши станет четырехнаправленной стрелкой. В этом режиме линию можно перемещать вертикально и горизонтально. При горизонтальном перемещении линий подобным способом не происходит растягивания линий, они лишь перемещаются, при этом могут образоваться недопустимые пробелы в ограничительной фигуре. Не отпуская кнопки мыши, перетащите нижнюю границу верхней ограничительной линии до значения 1,1 по оси Amplitude, как показано на рисунке 5. Рисунке 5. И, наконец, время регулирования тоже нуждается в изменении. Установите курсор мыши на верхнюю вертикальную линию со временем 15 секунд и перетащите ее на значение 30 секунд. Затем повторите эту операцию с нижней вертикальной линией на уровне 15 секунд. Окончательный вид фигуры ограничений должен быть как на рисунке 6. Рисунок 6. При необходимости ограничительные линии можно устанавливать под углом к горизонтали. Для этого необходимо взять мышью конец линии и перемещать его в нужном направлении. Пример такого перемещения ограничительной линии показан на рисунке 7. Рисунок 7. Перед началом оптимизации пакету Simulink Response Optimization необходимо указать, какие величины следует изменять и настраивать. Для этого откройте диалоговый бокс Tuned Parameters (Настраиваемые параметры) из меню Optimization. Для того чтобы добавить настраиваемые переменные нужно нажать кнопку Add, появится окно Add Parameters (добавление параметров) с параметрами, которые в модели Simulink были объявлены настраиваемыми, Рисунок 8. Рисунок 8. Далее необходимо щелкнуть левой кнопкой мыши по параметру Kint (или нескольким, если это необходимо), затем нажните OK. Параметр будет добавлен. Рисунок 9. Рисунок 9. Выполнение оптимизации После задания ограничений в окне Signal Constraint -блока и объявления настраиваемых переменных начинают выполнение оптимизации нажатием кнопки Start на панели управления в нижней части окна или выбором опции Start в меню Optimization. После этого Simulink Response Optimization –пакет автоматически преобразует данные об ограничениях процесса и настраиваемых переменных в данные для решения проблемы оптимизации и вызывает процедуру constr. Она использует алгоритм последовательного квадратичного программирования SQP и квази-Ньютоновский метод градиентного поиска. В процессе оптимизации выводятся промежуточные результаты. Можно увидеть переходные процессы при различной вариации параметров, они обозначены разными цветами. Конечный переходной процесс, удовлетворяющий заданным ограничениям, выделен черным цветом. Рисунок 10. Во время оптимизации Simulink Response Optimization –пакет выводит информацию о неопределенности параметров объекта, числе ограничений на одну симуляцию и числе симуляций. Когда Simulink Response Optimization –пакет начинает оптимизацию, он рисует начальный отклик СУ черным цветом. Для просмотра этого отклика до начала оптимизации следует выбрать опцию Plot current response меню Plots. Просмотр начального отклика СУ помогает лучшим образом определить требуемые ограничения на переходной процесс. Рисунок 10. После решения проблемы MATLAB выводит сообщение max Directional First-order Iter S-count f(x) constraint Step-size derivative optimality Procedure 0 1 0 331.8 1 6 0 41.3 0.0478 0 1 infeasible 2 9 0 0.2882 0.0725 0 1 Hessian modified twice; infeasible 3 12 0 0.02226 0.0587 0 969 Hessian modified twice 4 15 0 0.0001852 0.00536 0 15.8 Successful termination. Found a feasible or optimal solution within the specified tolerances. Kint = 0.1844 Так же узнать новые, оптимизированные значения настраиваемых переменных, надо напечатать их имена в окне MATLAB: Kint и MATLAB ответит Kint = 0.1844 Первая колонка выводимой информации Iter показывает полное число обращений (итераций) к функции стоимости (cost function), третья max constraint – максимум (взвешенный) нарушения ограничений (т.е. функции стоимости). Это число должно уменьшаться в ходе оптимизации. Когда max constraint становится нулевым или отрицательным, то цель оптимизации достигнута. В данном случае это случилось после 4-го обращения к функции стоимости. Пятая колонка размер шага, используемого алгоритмом линейного поиска. Четвертая колонка выводит специальные сообщения, относящиеся к алгоритму последовательного квадратичного программирования SQP. Если критерий окончания процедуры оптимизации достигнут, выводится сообщение Successfully termination. В конце сообщения выводятся активные ограничения, т.е. те, что запрещают дальнейшее уменьшение функции стоимости. Учет неопределенности параметров системы В конкретном случае точные динамические параметры объекта могут быть неизвестны. Известно лишь какими они должны быть и каковы возможны отклонения этих параметров от желаемых значений. Например, пусть параметр объекту управления zeta изменяется на 5% от своего номинального значения, а параметр w0 изменяется в пределах от 0.7 до 1.45. Пакет Simulink Response Optimization позволяет вести расчет оптимальных настроек контроллеров и регуляторов и в условиях неопределенности значений некоторых параметров объекта. Для этого откройте диалоговый бокс Uncertain Parameters, из меню Optimization, и добавьте вышеописанным образом, неточно неопределенные параметры и пределы их изменения, как это показано на рисунке 11. Пакет Simulink Response Optimization автоматически учтет эти неопределенности в ходе оптимизации. По умолчанию пакет Simulink Response Optimization ведет оптимизацию только для номинальных значений параметров объекта. Для учета неопределенности параметров надо отметить соответствующие строки в диалоговом боксе. Для оптимизации в условиях случайного изменения параметров в пределах от нижнего до верхнего значения следует указать число симуляций по методу Монте-Карло в строке Number of Samples. Хотя увеличения числа симуляций ведет к получению более робастной СУ, это увеличивает время оптимизации. Обычно рекомендуется брать как можно меньше число симуляций и использовать метод Монте-Карло только для целей анализа. С диалоговым боксом, заполненным, как показано на рисунке 11, снова начните оптимизацию. Обратите внимание, что пакет Simulink Response Optimization рисует два начальных графика и обновляет два других. Эти графики строятся с учетом верхних и нижних пределов изменения настраиваемых параметров. Рисунок 11. PID КонтроллерВ данной задаче рассчитывается СУ одномерного (SISO) объекта с ПФ третьего порядка, рисунок 12. Рисунок 12 Subsystem Plant Переходные процессы в системе с возмущением по заданию и по нагрузке с найденными оптимальными коэффициентами настройки регулятора представлены на рисунке 13 а,б. Описание задачи Необходимо рассчитать PID контроллер так, чтобы замкнутая СУ c возмущением по заданию отвечала следующим требованиям: • максимальное перерегулирование было не более 20 %; • максимальное время нарастания равнялось 10 с; • максимальное время установления (регулирования) было не более 30 с. Далее необходимо, чтобы замкнутая СУ была робастной к возможным отклонениям параметров объекта из-за не точного определения динамических параметров ОР. Постановка задачиМодель pidtune_demo в SIMULINK включает объект (Plant) и контроллер (PID) как показано на рис. 12. Чтобы открыть модель, напечатайте в командном окне MATLAB pidtune_demo. Так как данный пакт имеет возможность работать с моделями не только с возмущением по заданию, но и по нагрузке, предлагаемая к рассмотрению модель - pidtune_demo была несколько изменена для наглядности На вход модели подается ступенчатое воздействие (Step). Signal Constraint - блок присоединен к выходу объекта, поскольку именно этот сигнал необходимо видоизменять. Просмотр диалога блока в опции Simulation (Моделирование), Parameters (Параметры) показывает, что каждая симуляция продолжается 100 секунд. Настраиваемые параметры Kp, Ki, и Kd инициализируются при значениях обозначенных на рисунке 12. Данные значения являются результатом использование метода Ziegler-Nichols для определения параметров настройки PID контроллеров. Этот метод заключается в следующем: • Устанавливают коэффициенты интегральной Ki и дифференциальной Kd составляющих PID-закона регулирования равными нулю и увеличивают коэффициент Kp пропорциональной составляющей до тех пор, пока СУ становится неустойчивой. • Обозначают это значение Ku и измеряют период колебаний Pu. • Принимают следующие значения: Kp = 3 Ku/5, Ki = 6 Ku / (5 Pu), и Kd = 3 Ku Pu/40. Двойной щелчок на блоке Сonstraint также определяет ограничиваемые параметры во временной области для данного сеанса моделирования. Дважды щелкните на блоке Signal Constraint, чтобы открыть фигуру для задания ограничений на переходной процесс в СУ. Нижние и верхние ограничивающие линии задают ограничения на максимальное динамическое отклонение, время нарастания, и время регулирования (установления) выходной величины. Решение задачи Перед запуском оптимизации откройте диалог Tuned Parameters (Настраиваемые Параметры), убедитесь, чтобы оптимизируемые параметры были определены. Также откройте диалог Uncertain Parameters (Неопределенные Параметры) в меню Optimization. Нажмите кнопку Start или выберите опцию Start из меню Optimization, или, удерживая нажатой клавишу ускорения, нажмите t, чтобы начать оптимизацию. Наблюдайте изменения и улучшение в реакции СУ в течение оптимизации. Время оптимизации, изменение функции стоимости (costfunction), и окончательные значения настраиваемых переменных могут отличаться для различных компьютеров. Однако, оптимизация должна привести к созданию контроллера, который отвечает всем ограничениям. Теперь вернитесь к диалогу Uncertain Parameters, задайте верхние и нижние значения неточных параметров объекта. Нажмите кнопку Start для начала процесса оптимизации при неопределенности параметров. Может оказаться, что все ограничения теперь могут быть и не достигнуты, но максимальное отклонение от ограничения меньше чем 0.01. Учитывая степень неопределенности в динамике объекта, такой результат можно считать весьма впечатляющим. Вы можете поэкспериментировать, если хотите, перемещая границы ограничений в попытке достичь лучшей характеристики системы. Например, уменьшите время нарастания или максимальное динамическое отклонение. Для этого перед изменением ограничений необходимо остановить симуляцию работы модели. Практическое задание 1. По данным табл. 1 в соответствии с номером своего варианта по рисунку 13 создайте модель СУ статическим объектом второго порядка (блоки Transfer Fcn или Zero Pole библиотеки Continuous и блок Transport Delay -Транспортное запаздывание - библиотеки Continuous) с ПИД-реулятором (блок PID Controller библиотеки Additional Linear) в цепи обратной отрицательной связи. Рисунок 13 На вход модели СУ подается 2 ступенчатых воздействия (блок Step библиотеки Sources), выход модели подключен к Signal Constraint-блоку (блок Constraint-блок библиотеки Simulink Response Optimization в библиотеке Blocksets & Toolboxes). Для создания обратной связи используйте на входе модели блок Sum библиотеки Commonly Used Blocks. Выделив мышью модель объекта управления, преобразуйте ее в подсистему Объект с помощью команды Create Subsystem меню Edit. Переключение с модели по заданию на модель по нагрузке происходит за счет того, что в каждом блоке Step, в графе Final Value, в зависимости от того, какое возмущение нужно включить, ставится 0 или 1. Проведите две оптимизации, для модели с возмущением по заданию и по нагрузке. Сначала проведите одну оптимизацию, затем включите другое возмущение, измените фигуру переходного процесса и вновь проведите оптимизацию. 2. Откройте диалоговый бокс Tuned Parameters (Настраиваемые параметры) из меню Optimization. Для того чтобы добавить настраиваемые переменные нужно нажать кнопку Add, появится окно Add Parameters (добавление параметров) с параметрами, которые в модели Simulink были объявлены настраиваемыми, а именно Kp Ki Kd, для единовременного выделения параметров нужно нажать и удерживать нажатой клавишу Ctrl и последовательно мышью выделить эти три параметра. Затем нажните OK. Параметры будут добавлены. 3. При необходимости измените фигуру ограничений для переходного процесса, перемещая ограничивающие линии. 4. В рабочем окне Matlab введите ориентировочные значения настроек регулятора, поставив их вместо знака ? в строку: Kp= ?, Ki= ?, Kd= ? 5. В открытом окне Signal Constraint-блока выберите пункт Plot Current Response меню Plots и посмотрите отклик СУ на ступенчатое воздействие при начальных, неоптимизированных настройках регулятора. Если вид процесса очень далек от желаемого, то измените начальные настройки регулятора Kp= ?, Ki= ?, Kd= ? в рабочем окне Matlab и вновь выберите пункт Plot Current Response для просмотра начального отклика системы. 6. Выберите пункт Start меню Optimization или нажмите кнопку Start на нижней панели управления окна Constraint-блока и запустите оптимизацию настроек ПИД-регулятора. По окончанию процесса оптимизации выведите новые, оптимизированные значения параметров настройки регулятора, набрав в рабочем окне Matlab команду Kp, Ki, Kd 7. Для последующей защиты сохраните модель СУ под своим именем на сервере. Таблица 1.
Таблица 2 Оптимальные параметры настройки регуляторов для статических объектов первого порядка с запаздыванием
* Примечание: А = КобТоб; В = Тоб/(Кобоб). Контрольные вопросы для защиты 1. Состав и назначение пакета Simulink Response Optimization. 2. Запуск и работа с пакетом Simulink Response Optimization. 3. Задание ограничений на вид переходного процесса в окне Signal Constraint-блока. 4. Задание параметров оптимизации переходного процесса в Signal Constraint-блоке. 5. Вывод информации о процессе оптимизации. 6. Учет неопределенности задаваемых параметров модели ОУ. 7. Метод Ziegler-Nichols для определения параметров настройки PID контроллеров 8. Порядок выполнения практического задания. |
Лабораторная работа 1 4 лабораторная работа 2 13 лабораторная работа... Интернете разнообразную информацию – описательную, графическую, картографическую и пр. При разработке сайтов необходимо уметь работать... |
Лабораторная работа №9 59 Лабораторная работа №10 72 Лабораторная... Рабочая тетрадь для выполнения лабораторных работ по мдк. 03. 01. «Техническое обслуживание и ремонт компьютерных систем и комплексов»... |
||
Методические указания для студентов по выполнению лабораторных работ... Лабораторная работа 4, 5 Исследование регистров, счетчиков и дешифраторов Лабораторная работа 6, 7 Исследование генератора псевдослучайной... |
Лабораторная работа №10. Изучение принципа действия и функциональной... Лабораторная работа № Изучение принципов построения системы автоматической подстройки частоты (апч) радиолокационной станции |
||
Лабораторная работа №1 «Создание общих ресурсов и управление ими» Лабораторная работа №6-7 «Изучение типов серверов, их настройка и конфигурирование» |
Лабораторная работа № Лабораторная работа №1. Изучение основных возможностей программного продукта Яндекс. Сервер. Установка окружения, установка и настройка... |
||
Лабораторная работа №27 Лабораторная работа №28 Контрольные работы... Пм «Сборка монтаж (демонтаж) элементов судовых конструкций, корпусов, устройств и систем металлических судов» |
Лабораторная работа №9 Данная лабораторная работа оформляется в виде файла word с расширением файла docx или doc и прикрепляется в виде ссылки на файл к... |
||
Лабораторная работа 2 12 лабораторная работа 3 17 лабораторная работа... «Проектирование систем реального времени» для студентов специальности 09. 05. 01 «Применение и эксплуатация автоматизированных систем... |
Лабораторная работа «Построение контуров изображения с использованием... Ивших на уроках математики понятие о математических кривых и графиках функций. Данная лабораторная работа может быть использована... |
||
Практическая работа Содержание Лабораторная работа: Оценка программно-аппаратных средств при переходе на Windows Vista 3 |
Лабораторная работа №2. Расчет матрицы a инерционных коэффициентов... Лабораторная работа №3. Расчет матриц Якоби (С7, D7j) исполнительного механизма космического манипуляционного робота 9 |
||
Лабораторная работа №1 «Применение средств операционных систем и... |
Лабораторная работа №1 «Применение средств операционных систем и... |
||
Контрольная работа №1 по теме «Организм. Молекулярный уровень» Лабораторная работа №2 «Изучение клеток и тканей растений и животных на готовых микропрепаратах» |
Лабораторная работа Изучение принципов функционирования простейшей микроэвм и процессора Лабораторная работа Изучение принципов функционирования простейшей микроэвм и процессора I8085A при реализации программы |
Поиск |