Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LS-Sb88903

.pdf
Скачиваний:
6
Добавлен:
13.02.2021
Размер:
381.49 Кб
Скачать

Рекомендации по выполнению

Решение задачи оптимизации следует начинать с создания модели системы, представленной на рис. 2 (соответствует варианту №1).

Дискретные элементы, входящие в схему (“Zero-Order Hold”, “DiscreteTime Integrator”), должны характеризоваться временем дискретизации T0 (Sample Time), заданным в варианте. Кроме того, блок “Discrete-Time Integrator” должен соответствовать дискретной форме описания интегратора, заданной преподавателем (“ Эйлер”=”Forward Euler”, “ Прямоугольник”=”Backward Euler”, “ Трапеция”=”Trapezoidal”). В блоках квантования “Quantizer” и “Quantizer1” следует установить величину квантования, равную 0.5. В блоке транспортной задержки “Transport Delay” необходимо зафиксировать время τ , заданное в варианте (где имеется). Величина быстродействия эталонной модели задается в блоках “Transfer Fcn3”, “Transfer Fcn4” и “Transfer Fcn5”. Блок для запоминания значения функционала качества “simout” импортируется из раздела Sinks библиотеки Simulink. В диалоговом окне данного блока в поле “Save format” требуется установить тип “Array”.

Блок регулятора выполнен маскируемой подсистемой. Маскирование выполняется с помощью команды Edit Mask (Редактирование маски) раздела Edit. При этом открывается диалоговое окно, содержащее три вкладки: Icon (Иконка подсистемы); Initialization (Инициализация параметров); Documentation (Окно комментариев). Для определения значений параметров, которыми характеризуется подсистема, используется закладка Initialization. При этом для описания параметров используются: строка Prompt (Пояснение) для ввода названия параметра (например, "коэффициент"); строка Variable (Переменная) для ввода имени переменной, в которой будут храниться значения соответствующего параметра (см. пояснения на рис. 4 и 5).

11

Рис. 4

Рис. 5

12

В зависимости от варианта блок регулятора будет иметь различное содержание (одну либо две интегрирующие части).

После того как структура системы будет сформирована, следует ввести начальные значения параметров регулятора, полученные в ходе выполнения лабораторной работы 1 (см. рис. 6).

Рис. 6

Далее следует запустить процесс моделирования работы системы, установив в качестве входного ступенчатое воздействие величиной 65536 д.е. По его завершении на осциллографе будут зарегистрированы два переходных процесса (ПП): переходный процесс выходной величины с объекта и модели (см. рис. 7). Значение функционала качества Jv=0.007038.

Рис. 7

При успешных результатах моделирования работы системы, следует приступить к ее параметрической оптимизации.

13

Для нахождения минимума функции нескольких переменных в MatLab имеются специальные средства, отличающиеся друг от друга алгоритмами поиска экстремума и количеством варьируемых параметров. Для решения поставленной задачи минимизации функционала будем использовать метод деформированного многогранника. В MatLab для этой цели применяется функция FMINSEARCH, она имеет следующий синтаксис:

x = fminsearch ( fun , x0 [, options]),

где

x – n- мерный вектор (n – число варьируемых параметров).

fun – подлежащая минимизации функция; это есть некая функция, которая принимает вектор х и возвращает скаляр f, как целевую функцию от

х; функция fun может быть определена, как описатель функции: x=fminsearch(@myf,x0),

где myf есть некая функция MatLab, такая что function f = myf(x).

x0 – вектор начальных значений варьируемых параметров.

options – параметры опций; параметры оптимизационных опций: Display - уровень отображения, 'off' отображение не производится, 'iter' отображение проводится на каждой итерации, 'final'

отображение

только

конечной

информации,

'notify'

(принимается

по

умолчанию)

отображение

только в

случае,

если

 

функция

не

 

сходится;

MaxIter

- максимальное

число

допустимых

 

итераций;

TolX -

конечное

допустимое

отклонение по

значению х;

options=optimset('param1',value1,'param2',value2,..) - создание

или

редактирование структуры параметров опций оптимизации.

 

 

