Краткое описание пакета
Инструментальный пакет (ИП) Nonlinear Control Design Blockset (NCD-Blockset) предоставляет в распоряжение пользователя графический интерфейс для настройки параметров динамических объектов, обеспечивающих желаемое качество переходных процессов. В качестве средства для достижения указанной цели принимается оптимизационный подход, обеспечивающий минимизацию функции штрафа за нарушение динамических ограничений. При помощи данного инструмента можно настраивать параметры нелинейной Simulink-модели, в качестве которых может быть заявлено любое количество переменных, включая скаляры, векторы и матрицы. Особую значимость имеет то обстоятельство, что в процессе настройки могут учитываться неопределенности параметрического типа математической модели, что позволяет синтезировать робастные законы управления.
Задание динамических ограничений осуществляется в визуальном режиме. На базе этих ограничений NCD-Blockset автоматически генерирует задачу конечномерной оптимизации так, чтобы точка экстремума в пространстве настраиваемых параметров соответствовала выполнению всех требований, предъявляемых к качеству процесса. Эта задача решается с привлечением специализированной процедуры квадратичного программирования из пакета Optimization Toolbox. Ход оптимизации контролируется на экране с помощью отображения графика контролируемого процесса и текущих значений минимизируемой функции. По завершении процесса его результат фиксируется в рабочем пространстве.
Рассмотрим простой пример, иллюстрирующий начальные основы использования ИП NCD Blockset. Пусть требуется построить управление с обратной связью (регулятор температуры) для объекта, имеющего передаточную функцию
так, чтобы замкнутая система имела перерегулирование менее 5% и время переходного процесса (входа в 1% зону установившегося значения) менее 2 секунд. В качестве регулятора будем использовать ПИД-регулятор с передаточной функцией вида
.
Задача состоит в том, чтобы выбрать такие его коэффициенты, которые обеспечивают указанные требования к качеству переходного процесса.
Построим Simulink-модель объекта управления в соответствии со схемой, представленной на рис.3.1.
Рис.3.1
Настроим модель объекта, изменив параметр Denominator блока Transfer Fcn. При этом зададим в качестве его значения вектор [1 2 1]: рис.3.2.
Рис.3.2.
Инициализируем в командном окне Matlab переменные Kp=1; Ki=1; Kd=0; и настроим параметры блока PID Controller (см. рис.3.3), вводя в поле параметра Proportional переменную Kp, в поле Integral - Ki, а в поле Derivative - Kd.
Рис. 3.3.
Таким образом, мы сформировали Simulink-модель объекта управления и теперь можем приступить к заданию ограничений, налагаемых на выход системы (блока Transfer Fcn).
Дважды щелкнув по блоку NCD Outport, получим окно, представленное на рис. 3.4.
Рис. 3.4.
Установим коридор, в пределах которого, должен находиться входной сигнал блока NCD Outport в соответствии с требованиями задачи. Это можно сделать, передвигая красные линии, являющиеся границами коридора, при помощи мыши. Местоположение этих линий можно установить точно (не в визуальном режиме) при помощи диалоговой панели Constraint Editor, возникающей при щелчке правой кнопкой мыши по линии (рис.3.5).
Рис. 3.5.
После выполнения установок границ коридора окно должно выглядеть так, как это показано на рис. 3.6.
Рис. 3.6.
Далее выберем пункт Parameters… меню Optimization. При этом откроется окно, в котором необходимо перечислить имена настраиваемых переменных Kp, Ki, Kd в поле Tunable Variables (рис.3.7).
Рис. 3.7.
В этом окне также изменим значение поля Discretization interval на 0.1 и поставим "галочку" напротив поля Stop optimization as soon as the constraints are achieved (для прекращения процесса оптимизации после того, как выполнены все ограничения). После внесения указанных изменений нажимаем кнопку Done.
Теперь все готово для начала процесса оптимизации. Нажмем на кнопку Start и понаблюдаем за развитием процесса. Для каждого этапа оптимизации в окне отображаются графики сигнала, соответствующие начальным (белый цвет) и текущим (зеленый цвет) значениям настраиваемых параметров (рис. 3.8). В командном окне MATLAB отображается информация о ходе оптимизации.
Рис. 3.8.
По окончании процесса оптимизации, оптимальные значения настраиваемых переменных, соответствующие кривой зеленого цвета, сохраняются в рабочем пространстве MATLAB. В данном случае Kp = 8.3616; Kd = 2.6012; Ki = 1.8190.
Как было отмечено выше, NCD позволяет учитывать в процессе настройки математической модели неопределенности параметрического типа. Предположим, что наш объект управления подвержен значительным изменениям так, что передаточная функция объекта имеет вид
где . 0.5£a£1, 1£К£2. Требуется синтезировать робастное управление, т.е. управление, обеспечивающее выполнение требований, предъявляемых к замкнутой системе при любых значениях параметров а, К из указанных диапазонов.
Для решения поставленной задачи, инициализируем в командном окне MATLAB переменные a=1 и K=1 и изменим параметры блока Transfer Fcn: параметр Numerator - [K], параметр Denominator - [a*a 2*a 1] (рис.3.9).
Рис.3. 9.
Выберем пункт Uncertainty меню Optimization окна блока NCD Outport. При этом появится окно Uncertain Variables, предназначенное для задания неопределенностей модели. Здесь необходимо указать имена переменных, значения которых варьируются, их верхние и нижние пределы изменения, а также указать какие пределы неопределенных переменных учитывать при параметрической оптимизации. Установим следующие значения (рис. 3.10):
- поле Uncertain variables: a, K
- поле Lower bounds: 0.5, 1
- поле Upper bounds: 1, 2
и поставим "галочки" напротив полей Constrain lower bound simulation и Constrain upper bound simulation (будем учитывать при моделировании и верхние и нижние допустимые пределы параметров a и K).
Рис.3.10.
Теперь можно приступить к процессу оптимизации - нажмем на кнопку Start. Для каждого этапа оптимизации в окне отображается по три графика сигнала, соответствующие начальным (белый цвет) и текущим (зеленый цвет) значениям настраиваемых параметров (рис. 3.11). Замечание: количество графиков определяется установками в диалоговом окне Uncertain Variables (рис.3.10). В данном случае графика три, так как было указано, что при моделировании необходимо учитывать верхние нижние пределы параметров, а также их номинальные значения (значения которые они имеют на начало процесса оптимизации).
Рис. 3.11.
По окончании процесса оптимизации, оптимальные значения настраиваемых переменных, соответствующие кривым зеленого цвета, сохраняются в рабочем пространстве MATLAB: Kp = 20.6148; Kd = 2.8250; Ki = 4.3390.
Рассмотри две типовые задачи, для решения которых рационально привлекать данное инструментальное средство.
I. Задача поиска управления с фиксированной структурой, обеспечивающего выполнение некоторых требований, предъявляемых к процессам в замкнутой системе. Предположим, что задана математическая модель некоторого объекта в виде системы нелинейных дифференциальных (или разностных) уравнений:
где tÎ[0,T]- время, x- вектор состояния объекта, u- вектор управления, f- возмущение.
Наряду с математической моделью объекта управления, введем в рассмотрение уравнение регулятора в виде:
где - оператор дифференцирования, W(s) - передаточная матрица регулятора.
Предположим, что структура передаточной матрицы W задана, причем в составе указанной структуры выделен вектор h, компонентами которого являются настраиваемые параметры регулятора, подлежащие поиску.
Зададим некоторое допустимое множество Wx, которому должно принадлежать движение замкнутой системы в любой момент времени. Очевидно, что при прочих равных условиях факт принадлежности этому множеству однозначно определяется выбором вектора параметров h.
В данном случае задача будет состоять в поиске вектора h из некоторого допустимого множества W, который обеспечивает выполнение условия
2.Задача идентификации состоит в поиске значений параметров некоторой динамической системы, которая моделирует движение реальной системы. Предположим, что структура модели задана с точность до значения некоторых параметров
F(p, t, x, h)=0
где - оператор дифференцирования, t - время, x - вектор состояния объекта, h- вектор параметров подлежащих определению. При постановке задачи идентификации выбор указанных параметров должен обеспечить максимальное приближение некоторого движения модели к соответствующему движению реальной системы, представленному известной функцией времени. Иными словами, задача состоит в поиске вектора h из некоторого допустимого множества W, который обеспечивает выполнение условия
где Wx- некоторая окрестность моделируемого движения реальной системы.
Две указанные задачи могут быть объединены общей постановкой задачи о настройке параметров вида
где h - вектор настраиваемых параметров, x=x(t,h)- векторная функция, представляющая движение динамической системы, W- множество допустимых параметров,
g- скалярная величина, характеризующая меру нарушения принадлежности движения x=x(t,h) - желаемому множеству Wx.
NCD Blockset представляет поставленную оптимизационную задачу в виде:
где - векторы верхних и нижних границ настраиваемых переменных, соответственно, вектор g(h) формируется из величин, определяющих меры нарушения частных ограничений, определяющих множество Wx, вектор w- вектор весов для указанных величин. Проще говоря, NCD Blockset пытается минимизировать максимальное (взвешенное) отклонение входного сигнала от заданного коридора.
При этом NCD Blockset разбивает отрезок [0, T] интегрирования с заданным шагом дискретизации. Далее на каждом шаге оптимизации в каждой узловой точке полученной сетки формируется компоненты вектора g(h). Для поиска экстремума NCD Blockset привлекает процедуру constr из Optimization Toolbox (функция fmincon для Matlab 6.0 и выше).
Как продемонстрировано в рассмотренных во введении примерах, при использовании NCD Blockset необходимо выполнить следующую последовательность действий.
1. Создать Simulink-модель.
2. Подсоединить NCD блок (или блоки) к сигналу (сигналам), на который будут накладываться ограничения. (Для открытия окна библиотеки NCD Blockset можно выполнить команду в окне MATLAB - ncdblock).
3. Задать в рабочем пространстве MATLAB начальные значения настраиваемых параметров.
4. Открыть NCD блок в Simulink-модели. При этом откроется окно, в котором в визуальном режиме формируются допустимые "коридоры" вида хi-(t)£хi(t)£хi+ (для каждого контролируемого сигнала хi(t).
5. Сформировать указанные коридоры путем растяжения, перемещения, разбиения или объединения граничных ломаных, используя команды меню Edit, кнопки мыши или "горячие клавиши". Допустимые коридоры можно сохранять и загружать из файла.
6. Открыть диалог Optimization Parameters при помощи команды Parameters... из меню Optimization. Указать интервал дискретизации (разработчики рекомендуют выбирать его в интервале между 1 и 2 процентами от общего времени интегрирования). Указать имена настраиваемых параметров, разделяя их пробелами или запятыми. Там же указать точность задания настраиваемых переменных и ограничений.
7. Если есть необходимость, открыть диалог Uncertain Variables, выбрав команду Uncertainty меню Optimization для задания допустимых границ параметров неопределенности модели. Указанные параметры должны быть инициализированы в рабочем пространстве MATLAB.
8. Если есть необходимость, сохранить все установки блока с использованием команды Save... меню File. Сохраненные установки могут использоваться в дальнейшем: их загрузка осуществляется при помощи команды Load... меню File.
9. Нажать кнопку Start или выбрать команду Start из меню Optimization для запуска процесса оптимизации.
10. Наблюдать за развитием процесса на экране.
11. По окончании процесса оптимизации настроенные значения параметров фиксируются в рабочем пространстве MATLAB.
Задание
1. Выбрать технологический объект с передаточной функцией не ниже второго порядка.
2. Собрать схему (рис.3.1) и провести оптимизацию.
3. В передаточной функции технологического объекта выбрать два параметра и провести синтез робастного управление.
4. Сделать выводы.
Лабораторная работа № 4
Идентификации систем с использованием пакета «System Identification Toolbox».
Цель работы
Использование пакета «System Identification Toolbox Design Blockset» для создания математических моделей технологических и промышленных обектов.