Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Пакеты расширения MATLAB. Control System Toolbox и Robust Control Toolbox
.pdf
Глава 5. Связь Control System и Robust Control Toolboxes с Simulink 201
Ðèñ. 5.1. Модель регулирования скорости при всех
измеряемых состояниях
ется первой фазовой координатой, а не 4-й, как в (2.38). УП
имеет следующий вид:
J1 = 21.5; J2 = 7;Cd = 243;
A = [0 -1/J1 0; Cd 0 -Cd; 0 1/J2 0];
B = [1/J1; 0; 0];
C = eye(3);
D = zeros(3,1)
ag = [0 -1 0 0; 0 0 -1/J1 0; 0 Cd 0 -Cd;0 0 1/J2 0];
bg = [0; 1/J1; 0; 0];
p = [-5+5*i, -5-5*i, -9, -10];
K = acker(ag, bg, p);
save ( 'two_mass')
sim ( 'two_mass')
t = SD(:,1);
plot(t, SD(:,2), 'k-', t, SD(:,3), 'k --')
grid (Ï. 5.1)
После расчета Ê рабочая область запоминается в файле
«two_mass.mat», это имя внесено в окно Callbacks модели Simulink,
как это описывалось выше, что позволяет при следующих сеансах
работы с моделью УП не использовать. Затем выполняется моделирование, при котором скорости запоминаются в рабочей области под именем SD, а после окончания моделирования строятся
графики переходных процессов, приведенные на рис. 5.2. Конечно, для наблюдения за процессами можно непосредственно использовать осциллограф «Speed».
Теперь усложним задачу, введя в модель наблюдатель. Его
уравнение имеет вид (2.40), т.е. он имеет два входа: u è y. Для моделирования наблюдателя также используем блок State-Space, обозначенный Est. Блок Plant имеет теперь один выход: измеряемую
скорость двигателя. Блок Est имеет 4 выхода: оценку скорости

202 Глава 5. Связь Control System и Robust Control Toolboxes с Simulink
Ðèñ. 5.2. Переходные процессы скоростей двигателя и механизма
ye=ωdeи оценку трех фазовых координат, для выделения которых
служит селектор Sel2 (рис. 5.3). УП имеет вид:
J1 = 21.5; J2 = 7; Cd = 243;
A = [0 -1/J1 0;Cd 0 -Cd; 0 1/J2 0];
B = [1/J1; 0; 0];
C=[1 0 0];
D = zeros(1,1)
ag = [0 -1 0 0; 0 0 -1/J1 0; 0 Cd 0 -Cd; 0 0 1/J2 0];
bg = [0; 1/J1; 0; 0];
p = [-5+5*i, -5-5*i, -9, -10];
K = acker(ag, bg, p);
pe = 2*[-5+5*i, -5-5*i, -9]
L = place(A', C', pe)'
[Ae, Be, Ce, De] = estim(A, B, C, D, L, [1], [1]);
save( 'two_mass_observ')
sim( 'two_mass_observ') (Ï. 5.2)
Переходные процессы имеют практически тот же вид, что и
показанные на рис. 5.2 и здесь не приводятся. Если сравнить приведенную программу с программой (П. 2.7), решающей ту же задачу, то можно видеть, что использование Control System Toolbox
совместно с Simulink значительно уменьшает число команд, требующихся для описания соединений систем.

Глава 5. Связь Control System и Robust Control Toolboxes с Simulink 203
Ðèñ. 5.3. Модель регулирования скорости
при применении наблюдателя
В качестве дальнейшего примера рассмотрим автоматическую
систему поддержания заданной высоты полета самолета (автопилот высоты). Движение самолета в стационарном режиме полета
описывается уравнением 5-го порядка с фазовыми координатами
u — скорость самолета в направлении продольной оси фюзеляжа,
w — скорость самолета в направлении оси, перпендикулярной к
фюзеляжу и направленной вниз, q — скорость изменения угла
тангажа, θ — угол тангажа, h — высота полета. Управляющее воздействие — угол отклонения руля высоты δå. Измеряемыми координатами являются последние три: высота полета измеряется барометрическим высотомером, скорость изменения угла тангажа
гироскопом и угол тангажа — авиагоризонтом. Для моделирования воспользуемся параметрами самолета Боинг 747, летящего со
скоростью 0.8 скорости звука, на высоте 7000 м при полетном весе
около 300 т, приведенными в [Л. 12]. В уравнениях в качестве линейной меры принят фут. Для выбора параметров регулятора
(матрицы усиления Ê с 6-ю входами и одним выходом) воспользуемся методом размещения полюсов. Схема модели Simulink приведена на рис. 5.4 (она получила имя «pilot4»). В общем, она аналогична приведенной на рис. 5.3, отличаются размерности системы и
наблюдателя. Выход наблюдателя имеет размер 8, причем первые
три — это оценки его входов, а остальные — оценки фазовых координат. Усилитель У преобразовывает рад/град. УП имеет вид:
A =[-0.00643 0.0263 0 -32.2 0;
-0.0941 -0.624 820 0 0;
-0.000222 -0.00153 -0.668 0 0;
00100;0-108300];

