Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
ЛАБОРАТОРНАЯ РАБОТА № 1
ИСПОЛЬЗОВАНИЕ ПАКЕТА
NONLINEAR CONTROL DESIGN / MATLAB
ДЛЯ ПРОЕКТИРОВАНИЯ СИСТЕМ УПРАВЛЕНИЯ
1. Цель работы
Знакомство с основными возможностями пакета Nonlinear Control Design и получение навыков работы с ним при настройке параметров регуляторов.
2. Краткие теоретические сведения
Пакет прикладных программ для проектирования нелинейных систем управления Nonlinear Control Design (NCD) Blockset относится к расширениям пакета SIMULINK системы MATLAB и реализует метод динамической оптимизации. Этот инструмент, разработанный для использования с SIMULINK, автоматически настраивает системные параметры, основываясь на заданных пользователем ограничениях на временные характеристики. По существу, пакет NCD является специализированной оптимизирующей программой для решения задачи оптимизации при наличии ограничений в форме неравенств и использующей в качестве алгоритма оптимизации последовательное квадратичное программирование. Последовательное квадратичное программирование (англ. Sequential quadratic programming (SQP)) один из наиболее распространённых и эффективных оптимизационных алгоритмов общего назначения[1], основной идеей которого является последовательное решение задач квадратичного программирования, аппроксимирующих данную задачу оптимизации
Средства пакета позволяют задавать временные ограничения прямо на графиках с помощью мыши и реализуют следующие возможности:
Таким образом, пакет NCD является весьма полезным дополнением к средствам моделирования линейных систем, предоставляя пользователю именно те возможности, которые отсутствуют в других пакетах расширения системы MATLAB.
Доступ к блокам пакета NCD Blockset можно получить либо из библиотеки блоков SIMULINK (Simulink Library Browser), либо выполнив в командном окне MATLAB команду ncdblock. На рис. 1 представлены блоки пакета NCD.
Рис. 1 |
Непрерывный и дискретный блоки CRMS и DRMS являются вспомогательными блоками и служат для определения среднеквадратических значений соответствующих входных сигналов.
Блок CRMS реализует следующее выражение:
, ,
где - входной сигнал блока, - выходной сигнал. Блок DRMS реализует ту же зависимость, что и блок CRMS, но для сигналов, определенных в дискретные моменты времени:
, ,
где интервал дискретизации задается в поле Sampling Interval (s) окна настроек данного блока.
Блоки CRMS и DRMS могут применяться при моделировании систем, в которых качество функционирования целесообразно оценивать интегральным квадратичным критерием или стандартным отклонением ошибки.
Блок NCD Outport является основным среди рассматриваемых блоков. Он имеет свое рабочее окно и меню и позволяет в интерактивном режиме выполнять следующие операции:
Рабочее окно блока NCD Outport с временными ограничениями по умолчанию показано на рис. 2. Данное окно открывается обычным образом двойным щелчком на пиктограмме блока.
В данном случае контролируемым сигналом является переходная характеристика, на которую накладываются следующие ограничения:
Для установки других значений временных ограничений наиболее просто с помощью мыши переместить вертикальные и горизонтальные линии ограничений в требуемое положение. Точную установку линий ограничения можно провести, выбирая требуемые линии с помощью щелчка левой клавиши мыши (выбранная линия становится белой) и выполнив в меню Edit команду Edit constraint. В появляющемся окне редактора ограничений (Constraint Editor), в текстовом поле Position editor, необходимо задать начальную и конечную точки прямой в формате , нажав затем кнопку Done. Окно редактора ограничений можно открыть более просто, а именно, щелкнув на соответствующей линии правой клавишей мыши.
Подробнее остановимся на задании оптимизируемых и неопределенных параметров моделируемой системы. Выбор команды Parameters в меню Optimization приведет к открытию диалогового окна задания оптимизируемых параметров и интервала дискретизации Optimization Parameters (рис. 3).
Рис. 3 |
В текстовое окно Tunable Variables необходимо ввести имя оптимизируемой переменной. Если таких переменных несколько, то их имена разделяются пробелами.
В текстовое поле Discretization Interval вводится значение интервала дискретизации, которое составляет один или два процента от длительности процесса моделирования.
В качестве примера показаны три оптимизируемых параметра () и установлено значение интервала дискретизации, равное 1 с.
Задача оптимизации усложняется, если моделируемая система содержит неопределенные параметры. К таким параметрам обычно относят некоторые параметры объекта регулирования, точные значения которых неизвестны или могут претерпевать изменения с течением времени.
Неопределенные параметры и диапазон их изменения указываются в окне Uncertain Variables (рис. 4), которое вызывается командой Uncertainty меню Optimization окна NCD Outport. Например, в данном случае имеется два неопределенных параметра и . Причем переменная может изменяться в пределах 5 % от своего номинального значения, а переменная в диапазоне от 2 до 4. Заметим, что по умолчанию используются номинальные значения неопределенных параметров (установлен флажок Constrain nominal simulation).
Рис. 4 |
Для введения неопределенности необходимо задать нижнюю (Constrain lower bound simulation) и / или верхнюю (Constrain upper bound simulation) границы диапазона неопределенности. Если установлен флажок Constrain Monte Carlo simulations, то это позволяет провести моделирование для нескольких значений указанных параметров внутри выбранного диапазона (метод Монте Карло). Число таких значений задается в поле Number of Monte Carlo simulations.
Кратко остановимся на других командах меню окна блока NCD Outport.
Меню File содержит стандартные команды Load (Загрузить), Close (Закрыть), Save (Cохранить) и Print (Печатать). Действия, выполняемые при выборе любой из данных команд, относятся к графикам заданных временных ограничений, отображаемых в основном окне рассматриваемого блока.
Выбор команды Delete plots в меню Edit позволяет очистить окно NCD Outport от ранее построенных характеристик.
Меню Options (Настройка) содержит следующие команды.
Рис. 5 |
В этом окне задаются параметры переходного процесса, такие как его длительность (Setting time), время нарастания (Rise time), максимальное перерегулирование (Percent overshoot), максимальное “недорегулирование” (Percent undershoot), соответствующие уровни определения данных характеристик (Percent setting и Percent rise, в процентах), начальное и конечное время моделирования (Step time и Final time), желаемое начальное и конечное значения выхода (Initial output и Final output).
При выборе команды Snap (Привязка) в меню Style, устанавливается такой режим редактирования временных ограничений, при котором линии ограничений можно проводить не под любым углом к оси абсцисс, а только под углом, кратным 22,50.
Из пяти кнопок панели, расположенной в нижней части окна блока NCD Outport, в пояснениях нуждается только одна Split (Расщепить). Ее нажатие при предварительном выборе какойлибо ограничивающей линии с помощью левой клавиши мыши приводит к “расщеплению” этой линии на две одинаковые по длине половинки с возможностью последующего редактирования отдельно каждой из них.
В заключение рассмотрим основные этапы проектирования систем с пакетом NCD и некоторые особенности этого инструмента.
Типовой сеанс работы с пакетом NCD в среде Simulink состоит из нескольких этапов.
При решении конкретных задач следует иметь в виду некоторые особенности пакета NCD Blockset:
3. Порядок выполнения лабораторной работы
1. Оптимизация параметров ПИДрегулятора.
1.1. Запустить систему MATLAB 6.Х.
По окончании инициализации системы произвести запуск пакета SIMULINK. Собрать схему модели, представленную на рис. 6.
Рис. 6 |
Блок PID Controller (ПИДрегулятор) находится в библиотеке Simulink Extras (расширения SIMULINK) в разделе Additional Linear (дополнительные линейные блоки), а блок Mux (смеситель) в основной библиотеке в разделе Signals & Systems.
1.2. Установить передаточную функцию объекта управления в блоке Transfer Fcn в виде
где и неопределенные параметры.
1.3. В блоке PID Controller установить оптимизируемые параметры регулятора, обозначив их , , , соответственно для пропорциональной, интегральной и дифференциальной составляющих.
1.4. В блоке Saturation установить верхний уровень ограничения Upper limit = 3 и нижний уровень ограничения Lower limit = -3, а в блоке Rate Limiter задать ограничение скорости нарастания Rising slew rate = 1 и ограничение скорости спада Falling slew rate = -1.
Данные нелинейные блоки предназначены для ограничения по уровню и скорости управляющего воздействия на объект управления. Установленные значения параметров в рассматриваемой системе управления являются нежесткими ограничениями на сигнал управления.
1.5. Установить выходной сигнал блока Step в виде единичного скачка с нулевой задержкой (Step time = 0). После этого с помощью меню Simulation окна блок-схемы модели необходимо задать время моделирования Stop time = 100 с.
1.6. Двойным щелчком на блоке NCD Outport раскрыть данный блок. Установить ограничения на переходную характеристику системы в соответствии с вариантом задания. Численные значения перерегулирования , %, времени нарастания , с, и времени регулирования , с, приведены в таблице.
Для задания требуемых ограничений целесообразно воспользоваться командой Step response из меню Options. При этом установившееся значение переходной характеристики (Final output = 1), время нарастания определить на уровне , а время регулирования для 5 % допустимой ошибки.
Временная ось на переходной характеристике должна быть ограничена величиной 100 с. Если это не так, то временной диапазон установить с помощью команды Time range меню Options.
1.7. С помощью меню Optimization указать имена оптимизируемых параметров (, , ) и задать интервал дискретизации равным 1 с (1 % от длительности моделирования). Кроме этого, снять установленный по умолчанию флажок Compute gradients with better accuracy (slower).
1.8. Указать неопределенные параметры и и задать диапазон неопределенности
В режиме командной строки MATLAB задать номинальные значения неопределенных параметров
1.9. Рассчитать начальные значения оптимизируемых параметров ПИДрегулятора по методу Циглера Николса следующим образом. В командном окне MATLAB установить , , . Запустить процесс моделирования (не оптимизации!) и наблюдать за переходной характеристикой в блоке Scope. Увеличивая параметр и вновь запуская процесс моделирования, определить значение , при котором система находится на границе устойчивости. Обозначим такое значение как . Для этого случая измерить период колебаний , c. Искомые параметры регулятора в соответствии с методом Циглера Николса определяются как
; ; .
1.10. В режиме командной строки MATLAB задать рассчитанные значения параметров регулятора. Провести оптимизацию параметров регулятора при номинальных значениях неопределенных параметров. (Необходимо убедиться, что установлен флажок Constrain nominal simulation в окне Uncertain Variables).
Внимание! Прежде чем запускать процесс оптимизации, целесообразно выполнить команду Initial response в меню Options блока NCD Outport и посмотреть на переходную характеристику при начальных значениях оптимизируемых параметров. Если колебательность системы слишком высока или система вообще является неустойчивой, то запуск процесса оптимизации может привести к “зависанию” системы MATLAB.
Запустить процесс оптимизации, нажав кнопку Start в окне NCD Outport. В результате зафиксировать оптимальные значения параметров , , , которые отображаются в блоках Display, Display1 и Display2. Результаты моделирования в окне NCD Outport сохранить на диске.
1.11. Провести оптимизацию параметров регулятора при нижней и верхней границах неопределенных параметров.
С этой целью в командном окне MATLAB задать начальные значения оптимизируемых параметров по методу Циглера Николса. Кроме этого, в окне Uncertain Variables сбросить флажок Constrain nominal simulation и установить флажки Constrain lower bound simulation и Constrain upper bound simulation. Оценить начальный отклик и запустить процесс оптимизации. Результаты моделирования сохранить на диске.
1.12. В окне Uncertain Variables дополнительно установить флажок Constrain Monte Carlo simulations, а в окне Number of Monte Carlo simulations ввести цифру 2.
В командном окне MATLAB задать начальные значения параметров , , по методу Циглера Николса. Оценить начальный отклик и запустить процесс оптимизации. Результаты моделирования сохранить на диске.
1.13. В режиме командной строки MATLAB установить начальные значения оптимизируемых параметров, рассчитанных по методу Циглера Николса в п. 1.9. Ввести ограничения на управляющее воздействие. С этой целью запустить процесс моделирования в окне блок-схемы модели и по его завершении раскрыть блок Scope. Установить в блоке Saturation следующие уровни ограничений: Upper limit = A, Lower limit = -2. Численное значение параметра А задать на уровне (70 ÷ 85) % максимального значения выходного сигнала ПИДрегулятора.
В блоке Rate Limiter установить следующие значения его параметров: Rising slow rate = 0,5; Falling slow rate = B. Численное значение параметра В выбрать из диапазона -0,3≤B≤-0,1. После задания численных значений нелинейных блоков необходимо запустить процесс моделирования и в окне блока Scope наблюдать за соотношением сигналов на выходе ПИДрегулятора и входе объекта управления. Отличие этих сигналов не должно быть слишком большим и приводить к потере устойчивости системы управления.
Повторить пп. 1.10 1,12. При этом в качестве начальных значений оптимизируемых параметров установить значения, определенные в п. 1.9. Результаты оптимизации сохранить на диске.
2. Оптимизация параметра И-регулятора для объекта управления с запаздыванием.
2.1. Собрать схему модели, представленную на рис. 7.
Рис. 7 |
Установить в блоке Transfer Fcn передаточную функцию объекта управления в следующем виде:
где неопределенный параметр.
В блоке Integrator задать верхний и нижний уровни ограничения: Upper saturation limit = 2, Lower saturation limit = -2.
Обозначить оптимизируемый параметр И-регулятора идентификатором и установить его в блоке Gain. В блоке Step установить единичную ступенчатую функцию с нулевой задержкой.
Параметр (временное запаздывание) выбирается из таблицы в соответствии с номером варианта и задается в блоке Transport Delay в поле Time delay. Установить время счета модели длительностью 50 с (Stop time = 50).
2.2. Раскрыть блок NCD Outport и установить ограничения на переходную характеристику в соответствии с номером варианта (, %, , с, , c). При этом установившееся значение переходной характеристики задать равным единице (), а время регулирования определить по 5%-й допустимой ошибке.
2.3. С помощью меню Optimization задать идентификатор оптимизируемой переменной и длительность интервала дискретизации 0,5 с. В окне Uncertain Variables установить имя неопределенной переменной и задать диапазон неопределенности
2.4. В режиме командной строки MATLAB задать начальное значение оптимизируемого параметра и номинальное значение неопределенного параметра .
Провести процесс оптимизации для номинального значения неопределенного параметра (в окне Uncertain Variables должен быть установлен только флажок Constrain nominal simulation). По завершении процесса оптимизации зафиксировать значение параметра и сохранить на диске результаты, полученные в окне NCD Outport.
2.5. В командном окне MATLAB установить начальное значение параметра и провести оптимизацию одновременно для нижней и верхней границ неопределенности (флажок Constrain nominal simulation должен быть снят). Результаты сохранить на диске.
2.6. С помощью мыши увеличить время нарастания на 3÷5 секунд и выполнить п. 2.5. Результаты моделирования сохранить на диске.
2.7. Для установленных на данный момент ограничений на переходную характеристику дополнить моделирование по методу Монте - Карло, установив дополнительно флажок Constrain Monte Carlo simulations и цифру 2 в поле Number of Monte Carlo simulations. Результаты сохранить на диске.
Содержание отчета
№ |
1 |
2 |
3 |
4 |
5 |
6 |
, % |
25 |
20 |
18 |
15 |
17 |
30 |
, с |
8 |
9 |
10 |
15 |
12 |
9 |
, с |
30 |
30 |
35 |
35 |
40 |
40 |
, с |
0,5 |
1 |
1,5 |
2 |
2,5 |
3 |
, % |
20 |
15 |
20 |
13 |
18 |
25 |
, с |
7 |
8 |
8 |
10 |
10 |
12 |
, с |
15 |
15 |
29 |
20 |
20 |
25 |
Контрольные вопросы
Библиографический список
Переходный процесс в теории систем представляет реакцию динамической системы на приложенное к ней внешнее воздействие с момента приложения этого воздействия до некоторого установившегося значения во временной области. Изучение переходных процессов важный шаг в процессе анализа динамических свойств и качества рассматриваемой системы. Примерами внешнего воздействия могут быть дельта-импульс, скачок или синусоида.
Перерегулирование (определяется величиной первого выброса) отношение разности максимального значения переходной характеристики и ее установившегося значения к величине установившегося значения. Измеряется обычно в процентах.
Время, необходимое выходному сигналу системы для того, чтобы приблизиться к своему установившемуся значению. Обычно предел такого приближения составляет 1-10 % от конечного значения
Рис. 2 |