Применительно к первому варианту:

n = 2;

функцию fun определяем, как описатель функции fun=@myf, где myf – есть функция MatLab, написанная пользователем (текст приведён ниже);

x0 = [ 3 ; 0.2 ];

options = optimset('Display', 'iter','MaxIter',100) - отображение проводится на каждой итерации, максимальное число допустимых итераций 100.

Текст пользовательской функции myf (файл myf.m):

%Используемые

обозначения:

%myf

-

имя

пользовательской функции

-

вектор значений параметров регулятора

%lab2

-

имя

фаила модели Simulink

% Regulator - имя подсистемы регулятора в модели

%Kr,Tr

- варьируемые параметры в составе регулятора

%Определение пользовательской функции myf

function

rez=myf(x);

%Задание

значений параметров регулятора

14

set_param('lab2/ Regulator','Kr',num2str(x(1)), 'Tr',num2str(x(2)));

%Запуск процесса моделирования sim ('lab2');

%Возврат значения функционала качества J rez=simout(end);

Файл пользовательской функции необходимо поместить в каталог файла модели.

Для запуска процесса оптимизации по выбранному методу, необходимо открыть файл модели и ввести в командной строке MatLab функцию поиска минимума в соответствии с её синтаксисом:

x = fminsearch(@myf, [3;0.2], optimset('Display', iter','MaxIter',100))

Ход процесса оптимизации в графическом виде можно наблюдать на осциллографе, а в командном окне MatLab будут выдаваться результаты оптимизации на каждой итерации.

Параметры регулятора на определённом этапе решения поставленной задачи считаются подобранными, если удалось уменьшить значение функционала качества и добиться адекватного совпадения реакции системы на ступенчатое управляющее воздействие с эталонной моделью.

Осциллограммы ПП после оптимизации приведены на рис. 8. Значение функционала качества в данном случае: JV= 0.000045. Значения параметров регулятора: Kr= 2.0586, Tr= 0.073454. Число итераций - 37.

Рис. 8

Так как оптимизация при начальном быстродействии эталонной модели осуществлена вполне успешно, необходимо увеличить быстродействие

15

эталона вдвое и выполнить заново весь процесс оптимизации. При достижении положительных результатов данную процедуру повторяют вновь и вновь. Критерий остановки данного процесса был рассмотрен ранее.

Требования к отчёту

В отчёте следует привести: цель работы; описание задачи и этапов её решения; схему модели Simulink и её подсистем; текст пользовательской функции; функцию FMINSEARCH в соответствии с ее синтаксисом; осциллограммы переходных процессов, значение функционала и параметров регулятора до и после оптимизации; выводы.

Контрольные вопросы

1.Какие средства используются в MatLab для поиска экстремума функции нескольких переменных, опишите синтаксис функции FMINSEARCH?

2.В какой форме необходимо определить пользовательскую функцию, чтобы использовать её в FMINSEARCH?

3.Опишите алгоритм решения поставленной в работе задачи.

16

Работа №3 Разработка системы по принципам модального управления

Цель работы: получение практических навыков по разработке систем по принципам модального управления.

Содержание

Рассматриваются объект управления, математическое описание которого приведено в варианте. Считается, что для всех вариантов τ = 0 , а доступной измерению является только выходная переменная.

В работе требуется для заданного варианта разработать непрерывное наблюдающее устройство и модальный регулятор полного порядка. При расчете коэффициентов наблюдателя и регулятора в качестве стандартных форм n-го порядка рассматриваются:

а) форма Баттерворта

H (s) = s2

+ 1.4ω0 s + ω0

2 ,

 

 

 

 

 

n=2

H (s) = s3

+ 2ω0 s2 + 2ω0

2 s + ω0

3 ,

 

 

 

n=3

H (s) = s4

+ 2.6ω0 s3 + 3.4ω0

2 s2

+

2.6ω0

3 s + ω0

4 ;

n=4

б) форма бинома Ньютона

H (s) = s2

+ 2ω0 s + ω0

2 ,

 

 

 

 

 

n=2

H (s) = s3

+ 3ω0 s2

+ 3ω0