204 Глава 5. Связь Control System и Robust Control Toolboxes с Simulink
Ðèñ. 5.4. Модель регулирования высоты полета
B = [0; -32.7; -2.08; 0; 0];
C=[00100;00010;00001];
D = zeros(3,1);
A_aug = [zeros(1,5) -1; zeros(5,1) A];
B_aug = [0; B];
p = 0.9*[ -0.005, -0.15, -1+1.5*i, -1-1.5*i, -2.2+3*i, -2.2-3*i];
K = place(A_aug, B_aug, p);
pe = 2*[-0.15, -1, -1.5, -2.2+3*i, -2.2-3*i];
L=place(A', C', pe)';
[Ae,Be,Ce,De] = estim(A, B, C, D, L, [1 2 3], [1]);
se = eig(Ae)
save('pilot4')
sim('pilot4')
t = SD1(:,1);
plot(t, SD1(:,2), 'k-')
grid
figure(2)
t = SD(:, 1);
plot(t, SD(:,2), 'k-' ,t, SD(:,3), 'k --')
grid (Ï. 5.3)
Здесь матрицы системы A è B расширены до матриц A_aug è
B_aug с тем, чтобы учесть введение дополнительной перемен-
ной — выхода интегратора (dx
/dt =−h). Поскольку расширенная
1
система имеет 6-й порядок, то принято две пары комплексно-сопряженных полюсов и два простых вещественных полюса. На
рис. 5.5 показан процесс отработки задания изменения высоты в
100 футов, а на рис. 5.6 — процессы изменения управляющего
угла руля высоты и угла тангажа.

Глава 5. Связь Control System и Robust Control Toolboxes с Simulink 205
Ðèñ. 5.5. Переходный процесс изменения высоты полета
Ðèñ. 5.6. Изменения углов руля высоты и тангажа

206 Глава 5. Связь Control System и Robust Control Toolboxes с Simulink
В приведенных задачах использовались обычные блоки
Simulink. В то же время в систему Simulink включен специальный
блок LTI System, который может реализовать любую модель (систему), совместимую с Control System Toolbox (кроме FRD). При
использовании TF èëè ZPK моделей они автоматически преобразовываются в SS модель. Для задания функции конкретному блоку
нужно открыть окно его настройки двойным щелчком левой клавишей по изображению блока и в строке «LTI system variable» ввести название системы, которая к этому времени должна уже находиться в рабочей области, будучи сформированной или в командном окне, либо в управляющей программе. Можно также команду
создания системы ввести непосредственно в указанную строку;
при этом все числовые значения также должны быть указаны в
этой строке или же при использовании буквенных обозначений
для матриц, векторов, скалярных величин их численные значения
должны уже находиться в рабочей области. Для систем типа SS
можно в строке «Initial states» указать начальные значения при
расчете переходных процессов.
Рассмотрим пример. Пусть в задаче рис. 5.3, программа
(П. 5.2) объект подвергается действию неконтролируемых воздействий w, а выходной сигнал — скорость двигателя ω
— измеряет-
d
ся с помехой v, в связи с чем вместо детерминированного наблюдателя применен фильтр Калмана. Эта задача аналогична рассмотренной в разделе 2.2.6, программа (П. 2.10). Там же приведены
уравнения объекта. Схема задачи в системе Simulink, получившей
название «two_mass_LT» и реализованной с помощью 5 блоков
Ðèñ. 5.7. Модель регулирования скорости
с фильтром Калмана

Глава 5. Связь Control System и Robust Control Toolboxes с Simulink 207
LTI System, приведена на рис. 5.7, а управляющая программа имеет вид:
%Part1
J1 = 21.5; J2 = 7; Cd = 243; Q=1; R = 0.1; Tw = 0.2;
A = [0 -1/J1 0; Cd 0 -Cd; 0 1/J2 0];
B = [1/J1; 0; 0];
B1 = [0; 0; -1/J2];
C=[1 0 0];
plant =ss(A, [B1 B], C, 0);
%Part2
ag = [0 -1 0 0; 0 0 -1/J1 0; 0 Cd 0 -Cd; 0 0 1/J2 0];
bg = [0; 1/J1; 0; 0];
p = [-5+5*i, -5-5*i, -9, -10];
K = acker(ag, bg, p);
K= -K;
%Part3
agr = [0 -1/J1 0 0; Cd 0 -Cd 0;0 1/J2 0 -1/J2; 0 0 0 -1/Tw];
bgr = [1/J1; 0; 0; 0];
bgr2 = [0; 0; 0; 1/Tw];
cgr = [1 0 0 0];
PP = ss(agr, [bgr bgr2], cgr,0);
[kest, L, P] = kalman(PP, Q, R);
save('two_mass_LT')
%Part4
sim('two_mass_LT')
t = SD2(:,1);
plot(t, SD2(:,2))
grid
figure(2)
t = SD1(:,1);
plot(t, SD1(:,2))
grid
figure(3)
t = SD(:,1);
plot(t, SD(:,2), t, SD(:,3))
grid (Ï. 5.4)
Первая часть программы формирует объект управления, названный plant. Объект имеет два входа — по каналу возмущения и
по каналу управляющего воздействия. Если после выполнения
этой части программы ввести название plant в окно настройки
блока LTI1, то при отсутствии ошибок эта надпись появится на
изображении блока. Вторая часть программы вычисляет матрицу

208 Глава 5. Связь Control System и Robust Control Toolboxes с Simulink
усиления Ê, с чем мы уже встречались ранее. Символ К вводится в
окно настройки блока LTI4.
Третья часть программы рассчитывает расширенный фильтр
Калмана. Сначала формируется расширенный объект ÐÐ, а затем
собственно фильтр Калмана, получивший название kest. Эта часть
программы аналогична приведенной в (П. 2.10). Название kest
вводится в окно настройки LTI5. Заканчивается эта часть программы запоминанием сформированной рабочей области на диске. В окне схемы Simulink в окне опции Callback, подокно «Model
initialization function» нужно ввести: load two_mass_lt.
Последняя часть программы запускает модель и при необходимости графически изображает результаты моделирования, причем первый рис. показывает фактический сигнал скорости (в действительности, ненаблюдаемый), второй — измеренный сигнал,
искаженный помехой, и третий — фильтрованный сигнал.
На рис. 5.7 имеются еще два блока LTI, не участвующие в
программе. Блок LTI3 представляет собой интегратор. Команда
tf(1,[1 0]) набирается непосредственно в окне настройки блока и
автоматически отображается на значке блока. Блок LTI2 представляет собой формирующий фильтр — апериодическое звено с одним буквенным параметром Tw , значение которого указано в
программе. Указанная на значке блока команда набирается непосредственно в окне настройки блока и автоматически отображается на значке блока.
Áëîê kest имеет 5 выходных сигналов: 1-й — оценка скорости,
этот сигнал выделяется селектором Sel2 и служит для осуществления основной обратной связи по скорости, остальные — оценка
состояния расширенного объекта, причем для обратной связи используются сигналы 2,3и4,которые выделяются селектором
Sel1.
На рис. 5.8, 5.9, 5.10 показаны процессы в системе при задающем сигнале в виде прямоугольных колебаний. На рис. 5.8 показан сигнал фактической скорости, на рис. 5.9 измеренный сигнал
и на рис. 5.10 — задание и отфильтрованный сигналы.
Блоки LTI System могут использоваться совместно с средствами SISO Design Tool, которые были подробно описаны в разделе 2.2.1. В SISO Design Tool имеются две команды работы с
Simulink. Первая из них находится в меню SISO Design Tool:
Tools/Draw Simulink Diagram. Эта команда применяется для передачи уже синтезированной системы регулирования в систему
Simulink. При ее выполнении создается модель Simulink той же
структуры и с теми же передаточными функциями, что и в SISO

Глава 5. Связь Control System и Robust Control Toolboxes с Simulink 209
Ðèñ. 5.8. Фактическая скорость двигателя
Ðèñ. 5.9. Сигнал датчика скорости двигателя
Design Tool. На входе установлен блок генератора сигналов, а на
выходе осциллограф. Для того, чтобы эту модель при последующих сеансах работы можно было использовать независимо от

210 Глава 5. Связь Control System и Robust Control Toolboxes с Simulink
Ðèñ. 5.10. Отфильтрованный сигнал скорости двигателя
SISO Design Tool, нужно сформированные передаточные функции
запомнить на диске под каким-либо именем, а в модели Simulink
в окне Callbacks/Model initialization function ввести: load name.
Проиллюстрируем применение этой команды на следующем
примере. В разделе 2.2.1 был синтезирован интегральный регулятор для схемы, изображенной на рис. 1.15, схема соединений в
SISO Design Tool рис. 2.22, д. Передаточная функция объекта имеет вид (1.28). Представим себе, что процесс синтеза к данному моменту закончен, и все передаточные функции находятся в SISO
Design Tool и в рабочей области. Для имитации этой ситуации
создадим в рабочей области системы с этими передаточными
функциями, введя в командном окне:
J1 = 21.5; J2 = 7; Cd = 243;
G = tf ([J2 0 Cd], [J1*J2 0 (J1+J2)*Cd 0])
Ñ = tf(350,[1 0]);
F = tf(-160,1);
H = tf(1,1);
Затем введем команду
sisotool
и в окне SISO Design Tool выберем нужную схему соединений, с
помощью меню File/Import/Import from Workspace вызовем окно
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