2 s + ω0

3 ,

 

 

n=3

H (s) = s4

+ 4ω0 s3

+ 6ω0

2 s2 + 4ω0

3 s + ω0

4 ;

n=4

где ω0 - параметр, характеризующий быстродействие.

Форма распределения корней характеристических уравнений наблюдателя и регулятора задается преподавателем, а требуемое значение

ω0 определяется исходя из желаемого времени переходного процесса tП с

помощью нормированных переходных характеристик, приведенных на рис. 1. Нормированные кривые реакции на единичное управляющее воздействие систем разного порядка с корнями характеристического уравнения, соответствующими распределению по биному, приведены на рис. 1а), а с корнями, соответствующими распределению по Баттерворту, на рис. 1б).

17

1.25

 

 

 

 

 

x

 

 

 

 

 

1

 

 

 

 

 

 

n =

2 3 4

 

 

 

0.75

 

 

 

 

 

0.5

 

 

 

 

 

0.25

 

 

 

 

 

0

 

 

 

w

0 t

 

 

5

10

15

0

 

 

 

 

 

 

Рис. 1,а

 

1.25

 

 

 

 

 

x

 

n =

2 3 4

 

 

 

 

 

 

 

1

 

 

 

 

 

0.75

 

 

 

 

 

0.5

 

 

 

 

 

0.25

 

 

 

 

 

0

 

 

 

w

0 t

 

 

5

10

15

0

 

 

 

 

 

 

Рис. 1,б

 

18

Для разработанной системы требуется оценить реакцию выходной переменной на ступенчатое управление и убедиться, что она совпадает с желаемой, заданной стандартным распределением.

Рекомендации по выполнению

Разработку системы рекомендуется начинать с составления математического описания в виде детализированной структурной схемы. Пример составления такого описания в Simulink, состоящего из объекта, наблюдателя и регулятора, для первого варианта приведен на рис. 2.

Рис. 2

Все параметры на схеме приведены в буквенной форме лишь для наглядности. Моделирование работы системы невозможно будет осуществить, пока буквенные обозначения параметров не будут заменены

конкретными значениями.

 

Расчет коэффициентов модального регулятора K = [k1

k2 ... kn ] и

наблюдателя L = [L11 L21 ... Ln1 ]T выполняется раздельно.

Вычисление

указанных параметров осуществляется с использованием стандартных средств пакета Matlab, требующих описание объекта в векторно-матричной форме:

Xɺ O = AO XO + BO u ,

19

y = CXO , z = DXO ,

где A [ × ] – матрица объекта; B [ × ] – вектор входа; C[ × ] – матрица выхода,

O n n O n 1 r n

y, z - измеряемая и регулируемая переменные.

Для первого варианта AO , BO , C , с учетом введенных на рис. 2

обозначений переменных состояния, следует определить как:

 

 

1

 

 

 

 

 

 

 

 

 

 

 

0

0

 

 

1

 

 

T1

 

 

 

1

 

 

T

 

A =

1

 

0 ;B =

 

0

;C = [0 0 1].

 

 

 

 

 

 

 

 

 

 

 

1

 

O

 

 

 

 

 

 

 

 

O

 

 

 

T2

 

T2

 

 

 

 

 

 

 

 

 

 

0

 

k

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В числовом виде, адаптированном для ввода в командной области Matlab, матрицы приведены ниже:

(здесь и далее текст курсивом вводится в командном окне Matlab)

A=[

-1/0.01

 

0

0;

 

1/0.005

-1/0.005

0;

 

0

 

10

0]

C=[0

0 1]

 

 

 

B=[1/0.01;

0;

0]

 

Для расчета коэффициентов наблюдателя требуется задаться быстродействием эталонной модели в 4 раза большим, чем ω0 :

w0=(6/0.12)*4

Далее задается указанный преподавателем полином, вычисляются его корни и сами коэффициенты наблюдателя:

polinom=[1 2*w0 2*w0^2 w0^3] p=(roots(polinom))' L=place(A',C',p)

Результаты вычислений для первого варианта:

L = [1500 3000 100]T .

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]