section 3 p 2

advertisement
СЕКЦИЯ 3.
Проектирование систем автоматического
управления и регулирования
Часть 2.
Председатель:
д. ф.-м. н., профессор Е. И. Веремей
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Оглавление
Кошелев П. А., Парамонов С. В., Пшенкин С. Н.
АВТОМАТИЗИРОВАННОЕ ОПТИМАЛЬНОЕ ПРОЕКТИРОВАНИЕ
СИСТЕМЫ УПРАВЛЕНИЯ ИСТОЧНИКОМ ПИТАНИЯ ДЛЯ
ПЛАЗМЕННОЙ РЕЗКИ В ПРОГРАММАХ НА ЯЗЫКЕ MATLAB ......... 988
Крыжановская Ю. А.
СИНТЕЗ МОДАЛЬНОГО РЕГУЛЯТОРА ДЛЯ ДИСКРЕТНЫХ
СИСТЕМ УПРАВЛЕНИЯ ............................................................................ 1000
Куливец С. Г.
МОДЕЛИРОВАНИЕ ПРОБЛЕМЫ РЕГИОНАЛЬНОЙ ЭКОНОМИКИ
СРЕДСТВАМИ ТЕОРИИ НЕЧЕТКИХ МНОЖЕСТВ .............................. 1006
Кучерюк В. И., Кузяков О. Н., Дубатовка У. В.
МОДЕЛИРОВАНИЕ ПРЕДЕЛЬНЫХ СОСТОЯНИЙ КОНСТРУКЦИЙ С
ИСПОЛЬЗОВАНИЕМ КОМБИНИРОВАНИЯ МЕТОДОВ ..................... 1013
Ледовский А. Д., Лобанов К. С., Лычагин Ю. В., Максютин М. М.,
Родин Б. П., Яковенко А. Н., Яковенко Н. Г.
СРАВНИТЕЛЬНЫЙ АНАЛИЗ МЕТОДОВ МОДЕЛИРОВАНИЯ
ДИНАМИЧЕСКОЙ СИСТЕМЫ УПРАВЛЕНИЯ С СУЩЕСТВЕННО
ПЕРЕМЕННЫМИ ПАРАМЕТРАМИ ......................................................... 1017
Ледовский А. Д., Лычагин Ю. В., Яковенко Н. Г.,
Нгуен Ван Лам, Полницкий Д. А.
ИСПОЛЬЗОВАНИЕ СРЕДЫ MATLAB ПРИ ЛОКАЛИЗАЦИИ
ИСТОЧНИКОВ СТОХАСТИЧНОСТИ В СТАЦИОНАРНЫХ
УРАВНЕНИЯХ ПРИ ВЫЧИСЛЕНИИ МОМЕНТОВ ПЕРЕМЕННЫХ
СОСТОЯНИЙ ................................................................................................ 1030
Миркин Е. Л.
АДАПТИВНОЕ УПРАВЛЕНИЕ НЕЛИНЕЙНЫМ ОБЪЕКТОМ С
ВХОДНЫМ ЗАПАЗДЫВАНИЕМ .............................................................. 1048
Мироновский Л. А.
КОНТУРНОЕ ПРЕДСТАВЛЕНИЕ ЛИНЕЙНЫХ СИСТЕМ
УПРАВЛЕНИЯ.............................................................................................. 1056
Михайлов А. Ю., Головных И. М., Лагерев Р. Ю.
РОБАСТНОЕ ВОССТАНОВЛЕНИЕМ МАТРИЦ
КОРРЕСПОНДЕНЦИЙ С ИСПОЛЬЗОВАНИЕМ БИБЛИОТЕКИ
OPTIMIZATION TOOLBOX ........................................................................ 1063
Пакшин П. В., Митрофанов И. Н.
ПРИМЕНЕНИЕ SEDUMI ИНТЕРФЕЙСА К РЕШЕНИЮ ЗАДАЧ
РОБАСТНОГО УПРАВЛЕНИЯ С ОБРАТНОЙ СВЯЗЬЮ ПО
ВЫХОДУ........................................................................................................ 1074
Пискунов А. Г., Bauer S. M.
РАЗРАБОТКА УПРАВЛЕНИЯ ДВС АВТОМОБИЛЯ СО СТРУКТУРОЙ
КРУТЯЩЕГО МОМЕНТА........................................................................... 1090
986
Секция 3. Проектирование систем автоматического управления и регулирования
Полницкий Д. А.
ОПРЕДЕЛЕНИЕ ДИСПЕРСИЙ СОБСТВЕННЫХ ЧИСЕЛ МАТРИЦЫ
СТОХАСТИЧЕСКИХ ЭЛЕМЕНТОВ С ПОМОЩЬЮ ПАКЕТА
MATLAB ........................................................................................................ 1104
Поляков К. Ю., Розенвассер Е. Н.
СИНТЕЗ ОПТИМАЛЬНЫХ ЦИФРОВЫХ СИСТЕМ УПРАВЛЕНИЯ С
ПОМОЩЬЮ ПАКЕТА DIRECTSDM......................................................... 1116
Федюков А. А.
СИНТЕЗ ОПТИМАЛЬНОГО ГАШЕНИЯ КОЛЕБАНИЙ
ДВУХМАССОВОЙ СИСТЕМЫ В ПАКЕТЕ MATLAB........................... 1146
Хлебалин Н. А.
РАЗРАБОТКА MATLAB-ВЕРСИИ КОМПЛЕКСА ПРОГРАММ
«АНАЛИЗ И СИНТЕЗ ИНТЕРВАЛЬНЫХ АВТОМАТИЧЕСКИХ
СИСТЕМ» ...................................................................................................... 1156
Чайковский М. М., Курдюков А. П., Тимин В. Н.
ПОСТРОЕНИЕ H∞ -СУБОПТИМАЛЬНОГО РЕГУЛЯТОРА ДЛЯ
УПРАВЛЕНИЯ САМОЛЕТОМ НА РЕЖИМЕ ПОСАДКИ С ПОМОЩЬЮ
ПАКЕТА LMI CONTROL TOOLBOX ....................................................... 1191
Честнов В. Н., Собчинский А. В., Алексеева Н. В.
ПАКЕТ ПРОГРАММ ДЛЯ СИНТЕЗА РЕГУЛЯТОРА,
ОБЕСПЕЧИВАЮЩЕГО ЗАДАННЫЙ РАДИУС ЗАПАСОВ
УСТОЙЧИВОСТИ ........................................................................................ 1207
Жуков Ю. А.
ПАКЕТ ПРОГРАММ СИНТЕЗА И АНАЛИЗА СИСТЕМ
УПРАВЛЕНИЯ.............................................................................................. 1216
987
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
УДК 62-50.001.8:519.68
АВТОМАТИЗИРОВАННОЕ ОПТИМАЛЬНОЕ
ПРОЕКТИРОВАНИЕ СИСТЕМЫ УПРАВЛЕНИЯ
ИСТОЧНИКОМ ПИТАНИЯ ДЛЯ ПЛАЗМЕННОЙ РЕЗКИ В
ПРОГРАММАХ НА ЯЗЫКЕ MATLAB
Кошелев П. А., Парамонов С. В., Пшенкин С. Н.
Санкт-Петербургский государственный электротехнический университетСПбГЭТУ (ЛЭТИ), Санкт-Петербург,
e-mail:petr_k@lens.spb.ru
Требования к системе питания установки плазменной резки.
Наибольшей производительностью и экономичностью при резке и
прецизионном раскрое токопроводящих изделий обладает горелка на основе плавильного плазмотрона постоянного тока, в котором основная дуга
горит между активированным катодом и разрезаемым изделием (анодом).
Анодное пятно может смещаться к поверхности или в глубину под
действием температуры плазменного факела, зависящей от электрического
режима.
На распределение температуры существенно влияет состав газовой
смеси, интенсивность потока газа, материал изделия, геометрическая длина дуги, скорость перемещения рабочего органа и т. п.
С одной стороны конфигурация реза зависит от многих факторов и
достоверно формализовать эту зависимость вряд ли возможно. С другой
стороны предоставляется большой выбор средств управления формой реза, в частности, получения вертикальных кромок без образования наплавленных валиков (облоя), требующих дополнительной механической обработки.
Для достижения высокой производительности и качества процесса,
хорошей его управляемости необходим источник питания с широкими
возможностями деформации статических характеристик.
К динамическим свойствам источника также предъявляются повышенные требования.
Последнее обстоятельство связано с высокими скоростями истечения плазменной струи, малыми временами ионизации и рекомбинации, необходимостью модуляции тока при раскрое изделий сложной формы.
Исследования технологии показали, что система питания должна
иметь быстродействие, характеризующееся временами задержки реакции
на управляющий сигнал не более сотен мкс, и соответственно, полосой
пропускания около 10 кГц, обладать динамической устойчивостью, высо988
Секция 3. Проектирование систем автоматического управления и регулирования
кой стабильностью выбранного технологического тока, легкостью его настройки, допустимым перерегулированием в переходных процессах.
Стабильный, управляемый и быстродействующий источник питания
(ИП) одновременно явился бы инструментом для экспериментального исследования и оптимизации технологических режимов резки, включая импульсное управление параметрами дуги. Проектирование современного
ИП и его системы управления осуществимо с применением математических моделей (ММ).
Программный продукт MATLAB позволяет создавать такие ММ, что
подтверждено практическими разработками и их внедрением.
Структура системы питания
Силовая часть современного ИП обычно включает последовательно
соединенные неуправляемый выпрямитель, питающийся от промышленной сети переменного тока, сетевой фильтр, автономный инвертор, высокочастотный трансформатор, нагруженный на выходной выпрямитель, выходной фильтр и технологический узел.
Управляемым звеном силовой части является транзисторный инвертор с широтно-импульсной модуляцией (ШИМ).
Основным звеном аналоговой части системы управления является
канал стабилизации тока дуги.
Рис. 1. Динамические звенья системы питания.
На рис. 1 представлена совокупность динамических звеньев, образующих замкнутую систему питания в режиме стабилизации технологического тока.
Параметры элементов аналоговой части (без схемы коррекции) выбраны по результатам приближенных предварительных расчетов.
989
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
На рис. 1 DA1 — усилитель сигнала измерительного шунта, DA2 —
аналоговая схема сравнения сигнала, пропорционального току, с сигналом
задания (уставки), Ld — сглаживающая индуктивность, Rd — активная составляющая сопротивления нагрузки (дуги плазмотрона).
Напряжение рассогласования (потенциал узла 5 на рис.1) используется для формирования закона ШИМ.
Схема по рис. 1 и соответствующий направленный граф [1] (рис. 2)
содержат 5 узлов.
Предполагается линейность всех элементов.
Рис. 2
Анализ динамической системы стабилизации тока
Матрица частных передач графа G и вектор задающих передач J :
1
2
3
4
5
− a15
1
1
0
0
0
1 2 3 4 5
2
0
1 − a 23
0
0
J=
G=
1 0 0 0 0
− a34
3 −K K
1
0
4
0
5 − a51
0
0
− a 43
0
1
K
− a 45
1
Под передачей понимается отношение операторной проводимости
между узлами к весу узла, к которому передача направлена; вес узла —
сумма проводимостей, подключенных к данному узлу.
R 0 = 1/ g 0; R1 = 1/ g1; R 2 = 1/ g 2; R3 = 1/ g 3; R 4 = 1/ g 4;
R5 = 1/ g 5; R 6 = 1/ g 6; R 7 = 1/ g 7; R8 = 1/ g 8.
Связь между активными сопротивлениями и проводимостями определяют соотношения:
990
Секция 3. Проектирование систем автоматического управления и регулирования
Передаточная функция (ПФ) цепи прямой передачи W 1( p ) между
входом и узлом № 5 выведена в пакете MAPLE V6 в символьной форме.
В приведенном ниже фрагменте программы содержатся операторные
изображения выражений для коэффициентов передач между узлами —
элементов матрицы G .
В результате работы программы решения матричного уравнения
W = G −1 * J получен вектор ПФ от входа к остальным узлам схемы, в частности, пятый элемент вектора W и есть искомая ПФ W 1( p ) .
> grc1:=p*C3/(1+p*C3*g6):
> grc2:=p*C2/(1+p*C2*g4):
> a15:=grc2/(grc2+g1+g8):
> a23:=(p*C1+g2)/(p*C1+g2+g0):
> a34:=(g3+grc1)/(g3+grc1+p*C1+g2):
> a43:=(g3+grc1)/(g3+grc1+g7+p*C4):
> a45:=(g7+p*C4)/(g7+p*C4+g3+grc1):
> a51:=grc2/(grc2+g7+p*C4):
Формат результирующих выражений согласован с синтаксисом пакета MATLAB, а именно, они представляют собой векторы коэффициентов
полиномов числителя и знаменателя W 1( p ) , расположенных в порядке
убывания степени оператора p Лапласа.
Привести эти выражения в тексте не представляется целесообразным
по причине их громоздкости (более 1000 символов).
Цепь обратной связи образована инверторно-выпрямительным блоком (ИВБ) с ПФ W 2( p ) , включающим инвертор с ШИМ, трансформатор,
выходной выпрямитель, сглаживающий фильтр и нагрузку.
Эта цепь в общем случае может быть представлена последовательным соединением звеньев постоянного запаздывания (ЗПЗ) на период дискретности ШИМ и апериодического.
Аппроксимация ПФ ЗПЗ дробью Паде 1-го порядка
K bp (1 − p * T )
ni 2
W 2( p) =
,
=
(1 + p * T )(1 + p * Ld / Rd ) di 2
где
U xx * Rsh
Kbp =
,
U upr ( Rsh + Rd )
U xx — напряжение холостого хода, Rsh — сопротивление измерительного
шунта, U upr — напряжение управления, T— время запаздывания, Ld — индуктивность фильтра.
В данном случае учитывать запаздывание нет необходимости по
причине существенного различия (на несколько порядков) значений Т и
эквивалентных постоянных времени элементов, осуществляющих фильтрацию сигналов.
991
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
В соответствии с правилом замыкания окончательное выражение ПФ
замкнутой системы без учета корректирующего звена:
nee
ni1* di 2
We ( p ) =
=
.
de di1* di 2 + ni1* ni 2
Программа в среде MATLAB, реализующая анализ замкнутой системы, снабжена комментариями, поясняющими назначение основных операторов.
% Начало программы
clg,clear,hold off
R0=1000; R2=1e4; R1=1000; R6=1000; R3=5000; R7=22e5; R8=1000;
R4=22e5; C1=1e-10; C4=5e-9; C3=1e-9; C2=1e-9;
% Числитель ni1и знаменатель di1 ПФ
% Выражения не приводятся по причине громоздкости
_____________________________
% Передаточная функция канала прямой передачи W1(p)
ni1=[ni18,ni17,ni16,ni15,ni14,ni13,ni12,ni11,ni10];
di1=[di19,di18,di17,di16,di15,di14,di13,di12,di11,di10];
t=0:2e-5:2e-3; % Ось времени
% Коэффициент передачи ИВБ
Ld=3e-4; %Индуктивность дросселя фильтра, Гн
Rd=1.1;
%Активное сопротивление нагрузки, Ом
% ПФ замыкающей цепи (датчик тока и нагрузка)
Uxx=200; % Напряжение х.х., В
Uupr=15; % Управляющий сигнал (макс. значение, В)
Rsh=75e-3/100; % Сопротивление шунта, Ом
Kbp=Uxx/Uupr*Rsh/(Rsh+Rd); % К-т передачи ИВБ
ni2=Kbp;
% Числитель ПФ замыкающей цепи
di2=[Ld/Rd 1]; % знаменатель ПФ замыкающей цепи
% Общая ПФ We(p) замкнутой системы
nee=conv(ni1,di2); % числитель We(p)
de1=conv(di1,di2);
de2=conv(ni1,ni2);
de=sumpoly(de1,de2,0); % знаменатель We(p)
% Уставка в о.е. (максимальный ток 100 А)
% Воздействие в виде ступени
ns=0.5;
ds=[1 0];
dee=conv(ds,de);
nee=conv(nee,ns);
% Реакция на ступень (обратное преобразование Лапласа)
[ke,pe,re]=residue(nee,dee);
lpe=length(pe); n3=1; h3=0;
while n3<=lpe;
h33=ke(n3)*exp(pe(n3)*t);
h3=h3+h33;
n3=n3+1;
kt=1/Rd;
end
992
Секция 3. Проектирование систем автоматического управления и регулирования
%График переходной характеристики
plot(t,kt*h3),grid,title('Id,A'),xlabel('t,c')
w=logspace(0,8,500); % Ось частоты
% АЧХ, ФЧХ
[ma,ph]=bode(nee,de,w);
subplot(211),semilogx(w,ma),grid
semilogx(w,ph),grid
% Конец программы
В программе использована функция sumpoly, не входящая в стандартное математическое обеспечение системы MATLAB. Ее текст приводится ниже.
function c=sumpoly(de1,de2,kl)
% Вычисление суммы полиномов произвольных размеров и форматов.
% Если de1, de2 - векторы (строки или столбцы) коэффициентов полино% мов,
% расположенных в порядке убывания показателя степени переменной,
% то с - поэлементная сумма коэффициентов (вектор-строка, если kl=0 или
% вектор-столбец, если kl=1). При несовпадении
% размеров недостающие старшие члены заменяются нулями.
% П.А. Кошелев. 2002 г.
nn=nargin;
error(nargchk(3,3,nn));
[r1,c1]=size(de1);
[r2,c2]=size(de2);
if r1>c1, de1=de1'; end
if r2>c1, de2=de2'; end
lde1=length(de1); lde2=length(de2);
ff=1; dd=lde1-lde2;
if dd>0,
while ff<=abs(dd); de2=[0,de2];
ff=ff+1;
end
end
if dd<0,
while ff<=abs(dd); de1=[0,de1];
ff=ff+1;
end
end
if kl==0;
c=de1+de2; end
if kl==1;
c=(de1+de2)'; end
if kl~=0 & kl~=1; disp('sintax error'); end
% Конец файла
993
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Рис. 3. Переходные характеристики по току.
Для наглядности результаты анализа представлялись в матричной
форме путем организации соответствующих циклов на основе приведенного выше блока программы в системе MATLAB, затем матрицы изображались в виде трехмерных графиков.
На рис. 3 изображена матрица, строки которой — векторы времени,
столбцы — значения переходных характеристик замкнутой системы при
изменении емкости конденсатора С4 по рис. 1 от 1000 до 9000 пФ.
На рис. 4 представлена переходная характеристика системы: процесс установления тока на заданном уровне (50 А) и значении С4=5000 пФ.
На рис. 5 — АЧХ и ФЧХ для этого случая.
Рис. 4.
994
Секция 3. Проектирование систем автоматического управления и регулирования
Рис. 5.
Коррекция динамики
Проведенные численные эксперименты не позволили получить
удовлетворительное качество переходного процесса. Отмечалось либо значительное перерегулирование, связанное с немонотонностью АЧХ, либо
низкое быстродействие системы питания.
Поскольку система содержит значительное количество динамических звеньев, порядок ее ПФ высок (равен 11), принято целесообразным
применить для ее синтеза поисковый метод оптимизации.
С целью уменьшения колебательности в качестве схемы коррекции
(СК) в цепи прямой передачи (рис. 1) использован заградительный фильтр
в виде двойного Т- образного моста (рис. 6).
Рис. 6
995
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Матрица передач G, вектор задающих воздействий J для СК и их
элементы:
1
a12 a13 a14
G=
0 a 24
a 21 1
a31 0
1 a34
a 41 a 42 a 43 1
J= 1 0 0 0
Веса узлов: M 1 = p * Cm + 1 / Rb + 1 /( 2 Rm ) + 1 / Ri ,
M 2 = 2 * p * Cm + 1 / Rm, M 3 = 1 / Rm + 2 * p * Cm,
M 4 = 1 / Rb + p * Cm + 1 /( 2 * Rm) + 1 / Rc.
Элементы матрицы G: a12 = − p * Cm / M 1, a13 = −1 /( 2 * Rm * M 1),
a14 = −1 /( Rb * M 1), a 21 = − p * Cm / M 2, a 24 = − p * Cm / M 2,
a34 = −1 /( 2 * Rm * M 3), a 41 = −1 /( Rb * M 4),
a 42 = − p * Cm / M 4, a 43 = −1 /( 2 * Rm * M 4).
ni1
:
Передаточная функция СК WФ ( p ) =
di1
ni12=4*C^2*R^2*Rb*Rc;
ni11=8*C*R^2*Rc;
ni10=Rc*(4*R+Rb);
di12=4*C^2*R*Rb*(R*(Rc+Ri)+2*Rc*Ri);
di11=4*C*(2*R^2*(Rb+Rc+Ri)+2*R*(Rb*(Rc+Ri)+2*Rc*Ri)+Rb*Rc*Ri);
di10=(4*R*(Rb+Rc+Ri)+Rb*(Rc+Ri));
ni1=[ni12 ni11 ni10];
di1=[di12 di11 di10];
Рис. 7
996
Секция 3. Проектирование систем автоматического управления и регулирования
АЧХ и ФЧХ СК показаны на рис. 7. Значения емкостей и активных
сопротивлений определены предварительно на основе приближенных расчетов.
ni1
введена в общую передаточПередаточная функция СК WФ ( p ) =
di1
ную функцию замкнутой ССТ, после чего расчет параметров этой системы
проводился с использованием поискового метода оптимизации Нелдера —
Мида, реализуемый в системе MATLAB программой fmins минимизации
целевой функции (ЦФ) ряда переменных.
Критерием для построения ЦФ являлись минимальное перерегулирование и максимальное быстродействие ССТ, т. е. максимальная прямоугольность переходной характеристики, устанавливающейся при заданном
значении тока.
Принят наиболее простой и информативный вид ЦФ:
Yopt = (sum((abs( y ) − abs(Y 0))))2 ,
где y — вектор значений текущей переходной характеристики, Y0 — вектор того же размера постоянных значений, соответствующих заданному
току.
Выбор переменных начального плана, значения которых оптимизируются, проведен на основе ряда обзоров рельефа ЦФ, что позволило выявить существенно влияющие переменные и диапазон их вариаций.
В качестве примера на рис. 8 показана поверхность значений ЦФ в
зависимости от 2 переменных (координат): емкостей конденсаторов С4 по
рис. 1 и Сm по рис. 6.
Рис. 8. Поверхность значений целевой функции.
997
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Выявлено, что существенное влияние на ЦФ оказывают значения
емкостей конденсаторов С4, Сm по рис. 1, сопротивлений резисторов Rm,
Ri, Rb, Rc по рис. 6.
Результаты оптимизации.
Оптимизация проводилась по 6 переменным.
Полученные оптимальные значения сопротивлений резисторов и емкостей конденсаторов скорректированы в соответствии со стандартами:
Rm=1800 Ом; Cm=6800 пФ; Ri=1000 Ом; Rb=10000 Ом; Rc=10000
Ом; C4=8200 пФ.
На рис. 9 показана переходная характеристика замкнутой системы с
СК.
Все динамические параметры удовлетворительны.
На рис. 10 — АЧХ и ФЧХ оптимизированной замкнутой системы
стабилизации тока.
Рис. 9. Переходная характеристика по току оптимизированной системы.
998
Секция 3. Проектирование систем автоматического управления и регулирования
Рис. 10
Выводы
С помощью программного пакета MATLAB спроектирован источник
питания дуги плазмотрона с оптимальными динамическими характеристиками.
В процессе подготовки данных применен символьный математический пакет Maple.
ИП изготовлены и используются на практике в промышленных установках плазменного раскроя листового металла.
Литература
1. Сигорский В. П. Матрицы и графы в электронике.— М.: Энергия,
1968.— 176 с.
2. Теория автоматического управления / Под ред. А. В. Нетушила.— М.:
Высшая школа, 1976.— 400 с.
999
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
УДК 519.7
СИНТЕЗ МОДАЛЬНОГО РЕГУЛЯТОРА ДЛЯ
ДИСКРЕТНЫХ СИСТЕМ УПРАВЛЕНИЯ
Крыжановская Ю. А.
Воронежский Государственный Университет, Воронеж,
e-mail: jak@mail.ru
Введение
Широкое развитие цифровых управляющих устройств, обладающих
большими возможностями, требует разработки новых, более эффективных
алгоритмов дискретного управления технологическими объектами.
Метод синтеза линейных систем автоматического управления на основе метода пространства состояний уже получил широкое распространение и в теории автоматического управления, и при проектировании конкретных систем регулирования [1].
В [2] задача нахождения передаточной функции регулятора, обеспечивающего желаемое расположение корней характеристического уравнения замкнутой системы, решается на основе хорошо разработанного в теории регулирования метода передаточных функций. Исходя из теоретической базы [2], в [5] была решена задача разработки программного обеспечения, реализующего синтез модальных регуляторов для непрерывных
систем управления, а также системы пользовательского интерфейса. В [3]
рассматривается применение метода из [2] к системам с запаздыванием.
В статье предлагается распространение разработанного в [2] метода
на дискретные системы управления.
Постановка задачи
Поставим задачу разработки методики расчета модального регулятора, обеспечивающую получение таких параметров настройки регулятора,
которые дадут выбранное расположение корней характеристического
уравнения замкнутой системы.
Рассмотрим замкнутую дискретную систему автоматического управления (рис. 1), где Wobj(z) — передаточная функция объекта управления,
Wr(z) — передаточная функция регулятора. Зададим передаточную функцию замкнутой системы Wsys(z) и определим передаточную функцию регулятора, обеспечивающего желаемое расположение корней характеристического уравнения замкнутой системы следующим образом:
Пусть передаточная функция объекта задана отношением двух полиномов P1 (z) и P2(z):
1000
Секция 3. Проектирование систем автоматического управления и регулирования
P1 ( z )
,
(1)
P2 ( z )
где P1 (z) — полином m-й степени (m≤n), P2 (z) — полином n-й степени.
Передаточную функцию замкнутой системы зададим в виде отношения полиномов Q1(z) и Q2 (z):
Q ( z)
Wsys ( z ) = 1
,
(2)
Q2 ( z )
где Q1(z) — полином степени l (l≤ k), Q2(z) — полином степени k (k≥2n).
Полином Q2(z) считается желаемым полиномом, т. е. таким полиномом, корни которого расположены желаемым образом на комплексной
плоскости.
Введем в рассмотрение полиномы N1(z), L1(z), Nost(z) и Lost(z), которые
представляют собой частное от деления полинома [Q2(z) - Q1(z)] на полином P2(z), полинома Q1(z) на полином P1(z) и соответствующие остатки от
деления, т. е.:
( Q2 ( z ) − Q1 ( z ) ) = N ( z ) + N ost ( z )
(3)
1
P2 ( z )
P2 ( z )
L ( z)
Q1 ( z )
= L1 ( z ) + ost
(4)
P1 ( z )
P1 ( z )
Wobj ( z ) =
u
Wobj(z)
y
Wsys(z)
Рис. 1.
Описание метода
Для дискретной системы управления будет справедливо следующее:
Если [Q2(p)- Q1(p)] и Q1(p) делятся на полиномы P2(p) и P1(p) без остатка, то существует передаточная функция регулятора, обеспечивающая
желаемое расположение корней характеристического уравнения замкнутой
системы. При этом передаточная функция регулятора будет иметь вид:
L ( z)
Wr ( z ) = 1
.
(5)
N1 ( z )
Рассмотрим полиномы Nost(z) и Lost(z). Полином Nost(z) является полиномом степени (n–1), а Lost(z) — полиномом степени (m–1), т. е.:
1001
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
n −1
N ost ( z ) = ∑ ri z
i =0
( n −1)−i
m −1
, Lost ( z ) = ∑ ri z (
m −1)− j
,
(6)
i =0
где коэффициенты ri и qj являются линейными комбинациями коэффициентов Q2(p) и Q1(p) при заданных коэффициентах полиномов P2(p) и P1(p).
Равенства Nost(z)=0 и Lost(z)=0, обеспечивающие делимость полиномов
[Q2(p)- Q1(p)] и Q1(p) на полиномы P2(p) и P1(p), будут выполнены, если
выполнено:
ri = 0 (i=1,2, …n-1), qj = 0 (j=1,2, …m-1).
(7)
Равенства (7) задают систему линейных алгебраических уравнений
относительно коэффициентов полиномов Q1(p) и Q2(p).
Представим систему регулирования, изображенную на рисунке, в
переменных состояния:
x ( k + 1) = Ax ( k ) + Bu ( k ) ,
(8)
y ( k ) = Cx ( k ) ,
где x(k) — n-мерный вектор состояния, y(k) — выход динамической системы, u(k) — вектор управления, A, B, C — матрицы, согласованные с этими
векторами.
Наряду с этой системой рассмотрим систему
x ( k + 1) = Ax ( k ) + B(u ( k ) + ϕ ( k ) ,
(9)
y ( k ) = Cx ( k ) ,
где ϕ(k) — внешнее возмущение, действующее на систему и удовлетворяющее разностному уравнению порядка ν. Представим линейное разностное уравнение в виде системы линейных уравнений:
θ ( k + 1) = M θ ( k ) .
(10)
Присоединив ее к системе (9), получим систему
x ( k + 1) = Ax ( k ) + B(u ( k ) + ϕ ( k ) ,
ϕ ( k ) = Hθ ( k ) ,
θ ( k + 1) = M θ ( k ) ,
(11)
y ( k ) = Cx ( k ) ,
где H — матрица размерности (1xν),
H=(1, 0, …, 0).
Выберем число ν так, чтобы было выполнено:
2n+ν=k.
Можно показать, что если динамическая система (8) полностью
управляема, а динамическая система (11) полностью наблюдаема, то система линейных алгебраических уравнений (7) разрешима, причем она имеет бесчисленное множество решений, а регулятор с передаточной функцией (5) всегда реализуем.
1002
Секция 3. Проектирование систем автоматического управления и регулирования
Пример
Пусть передаточная функция объекта непрерывной системы управления (рис. 2.) задана в виде:
−p +1
.
Wobj ( p ) =
p +1
Рис. 2.
Зададимся передаточной функцией замкнутой системы
d 0 p 2 + d1 p + d 2
Wsys ( p ) =
.
( p + 2) 2
Полином Q2 ( p ) = ( p + 2) 2 = p 2 + 4 p + 4 — желаемый. Полином
Q1 ( p ) = d 0 p 2 + d1 p + d 2 . Тогда получим
− d + d1 − d 0 + 1
Q2 − Q1
= [(1 − d 0 ) + (− d1 + d 2 + 3) + 2
]
P2
p +1
d + d1 + d 0
Q1
= (− d 0 p − d1 − d 0 ) + 2
].
−p +1
P1
Из условия делимости полиномов Q1 и P1, ( Q2 -Q 1) и P2 находим соотношения для коэффициентов Q1: d2+d0=0.5,
d1 = –0.5.
Передаточная функция регулятора, при которой характеристический
полином замкнутой системы равен Q2 =(p+2)2, будет равна
− d 0 p + 0.5 − d 0
Wr ( p ) =
.
(1 − d 0 ) p + (3.5 + d 0 )
Коэффициент d0 задается произвольно. Выберем, например, d0=0.3.
Тогда передаточная функция регулятора будет иметь вид:
−0.3 p + 0.2
Wr ( p ) =
0.7 p + 3.8
Для этой системы построим дискретный аналог (рис. 3.), используя
приближенное соотношение, введенное Тастином [4, 6]:
1003
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
p≈
2 z −1
*
.
h z +1
Рис. 3.
Тогда для шага дискретизации h=0,1 передаточная функция объекта
будет иметь вид:
−1.9 z + 2.1
Wobj ( z ) =
,
2.1z + 1.9
а передаточная функция регулятора:
−0.29 z + 0.31
Wr ( z ) =
.
0.89 z − 0.51
Для моделирования переходного процесса непрерывной системы и
ее дискретного аналога и сравнения результатов используем MATLAB 6.1.
Непрерывной системе соответствует переходный процесс, изображенный на рис.4, дискретной — на рис. 5.
Рис. 4.
1004
Секция 3. Проектирование систем автоматического управления и регулирования
Рис. 5.
Заключение
В настоящий момент произведена программная реализация метода
нахождения с помощью рассмотренного выше метода модальных регуляторов для дискретных систем управления, обеспечивающих желаемое расположение корней характеристического полинома, и последующее ее
включение в программный комплекс [5]. Дальнейшее расширение программного комплекса будет связано с нахождением модальных регуляторов для многосвязных систем и систем с запаздыванием (с использованием
описанного в [3] метода). Кроме того, предложенный метод распространен
на многосвязные дискретные системы
Литература
1. Кузовков Н. П. Модальное управление и наблюдающие устройства.—
М.: Машиностроение, 1976.
2. Лозгачев Г.И Синтез модальных регуляторов по передаточной функции
замкнутой системы. // АиТ.— 1995.— №5.— С.49–55.
3. Лозгачев Г.И., Тучинский С.В. Построение модального регулятора для
объекта с запаздыванием по передаточной функции замкнутой системы.
Нелинейная динамика управления.— М.: Изд-во МГУ, 2000.— С.54–61.
4. Tustin A. Automatic and manual control.— London, Butterworth, 1952.
5. Крыжановская Ю. А. Программная реализация построения модальных
регуляторов по передаточной функции системы // Докл. Межд. науч.техн. конф. «Кибернетика и технологии XXI века» (октябрь 2001).—
Воронеж, 2001.— С.12–20.
6. Изерман Р. Цифровые системы управления: Пер. с англ.— М.: Мир,
1984.
1005
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
УДК 519.6
МОДЕЛИРОВАНИЕ ПРОБЛЕМЫ РЕГИОНАЛЬНОЙ
ЭКОНОМИКИ СРЕДСТВАМИ ТЕОРИИ НЕЧЕТКИХ
МНОЖЕСТВ
Куливец С. Г.
Пермский государственный университет, Пермь,
e-mail: skulivec@yandex.ru
Занимаясь решением задач, построением математических моделей и
отысканием решений при определенных условиях, мы привыкли к тому,
что конечный ответ должен быть сформулирован четко, в форме числа,
определенной функции (закономерности), алгоритма и т. п. Но человеческий способ рассуждений, опирающийся на естественный язык, не может
быть описан в рамках традиционного математического формализма. Этому
формализму присуща однозначность интерпретации, а все, что связано с
естественным языком имеет многозначную интерпретацию. Человек способен к анализу данных, представленных нечетко (неформально) и принятию на их основе верных решений. Основоположником «новой математики» стал Л. Заде, его программа состояла в построении новой математической дисциплины, в основе которой лежала бы не классическая теория
множеств, а теория нечетких множеств. Последовательно проводя идею
нечеткости, по мнению Заде, можно построить нечеткие аналоги всех основных математических понятий и создать необходимый формальный аппарат для моделирования человеческих рассуждений и человеческого способа решения задач. Появляются многочисленные нечеткие математические модели, которые применяются во многих гуманистических системах
(системах связанных с человеком).
Цель моей работы — осмысление концепций нечеткого подхода:
разбор теоретических аспектов теории нечетких множеств, нечеткой логики и др., рассмотрение примеров нечетких моделей гуманистических систем, изучение возможности применения информационных технологий на
примере вычислительного пакета MATLAB и встроенных в него возможностей для работы с нечеткими моделями (Fuzzy Logic Toolbox).
Постановка задачи
Рассматривается задача о разделении некоторого экономического региона на торговые зоны. Формулировка проблемы основана на нечетком
подходе с использованием понятий нечеткого множества, отношения, выпуклого подмножества. Предпочтение, отдаваемое потребителями продук1006
Секция 3. Проектирование систем автоматического управления и регулирования
ции той или иной фирме-производителю, представляется в виде выпуклого
нечеткого множества. Предусмотрена возможность перекрытия торговых
зон. Устанавливается порог разделения. Построены две модели и выполнен
анализ двух реальных ситуаций. Первая из рассмотренных моделей представляет собой упрощение реальной системы и строится с целью разъяснения подхода с точки зрения теории нечетких множеств в задаче о разделении торговой зоны. В этой модели предполагается, что расхождение в расстоянии — единственный решающий фактор пространственного предпочтения потребителя в условиях рынка. Во второй модели в качестве факторов, дополнительно влияющих на принятие потребителем решения о выборе, рассматриваются социально-психологические и экономические переменные. Рассмотрим по отдельности эти модели.
Модель1 — разделение при линейной модели рынка.
В модели приняты допущения:
1) существование рынка отвечающего линейной модели;
2) произвольный характер распределения населения;
3) две конкурирующие фирмы F1 и F2 размещаются в заданных точках
α 1 и α 2 соответственно;
4) производится однородный товар одного типа;
5) цены одинаковые;
6) существует функция пространственного потребительского предпочтения, которая измеряется обратно пропорционально трудности
преодоления пути до фирмы.
Примечание. Рассматривая сделанные предположения, стоит заметить две ценные особенности:
• здесь отвергается допущение о регулярном распределении популяции;
• потребительское пространственное предпочтение вводится как
функция от трудности преодоления пути до фирмы, которая зависит от пространственного распределения популяции.
На рис. 1 приведен пример пространственного распределения. Обозначим через U число потребителей. Пусть A1 и A2 нечеткие множества,
называемые предпочтением F1 и предпочтением F2 , представляют потребительские пространственные предпочтения. Зададим их соотношениями:
(1 + k ⋅ ( x − α 1 ) 2 )−1 при k ≥ 1, x ≤ α 1 ,
(1)
µ A1 (x) = 
− k ⋅( x −α1 )2 2
≥
≥
(e
)
при
k
1,
x
α
,

1
2
µ A2 (x) = e − k ⋅(x−α 2 ) при k ≥ 1 и любых x,
(2)
1007
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
где µ Ai : U → [0, 1] — функция принадлежности, принимающая свои зна-
чения в множестве принадлежности [0, 1]; µ Ai (x) описывает степень
предпочтения фирмы F i потребителем x из U.
Рис. 1. Функции предпочтения для двух фирм с фиксированным размещением ведущих
конкурентную борьбу за рынок сбыта, описываемый линейной моделью.
Как можно видеть из рис. 1 и уравнений (1) и (2), при заданном расстоянии изменение степени принадлежности функции предпочтения
больше внутри областей наивысшей плотности населения и меньше внутри
областей меньшей плотности. Эта формулировка согласуется с наблюдениями: чем больше плотность населения — тем труднее путь потребителя
и тем короче расстояние, на которое он поедет. Таким образом, функция
принадлежности, описанная уравнениями (1) и (2), оказывается логичной
характеристикой этого типа решений потребителей о поездке. Другое важное свойство (1) и (2) состоит в том, что они описывают выпуклые нечеткие подмножества, удовлетворяющие условию:
µ Ai [λ ⋅ x1 + ( 1 − λ ) ⋅ x2 ] ≥ min[µ Ai (x1 ), µ Ai (x2 )] ,
для всех x1 и x 2 ∈ U и всех λ ∈ [0,1] .
Допущение выпуклости оправдано в том смысле, что при нем должно предполагаться монотонное увеличение степени предпочтения с
уменьшением расстояния до фирмы.
Теперь построив точное представление нечеткого понятия —
предпочтения, можно определить способ, с помощью которого рынок
можно разделить между фирмами. Поскольку нечеткие множества A1 и A2
ограничены максимальными степенями sup µ A1 (x) и sup µ A2 (x) в точках α 1
x
x
и α 2 , то их пересечение A1 ∩ A2 также ограничено выпуклым нечетким
1008
Секция 3. Проектирование систем автоматического управления и регулирования
α 2 , то их пересечение A1 ∩ A2 также ограничено выпуклым нечетким
множеством, определяемым функцией принадлежности
2
 e − k ⋅(x −α 2 ) при k ≥ 1, x ≤ γ ,
µ A1 A2 (x) =  − k ⋅( x −α )2 2
∩
1
[e
] при k ≥ 1, x ≥ γ ,
принимающей максимальное значение sup µ A A (x) в γ. Применяя теорему
1∩ 2
x
об отделимости [2], получаем, что наивысшая степень разделения торговой
зоны, равная 1- sup µ A A (x) , достигается в точке γ. В классической модели
1∩ 2
x
фирма монополизирует рынок. Однако в [4] обосновывается, что модель
сбыта с доминированием более адекватна для описания торговых зон реального мира. Из этого можно заключить, что перекрытие торговых зон
скорее общий феномен, нежели исключение из правил. Для перекрытия
торговых зон фирм F1 и F2 можно использовать понятие порога разделимости. В нашем случае порог разделения ограничен условием
l < max min[µ A1 ( x), µ A2 ( x)] = sup µ A A ( x) .
1∩ 2
x
x
Таким образом, для выбранного порога l торговая зона M i фирмы Fi
определяется нечетким множеством уровня l. Выбирая различные значения
l, можно получить различные торговые зоны. Общее правило состоит в
том, чтобы выбрать наибольшее возможное значение l, меньшее
max min[µ A1 ( x), µ A2 ( x)] :
x
{
}
M i = x µ Ai ( x) ≥ max min[µ A1 ( x), µ A2 ( x)] для всех x∈ M i .
x
Описанную здесь модель можно обобщить на рынок с m конкурирующими фирмами F1 , F2 ,..., Fm , расположенными в областях с плотностью населения α 1 ,α 2 ,...,α m соответственно. Пусть A1 , A2 ,..., Am - ограниченные выпуклые нечеткие множества, описывающие предпочтение F1 ,
предпочтение F2 , …, предпочтение Fm и определяемые функциями принадлежности µ A1 , µ A2 ,..., µ Am , которые заданы уравнениями, аналогичными
(1) и (2). Так как нечеткие множества A1 , A2 ,..., Am выпуклы и ограничены,
то нечеткие множества Ai ∩ A j i,j=1,…,m (по парное пересечение нечетких
множеств A1 , A2 ,..., Am ) будут также выпуклыми и ограниченными. Применяя упомянутую теорему об отделимости, с помощью порога разделения
l < min max min[µ Ai ( x), µ A j ( x)]
ij
x
можно определить торговые зоны M 1 , M 2 ,..., M m . При этом каждая из этих
зон представляет нечеткое множество уровня, которое определяется соотношением
1009
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
M i =  x µ Ai ( x) ≥ min max min[µ Ai ( x), µ A j ( x)] для всех x∈ M i .
ij
x


Пока единственным решающим фактором потребительского пространственного предпочтения была трудность преодоления пути до места
покупок. Цена, качество и выбор товаров, репутация фирмы, уровень обслуживания и трудность пути — все это важные характеристики для восприятия фирмы покупателем. Кроме того, при принятии решения у индивидуумов варьируются приоритеты этих характеристик. Все эти характеристики нужно объединить в рамках более общей модели.
Модель2 — общая модель разделения торговой зоны
Приняты допущения:
1) существование рынка;
2) произвольная схема расселения населения;
3) размещение n конкурирующих фирм в данных точках;
4) продукция одного качества;
5) фирмы характеризуются p признаками;
6) степени важности признаков при принятии решения о поездке варьируются между индивидуумами;
7) одна фирма предпочитается другой, если ее признаки по своей важности более близки к оценке потребителя.
Пусть X={ x1 , x 2 ,..., x n }-множество n покупателей, Y={ y1 , y 2 ,..., y p }множество p признаков фирм и Z={ z1 , z 2 ,..., z m }- множество m фирм.
Пусть Φ R : X × Y → [0,1] есть функция принадлежности бинарного
отношения R. Φ R ( x, y ) – степень важности признака у по оценке индивидуума х при определении им предпочтения фирмы. Аналогично
π : Y × Z → [0,1] есть функция принадлежности нечеткого бинарного отношения S. π S ( y, z ) = степень принадлежности или совместимости фирмы z
с признаком y. Оба эти отношения можно представить в матричной форме
y1
y2
yp
x1 Φ R ( x1 , y1 ) Φ R ( x1 , y2 ) ... Φ R ( x1 , y p ) 
x Φ R ( x2 , y1 ) Φ R ( x2 , y2 ) ... Φ R ( x2 , y p ) 
R= 2
...
...
...
...
... 

xn Φ R ( xn , y1 ) Φ R ( xn , y2 ) ... Φ R ( xn , y p ) 
1010
Секция 3. Проектирование систем автоматического управления и регулирования
z1
π S ( y1 , z1 )
S=
z2
zm
π S ( y1 , z2 ) ... π S ( y1 , zm )
y1 

y2 π S ( y2 , z1 ) π S ( y2 , z2 ) ... π S ( y2 , zm ) 
... 
...
...
y p π S ( y p , z1 ) π ( y p , z2 )

S
Теперь можно получить матрицу T:
z1
z2
µ ( x , z ) µ A ( x1 , z2 )
x1  A1 1 1
2
x  µ A1 ( x2 , z1 ) µ A2 ( x2 , z2 )
T= 2
... 
...
...

xn µ ( x , z ) µ ( x , z )

элементы
µ Ai ( x, z i ) =
∑Φ
A1
n
1
A2
n
которой
определяются
∑ Ф R ( x , y ) ⋅ π S ( x, z i )
y
∑Ф
R
для
( x, y )
2
...
...
... π S ( y p , zm

)

zm
... µ A ( x1 , zm )
m
... µ A ( x2 , zm
m
...
...
... µ A ( xn , zm
m
функцией
всех
x∈X,

)


)

принадлежности
y∈Y,
z∈Z.
Сумма
y
R
( x, y ) равна степени нечеткого множества, указывающей число важ-
y
нейших признаков y, которое потребитель x использует для оценки фирмы,
а µ Ai ( x, z i ) - взвешенная степень предпочтения фирмы z i индивидуумом x.
Функция µ Ai ( x, z i ) удовлетворяет определению выпуклого нечеткого
множества:
µ Ai [λ ⋅ ( x1 , z i ) + ( 1 − λ ) ⋅ ( x 2 , z i )] ≥ min[µ Ai (x1 , z i ), µ Ai (x2 , z i )] ,
для всех x1 и x 2 , всех z i ∈ Z и всех λ ∈ [0,1] .
Поскольку все µ Ai ( x, z i ) выпуклые, их пересечения также выпуклые функции. Можно построить матрицу W:
 µ A1 ( x1 , z1 ) ∧ µ A2 ( x1 , z 2 ) ... µ Am −1 ( x1 , z m −1 ) ∧ µ Am ( x1 , z m ) 
 µ ( x , z ) ∧ µ ( x , z ) ... µ ( x , z ) ∧ µ ( x , z ) 
A
A2
Am −1
m −1
Am
m 
2
1
2
2
2
2
W = 1


...
...
...


 µ A1 ( x n , z1 ) ∧ µ A2 ( x n , z 2 ) ... µ Am −1 ( x n , z m −1 ) ∧ µ Am ( x n , z m )
По тем же самым соображениям, которые были высказаны в линейной модели рынка, в данной модели порог разделения торговой зоны может быть
ограничен условием
l < min max min[ µ Ai ( x, z i ), µ A j ( x, z j )]
ij
x
Если порог выбран, то торговая зона описывается нечетким множеством
1011
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
уровня
M i =  x µ Ai ( x) ≥ min max min[µ Ai ( x, z i ), µ A j ( x, z j )] для всех x∈ M i .
ij
x


Решение модельных задач
Средствами пакета Fuzzy Logic, входящего в состав вычислительной
системы MATLAB, найдены решения для заданной матрицы степеней
предпочтений фирм.
Литература
1. Заде Л. Понятие лингвистической переменной и ее применение к принятию приближенных решений.— М.: Мир, 1976.— 167 с.
2. Zadeh L. A. Fuzzy sets // Inf. & Control.— 1965.— 8.— P.338–353.
3. Нечеткие множества и теория возможностей. Последние достижения:
Пер. с англ. / Под ред. Р. Р. Ягера.— М.: Радио и связь, 1986.— 408 с.
4. Beckmann M. Market share, distance and potential // Regional & Urban Economics.— 1971.— 1— P.1–18.
1012
Секция 3. Проектирование систем автоматического управления и регулирования
УДК 531.708:620.1
МОДЕЛИРОВАНИЕ ПРЕДЕЛЬНЫХ СОСТОЯНИЙ
КОНСТРУКЦИЙ С ИСПОЛЬЗОВАНИЕМ
КОМБИНИРОВАНИЯ МЕТОДОВ
Кучерюк В. И., Кузяков О. Н., Дубатовка У. В.
Тюменский государственный нефтегазовый университет, Тюмень,
e-mail: kuzyakov@tsogu.tmn.ru, onkuzyakov@mail.ru, ulvik@yandex.ru
Рассматриваются составные тонкостенные конструкции (пластины,
оболочки, стержни) при действии сочетания статических нагрузок. Исследуются предельные равновесные состояния конструкции. Для исследования этого состояния составляется математическая модель, которая является составной и включает отдельные блоки (рис. 1). Для каждого из блоков
используется аналитическое и имитационное моделирование.
Программная реализация модели осуществляется с помощью пакета
MATLAB.
Математическая модель состоит из следующих блоков: геометрического, нагрузки, материала, напряженно-деформированного состояния,
модели статической теоремы, модели кинематической теоремы, модели
предельного состояния — «механизм».
Для получения информации о перемещениях конструкции при составлении и исследовании последних четырех блоков математической модели осуществляется физическое моделирование [4]. Физическая модель
удовлетворяет функциональному подобию натуре, когда обеспечиваются
следующие условия моделирования:
- геометрическое подобие натуры и модели в серединной поверхности;
- габаритные размеры модели определяются нагрузочным устройством, выбранным экспериментальным методом, техническими возможностями обеспечения контурных условий и изготовления модели;
- толщины пластин и оболочек соответствуют тонким;
- функциональное соотношение цилиндрических жесткостей элементов из пластин и оболочек и изгибной жесткости стержневых элементов;
- для композитных конструкций используются приведенные (эквивалентные) цилиндрические жесткости;
- функциональное подобие нагрузки вида q = a æ(x, у), где a - число.
1013
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Хорошие результаты дают модели из пластмасс с использованием
клеевых соединений. Возможен также композитный вариант.
Математическое моделирование
Геометрическое
моделирование
Моделирование
нагрузки
Кинематический метод
SIMULINKE
Анализ
кинематических
жесткопластических
систем
МATLAB
обработка
результатов
эксперимента
Статический метод
MATLAB
Реализация
экспериментального
принципа
Минимизация
предельной
нагрузки
Выбор
предельной
нагрузки
Рис. 1. Основные этапы математического моделирования.
Для определения прогибов и перемещений в срединных поверхностях используются два варианта метода, моделирующего муаровый эф1014
Секция 3. Проектирование систем автоматического управления и регулирования
фект: электронно-проекционный и метод нанесения сетки на поверхность
конструкции.
Сущность электронно-проекционного метода подробно описана в
работах [1–3, 5, 6] и заключается в следующем. На исследуемую поверхность объекта видео-проектором проецируется линейчатая сетка, состоящая из чередующихся темных и светлых линий одного и того же шага. Параметры сетки можно программно менять. Изображение сетки, содержащее информацию об изменяющейся топологии объекта под действием нагрузки, сканируется цифровой видеосистемой и через блок сопряжения передается в компьютер, где происходит сложение эталонной сетки, заданной по формуле, и принятой после проецирования. Проектор и видеокамера установлены так, чтобы их оптические центры и точка пересечения
главных оптических осей находились в одной плоскости. Видеоинформация поступает с камеры (цифровой видеокамеры или фотокамеры) в устройство ввода-вывода, на которое возложены функции кодирования.
Разработанное программное обеспечение позволяет осуществить
обработку картины муаровых полос с последующей визуализацией самой
картины перемещений и аналитического вида функций перемещений, которые затем используются в качестве аппроксимирующих при определении напряженно-деформированного состояния конструкции с помощью
аналитических методов — путем сочетания методов строительной механики и метода Бубнова–Галеркина.
Определение перемещений в серединной поверхности осуществляется теми же аппаратными средствами, но используется нанесение сетки
на поверхность, а блок программы обработки муаровых картин учитывает
особенность данного метода.
Дальнейшее исследование топологической модели деформации производится средствами Simulink пакета MATLAB по технологии «drag —
and — drop».
Библиотека Simulink дополняется программными блоками НДС конструкции.
С помощью «смотровых окон» и графического интерфейса строится
трехмерное изображение перемещений и распределения внутренних усилий. Подключение блоков нагрузок позволяет следить за динамикой процесса образования предельных состояний. Использование пластических
зон позволяет строить модель «механизма» конструкций.
Аналитическое решение, согласно моделям статической и кинематической теорем, осуществляется в матричной форме, что позволяет эффективно использовать инструментальный пакет MATLAB.
«Вилка» решений с учетом этих теорем и определяет предельную
нагрузку.
Блоки нагрузки и материалов могут быть стохастическими. Исследование математической модели производится циклически. Например, изме1015
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
нение характера нагрузки, геометрических размеров сечений, материала
просчитывается на каждом цикле.
Литература
1. Кучерюк В. И., Лобанок И. В., Чурилов В. А. Метод муаровых полос в
исследовании прочности и устойчивости конструкций.— Тюмень, Тюменский индустриальный институт, 1978.— 64 с.
2. Кузяков О. Н., Кучерюк В. И. Устройство для измерения деформаций
поверхности объекта электронно-проекционным муаровым методом //
Известия вузов. Нефть и газ.— 2002.— №1.— С.69–75.
3. Кузяков О. Н., Кучерюк В. И. Методы и средства измерения топологии
поверхности, перемещений и деформаций.— Тюмень: ТюмГНГУ,
2002.— 172 с.
4. Сухарев И. П. Экспериментальные методы исследования деформаций и
прочности.— М.: Машиностроение, 1987.— 216 с.
5. Сухарев И. П., Ушаков Б. Н. Исследования деформаций и напряжений
методом муаровых полос.— М.: Машиностроение, 1969.— 208 с.
6. Дифференциальный электронно-проекционный способ измерения формы поверхности объекта / Патент на изобретение к А.с. RU 2216710 С2,
7G 01 В 21/30. Заявл.13.12.2001. Опубл. 20.11.2003, Бюл. № 32.— 5 с.
1016
Секция 3. Проектирование систем автоматического управления и регулирования
УДК 519.7
СРАВНИТЕЛЬНЫЙ АНАЛИЗ МЕТОДОВ
МОДЕЛИРОВАНИЯ ДИНАМИЧЕСКОЙ СИСТЕМЫ
УПРАВЛЕНИЯ С СУЩЕСТВЕННО ПЕРЕМЕННЫМИ
ПАРАМЕТРАМИ
Ледовский А. Д., Лобанов К. С., Лычагин Ю. В., Максютин М. М.,
Родин Б. П., Яковенко А. Н., Яковенко Н. Г.
Балтийский государственный технический университет
«ВОЕНМЕХ» им. Д. Ф. Устинова, Санкт-Петербург,
e-mail:rivas@rivas.spb.su
Введение
В настоящем сообщении приводятся результаты исследования автономного комплекса с динамической системой управления (ДСУ) объектом,
который существенно изменяет свои параметры в процессе функционирования. Рассматриваемый объект размещается на подвижном основании для
доставки его к месту функционирования. Само функционирование автономного комплекса осуществляется в условиях средне пересеченной местности с непосредственно доставившего в данную точку неподвижного основания без предварительного горизонтирования. На подвижном основании 0 (рис. 1) размещена платформа 1, которая разворачивается и удерживается в процессе функционирования в рабочем положении с помощью
специального управляемого привода. На платформе в цапфах находится
качающийся пакет 2, имеющий одну степень свободы по углу относительно платформы. Разворот и удерживание пакета в процессе функционирования комплекса осуществляется с помощью второго управляемого привода. Собственно функционирование комплекса заключается в упорядоченном последовательном поступательном перемещении относительно пакета
N покидающих эту систему инерционных тел 3n (n=1 — N).
Целевой функцией рассматриваемой динамической системы управления является удержание заданного начального положения платформы и
качающегося пакета, с момента начала движения первого покидающего
систему инерционного тела и до выпадения из системы последнего.
При этом общее время работы системы, состоящее из N циклов (по
числу покидающих эту систему инерционных тел), ограничено. Продолжительность одного цикла может состоять из одинаковых для всех N тел
по времени периодов от начала движения до момента выпадения и достаточно произвольных промежутков времени, идущих на затухание возникающих при этом колебаний объекта (рис. 2).
1017
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Рис. 1. Структура моделируемого устройства: 0 — подвижное основание; 1 — вращающаяся платформа с приводом Пр1; 2 — качающийся пакет с приводом Пр2; 3n
(n=1 — N) — подвижные инерционные тела, выпадающие из системы.
Рис.2. Временная диаграмма структуры циклов.
Таким образом, объект управления на всем промежутке функционирования имеет значительные и изменяющиеся моменты неуравновешенности и переменный момент инерции относительно осей вращения платформы и качающегося пакета.
1018
Секция 3. Проектирование систем автоматического управления и регулирования
С учетом всего вышесказанного была разработана и исследовалась
математическая модель динамической системы управления (ДСУ), представленная в настоящем сообщении.
Число циклов N, характерное для рассматриваемой системы, может
изменяться от 1 до 12, причем математическое описание работы системы
от цикла к циклу не меняется с точностью до статических характеристик
звеньев системы (массы, центра масс и т. д.). В свою очередь, цикл состоит
из трех временных промежутков. На одном из них модель установки состоит из трех звеньев и описывается тремя координатами. На двух других
модель состоит из двух звеньев и описывается двумя координатами, соответственно. Исходя из этого система дифференциальных уравнений, описывающая функционирование автономного комплекса (модель) может
быть, как четвертого, так и шестого порядков.
При разработке и применении данной модели решались следующие
задачи:
Исследовать возможность максимально точного позициониро1.
вания объекта в контрольных точках времени.
2.
При соблюдении условия 1 минимизировать время функционирования системы.
3.
Исследовать влияние возможного изменения времени (продолжительности) некоторых циклов в ходе работы системы на качество ее
функционирования в целом.
Исследовать влияние порядка следования циклов при функ4.
ционировании на точность работы системы.
5.
Разработка и исследование различных алгоритмов управления.
Реализация и исследование математических моделей проводилось
параллельно тремя методами. Причем, в первом и втором случаях одинаковая математическая модель была реализована, как в виде MATLABпрограммы, так и C-программы, а в третьем случае в виде Simulinkмодели.
В заключение приведен сравнительный анализ трех использованных
методов моделирования
Модель ДСУ объекта с использованием языка программирования
MATLAB
При разработке математической модели ДСУ объектом, пригодной
для расчета с использованием стандартного решателя систем линейных
дифференциальных уравнений (ЛДУ) ODE пакета MATLAB применялась
последовательность операций в виде:
На интервале функционирования системы были выделены уча1.
стки (промежутки времени) с аналогичной структурой. Эти промежутки
времени сменяют друг друга циклически. Поэтому целесообразно описать
1019
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
систему в виде нескольких систем ЛДУ, каждая из которых соответствует
работе системы на некотором временном интервале. Переключение между
этими системами ЛДУ осуществляется по задаваемому определенному закону. При этом начальными условиями для расчета очередной системы
ЛДУ являются результаты, полученные при расчете предыдущего участка,
скорректированные относительно изменения структуры системы. При переходе от расчета одной системы ЛДУ к другой предусмотрена возможность анализа результатов расчета и изменения алгоритма ODE, а также
возможность для уменьшения времени счета, повышения точности и т. д.
скорректировать параметры ODE
Моделируемая система имеет многозвенную структуру, при2.
чем на различных интервалах функционирования количество звеньев может равняться двум либо трем. Поэтому вначале работы программы рассчитываются все статические характеристики (масса, центр масс, моменты
инерции относительно выбранных осей и т. д.) каждого звена системы в
связанных с этими звеньями системах координат на протяжении полного
цикла работы ДСУ.
Объект управления моделируемой ДСУ представляет собой
3.
систему абсолютно твердых тел или звеньев. Функционирование ДСУ заключается во взаимном перемещении входящих в нее звеньях, при этом
для любого из звеньев изменяется только одна координата (поступательного или вращательного движения).
Для того чтобы объединить движения отдельных звеньев друг
4.
относительно друга в единую систему, соответствующую работе всего
объекта управления, введено понятие вектора состояния системы q . Вектор состояния системы q описывает взаимные перемещения входящих в
объект управления звеньев в процессе функционирования моделируемой
ДСУ.
Таким образом, математическая модель объекта управления описывающая движение многозвенной системы и разрешенное относительно
вторых производных вектора состояния q , представляет собой уравнение
Лагранжа:
q = − D −1 (H + C − τ ) ,
(1)
где D — обобщенная матрица инерции системы; H — вектор сил взаимодействия между звеньями системы; C — вектор потенциальных сил системы; τ — вектор обобщенных внешних сил.
Причем все коэффициенты уравнения (1) зависят от вектора состояния q .
Так как решатель ODE предназначен для интегрирования системы
линейных дифференциальных уравнений, разрешенной относительно первых производных, введены дополнительные переменные Y , представленные в виде
1020
Секция 3. Проектирование систем автоматического управления и регулирования
q 
Y =  .
q 
Тогда
q 
Y =  .
q 
К уравнению (1), приведенному к виду системы ЛДУ в форме Коши,
(4-6 порядка), была добавлена модель ДСУ 4 порядка.
Эти уравнения связаны следующим образом: на вход модели ДСУ
подается вектор q , а управляющее воздействие на объект управления входит в сумму внешних сил τ .
Такой подход позволил развязать модель ДСУ и модель объекта
управления и вносить поправки в каждую модель независимо.
Так, замена электропривода ДСУ на гидропривод не требует никаких
изменений в модели объекта управления.
− Для программирования задачи в среде MATLAB система ЛДУ
была преобразована применительно к каждому промежутку
интегрирования, и каждая специфическая система была представлена в виде M-функции, удовлетворяющей условиям решателя ODE.
− Создана управляющая функция, переключающая расчет модели между различными функциями описания правых частей,
соответствующих отличающимся участкам интегрирования,
настройку параметров интегрирования ODE, а также осуществляющая обработку результатов и их визуализацию.
Для оптимизации размера программы, а также, для уменьшения необходимых вычислительных ресурсов, в модели предусмотрены статическая и динамическая части, а также вынесены в отдельные функции части
математического описания одинаковые для всех участков интегрирования.
Проблема управления видимостью констант, необходимых для расчета модели на всех участках, и передачи некоторых начальных условий не
входящих в вектор состояния системы решена через использование механизма глобальных переменных MATLAB.
При первых расчетах модели проведенных с помощью алгоритма
Рунге-Кутта 4–5 порядка выяснилось, что модель с параметрами приближенными к параметрам реального объекта, колеблется с малой амплитудой
и высокой частотой, т. е. ведет себя как жесткая система. Эти колебания
вызваны несовершенством алгоритма выбора шага и коррекции ошибок в
алгоритме ODE45 (ODE45 — это MATLAB реализация алгоритма Рунге–
Кутта).
Реально такие колебания не могут иметь места из-за энергетических
соображений. Для решения этой проблемы были проведены специальные
вычисления, обеспечивающие выбор оптимального алгоритма ODE. В про1021
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
грамму были введены средства контроля над адекватностью рассчитываемых результатов. В итоге наиболее оптимальным алгоритмом оказался
средне-жесткий алгоритм ODE23tb, так как использование более жестких
алгоритмов, например ODE113, приводило к быстрому накоплению погрешности.
Гибкость решателя ODE позволяет использовать для этого механизм
Event Location, т. е. механизм поиска характерных ситуаций прямо в процессе расчета конкретного интервала работы системы. Этот механизм
можно использовать и для реализации алгоритма работы активной ДСУ.
Для удобства управления параметрами, как системы в целом, так и
каждым отдельным этапом расчета, был создан графический интерфейс
пользователя (GUI, Graphic User Interface) в системе MATLAB. Этот интерфейс использует встроенное средство разработки пользовательского
интерфейса GUIDE, позволяющего скрыть от пользователя всю MATLAB программу и предоставить удобный доступ к переменным, которые необходимо изменять для исследования системы.
При дальнейшем уточнении модели возникла проблема введения некоторых нелинейностей, связанных с работой ДСУ. Некоторые из них, такие как ограничение максимальной величины давления в гидросистеме,
были введены достаточно легко, так как давление является переменной состояния в использованной модели гидропривода. Однако другие вызвали
значительные затруднения, связанные с тем, что модель объекта управления линейна, и внесение ограничений по интегрируемым величинам, таким
как угловые скорости, требовало либо значительной переделки самой модели объекта управления, либо введения некоторых несуществующих специально рассчитываемых внешних сил, имитирующих влияние на объект
нелинейной ДСУ.
Некоторые физические величины представляющие интерес при исследовании системы не могли быть получены как результат интегрирования системы ЛДУ и требовали либо отдельного расчета, либо введения в
m- функции описания правых частей специальных участков программы,
транслировавших эти значения в управляющую функцию для анализа и
визуализации результатов. Такой способ, во-первых, замедлял счет, а вовторых, усложнял программу и ее анализ.
Моделирование ДСУ объекта с использованием языка
программирования С++
Кроме моделирования с использованием MATLAB-средств, параллельно для сравнения было проведено моделирование с применением
средств разработки программного обеспечения, не связанных с MATLAB.
При моделировании с использованием языка программирования С++
применялось то же математическое описание модели ДСУ объекта, что и
1022
Секция 3. Проектирование систем автоматического управления и регулирования
при использовании пакета MATLAB. Уравнение Лагранжа вида (1) решалось с использованием средств С++. Отличие заключалось в используемом
алгоритме решения ЛДУ. С++ не является языком программирования, специально ориентированным на выполнение математических операций, в
нем отсутствуют встроенные функции решения ЛДУ; поэтому такая функция была написана специально для решения данной задачи. В функции
был реализован алгоритм численного решения линейных дифференциальных уравнений методом Рунге–Кутты 2-го порядка. Согласно этому методу, решение уравнения
x = f ( x, t ),
при начальном условии x(t0 ) = x0 находится исходя из соотношения:
h
h

xk +1 = xk + hf  xk + f ( xk , tk ), tk +  ,
2
2

где h — шаг интегрирования.
Выбор этого метода несколько уменьшил точность вычислений по
сравнению с применяемым в MATLAB-программе методом Рунге–Кутты
4-го порядка из-за пренебрежения членами ряда Тейлора старших порядков, но позволил существенно повысить скорость выполнения расчетов.
Поскольку результатом компоновки программы в среде С++ является исполняемый файл, для его работы не требуется установки каких-либо
других компонентов. Следовательно, его можно легко копировать на разные вычислительные машины без необходимости в дорогостоящем лицензировании пакета MATLAB. Кроме того, он на два порядка меньше по
размеру, чем программа в MATLAB вместе с самой средой MATLAB.
Исполняемый файл, работая напрямую с ресурсами компьютера без
использования исходной среды программирования, имеет большую скорость вычислений, чем MATLAB-программа. Понижение времени расчета
всего периода моделирования до 60–70 секунд на компьютере уровня Pentium-III дало принципиальную возможность говорить о моделировании в
реальном времени, что невозможно применительно к MATLAB-модели.
Несомненным недостатком выбранной среды разработки, в отличие
от MATLAB, является негибкость получаемой после компоновки программы. Любое изменение математической модели требует разработки новой программы, что может быть проведено только в первоначальной среде
разработки и только при наличии исходных кодов программы. Кроме того,
разработанная заново программа требует повторения проведения полного
цикла отладки и тестирования.
1023
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Построение модели ДСУ объекта с помощью графического
редактора Simulink
При моделировании различных задач в среде MATLAB с использованием графического редактора Simulink реализуется принцип визуального
программирования, в соответствии с которым на экране из библиотеки
стандартных блоков создается модель устройства.
Такой подход позволяет оценить общую структуру системы, выделить отдельные структурные элементы и производить построение модели
«снизу-вверх» в соответствии с этим делением, начиная с наиболее простых составных частей системы. При этом разработчику не обязательны
(хотя и желательны) глубокие знания языка MATLAB или иных средств
моделирования и программирования.
Последовательность создания модели посредством графического редактора Simulink можно представить следующим образом:
Анализ структуры моделируемого объекта, с целью выделения
1.
наиболее существенных в рамках рассматриваемой задачи элементов будущей модели.
Построение моделей отдельных структурных элементов сис2.
темы с необходимой точностью и их отладка.
3.
Соединение и организация взаимодействия между отдельными
элементами модели, что приводит к построению полной модели системы.
При построении исследуемой модели были приняты следующие допущения. Во-первых, рассматривались только два момента, действующие
на исполнительные механизмы ДСУ — момент силы тяжести и момент,
возникающий при движении выбрасываемой массы. Во-вторых, модели
приводов функционирования были приняты практически линейными (учитывалась лишь небольшая и не самая существенная часть нелинейностей).
Построение модели по принципу «снизу-вверх» предполагает решение следующих проблем, встающих перед разработчиком:
грамотное структурное деление исходной системы для облег−
чения построения моделей составляющих частей и уменьшения вероятности появления ошибок;
корректное построение и проверка полученных моделей со−
ставных частей системы;
обеспечение корректного взаимодействия составляющих час−
тей системы;
не всегда простой и очевидный переход от уравнений, описы−
вающих объект, к передаточным функциям (или иным структурным элементам), особенно для нелинейного объекта (объекта, нелинейностями которого нельзя пренебречь).
Проблема структурного деления системы решалась посредством
анализа исходных данных и опыта разработчиков. Выделенные состав1024
Секция 3. Проектирование систем автоматического управления и регулирования
ляющие должны быть независимыми (с учетом дальнейшего уточнения
или изменения модели) и достаточно простыми. Это позволяет эффективно
отрабатывать построенные модели и упрощает их общее восприятие. Необходимо отметить, что эта особенность моделирования в графическом
редакторе Simulink предоставляет мощные средства построения моделей
сложных систем или устройств.
В соответствии с заявленным принципом в рассматриваемой системе
были выделены следующие структурные элементы (звенья):
Подвижное основание 0.
−
Вращающаяся платформа 1.
−
Качающийся пакет 2.
−
N подвижных инерционных тел, выпадающие из системы
−
(N=12 штук);
Два привода функционирования.
−
Подобное деление представляется наиболее удобным. Подвижное
основание используется для задания абсолютного положения объекта в
пространстве (на поверхности Земли). Поэтому, несмотря на необязательность модели самого подвижного основания, при рассмотрении функционирования объекта в системе координат, связанной с Землей, необходимо
было учитывать состояние этого основания. Выделение вращающейся
платформы и качающегося пакета связано с наличием двух приводов
функционирования и того факта, что оценка качества стабилизации производится по угловому положению этих частей в соответствующих плоскостях относительно основания. Для более детального изучения вопросов,
оговоренных во введении, выпадающие из системы массы требуют отдельной модели. Более мелкое деление на данном этапе неэффективно, но
в то же время любую часть модели можно усложнить или дополнить без
внесения существенных изменений (следовательно, и возможных дополнительных ошибок) в уже построенные модели.
Особенность цикличного функционирования системы потребовала
представления модели каждой из 12 инерционных тел в виде комбинации
трех подсистем, описывающих одно из возможных состояний: покой, движение и отсутствие массы. Переключение между структурами производилось с помощью блока управления (в соответствии с Рис. 2).
Проверка адекватности построенной модели является актуальной
проблемой для любого из методов математического моделирования. Оценить правильность построения модели позволяют либо экспериментальные
данные (которые могут отсутствовать), либо опыт разработчика (величина
субъективная). Тем не менее, одним из существенных достоинств заявленного принципа структурного построения модели является возможность
проверки корректности каждой отдельной части системы независимо от
наличия и законченности построения моделей других частей.
1025
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Так, модель привода можно оценить, подав какое-либо тестовое воздействие (например, единичное входное воздействие) и проанализировав
результаты. В случае выявления ошибки, обнаружение ее причины и устранение последствий упрощается вследствие анализа не модели системы в
целом, а лишь ее части.
Тестирование моделей на данном этапе позволяет в будущем быть
уверенным в приемлемой адекватности этих моделей и дает основание думать, что последующие ошибки являются проявлением некорректной стыковки составляющих частей.
Проблема обеспечения взаимодействия составляющих модель частей
также важна. При соединении в систему отдельных частей, следует стремиться к минимизации числа связей между ними. Каждая связь должна отражать реальное физическое взаимодействие. Наличие связей, неудовлетворяющих этому условию, свидетельствует о неудачном структурном делении системы. Необходимо правильно выделить наиболее существенные
взаимодействия, так как построенные ранее модели отдельных частей системы могут быть более сложными, чем того требует решаемая задача (если
использовались уже готовые модели или если они строились с учетом
дальнейшего использования). Например, в исследуемой модели выделены
всего два вида моментов сил и момент инерции. Этого вполне хватает на
данном этапе для описания системы в целом и взаимодействия ее частей.
Предоставляемая графическим редактором Simulink возможность практически неограниченного доступа к любому сигналу схемы, позволяет оценить правильность взаимодействия не только по конечному результату
(изменение угла), но и по некоторым промежуточным величинам (например, максимальные моменты неуравновешенности или максимальный расход в гидроприводе).
Построение сложных нелинейных систем и учет нелинейностей в
модели существенно усложняют задачу исследования. Может потребоваться изменение (адаптация) построенной модели или построение ее заново. Исходя из этого, возможность подобного шага желательно учесть заранее, сохраняя линейность (и как следствие простоту) модели на этапе
отладки. Безусловным преимуществом графического редактора Simulink с
этой точки зрения является наличие в библиотеке уже готовых блоков наиболее распространенных видов нелинейностей и легкость внесения этих
нелинейностей в модели.
1026
Секция 3. Проектирование систем автоматического управления и регулирования
Рис. 3. Модель системы, построенная в графическом редакторе Simulink.
Дополнительной сложностью при построении моделей в графическом редакторе Simulink является трудность динамического управления
алгоритмом расчета. Так, например, изменение шага расчета или порядка
функционирования системы в зависимости от различных условий затруднительны. Производить анализ необходимых условий (особенно, если их
количество велико) в рамках Simulink представляется нецелесообразным,
так как гораздо легче и удобнее написать подобную функцию на языке
MATLAB (или ином языке программирования, например, С). Возможность
подключения таких функций в графическом редакторе Simulink имеется
Выводы
Анализ проделанной работы позволяет выделить наиболее характерные особенности и проблемы каждого из подходов. Четкое представление
о достоинствах и недостатках рассматриваемых методов позволяет обос1027
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
нованно и аргументировано выбирать способ построения математической
модели.
Графический редактор Simulink позволяет решать задачу, имея лишь
общее представление о системе, занимаясь уточнением ее структуры параллельно с построением модели. Рассмотрение системы по частям делит
задачу на ряд подзадач, последовательное решение которых приводит к
созданию моделей составляющих. Их можно подвергнуть проверке по отдельности и лишь после этого перейти к построению модели системы в целом. При таком подходе уточнение модели любого элемента не приводит к
необходимости изменения модели системы в целом. Следовательно, использование графического редактора Simulink оправданно при необходимости построения моделей, последовательно приближаемых к исследуемому объекту. При этом структурное деление системы должно производиться уже при построении модели первого приближения, причем его изменение может привести к замене всей модели.
При наличии математического описания, соответствующего исследуемому объекту с требуемой степенью точности и необходимости проведения значительного количества численных экспериментов, проводимых с
помощью этой модели, целесообразно использовать модель, реализованную в виде совокупности m - файлов. Необходимо отметить, что незначительное уточнение уже разработанной модели может потребовать значительной переработки всей модели. В то же время имеется возможность
создания удобного интерфейса с помощью встроенной среды разработки
графического интерфейса GUIDE.
Среда C++ наиболее предпочтительна для создания коммерческих
версий программного продукта, предназначенных для поставки конечному
пользователю. Созданные в ней программы отличаются доступным пользовательским интерфейсом, закрытым исходным кодом и высоким быстродействием в сочетании с автономностью и нетребовательностью к ресурсам компьютера. Распространение программного продукта не требует
затрат на лицензирование пакета MATLAB для компьютеров конечных
пользователей, что повышает конкурентоспособность продукта на рынке
компьютерных технологий. Среда С++ может быть рекомендована для использования при разработке специализированного программного обеспечения, предназначенного, например, для выполнения математических расчетов в промышленных ЭВМ, устанавливаемых в различных видах техники в процессе ее функционирования. Однако следует заметить, что при использовании С++ сохраняются основные недостатки, присущие среде
MATLAB, а именно, необходимость коррекции всей модели при модификации одного из ее элементов.
Для использования возможностей языка MATLAB необходимо наличие полной и точной математической модели в виде системы дифференциальных уравнений уже на первоначальном этапе создания программы.
1028
Секция 3. Проектирование систем автоматического управления и регулирования
Построение такой модели является весьма трудоемким, что заставляет идти на определенные упрощения, создающие проблемы на этапе исследования. При этом внесение изменений (дополнений) в построенную модель
затруднительно. Особенно большие сложности возникают при необходимости учета нелинейностей.
Таким образом, очевидно, что применение тех или иных средств моделирования рассмотренных в данной работе правомерны и предпочтение
в этом выборе обычно связано с опытом и возможностями разработчика
программ.
Литература
1. Попов Д. Н. Динамика и регулирование гидро- и пневмосистем: Учебник для вузов.— М. Машиностроение, 1987.— 464 с.
2. Загашвили Ю. В., Ледовский А. Д., Яковенко Н. Г., Лычагин Ю. В. Динамическая система с исполнительным двигателем постоянного тока //
Пособие по курсовому и дипломному проектированию.— СПб.: Балт.
гос. техн. ун-т., 2001.— 48 с.
3. Никифоров В. О., Ушаков А. В. Управление в условиях неопределенности: чувствительность, адаптация, робастность.— СПб.: Изд-во
СПбГИТМО(ТУ), 2002.
4. Фрадков А. Л. Адаптивное управление в сложных системах.— М.: Наука, 1990.
5. Eslami M. Theory of Sensitivity in Dynamic Systems. An Introduction.—
Berlin.: Springer Verlag, 1994.
1029
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
УДК 519.7:62.506
ИСПОЛЬЗОВАНИЕ СРЕДЫ MATLAB ПРИ
ЛОКАЛИЗАЦИИ ИСТОЧНИКОВ СТОХАСТИЧНОСТИ В
СТАЦИОНАРНЫХ УРАВНЕНИЯХ ПРИ ВЫЧИСЛЕНИИ
МОМЕНТОВ ПЕРЕМЕННЫХ СОСТОЯНИЙ
Ледовский А. Д., Лычагин Ю. В., Яковенко Н. Г.,
Нгуен Ван Лам, Полницкий Д. А.
Балтийский государственный технический университет
«ВОЕНМЕХ» им. Д. Ф. Устинова, Санкт-Петербург,
e-mail:adlgvsh@mail.ru
При анализе качества сложных человеко-машинных динамических
систем управления зачастую необходимо учитывать влияние на их функционирование различных случайных факторов внутреннего и внешнего
характера [1], [6]. К случайным факторам внутреннего характера относятся, например, параметрические шумы, представляющие случайные функции и случайные параметры, учитывающие неточность производства и
влияние процессов старения и износа при хранении и эксплуатации систем
и т. п. Что касается внешних источников стохастичности, то они зависят от
условий функционирования системы. Примером такого рода стохастических воздействий могут быть ветро-волновые возмущения, действующие
на морские подвижные объекты [2].
Общий вид нелинейной математической модели, в которой учитывается влияние на функционирование выше отмеченных случайных факторов,
имеет следующий вид [1]:

 dx

Φ  ,x,u,µ,t  = 0;x ( t0 ) = x0 ;
(1)
 dt



y = Ψ ( x,u,µ,t ) ,

dx
∈ R S — вектор-столбец фазовых координат (переменных состояdt
ний) и вектор-столбец их производных, x0 ∈ R S — вектор-столбец начальных значений этих координат; u ∈ R P — вектор-столбец внешних переменных (управляющих и возмущающих воздействий), в том числе содержащих случайные составляющие; µ ∈ R N — вектор-столбец случайных параметров с произвольными законами распределения его составляющих;
Φ ∈ R S — столбец векторов-функций; t — аргумент (время) с начальным
значением t = t0 ; Ψ ∈ R Q — столбец векторов-функций; y — векторстолбец выходов.
где x,
1030
Секция 3. Проектирование систем автоматического управления и регулирования
Для рассматриваемого класса систем управления всегда имеется
возможность разрешить уравнение (1) относительно производной:
dx

= Θ ( x,u,µ,t ) ;x ( t0 ) = x0 ;
dt
(2)


y = Ψ ( x,u,µ,t ) ,

где Θ ∈ R S ,Ψ ∈ R Q — столбцы вектор-функций.
Эксплуатация систем управления всегда предполагает их использование в ограниченном числе основных режимов работы. Такие режимы работы характеризуются постоянством или малыми изменениями внешних
воздействий — u . С учетом этого обстоятельства, а также в силу существенной инерционности объектов управления (системы в целом) рассматриваемый класс систем обычно обладает свойствами фильтра низких частот,
что позволяет успешно решать задачу линеаризации (2) и получения линейных (линеаризованных) уравнений состояния вида:
dx
= А ( µ) x + В ( µ) u ,
(3)
dt
где A ( µ) , B ( µ) — матрицы, элементы которых являются регулярными
функциями случайных µ - параметров. Отметим, что в результате выбора
законов управления, система (3) должна обладать свойством инвариантности (малой чувствительности) к параметрическим возмущениям [7].
Вероятностная оценка показателей качества функционирования систем управления, основанная на применении неравенства ЧебышеваКуриленко [1], предполагает определение векторов математического ожидания и дисперсии переменных состояний стационарного стохастического
уравнения (3). Причем, если для собственного движения их вычисление
особых проблем не вызывает, то вынужденное движение для чистоты результата требует разделения влияний стохастического оператора B ( µ) и
вектора u, который может содержать случайные составляющие. При этом
информацию о наличии случайных параметров в самой матрице B ( µ) необходимо сохранить.
Целью данной работы является строгое доказательство возможности
такого разделения.
Рассмотрим вначале соответствующее (3) детерминированное уравнение состояния:
dx
= Аx + Вu
(4)
dt
или его скалярное представление:
1031
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
 dx 1
 dt = a11 x1 + a12 x2 … + a1S xS + b11u 1 + b11u 2 + … + b1Q uQ ;

 dx2 = a x + a x … + a x + b u + b u + … + b u ;
2S S
21 1
21 2
2Q Q
21 1
22 2
(5)
 dt
....................................................................................

 dxS = a x + a x … + a x + b u + b u + … + b u .
S1 1
S2 2
SS S
S1 1
S2 2
SQ Q
 dt
Добавим в (5) S − Q входов:
dx1
 dt = a11x1 + …+ a1S xS + b11u1 + …+ b1QuQ + b1Q+1uQ+1 + …+ b1SuS ;

dx2 = a x + …+ a x + b u + …+ b u + b u + …+ b u ;
21 1
2S S
21 1
2Q Q
2Q+1 Q+1
2S S
(6)
 dt
.......................................................................................................;

dxS = a x + …+ a x + b u + …+ b u + b u + …+ b u .
S1 1
SS S
S1 1
SQ Q
SQ+1 Q+1
SS S
 dt
Если в (6) при любых значениях коэффициентов bij ∀ j = Q + 1, S ,
(
( )
)
элементы вектора управления u j ∀j = ( Q + 1,S ) торжественно
равны нулю, то (6) сводится к виду (5).
Перепишем (6) в матричной форме:
dx
(7)
= A x + Bu
dt
где B ∈ R S × S , т. е. квадратная матрица размерности (S × S ) ; u — вектор управления размерности (S ×1) , имеющий последние (S − Q + 1) элементы, равные нулю.
Проблему выбора значений коэффициентов bij ∀j = (Q + 1, S ) ,∀i = (1, S )
рассмотрим позднее.
Матрица B должна быть невырожденной и иметь обратную матрицу
∀i = 1, S
−1
−1
B . Тогда умножая (7) слева на матрицу B слева, получим:
−1 d x
−1
−1
= B A x + B Bu ,
(8)
B
dt
где первое слагаемое в правой части может быть заменено тождественным,
−1
−1
−1
равным ему слагаемым B A x = B ABB x.
−1
Тогда, произведя замену переменной z = B x и
−1 d x
dz
=B
, полуdt
dt
чим:
dz
= Az + Iu,
dt
(9)
1032
Секция 3. Проектирование систем автоматического управления и регулирования
−1
−1
где I = B B — единичная матрица и A = B AB .
При переходе к стохастическому виду, т. е. к уравнению (3), и производя аналогичные преобразования, можно получить:
dz
= A ( µ ) z + Iu ,
(10)
dt
−1
где A ( µ) = B ( µ) A ( µ) B ( µ) .
Таким образом, в уравнении (10) перед вектором внешних переменных u вместо стохастического оператора оказалась детерминированная
−1
единичная матрица I = B B . Причем, информация о стохастичности
вектора (матрицы) коэффициентов усиления B ( µ) уравнения (3) не потеряна, так как вошла в матрицу свободного движения A ( µ) уравнения (10).
Выбор дополнительных элементов вектора (матрицы) B в (7) весьма
произволен. Однако при таком выборе необходимо соблюсти следующие
условия:
Все значения элементов вектора (матрицы) B должны и могут
1.
быть детерминированными.
Матрица B должна быть невырожденной, т. е. должна сущест2.
−1
вовать обратная матрица B .
Число обусловленности матрицы B ([3], [4], [7]) должно быть
3.
минимальным (по крайней мере, равным числу обусловленности матрицы
B уравнения (4)).
В уравнении (3) при расширении матрицы B ( µ) до квадратной
4.
матрицы B ( µ) следует использовать математические ожидания добавляемых элементов этой матрицы.
Остановимся на последнем условии подробнее.
Известно [3], что число обусловленности характеризует меру близости матрицы B к вырожденной матрице.
Оно определяется выражением
cond ( B ) = B × B −1 ,
где B , B −1 — нормы соответствующих матриц.
Причем для любой матрицы, число обусловленности должно быть не
менее 1. Однако, если оно больше 10, то матрица становится плохо обусловленной.
Число обусловленности матрицы может быть рассчитано через сингулярные значения и соответствующие им унитарные векторы.
1033
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Так, для прямоугольной матрицы B , сингулярным значением называется неотрицательная скалярная величина σ , удовлетворяющая условиям:
Вv = σ u;
(11)
B T u = σ v,
где u и v соответствующая этому сингулярному значению пара векторовстолбцов.
Если матрица B имеет несколько сингулярных значений, образующих диагональную матрицу S , то матрицы U и V являются унитарными
(в случае, если матрица B вещественная, то ортогональными) и условия
(11) принимают вид:
ВV = US;
B T U = VS,
(12)
откуда следует, что:
В = USV -1 .
(13)
В случае спектральной нормы число обусловленности матрицы B
равно отношению ее максимального сингулярного значения к минимальному:
max ( S )
.
(14)
cond ( B ) =
min ( S )
Поэтому число обусловленности матрицы, имеющей одинаковые отличные
от нуля сингулярные значения всегда равно единице.
Покажем, что с помощью (14) с учетом (12) и (13) при выборе дополнительных элементов вектора (матрицы) B (7) можно решить задачу
минимизации числа обусловленности этой матицы (вектора B ).
Пусть имеется исходная прямоугольная матрица B 0 размерности
S × Q, Q < S , R = S − Q :
 b11 … … b1Q 
… … … … 
.
B0 = 
(15)
… … … … 


 bS 1 … … bSQ 
Осуществим расширение размерности B0 до размерности (S × S ) добавлением матрицы B1 с размерностью (S × R )
 b1,Q -1 … … b1S 
 … … … …
.
B1 = 
(16)
 … … … …


…
…
b
b
S
Q
SS
−
,
1


1034
Секция 3. Проектирование систем автоматического управления и регулирования
В результате получим расширенную квадратную матрицу B ∈ R S×S
вида:
b1,Q +1 … … b1,S 
 b11 … … b1,Q
 … … … …
…
… … … 

 … … … …
…
… … … 


bs1 …
bsQ
bs ,Q +1 … … bsS 

.
(17)
B=
 bs +1,1 … … bs +1,Q bs +1,Q +1 … … bs +1,S 


…
…
…
…
…
…
…
…


 … … … …
…
… … … 


 b

…
…
…
…
b
b
b
SQ
S ,Q +1
SS 
 S1
Если представить (15) и (16) в виде квадратных матриц B*0 и B1* , у
которых последние R и, соответственно, первые Q векторов-столбцов
нулевые:
 b11 … b1Q 0 … 0 
 0 … 0 b1,Q+1 … b1S 
… … … 0 … 0 
0 … 0
0
… … 
*



*
,B =
, (18)
B0 =
 … … … … … … 1  0 … 0 … … … 




 bS 1 … bSQ 0 … 0 
 0 … 0 bS ,Q+1 … bSS 
тогда матрица (17) может быть записана следующим образом:
B* + B* = B ∈ R S×S .
(19)
0
1
Из (13) следует, что
S = U −1ВV .
С учетом (19)
(
)
( )
(20)
( )
S = U −1 В*0 + В*1 V = U −1 В*0 V + U −1 В*1 V = S*0 + S*1 .
(21)
S*0
S*1
Отметим, что для пары векторов B1* (18) и В1 (16), а также для B*0
(18) и В 0 (17), значения ненулевых диагональных элементов матриц S*1 и
S1 ( S*0 и S 0 ), определяемых по (21) остаются неизменными.
Как правило, элементы диагональных матриц сингулярных значений
в (21) должны располагаться в нарастающем порядке. Поэтому выражение
S*0 + S1* следует понимать не как сумму матриц, а как добавление диагональных матриц друг к другу таким образом, чтобы элементы полученной
диагональной матрицы S также располагались в нарастающем порядке.
Таким образом, доказано следующее утверждение:
1035
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Утверждение. Число обусловленности матрицы не изменится, если
к ней добавить ограниченное число выбранных предложенным особым образом ненулевых векторов-столбцов.
Если исходная прямоугольная матрица B0 имеет соответствующую
диагональную матрицу сингулярных значений S 0 и число обусловленноmax ( S 0 )
, то и матрица В1 имеет диагональную матсти С0 = cond ( B 0 ) =
min ( S 0 )
max ( S1 )
.
min ( S1 )
Из (21) видно, что расширенная матрица В имеет наименьшее число
обусловленности (возможно равное числу обусловленности матрицы С0 )
только тогда, когда max ( S1 ) ≤ max ( S 0 ) и min ( S1 ) ≥ min ( S 0 ) . Поэтому, для
того, чтобы число обусловленности расширенной матрицы В было равно
числу обусловленности исходной матрицы, необходимо выбрать элементы
матрицы В1 таким образом, чтобы ее сингулярные значения находились в
рицу S1 и число обусловленности С1 = cond ( B1 ) =
интервале  max ( S 0 ) , min ( S 0 )  .
Рассмотрим частный случай, когда число обусловленности матрицы
В1 равно единице. Это означает, что она имеет одинаковые сингулярные
значения, например, min ( S1 ) = max ( S1 ) . Можно выбрать также и
min ( S1 ) = max ( S 0 ) или min ( S1 ) = min ( S 0 ) .
В любом случае, все элементы векторов-столбцов матрицы В1 , определяемой по (16) торжественны нулям, кроме одного, равного выбранному
сингулярному значению потому, что матрицы U и V в (21) являются унитарными (при вещественных матрицах — ортогональными).
Пример
Пусть функционирование (продольное движение) пассажирского
судна на подводных крыльях описывается следующим линеаризованным
стационарным уравнением состояний [2]:
 dΨ 
 dt 


0
1
0
0  Ψ   0
0 
 d ωz  
ω  


 dt  a21 a22 a23 a24  z 
b21 b2 2  δк .н. 



+
(22)

=

,






dy
y
0
0
a
a
0
0
δ
g
31
34
 к .к . 
 g 
  






 dt   a41 a42 a43 a44   α   b41 b42 
 dα 


 dt 
1036
Секция 3. Проектирование систем автоматического управления и регулирования
где Ψ ,
d ωz
dΨ
— угол дифферента (тангажа) и его производная; ωz ,
—
dt
dt
угловая скорость килевой качки и ее производная; у g ,
d уg
— ордината
dt
dα
— угол атаки и его производdt
δк .к . , — углы поворота носовых и кормовых крыльев (управляю-
центра масс судна и ее производная; α ,
ная; δк .н.
( )
( )
( )
щие воздействия); aij ∀i, j = 1,4 , bij ∀i = 1,4 , j = 1,2 — коэффициенты, зависящие от конструкции судна.
Напомним, что эти коэффициенты являются регулярными функциями от случайных µ - параметров и на практике рассчитываются и задаются
их математическими ожиданиями.
Так, например, для судна водоизмещением 60т матрицы М  A ( µ)  и
М  В ( µ)  имеют следующие значения своих элементов:
1
0
0 
 0
 −14,2 −12,2 −0,291 −0,236 
;
М  A ( µ)  = 
 17,5
−17,5 
0
0


 −5,12 −0,162 0,433 −6,41 
0 
 0
 −1,01 2,86 
.
М В ( µ)  = 
 0
0 


 0,386 0,965 
В данном примере, исходная матрица М В ( µ)  = В0 имеет размерность 4 × 2 .
Используя стандартную программу определения числа обусловленности в среде MATLAB [6], найдем это число обусловленности
С0 = 4,7344 , и диагональную матрицу сингулярных значений:
0 
 3,1370
 0

0,6626
.
(23)
S0 = 
 0
0 


0 
 0
Выберем ненулевой элемент, который равен максимальному сингулярному
значению (в данном случае = 3,1370), и составим дополнительную матрицу
В1 размерностью 4 × 2 :
1037
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
0 
 3,1370
 0
0 

В1 =
.
(24)
 0
3,1370 


0 
 0
Тогда матрицы (18) принимают вид:
0
0 0
 0
0 
 0 0 3,1370
 −1, 01 2,86 0 0 
0 0

0
0
*


*
.
В0 =
; В =
(25)
 0
0
0 0 1 0 0
0
3,1370 




0
0 
 0,386 0,965 0 0 
0 0
Следует обратить внимание на то, что все элементы первой и
третьей строк исходных матриц (25) торжественно равны нулю, поэтому
элементы первой и третьей строк матрицы В1 (24) должны отличаться от
нуля. Иначе матрица B может оказаться вырожденной, и обратной ей матрицы не будет существовать. При выполнении этого условия получим:
0
3,1370
0 
 0
 −1, 01 2,86

0
0
*
*
.
(26)
В = В 0 + В1 = 
 0
0
0
3,1370 


0
0 
 0, 386 0, 965
Матрицы в (24), (25) и (26) имеют соответствующие матрицы сингулярных значений:
0 
0
0 0
 3,1370
 3,1370
 0



3,1370
0
3,1370
0
0
*
, S = 

S1 = 
1
 0
 0
0 
0
0 0




0 
0
0 0
 0
 0
0
0 0
0
0
0 
 3,1370
 3,1370
 0
 0
0,6626 0 0 
3,1370
0
0 
*


S0 =
; S=
(27)
 0
 0
0
0 0
0
3,1370
0 




0
0 0
0
0
0,6626 
 0
 0
Последнее выражение показывает, что число обусловленности расширенной матрицы В в соответствии с (14) остается тем же, равным исходному значению 4,7344. Соответствующая обратная ей матрица определится в виде:
1038
Секция 3. Проектирование систем автоматического управления и регулирования
-0.4643
0
1.3759 
 0
 0

0.1857
0
0.4859
−
1
.
В? = 
 0.3188
0
0
0 


0
0.3188
0 
 0
Осуществляя преобразования (8) и (9), получим новую матрицу
−1
A = B AB , элементы которой при переходе к стохастическому виду также являются регулярными функциям от случайных µ - параметров:
 a11 ( µ) a12 ( µ) a13 ( µ) a14 ( µ) 


 a 21 ( µ) a 22 ( µ) a 23 ( µ) a 24 ( µ) 
A ( µ) = 
.
 a 31 ( µ) a 32 ( µ) a 33 ( µ) a 34 ( µ) 


a
a
a
a
41 ( µ )
42 ( µ )
43 ( µ )
44 ( µ )


В рассматриваемом примере, ее математическое ожидание имеет вид:
 −8,8575 7,1560 −1,4189 2,2928 
 1,1485 −9,7525 −16,0765 0,4905 
.
М  A ( µ)  = 

  −0,3220 0,9117
0
0 


0 
 −2,1533 −5,3833 17,5000
В результате чего (10) примет вид:


 z1   a11 ( µ) a12 ( µ) a13 ( µ) a14 ( µ)   z1   1 0 0 0  δK.H. 
   a µ a µ a µ a µ   


 z2  =  21 ( ) 22 ( ) 23 ( ) 24 ( )   z2  +  0 1 0 0  δK.H.  .
 z3   a31 ( µ) a32 ( µ) a33 ( µ) a34 ( µ)   z3   0 0 1 0  0 
  
  


 z4   a41 ( µ) a42 ( µ) a43 ( µ) a44 ( µ)   z4   0 0 0 1  0 


Таким образом, исследование влияния случайных µ - параметров на
переменные состояния исходной системы, проведенное по уравнению (10),
несомненно, дает более достоверный и полный результат, так как составляющие матрицы A ( µ) содержат информации не только первоначальной
матрицы A ( µ) уравнения (3), но и матрицы B ( µ) .
Следующий шаг — применим интервальные вычисления [8] для определения нижней и верхней границ собственных значений фундаментальной матрицы системы без учета (3) и при учете (10) стохастичности элементов исходной матрицы В .
Согласно [9], при малых вариациях элементов матрицу А можно
представить в виде интервальной матрицы [ A ] =  A, A  .
1039
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Следовательно, если пренебречь малыми изменениями собственных
векторов H (считая hij = const , ∀i, j = 1, n ), то собственные значения ин-
( )
тервальной матрицы
[L ] = L,L  .
[ A ] =  A,A 
также будут интервальными, то есть
Для интервальных собственных значений справедливы сле-
дующие выражения:
L = H −1 AH;
(29)
L = H −1 AH.
Если предположить, что случайные параметры элементов системы
имеют равномерное распределение в заданных границах (интервалах), то
при ее производстве и эксплуатации они «приводят» к усеченному нормальному закону распределения показателей качества функционирования
[10], [1]. Тогда, с учетом (29) и «правила трех сигм» математические ожидания и дисперсии собственных значений будут:
Lj + Lj 


M Lj  =
;
2

(30)
2
 ∀ j = 1,n .
Lj − Lj


σ 2L j =
36

При математическом моделировании для рассмотренного в Приложении 1 примера разбросы элементов фундаментальной матрицы A выбраны для двух варианта: err _ A = 2% и err _ A = 5% , а для элементов
матрицы B соответственно err _ B = 1% и err _ B = 5% .
В результате были получены следующие значения математических
ожиданий и дисперсий собственных значений (30):
При первом варианте err _ A = 2% и без учета разбросов эле1.
ментов матрицы B :
M [ λ 1 ] = −10,8882; M λ 2,3  = −1,2280 ± j1,1933; M [λ 4 ] = −5,2659;
(
)
( )
σλ21 = 0,0086; σλ2 2,3 = 0,0002; σλ2 4 = 0,0023 .
2.
При втором варианте err _ A = 5% и без учета разброса элементов матрицы B :
M [ λ 1 ] = −10,8882; M λ 2,3  = −1,2280 ± j1,1933; M [λ 4 ] = −5,2659;
σλ21 = 0,0536; σλ2 2,3 = 0 ,0012; σλ2 4 = 0,0145.
3.
При первом варианте err _ A = 2% и с учетом разброса элементов матрицы B т. к. err _ B = 1% :
M [ λ 1 ] = −10,9097; M λ 2,3  = −1,2301 ± j1,1953; M [λ 4 ] = −5,2742;
1040
Секция 3. Проектирование систем автоматического управления и регулирования
σλ21 = 0,0003; σλ2 2,3 = 0,0164; σλ2 4 = 0,4067 .
4.
При втором варианте err _ A = 5% с учетом разброса элементов матрицы B т. к. err _ B = 5% :
M [ λ 1 ] = −11,2181; M λ 2,3  = −1,2678 ± j1,2319; M [ λ 4 ] = −5,4233;
σλ21 = 0,0049; σλ2 2,3 = 0,2963; σλ2 4 = 7,2298.
Таким образом, при больших разбросах величины математических
ожиданий собственных значений системы остаются неизмененными, а
дисперсии увеличиваются, следовательно, вероятностные оценки качества
функционирования системы при этом ухудшаются [1].
В то же время верхние границы величин собственных значений системы равны:
 −11,4290

 −2,7921 + j 0,6460 
,
Lmax = 
 −2,7921 − j 0,6460 


 2,6432

а их нижние границы, соответственно:
 −11,0071

0,2526 + j1,8179 
.
Lmin = 
0,2526 − j1,8179 


 −13,4898

Наличие положительных вещественных частей у собственных значений подтверждает факт потери устойчивости исследуемой системы. Это
вполне логично, если на практике параметры системы имеют чрезмерно
большие пределы изменения.
Литература
1. Куриленко А. М., Ледовский А. Д. Качество судовых динамических систем управления.— Л.: Судостроение, 1994.— 176 с.
2. Лукомский Ю. А., Корчанов В. М. Управление морскими подвижными
объектами: Учебник.— СПб: Элмор, 1996.— 320 с.
3. Сушкова М. В. Приложения Жордановой нормальной формы матрицы //
Математика в ВУЗе. Интернет–журнал СПбГТУ.— 2003.
4. Фам Ки Ань. Числовой анализ.— Ханой: Издательство «Наука и техника», 1995.— 199 с.
5. Андреевский Б. Р., Фрадков А. Л. Элементы математического моделирования в программных средах MATLAB 5 и Scilab.— СПб.: Наука,
2001.— 286 с.
6. Евланов Л. Г., Константинов В. М. Системы со случайными параметрами.— М.: Наука, 1976.— 568 с.
1041
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
7. Шароватов В. Т. Обеспечение стабильности показателей качества автоматических систем.— Л.: Энергоатомиздат. Ленинградское отделение, 1987.— 176 с.
8. Алефельд Г., Херцбергер Ю. Введение в интервальные вычисления. Пер.
с англ.— М.: Мир, 1987.— 360 с.
9. Никифоров В. О., Ушаков А. В. Управления в условиях неопределенности: чувствительность, адаптация, робастность.— СПб ГИТМО (ТУ)
2002.— 232с.
10. Ледовский А. Д., Хохлова Е. В. О переходе от заданного равномерного
распределения случайных параметров элементов тренажерной системы
к усеченному нормальному закону распределения показателей качества
функционирования при ее эксплуатации // Сб. науч. тр. «Вооружение,
автоматика, правление». — Ковров: Ковровская гос. технологическая
академия 2001.— С.295–300.
Приложение 1: Текст MATLAB-программы вычисления граничных значений элементов матрицы A и математических ожиданий и дисперсий собственных чисел системы
%Данное Приложение написано Н.В.Ламом 04-03-04
clear all; clc;
% Матрица фундаментальная исходная
A=[0 1 0 0;
-14.2 -12.2 -0.291 -0.236;
17.5 0 0 -17.5;
-5.12 -0.162 0.433 -6.41];
err_A=0.02; % допуск 2%
%err_A=0.05;% допуск 5%
r=rank(A);
for i=1:r
for j=1:r
DA(i,j)=abs(A(i,j)*err_A);
Amax(i,j)=A(i,j)+DA(i,j);
Amin(i,j)=A(i,j)-DA(i,j);
end
end
B=[0
0; 1.01 2.86]; % Исходная матрица В со случайными элементами, равными:
[0
0; 0.386 0.965];
% err_B=0.01; % error=1%
err_B=0.05;% error=1% Система неустойчива
for i=1:r
for j=1:2
DB(i,j)=abs(B(i,j)*err_B);
Bmax(i,j)=B(i,j)+DB(i,j);
Bmin(i,j)=B(i,j)-DB(i,j);
end
end
B1=[3.1370 0; 0 0;0 3.1370;0 0]; % Дополнение матрицы В
B=[B B1];% Квадратная матрица В после дополнения
Bmax=[Bmax B1];% Матрица Bmax-верхняя граница
Bmin=[Bmin B1];% Матрица Bmin-низняя граница
% Процедура нахождения обратной матрицы inv(B)
1042
Секция 3. Проектирование систем автоматического управления и регулирования
%1-Определение детерминанта (определителя) матрицы B
b11=[Bmin(1,1) Bmax(1,1)];b12=[Bmin(1,2) Bmax(1,2)];b13=[Bmin(1,3)
Bmax(1,4)];
b21=[Bmin(2,1) Bmax(2,1)];b22=[Bmin(2,2) Bmax(2,2)];b23=[Bmin(2,3)
Bmax(2,4)];
b31=[Bmin(3,1) Bmax(3,1)];b32=[Bmin(3,2) Bmax(3,2)];b33=[Bmin(3,3)
Bmax(3,4)];
b41=[Bmin(4,1) Bmax(4,1)];b42=[Bmin(4,2) Bmax(4,2)];b43=[Bmin(4,3)
Bmax(4,4)];
c1=ia(ia(ia(b33,b44,'*'),b22,'*'),b11,'*'); % результат=0
c2=ia(ia(ia(b43,b34,'*'),b22,'*'),b11,'*');% результат=0
c3=ia(ia(ia(b44,b23,'*'),b32,'*'),b11,'*');% результат=0
c4=ia(ia(ia(b43,b24,'*'),b32,'*'),b11,'*');% результат=0
c5=ia(ia(ia(b34,b23,'*'),b42,'*'),b11,'*');% результат=0
c6=ia(ia(ia(b33,b24,'*'),b42,'*'),b11,'*');% результат=0
c7=ia(ia(ia(b44,b33,'*'),b12,'*'),b21,'*');% результат=0
c8=ia(ia(ia(b43,b34,'*'),b12,'*'),b21,'*');% результат=0
c9=ia(ia(ia(b44,b13,'*'),b32,'*'),b21,'*');% результат=0
c10=ia(ia(ia(b43,b14,'*'),b32,'*'),b21,'*');% результат=0
c11=ia(ia(ia(b34,b13,'*'),b42,'*'),b21,'*');% =c11
c12=ia(ia(ia(b33,b14,'*'),b42,'*'),b21,'*');% результат=0
c13=ia(ia(ia(b44,b23,'*'),b12,'*'),b31,'*');% результат=0
c14=ia(ia(ia(b43,b24,'*'),b12,'*'),b31,'*');% результат=0
c15=ia(ia(ia(b44,b13,'*'),b22,'*'),b31,'*');% результат=0
c16=ia(ia(ia(b43,b14,'*'),b22,'*'),b31,'*');% результат=0
c17=ia(ia(ia(b24,b13,'*'),b42,'*'),b31,'*');% результат=0
c18=ia(ia(ia(b23,b14,'*'),b42,'*'),b31,'*');% результат=0
c19=ia(ia(ia(b34,b23,'*'),b12,'*'),b41,'*');% результат=0
c20=ia(ia(ia(b33,b24,'*'),b12,'*'),b41,'*');% результат=0
c21=ia(ia(ia(b34,b13,'*'),b22,'*'),b41,'*');% = c21
c22=ia(ia(ia(b33,b14,'*'),b22,'*'),b41,'*');% результат=0
c23=ia(ia(ia(b24,b13,'*'),b32,'*'),b41,'*');% результат=0
c24=ia(ia(ia(b23,b14,'*'),b32,'*'),b41,'*');% результат=0
detB=ia(c21,c11,'-');
Bmax(1,3)];b14=[Bmin(1,4)
Bmax(2,3)];b24=[Bmin(2,4)
Bmax(3,3)];b34=[Bmin(3,4)
Bmax(4,3)];b44=[Bmin(4,4)
%2- Нахождение элементов обратной матрицы
%C(1,1)=(b22*b33*b44-b22*b34*b43-b32*b23*b44+b32*b24*b43+b42*b23*b34-b42*b24*b33);
cd1=ia3(b22,b33,b44);cd2=ia3(b22,b34,b43);cd3=ia3(b32,b23,b44);cd4=ia3(b32,b24,b43);cd5=ia3(b42,b23
,b34);cd6=ia3(b42,b24,b33);%=0
%C(2,1)=-(b21*b33*b44-b21*b34*b43-b31*b23*b44+b31*b24*b43+b41*b23*b34-b41*b24*b33);
ce1=ia3(b21,b33,b44);ce2=ia3(b21,b34,b43);ce3=ia3(b31,b23,b44);ce4=ia3(b31,b24,b43);ce5=ia3(b41,b23,b
34);ce6=ia3(b41,b24,b33);%=0
%C(3,1)=(b21*b32*b44-b21*b34*b42-b31*b22*b44+b31*b24*b42+b41*b22*b34-b41*b24*b32);
cf1=ia3(b21,b32,b44);cf2=ia3(b21,b34,b42);cf3=ia3(b31,b22,b44);cf4=ia3(b31,b24,b42);cf5=ia3(b41,b22,b3
4);cf6=ia3(b41,b24,b32);
C31=ia(cf5,cf2,'-');% Только эти элементы отличны от нуля
BB31=ia(C31,detB,'/');
%C(4,1)=-(b21*b32*b43-b21*b33*b42-b31*b22*b43+b31*b23*b42+b41*b22*b33-b41*b23*b32);
cg1=ia3(b21,b32,b43);cg2=ia3(b21,b33,b42);cg3=ia3(b31,b22,b43);cg4=ia3(b31,b23,b42);cg5=ia3(b41,b22,
b33);cg6=ia3(b41,b23,b32);%=0
%C(1,2)=-(b12*b33*b44-b12*b34*b43-b32*b13*b44+b32*b14*b43+b42*b13*b34-b42*b14*b33);
ci1=ia3(b12,b33,b44);ci2=ia3(b12,b34,b43);ci3=ia3(b32,b13,b44);ci4=ia3(b32,b14,b43);ci5=ia3(b42,b13,b3
4);ci6=ia3(b42,b14,b33);
C12=sort(-ci5);
BB12=ia(C12,detB,'/');
%C(2,2)=(b11*b33*b44-b11*b34*b43-b31*b13*b44+b31*b14*b43+b41*b13*b34-b41*b14*b33);
ck1=ia3(b11,b33,b44);ck2=ia3(b11,b34,b43);ck3=ia3(b31,b13,b44);ck4=ia3(b31,b14,b43);ck5=ia3(b41,b13
,b34);ck6=ia3(b41,b14,b33);
C22=ck5;
1043
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
BB22=ia(C22,detB,'/');
%C(3,2)=-(b11*b32*b44-b11*b34*b42-b31*b12*b44+b31*b14*b42+b41*b12*b34-b41*b14*b32);
cl1=ia3(b11,b32,b44);cl2=ia3(b11,b34,b42);cl3=ia3(b31,b12,b44);cl4=ia3(b31,b14,b42);cl5=ia3(b41,b12,b3
4);cl6=ia3(b41,b14,b32);%=0
%C(4,2)=(b11*b32*b43-b11*b33*b42-b31*b12*b43+b31*b13*b42+b41*b12*b33-b41*b13*b32);
cm1=ia3(b11,b32,b43);cm2=ia3(b11,b33,b42);cm3=ia3(b31,b12,b43);cm4=ia3(b31,b13,b42);cm5=ia3(b41,
b12,b33);cm6=ia3(b41,b13,b32);%=0
%C(1,3)=(b12*b23*b44-b12*b24*b43-b22*b13*b44+b22*b14*b43+b42*b13*b24-b42*b14*b23);
cn1=ia3(b12,b23,b44);cn2=ia3(b12,b24,b43);cn3=ia3(b22,b13,b44);cn4=ia3(b22,b14,b43);cn5=ia3(b42,b13
,b24);cn6=ia3(b42,b14,b23);%=0
%C(2,3)=-(b11*b23*b44-b11*b24*b43-b21*b13*b44+b21*b14*b43+b41*b13*b24-b41*b14*b23);
co1=ia3(b11,b23,b44);co2=ia3(b11,b24,b43);co3=ia3(b21,b13,b44);co4=ia3(b21,b14,b43);co5=ia3(b41,b13,
b24);co6=ia3(b41,b14,b23);%=0
%C(3,3)=(b11*b22*b44-b11*b24*b42-b21*b12*b44+b21*b14*b42+b41*b12*b24-b41*b14*b22);
cp1=ia3(b11,b22,b44);cp2=ia3(b11,b24,b42);cp3=ia3(b21,b12,b44);cp4=ia3(b21,b14,b42);cp5=ia3(b41,b12
,b24);cp6=ia3(b41,b14,b22);%=0
%C(4,3)=-(b11*b22*b43-b11*b23*b42-b21*b12*b43+b21*b13*b42+b41*b12*b23-b41*b13*b22);
cq1=ia3(b11,b22,b43);cq2=ia3(b11,b23,b42);cq3=ia3(b21,b12,b43);cq4=ia3(b21,b13,b42);cq5=ia3(b41,b12
,b23);cq6=ia3(b41,b13,b22);
C43=ia(cq4,cq6,'-');
C43=sort(-C43);
BB43=ia(C43,detB,'/');
%C(1,4)=-(b12*b23*b34-b12*b24*b33-b22*b13*b34+b22*b14*b33+b32*b13*b24-b32*b14*b23);
cr1=ia3(b12,b23,b34);cr2=ia3(b12,b24,b33);cr3=ia3(b22,b13,b34);cr4=ia3(b22,b14,b33);cr5=ia3(b32,b13,b
24);cr6=ia3(b32,b14,b23);
C14=cr3;
BB14=ia(C14,detB,'/');
%C(2,4)=(b11*b23*b34-b11*b24*b33-b21*b13*b34+b21*b14*b33+b31*b13*b24-b31*b14*b23);
cs1=ia3(b11,b23,b34);cs2=ia3(b11,b24,b33);cs3=ia3(b21,b13,b34);cs4=ia3(b21,b14,b33);cs5=ia3(b31,b13,b
24);cs6=ia3(b31,b14,b23);
C24=sort(-cs3);
BB24=ia(C24,detB,'/');
%C(3,4)=-(b11*b22*b34-b11*b24*b32-b21*b12*b34+b21*b14*b32+b31*b12*b24-b31*b14*b22);
ct1=ia3(b11,b22,b34);ct2=ia3(b11,b24,b32);ct3=ia3(b21,b12,b34);ct4=ia3(b21,b14,b32);ct5=ia3(b31,b12,b2
4);ct6=ia3(b31,b14,b22);%=0
%C(4,4)=(b11*b22*b33-b11*b23*b32-b21*b12*b33+b21*b13*b32+b31*b12*b23-b31*b13*b22);
cu1=ia3(b11,b22,b33);cu2=ia3(b11,b23,b32);cu3=ia3(b21,b12,b33);cu4=ia3(b21,b13,b32);cu5=ia3(b31,b12
,b23);cu6=ia3(b31,b13,b22);%=0
% Нижняя и Верхняя границы обратной матрицы ВВ
BBmin=[0
BB12(1) 0
BB14(1);
0
BB22(1) 0
BB24(1);
BB31(1) 0
0
0 ;
0
0
BB43(1) 0;];
BBmax=[0
BB12(2) 0
BB14(2);
0
BB22(2) 0
BB24(2);
BB31(2) 0
0
0 ;
0
0
BB43(2) 0;];
% Нахождение интервальной матрицы [Anew]=[inv(B)]*[A]*[B]
% Результат - Нижняя и Верхняя граница новой фундаментальной матрицы
% Anewmin, Anewmax
[TGmin, TGmax]=matprod (BBmin, BBmax, Amin, Amax, '*');
[Anewmin, Anewmax]=matprod (TGmin, TGmax, Bmin, Bmax, '*');
% Имеем A=H*L*inv (H). Предполагаем [A]=H*[L]*inv (H)
% [L] при учете стохастичности элементов матрицы B и без такого учета
% 1 - Без учета
1044
Секция 3. Проектирование систем автоматического управления и регулирования
[H, L]=eig (A);
Lmax = diag (inv (H)*Amax*H);
%L=diag (L);
Lmin =diag (inv (H)*Amin*H);
ML=(Lmax + Lmin)/2; % Математические ожидания без учета В
for i=1:4
RdeltaL (i)=(real (Lmax (i))-real (Lmin (i)))^2./36;
IdeltaL (i)=(imag (Lmax (i))-imag (Lmin (i)))^2./36;
DeltaL (i)= RdeltaL (i)+IdeltaL (i);
end
DeltaL ;% Дисперсии без учета В
% 2- при учете
Anew_tb=(Anewmax + Anewmin)/2;
[Hnew, Lnew]=eig (Anew_tb);
Lbmax =diag (inv (Hnew)*Anewmax*Hnew)
Lbmin =diag (inv (Hnew)*Anewmin*Hnew)
Mlnew = (Lbmax + LBmin)/2 % Математические ожидания c учетом В
for i=1:4
RDeltaL(i)=(real(LBmax(i))-real(LBmin(i)))^2./36;
IDeltaL(i)=(imag(LBmax(i))-imag(LBmin(i)))^2./36;
DeltaLB (i)= RDeltaL(i)+IDeltaL(i);
end
DeltaLB% Дисперсии с учетом В.
function c = ia(a, b, z)
if (a(2) >= a(1))&(b(2) >= b(1))
if z=='+'
c(1)=min([a(1)+b(1) a(1)+b(2) a(2)+b(1) a(2)+b(2)]);
c(2)=max([a(1)+b(1) a(1)+b(2) a(2)+b(1) a(2)+b(2)]);
end
if z=='-'
c(1)=min([a(1)-b(1) a(1)-b(2) a(2)-b(1) a(2)-b(2)]);
c(2)=max([a(1)-b(1) a(1)-b(2) a(2)-b(1) a(2)-b(2)]);
end
if z=='*'
c(1)=min([a(1)*b(1) a(1)*b(2) a(2)*b(1) a(2)*b(2)]);
c(2)=max([a(1)*b(1) a(1)*b(2) a(2)*b(1) a(2)*b(2)]);
end
if z=='/'
c(1)=min([a(1)/b(1) a(1)/b(2) a(2)/b(1) a(2)/b(2)]);
c(2)=max([a(1)/b(1) a(1)/b(2) a(2)/b(1) a(2)/b(2)]);
end
end
c = [c(1) c(2)];
function c = ia3(a, b, d)
t(1)=min([a(1)*b(1) a(1)*b(2) a(2)*b(1) a(2)*b(2)]);
t(2)=max([a(1)*b(1) a(1)*b(2) a(2)*b(1) a(2)*b(2)]);
c(1)=min([t(1)*d(1) t(1)*d(2) t(2)*d(1) t(2)*d(2)]);
c(2)=max([t(1)*d(1) t(1)*d(2) t(2)*d(1) t(2)*d(2)]);
c = [c(1) c(2)];
function [Cmin, Cmax] = matprod(Amin, Amax, Bmin, Bmax, z)
r =max(rank(Amin), rank(Bmin));
if z=='+'
for i=1:r
for j=1:r
A=[Amin(i,j) Amax(i,j)];
B=[Bmin(i,j) Bmax(i,j)];
1045
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
[Cmin(i,j), Cmax(i,j)]=isym(A, B, '+');
end
end
end
if z=='-'
for i=1:r
for j=1:r
A=[Amin(i,j) Amax(i,j)];
B=[Bmin(i,j) Bmax(i,j)];
[Cmin(i,j), Cmax(i,j)]=isym(A,B,'-');
end
end
end
if z=='*'
for i=1:r
for j=1:r
C=[0 0];
for k=1:r
A=[Amin (i, k) Amax (i, k)];
B=[Bmin (k, j) Bmax (k, j)];
[Tmin, Tmax]=isym (A,B,'*');
T=[Tmin Tmax];
[Cmin(i,j),Cmax(i,j)]=isym(C,T,'+');
C=[Cmin(i,j),Cmax(i,j)];
end
end
end
end
function [cmin, cmax] = isym(a, b, z)
error (nargchk (3, 3, nargin));
if (a(2) >= a(1))&(b(2) >= b(1))
if z=='+'
c(1)=min([a(1)+b(1) a(1)+b(2) a(2)+b(1) a(2)+b(2)]);
c(2)=max([a(1)+b(1) a(1)+b(2) a(2)+b(1) a(2)+b(2)]);
end
if z=='-'
c(1)=min([a(1)-b(1) a(1)-b(2) a(2)-b(1) a(2)-b(2)]);
c(2)=max([a(1)-b(1) a(1)-b(2) a(2)-b(1) a(2)-b(2)]);
end
if z=='*'
c(1)=min([a(1)*b(1) a(1)*b(2) a(2)*b(1) a(2)*b(2)]);
c(2)=max([a(1)*b(1) a(1)*b(2) a(2)*b(1) a(2)*b(2)]);
end
if z=='/'
c(1)=min([a(1)/b(1) a(1)/b(2) a(2)/b(1) a(2)/b(2)]);
c(2)=max([a(1)/b(1) a(1)/b(2) a(2)/b(1) a(2)/b(2)]);
end
end
cmin = c (1);
cmax = c (2);
syms b11 b12 b13 b14 b21 b22 b23 b24 b31 b32 b33 b34 b41 b42 b43 b44;
B=[b11 b12 b13 b14;b21 b22 b23 b24;b31 b32 b33 b34; b41 b42 b43 b44];
Det (B);
C=inv (B);
1046
Секция 3. Проектирование систем автоматического управления и регулирования
Приложение 2
В разделе / Приложения диска с трудами конференции представлены
следующие программы:
Conf2004.m — MATLAB-программа вычисления граничных значений элементов матрицы A и математических ожиданий и дисперсий собственных чисел системы;
ia.m —
вычисление интервальных матриц;
ia3.m —
интервальная матрица A третьего ранга;
iinv.m — инверсия матрицы 4-го ранга;
isym.m — вычисление суммарной интервальной матрицы;
matprod.m —
вычисление граничных значений матрицы A.
1047
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
УДК 62-50
АДАПТИВНОЕ УПРАВЛЕНИЕ НЕЛИНЕЙНЫМ
ОБЪЕКТОМ С ВХОДНЫМ ЗАПАЗДЫВАНИЕМ
Миркин Е. Л.
Международный университет Кыргызстана, Бишкек, Киргизия,
e-mail: eugene@iuk.kg
В последнее время интерес большинства исследователей концентрируется вокруг проблем, связанных с управлением системами с запаздыванием в управлении, так как эффекты временного запаздывания оказывают
существенное влияние на устойчивость и качество процессов управления.
Об этом свидетельствует большой спектр работ, посвященных данной
проблематике. Однако только незначительная часть из них касается проблемы управления такими системами в условиях неопределенности, например [7–9]. Поскольку проблема управления такими системами сама по
себе является сложной и требует для своего решения явный или неявный
прогноз выхода системы на время запаздывания в канале управления, то
наличие неопределенности в модели системы ведет за собой еще большее
усложнение алгоритмов работы управляющих устройств, которые в некоторых случаях становятся громоздкими и непригодными для технической
реализации.
В данной работе новая схема управления с модельным упреждением [1–6] распространяется на класс нелинейных систем с запаздыванием в
управлении. При этом для разрешения проблемы неопределенности, предлагается использовать схему прямой адаптации и вспомогательную динамическую систему для реализации эффекта неявного упреждения.
Постановка задачи
Рассматривается объект управления, динамика которого описывается
нелинейным дифференциальным уравнением с запаздыванием в управлении вида
x (t ) = Ax (t ) + Df [ x (t )] + Bu(t − τ ),
(1)
x ( t0 ) = x0 ,
где x ∈ ℜn — вектор состояния, u ∈ ℜm — управляющее воздействие,
f [ x ] ∈ ℜk — известная нелинейная функция, A ∈ ℜnxn , D ∈ ℜnxk , B ∈ ℜnxm —
неизвестные постоянные матрицы, τ > 0 — детерминированное запаздывание в канале управления.
Ставится задача нахождения такого закона управления u(t ) , который
обеспечивал бы выполнение следующей целевой функции:
1048
Секция 3. Проектирование систем автоматического управления и регулирования
lim e(t ) = lim[ x (t ) − xm (t )] = 0,
t →∞
t →∞
(2)
где xm ∈ ℜn — выход детерминированной устойчивой эталонной модели
вида
xm (t ) = Am xm (t ) + Bm um (t − τ ),
(3)
xm ( t0 ) = xm 0 ,
где xm ∈ ℜn —вектор состояния модели, um ∈ ℜm — задающее воздействие, Am ∈ ℜnxn , Bm ∈ ℜnxm — известные постоянные матрицы.
Положим для простоты изложения, что B = Bm и класс объектов (1)
ограничим следующими предположениями:
Предположение 1. Выполнены традиционные условия согласования
объекта (1) и модели (3):
A = Am + Bm ∆A,
(4)
D = Bm ∆D,
где Am ∈ ℜnxn , Bm ∈ ℜnxm — неизвестные постоянные матрицы.
Предположение 2. Объект управления (1) в случае u ≡ 0 абсолютно устойчив, а также абсолютно устойчива система вида:
e(t ) = Ae(t ) + Dφ [e(t ), t ],
(5)
e( t 0 ) = x 0 − x m 0 ,
где φ [e(t ), t ] = f [e(t ) + xm (t )] − f [ xm (t )] .
Замечание. Поскольку φ [0, t ] = 0 условия абсолютной устойчивости
системы (5) могут, например, заключаться в гурвицевости матрицы A и
попадании годографа линейной части системы в разрешенную область
(круговой критерий абсолютной устойчивости [11]).
Отметим хорошо известный факт, что если управление объектом (1)
ведется по принципу обратной связи, то для компенсации эффекта временного запаздывания в канале управления, необходимо получать точную упреждающую оценку x(t + τ | t ) вектора x (t + τ )
x(t + τ | t ) = x(t + τ )
на ее основе формировать управление u (t ) как функцию x(t + τ | t ) .
Однако в нашем случае параметрической неопределенности (4), получить упреждающую оценку x(t + τ | t ) оказывается невозможным без
знания матриц A и D . Поэтому для синтеза системы управления в этих
условиях, будем использовать схему прямой адаптации с модельным упреждением [1], где за счет введения вспомогательной динамической системы, сконструированной специальным образом, решается проблема неявного прогноза выхода объекта.
1049
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Адаптивное управление с вспомогательной моделью
Структуру регулятора зададим уравнением
u (t ) = um (t ) + c(t ) x(t + τ | t ) + γ (t ) f [ x m (t + τ | t )],
(6)
mxn
mxk
где c(t ) ∈ ℜ , γ (t ) ∈ ℜ — матрицы настраиваемых коэффициентов;
x m (t + τ | t ) — упреждающая оценка вектора xm (t ) детерминированной
эталонной модели (3).
Модель упредителя, обеспечивающего выполнение условия
x m (t + τ | t ) = xm (t + τ )
определим, в соответствии с [10], следующей динамической системой
z (t ) = Am z (t ) + Bm um (t ),
(7)
z ( t0 ) = x m 0 .
x m (t + τ | t ) = z (t ) + e Amτ [ xm (t ) − z (t − τ )],
(8)
где z ∈ ℜn — внутренний вектор состояния, x m (t + τ | t ) — вектор выхода
упредителя.
Зададим вспомогательную модель линейным дифференциальным
уравнением вида
xa (t ) = Am xa (t ) + Bm {c(t ) x (t ) − c(t − τ ) xm (t ) +
+ γ (t ) f [ x (t )] − γ (t − τ ) f [ xm (t )]},
(9)
x a ( t 0 ) = 0.
Сформируем новую ошибку ea (t ) , которую определим соотношением
ea (t ) = e(t ) + xa (t ) = x (t ) − xm (t ) + xa (t )
(10)
Очевидно, что требования к регулятору вида (2), теперь будут определяться выражениями:
lim ea (t ) = 0,
(11)
t →∞
lim xa (t ) = 0.
t →∞
(12)
Уравнение возмущенного движения для ошибки ea (t ) в соответствии с
уравнениями (1,3,6,9) определится соотношением
ea (t ) = Am ea (t ) + Bm {[c(t ) + ∆A] x (t ) + [γ (t ) + ∆D ] f [ x (t )]},
(13)
ea (t0 ) = ea 0 .
Докажем следующую теорему:
Теорема. Если закон управления определить соотношением (6), законы адаптации уравнениями
c(t ) = − H c BmT Pea (t ) x T (t ),
(14)
γ (t ) = − H γ BmT Pea (t ) f T [ x (t )],
где H c = H cT > 0, H γ = H γT > 0 — произвольные постоянные положительно
1050
Секция 3. Проектирование систем автоматического управления и регулирования
определенные матрицы соответствующих размеров; P = P T > 0 — постоянная положительно определенная матрица, определяемая из следующего
уравнения Ляпунова
(15)
AmT P + PAm + Q = 0
T
где Q = Q > 0 — произвольная постоянная положительно определенная
матрица; тогда при допущении, что:
1) выполнено предположение 2,
2) входной сигнал um (t ) обладает богатым спектром (присутствует
≥ n гармоник),
2
все сигналы в системе ограничены, и ошибка слежения e(t ) стремится к
нулю при t → ∞ .
Доказательство. Рассмотрим положительно-определенную функцию V как функцию Ляпунова
V = eaT Pea + tr{[c(t ) + ∆A]T H c−1[c(t ) + ∆A]} +
(16)
+ tr{[γ (t ) + ∆D ]T H γ−1[γ (t ) + ∆D ]},
где tr{⋅} — операция взятия следа матрицы.
Полная производная функции V по времени, вычисленная по отношению к (13), с учетом (15) запишется следующим образом:
V = − eaT Qea + 2eaT PBm [c(t ) + ∆A] x (t ) +
+ 2tr{[c(t ) + ∆A]T H c−1c(t )} + 2eaT PBm [γ (t ) + ∆D ] f [ x (t )] +
(17)
+ 2tr{[γ (t ) + ∆D ]T H γ−1γ (t )}.
Таким образом, если законы адаптации определить в виде (14), то выражение (17) можно записать как
V = − eaT Qea ≤ 0.
(18)
Это означает, что сигналы ea (t ), c(t ), γ (t ) ограничены (то есть
ea (t ), c(t ), γ (t ) ∈ L∞ ). Покажем теперь ограниченность e(t ) и как следствие
ограниченность xa (t ) .
Запишем с учетом (1,3,6) уравнение для ошибки e(t ) = x (t ) − xm (t )
e(t ) = Ae(t ) + Dφ [e(t ), t ] +
(19)
+ Bm [c(t − τ ) + ∆A] xm (t ) + Bm [γ (t − τ ) + ∆D ] f [ xm (t )].
Что означает, так как сигналы c(t ), γ (t ), um , xm ограниченны, а матрица
A — гурвицева, ограниченность e(t ) и e(t ) , то есть e(t ), e(t ) ∈ L∞ . Из этого
следует (т. к. e = x − xm ), что x ∈ L∞ и в соответствии с (13) ea (t ) ∈ L∞ .
Учитывая, что V ≥ 0,V ≤ 0 и ea (t ) ∈ L∞ можно записать:
1) ошибка ea ∈ L2 ∩ L∞ , ⇒ ea → 0 при t → ∞ и c, c, γ , γ ∈ L∞ ,
2) c, γ ∈ L2 ∩ L∞ , ⇒ c, γ → 0 при t → ∞ ,
1051
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
что означает, в соответствии со стандартными положениями теории Ляпунова, выполнение следующих условий:
lim ea (t ) = 0,
t →∞
lim c(t ) = c * = const ,
t →∞
(20)
lim γ (t ) = γ * = const.
t →∞
Учитывая тот факт, что сигнал um (t ) обладает богатым спектром, т. е. в
замкнутой системе присутствует как минимум ≥ n гармоник, алгоритмы
2
адаптации (14) становятся идентифицирующими:
lim c(t ) = c * = − ∆A,
t →∞
(21)
lim γ (t ) = γ * = − ∆D.
t →∞
Заметим, что для доказательства выполнения основной цели (2) функционирования системы, необходимо показать выполнение условия (12).
В соответствии с (11,21) для достаточно большого t динамика вспомогательной модели (9) будет описываться следующим уравнением
xa (t ) = Axa (t ).
(22)
В силу гурвицевости матрицы A , будет выполнено условие (12), что означает выполнение исходной цели функционирования (2) и доказывает теорему.
Таким образом, использование схемы прямой адаптации совместно с
вспомогательной динамической моделью, за счет реализации эффекта неявного упреждения, позволило преодолеть трудности вызванные наличием
временного запаздывания в канале управления и выполнить основную
цель управления (2).
Пример численного моделирования
Для иллюстрации эффективности предложенной схемы адаптивного
управления с модельным упреждением, рассмотрим случай управления устойчивым объектом (1) с эталонной моделью (3). Время запаздывания в
канале управления τ = 5 секунд.
При моделировании были выбраны следующие параметры объекта и
модели (n = 2, m = 1):
1
1 
0
0
 0
 0
A= 
A
B
B
D
=
=
=
,
,
,
==
m
 m  − 1 − 2
1
2.
 − 5 − 10

 

 
Нелинейная функция в математическом описании объекта имеет вид
f [ x (t )] = x1 sin 2 ( 2 x1 )
В соответствии с методикой, изложенной в предыдущем разделе параметры регулятора (6,14,15) были заданы в виде:
1052
Секция 3. Проектирование систем автоматического управления и регулирования
10 0 
15 5
Q=
,P = 

 , H c = H γ = 1.
−
5
5
0
10




Моделирование проводилось в системе MATLAB (использовался пакет Simulink), результаты моделирования адаптивной системы представлены на рис. 1, a–d.
Рис. 1 Переходные процессы в адаптивной системе.
На рис. 1, a приведены кривые x (t ) и xm (t ) , показывающие динамику адаптивного слежения неопределенного объекта за детерминированной
эталонной моделью. Как видно из рисунка процесс сходится за время
t ≈ 100 секунд.
Изменение во времени управления u(t ) , и задания на эталонную модель um (t ) иллюстрирует рис. 1, b.
На рис. 1, c представлена динамика изменения вспомогательного
сигнала xa (t ) . Динамику настройки коэффициентов c(t ), γ (t ) иллюстрирует рис. 1, d.
1053
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Заключение
Предложенная в данной статье структура адаптивного управления с
модельным упреждением для объектов с входным запаздыванием, является одним из возможных приемов борьбы с эффектом временного запаздывания в канале управления. Использование для управления сигналов упреждения выхода детерминированной эталонной модели x m (t + τ | t ) и выхода специально введенной вспомогательной динамической системы xa (t ) ,
позволило избежать трудностей, связанных с прогнозированием выхода
параметрически неопределенного объекта управления. Требование наличия в замкнутом контуре сигнала с богатым спектром (то есть идентифицируемость параметра настройки), объясняется присутствием в структуре
управляющего устройства неявного прогноза выхода объекта управления,
без которого эффективно управлять им по принципу обратной связи не
представляется возможным.
Литература
1. Миркин Е. Л. Новая схема прямого адаптивного управления с модельным упреждением для систем с запаздыванием в управлении // Сб. трудов 6-го Санкт-Петербургского симпозиума по теории адаптивных систем.— СПб., 1999.— С.111–114.
2. Миркин Е. Л. Синтез адаптивного регулятора для систем с запаздыванием в управлении // Вестник Международного Университета Кыргызстан
(Бишкек).— 1999.— №1(5).— С.19–23.
3. Миркин Е. Л. Адаптивное управление с идентификатором объектом
один вход один выход с запаздыванием в управлении // Сб. тр. международной конф. «Идентификация систем и задачи управления»
(SICPRO'00).— М.: ИПУ РАН, 2000.— С.91–106.
4. Миркин Е. Л., Новая схема адаптивного управления неустойчивыми
объектами с входным запаздыванием // Сб. тр. международной конф.
«Идентификация систем и задачи управления» (SICPRO'03).— М.: ИПУ
РАН, 2003.— С.2512–2524.
5. Mirkin E. L. Combination of sliding mode and reference model prediction
methods for adaptive control of input-delay systems. // Proc. of the 7th International Workshop on Variable Structure Systems. — Sarajevo, 17–19 July
2002.— P.153–162.
6. Миркин Е. Л. Адаптивное управление с модельным упреждением для
объектов, имеющих один вход один выход с запаздыванием в управлении. // Вестник Международного Университета Кыргызстан (Бишкек).— 2000.— №1(9).— С.1–13.
7. Ortega R., Lozano R., Globally stable adaptive controller for systems with
delay // Int. J. Control.— 1988.— V.47.— N.1.— P.17–23.
1054
Секция 3. Проектирование систем автоматического управления и регулирования
8. Hasanul Basher A. M., Mukundan R., Model reference control of uncertain
systems with time delays in plant state and control // Int. J. Syst. Sci.—
1987.— V.18.— P.1609–1626.
9. Cheres E., Palmor Z., Gutman S., Min-Max Predictor control for uncertain
systems with input delays // IEEE Trans. Automat. Contr.— 1990.— V.35.—
P.210–214.
10. Миркин Е. Л. Синтез прогнозирующего устройства для объектов нейтрального типа с запаздыванием // Системы управления и обработки
информации для подвижных объектов.— Фрунзе: ФПИ, 1988.— C.84–
88.
11. Попов Е. П., Прикладная теория процессов управления в нелинейных
системах.— М.: Наука, 1973.
1055
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
УДК 519.6
КОНТУРНОЕ ПРЕДСТАВЛЕНИЕ ЛИНЕЙНЫХ СИСТЕМ
УПРАВЛЕНИЯ
Мироновский Л. А.
Университет аэрокосмического приборостроения, Санкт-Петербург,
e-mail: mir@aanet.ru
При исследовании систем управления важную роль играют канонические представления, обладающие различными свойствами. В данной работе вводится новое каноническое представление, полезное при исследовании нулевых режимов систем управления. Это так называемое контурное представление и связанная с ним контурная каноническая форма. В
них в явном виде выделяется подсистема, полюсы которой совпадают с
нулями исходной системы.
Рассмотрим скалярную линейную систему, заданную передаточной
функцией
an =1, bm =k≠ 0, m<n.
(1)
Величина l = n–m>0, равная разности порядков числителя и знаменателя передаточной функции, называется относительным порядком системы
и характеризует ее инерционность. Наряду с описанием (1) будем использовать описание в пространстве состояний
X = AX + b u , y = cX ,
(2)
где u и y — входной и выходной сигнал системы, Х — вектор состояния.
В рамках этого описания относительный порядок системы может
быть найден как номер первого ненулевого марковского параметра в последовательности h0 = cb, h1 = cAb, h2 = cA 2 b, …. Числа m, n, l несут важную
информацию о структуре и особенностях системы — числе ее нулей, полюсов, времени запаздывания. Следующей леммой вводится полезная декомпозиция системы на две подсистемы порядков l и m.
Лемма (о контурном представлении передаточной функции).
Любую систему с передаточной функцией (1) можно единственным образом представить в виде встречно-параллельного соединения двух подсистем с передаточными функциями (рис. 1)
Q0 ( p ) =
1
,
A0 ( p )
Q1 ( p) =
B0 ( p )
,
B( p )
(2)
где порядок полинома А0(р) равен относительному порядку системы l, порядок полинома В(р) равен m, а порядок полинома В0(р) меньше m, так что
дробь Q1(p) — правильная.
1056
Секция 3. Проектирование систем автоматического управления и регулирования
u
Q0(p)
y
-1
Q1(p)
Рис. 1.
Указанное представление получается в результате выполнения
первого шага разложения Q(p) в цепную дробь по алгоритму Евклида. Оно
явно выделяет часть системы, отвечающую за запаздывание ее выходного
сигнала относительно входного. Характерная черта такого представления — наличие в сигнальном графе системы только одного прямого пути
от входа до выхода, причем этот путь проходит через l интеграторов.
В пространстве состояний контурному представлению (2) соответствует контурная каноническая форма. В отличие от других канонических
~
форм — модальных, сопровождающих, цепных — матрица A контурного
представления содержит в себе информацию обо всех трех матрицах A, b, c
исходной системы, а не только о матрице А. Таким образом, в первую оче~
редь она характеризуется предельно простым видом матриц b , c~ , которые
содержат только по одному ненулевому элементу, и уже затем регулярной
~
структурой матрицы A , содержащей n + m + 1 варьируемых параметров
(все они расположены в двух столбцах).
Для получения контурного представления надо записать обратную
передаточную функцию
1
A( p)
=
, выделить в ней целую часть — полиQ( p) B( p)
ном А0(р) и остаток — полином В0(р). Это можно сделать всегда, и притом
единственным образом. В пакете MATLAB для этого удобно использовать
функцию deconv.
Более сложной является процедура получения контурного представления для систем, заданных описанием в пространстве состояний (2). Очевидный, но несколько громоздкий алгоритм состоит в следующем.
Алгоритм 1.
Шаг 1. Используя формулу Q(p) = c(pE–A)–1b или любой другой способ, вычислить передаточную функцию системы;
Шаг 2. Для найденной передаточной функции Q(p) = B(p)/A(p), найти
полиномы А0(р) и В0(р) ее контурного представления;
Шаг 3. Выполнить обратный переход от описания с помощью передаточных функций к описанию в пространстве состояний.
Реализация алгоритма 1 на языке MATLAB имеет вид:
sys=ss(a,b,c,0);
1057
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
stf=tf(sys);
[N,D] = TFDATA(stf,'v');
k0=min(find(abs(N)>1e-9));
N0=N(k0:end);
[A0,B0]=deconv(D,N0);
k1=min(find(abs(B0)>1e-9));
B1=B0(k1:end);
Q0=tf(1,A0);
Q1=tf(B1,N);
A11=fliplr(rot90(compan(A0)));
A22=fliplr(rot90(compan(N0)));
A12=zeros(length(A11),length(A22));
A12(1,end)=-1;
A21=zeros(length(A22),length(A11));
A21(:,end)=rot90(B1);
a1=[A11 A12; A21 A22];
b1=zeros(length(a1),1);
b1(1)=N0(1);
c1=zeros(1,length(a1));
c1(length(A11))=1;
sys1=ss(a1,b1,c1,0);
%Feedback Canonical Form
T=ctrb(sys)*(ctrb(sys1))^-1;
% state transformation matrix T
Недостаток приведенного алгоритма состоит в трудности пересчета
начальных условий контурного представления в начальные условия исходной системы и обратно.
Поставим задачу отыскания алгоритма перехода от исходного описания системы (2) к ее описанию в пространстве состояний. Для этого
сформулируем требования к матричному описанию контурного представления. Обозначим матрицы подсистемы Q0 через A0, b0, c0, а матрицы подсистемы Q1 — через A1, b1, c1. Из леммы и схемы рис.1 вытекает, что c0 =
ek, b0 = e1Т= [1 0 … 0]T, где ei — i-й единичный орт. Кроме того, дифференциальное уравнение для подсистемы Q0 не должно содержать производных
в правой части, т. е. первые l–1 марковских параметров этой подсистемы
должны быть равны нулю
(3)
h0 = cb = 0, h1 = cAb = 0, …, hl − 2 = cAl − 2b = 0.
Тогда выходной сигнал y(t) и его производные можно принять за переменные состояния подсистемы Q0.
Обозначим через Z1 = [ y, y , , y ( l −1) ]T вектор состояния подсистемы
Q0, через Z2 — вектор состояния подсистемы Q1 с выходом v, а через
Z 
Z =  1  – вектор состояния контурного представления системы. Матричное
Z 2 
описание схемы с обратной связью, представленной на рис. 1, имеет вид:
Z1 = A11 Z1 + b0 u − b1v,
y = c0 Z1;
Z 2 = A22 Z 2 + b1 y,
v = c1 Z 2 .
Его можно переписать в форме
1058
Секция 3. Проектирование систем автоматического управления и регулирования
~
~
Z = A Z + b u,
y = c~Z ,
(4)
~ ~
где матрицы A, b , c~ имеют блочную структуру.
~
Матрицы b , c~ имеют ровно по одному ненулевому элементу, а вне~
диагональные клетки матрицы A содержат одну ненулевую строку и один
ненулевой столбец. Клетки А11 и А22 имеют размеры lxl и (m-l)x(m-l) соответственно, а размеры внедиагональных клеток lx(m-l) и (m-k)xl, где l —
это относительный порядок передаточной функции системы.
~ ~
Указанная структура матриц A, b , c~ следует из равенств (3) для марковских параметров. Внутренняя структура матриц А0 и А1 в контурном
представлении принципиальной роли не играет и может быть взята, например, сопровождающей.
Системы (2) и (4) подобны, поэтому их матрицы должны быть связаны преобразованием вида
~
~
A = T −1 AT , b = T −1b, c~ = cT , X (0) = TZ (0),
(6)
где Т — невырожденная матрица замены переменных X=TZ. Поэтому проблема преобразования исходной системы, заданной своим описанием в
пространстве состояний (2), к контурному представлению, сводится к отысканию матрицы Т.
Один из способов отыскания матрицы Т опирается на процедуру,
описанную выше. Он состоит в том, чтобы сначала по исходному описанию
системы
(2)
найти
ее
передаточную
функцию
−1
Q( p ) = c( pE − A) b = B( p) / A( p ), далее, выполнив один шаг алгоритма Евклида, перейти к контурному представлению передаточной функции. Затем,
выписав для него матрицы A0, b0, c0, A1, b1, c1, сформировать по ним матри~ ~
цы A, b , c~ , после чего решить стандартную задачу отыскания матрицы замены переменных Т, связывающей две известные эквивалентные реализа~ ~
~
ции (A, b, c) и ( A, b , c~ ). Один из вариантов решения дает формула T = RR −1 ,
~
где R и R — матрицы управляемости систем (3) и (4).
Ясно, что это достаточно громоздкий способ, поэтому желательно
найти более простой алгоритм, не требующий перехода от описания в пространстве состояний к передаточным функциям.
Используем имеющуюся свободу в задании матрицы Т для приведе~
ния диагональных клеток матрицы A к фробениусовой форме вида
×
×



×
 ×
1
0
0
1
0
0
0
0
0
0
0
0
0
0 
,

1
0 
где крестиками обозначены варьируемые элементы матрицы (коэффициенты ее характеристического полинома с обратным знаком).
В этом случае матрицы (6) примут вид:
1059
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
 − α b −1
− α
 b−2


 − α1
~  − α0
A
=
 β m −1
β
 m−2

 β
 1
 β 0
c~ = [ 1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
− bm −1
1
0
0
0
0
0
0
− bm − 2
0
1
0
0
0
0
0
− b1
0
0
0
0
0
0
0
− b0
0
0
0
0
0
0
0
0
0
0
0
0 


0
0
,
0
0


1

0 
0
0
0
 
 
 
0
~ l 
b =  ,
0
0
 
 
0
 
 0 
(7)
0 ].
Такому описанию отвечает структурная реализация контурного
представления, при которой подсистемы Q0 и Q1 реализованы в идентификационной канонической форме, а знак отрицательной обратной связи учтен в коэффициентах β 0 , ..., β m −1.
~ ~
Число варьируемых параметров в матрицах A, b , c~ равно n+m+1,
т. е. совпадает с числом коэффициентов передаточной функции (1). Отсюда вытекает, что контурное представление с матрицами (7) единственно,
поэтому оно является канонической формой.
Матрицы контурной канонической формы имеют следующие характерные черты:
~
– все столбцы матрицы A , кроме двух, имеют вид единичных ортов;
~
– матрица A имеет вид матрицы Хессенберга с единичной наддиагональю a~k +1,k = β0;
~
– диагональные блоки А11 и А12 размеров lxl и (m-k)x(m-k) матрицы A
имеют фробениусову структуру с ненулевыми последними столбцами;
~
– все элементы блока А12 матрицы A равны нулю, за исключением единичного элемента в ее левом нижнем углу;
~
– все элементы блока А21 матрицы A1 , кроме первого столбца, равны нулю;
~
– матрица-столбец b имеет вид единичного орта еk, домноженного на
значение первого ненулевого марковского параметра системы hl = k;
– матрица-строка c~ имеет вид единичного орта еlT.
В отличие от других канонических форм — модальных, сопровож~
дающих, цепных — матрица A контурной канонической формы содержит
в себе информацию о всех трех матрицах A, b, c исходной системы, а не
только о матрице А. В первую очередь она характеризуется предельно
~
простым видом матриц b , c~ , которые содержат только по одному ненуле~
вому элементу, и уже затем регулярной структурой матрицы A , содержа1060
Секция 3. Проектирование систем автоматического управления и регулирования
щей n + m + 1 варьируемых параметров (все они расположены в двух
столбцах).
Процедуры построения по известным матрицам A, b, c сводится к
отысканию матрицы Т перехода от исходного базиса к каноническому.
Выпишем базовые соотношения, которым должны удовлетворять эти матрицы:
~
~
~
~
Tb = b,
c~ = cT ,
TA = AT ,
TR = R, D = DT .
(8)
~
~
Здесь через R, R и D, D обозначены матрицы управляемости и наблюдаемости системы в исходном и каноническом базисах
 c~ 
 ~~ 
~  cA 
D=
.
(9)


~ ~ n −1 
c A 
~
Заметим, что первые l столбцов матрицы R пропорциональны единичным ортам: b~ = kel , A~ b~ = kel , ..., A~ l −1b~ = kek . Из равенства TA~ l −1b~ = Al −1b сразу
[
]
 c 
 cA 
,
D=


~ ~
~ ~ ~~
 n −1 
R = b , A b , ..., A n −1b ,
cA 
R = b, Ab, ..., A n −1b ,
[
]
следует, что первый столбец Т1 матриц Т пропорционален вектору
~ ib~ = Aib, i = 1, 2, ..., l − 1 получаем: kТ = Al-2 b,
Al −1b : kT1 = Al −1b. Из равенств TA
2
l-3
kT3 = A b, …, kTb = b.
Тем самым оказываются определенными первые l столбцов матрицы
Т:
Ti = Al − i1b / k , i = 1, ..., l.
Последние ее столбцы связаны рекуррентными соотношениями
Tk +3 = ATk + 2 , ..., Tn = ATn −1 ,
(10)
~
которые следуют из анализа равенства TA = AT с учетом простой структу~
ры столбцов матрицы A с номерами от k+1 до n–1 (они имеют вид единичTk + 2 = ATk +1 ,
ных ортов). Для того чтобы эти соотношения можно было использовать,
нужно сначала определить столбец Тk+1. Соотношение для его определения
имеет вид:
DTk +1 = −e n ,
Tk +1 = − D −1e n .
Тем самым искомый столбец Тk+1 равен последнему столбцу обратной матрицы наблюдаемости, взятому со знаком минус.
Таким образом, алгоритм преобразования матриц исходной системы
(2) к контурной канонической форме (7), содержит следующие шаги.
Алгоритм 2.
Шаг 1. Вычислить матрицу управляемости R (9) и определить относительный порядок системы k как номер первого ненулевого элемента в
векторе-строке cR.
Шаг 2. Взять в качестве первых k столбцов матрицы Т первые k
столбцов матрицы управляемости R.
1061
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Шаг 3. Вычислить матрицу наблюдаемости D (9), обратную матрицу
D и взять в качестве (k +1)-го столбца Тk+1 матрицы Т последний столбец
матрицы D-1 со знаком минус.
Шаг 4. Вычислить оставшиеся столбцы матрицы Т, используя рекуррентное соотношение (10) Ti+1 = ATi, i = k, …, n–1.
Шаг 5. Вычислить матрицы канонической формы по формулам
-1
~
~
A = T −1 AT , b = T −1b, c~ = cT .
Приведенный алгоритм содержит простые линейные операции и одну операцию вычисления обратной матрицы (фактически нам нужна не вся
матрица D-1, а только ее последний столбец).
Реализация алгоритма 2 на языке MATLAB имеет вид:
sys=ss(a,b,c,0);
n=length(sys.a);
R=ctrb(sys);mp=sys.c*R;
%marcovian parameters
k=min(find(abs(mp)>1e-9));
m=n-k;
D=obsv(sys);
invD=inv(D);
T0=R(:,1:k);
T1=-invD(:,n);
% first part of matrix T
T2=zeros(n,m-1);
T2(:,1)=T1;
% second part of matrix T
for I=1:m-1,
T2(:,I+1)=sys.a*T2(:,I);
end
T=[T0 T2];
sys1=ss2ss(sys,inv(T));
%Feedback Canonical Form
В заключение перечислим некоторые свойства контурной канонической формы.
Свойство 1. Нули системы (1) равны собственным числам диагональной клетки А22 матрицы A~ контурной канонической формы (5), т. е.
полюсам подсистемы Z 2 = A22 Z 2 .
Свойство 2. Контурная каноническая форма (5) наблюдаема при любых значениях ее параметров α i , β i , bi .
Свойство 3. Редукция контурной канонической формы, получаемая
вычеркиванием последних переменных состояния, сохраняет старшие коэффициенты числителя и знаменателя передаточной функции, а также ее
марковские параметры.
Работа выполнена при финансовой поддержке РФФИ (грант № 0401-00464) и Минобразования (грант № Т02-03.2-1113).
1062
Секция 3. Проектирование систем автоматического управления и регулирования
УДК 711.7
РОБАСТНОЕ ВОССТАНОВЛЕНИЕМ МАТРИЦ
КОРРЕСПОНДЕНЦИЙ С ИСПОЛЬЗОВАНИЕМ
БИБЛИОТЕКИ OPTIMIZATION TOOLBOX
Михайлов А. Ю., Головных И. М., Лагерев Р. Ю.
Иркутский государственный технический университет, Иркутск,
e-mail:road@istu.irk.ru
В данной статье изложены результаты исследований возможностей
применения OPTIMIZATION TOOLBOX для решения одной из наиболее
актуальных задач оценки улично-дорожных сетей (УДС). В зарубежной
теории и практике проектирования транспортных систем уже с 70-х годов
уделялось большое внимание методам восстановления матриц корреспонденций в виде потоков транспортных средств (Estimation of OriginDestination Matrix from Traffic Counts). Методы восстановления существующих матриц корреспонденций отнесены специалистами «Мировой дорожной ассоциации» (PIARC) к числу важнейших инструментов анализа
УДС. В американском руководстве Highway Capacity Manual 2000 восстановлению матриц корреспонденций уделено большое внимание (Глава 29
«Corridor analysis») и изложен метод такой оценки применительно к магистральным дорогам. По данной тематике имеется обширнейшая библиография, которую невозможно представить в рамках статьи.
В нашей стране в первую очередь получила развитие теория расчетов пассажиропотоков, в том числе, были предложены методы оценки существующих матриц корреспонденций на маршрутном пассажирском
транспорте [1]. Собственно методам восстановления матриц корреспонденций в виде потоков транспортных было посвящено лишь несколько исследований [3,4], что объяснялось относительно меньшим интересом к
проблемам проектирования и реконструкции УДС.
Продолжающийся рост автомобильного парка и объемов движения в
российских городах требует совершенствования инструментария проектирования и оценки УДС. Поэтому представляется интересным рассмотреть
возможности решения рассматриваемой задачи применительно к российским условиям, учитывая, в первую очередь применяющиеся методы обследований интенсивности движения. Как правило, такие обследования
проводятся в пиковые часы с подсчетом транспортных средств разных типов на всех направлениях движения на каждом из обследуемых перекрестков. Поэтому формулируется задача регрессионной оценки матрицы корреспонденций для следующих условий:
1063
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
• исходными данными являются замеры интенсивности движения на отдельных участках улично-дорожной сети, выполняемые в определенное
время в будние дни (например, вечерний час пик 17.00—19.00);
• исходные данные об интенсивности движения содержат ошибки (см.
рис. 3), вызванные проведением замеров в разные дни и ошибками самих подсчетов интенсивности движения.
Следует привести очень важную для понимания рассматриваемой
задачи цитату из HCM 2000 [6]: «Количество элементов матрицы корреспонденций всегда превосходит количество сегментов сети. Цель оценивания состоит не в определении точной матрицы корреспонденций, а в нахождении такой, которая достаточно близка к ней и соответствует данным
интенсивности движения.» (глава 29 «Corridor analysis»с. 29-30). Следует
пояснить, что под сегментами в оригинальном тексте понимаются дуги
графа, которым представлено описание сети.
В последние годы восстановление матриц корреспонденций по замерам на дугах сети применяется для информационных сетей (Y. Zhang и др.
[7], A. Medina и др. [8]). Также отмечается (A. Medina и др. [8]), что в рассматриваемых задачах количество оцениваемых корреспонденций N (корреспонденции xi, i = 1,2,…, N) значительно превосходит количество дуг K,
на которых известны нагрузки, т. е. N>>K.
В отличии от HCM 2000 рассматривается не «транспортный коридор», а участок УДС. С целью использования распределения потоков по
принципу «все или ничего» (all or nothing) УДС разделяется на отдельные
«маршруты», или (как в HCM 2000) «направления движения» (рис 1 — 2).
Таким образом, матрицы описывающая принадлежность корреспонденций
дугам графа будет состоять из 1 и 0 (наличие или отсутствие данной корреспонденции).
3
1
5
6
2
4
7
9
8
10
k-5
11
12
13
14
k-7
k-6
k-4
k-3
k-1
k
k-2
Рис. 1. Представление маршрута движения в виде ориентированного графа для определения матрицы корреспонденций: 1,3,4,5,7,9,10,11,13, …, k-4, k-5, k-4, k-3, k-2, k - вершины графа, в которых возникают и заканчиваются корреспонденции (O-D pairs).
1064
Секция 3. Проектирование систем автоматического управления и регулирования
а) вершины матрицы корреспонденций транзитных потоков («загрузочные» вершины) центра Иркутска и интенсивности движения
в вечерний час пик, физ.ед./ч
б) граф для оценки матрицы корреспонденций из вершины 1 в вершины 1,2,3, …, 20, используемой
для оценки транзитных потоков из
вершины 5 в вершины 1,2,3
б) транзитные потоки из вершины
5 в вершины 1,2,3, полученные
при оценке матрицы корреспонденций для графа УДС, представленного ершинами 1,2,3, …, 20,
Рис. 2. Определение матрицы корреспонденций для транзитных потоков в центральной
части Иркутска: а — исходные потоки на водах и выходах в центральную часть города,
для которых рассчитывается матрица корреспонденций; б — один из маршрутов движения, на которые разделяется УДС, и для которых строятся графы и рассчитываются
матрицы корреспонденций; в — результат оценки транзитных потоков, для одного из
входов в центральную часть.
Отдельно рассматриваемое направление движения (маршрут) представляется в виде графа (рис. 1 и 3), для которого определяется своя мат1065
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
рица корреспонденций. Соответственно начальными и конечными пунктам
корреспонденций являются поворотные потоки на перекрестках, т. е. входящие потоки на улицу или выходящие с нее (рис. 1). Вместо центроидов
расчетных транспортных районов используются «нагрузочные» вершины
сети (рис. 2), образующиеся на границах рассматриваемого участка УДС, в
которых начинаются и оканчиваются корреспонденции.
Сформулированная задача регрессионного оценивания корреспонденций предполагает использование статистических процедур устойчивых
к выбросам (т. е. грубым ошибкам данных). Один из приемов робастной
оценки параметров регрессии θ состоит в использовании вместо суммы
n
∑ ei2
квадратов отклонений регрессии
минимизации целевой функции
i =1
n
n
v
v
∑ ei =∑ yi − θ ,
i =1
(1)
i =1
где v — показатель степени, значения которого принимают в диапазоне
1 ≤ v < 2.
Оценки (1) предложено называть Lv оценками [3]. Устойчивость такой аппроксимации по сравнению с методом наименьших квадратов вызвана тем, что большие отклонения (yi–θ) меньше влияют на целевую
функцию. Поэтому показатель степени v интерпретируется некоторыми
авторами как фильтр выбросов [3].
Частным случаем (ν = 1) оценки (1) является минимизация суммы
абсолютных модулей отклонений, т. е. метод наименьших модулей (МНМ)
n
n
m
i =1
i =1
j =1
∑ ei = ∑ yi − ∑ a j xij ,
(2)
Аппроксимацию (2) можно рассматривать как задачу линейного программирования с минимизацией целевой функции в виде взвешенной суммы модулей ошибок ei [5]
m
∑ wi ( g i + hi ),
(3)
i =1
где gi = max0, ei, hi = min-ei, 0; wi — весовые коэффициенты, при ограничениях (в случае простого МНМ весовые коэффициенты wi принимаются равными 1).
Ограничения задачи (3): Ax + g − h = y ; w ≥ 0, g ≥ 0, h ≥ 0.
При определении вектора корреспонденций x (вектор-столбец размерности m × 1 ), решается задача линейного программирования для нового
вектора переменных x2 размерности (m + 2n) ×1 . В целевую функцию (3), которой является сумма модулей ошибок, входит лишь часть вектора переменных x2. Матрица коэффициентов A размера n × m преобразуется в мат1066
Секция 3. Проектирование систем автоматического управления и регулирования
рицу A2 размером
матрицами d1 и d2.
 a11
a
A2 =  21
…

 an1
n × ( m + 2n ) ,
a12 … a1m
a 22 … a 2 m
… … …
a n 2 … a nm
т. е. дополняется двумя диагональными
−1
0
0
0

… … … … … … … 0

0 0 0 1 0 0 … − 1
1
0
0
1
…
…
0
0
0 …
−1 …
Вектор ошибок е i определяется учетом результатов оценки вектора
корреспонденций x i-1 на предыдущей итерации. В зависимости от знака
ошибки ei задаются элементы вектора x2, начиная с индекса m+1. Таким
образом, задача (3) формулируется в следующем виде
m+ 2n
min ∑ wi xi ,
(4)
i = m +1
при условии
A2 x2 = y; x ≥ 0 .
При проведении первой итерации для определения весовых коэффициентов wi необходим оцененный каким-либо методом вектор x0, при этом
допускаются даже экспертные оценки [2]. Применительно к рассматриваемой задаче такой начальной оценкой x0 могут быть старая матрица, матрица, полученная в результате предварительного расчета, в самом крайнем
случае — экспертная оценка. Начальные значения корреспонденций xij0 определялись автором с использованием простой гравитационной модели
xij0 = ai b j Ai B j ,
(5)
где xij — количество транспортных средств, следующих из вершины i в
вершину j; ai — интенсивность движения из i; bj — интенсивность движения в j; Ai, Bj — коэффициенты балансировки по столбцам и строкам матрицы.
Минимизация целевой функции (4), рассматривается задача линейного программирования со смешанными ограничениями
min wT x ,
(6)
при линейных ограничениях, в которых матрица A2 получается на основе
матрицы инцидентности A
A2 x2 = y;
(7)
и двухсторонних ограничениях
xlb ≤ x ≤ xub.
(8)
Исходные данные включают:
A — матрицу инцидентности ранга n×m, задает принадлежность
корреспонденций дугам графа сети, ее элементы aij имеют значение 0 или
1. если корреспонденция j проходит по дуге i, то aij = 1, в противном слу1067
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
чае aij = 0, где i =1,2…n, n —количество дуг графа УДС, на которых задана
интенсивность движения, j =1,2…,m, m — количество корреспонденций .
y — вектор-столбец значений интенсивности движения на дугах сети;
x0 — начальное приближение значений корреспонденций — исходный вектор-столбец значений, который может быть задан: в виде старой
матрицы корреспонденций, преобразованной в вектор; значениями корреспонденций, полученными в результате экспертной оценки; в виде оценки матрицы корреспонденций, полученной с использованием гравитационной модели ;
lb — коэффициент, задающий нижние допустимые значения корреспонденций xlb=x lb;
ub — коэффициент, задающий верхние допустимые значения корреспонденций xub=x ub;
div — коэффициент, задающий верхние допустимые значения искусственных переменных xubi = xi ⁄ div;
v−2
.
v — показатель степени весовых коэффициентов wi = ei
В результате решения получаем векторы-столбцы:
x — восстановленные значения корреспонденций;
ŷ– теоретические значения интенсивности движения на дугах, рассчитанные на основе восстановленных корреспонденций ŷ = A x;
e — остатки (ошибки) регрессии — разность между наблюдаемыми
и рассчитанными значениями интенсивности движения на дугах e = y−A x.
Оценка точности регрессии основана на парном сравнении замеренных yi и оцененных y i значений потоков на дугах (т. е. анализ остатков
регрессии e = y − A*x) и использовании статистик:
• критерий Стьюдента для парного сравнения исходных и оцененных
значений потоков;
• средняя абсолютная разность пар замеренных и оцененных значений
потоков eabs = ∑ ei n ;
i
• отношение средней абсолютной ошибки к среднему значению интенсивности движения E = eabs y .
Для предварительной оценки качества исходных данных и наличия в
них грубых ошибок (рис. 3, а): предлагается рассматривать УДС в следующем виде (рис. 3, б):
входящие на перегон F(in)i и выходящие F(out)i с перегона потоки
образуют пары;
для оценки статистической однородности выборок значений интенсивности движения и выявления выбросов используются значения разностей пар
1068
Секция 3. Проектирование систем автоматического управления и регулирования
di = V(out)i − V(in)i.
ул.К.Маркса
379
768
874
ул.Дзержинского
669
143
ул.Ленина
257
68 298
(9)
689
ул.Тимирязева
996
602
ул.Седова
829
768
257
874
689
669
Ленина
1733 1665
602
996
а)
V3
V6
V(out)2
V2
V(in)2
V(in)1
V(out)1
V5
V4
V1
б)
Рис. 3. Возникновение ошибки при проведении обследований интенсивности движения
(а) и представление перегона улицы в модели оценки ошибок подсчетов интенсивности
движения (б).
Оценка качества данных интенсивности движения сводится к проверке гипотезы, что связанные выборки V(out)i и V(in)i принадлежат к одной генеральной совокупности, для их сравнения используется критерий
Стьюдента для разностей пар. Кроме проверки близости выборок используются следующие критерии:
средняя абсолютная ошибка
d abs = ∑ d i n .
(10)
i
отношение средней абсолютной ошибки к среднему значению интенсивности движения на перегоне в одном направлении
E = d abs V .
(11)
Для выявления грубых ошибок исходных данных следует использовать нормированное отклонение z = (di − d ) Sd , рассчитываемое для разностей пар входящих и выходящих потоков di = V(out)i − V(in)i.
1069
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
В соответствии с имевшимися данными (материалы обследований:
С.Петербург 1977–1978 гг., 1985–1988 г.г.; Иркутск 1995 г., центральная
часть Иркутска 1998 г.) максимальные абсолютные значения ошибок достигают 450–470 авт./ч. (в одном направлении). Диапазон значений средней
абсолютной ошибки составил d abs =53.8–190.6, а значений отношения
d abs V имеет разброс от 0.082 до 0.391. Средняя абсолютная ошибка составила 115.3 авт./ч., при этом средняя абсолютная ошибка составляет в среднем 19% интенсивности движения. Анализ ошибок обследований интенсивности движения позволило сформулировать требования к точности
восстановления матриц корреспонденций. Представляется, что приемлемая
точность восстановления корреспонденций ±10…±20 авт/ч, которую можно использовать в качестве допустимой невязки итераций.
По результатам тестирования с применением искусственных данных
без ошибок, искусственных загрязненных данных (максимальные ошибки
±350 авт/ч) и реальных данных простой МНМ (все весовые коэффициенты
wi =1) имеет более высокую скоростью схождения по сравнению с взвешенным МНМ (рис. 4).
Анализ ошибок оценки корреспонденций d abs , значений потоков
eabs и невязок оценок корреспонденций ∆d i = xin − xin−1 ≤ 20
( xin и
xin −1 — соответственно оценки корреспонденции xi на итерациях n−1 и n)
показывает, что необходимая сходимость достигается простым МНМ на 2ой итерации (см. рис. 4). В этой связи для практического использования
рекомендуется процедура восстановления матрицы с использованием простого МНМ или комбинированного МНМ (вторая итерация — взвешенный
МНМ).
Установлено, что наибольший эффект на качество восстановления
корреспонденций и значений потоков оказывают двухсторонние ограничения (8) корреспонденций xi i= 1,2,…,m и искусственных переменных xi,
i=m+1,m+2,…,m+2n.
1070
100
100
90
90
80
80
70
70
60
60
50
50
40
40
остатки регрессии
остатки регресси
Секция 3. Проектирование систем автоматического управления и регулирования
30
20
10
0
-10
30
20
10
0
-10
-20
-20
-30
-30
-40
-40
-50
-50
-60
-60
-70
-70
шаг 0
шаг 1
итерации
а)
шаг 2
шаг 0
шаг 1
шаг 2
итерации
б)
Рис. 4 Ошибки значений потоков ei = yi − y i (остатки регрессии) на 0-й — 2-й итерациях: а — взвешенный МНМ; б — сочетание итераций: 1-я — простой МНМ,
2-я — взвешенный МНМ.
В соответствии с результатами тестирования рекомендуются следующие значения ограничений:
– нижние ограничения оцениваемых переменных xlbi=kxi, k=0;
– верхние ограничения оцениваемых переменных xubi=kx I , k ≥ 2 ;
– нижние ограничения искусственных переменных xlbi= 0,
i=m+1,m+2,…, m+2n;
– верхние ограничения искусственных переменных xubm+j = (1⁄div) xj
и xubm+n+j = (xj ⁄div) рассчитывать для div ≥ 30 , где xj — модуль
1071
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
остатка регрессии ej, полученный на предыдущей итерации, n —
количество дуг графа УДС, на которых заданы значения интенсивности движения; j = 1,2,…,n.
Восстановление матриц корреспонденций можно выполнять с использованием функций:
LP библиотеки Optimization Toolbox 2.0 версий пакета MATLAB 5.1
и 5.2;
LINPROG библиотеки Optimization Toolbox 2.2 версии пакета
MATLAB 6.1
Выбор пакета MATLAB для решения задачи восстановления матриц
корреспонденций обусловлен тем, что пакет:
– ориентирован на выполнение операций с векторами и матрицами,
в том числе разряженными матрицами;
– применяется для решения сетевых задач [7], в том числе на его
основе осуществляется разработка приложений для транспортных
задач, например, программа DelftOD Version 2.0 (автор Nanne J.
van der Zijpp, Delft University of Technology — http:// www.delftod.
tudelft.nl);
– достаточно известен и распространен в нашей стране, имеет сопровождение .
Предложенный метод полностью основан на применении стандартных математических библиотек и не требует специальных профессиональных знаний в области программирования, поэтому прост и доступен. Поскольку в составе пакета MATLAB есть средства разработки графического
интерфейса и обмена данными с Exсel имеется возможность разработки
специального приложения для среды MATLAB. В дальнейшем авторы
планируют рассмотреть возможности применения метода робастного восстановления корреспонденций пассажирских (межостановочных матриц
корреспонденций) пешеходных потоков, а также разработать графический
интерфейс на примере DelftOD Version 2.0 с помощью приложения «GUI»
пакета MATLAB (Graphical User Interfaces), при этом создать возможность
синхронизации данных между табличным процессором Excel через приложение «Excel Link», для удобства сбора и подготовки исходных данных.
В завершение следует отметить, что опубликованное в августе 2003
решение задачи восстановления матриц корреспонденций в информационных сетях [8] также использует в качестве начальной итерации гравитационную модель, но следующей итерации рассматривается задача томографии, решаемая методами квадратичного программирования — т. е. применяется взвешенный метод наименьших квадратов. В нашем случае маршруты (см. рис. 1, 2) описываются матрицами, имеющими плохую обусловленность, поэтому тесты по использованию взвешенного метода наименьших квадратов (1998–2001 гг.) показали его непригодность.
1072
Секция 3. Проектирование систем автоматического управления и регулирования
Литература
1. Артынов А. П., Скалецкий И. И. Автоматизация процессов планирования и управления транспортными системам.— М.: Транспорт, 1981.—
280 с
2. Демиденко У. З. Линейная и нелинейная регрессия.— М.: Финансы и
статистика, 1981.— 302 с.
3. Киселева О. Н., Сена С. Л., Федоров В. П. Определение матрицы существующих грузовых корреспонденций на основе обследований на магистральной сети // Социально-экономические проблемы развития транспортных систем городов. Тез. докл. второй обл. эконом. конф.—
Свердловск, 1988.— С.95–98.
4. Мягков В. Н., Пальчиков Н. С., Федоров В. П. Математическое обеспечение градостроительного проектирования.— Л.: Наука, 1989. — 144 с.
5. Петрович М.Л. Регрессионный анализ и его математическое обеспечение на ЕС ЭВМ: Практическое руководство.— М.: Финансы и статистика, 1982. — 199 с.
6. Highway Capacity Manual — TRB, Washington, DC, 2000.— 1134 p.
7. Medina A., Taft N., Salamatian K, Bhattacharyya S., Diot C. Traffic Matrix
Estimation: Existing Techniques and New Directions // SIGCOMM’02.—
August 19–23, 2002. — 15 p. (Available: http://gaia.cs.umass.edu
/measurement/traffic_matrix_estimation pdf).
8. Yin Zhang, Roughan M., Duffield N., Greenberg A. Fast Accurate Computation of LargeScale IP Traffic Matrices from Link Loads // SIGMETRICS’03.— Jn.10–14,2003.— 12 p.(Available:http://www.research.att.com).
1073
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
УДК 517.977
ПРИМЕНЕНИЕ SEDUMI ИНТЕРФЕЙСА К РЕШЕНИЮ
ЗАДАЧ РОБАСТНОГО УПРАВЛЕНИЯ С ОБРАТНОЙ
СВЯЗЬЮ ПО ВЫХОДУ
Пакшин П. В., Митрофанов И. Н.
Арзамасский филиал Нижегородского государственного технического
университета, Арзамас,
e-mail: pakshin@afngtu.nnov.ru
Линейные матричные неравенства в теории управления
В задачах робастного управления имеют большое значение и активно применяются методы выпуклой оптимизации, в частности методы, основанные на линейных матричных неравенствах (Linear Matrix Inequalities,
LMI) [1].
Теория линейных матричных неравенств восходит своими истоками
к работе А.М. Ляпунова об устойчивости движения. В 1890 г. Ляпунов показал, что система, описываемая линейным дифференциальным уравнением x(t ) = Ax(t ) устойчива тогда и только тогда, когда существует положительно определенная матрица P > 0 , удовлетворяющая матричному неравенству AT P + PA < 0 .
В середине прошлого века А. И. Лурье и другие исследователи применяли методы Ляпунова к различным задачам теории управления. В 60-х
и 70-х годах, благодаря работам В. А. Якубовича, В. М. Попова и Р. Э.
Калмана, появились критерии устойчивости нелинейных систем, основанные на LMI. Помимо ручного метода решения LMI (применимого только к
самым простым системам) появились графические методы, а также методы
решения LMI, связанные с решением уравнений Риккати.
В 80-х годах Е. С. Пятницкий и В. И. Скородинский впервые предложили рассматривать LMI как задачу выпуклой оптимизации и решать ее
численными методами, в частности — с помощью алгоритма эллипсоидов.
Ю. Е. Нестеров и А. С. Немировский в 1988 г. разработали чрезвычайно
эффективный алгоритм внутренней точки, который в дальнейшем стал базовым для численного решения LMI [1,2].
Множество задач теории управления, не имеющих аналитического
решения, оказалось возможным решить численно, способом проверки совместности (feasibility) некоторой системы LMI и/или оптимизации некоторой линейной целевой функции на выпуклом множестве, заданном в виде LMI. Особые свойства LMI (легкость сведения систем LMI к одному
LMI, возможность преобразования нелинейных неравенств в линейные с
1074
Секция 3. Проектирование систем автоматического управления и регулирования
помощью теоремы Шура, и т. п.) сделали данный инструмент анализа популярным инструментом исследования систем управления [1,2]. Здесь интересно отметить, что во всем мире признана ведущая роль российских
ученых в развитии теоретических основ LMI. Так, по мнению авторов наиболее цитируемой монографии [1] Ляпунова следовало бы считать дедушкой, а Якубовича — отцом рассматриваемого научного направления. В то
же время все программное обеспечение, в том числе и с участием российских авторов разработано за пределами России
Обзор современных LMI-решателей
Появление алгоритма внутренней точки стимулировало появление
множества различных программных пакетов, предназначенных для решения LMI. Среди них можно отметить SeDuMi, SDPA, SDPHA, SDPPack,
SDPT3, CSDP, CUTSDP, DSDP. Они отличаются друг от друга способами
задания неравенств, интерфейсом, количеством опций, скоростью сходимости, надежностью и другими особенностями [3].
Практически все эти пакеты имеют интерфейсы для их использования в среде MATLAB [4]. Все эти интерфейсы можно условно разделить на
два класса: визуальные и текстовые.
Визуальные интерфейсы (например, LMITOOL, sdpsol, LMI Control
Toolbox) предоставляют возможность записывать LMI в виде математических формул. При всей наглядности и сравнительной простоте использования подобных интерфейсов они обладают рядом существенных недостатков: низкой скоростью работы и отсутствием гибкости в решении нестандартных задач.
Текстовые интерфейсы (LMI Toolbox, YALMIP, LMILab translator)
исповедуют иной подход: пользователю предоставляется набор команд, с
помощью которых он инициализирует пакет, декларирует переменные, задает неравенства и целевые ограничения, запускает процесс оптимизации и
производит анализ полученного решения. Трудоемкость такого способа
задания LMI зачастую бывает довольно высока, однако она вполне компенсируется его гибкостью и доступом ко всем возможностям используемого программного пакета.
По-видимому, самым популярным интерфейсом для решения LMI на
сегодняшний день является LMI Control Toolbox, включенный в состав
MATLAB [4]. Его несомненным достоинством является наличие инструмента визуального задания LMI. Вместе с тем, LMI Control Toolbox имеет
и ряд недостатков, среди которых — отсутствие поддержки линейных матричных уравнений (Linear Matrix Equalities, LME).
Этот факт послужил одной из причин выбора для решения рассматриваемой в данной работе задачи синтеза робастного регулятора интерфейса SeDuMi [3], который относится к классу текстовых интерфейсов.
1075
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Особенности SeDuMi интерфейса
Интерфейс SeDuMi разработан во Франции (авторы: Dimitri Peaucelle
и Krysten Taitz) и представляет собой MATLAB-интерфейс к голландскому
пакету SeDuMi (Self-Dual-Minimization Package, автор Jos F. Sturm).
К числу преимуществ SeDuMi относятся [3,5]:
1. Легкость использования в среде MATLAB;
2. Большая скорость работы, в сравнении с другими пакетами.
3. Обработка данных в разреженном (sparse) формате, что значительно
уменьшает расход оперативной памяти.
4. Возможность эффективного применения к задачам различной размерности.
5. Поддержка как LMI, так и LME–ограничений.
6. Работа как с действительными, так и с комплексными константами
и переменными.
7. Свободное (бесплатное) распространение.
8. Непрерывное совершенствование пакета.
Вместе с тем, SeDuMi Interface не лишен недостатков. В нем нет визуального интерфейса, отсутствует поддержка скалярно-диагональных
матриц вида γ ⋅ I . Особенности синтаксиса (например, необходимость использования коэффициента 0,5 при добавлении слагаемых в диагональные
блоки LMI) могут служить источником ошибок, диагностика которых затруднена.
Для иллюстрации стиля SeDuMi Interface приведем пример программы, проверяющей неравенство Ляпунова третьего порядка A' P + PA < 0 на
совместность (для запуска необходимо установить SeDuMi и SeDuMi Interface):
%set input arguments and create an LMI quiz
N = 3; A = -eye(N);
quiz = sdmpb('Test Lyapunov inequality for feasibility');
%declare an LMI variable
[quiz P] = sdmvar(quiz,N,'s');
%0 < P
[quiz ndx] = sdmlmi(quiz, N);
quiz = sdmineq(quiz,-ndx,P);
%A'P + PA < 0
[quiz ndx] = sdmlmi(quiz, N);
quiz = sdmineq(quiz,ndx,P,1,A);
%test for feasibility
quiz = sdmsol(quiz);
1076
Секция 3. Проектирование систем автоматического управления и регулирования
Синтез робастного регулятора
Рассмотрим применение SeDuMi Interface к задаче синтеза робастного стабилизирующего регулятора системы случайной структуры со статической обратной связью по выходу. В качестве конкретного примера такой
системы рассматривалась система стабилизации продольного движения
многорежимного летательного аппарата.
Объект управления описывается следующей системой дифференциальных уравнений:
(1)
x (t ) = Ai x (t ) + Bi u (t ), y (t ) = Ci x (t ) , если r (t ) = i
где x – вектор переменных состояния объекта, y – вектор выходa, u – вектор управления, r (t ) – марковская цепь с дискретным множеством состояν
ний N = {1,2 ,… ,ν } и переходной матрицей P (τ ) = exp(Πτ ), Π = [π ij ]1 , π ij ≥
≥ 0, j ≠ i, π ii = − ∑ j ≠ i π ij
ν
В момент времени τ вектор состояния x может измениться скачком
и его значение после скачка линейно зависит от значения до скачка:
x(τ ) = Φ ij x(τ − 0 ) , где Φ ij – постоянные матрицы, Φ ii = I .
Поскольку в реальных задачах управления вероятности переходов из
одного режима в другой не известны точно, предположим, что функция
Π = Π (δ ) является аффинной функцией векторного параметра δ , т. е.
Π (δ (t )) = Π 0 + δ 1Π 1 + … + δ k Π k для всех δ ∈ ∆ . Пусть неопределенные параметры δ j , j = 1,…, k принимают значения в интервале δ j ,δ j , т. е.
[
]
δ j ∈ [δ j ,δ j ]. Определим конечное множество углов области неопределен-
ности, как
∆0 = {δ = (δ 1 ,…, δ N ) | δ j ∈ [δ j , δ j ], j = 1,..., k }
Задача состоит в нахождении такого вектора управления со статической
обратной связью по выходу
u (t ) = −Gi y (t ) , если r (t ) = i,
которое обеспечивает устойчивость системы (1) в среднем квадратическом
в условиях указанных неопределенностей. Такое управление назовем робастным стабилизирующим
В основу предлагаемого метода синтеза робастного стабилизирующего управления положено следующее утверждение
Теорема 1. Система (1) робастно стабилизируема управлением со
статической обратной связью по выходу тогда и только тогда, когда для
некоторых симметричных матриц M i (δ ) и Ri > 0 существует решение
H i > 0 системы связанных уравнений Риккати
1077
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
AiT H i + H i Ai − H i Bi Ri− 1 BiT H i + M i (δ ) +
ν
∑π ij (δ )Φ ijT H jΦ ij = 0 , δ ∈ ∆0
(2)
j =1
и матрицы Li соответствующей размерности, удовлетворяющие системе
неравенств
( Ai − Bi K i )
T
H i + H i ( Ai − Bi K i ) +
S i = Li Ci+ Ci − BiT H i +
ν
∑π ij (δ )Φ ijT H jΦ ij − SiT K i − K iT S < 0 , (3)
j =1
BiT H i Ci+ Ci , , i ∈ N ,
δ ∈ ∆0 ,
где K i = Ri−1 BiT H i , а Ci+ — псевдообратная (по Муру–Пенроузу) к Ci матрица.
Матрица усиления робастного стабилизирующего управления имеет
вид:
Gi = Ri−1 BiT H i + Li Ci+ .
(
)
Алгоритм синтеза робастного стабилизирующего регулятора по выходным сигналам заключается в поиске решений H i (i ∈ N ) системы связанных уравнений Риккати (2) (метод, использующий LMI, описан в [6]), с
последующей проверкой совместности системы неравенств (3) и вычислением матрицы усиления регулятора Gi .
Данный алгоритм был реализован в среде MATLAB с использованием SeDuMi Interface и показал высокую эффективность в проведенных
численных экспериментах. Поддержка этим интерфейсом LME позволила
ввести дополнительное требование равенства матриц Gi во всех режимах
полета (условие одновременной стабилизации всех режимов фиксированным регулятором).
Кроме того, можно проверить является ли полученный регулятор робастным при учете неопределенностей матрицы объекта и нелинейностей в
управлении. Математическая модель, учитывающая эти факторы имеет
вид
x(t ) = [ Ai + Fi Ω (t )Ei ]x(t ) + Bi [u (t ) + ϕ (t , y )],
если r (t ) = i ,
(4)
y (t ) = Ci x(t )
где Fi и Ei — некоторые матрицы, характеризующие структуру неопределенностей, Ω (t ) — матрица неопределенных параметров, значение которой для каждого момента времени удовлетворяющая неравенству
I − Ω T (t )Ω (t ) > 0 , ϕ (t , y ) — нелинейная m -мерная векторная функция,
компоненты которой имеют вид
ϕ l (t , y ) = ϕ l (t , yl ),
ϕ l (t ,0 ) = 0 , (l = 1,… ,m )
и удовлетворяют ограничениям
1078
Секция 3. Проектирование систем автоматического управления и регулирования
0 ≤ ϕ l (t , yl ) yl ≤ κ l (i ) yl2 .
Для простоты, без потери общности, мы предполагаем κ l (i ) = 1 . То-
гда можно написать ϕ (t , y )Γ [ϕ (t , y ) − y ] ≤ 0 , где Γ = diag [ yl ]1 ( yl > 0 ) .
Проверка робастности по отношению к указанным неопределенностям основана на результатах следующей теоремы [8].
Теорема 2. Пусть для некоторых положительных скаляров
y , yl (l = 1,… ,m ) и матриц M i ≥ 0 существует положительно определенное
решение H i системы связанных матричных неравенств
m
H i ( Ai − Bi Gi Ci ) + ( Ai − Bi Gi Ci )T H i +
γ − 1 H i Fi FiT H i + M i + γEiT Ei +
T
1 T  −1 
1 T 

 H i Di + Li Γ Γ  H i Di + Li Γ  +
2
2




(5)
ν
∑π ijΦ ijT H jΦ ij < 0
j =1
Тогда управление с обратной связью по выходу u (t ) = −Gi y (t ) будет робастным стабилизирующим управлением.
На рис.1 представлены графики реакции рассматриваемой многорежимной системы с робастным регулятором на единичный ступенчатый
скачок в каждом из режимов работы.
Рис. 1. Реакция системы на единичный ступенчатый скачок.
1079
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Особенности программной реализации алгоритма
Программное обеспечение синтеза робастного регулятора реализовано в виде двух файлов: pq_out_ric6.m и weight.m. Файл weight.m содержит MATLAB-функцию, реализующую алгоритм Джонсона [7] выбора
весовых матриц Qi и Ri по заданным матрицам Ai , Bi и желаемому характеристическому полиному.
Файл pq_out_ric6.m представляет собой MATLAB-программу, которая реализует предложенный алгоритм синтеза. Рассмотрим его основные
особенности, иллюстрируя их фрагментами файла pq_out_ric6.m.
В начале файла задаются глобальные параметры программы (размерность, количество режимов работы системы, число входных и выходных сигналов), после чего инициализируются матрицы, характеризующие
летательный аппарат как объект управления ( Ai , Bi ,Ci ,Π , а также Di , Li ).
N = 3;
NU = 9;
NI = 1;
NO = 2;
% problem size
% number of switching modes
% number of input signals
% number of output signals
% matrices A
A(:,:,1) = [0,1,0 ; -4.2,-1.5,4.2
; 0.77,0,-0.77
A(:,:,2) = [0,1,0 ; -7.1,-1.9,7.1
; 1,0,-1
A(:,:,3) = [0,1,0 ; -78,-4.1,78 ; 2.8,0,-2.8
];
A(:,:,4) = [0,1,0 ; -4,-1.4,4
; 0.62,0,-0.62
A(:,:,5) = [0,1,0 ; -116,-2.36,116
; 2.3,0,-2.3
A(:,:,6) = [0,1,0 ; -7.9,-1.1,7.9
; 0.56,0,-0.56
A(:,:,7) = [0,1,0 ; -55,-0.66,55
; 0.84,0,-0.84
A(:,:,8) = [0,1,0 ; -14.5,-0.43,14.5; 0.33,0,-0.33
A(:,:,9) = [0,1,0 ; -18,-0.31,18
; 0.34,0,-0.34
];
];
];
];
];
];
];
];
% matrices B
B(:,:,1) = [0;-7.4;0];
B(:,:,2) = [0;-12.7;0];
B(:,:,3) = [0;-57;0];
B(:,:,4) = [0;-7.5;0];
B(:,:,5) = [0;-42;0];
B(:,:,6) = [0;-13.8;0];
B(:,:,7) = [0;-22.5;0];
B(:,:,8) = [0;-8.6;0];
B(:,:,9) = [0;-10;0];
% matrices C
C(:,:,1) = [1,0,0; 0,1,0];
C(:,:,2) = [1,0,0; 0,1,0];
C(:,:,3) = [1,0,0; 0,1,0];
C(:,:,4) = [1,0,0; 0,1,0];
C(:,:,5) = [1,0,0; 0,1,0];
1080
Секция 3. Проектирование систем автоматического управления и регулирования
C(:,:,6) = [1,0,0; 0,1,0];
C(:,:,7) = [1,0,0; 0,1,0];
C(:,:,8) = [1,0,0; 0,1,0];
C(:,:,9) = [1,0,0; 0,1,0];
% matrices D
%D(:,:,1) = [0 0 0; -7.4 0 0; 0 0 0];
%D(:,:,2) = [0 0 0; -12.7 0 0; 0 0 0];
%D(:,:,3) = [0 0 0; -57 0 0; 0 0 0];
%D(:,:,4) = [0 0 0; -7.5 0 0; 0 0 0];
%D(:,:,5) = [0 0 0; -42 0 0; 0 0 0];
%D(:,:,6) = [0 0 0; -13.8 0 0; 0 0 0];
%D(:,:,7) = [0 0 0; -22.5 0 0; 0 0 0];
%D(:,:,8) = [0 0 0; -8.6 0 0; 0 0 0];
%D(:,:,9) = [0 0 0; -10 0 0; 0 0 0];
%matrices D and LL
for I = 1:NU,
D(:,:,I) = B(:,:,I); LL(:,:,I) = [1 0 0];
end;
PP = zeros(NU);
% standard probability matrix
for I = 1:NU,
if (I == 1), PP(1,1) = 1; PP(1,2) = -1;
elseif (I == NU), PP(I,I) = -1; PP(I,I-1) = 1;
else PP(I,I) = -2; PP(I,I-1) = 1; PP(I,I+1) = 1;
end;
end;
Производится вычисление специальных матриц Bi⊥ ,Ci⊥ , E I i , E K i с помощью встроенных MATLAB-функций null, pinv и eye.
%B' orth, C orth, EI and EK
for I = 1:NU,
Nb(:,:,I) = null(B(:,:,I)');
Nc(:,:,I) = null(C(:,:,I));
EI(:,:,I) = pinv(C(:,:,I)) * C(:,:,I);
EK(:,:,I) = eye(N) - EI(:,:,I);
end;
Матрицы Qi и Ri задаются с помощью специального алгоритма
Джонсона [7], реализованного в файле weight.m. Вызов функции weight
сделан таким образом, чтобы матрицы Qi и Ri обеспечивали полюса системы − 5 , − 10 + 5i , − 10 − 5i в первом режиме ( i = 1 ).
% Qi and Ri
POLY = [-5 -10+5i -10-5i];
for I = 1:NU,
Q(:,:,I) = weight(A(:,:,1),B(:,:,1),POLY);
R(:,:,I) = 1;
end;
Первый шаг алгоритма заключается в решении уравнения Риккати
1081
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
ν
A H i + H i Ai − H i Bi R B H i + Qi + ∑ π ijΦ ijT H jΦ ij = 0 ,
T
i
−1
i
T
i
(6)
j =1
в результате чего вычисляются значения матриц Ляпунова H i и коэффициентов обратной связи по состоянию K i .
Уравнение (6) решается методом Ait-Rami - El-Ghaoui L [6], которые
предложили способ решения системы нестандартных связанных уравнений
Риккати
через
решение
задачи
максимизации
выражения
tr{H 1 + H 2 + … + Hν } при ограничениях вида
ν
A H i + H i Ai − H i Bi R B H i + Qi + ∑ π ijΦ ijT H jΦ ij > 0 .
T
i
−1
i
T
i
(7)
j =1
Используя теорему Шура, нелинейные ограничения (7) приводятся к
линейным, пригодным для обработки в SeDuMi
ν
 T

+
+
+
π ijΦ ijT H jΦ ij H i Bi 
A
H
H
A
Q
∑
i i
i
 i i
>0.
j =1


T
Bi H i
Ri 

Решение этой оптимизационной задачи традиционно состоит из 5
фрагментов кода:
1) Инициализация LMI-проблемы.
quiz = sdmpb('search for Hi and Ki'); disp('...Searching for Hi and Ki:');
2) Объявление LMI-переменных (точнее, их индексов). Массив индексов X_index будет соответствовать искомым матрицам H i . После объявления каждой из LMI-переменных для нее записывается условие положительной определенности:
% declare symmetric variables Xi = Hi, Xi > 0
for I = 1:NU,
[quiz X_index(I)] = sdmvar(quiz,N,'s');
[quiz ndx] = sdmlmi(quiz, N); quiz = sdmineq(quiz,-ndx,X_index(I));
end;
3) Задание основных матричных неравенств в соответствии с алгоритмом Ait-Rami - El-Ghaoui L [6], Для каждого из режимов системы последовательно задаются слагаемые, входящие в LMI-блоки (1,1), (1,2 и
2,1), и (2,2):
% A'X + XA + Q + sum(pij * Xj) — X*B*inv(R)*B'X > 0
for I = 1:NU,
[quiz ndx] = sdmlmi(quiz, [N size(R(:,:,I),1)]);
quiz = sdmineq(quiz,[-ndx 1 1],X_index(I),1,A(:,:,I));
quiz = sdmineq(quiz,[-ndx 1 1],0,0.5,Q(:,:,I));
for J = 1:NU,
quiz = sdmineq(quiz,[-ndx 1 1],X_index(J),0.5,PP(I,J));
end;
quiz = sdmineq(quiz,[-ndx 2 1],X_index(I),B(:,:,I)',1);
quiz = sdmineq(quiz,[-ndx 2 2],0,0.5,R(:,:,I));
1082
Секция 3. Проектирование систем автоматического управления и регулирования
end;
4) Задание линейной целевой функции, значение которой подлежит
максимизации. В соотвестствии с алгоритмом, такой функцией должно являться выражение tr{H 1 + H 2 + … + Hν }.
%max Tr sum(Xi)
for I = 1:NU,
quiz = sdmobj(quiz,X_index(I),'tr',+1);
end;
5) Получение решения заданной LMI-проблемы. Запускается процесс выпуклой оптимизации, выводятся на печать значения матриц H i и
Ki :
pars.fid = 0;
quiz = sdmsol(quiz,pars); if (get(quiz,'feas') == 1), disp('solved.');
else disp('not solved.'); end;
for I = 1:NU,
H(:,:,I) = quiz(X_index(I));
K(:,:,I) = inv(R(:,:,I)) * B(:,:,I)' * H(:,:,I);
disp(sprintf('H%d =',I)); disp(H(:,:,I));
disp(sprintf('K%d =',I)); disp(K(:,:,I));
end;
Первый шаг алгоритма завершен. Теперь необходимо, используя
найденные значения H i и K i , проверить, существуют ли матрицы Li и Si ,
такие, что выполняются (3). Проверку системы LMI на совместность
(feasibility) можно совместить с решением какой-либо оптимизационной
задачи, в качестве которой выбрана максимизация параметра δ , характеризующего неопределенность матрицы вероятностей Π в форме
Π (δ ) = Π 0 (1 ± δ ) .
Второй шаг алгоритма состоит из шести фрагментов кода.
1) Инициализация LMI-проблемы.
quiz = sdmpb('search for Li and Si'); disp('...Searching for Li and Si:');
2) Объявление LMI-переменных и задание ограничений на них.
% unknown variables Si and Li (not symmetric, not necessarily > 0)
for I = 1:NU,
[quiz S_index(I)] = sdmvar(quiz,size(K(:,:,I),1),N);
[quiz L_index(I)] = sdmvar(quiz,size(K(:,:,I),1),size(EI(:,:,I),1));
end;
%unknown variable Delta (scalar), 0 < delta < 1
[quiz Delta_index] = sdmvar(quiz,1);
[quiz ndx] = sdmlmi(quiz,1); quiz = sdmineq(quiz,-ndx,Delta_index);
[quiz ndx] = sdmlmi(quiz,1);
quiz = sdmineq(quiz,ndx,Delta_index); quiz = sdmineq(quiz,-ndx,0,0.5,1);
3) Задание основных LMI-ограничений.
% (A-BK)'H + H(A-BK) + Sum_j(pij * Hj) - S'K - K'S < 0
1083
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
% two inequalities: for -DELTA and +DELTA
for I = 1:NU,
% for PP * (1-DELTA)
PP_local = PP * (1 - DELTA);
[quiz ndx] = sdmlmi(quiz, N);
quiz = sdmineq(quiz,ndx,0,H(:,:,I),A(:,:,I) - B(:,:,I)*K(:,:,I));
quiz = sdmineq(quiz,ndx,S_index(I),-K(:,:,I)',1);
% negative Delta
for J = 1:NU,
quiz = sdmineq(quiz,ndx,0,0.5 * PP(I,J),H(:,:,J));
quiz = sdmineq(quiz,ndx,Delta_index,-0.5 * PP(I,J),H(:,:,J));
end;
% for PP * (1+DELTA)
PP_local = PP * (1 + DELTA);
[quiz ndx] = sdmlmi(quiz, N);
quiz = sdmineq(quiz,ndx,0,H(:,:,I),A(:,:,I) - B(:,:,I)*K(:,:,I));
%positive Delta
for J = 1:NU,
quiz = sdmineq(quiz,ndx,0,0.5 * PP(I,J),H(:,:,J));
quiz = sdmineq(quiz,ndx,Delta_index,+0.5 * PP(I,J),H(:,:,J));
end;
quiz = sdmineq(quiz,ndx,S_index(I),-K(:,:,I)',1);
end;
4) Запись уравнений (LME), связывающих переменные Li и Si .
%S = L*EI - B'H*EK
for I = 1:NU,
[quiz ndx] = sdmlme(quiz,size(K(:,:,I),1),N);
quiz = sdmeq(quiz,ndx,S_index(I));
quiz = sdmeq(quiz,-ndx,L_index(I),1,EI(:,:,I));
quiz = sdmeq(quiz,-ndx,0,-B(:,:,I)'*H(:,:,I),EK(:,:,I),1);
end;
5) Задание дополнительных LME-ограничений
Ri−1 B1T H 1 + L1 Ci+ = Ri−1 B2T H 2 + L2 Ci+ = … = Ri−1 BνT Hν + Lν Ci+
для одновременной стабилизации всех режимов полета регулятором с общей, фиксированной матрицей усиления G1 = G2 = … = Gν .
(
)
(
)
(
)
%S = L*EI - B'H*EK
for I = 1:NU,
J = I + 1; if J == NU + 1, J = 1; end;
[quiz ndx] = sdmlme(quiz,size(K(:,:,I),1),N);
quiz = sdmeq(quiz,ndx,0,B(:,:,I)',H(:,:,I));
quiz = sdmeq(quiz,ndx,L_index(I),1,1);
quiz = sdmeq(quiz,-ndx,0,B(:,:,J)',H(:,:,J));
quiz = sdmeq(quiz,-ndx,L_index(J),1,1);
end;
1084
Секция 3. Проектирование систем автоматического управления и регулирования
6) Выбор значения переменной δ в качестве критерия для максимизации.
%max Delta
quiz = sdmobj(quiz,Delta_index,1,1);
7) Запуск процедуры выпуклой оптимизации. На печать выводятся
значения матриц Li и искомых матриц обратной связи по выходу Gi .
pars.fid = 0;
quiz = sdmsol(quiz,pars); if (get(quiz,'feas') == 1), disp('feasible.');
else disp('infeasible.'); end;
for I = 1:NU,
L(:,:,I) = quiz(L_index(I));
G(:,:,I) = inv(R(:,:,I))*(B(:,:,I)'*H(:,:,I)+L(:,:,I))*pinv(C(:,:,I));
disp(sprintf('G%d =',I)); disp(G(:,:,I));
end;
disp(sprintf('Max Delta = %d',quiz(Delta_index)));
После решения задачи синтеза робастного регулятора происходит
построение графиков реакции системы в различных режимах работы на
единичный ступенчатый скачок. Графики (рис. 1) демонстрируют характер
переходного процесса в различных режимах.
figure(1);
clf;
for I = 1:NU,
step(A(:,:,I) -B(:,:,I)*G(:,:,I)*C(:,:,I),B(:,:,I)*G(:,:,I)*C(:,:,I),C(:,:,I),0,1);
hold on;
end;
После синтеза регулятора выполняются проверки на его робастность
по отношению к неопределенностям объекта управления. Модель объекта
управления (4) в отсутствие нелинейностей в управлении приобретает следующий вид:
x(t ) = [ Ai + Fi Ω (t )Ei ]x(t ) + Bi u (t )
y (t ) = Ci x(t ) , если r (t ) = i,
В рассматриваемой задаче матрицы Fi и Ei подбираются экспериментально:
% 1. construct matrices F and E
for I = 1:NU,
F(:,:,I) = 0.01 * 0.5;
E(:,:,I) = 1 * eye(N);
end;
После чего, в соответствии с теоремой 2, выполняется проверка на
совместность следующей системы LMI
T
H i ( Ai − Bi Gi Ci ) + ( Ai − Bi Gi Ci ) H i +
ν
(8)
T
T
−1
γ H i Fi F H i + M i + γEi Ei + + ∑ π ijΦ ijT H jΦ ij < 0 ,
j =1
Систему (8) в соответствии с теоремой Шура можно преобразовать к
виду системы линейных матричных неравенств
1085
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
 H i ( Ai − Bi Gi Ci ) + ( Ai − Bi Gi Ci )T H i +



ν
H
F
i
i


M i + γEiT Ei + ∑ π ijΦ ijT H jΦ ij


j =1

 <0


T

γ 
Fi H i




Проверка на совместность выполняется одновременно с минимизацией неопределенного параметра γ . При совместности данной системы
LMI статический регулятор с обратной связью по выходу u (t ) = −Gi y (t ) если r (t ) = i, будет являться робастным стабилизирующим регулятором.
quiz = sdmpb('test for robustness');
disp('...Robustness without nonlinearities:');
% 2. set LMI variable gamma, scalar-diagonal
[quiz Gamma_fake_index] = sdmvar(quiz,3,'d');
[quiz Gamma_index] = sdmvar(quiz,[1 0 0; 0 1 0; 0 0 1],'st');
[quiz ndx] = sdmlmi(quiz, N); quiz = sdmineq(quiz,-ndx,Gamma_index);
% 3. set a number of inequalities
for I = 1:NU,
[quiz ndx] = sdmlmi(quiz, [N N]);
% constant terms
quiz = sdmineq(quiz,[ndx 1 1],0,H(:,:,I),(A(:,:,I)-B(:,:,I)*G(:,:,I)*C(:,:,I)));
%quiz = sdmineq(quiz,[ndx 1 1],0,0.5,Q(:,:,I));
for J = 1:NU, if (J ~= I),
quiz = sdmineq(quiz,[ndx 1 1],0,0.5 * PP(I,J),H(:,:,J)- H(:,:,I));
end; end;
% linear term
quiz = sdmineq(quiz,[ndx 1 1],Gamma_index,0.5,E(:,:,I)'*E(:,:,I));
% inverse term and side terms (Schur complement)
quiz = sdmineq(quiz,[ndx 2 2],Gamma_index,-0.5,1);
quiz = sdmineq(quiz,[ndx 1 2],0,H(:,:,I),F(:,:,I));
end;
% 4. minimization objective
quiz = sdmobj(quiz,Gamma_index,'tr',-1);
% 5. test for feasibility
pars.fid = 0; quiz = sdmsol(quiz,pars);
if (get(quiz,'feas') == 1), disp('feasible.'); else disp('infeasible.'); end;
% 6. get gamma
GAMMA = quiz(Gamma_index);
GAMMA = GAMMA(1,1);
disp(' '); disp(sprintf('gamma = %d',GAMMA));
1086
Секция 3. Проектирование систем автоматического управления и регулирования
Заключительным этапом анализа является проверка регулятора на
робастность по отношению как к неопределенностям объекта управления,
так и к нелинейностям регулятора.
Модель объекта управления с учетом неопределенностей и нелинейностей имеет вид (4). Проверка регулятора на робастность выполняется в
соответствии с теоремой 2 путем проверки на совместность условий (5),
которые, согласно теореме Шура, преобразуются в следующую систему
LMI
 H i ( Ai − Bi Gi Ci ) + ( Ai − Bi Gi Ci )T H i + γEiT Ei +



ν
H i Fi H i Di 
 M + γE T E + π Φ T H Φ + 1 LT ΓL
∑
i
i
i
ij ij
j ij
i
i


4
j =1




T

γ
Fi H i
0  <0








DiT H i
0
−Γ 





Одновременно с проверкой совместность выполняется минимизация
m
выражения γ + ∑ yl .
l =1
quiz = sdmpb('test for robustness'); disp(' ');
disp('...Robustness with nonlinearities:');
% 2. set LMI variables Gamma and Gammas
[quiz Gamma_fake_index] = sdmvar(quiz,3,'d');
[quiz Gamma_index] = sdmvar(quiz,[1 0 0; 0 1 0; 0 0 1],'st');
[quiz Gammas_index] = sdmvar(quiz,1,'d');
% 0 < gamma, 0 < Gammas
[quiz ndx] = sdmlmi(quiz, N); quiz = sdmineq(quiz,-ndx,Gamma_index);
[quiz ndx] = sdmlmi(quiz, 1); quiz = sdmineq(quiz,-ndx,Gammas_index);
% 3. set a number of inequalities
for I = 1:NU,
[quiz ndx] = sdmlmi(quiz, [N N 1]);
% constant terms
quiz=sdmineq(quiz,[ndx 1],0,H(:,:,I),(A(:,:,I)-B(:,:,I)*G(:,:,I)*C(:,:,I))+…
0.5*D(:,:,I)*LL(:,:,I));
quiz = sdmineq(quiz,[ndx 1 1],Gamma_index,0.5,E(:,:,I)'*E(:,:,I));
quiz = sdmineq(quiz,[ndx 1 1],Gammas_index,0.25 * 0.5 * LL(:,:,I)',LL(:,:,I));
%quiz = sdmineq(quiz,[ndx 1 1],0,0.5,Q(:,:,I));
1087
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
for J = 1:NU,
quiz = sdmineq(quiz,[ndx 1 1],0,0.5 * PP(I,J),H(:,:,J));
end;
% inverse term and side terms (Schur complement)
quiz = sdmineq(quiz,[ndx 2 2],Gamma_index,-0.5,1);
quiz = sdmineq(quiz,[ndx 1 2],0,H(:,:,I),F(:,:,I));
%terms responsible for nonlinearities
quiz = sdmineq(quiz,[ndx 3 3],Gammas_index,-0.5,1);
quiz = sdmineq(quiz,[ndx 1 3],0,H(:,:,I),D(:,:,I));
end;
% 4. maximization objective
quiz = sdmobj(quiz,Gamma_index,'tr',-1);
quiz = sdmobj(quiz,Gammas_index,'tr',-1);
% 5. optimization
pars.fid = 0;
quiz = sdmsol(quiz,pars); if (get(quiz,'feas') == 1), disp('feasible.');
else disp('infeasible.'); end;
% 6. display gamma and gammas
GAMMA = quiz(Gamma_index); GAMMA = GAMMA(1,1);
disp(' '); disp(sprintf('gamma = %d',GAMMA));
GAMMAS = quiz(Gammas_index);
disp('Gammas = '); disp(GAMMAS);
С использованием данной программы был синтезирован регулятор с
обратной связью по выходу, робастный по отношению к неопределенностям смены режимов, неопределенностям матрицы объекта в отдельных
режимах и нелинейностям системы с постоянной матрицей усиления
Gi = [− 32 ,7774 − 2 ,3541] для всех режимов i = 1,… ,9 . Полный текст программы и доказательство теоремы 1 могут быть высланы электронной почтой по запросу.
Литература
1. Boyd S., El-Ghaoui L., Feron E., Balakrishnan V. Linear matrix inequalities
in system and control theory.— Philadelphia: SIAM, 1994.
2. Поляк Б. Т., Щербаков П.С., Робастная устойчивость и управление.—
М.: Наука, 2002.
3. Peaucelle D., Henrion D., Labit Y., Taitzidoroff K. User’s Guide for
SEDUMI INTERFACE 1.04 (www.laas.fr/~peaucell/SeDuMiInt.html).
4. Gahinet P., Nemirovski A., LaubA., Chilali M. LMI Control Toolbox For
Use with MATLAB (www.mathworks.com/access/helpdesk/help/pdf_doc
/lmi/).
5. Sturm J. Using SeDuMi 1.02, a MATLAB toolbox for optimization over
symmetric cones (http://fewcal.kub.nl/~sturm).
1088
Секция 3. Проектирование систем автоматического управления и регулирования
6. Ait-Rami M., El-Ghaoui L. LMI optiomization for nonstandard Riccati equations arising in stochastic control // IEEE Trans. Automatic Control.—
1996.— V.41.— P.1666–1667.
7. Johnson C. The unreachable poles defect in LQR theory: analysis and remedy // Int. J. Control.— 1988.— V.47.— P.697–709.
8. Пакшин П. В., Ретинский Д. М. Робастное управление нелинейными
системами случайной структуры. // Известия РАН. Теория и системы
управления.— 2003.— №1.— С.29–34.
1089
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
УДК 629.113.5.014
РАЗРАБОТКА УПРАВЛЕНИЯ ДВС АВТОМОБИЛЯ СО
СТРУКТУРОЙ КРУТЯЩЕГО МОМЕНТА
Пискунов А. Г.,
OOO «НПП ЭЛКАР», Москва,
e-mail: piskunov@elcar.ru
Bauer S. M.
Siemens VDO Automotive AG, Regensburg, Germany,
e-mail: software@elcar.ru
Принципиальные подходы к реализации моментного управления автомобильными двигателями
Все мы знаем, что за последние годы функциональность и сложность
встраиваемых автоматизированных систем управления драматически увеличилась. Один из примеров таких систем — электронное управление автомобильным ДВС.
Как показывает мировая практика, выполнение постоянно ужесточающихся требований к ограничению загрязнения окружающей среды автомобилями с бензиновыми двигателями возможно только при повышении
точности поддержания состава отработавших газов автомобильного бензинового двигателя, что связано с повсеместным применением каталитических нейтрализаторов отработавших газов. При переходных процессах, когда скорость изменения циклового наполнения велика, обеспечить требуемую точность без принципиально новых решений весьма проблематично.
Решить проблему управления составом отработавших газов возможно путем замены механической связи между положением педали акселератора и
дроссельной заслонки электрической. Применение электрически управляемой дроссельной заслонки позволяет ограничить скорость изменения ее
положения и, как следствие, скорость изменения циклового наполнения,
что приводит к существенному повышению точности его измерения. Это
дает возможность реализовать управление подачей топлива обеспечивающее управление составом отработавших газов, с необходимой точностью.
Для понимания организации структуры управления рабочим процессом двигателя рассмотрим как же выглядит контур управления скоростью
автомобиля? С одной стороны, положение педали акселератора, с другой
текущая скорость автомобиля (или ее изменение). Между ними двигатель с
его системой управления преобразующий положение педали в значение
эффективного крутящего момента (рис. 1).
1090
Секция 3. Проектирование систем автоматического управления и регулирования
Рис.1. Структура управления рабочим процессом в ДВС.
Рассмотрим случай интерпретации положения педали акселератора
как значения эффективного крутящего момента. Водитель, изменяя величину крутящего момента двигателя, имеет возможность управлять как характером изменения скорости автомобиля, так и самой скоростью. Для
обеспечения устойчивости управления в системе управления рабочим процессом двигателя необходимо реализовать статический регулятор частоты
вращения двигателя, рабочая точка которого определяется текущим состоянием и условиями движения автомобиля, входным параметром которого является положение педали акселератора, а выходным — уставка эффективного крутящего момента двигателя. Причем, этот регулятор оказывается включенным последовательно во внешний контур управления скоростью автомобиля, где полученный эффективный момент двигателя реализуется в виде текущей скорости автомобиля, учитываемой водителем
при формировании воздействия на педаль акселератора
Понимание характера процессов при управлении автомобилем дает
нам возможность представить структуру системы управления двигателем в
терминах крутящего момента. Как представляется (с точки зрения калибровки системы), система управления должна состоять из двух основных
звеньев. Первое должно включать функции управления рабочим процессом обеспечивающие реализацию двигателем уставки крутящего момента
и второе, включающее пропорциональный регулятора частоты вращения
коленчатого вала двигателя и преобразующий положение педали акселератора а уставку эффективного крутящего момента. Кратко коснемся вопроса выбора характеристики этого регулятора. Следствием низкой крутизны
регуляторной характеристики будет являться низкая устойчивость поддержания скорости автомобиля. Водитель будет вынужден постоянно изменять положение педали акселератора в процессе управления автомобилем, однако, при такой регулировке обеспечивается наиболее благоприятный отклик автомобиля на требование изменения скорости. При высокой
крутизне регуляторной характеристики упрощается поддержание постоянной скорости автомобиля, однако ухудшается качество управления связан1091
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
ное с изменением его скорости, что особенно проявляется при движении
автомобиля в потоке с малой скоростью. Необходимый компромисс в выборе регуляторной характеристики, определяется как характеристиками,
так и назначением автомобиля и может быть достигнут, только в процессе
проведения адаптационных работ в реальных эксплуатационных условиях.
Рис. 2. Выбор регуляторной характеристики при управлении эффективным моментом.
Предельными значениями эффективного крутящего момента двигателя, которыми может распоряжаться водитель, будут являться с одной
стороны, значения эффективного крутящего момента двигателя по внешней скоростной характеристике за вычетом внешних потребителей, а с
другой, значения эффективного крутящего момента механических потерь
двигателя (естественно, что сюда входят и крутящий момент внутренних
потребителей).
При анализе структуры системы управления использующей в качестве управляющего параметра эффективный крутящий момент двигателя
мы сталкиваемся с трудностями, связанными со сложностью определения
минимального эффективного крутящего момента двигателя. И если при
частоте вращения коленчатого вала двигателя соответствующей режиму
ограничения минимальной частоты вращения возможно использование регулятора частоты вращения для определения текущей величины минимального крутящего момента двигателя, то в остальном диапазоне частот
вращения коленчатого вала информация о механических потерях в двигателе (с требуемой точности) отсутствует.
1092
Секция 3. Проектирование систем автоматического управления и регулирования
Решить эту проблему позволяет переход от использования эффективного крутящего момента двигателя к индикаторному. Это тем более
возможно, так как при управлении автомобилем нас не интересует абсолютное значение эффективного крутящего момента двигателя, а лишь изменение скорости автомобиля, вызванное изменением крутящего момента.
Это является следствием того, что двигатель оказывается последовательно
включенным во внешний контур управления скоростью автомобиля.
Рис. 3. Выбор регуляторной характеристики при управлении индикаторным моментом.
Итак, перейдя от использования эффективного крутящего момента к
индикаторному мы переходим к структуре системы управления рабочим
процессом двигателя, в которой в качестве управляющего параметра используется индикаторный момент двигателя. При таком подходе с точки
зрения управления автомобилем не важно, какой рабочий процесс используется непосредственно в самом двигателе. Это может быть бензиновый
двигатель с впрыском топлива во впускную систему, бензиновый двигатель с непосредственным впрыском или дизельный двигатель. Поведение
автомобиля, с этой точки зрения управления скоростью будет одинаковым.
Рассмотрим, как же может выглядеть структура системы управления
рабочим процессом двигателя, использующая в качестве управляющего
параметра индикаторный крутящий момент двигателя, на примере организации управления бензиновым двигателем с впрыском топлива во впускную систему. Уставка индикаторного момента двигателя, сформированная
пропорциональным регулятором частоты вращения коленчатого вала по
1093
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
положению педали акселератора, суммируется с запросом эффективного
крутящего момента от внешних потребителей и с запросом индикаторного
момента от потребителей внутренних (с точки зрения самого двигателя).
Полученный результат должен быть ограничен индикаторным моментом
по внешней характеристике двигателя или какими либо другими условиями, связанными, например, с ограничениями на выбросы с отработавшими
газами. Далее необходимо ограничить скорость изменения полученной уставки индикаторного момента до допустимых, с точки зрения требований
поддержания заданного состава отработавших газов и качества управления
скоростью автомобиля пределов. При этом, необходимо выделить высокочастотную составляющую спектра колебаний уставки индикаторного момента двигателя с целью возможной компенсации введенных фильтром задержек путем изменения угла опережения зажигания. Такой подход позволяет при низкой динамике изменения циклового наполнения сохранить
достаточную динамику изменения крутящего момента, хотя и не полном
объеме.
Рис. 4. Структура системы управления с использованием индикаторного момента ДВС.
Используя регулировки двигателя, описывающие связь между
илликаторным крутящим моментом и цикловым наполнением двигателя,
можно определить требуемое цикловое наполнение, соответствующее текущей уставке индикаторного момента и реализовать его управляя дроссельной заслонкой с электрическим приводом. В процессе расчета величины иллового наполнения необходимо учитывать запросы на изменение
эффективности рабочего процесса двигателя связанные как с процессами
управления температурой отработавших газов, так и с переходом на качественное управление мощностью двигателя. Реальное цикловое наполнение, полученное на основании результатов измерения потребления воздуха
1094
Секция 3. Проектирование систем автоматического управления и регулирования
двигателем, используется для расчета цикловой подачи топлива, угла опережения зажигания и других регулировок двигателя.
Противоречия при разработке встраиваемых систем
Использование методов математического моделирования для разработки алгоритмов управления сложных систем сегодня стало традиционным. Использование таких средств как Simulink, существенно повышают
эффективность разработки. Но они решают лишь часть проблем на пути
создания сложного конечного продукта, каким является встраиваемая система управления, работающая в режиме жесткого реального времени. На
этом пути возникает трудно преодолимый барьер между принципиально
различными предметными областями — прикладной областью автоматического управления и специфической областью системного программирования. Инженер по управлению и программист мыслят абсолютно разными понятиями и используют разные критерии оценки результата. Даже использование встроенной возможности Simulink генерировать Си-код из
блок-диаграмм не решает конечной задачи, поскольку не гарантирует
ичество кода и не снимает необходимости использовать программистов
для построения финальной системы. А значит, вышеописанный барьер сохраняется. В данном докладе будет показано совершенно новый подход
использования Simulink для полного исключения программирования при
реализации конечного продукта, которым является встраиваемая система
управления.
Все мы знаем, что за последние годы функциональность и сложность
автоматизированных систем управления драматически увеличилась. Один
из примеров таких систем — электронное управление автомобильным
ДВС. Поддержанное возросшей мощностью микроконтроллеров, это развитие привело к быстрому увеличению размера и сложности контроллерного ПО. В прошлом, достижимый уровень функциональности встраиваемых систем управления предопределялся оборудованием и производительностью микроконтроллеров. Теперь же, все более и более лимитирующим фактором является процесс развития самого ПО.
Критичные для управления ДВС требования к безопасности, режим
жесткого реального времени, сложность самого объекта управления приводят к чрезвычайно высоким затратам на разработку встраиваемых систем управления.
Большой проблемой является необходимость глубоких знаний в
предметной области для проектирования этих систем. В то же время требование высокой эффективности и жесткого реального времени предопределяет необходимость в высокой квалификации программистов, создающих встраиваемое ПО.
1095
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
При проектировании встраиваемой системы управления с использованием традиционных технологий эти противоречивые требования приводят к очень высоким затратам на процесс разработки и сильно ограничивают достижимую функциональность и надежность конечной системы.
Особенно если принять во внимание частую модификацию объектов
управления и периодическое возрастание требований к функциональности
(требований к токсичности выхлопа, безопасности, управляемости и т. д.).
Решение проблем — в новых технологиях
В настоящем докладе на примере использования принципов управления индикаторным моментом ДВС представлена новая технология разработки встраиваемых систем управления автомобильными ДВС, которая
получила название MSEpro. Она основана на возможности автоматической
генерации кода из блок-диаграмм, присущей пакету Simulink.
В основу данной технологии положены следующие идеи:
• полностью исключить из процесса разработки встраиваемого ПО
необходимость знания программирования;
• предоставить возможность прикладному инженеру полностью
самому выполнять всю разработку функций управления вплоть до
получения финального кода встраиваемой системы управления;
• предоставить прикладному инженеру легкий и понятный язык для
описания функций управления, позволяющий легко и безопасно
модифицировать функции управления, повторно использовать их
в новых разработках;
• гарантировать высокое качество финального кода за счет сквозной автоматизации процесса разработки высоко интеллектуальными программными инструментами.
Использование и эффективность данной технологии разработки будет продемонстрировано на примере системы управления автомобильным
ДВС со структурой крутящего момента.
Краткий обзор технологии MSEpro
Для реализации базовых идей процесса разработки в состав блоков
Simulink добавлена специализированная библиотека функций для проектирования СУ ДВС. Эта библиотека содержит около 50 блоков и служит
чрезвычайно удобным и наглядным языком для создания алгоритмов
функций управления.
1096
Секция 3. Проектирование систем автоматического управления и регулирования
Рис. 5. Библиотека функций MSEpro в Simulink.
Все блоки в библиотеке имеют интеллектуальное поведение:
• используют данные в физической форме вместе с их единицами
измерения и умеют правильно понимать их;
• автоматически масштабируют данные в арифметических операциях, приводя их к общим базовым единицам измерения;
• автоматически конвертируют данные из физической формы в
ишинную форму целевого микроконтроллера и выполняют вычисления сразу с этой формой данных;
• автоматически проверяют допустимость данных в операциях по
их физическому диапазону и единицам измерения.
Основной подход при разработке этих функциональных блоков выражается идеей: разработчик работает с физической формой данных, а
функции исполняются с их машинным представлением.
Так, все ошибки, связанные с машинной формой данных целевого
микроконтроллера, будут выявлены уже в Simulink, что сильно улучшает
надежность встраиваемого кода, особенно при использовании целочисленной арифметики.
Чтобы автоматизировать весь процесс разработки и гарантировать
корректную обработку данных и их использование в последующих проектах, все данные снабжаются детальными описаниями и хранятся в централизованном хранилище — наборе параметров. Под параметром понимается любой элемент данных, используемый в технологии, хранящийся совместно с его описанием.
В основе описания каждого параметра лежит небольшой перечень
базовых единиц измерения. Они могут быть скомбинированы для создания
сложных единиц измерения и используются для описания значений данных. Такой подход позволяет контролировать использование данных в
1097
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
операциях и автоматически масштабировать их при необходимости. Вы
можете легко складывать минуты и миллисекунды, километры и
иллиметры, получая корректный результат. Это сильно упрощает использование данных и делает алгоритм независимым от их машинной
формы и величины.
Для быстрого и легкого создания параметров в технологии MSEpro
используется специальный программный инструмент — Data Manager.
Рис. 6. Менеджер подготовки данных готовит данные для Simulink.
От позволяет быстро создавать сложные описания данных. все данные хранятся в физической форме и могут быть скомпилированы под любую целевую платформу микроконтроллера.
Другой важной особенностью библиотеки MSEpro является интеллектуальное поведение функций при доступе к данным. Данные могут
быть представлены различными формами. Один и тот же параметр может
быть постой переменной (константой), вектором или таблицей. Все эти
формы данных читаются одной и той же библиотечной функцией — ReadParameter(). Эта функция всегда возвращает результат операции чтения параметра в виде числа. При чтении сложных данных она автоматически использует линейную интерполяцию. Так, вы можете менять форму ваших
данных «на лету». И это не приводит к изменению алгоритма и его кода.
Пример разработки функций управления по технологии MSEpro
Рассмотрим использование инструментов MSEpro на примере создания реальной функции управления с использованием индикаторного момента ДВС. Пусть эта функция будет подавлять колебания скорости вра1098
Секция 3. Проектирование систем автоматического управления и регулирования
щения, возникающие в трансмиссии. На рисунках ниже представлены модели такой функции с использованием описываемой технологии.
Рис. 7. Вычисление индикаторного момента ДВС.
Поскольку спектр колебаний трансмиссии совпадает со спектром реального поведения частоты вращения, в функции используется следующий
алгоритм. На основе фильтрованного сигнала частоты вращения расчитывается индикаторный момент ДВС (рис. 7). Из рисунка видно, как Симулину использует физические величины с размерностями.
По значению момента вычисляется расчетное значение скорости
вращения, которое служит опорным значением для вычисления отклонений скорости, вызванных колебаниями трансмиссии. (рис. 8).
pFREQM
pFREQTORQF
cTIMSYN20ms
—
pDBFREQMOD1
x
0.1591 [1]
Z
-1
pDBFREQMOD2
:
qHFILFREQDIF
—
Z -1
qCFILFREQDIF
+
—
x
+
+
pFREQDEV
cvFREQOSC15
x
x
2 [1]
x
:
—
x
Z
-1
pDBFREQDIF2
Z
-1
pDBFREQDIF1
Рис. 8. Модель фильтра колебаний частоты вращения.
Значение выходного параметра используется для записи входной координаты cvFREQOSC15 табличной функции.
1099
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Рис 9. Координатный вектор cvFREQOSC15 табличной функции.
Рис. 10. Параметр табличной функции qTORQOSCCOR.
qTORQOSCCOR
1.0000 [1]
x
pFREQM
pTORQINDOSC
:
x
460.00 [gm2]
1.00 [rev]
yellow
x
—
20 [ms]
pFREQDEV
magenta
cyan
Рис. 11. Модель функции подавления колебаний.
Эта табличная функция вычисляет коэффициент подавления колебаний. На рис. 11 Видно, как для чтения значения из этой таблицы используется универсальная функция библиотеки ReadParameter(qTORQOSCCOR).
На рис. 12 показан процесс работы разработанной функции, где желтый цвет — исходная скорость вращения, розовый — скорректированная
частота вращения, голубой — отклонения на входе регулятора.
1100
Секция 3. Проектирование систем автоматического управления и регулирования
Рис. 12. Результат работы функции подавления колебаний.
Из приведенных примеров видно, что алгоритм каждой функции
управления начинается с блоков чтения параметров. Далее следует обработка данных и заканчивается записью результата в параметры. Таким образом, каждая функция не имеет традиционных для Simulink внешних связей и ограничена всего одним окном. Вы можете легко сохранять ее в подсистеме или библиотеке, просто перетаскивать в другие проекты. Алгоритм становится очень наглядным и простым для понимания.
Важным компонентами библиотеки являются специализированные
функции чтения/записи параметров с возможностью внешнего вмешательства в этот процесс. Вы можете разорвать процесс записи в параметр из алгоритма или операционной системы и подменить данные из внешнего источника. Вы можете сделать это как в Simulink, так и в финальном коде
системы.
Так, эти блоки позволяют использовать отключать сигналы датчиков
или результаты расчетов и вводить вместо них данные вручную или из
файла. Т. е. вы имеете возможность записать данные на реальном объекте
(на автомобиле, едущем по городу) и использовать этот файл для проверки
поведения функций управления в своем компьютере или в готовом микроконтроллере. И это поведение будет абсолютно тем же, что и на реальном
объекте управления.
В приведенном выше примере использовался блок чтения данных из
файла (рис. 13), в котором происходило чтение реальной бортовой записи
автомобиля.
1101
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
'Trq_1.txt'
Priority=1
Рис. 13. Блок чтения файла данных библиотеки MSEpro.
Автоматическая генерация кода
Как только вы имеете необходимые модели функций, технология
предоставляет удобный инструмент для сборки всей системы управления и
генерации финального кода: System Builder.
Process list
File list
Event list
Generated
code
Рис. 14. Инструмент System Builder.
В используемой операционной системе EMOS каждая функция
управления исполняется в ответ на то или иное событие операционной
системы. Вы просто кладете файл модели функции управления на строку
события операционной системы, связывая их. Так собирается весь проект.
Далее нажатием всего одной кнопки запускается автоматическая генерация
кода и сборка системы. System Builder обращается к Simulink и получает от
него готовый Си-код из моделей функций. На выходе инструмента мы
имеем готовый HEX-файл, который можно загрузить в память микроконтроллера и посмотреть его работу.
1102
Секция 3. Проектирование систем автоматического управления и регулирования
Рис. 15. Калибровочный инструмент MSEpro
Как показано на реальном примере, для разработки функций управления и получения готового продукта не нужны программисты. Не нужно
сложное имитирующее оборудование. Специалист в прикладной области
может сделать всю работу сам и в очень короткое время, гарантируя качество финального кода.
Данная технология неизмеримо повышает производительность труда
прикладного инженера и является дальнейшим развитием технологий, заложенных в пакет Simulink.
1103
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
УДК 519.6
ОПРЕДЕЛЕНИЕ ДИСПЕРСИЙ СОБСТВЕННЫХ ЧИСЕЛ
МАТРИЦЫ СТОХАСТИЧЕСКИХ ЭЛЕМЕНТОВ С
ПОМОЩЬЮ ПАКЕТА MATLAB
Полницкий Д. А.
Балтийский государственный технический университет
«Военмех» им. Д. Ф. Устинова, Санкт-Петербург,
e-mail: polndima@yandex.ru
При проектировании систем автоматического управления часто в качестве их моделей используются системы линейных (линеаризованных)
дифференциальных уравнений, представляемые для удобства анализа в
матричной форме [1, 2, 3]. Одной из типовых задач в этом случае является
задача нахождения собственных чисел матрицы состояния, которые определяют переходные процессы системы.
Одним из моментов, который не учитывается в линейных и линеаризованных моделях динамических систем управления является стохастичность физических параметров системы. Стохастичность параметров обусловлена следующими факторами:
•
учет постепенного старения и износа элементов во время работы и хранения;
•
учет разброса параметров элементов при их изготовлении;
•
учет изменения параметров элементов под воздействием
внешних условий (температура, влажность, давление и пр.).
В реальных условиях, когда параметры систем могут быть заданы
только их математическими ожиданиями и дисперсиями, часто необходимо оценить смещение реальных значений собственных чисел системы от
их начальных значений.
Рассмотрим нахождение дисперсии собственных чисел для двух случаев.
A. Элементы матрицы являются случайными независимыми
параметрами системы.
Для вектора случайных параметров можно определить математическое ожидание maij ∈ R S и дисперсию σ a2ij ∈ R S , тавляющие которых соответственно равны:
∞
maij = ∫ aij f (aij )daij , ∀i, j = 1,2,..., S
(1)
−∞
σ
2
aij
[
]
∞ 0
2
ij
−∞
= M (aij − M [aij ]) = ∫ a f (aij )daij , ∀i, j = 1,2,..., S
2
(2)
1104
Секция 3. Проектирование систем автоматического управления и регулирования
Для краткости записи операцию осреднения в (1) будем обозначать
M , таким образом
∞
M[X ] =
∫ X ⋅ f ( X )dX
(3)
−∞
Согласно [1], можно написать
M [Λ(µ )] = H −1M [ A(µ )]H ,
(4)
где M [Λ(µ )] - матрица собственных чисел матрицы A(µ ) , H -матрица собственных векторов матрицы M [ A(µ )] .
Доказано [3], что матрицы собственных векторов H для матриц
M [ A(µ )] и A(µ ) можно считать равными при следующих допущениях:
•
в системах присутствует достаточно большое число случайных
параметров;
•
влияние стохастической составляющей случайного коэффициента на его абсолютную величину мало;
•
система обладает малой чувствительностью выходного результата к изменению любого из стохастических параметров.
Учитывая это, для каждого из собственных чисел матрицы Λ можно
написать следующее равенство:
S
S
λk = ∑∑ hik hkj−1aij ,
(5)
i =1 j =1
−1
kj
где hik и h элементы матрицы собственных векторов и обратной ей соответственно.
Равенство (5) устанавливает взаимосвязь между элементами матрицы и ее собственными числами. По своей сути произведение hik hkj−1 имеет
смысл удельного веса коэффициента матрицы А в собственном числе матрицы А.
В наших допущениях собственные числа матрицы А могут быть вещественными и комплексно-сопряженными. Причем и в том и другом случае собственные числа являются многомерными случайными величинами.
Учитывая принятые допущения, сведем вещественное собственное число к
модели одномерной случайной величины, а комплексно-сопряженные собственные числа к двумерным случайным величинам. Поясним последнее
рисунком (см. рис. 1).
1105
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
B
Im ( λ )
C
0
M  Im ( λi ) 
λ
А
D
Re ( λ )
M  Re ( λi ) 
Рис 1. Модель случайной комплексной величины.
Стохастическое собственное число можно представить в виде [3]:
λi (aij ) = mλi + λ i ,
0
(6)
где λi (aij ) — стохастическое собственное число; mλi — его математическое
0
ожидание; λ i — стохастическая составляющая.
А под стохастическим комплексным числом будем подразумевать
следующее:

0 
(
(
)
)
=
+
Re
Re
Re
λ
a
m
λi 
i
ij
λi

 
.
(7)

0
Im(λ (a )) = Im m + Im λ i 
i
ij
λi

 
С учетом (6) перепишем равенство (5):
S
S
0
0


mλk + λk = ∑∑ hik hkj−1  maij + aij  .
(8)


i =1 j =1
Ввиду справедливости равенства для математических ожиданий
( )
( )
S
S
mλk = ∑∑ hik hkj−1maij ,
(9)
i =1 j =1
справедливо и равенство для случайных составляющих:
S
0
S
0
λk = ∑∑ hik hkj−1 aij
(10)
i =1 j =1
Возведем в квадрат (10) и произведем операцию осреднения.
0
0
Заметим, что если m и n независимые случайные величины, то для
них справедливы следующие соотношения:
1106
Секция 3. Проектирование систем автоматического управления и регулирования

0
0
если
=
M
n
M

 
m = 0,


 0  2 
 0  2 
2
2
то M  m   = σ m , M  n   = σ n ,

  
  

0 0
0 0
M m⋅ n  = ρ  m, n  = 0.

 


(11)
 0 0
Здесь ρ  m, n  — корреляционный момент двух случайных величин. Он


характеризует влияние одной случайной величины на другую и тождественно равен нулю для независимых случайных величин. Тогда
S
S
σ λk = ∑∑ hik hkj−1σ a2ij .
2
(12)
i =1 j =1
Таким образом, формула (12) позволяет получить дисперсию вещественного собственного числа. В случае комплексной пары чисел
λk ,k +1 = α k ± − 1 ⋅ β k равенство (10) можно разложить на два других:
0 
 0 
 S S
−1

=
λ
h
h
a
Re
Re
ij 
  k
∑∑
ik kj


 i =1 j =1

  
.
(13)

S
S
0
0


  
−1
Im
λ
k  = Im ∑∑ hik hkj a ij 

  


 i=1 j =1


Для вещественной и мнимой частей (13) следуют два равенства:
2

  S S
 2
2
1
−
σ α =  Re ∑∑ hik hkj   σ a
  ij
 k   i =1 j =1

.
(14)

2
S
S
 2  
 2
−1
σ βk =  Im ∑∑ hik hkj   σ aij


  i=1 j =1
Тогда дисперсию комплексного числа можно представить следующим образом:
σ λ2k ,k +1 = σ α2k + jσ β2k , ∀k = 1,2,...S .
(15)
Подобное представление дисперсии не означает, что для комплексного числа имеет место комплексная дисперсия, запись (15) удобно использовать для представления результатов расчета дисперсий собственных
чисел, полученных с помощью ЭВМ.
1107
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Б. Элементы матрицы зависят от случайных параметров, т. е. в
общем случае зависимы между собой.
Рассмотрим случай Б параллельно с примером расчета дисперсии
собственных чисел матрицы состояния системы с двигателем постоянного
тока (см. рис. 2).
Для вектора случайных параметров можно определить математическое ожидание mµi ∈ R S и дисперсию σ µ2i ∈ R S , составляющие которых соответственно равны:
∞
mµi = ∫ µi f (µi )dµi , ∀i = 1,2,..., S
(16)
−∞
[
]
∞ 0
σ µi = M (µi − M [ µi ]) = ∫ µi2 f (µi )dµi , ∀i = 1,2,..., S
2
2
(17)
−∞
U
U
f7
k13
k2
k7
p
k6
T6 p + 1
k3
k9
p
k8
k10
Рис. 2. Модель системы с двигателем постоянного тока.
На рис. 2 представлена модель системы с двигателем постоянного
тока. Стохастические коэффициенты этой системы будут являться координатами вектора случайных параметров
f (µ ) = f (k2 , k3 , k6 , k7 , k8 , k9 , k10 , k13 , f 7 , T6 )
(18)
Не останавливаясь подробно на описании этой системы и ее коэффициентах, отметим, что матрица состояний системы будет иметь вид[2]:
 a11 (µ ) a12 (µ ) a13 (µ )


A(µ ) =  a21 (µ ) a22 (µ )
(19)
0 ,
 0
a23 (µ )
0 

где
1108
Секция 3. Проектирование систем автоматического управления и регулирования
a11 (µ ) = −
k (k k k + k )
1
; a12 (µ ) = − 6 3 9 10 8 ;
T6
T6
a13 (µ ) = −
k 2 k3 k 6
; a21 (µ ) = k7 ;
T6
(20)
a22 (µ ) = − k7 f 7 ; a32 (µ ) = k9 .
0
Причем случайные составляющие элементов матрицы a ij (µ ) в силу
своей малости можно найти с помощью дифференцирования аналитического выражения для коэффициента по всем составляющим вектора случайных параметров:
S ∂a (µ ) 0
0
µn .
(21)
a ij (µ ) = aij (µ ) − M [aij (µ )] = ∑ ij
∂
µ
n =1
n
Таким образом, получим
1 0
a11 (µ ) = 2 T6 ;
T6
a12 (µ ) = −
−
a13 (µ ) = −
k6 k9 k10 0 k3 k9 k10 + k8 0 k3 k6 k10 0
k3−
k6−
k9−
T6
T6
T6
k 0 k (k k k + k ) 0
k3 k 6 k9 0
k 10 − 6 k 8 + 6 3 9 210 8 T 6 ;
T6
T6
T6
k3 k 6 0
kk 0
kk 0
kkk 0
k 2 − − 2 6 k 3 − − 2 3 k 6 + − 2 32 6 T 6 ;
T6
T6
T6
T6
(22)
0
a21 (µ ) = k 7 ;
0
0
a22 (µ ) = − f 7 k 7 − k7 f 7 ;
0
a32 (µ ) = k 9 .
Для нашего примера справедливо (5). Значит, можно пользоваться
зависимостями (6)–(10) и (13). Но следует учесть, что теперь коэффициенты не являются независимыми, т. е. корреляционный момент двух коэффициентов не равен нулю.
Найдем дисперсии коэффициентов матрицы состояний (20), пользуясь формулами (22).
1109
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
σ a211 =
1 2
σT ;
T64 6
2
σ
2
a12
2
2
k k k 
k k k +k 
k k k 
=  6 9 10  σ k23 +  3 9 10 8  σ k26 +  3 6 10  σ k29 +
T6
 T6 


 T6 
k k k 
k 
 k (k k k + k ) 
+  3 6 9 σ k210 +  6  σ k28 +  6 3 9 210 8  σ T26 ;
T6
 T6 
 T6 


2
2
σ
2
a13
σ a221
2
2
2
2
k k 
k k 
k k 
k k k 
=  3 6  σ k22 +  2 6  σ k23 +  2 3  σ k26 +  2 32 6  σ T26 ;
 T6 
 T6 
 T6 
 T6 
= σ k27 ;
(23)
σ a222 = f 72σ k27 + k72σ 2f7 ;
σ a232 = σ k29 .
Некоторые ненулевые корреляционные моменты элементов матрицы
A( µ ) :
0
1 k6 ( k3 k9 k10 + k8 ) 2
σ T6 ;
2
T62

 T6
0
0
1 kkk
ρ  a11 , a13  = 2 2 32 6 σ T26

 T6 T6
ρ  a11 , a12  =
0
0
 2
σ k3 −



k k k + k8  k2 k3  2 k6 ( k3 k9 k10 + k8 )  k2 k3 k6
− 3 9 10
−
 σ k6 +

2
T6
T
T62
6 

 T6
ρ  a12 , a13  = −
0
0
ρ  a12 , a 32  = −
0

0

k6 k9 k10  k2 k6
−
T6  T6
 2
 σ T6 ;

(24)
k3 k6 k10 2
σ k9 ;
T6
0 0 
ρ  a 21 , a 22  = − f 7σ k27 .


Далее воспользуемся формулой (10), учитывая (24) и (23). Возведем
обе части (10) в квадрат и осредним, получим
 S S
 S S
 0 0
−1 
2
σ λk =  ∑∑ hik hkj  ∑∑ hmk hkl−1  ρ  a ij , a ml 
(25)


1
1
1
1
=
=
=
=
m
l
i
j




или
1110
Секция 3. Проектирование систем автоматического управления и регулирования
S S S S
 2
0 0 
−1
−1
=
σ
Re
h
h
Re
h
h
ρ
 a ij , a ml 
mk kl
ik kj
 α k ∑∑∑∑


i =1 j =1 m=1 l =1

(26)

S S S S
0
0


σ 2 =
Im hik hkj−1 Im hmk hkl−1 ρ  a ij , a ml 
 βk ∑∑∑∑


i =1 j =1 m=1 l =1
0 0 
0 0  0 0 
где, ρ  a ij , a ml  = ρ  a ml , a ij , ρ  a ij , a ij  = σ a2ij , ∀i, j = 1,2,..., S .



 

Очевидна громоздкость аналитических вычислений при подстановке
(22) в (26). Для автоматизации расчета в общем случае, когда известна зависимость коэффициентов матрицы А от случайных параметров системы,
т. е. aij = f (µ ) , можно случайные составляющие коэффициентов матрицы
(
) (
)
(
) (
)
0
представить векторами в пространстве случайных параметров µ , т. е.
0
a ij = [ f1 (µ1 ), f 2 (µ 2 ),..., f S (µ S )]T .
(27)
Тогда операция нахождения корреляционного момента будет эквивалентна
операции нахождения скалярного произведения для векторов в декартовых
координатах:
a
0 0 
ρ  a ij , a ml  = f1 ij (µ1 ) f1aml (µ1 )σ µ21 +


(28)
aij
a
aml
a
+ f 2 (µ 2 ) f 2 (µ 2 )σ µ22 + ... + f N ij (µ N ) f N ml (µ N )σ µ2N .
Представляя случайную составляющую в виде (27), следует отдельно
рассмотреть вопрос нормировки в пространстве, базис которого задан вектором случайных параметров. В качестве масштаба в направлении какоголибо из ортов необходимо выбирать корень из дисперсии его параметра.
Тогда, записав случайные составляющие коэффициентов матрицы А
в виде
 ∂aij (µ ) 0 
 ∂µ µ 1 
1


(
∂
a
 ij µ ) µ0 
0
2  ∀i, j = 1,2,..., S ,
a ij (µ ) =  ∂µ
(29)
2


 ∂a (...
0 
)
µ
ij

µS 
 ∂µ S

для рассматриваемого примера получим:
1111
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»


1
σ
a11 (µ ) = 0 0 0 0 0 0 0 0
;
T
T62 6 

0

kkk
k k k +k
k
a12 (µ ) = 0 − 6 9 10 σ k3 − 3 9 10 8 σ k6 0 − 6 σ k8 ...
T6
T6
T6

0
...
k3k6 k10
σ k9
T6
k3 k 6 k9
σ k10
T6
0
 kk
a13 (µ ) = − 3 6 σ k2
 T6
0
{
(µ ) = {0
(µ ) = {0
−
a 21 (µ ) = 0 0 0 σ k7
0
a 22
0
a 32
k6 (k3k9 k10 + k8 ) 
σ T6 ;
T62

0
k 2 k6
σ k3
T6
−
k 2 k3
σ k6
T6
0 0 0 0 0

k 2 k3 k 6
σ T6 ; (30)
2
T6

}
0 0 0 0 0;
0 0 − f 7σ k7
0 0 0 − k7σ f7
0 0 0 0 σ k9
}
0;
}
0 0 0.
Таким образом, можно использовать операцию скалярного произведения для получения корреляционных моментов многомерных случайных
величин.
Учитывая алгоритм получения дисперсии собственного числа при
зависимых коэффициентах матрицы А, можно свести процесс вычисления
дисперсии собственных чисел при независимых коэффициентах к той же
последовательности действий.
В случае независимых коэффициентов нужно сформировать вектор
случайных параметров следующим образом:
 a11 
a 
µ =  12  ,
(31)
 ... 
 
aSS 
Выбор последовательности коэффициентов в качестве координат
вектора случайных параметров принципиального значения не имеет. Важно, что представленные таким образом случайные параметры, сохраняют
свою независимость в вычислениях. Можно пользоваться алгоритмом вычисления дисперсии, соответствующем формуле (26), если представить
случайные составляющие коэффициентов в векторном виде:
0
a 11
 0 
 0 
σ a11 
 0 
σ  0
 0  0
a

 , a 11 =  21  ,... a SS = 
=

...  .
 ... 
 ... 






σ
a
 0 
 0 
 SS 
(32)
1112
Секция 3. Проектирование систем автоматического управления и регулирования
Это необходимо для общности подхода к решению данной задачи,
т. к. подобное универсальное представление данных поможет и пользователю, и программисту, перенастраивающему алгоритм на другую структуру, избежать дополнительных ошибок, а также сократит техническую документацию программы.
Формулы (32) можно получить с помощью более общей зависимости
(29). Действительно, при подстановке (31) в (29) получим:
 ∂aij (µ )

σ
a
 ∂a
11 
ij
  0 

 ∂aij (µ )
 
σ
0 
a
 ∂a
i 12 


ij

  ... 
0
...
 =
a ij (µ ) = 
(33)
, ∀i, j = 1,2,..., S .
(
)
µ
a
∂
σ
 ij

a
 SS 
 ∂a σ aij   ... 
ij

 

...

  0 
 ∂aij (µ ) σ 
aSS

 ∂µ S
Таким образом, в обоих случаях разложение элементов матрицы в базисе
вектора случайных параметров можно производить по формуле (29).
Необходимо отметить, что предложенный алгоритм не определяет
закон распределения собственных чисел исследуемой матрицы. С учетом
принятых допущений, можно считать нормальным законом распределения
собственных чисел случай, когда случайные параметры имеют нормальный или различные законы распределения и равномерный закон — в случае равномерного закона распределения случайных параметров.
Следует учесть, что алгоритм решения поставленной задачи сложен
для аналитического решения, поэтому он будет реализован на ЭВМ в среде
MATLAB. Также нужно отметить, что большинство операций алгоритма
достаточно просты в реализации. Относительно сложной является операция символьного дифференцирования, необходимая для (29), поэтому она
вынесена за рамки предложенной методики. Код программы расчета дисперсий собственных чисел матрицы со стохастическими элементами сведен в функцию, описание которой приведено в приложении 1.
Литература
1. Евланов Л. Г., Константинов В. М. Системы со случайными параметрами.— М.: Наука, 1976.— 568 с.
2. Андриевский Б. Р. Анализ систем в пространстве состояний.— СПб.:
ИПМаш РАН, 1997.— 206 с.
3. Куриленко А. М., Ледовский А. Д. Качество судовых динамических систем управления.— Л.: Судостроение, 1994.— 176 с.
1113
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Приложение 1. Код программы. Файл dlambda.m
% function [sig,Mlam]=dlambda(A,dA,sigmaA)
% функция вычисляет дисперсию собственных чисел матрицы А.
% Ограничения, принимаемые при расчете:
% 1. Применение расчета обосновано при достаточно большом количестве случайных параметров
системы, малого влияния стохастической составляющей случайного коэффициента на его
абсолютную величину, а также малой чувствительности выходного результата к изменению
любого из них.
% 2. Собственные числа матрицы А могут быть вещественными и комплексно-сопряженными,
метод не распространяется на случай кратных собственных чисел.
% 3. Вещественные собственные числа сведены к модели одномерной случайной величины, а
комплексно-сопряженные - к двумерной, т. е. комплексная дисперсия, полученная в результате
расчета, будет характеризовать дисперсию мнимой части собственного числа.
% 4. закон распределения собственных чисел принимается нормальным, в случае нормального
закона распределения случайных параметров либо различных законов распределения и
равномерным, в случае их равномерного распределения.
function [sig,Mlam]=dlambda(A,dA,sigmaA)
% A - квадратная матрица n x n, n-порядок матрицы
% dA - матрица m x n*n. m — количество стохастических элементов системы. Характеризует
взаимовлияние элементов матрицы А. Если все элементы независимы между собой, то это
единичная матрица n*n x n*n, если взаимовлияние присутствует (элементы матрицы А есть
функции параметров системы), то это матрица значений частных производных элементов
матрицы А по координатам вектора стохастических параметров. Составляется по следующему
правилу:
% a(i,j)=F(X), X-вектор длины m.
% dA=[da(1,1)/dX(1)... da(i,j)/dX(1) ... da(n,n-1)/dX(1) da(n,n)/dX(1);
%
…
…
…
…
…
…
%
da(1,1)/dX(j)… da(i,j)/dX(j) ... da(n,n-1)/dX(j) da(n,n)/dX(j);
%
…
…
…
…
…
…
%
da(1,1)/dX(m) ...
da(i,j)/dX(m)...da(n,n-1)/dX(m) da(n,n)/dX(m)];
% значения матрицы dA вычисляются при невозмущенных параметрах.
% sigmaA - матрица среднеквадратических отклонений (СКО) элементов матрицы А.
% sig - диагональная матрица дисперсий собственных чисел матрицы А
% Mlam - диагональная матрица собственных чисел матрицы А
n=size(A,1);
m=size(dA,1);
% преобразование матрицы СКО системы к строке для удобства дальнейших вычислений
for i=1:n
for j=1:n
sigmaAstr(1,(i-1)*n+j)=sigmaA(i,j);
end
end
% нахождение члена da(i,j)/dx(j)*CKO(a(i,j))
for i=1:n^2
dsigmaA(1:m,i)= sigmaAstr(1,i).*dA(1:m,i);
end
[H,sch]=eig(A);
iH=inv(H);
Mlam(1:n,1:n)=0;
VSig(1:m, 1:n)=0;
1114
Секция 3. Проектирование систем автоматического управления и регулирования
% Вычисление дисперсий собственных чисел
for k=1:n
for i=1:n
for j=1:n
for ii=1:n
for jj=1:n
VSig(1:m,k)=VSig(1:m,k)+Real(H(i,k)*iH(k,j))*Real(H(ii,k)*…
…iH(k,jj)).*dsigmaA(1:m,(i-1)*n+j).*dsigmaA(1:m,(ii-1)*n+jj);
VSig(1:m,k)=VSig(1:m,k)+Imag(H(i,k)*iH(k,j))*Imag(H(ii,k)*…
…iH(k,jj)).*dsigmaA(1:m,(i-1)*n+j).*dsigmaA(1:m,(ii-1)*n+jj)*sqrt(-1);
end
end
Mlam(k,k)=Mlam(k,k)+H(i,k)*iH(k,j)*A(j,i);
end
end
end
sig=diag(sum(VSig,1));
1115
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
УДК 519.977.55
СИНТЕЗ ОПТИМАЛЬНЫХ ЦИФРОВЫХ СИСТЕМ
УПРАВЛЕНИЯ С ПОМОЩЬЮ ПАКЕТА DIRECTSDM
Поляков К. Ю., Розенвассер Е. Н.
Государственный морской технический университет, Санкт-Петербург,
e-mail: kpolyakov@mail.ru
1. Введение
В последнее время в теории цифровых систем управления непрерывными объектами основное внимание уделяется так называемым
прямым (точным) методам синтеза регуляторов, при которых непрерывнодискретная система не сводится к стационарной непрерывной или дискретной системе, а рассматривается непосредственно в непрерывном времени [1–4].
Наибольшее распространение получили методы «лифтинга» [1–3] и
«FR-оператора» [5], которые позволяют свести некоторые задачи оптимизации непрерывно-дискретных систем к аналогичным задачам для эквивалентных дискретных систем, полученных с помощью операций в пространстве состояний. Однако для некоторых практически важных случаев
метод «лифтинга» неприменим. Например, в работах [6–7] отмечались
серьезные проблемы, возникающие при построении эквивалентной дискретной задачи для систем с запаздыванием.
Указанные методы не позволяют учесть структуру конкретной системы и не дают информации о порядке и структуре оптимального регулятора и оптимальной системы.
Один из альтернативных подходов основан на концепции параметрической передаточной функции [4] непрерывно-дискретной системы, которая является аналогом обычной передаточной функции (матрицы) стационарных систем. Вычислительные процедуры этого метода, реализованные в одномерной версии пакета DIRECTSD [8–9], во многом строятся на
использовании полиномиальных уравнений. Такой подход позволил избавиться от некоторых промежуточных этапов в алгоритме синтеза и получить явные выражения для порядка оптимальных регуляторов [10–14].
В настоящем докладе представляется многомерная версия пакета,
названная DIRECTSDM, в которой реализованы полиномиальные алгоритмы прямого синтеза оптимальных цифровых регуляторов для управления
многомерными непрерывными объектами. В частности, реализована процедура решения L2 -задачи для цифровых систем, которая является
вырожденной и допускает множественность решений. Теоретической
1116
Секция 3. Проектирование систем автоматического управления и регулирования
денной и допускает множественность решений. Теоретической базой этих
алгоритмов являются результаты работ [15–18].
Для повышения надежности алгоритмов синтеза в настоящей статье
предлагается комбинированная процедура, позволяющая сочетать преимущества частотного подхода, который дает возможность строить квадратичные функционалы в частотной области для широкого класса систем,
и эффективность вычислительных алгоритмов, основанных на использовании уравнений Риккати. Методика, описанная ниже и реализованная в пакете DIRECTSDM, позволяет строить эквивалентные дискретные модели в
пространстве состояний для всех задач оптимизации цифровых систем, которые сводятся к минимизации квадратичного функционала.
Пакет DIRECTSDM построен на основе объектно-ориентированных
технологий и предназначен для использования в среде MATLAB версии
6.0 и выше. Для его работы необходим пакет Control Systems Toolbox.
Пакет несовместим с коммерческим пакетом Polynomial Toolbox
(http://www.polyx.com), поскольку некоторые функции имеют одинаковые
имена.
2. Структуры данных
Для описания элементов системы управления используются два типа
структур данных:
• полиномиальные и квазиполиномиальные матрицы (т. е., рациональные матрицы, имеющие полюса только в начале координат);
• рациональные матрицы.
Полиномиальные матрицы реализованы как объекты нового класса
poln. Для ввода полиномиальных матриц с клавиатуры можно использовать специальные переменные s, p, z, d и q, реализованные в виде функций.
Первые две переменные относятся к моделям непрерывных систем, остальные — к дискретным моделям. Например, при вводе
P = [ s+1 s^2+s-6
s^3 s-12 ]
среда MATLAB создает и выводит на экран полиномиальную матрицу
P: polynomial matrix: 2 x 2
s + 1 s^2 + s - 6
s^3
s - 12
Более того, пакет DIRECTSDM обеспечивает возможности для работы
с квазиполиномами с помощью объектов того же самого класса poln (только для переменных z, d и q). Например, при вводе
P = [ z+1 z+1+z^-1
z^2-5 1+z^-2 ]
среда MATLAB создает и выводит на экран квазиполиномиальную матрицу
P: quazipolynomial matrix: 2 x 2
1117
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
z + 1 z + 1 + z^-1
z^2 - 5
1 + z^-2
Для хранения рациональных матриц используются стандартные объекты пакета Control Systems Toolbox, предназначенные для описания моделей стационарных линейных систем: tf (передаточная матрица), zpk (запись в форме нулей, полюсов и коэффициента усиления) и ss (представление в пространстве состояний). В пакете DIRECTSDM переопределяются
функции вывода на экран для объектов tf и zpk, а также исправлены некоторые ошибки в функциях пакета Control Systems Toolbox (версий до 5.2
включительно) для работы с объектами класса zpk.
3. Операции с полиномиальными матрицами
Поскольку вычислительные процедуры синтеза оптимальных цифровых регуляторов используют модели в форме полиномиальных матриц и
MFD (matrix fraction description) [19], пакет DIRECTSDM реализует основные алгоритмы для работы с полиномиальными (и квазиполиномиальными) матрицами. Это позволяет использовать его не только при исследовании цифровых систем, но также и для решения алгебраических задач.
Для объектов класса poln переопределены все основные арифметические операции (сложение, вычитание, умножение, деление), а также
транспонирование и инверсия для квадратных матриц. При выполнении
операций необходимо, чтобы все операнды имели одну и ту же независимую переменную s, p, z, d или q). Приведем краткий перечень основных
функций этой группы.
Coef
Свойства полиномиальных матриц:
коэффициент матрицы при члене заданной степени
Lcoef
старший коэффициент матрицы
coldeg
степени столбцов матрицы
rowdeg
степени строк матрицы
deg
наибольшая степень элементов матрицы
det
определитель матрицы (полином)
eig
собственные числа квадратной матрицы (корни определителя)
norm
норма матрицы (Евклидова норма массива из коэффициентов)
polyval
значение матрицы при заданном значении переменной
polyder
значение производной от матрицы при заданном значении переменной
rank
ранг полиномиальной матрицы
roots
корни определителя (для квадратной матрицы) или корни каждого из элементов
trace
след матрицы
1118
Секция 3. Проектирование систем автоматического управления и регулирования
Элементарные операции:
coladd
сложение столбцов
colchg
перестановка столбцов
colmul
умножение столбца на полином
fliplr
отражение слева направо
flipud
отражение сверху вниз
rowadd
сложение строк
rowchg
перестановка строк
rowmul
умножение строки на полином
Приведение к специальному виду:
colherm
столбцовая форма Эрмита
rowherm
строчная форма Эрмита
echelonl
левая эшелонная форма
echelonr
правая эшелонная форма
ltriang
нижняя треугольная форма
utriang
верхняя треугольная форма
colred
столбцово-пониженная (column-reduced) форма
rowred
строчно-пониженная (row-reduced) форма
smith
каноническая форма Смита
Другие функции:
gcld
наибольший общий левый делитель
gcrd
наибольший общий правый делитель
invuni
инверсия унимодулярной матрицы
jfact
спектральная J -факторизация эрмитовой матрицы
null
базис нуль-пространства матрицы
pinv
псевдообратная матрица
lfact
левая спектральная факторизация
1119
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
rfact
правая спектральная факторизация
sylv
построение блочной матрицы Сильвестра из коэффициентов
Решение матричных полиномиальных уравнений:
daxb
уравнение AX=B
dxab
уравнение XA=B
daxbyc
уравнение AX+BY=C
dxaybc
уравнение XA+YB=C
daxybc
уравнение AX+YB=C
Операции с MFD:
bezout
построение полиномиальных матриц, удовлетворяющих тождествам Безу [19]
lmfd
левое непонижаемое MFD
lmfd2ss
переход от левого MFD к модели в пространстве состояний
rmfd
правое непонижаемое MFD
rmfd2ss
переход от правого MFD к модели в пространстве состояний
ss2lmfd
переход от модели в пространстве состояний к левому MFD
ss2rmfd
переход от модели в пространстве состояний к правому MFD
rmfd2lmfd
переход от правого MFD к левому
lmfd2rmfd
переход от левого MFD к правому
3. H 2 -оптимальный регулятор для одноконтурной системы
3.1. Расширенная одноконтурная система
Пакет DIRECTSDM содержит функцию sdh2, реализующую алгоритм
синтеза H 2 -оптимального цифрового регулятора для многомерной одноконтурной системы, структурная схема которой показана на рис. 1.
1120
Секция 3. Проектирование систем автоматического управления и регулирования
Рис. 1. Структурная схема одноконтурной цифровой системы стабилизации.
Цифровой регулятор (в штриховом прямоугольнике) состоит из импульсного элемента с периодом T , линейного цифрового фильтра с дискретной передаточной матрицей C (z ) (от переменной z = e − sT ) и экстраполятора с передаточной функцией µ(s ) 1. Контур управления включает собственно объект управления F (s ) , привод G (s ) и динамическую отрицательную обратную связь Q(s ) . Возмущение w(t ) и шум измерений
m(t ) описываются как независимые векторные стационарные случайные
процессы, порожденные формирующими фильтрами Fw (s ) и Fm (s ) , соответственно, после прохождения через них единичных белых шумов ξ(t ) и
η(t ) .
Сигнал выхода y (t ) представляет собой ошибку стабилизации. Задача состоит в том, чтобы обеспечить минимальную мощность сигнала выхода при ограничениях на мощность управления. Для того чтобы иметь
возможность формировать частотные свойства системы нужным образом
(например, обеспечить низкую чувствительность регулятора в области высоких частот) вводятся частотно-зависимые устойчивые весовые матрицы
V y (s ) и Vu (s ) , так что вектор выхода строится из сигналов z y (t ) и zu (t )
(см. рис. 1).
1
В настоящей версии в качестве экстраполятора могут использовать любые обобщен-
ные экстраполяторы с передаточной функцией вида µ( s ) =
T
∫
0
CH e AH t BH dt , где AH ,
BH и C H — постоянные матрицы соответствующих размеров.
1121
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Поскольку система является периодически нестационарной [4], дисперсии непрерывных сигналов зависят от времени, но являются периодичными с периодом T . Поэтому для оценки качества системы естественно
использовать сумму средних (по непрерывному времени) дисперсий выходных сигналов
T
1
J = ∫ E{z y ' (t ) z y (t ) + zu ' (t ) zu (t )} dt → min ,
(1)
T0
где штрих означает транспонирование, а E{⋅} — математическое ожидание.
Предполагается, что выполнены следующие допущения2:
1. матрицы V y FFw , QFFw , QFm и QFG — строго правильные3, а V y FG и
Vu — по меньшей мере правильные;
2. матрица QFG — несократимая;
3. матрицы Fw , Fm , V y и Vu не имеют неустойчивых полюсов;
4. матрицы G и Q не имеют полюсов на мнимой оси;
5. все передаточные матрицы — нормальные в смысле [4], то есть, для
них матрица A в минимальной реализации ( A, B, C , D) — циклическая [19];
6. период квантования T — непатологический.
Допущение 1 необходимо для того, чтобы задача оптимизации была
корректной. Допущения 2 и 6 обеспечивают несократимость дискретной
модели непрерывной части замкнутого контура и стабилизируемость системы. Допущение 3 не ограничивает общности, поскольку для любой спектральной плотности, не имеющей полюсов на мнимой оси, можно построить устойчивый формирующий фильтр. При нарушении допущения 4
формальное применение процедуры оптимизации дает регулятор, который
не является стабилизирующим (выводит систему на границу устойчивости). Допущение 5 практически всегда выполняется в реальных задачах и
служит для упрощения некоторых вычислительных алгоритмов.
Таким образом, задача заключается в том, чтобы при известных непрерывных элементах, интервале квантования T и экстраполяторе µ(s )
найти передаточную матрицу регулятора C (z ) , обеспечивающего минимум критерия (1).
2
Здесь и далее аргументы передаточных матриц опускаются, если это не вызывает путаницы.
3
Рациональная матрица W (s ) называется правильной, если lim W ( s ) = K w ≠ ∞ и
s →∞
строго правильной, если limW ( s ) = 0 .
s →∞
1122
Секция 3. Проектирование систем автоматического управления и регулирования
3.2. Функция sdh2
Пример 1.
В качестве примера рассмотрим задачу синтеза H 2 -оптимального
регулятора для системы стабилизации на курсе танкера «Казбек», упрощенная модель которого имеет вид [20]
 0.051 


1
F ( s ) =  (25s + 1) s  , G ( s ) =
, Q( s) = 1 .
0
.
051
1
s
+


 25s + 1 
Примем T = 1 и
1 0
Fw ( s ) = 1, Fm ( s ) = 0, V y ( s ) = 
, Vu ( s ) = 1 .
0
1


В отличие от задачи, рассмотренной в [20], для управления используются
два сигнала обратной связи (угол рыскания и угловая скорость вращения),
то есть, регулятор имеет 2 входа и 1 выход.
В качестве экстраполятора применяется фиксатор нулевого порядка
с передаточной функцией
1 − e − sT
µ( s ) =
.
s
Для описания системы, изображенной на рис. 1, используется структура языка MATLAB, содержащая поля с теми же именами, что и блоки
схемы. Для рассматриваемой системы
sys.F = tf({0.051; 0.051}, {[25 1 0];[25 1]} );
sys.G = tf(1, [1 1]);
sys.Fw = tf(1);
sys.Vu = tf(1);
sys.T = 1;
Обязательными полями структуры sys являются только sys.F , sys.G,
sys.Fw и sys.T. Если остальные поля не заданы, они принимают значения
по умолчанию:
sys.Fm = 0;
sys.Vy = eye(n);
sys.Vu = 0;
sys.Q = eye(n);
Здесь n обозначает количество выходов передаточной матрицы объекта
F (s ) , и eye(n) — единичная матрица соответствующего размера.
Результатом вызова функции
[C,P] = sdh2 ( sys )
является передаточная матрица оптимального регулятора C (z ) и полюса
замкнутой системы в плоскости z :
C: zero-pole-gain model 1 x 2
1123
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
! 0.98247 (z-0.3679) 17.4769 (z-0.3679) !
! —––––––––––––––––– —––––––––––––––––– !
! (z-0.3457)
(z-0.3457) !
Sampling time: 1
P=
0.9627 + 0.0240i
0.9627 - 0.0240i
0.3679
0.3679
Поскольку все полюса находятся внутри единичного круга, оптимальная замкнутая система устойчива. Значение функции потерь (1) равно
0,0373 .
Полностью рассмотренный пример исследуется в демонстрационной
программе demoh2, входящей в состав пакета DIRECTSDM.
4. L2 -оптимальный регулятор для одноконтурной системы
4.1. Расширенная одноконтурная система
Рассмотрим одноконтурную многомерную следящую систему на
рис. 2.
Рис. 2. Структурная схема одноконтурной цифровой следящей системы.
Контур управления включает объект управления F (s ) , предфильтр
G (s ) , динамическую отрицательную обратную связь Q(s ) и цифровой регулятор C (z ) . Входной сигнал r (t ) имеет изображение по Лапласу R(s ) .
Задача системы состоит в наиболее точном воспроизведении желаемого сигнала ~
y (t ) , который определяется идеальным линейным оператором с передаточной матрицей W y (s ) .
Для того чтобы ограничить сигнал управления, в [12] предложено
ввести идеальный оператор с передаточной матрицей Wu (s ) , задающий
желаемый сигнал управления u~ (t ) . Кроме того, для возможности форми1124
Секция 3. Проектирование систем автоматического управления и регулирования
частотных свойств сигналов ошибок e y (t ) = y (t ) − ~
y (t ) и
eu (t ) = u (t ) − u~ (t ) , вводятся частотно-зависимые весовые матрицы V y (s ) и
Vu (s ) (в простейшем случае — диагональные постоянные матрицы).
Критерий качества включает собой сумму взвешенных интегральных
квадратических ошибок по выходу и управлению
рования
∞
J = ∫ {z y ' (t ) z y (t ) + zu ' (t ) zu (t )} dt → min
(1)
0
Предполагается, что выполнены следующие допущения:
1. матрицы V yW y R , VuWu R , GR и GQF — строго правильные, а V y F и
Vu — по меньшей мере правильные;
2. матрица GQF – несократимая;
3. матрицы R , W y и Wu не имеют неустойчивых полюсов;
4. матрицы G и Q не имеют полюсов на мнимой оси;
5. все передаточные матрицы — нормальные;
6. период квантования T – непатологический.
Допущение 1 необходимо для того, чтобы задача оптимизации была
корректной. Допущения 2 и 6 обеспечивают несократимость дискретной
модели непрерывной части контура и стабилизируемость системы. Если
допущение 3 не выполняется, система не стабилизируема. При нарушении
допущения 4 формальное применение процедуры оптимизации дает регулятор, который не является стабилизирующим. Допущение 5 практически
всегда выполняется в реальных задачах и служит для упрощения некоторых вычислительных алгоритмов.
Задача L2 -оптимизации заключается в том, чтобы при известных непрерывных элементах системы, экстраполяторе µ(s ) и при заданном интервале квантования T найти оптимальный цифровой регулятор C (z ) ,
обеспечивающий устойчивость замкнутой системы и минимум критерия
(2).
4.2. Функция sdl2
Пример 2.
Чтобы продемонстрировать использование пакета DIRECTSDM, рассмотрим следящую систему на рис. 2 при
1


 0,5s + 1 
1 0 
, G ( s ) = 1, Q( s ) = 
F (s) = 

.
1
0
1




 (0,5s + 1) s 
1125
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
0 0 
W y (s ) = 
 , Wu ( s ) = [0 0] ,
0
1


1 
 
1 0
R( s ) =  s  , V y (s ) = 
 , Vu ( s ) = 0, T = 1 .
1
0
1


 
s
Она задается в виде структуры языка MATLAB следующим образом:
sys.F = tf( {1; 1}, {[0.5 1];[0.5 1 0]} );
sys.R = tf( {1; 1}, {[1 0]; [1 0]} );
sys.Wy = tf( {0 0;0 1}, {1 1;1 1} );
sys.T = 1;
Обязательными полями структуры sys являются только sys.F, sys.R,
sys.Wy и sys.T . Если остальные поля не заданы, они принимают значения
по умолчанию:
sys.G = eye(m);
sys.Q = eye(n);
sys.Vy = eye(n);
sys.Wu = 0;
sys.Vu = 0;
Здесь n обозначает количество выходов объекта F (s ) , m — размерность
вектора входных сигналов r (t ) , и eye(.) — единичная матрица соответствующего размера. В качестве экстраполятора используется фиксатор нулевого порядка.
Результатом вызова функции
[C,P] = sdl2 ( sys )
является передаточная матрица оптимального регулятора C (z ) и полюса
замкнутой системы в плоскости z :
C: zero-pole-gain model 1 x 2
!-0.44824(z-0.1175)(z-1) 1.3504(z^2-0.3709z+0.03901)!
!----------------------- --------------------------- !
! (z-0.4299) (z+1.052)
(z-0.4299) (z+1.052) !
Sampling time: 1
P=
0
0
0.3673
-0.2329
Поскольку все полюса находятся внутри единичного круга, оптимальная замкнутая система устойчива. Значение функции потерь (2) равно
1,235 .
Полностью рассмотренный пример исследуется в демонстрационной
программе demol2, входящей в состав пакета DIRECTSDM.
1126
Секция 3. Проектирование систем автоматического управления и регулирования
5. Эквивалентные дискретные модели в задачах оптимизации
стандартной цифровой системы
5.1. Стандартная цифровая система
Преимущество описанных выше полиномиальных (и вообще частотных) методов решения оптимизационных задач заключается в том, что они
позволяют учесть конкретную структуру системы и таким образом выявить обязательные сокращения при выполнении процедур синтеза оптимальных регуляторов. В то же время для каждой конкретной структуры
формулы фактически приходится выводить заново.
Удобным инструментом для анализа и синтеза систем управления
общего вида оказалось понятие так называемой стандартной цифровой
системы [3], изображенной на рис. 3.
ε
y
P11
P21
ST
w
u
P12
P22
−K
H
Рис. 3. Стандартная цифровая система.
Непрерывный обобщенный объект описывается операторными уравнениями
ε = P11w + P12u
,
y = P12 w + P22u
где w — вектор внешние сигналов (возмущения, помехи измерения и
т. п.), ε — выходной сигнал, имеющий смысл ошибки управления, y —
измеряемые сигналы, доступные управляющему устройству, u — вектор
управляющих сигналов.
Блок ST на рис. 3 обозначает идеальный импульсный элемент, работающий с периодом T , блок K — линейный цифровой фильтр, реализующий алгоритм управления, а блок H — экстраполятор. Сплошными
линиями показаны непрерывные сигналы, а штриховыми — дискретные.
Задача заключается в том, чтобы в заданных условиях (для заданного
класса входных сигналов w ) найти цифровой регулятор, минимизирующий некоторую норму сигнала ошибки ε .
1127
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
5.2. Эквивалентная дискретная система
Особенность цифровых систем состоит в том, что они содержат как
непрерывные, так и дискретные элементы, которые описываются соответственно дифференциальными и разностными уравнениями. Это исключает
использование стандартных методов анализа и синтеза линейных стационарных систем и требует разработки специального математического аппарата.
Большинство существующих методов прямого (точного) синтеза
сводятся к тому, что строится (явно или неявно) эквивалентная дискретная
модель задачи, которая затем решается с использованием методов теории
дискретных систем.
Методы лифтинга [1–3] и FR-оператора [5] предусматривают построение соответствующей эквивалентной стандартной дискретной системе (рис. 4), обладающей следующим свойством: регулятор K обеспечивает устойчивость замкнутой цифровой системы (рис. 3) и минимум нормы
ошибки ε на заданном классе входных сигналов w∈ W тогда и только тогда, когда он обеспечивает устойчивость дискретной системы (рис. 4) и
минимум нормы ошибки ε d на заданном классе входных сигналов
wd ∈ Wd :
K = arg min ε
⇔
K = arg min ε d .
(3)
w∈W , K∈S
wd ∈Wd , K∈Sd
В (3) через S обозначен класс регуляторов, стабилизирующих цифровую
систему на рис. 3, а через S d — класс регуляторов, стабилизирующих дискретную систему на рис. 4.
εd
yd
G11 G12
G21 G22
wd
ud
−K
Рис. 4. Стандартная дискретная система.
В работах [1–3] получены эквивалентные дискретные модели задач
H 2 и H ∞ -оптимизации стандартной цифровой системы при условии, что
непрерывный объект описывается конечномерной моделью в пространстве
состояний. Необходимо отметить, что применяемый в [1-3,5] метод не работает для некоторых практически важных классов цифровых систем, например, для систем с запаздыванием [21-23].
1128
Секция 3. Проектирование систем автоматического управления и регулирования
С другой стороны, в [4, 20] разработан частотный метод, позволяющий решать широкий класс задач оптимизации цифровых систем, в том
числе и для систем с запаздыванием. Однако соответствующие вычислительные алгоритмы, основанные на полиномиальных методах, «привязаны» к конкретной структуре системы.
В настоящей статье, по-видимому, впервые, излагается реализованный в пакете DIRECTSDM метод построения эквивалентной (в смысле (3))
стандартной дискретной системы для задач H 2 и L2 -оптимизации стандартной цифровой системы.
Известно, что алгоритмы оптимизации в частотной области не являются грубыми с вычислительной точки, и предпочтительнее использовать
операции в пространстве состояний. Полученный результат позволяет перейти к дискретной модели в пространстве состояний для любой задачи,
которая сводится к квадратичному функционалу, в том числе для задач оптимизации цифровых систем с элементами запаздывания.
5.3. Функционал качества в частотной области
Чаще всего для оценки величины ошибки ε(t ) при детерминированных возмущениях используется ее L2 -норма4 [3]
1/ 2
∞

ε 2 = ∫ ε' (t ) ε(t ) dt  ,
0

где штрих означает операцию транспонирования и предполагается, что
ε(t ) = 0 при t < 0 .
Для системы со скалярным входом в качестве эталонного входного
сигнала выбирается единичный импульс (дельта-функция) δ(t ) . Если
w(t ) — векторный сигнал длиной m , качество системы оценивается величиной
1/ 2
m
2
J 0 = ∑ ε i 2  ,
(4)
 i =1

где ε i (t ) — выходной сигнал при воздействии единичного импульса на
i -ый вход.
Поскольку цифровая система периодически нестационарна [4], L2 норма ошибки зависит (в отличие от непрерывных стационарных систем)
от момента приложения входного сигнала. Критерий (4) соответствует
случаю, когда единичные импульсы подаются на соответствующие входы
в момент t = 0 .
Рассмотрим величину
4
Предполагается, что эта величина конечна.
1129
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
1/ 2
m
2
J 0 τ =  ∑ ε iτ 2  ,
(5)
 i=1

где ε iτ (t ) — выходной сигнал при воздействии единичного импульса на
i -ый вход в момент τ (0 ≤ τ < T ) . Поскольку момент τ точно неизвестен, в
качестве функции потерь естественно использовать усредненную (на интервале [0, T ] ) величину [3]
1/ 2
T
1 2 
J 1 =  ∫ J 0 τ dτ 
T 0

,
(6)
которая получила название обобщенной H 2 -меры [24,25].
В [4, 15, 18] дана статистическая интерпретация функции потерь (6).
Поскольку цифровая система на рис. 3 — периодически нестационарная,
дисперсия ошибки зависит от времени, но является периодической с периодом T . Можно показать, что квадрат J1 совпадает с величиной средней
(по непрерывному времени) дисперсии ошибки при воздействии на вход
векторного белого шума с единичной матрицей спектральной плотности [4, 15]:
1/ 2
T

1
J1 = ∫ E{ε' (t ) ε(t )} dτ
T 0

,
(7)
где символ E{⋅} означает математическое ожидание. Поэтому величина J1
может быть названа H 2 -нормой цифровой системы.
Как показано в [4,15,18], задачи оптимизации цифровых систем относительно функций потерь (3)-(7) сводятся к минимизации функционала
вида
1
dz
tr M * A0 MA1 + BM + M * B* + R
J=
,
(8)
∫
2πj Γ
z
[
]
на множестве допустимых регуляторов. Здесь j = − 1 , символ tr обозначает след матрицы. Кроме того, A0 ( z ) = A0* ( z ) , A1 ( z ) = A1* ( z ) , B( z ) и
R( z ) — рациональные матрицы соответствующих размеров, и
M ( z ) = K [I − DK ] ,
(9)
где D ( z ) — рациональная матрица, представляющая собой дискретную
модель приведенной непрерывной части контура управления. Верхний индекс * обозначает эрмитово-сопряженную матрицу, которая для функций
переменной z вычисляется как F * ( z ) = F ' ( z −1 ) .
Непосредственная минимизация функционала (8) в частотной области с использованием метода Винера-Хопфа сложна с вычислительной
точки зрения и приводит к значительным ошибкам, особенно для многомерных систем. Для того чтобы использовать методы синтеза в простран−1
1130
Секция 3. Проектирование систем автоматического управления и регулирования
стве состояний, обладающие лучшей вычислительной устойчивостью, требуется построить некоторую дискретную стандартную систему, которая
будет эквивалентна исходной цифровой системе в смысле условия (3). Решение этой задачи приводится далее.
5.4. Условия эквивалентности
В теории дискретных систем классической является задача минимизации H 2 -нормы дискретной передаточной матрицы стандартной системы
(рис. 4)
Tεw ( z ) = G11 + G12 M d G21 ,
(10)
где Gik ( z ) (i, k = 1,2) — дискретные передаточные матрицы соответствующих блоков и
−1
M d ( z ) = K [I − G22 K ] .
(11)
Для решения этой задачи существуют эффективные вычислительные методы, основанные на использовании пространства состояний и уравнений
Риккати [3]. В частотной области задача сводится к минимизации функционала
1
dz
1
dz
2
=
=
J d = Tε w 2 =
tr Tε*wTε w
tr Tε wTε*w
∫
∫
2π j Γ
z 2π j Γ
z
dz
.
2π j Γ
z
Используя свойство следа произведения матриц tr AB = tr BA , получаем
1
dz
*
*

+ G21G11* G12 M d + M d* G12* G11G21
Jd =
tr  M d* G12* G12 M d G21G21
∫
2π j Γ
z
(12)
1
dz
*
+
tr G11G11 .
2π j Γ∫
z
Таким образом, для решения поставленной задачи требуется построить матрицы Gik ( z ) (i, k = 1,2) стандартной дискретной системы так, что регулятор K обеспечивает устойчивость цифровой системы (рис. 3) и минимум критерия (8) тогда и только тогда, когда он обеспечивает устойчивость дискретной системы (рис. 4) и минимум критерия (12).
Заметим, что функции потерь (8) и (12) имеют одинаковую форму.
Кроме того, при выборе
G22 ( z ) = D( z )
(13)
получаем M d ( z ) = M ( z ) . В дальнейшем будем выбирать матрицу G22 ( z )
эквивалентной дискретной системы в соответствии с (13).
Известно, что оптимальный стабилизирующий регулятор, обеспечивающий минимум функционала (8), определяется (если он существует)
=
1
*
* *
*
*
* *
*
∫ tr G21M d G12G12 M d G21 + G11G12 M d G21 + G21M d G12G11 + G11G11 
1131
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
только матрицами A0 , A1 и B в (8). Поэтому достаточно выбрать матрицы
G11 , G12 и G21 так, чтобы обеспечить выполнение равенств
A0 ( z ) = G12* G12 ,
(14)
*
A1 ( z ) = G21G21 ,
(15)
*
B( z ) = G21G11G12 .
(16)
Далее будет показано, что выполнение равенства (16) не обязательно. Поэтому будем различать следующие два типа эквивалентных дискретных систем.
Определение 1. Эквивалентной дискретной системой полного порядка будем называть модель вида (10), для которой выполняются равенства (14)-(16).
Определение 2. Эквивалентной дискретной системой пониженного
порядка будем называть модель вида (10), для которой выполняется условие эквивалентности (3) и порядок минимальной реализации стандартной
системы меньше, чем для полной модели.
Отметим, что для системы пониженного порядка условие (16) может
нарушаться. Однако упрощение системы не должно изменять оптимальный регулятор (модель должна быть эквивалентна исходной системе в
смысле (3)).
5.5. Эквивалентная дискретная система полного порядка
Предположим, что матрицы A0 ( z ) и A1 ( z ) неотрицательно определены на единичной окружности и имеют ранги и m , соответственно. Тогда, используя результаты [26], можно показать, что существуют факторизации
*
Q 
* Q0 
A0 ( z ) = U 0   [Q0 0] U 0 , A1 ( z ) = U1  1  Q1* 0 U1* ,
(17)
0
0


 
где U i ( z ) (i = 1,2) — унимодулярные полиномиальные матрицы5, а
Qi ( z ) (i = 1,2) — квадратные рациональные матрицы полного ранга, так что
матрица Q0 имеет размеры × , а матрица Q1 — размеры m × m .
Далее будем предполагать, что рациональная матрица B в (8) такова,
что справедливо представление
~
 B 0
−1
−1
U1 BU 0 = 
(18)
,
0
0


~
где B ( z ) — рациональная матрица размером m × .
[
]
5
Унимодулярной называется полиномиальная матрица, определитель которой есть ненулевая постоянная, не зависящая от переменной z .
1132
Секция 3. Проектирование систем автоматического управления и регулирования
Очевидно, что равенства (14)–(15) выполняются при выборе
Q 
G12 ( z ) = [Q0 0] U 0 , G21 ( z ) = U1  1  .
(19)
0
 
В этом случае при выполнении допущения (18) выбор матрицы G11 определяется из условия (16), которое дает
~
 B 0 Q1  *
Q1G11* Q0 0
−1
−1
(20)
U1 BU 0 = 
 =   G11 [Q0 0] = 
,
0
0
0
0
0






откуда следует
~
G11 ( z ) = Q1−1 B Q0−1 * .
(21)
Заметим, что если матрицы A0 ( z ) и/или A1 ( z ) имеют неполный ранг,
то полученная эквивалентная H 2 -задача является вырожденной и для ее
решения необходимо использовать специальные алгоритмы, учитывающие
эту особенность. В пакете DIRECTSDM реализован алгоритм, предложенный в [27].
Для использования стандартных методов синтеза в пространстве состояний требуется, чтобы все матрицы дискретной модели были правильными, то есть,
lim Gik = const ≠ ∞, (i, k = 1,2) .
[
]
z →∞
Матрицы D( z ) , A0 ( z ) и A1 ( z ) — правильные по построению во всех
рассматриваемых задачах [4,15], поэтому матрицы G12 , G21 и G22 — также
правильные. В то же время матрица G11 , найденная в соответствии с (21),
может оказаться неправильной. При этом
~
G11 ( z ) = G11 ( z ) + F11 ( z ) ,
~
где G11 ( z ) — правильная матрица, а F11 ( z ) — полиномиальная матрица,
такая, что F11 (0) = 0 . Представим передаточную матрицу замкнутой системы (10) в виде
~
Tεw ( z ) = Tεw ( z ) + F11 ( z ) ,
~
где рациональная матрица Tεw ( z ) — правильная по построению. Тогда
функцию потерь для эквивалентной дискретной системы можно выразить
как
1
dz
*
tr
Jd =
T
T
=J d 1 + J d 2 + J d 3 + J d 4 ,
εw εw
2πj ∫Γ
z
где
1
1
dz
~ ~ dz
~
tr Tε*wTεw , J d 2 =
tr Tε*w F11 ,
J d1 =
∫
∫
z
2πj Γ
2πj Γ
z
1
1
dz
~ dz
Jd3 =
tr F11*Tεw , J d 4 =
tr F11* F11
.
∫
∫
2πj Γ
2πj Γ
z
z
1133
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Поскольку предполагается, что замкнутая система устойчива, все
полюса ее передаточной матрицы Tεw , а значит и все полюса передаточной
~
матрицы Tεw , находятся внутри единичного круга. Тогда все полюса мат~
рицы Tε*w расположены вне единичного круга. Отсюда, учитывая, что
F11 содержит множитель z , по теореме о вычетах получаем J d 2 = 0 . Поскольку J d 3 = J d 2 = 0 , имеем
1
1
dz
~ * ~ dz
*
+
tr
tr
.
F
F
Jd =
T
T
w
w
11
11
ε
ε
2πj ∫Γ
z
z 2πj ∫Γ
Учитывая, что матрица F11 не зависит от выбора регулятора, приходим к выводу, что при построении оптимального регулятора можно игнорировать F11 и использовать стандартную дискретную систему с передаточной матрицей
~
G11 ( z ) G12 ( z ) 
G( z) = 
.
G
(
z
)
G
(
z
)
 21

22
В качестве альтернативного варианта можно применить известное
свойство H 2 -нормы дискретной передаточной матрицы:
2
1
X ( z) 2 = m X ( z) ,
z
2
где m > 0 — целое число. Выберем достаточно большое m так, чтобы передаточная матрица G11 / z m была правильной. Тогда исходная задача оптимизации цифровой системы эквивалентна задаче минимизации H 2 нормы передаточной матрицы дискретной стандартной системы, в которой
дискретный объект описывается передаточной матрицей
G11 ( z ) / z m G12 ( z ) / z m 
G( z) = 
.
G22 ( z ) 
 G21 ( z )
Этот способ несколько хуже предыдущего, поскольку в модели объекта появляются дополнительные полюса в точке z = 0 .
2
5.6. Эквивалентная дискретная система пониженного порядка
Как видно из (21), матрица G11 эквивалентной системы полного порядка в общем случае содержит полюса, которые являются нулями матриц
Q0* и Q1* . Это повышает порядок (число состояний минимальной реализации) эквивалентной дискретной системы, что нежелательно. В этом разделе рассматривается способ построения эквивалентной дискретной модели,
свободный от этого недостатка.
1134
Секция 3. Проектирование систем автоматического управления и регулирования
Перейдем к переменной ζ = 1 / z в функционале (8) и во всех матрицах. Соответствующие передаточные матрицы от ζ будем обозначать чертой сверху. Построим пары лево- и право-взаимностых полиномиальных
матриц, {al (ζ ), bl (ζ )} и {ar (ζ ), br (ζ )} соответственно, реализующих непонижаемые (irreducible) MFD [19] для матрицы
(22)
G22 (ζ ) = G22 ( z ) z =1 / ζ = al−1bl = br ar−1 .
Тогда существуют полиномиальные матрицы X r 0 (ζ ) и Yr 0 (ζ ) , такие
что [19]
alYr 0 + bl X r 0 = I ,
где I — единичная матрица соответствующего размера. При этом множество всех стабилизирующих регуляторов K (ζ ) и множество соответствующих допустимых матриц M (ζ ) параметризуется в виде [28,29,15]
K (ζ ) = ( X ro + ar Ψ )(Yr 0 − br Ψ ) −1 .
(23)
M (ζ ) = ( X ro + ar Ψ ) al .
(24)
где Ψ (ζ ) — произвольная устойчивая (не имеющая полюсов внутри и на
границе единичного круга) рациональная матрица. При использовании
подстановки (24) с учетом равенства tr AB = tr BA задача сводится к минимизации функционала
1
~ ~
~
~ dζ
*~
* ~*
J =
Ψ
A
Ψ
A
+
B
Ψ
+
Ψ
B
+
R
,
(25)
tr
0
1
2πj ∫Γ
ζ
на множестве устойчивых дробно-рациональных матриц Ψ (ζ ) . Здесь6
~
A0 = ar* A0 ar ,
(26)
~
A1 = al A1al* ,
(27)
~
~
~
B ( z ) = al B ar + A1 X r*0 ar−* A0 ,
(28)
~
* *
* *
*
R ( z ) = R + al X r 0 A0 X r 0 al A1 + B X r 0 al + al X r 0 B ,
(29)
~
~
Далее предполагается, что матрицы A0 и A1 имеют ранги и m , соответственно. Тогда они могут быть факторизованы в виде
*
Q 
~
~
* Q0 
A0 (ζ ) = U 0   [Q0 0] U 0 , A1 (ζ ) = U1  1  Q1* 0 U1* ,
(30)
0
0
 
 
где U i (ζ ) (i = 1,2) — унимодулярные полиномиальные матрицы, а
Qi (ζ ) (i = 1,2) — квадратные рациональные матрицы полного ранга, так
что матрица Q0 имеет размеры × , а матрица Q1 — размеры m × m .
~
Кроме того, предполагается, что матрица B такова, что
[
]
[
6
Здесь и далее используется обозначение F
−*
[
(ζ ) = F * (ζ )
]
−1
]
.
1135
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
~
~ −1  B0 0
U BU 0 = 
(31)
,
 0 0
~
где B0 ( z ) — рациональная матрица размером m × . Это условие обеспечивает наличие минимума у вырожденного функционала (25) [27].
Подставляя (28) и (30) в (31), получаем
~
 B02 0
−1 ~
−1
−1
−1
U1 B U 0 = U1 al B arU 0 + 
 ,
0
0


~
где B02 (ζ ) — некоторая рациональная матрица размером m × .
Отсюда следует, что для выполнения (31) необходимо
~
 B01 0
−1
−1
U1 al B arU 0 = 
(32)
,
0
0


~
где B01 (ζ ) — некоторая рациональная матрица размером m × .
Обозначим
~
Ψ (ζ ) = U 0 Ψ U 1 .
(33)
Поскольку полиномиальные матрицы U 0 и U1 — унимодулярные по
~
построению, устойчивость матрицы Ψ равносильна устойчивости Ψ . Ра~
зобьем матрицу Ψ на блоки, так что
Ψ Ψ1 
~
(34)
Ψ (ζ ) =  0
,
Ψ
Ψ
3
 2
где матрица Ψ0 (ζ ) имеет размеры m × . Можно показать (см. [27]), что
при выполнении (30) и (31) оптимальная матрица Ψ0 должна быть выбрана из условия минимума невырожденного функционала
1
~
* * *
* ~ * dζ
tr
Ψ
Ψ
+
Ψ
+
Ψ
→ min ,
J0 =
Q
Q
Q
Q
B
B0
1
0 0
1
0
2πj ∫Γ
ζ
(35)
а устойчивые матрицы Ψi (i = 1,… ,3) могут быть выбраны произвольно и
не влияют на значение функционала качества (25). Отметим, что этот прием обобщает результаты, полученные в [29,30] для вырожденных функционалов типа (25).
Будем предполагать, что матрицы Q0 и Q1 выбраны так, что все их
нули и полюса устойчивы (находятся вне единичного круга в плоскости
ζ ). Известно [28,29,15], что в этом случае оптимальная матрица Ψ0 , обеспечивающая минимум функционала (35), может быть вычислена как
Ψ0opt (ζ ) = −Q0−1{L}+ Q1−1 ,
где
~
L(ζ ) = Q0−* B0Q1−*
−1
1
[
]
1136
Секция 3. Проектирование систем автоматического управления и регулирования
и {⋅}+ обозначает устойчивую часть правильной сепарации [28,15]:
L(ζ ) = {L}+ + {L}−
где матрица {L}+ — устойчивая, а {L}− — строго неустойчивая и строго
правильная. Таким образом, матрица {L}− не влияет на оптимальный регулятор, и это дает некоторую свободу в выборе матриц эквивалентной
дискретной модели.
Учитывая (26), (27) и (30), для выполнения условий
A0 (ζ ) = G12* G12 , A1 (ζ ) = G21G21*
можно выбрать
Q 
G12 (ζ ) = [Q0 0]U 0 ar−1 , G21 (ζ ) = al−1U1  1  .
0
По определению матрица G11 для модели полного порядка определяется равенством
B (ζ ) = G21G11* G12 ,
откуда следует
~
Q1G11* Q0 0  B01 0
Q1  *
−1
−1
U1 al B arU 0 =   G11 [Q0 0] = 
(36)
.
=
0  0 0
0
 0
Тогда получаем
В этом случае имеем
~ * −*
G11 (ζ ) = Q0−* B01
Q1 .
(37)
~
L1 (ζ ) = Q0−* B01Q1−* = G11 .
откуда следует
{L1}+ = {G11}+ .
Это значит, что в качестве (1,1)-блока эквивалентной системы пониженного порядка вместо (37) можно использовать
G11s (ζ ) = {G11}+ .
При этом оптимальная матрица Ψ0 не изменится, поэтому также не меня~
ется множество оптимальных матриц Ψ (при произвольном выборе устойчивых Ψi (i = 1,…,3) ) и, как следствие, соответствующее множество оптимальных регуляторов (23).
Необходимо учесть, что для того, чтобы использовать процедуру
синтеза оптимального регулятора в пространстве состояний, стандартная
система должна быть стабилизируема и детектируема. Можно показать,
что в случае, когда матрица G22 (в минимальной реализации) имеет неустойчивые полюса, стандартная система с матрицей G11s в (1,1)-блоке имеет
неуправляемые и/или ненаблюдаемые неустойчивые моды. Для того чтобы
обеспечить управляемость/наблюдаемость этих мод, надо сохранить в
1137
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
(1,1)-блоке эквивалентной стандартной системы все слагаемые в сепарации
G11 , полюса которых совпадают с полюсами G22 .
Пусть справедливо разложение
{G11}− = G0 + Gu
где G0 (ζ) — строго правильная матрица, полюса которой совпадают с полюсами матрицы G22 , а Gu (ζ ) — строго правильная матрица, не имеющая
общих полюсов с G22 . Тогда в качестве (1,1)-блока эквивалентной стандартной системы надо выбрать
G11r (ζ ) = G11s + G0 = {G11}+ + G0 .
(38)
Передаточные матрицы эквивалентной стандартной модели вычисляются путем подстановки ζ = 1 / z :
G (ζ ) G12 (ζ ) 
.
G ( z ) =  11r

G
(
)
G
(
)
ζ
ζ
 21
 ζ =1/ z
22
5.7. Синтез оптимальных регуляторов с помощью пакета DIRECTSDM
Пример 3.
Продемонстрируем эффективность предлагаемой методики на примере синтеза оптимального регулятора в задаче H 2 -оптимизации цифровой системы с запаздыванием (рис. 5), для которой неприменимы существующие методы перехода к эквивалентной стандартной дискретной системе [1–3, 5].
Рис. 5. Цифровая система стабилизации с запаздыванием.
Объект управления с передаточной функцией F ( s ) подвергается
воздействию стохастического стационарного внешнего возмущения, которое моделируется как единичный белый шум, прошедший через формирующий фильтр Fw ( s ) .
Цель управления заключается в минимизации средней (по непрерывному времени) дисперсии ошибки ε(t ) . Для этого используется цифро1138
Секция 3. Проектирование систем автоматического управления и регулирования
вой регулятор K ( z ) с фиксатором нулевого порядка (с передаточной
функцией H ( s ) = (1 − e − sT ) / s ). Вычислительное запаздывание моделируется звеном e − sτ . Все непрерывные элементы, а также интервал квантования
T , предполагаются известными, передаточная функция регулятора K ( z )
подлежит определению. Далее принимаются значения
1
2
F ( s ) = , Fw ( s ) =
, T = 1 , τ = 0,5 .
s
s+2
Необходимо отметить, что эта задача не может быть решена с использованием лифтинга и метода FR-оператора, поскольку система включает звенья чистого запаздывания.
Стандартная цифровая система задается объектом с передаточной
матрицей
 FFw
Fe − sτ 
.
P( s) = 
− sτ 
−
−
FF
Fe


w
В системе MATLAB она может быть задана следующим образом:
F = tf(1, [1 0]);
Fw = tf(2, [1 2]);
T = 1;
G = tf(1);
G.iodelay = 0.5;
sys = [ F*Fw F*G
-F*Fw —F*G];
Для построения эквивалентных дискретных моделей для задачи H 2 оптимизации стандартной цифровой системы используется функция
sdh2dmod:
out2 = 1;
in2 = 1;
options.method = 'basic';
dsys = sdh2dmod ( sys, out2, in2, T, options );
Первый параметр этой функции — непрерывный обобщенный объект
стандартной системы, второй — число сигналов обратной связи, третий —
число сигналов управления, четвертый — период квантования. Поле
method структуры options, передаваемой как пятый параметр, позволяет
задать тип модели. В приведенном выше варианте строится модель полного порядка (‘basic’), которая имеет размерность минимальной реализации
5. После приведения к канонической модальной форме эта модель имеет
вид
a=
x1
x2
x3
x4
x5
x1
x2
x3
x4
x5
1
0
0
0
0
0 -0.2679
0
0
0
0
0 -0.2187
0
0
0
0
0 0.1353
0
0
0
0
0
0
1139
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
b=
x1
x2
x3
x4
x5
u1 u2
-1.086 1.086
0.3349
0
-0.213
0
1.826
0
0 1.34
c=
x1
x2
x3
x4
x5
y1 -0.9211 -1.457 -1.468 -0.1
0
y2 -0.9211
0
0 -0.4626 0.3732
d=
u1
u2
y1 0.07331 -0.2113
y2
0
0
Для построения модели пониженного порядка применяется метод
‘reduced’(он используется по умолчанию):
options.method = 'reduced';
dsys = sdh2dmod ( sys, out2, in2, T, options );
Эта модель имеет размерность минимальной реализации 3, что существенно упрощает вычислительную сложность алгоритмов и повышает точность
вычислений:
a=
x1
x2
x3
x1
1
0
0
x2
x3
0
0
0
0
0 0.1353
b=
u1
u2
x1 0.9533 -0.9533
x2
0 -1.706
x3 1.195
0
c=
x1
x2
x3
y1 -1.049
0 0.02046
y2 1.049 -0.2932 -0.2432
d=
u1
u2
y1 -0.8213 0.7887
y2
0
0
Далее для синтеза оптимального регулятора остается вызвать функцию h2reg:
K = h2reg ( dsys, out2, in2 )
1140
Секция 3. Проектирование систем автоматического управления и регулирования
которая возвращает реализацию оптимального цифрового регулятора в
пространстве состояний:
a=
x1
x2
x1 -0.7475
0
x2
0 0.1326
b=
u1
x1 -1.268
x2 0.03009
c=
x1
x2
y1 1.005 0.1648
d=
u1
y1 1.743
Если эквивалентная дискретная модель сама по себе не нужна, для
синтеза оптимального регулятора можно использовать функцию sdh2std:
[K,Poles] = sdh2std(sys, out2, in2, T, options)
Она строит эквивалентную дискретную модель (полного или пониженного
порядка, в зависимости от типа, указанного в структуре options) и вызывает функцию h2reg, реализующую процедуру синтеза оптимального регулятора для дискретного объекта в пространстве состояний [27]. Результатом
последнего вызова являются оптимальный регулятор и полюса замкнутой
системы:
K: zero-pole-gain model 1 x 1
! 1.7434 z (z-0.1137) !
! --------------------- !
! (z-0.1326) (z+0.7475) !
Sampling time: 1
Poles =
0
0
-0.2679
-0.2187
Для вычисления критерия качества (в данном случае — H 2 -нормы
цифровой системы на рис. 3) с помощью пакета DIRECTSDM применим
функцию sdnorm:
J = sdnorm(sys, K, 'h2')^2;
Полученное значение J = 0.759 .
1141
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Пример 4.
Далее рассмотрим задачу синтеза L2 -оптимального регулятора для
системы, исследованной в примере 2. Соответствующая стандартная система имеет передаточную матрицу
− V yW y R V y F 
P ( s ) =  − VuWu R
Vu 


 GR
− GQF 
и может быть задана следующими командами MATLAB:
F = tf( {1; 1}, {[0.5 1]; [0.5 1 0]} );
G = eye(2);
Q = eye(2);
R = tf( {1; 1}, {[1 0]; [1 0]} );
Wy = tf( {0 0;0 1} , {1 1;1 1} );
Wu = 0;
Vy = eye(2);
Vu = 0;
sys = [ -Vy*Wy*R Vy*F
-Vu*Wu*R Vu
G*R -G*Q*F];
T = 1;
Последняя команда задает интервал квантования. Вызов функции
sdl2std пакета DIRECTSDM
out2 = 2;
in2 = 1;
options.method = 'reduced';
K = sdl2std ( sys, out2, in2, T, options )
позволяет рассчитать оптимальный регулятор:
K: zero-pole-gain model 1 x 2
! 0.45108(z-1)(z-0.153) 0.45108(z-0.1202)(z+1.273) !
! --------------------- --------------------------- !
! (z^2+0.3549z+0.5925)
(z^2+0.3549z+0.5925) !
Как видим, этот регулятор отличается от регулятора, полученного в
примере 2. Однако можно непосредственно проверить, что соответствующие этим двум регуляторам матрицы Ψ0 (ζ ) совпадают и равны
0.10937(ζ −1 + 0,3065)(ζ −1 − 0,5908)
Ψ0 (ζ ) =
.
(ζ −1 + 0,2329)(ζ −1 − 0,3673)
Как следствие, оба регулятора обеспечивают одинаковые полюса
замкнутой системы и одинаковое значение критерия качества J = 1,235 ,
которое может быть найдено с помощью функции sdnorm:
J = sdnorm(sys, K, 'l2')^2;
Это иллюстрирует факт множественности решений многомерной задачи
L2 -оптимизации при известном входном сигнале.
1142
Секция 3. Проектирование систем автоматического управления и регулирования
6. Заключение
В докладе представлена многомерная версия пакета DIRECTSDM,
предназначенного для прямого синтеза оптимальных цифровых систем
управления непрерывными объектами в среде MATLAB. В пакете используются новые алгоритмы синтеза, основанные на концепции параметрической передаточной функции и теории матричных полиномиальных уравнений.
Предлагается новый метод построения эквивалентных дискретных
моделей для задач оптимизации стандартной цифровой системы, сводящихся к минимизации произвольных квадратичных функционалов. Метод
предусматривает построение функционала в частотной области с помощью
теории параметрических передаточных функций, что позволяет исследовать более широкий класс систем, например, системы с запаздыванием. Затем строится эквивалентная в смысле (3) стандартная дискретная система,
и далее синтез оптимального регулятора выполняется с помощью вычислительных методов, основанных на использовании уравнений Риккати. Такой подход является более надежным с вычислительной точки зрения, чем
непосредственная минимизация функционалов в частотной области.
Использование объектно-ориентированных возможностей программирования в среде MATLAB позволило «прозрачно» реализовать основные операции с полиномиальными матрицами на основе перегрузки операций и функций. Объекты базового класса poln могут быть как полиномиальными матрицами, так и матричными квазиполиномами. Это позволяет использовать пакет DIRECTSDM не только при исследовании цифровых
систем, но также и для решения алгебраических задач.
В настоящее время выполняется реализация алгоритмов синтеза
многомерных робастных цифровых систем, а также усовершенствование
вычислительных процедур.
Литература
1. Hara S., Fujioka H., Kabamba P. T. A hybrid state-space approach to sampled-data feedback control // Linear Algebra and Its Applications.— V.205–
206.— 1994.— P.675–712.
2. Yamamoto Y. A function space approach to sampled-data systems and tracking problems // IEEE Trans. Automat. Contr.— V.AC–39.— 1994.— №4.—
P.703–713.
3. Chen T., Francis B. A. Optimal Sampled-Data Control Systems.— Berlin
Heidelberg New York: Springer-Verlag.— 1995.
4. Розенвассер Е. Н. Линейная теория цифрового управления в непрерывном времени.— М.: Наука. 1994.
1143
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
5. Hagiwara T., Araki M. FR-operator approach to the H 2 -analysis and synthesis of sampled-data systems // IEEE Trans. Automat. Contr.— V.AC–40.
1995.— №8.— P.1411–1421.
6. Khargonekar P., Yamamoto Y. Delayed signal reconstruction using sampleddata control // Proc. 35th IEEE Conf. Decision Contr.— 1996.— P.1259–
1263.
7. Yamamoto Y., Hara S. Performance lower bound for a sampled-data signal
reconstruction // Open Problems in Mathematical Systems and Control Theory (V. Blondel, E. Sontag, M. Vidyasagar, J. Willems, eds.).— London:
Springer, 1998.— P.277–279.
8. Polyakov K., Rosenwasser E., Lampe B. DirectSD — a toolbox for direct design of sampled-data systems // Proc. IEEE Intern. Symp. CACSD'99.— Kohala Coast, Island of Hawaii. Hawaii. USA, 1999.— P.357–362.
9. Поляков К. Ю., Розенвассер Е. Н. DirectSD 2.0 — пакет для анализа и
прямого синтеза цифровых систем управления // Тр. Всеросс. науч.
конф. «Проектирование научных и инженерных приложений в среде
MATLAB».— М.: ИПУ РАН, 2002.
10. Поляков К. Ю. Полиномиальный синтез цифровых систем управления.
I. Квадратичная оптимизация // Автоматика и телемеханика.— 1998.—
№10.— С.76–89.
11. Поляков К. Ю. Полиномиальный синтез цифровых систем управления.
II. Робастная оптимизация // Автоматика и телемеханика.— 1998.—
№1.— С.94–108.
12. Поляков К. Ю. Полиномиальный синтез оптимальных цифровых следящих систем. I. Квадратичная оптимизация // Автоматика и телемеханика.— 2001.— №2.— С.149–162.
13. Поляков К. Ю. Полиномиальный синтез оптимальных цифровых следящих систем. II. Робастная оптимизация // Автоматика и телемеханика.—
2001.— №3.— С.94–107.
14. Поляков К. Ю. Синтез оптимальных цифровых систем с двумя степенями свободы // Автоматика и телемеханика.— 2001.— №6.— С.85–94.
15. Rosenwasser E., Lampe B. Algebraische Methoden zur Theorie der
Mehrgrößen-Abtastsysteme.— Rostock: Universität, 2000.
16. Поляков К. Ю. Полиномиальный синтез многомерных импульсных систем // Математическое моделирование информационных и технологических систем. Сб. науч. тр. Вып. 5.— Воронеж. Воронежская государственная технологическая академия (ВГТА), 2001.— С.204–207.
17. Поляков К. Ю., Розенвассер Е. Н. Полиномиальный метод H 2 оптимизации многомерных дискретных и импульсных систем // Мехатроника, автоматизация, управление.— 2003.— №5.— С.3–15.
18. Rosenwasser E., Lampe B., Multivariable Computer Controlled Systems: a
transfer function approach. (готовится к печати).
19. Kailath T. Linear Systems. Englewood Cliffs.— NJ: Prentice Hall, 1980.
1144
Секция 3. Проектирование систем автоматического управления и регулирования
20. Rosenwasser E., Polyakov K., Lampe B. Entwurf optimaler Kursregler mit
Hilfe von Parametrischen Übertragungsfunktionen // Automatisierungstechnik.— 1996.— V.44.— Bd.10.— S.487–495.
21. Rosenwasser E. N., Polyakov K. Y., Lampe B. P. Application of Laplace
transformation for digital redesign of continuous control systems // IEEE
Trans. Automat. Control.— 1999.— V.44.— N.4.— P.883–886.
22. Rosenwasser E. N., Polyakov K. Y., Lampe B. P Optimal discrete filtering for
time-delayed systems with respect to mean-square continuous-time error criterion // Int. J. Adapt. Control Signal Process.— 1998.— N.12.— P.389–406.
23. Rosenwasser E. N., Polyakov K. Y., Lampe B. P. Frequency domain method
for H 2 -optimization of time-delayed sampled-data systems // Automatica.—
1997.— V.33.— N.7.— P.1387–1392.
24. Bamieh B. A., Pearson J. B. The H 2 -problem for sampled-data systems //
Syst. Contr. Lett.— 1992.— V.19.— N.1.— P.1–12.
25. Khargonekar P. T., Sivashankar N. H 2 -optimal control for sampled-data
systems // Syst. Contr. Lett.— 1992.— V.18.— P.627–631.
26. Попов В. М. Гиперустойчивость автоматических систем.— М.: Наука,
1970.
27. Поляков К. Ю. Вырожденные задачи H 2 -оптимизации дискретных систем // Автоматика и телемеханика (в печати).
28. Алиев Ф. А., Ларин В. Б., Науменко К. И., Сунцев В. И. Оптимизация линейных инвариантных во времени систем.— К.: Наукова Думка, 1978.
29. Фомин В. Н. Методы управления линейными дискретными объектами.— Л.: Изд. ЛГУ, 1985.
30. Пак В. Г., Фомин В. Н. Линейно-квадратичная задача оптимального
управления при известном возмущающем воздействии. I. Абстрактная
линейно-квадратичная задача с известным возмущающим элементом.—
СПб., 1997. (Деп. в ВИHИТИ от 24.06.97, № 2603-В97).
1145
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
УДК 62-50
СИНТЕЗ ОПТИМАЛЬНОГО ГАШЕНИЯ КОЛЕБАНИЙ
ДВУХМАССОВОЙ СИСТЕМЫ В ПАКЕТЕ MATLAB
Федюков А. А.
Нижегородский государственный университет
им. Н. И. Лобачевского, Нижний Новгород,
e-mail:TeleginSasha@yandex.ru
Введение
Задачи управления колебательными процессами постоянно привлекали внимание исследователей. В публикациях последнего времени наблюдается тенденция развития аналитико-численных методов управления
[1–3]. Это обусловлено сложностью математических моделей управляемых
процессов: высокой размерностью, нестационарностью и их нелинейным
характером.
В настоящее время существуют два основных подхода к решению
задач управления колебательными процессами. Первый из них базируется
на применении принципа максимума Понтрягина и направлен на решение
задач с ограниченным управлением. Во втором подходе используются
идеи аналитического конструирования регуляторов для линейных систем с
интегрально-квадратичным функционалом. За последние 10-15 лет этот
подход получил новое развитие в связи с созданием теории H ∞ - управления, которая позволяет решать задачи управления в условиях неопределенности как параметров самой системы, так и действующих на систему
возмущений [4–10].
Когда объект управления полностью определен применение эффективных вычислительных процедур, реализованных в MATLAB, позволяет
синтезировать оптимальные H ∞ –регуляторы, обеспечивающие минимально возможный уровень гашения внешнего возмущения в классе линейных
динамических регуляторов по выходу [11]. В случае, когда в описании
системы присутствует неопределенность, синтез робастных H ∞ –
регуляторов, обеспечивающих гашение возмущений в заданном отношении для любой неопределенности из данного класса, сводится к синтезу
H ∞ –регулятора для некоторой вспомогательной полностью определенной
системы [12–16].
В этой работе решается задача построения оптимального робастного
управления для двухмассовой системы c параметрическим и внешним возмущением. Синтез управления осуществляется методами теории H ∞ управления с использованием линейных матричных неравенств. В работе
применяется алгоритм, реализуемый как итерационный процесс, на каж1146
Секция 3. Проектирование систем автоматического управления и регулирования
дой итерации которого с помощью стандартных команд пакета MATLAB
решается задача поиска минимума линейной функции при ограничениях,
задаваемых линейными матричными неравенствами. Приведены результаты численного моделирования.
1. Предварительные результаты
Пусть задан управляемый линейный объект
x = Ax + B1v + B2u,
(1.1)
z = C1 x + D12u ,
y = C2 x + D21v
в котором x — состояние системы, v — возмущение, u — управление,
z — управляемый выход, y — измеряемый выход. Синтез H ∞ — управления этим объектом состоит в построении динамического регулятора по измеряемому выходу, при котором обеспечивается гашение возмущений в
заданном отношении γ , т. е.
z
sup
v
v ≠0
<γ
для всех ненулевых допустимых возмущений, а в отсутствие возмущений
асимптотическая устойчивость замкнутой системы, где
∞
η = ∫ η (t ) dt .
2
2
0
для любой вектор функции η (t ) ∈ L2 .
Известно [6], что при выполнении следующих условий
(1) ( A, B1 ) стабилизируема, (C1 , A) детерминируема;
(2) ( A, B2 ) стабилизируема, (C2 , A) детерминируема;
(3) D12T (C1 , D12 ) = (0 I );
 B 
0
(4)  1  D21T =   ;
I
 D21 
один из возможных, так называемый центральный, H ∞ регулятор описывается уравнениями
x = Ar x + L∞ ( y − C2 x ), Ar = A + γ −2 B1 B1T X ∞ − B2 B2T X ∞
u = −θ x , θ = B2T X ∞
(1.2)
где L∞ = Y∞ ( I − γ −2 X ∞Y∞ )−1 C2T , а X ∞ и Y∞ — неотрицательно определенные стабилизирующие решения уравнений Риккати
AT X + XA + X (γ −2 B1 B1T − B2 B2T ) X + C1T C1 = 0
(1.3)
и
(1.4)
AY + YAT + Y (γ −2C1T C1 − C2T C2 )Y + B1 B1T = 0
причем
ρ ( X ∞Y∞ ) < γ 2 ,
(1.5)
1147
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
где ρ (.) обозначает спектральный радиус. В [17,18] приведена альтернативная характеризация H ∞ –регуляторов в терминах линейных матричных
неравенств: эти регуляторы, в частности, определяются уравнениями (1.2),
в которых X ∞ = γ R −1 и Y∞ = γ S −1 , а R = RT > 0 , S = S T > 0 удовлетворяют системе линейных матричных неравенств
 RAT + AR − γ B2 B2T
B1

T
−γ I
B1


0
C1 R

 SA + AT S − γ C2T C2 C1T

−γ I
C1

T

0
B1 S

R I 

≥0.
 I S
RC1T 

0 <0,
−γ I 
(1.6)
SB1 

0  < 0,
−γ I 
(1.7)
(1.8)
Разрешимость этих линейных матричных неравенств относительно
переменных R > 0 . S > 0 , которая проверяется с помощью команды feasp в
пакете MATLAB (toolbox LMI), определяет необходимые и достаточные
условия существования H ∞ –регулятора при данном γ .
Синтез оптимального H ∞ –управления, обеспечивающего минимально
возможный уровень гашения возмущений в классе Ξ линейных динамических регуляторов по выходу, требует нахождения минимальной H ∞ —
нормы замкнутой системы (1.1)
γ 0* = inf sup
u∈Ξ v ≠ 0
z
v
.
(1.9)
Поиск этой величины сводится к задаче выпуклой оптимизации: минимизировать величину γ при ограничениях (1.6)–(1.8). Эта процедура
также эффективно выполняется в пакете MATLAB с применением команды mincx, осуществляющей минимизацию линейной функции на множестве, определяемом линейными матричными неравенствами.
Согласно [19] задача синтеза робастного H ∞ –управления для случая
неопределенной системы (1.1), т. е. системы в которой исходное состояние
x(0) = 0 и матрица A имеет вид
4
A = A0 + ∑ Fk Ω k (t , x) Ek ,
(1.10)
k =1
где A0 , Fk , Ek — заданные матрицы, а Ω k (t , x) — неизвестные матричные
функции, удовлетворяющие неравенству
ΩTk (t , x)Ω k (t , x) ≤ I , ∀t ≥ 0 , ∀x , k = 1,..., n
разрешима при данном γ , если имеет место
min{ψ (V , W ) : R > 0, S > 0,V > 0,W > 0,
Φ1 ( R,V ) < 0, Φ 2 ( S ,W ) < 0, Φ 3 ( R, S ) ≥ 0, Φ 4 (V , W ) ≥ 0} = 0.
где
1148
Секция 3. Проектирование систем автоматического управления и регулирования
n
ψ (V ,W ) = tr (V − W −1 ) = ∑ (α k − β k−1 )
k =1
 RA + A0 R − γB2 B
B1 FV RC1T RE T 


0
0
0 
− γI
B1T


Φ 1 ( R, V ) = 
0 −V
0
0 ,
VF T


0
0
0 
− γI
C1 R


0
0
0
−V 
ER

 SA0 + A0T S − γC 2T C 2 C1T E T W SB1 SF 


C1
0
0
0 
− γI

Φ 2 ( S ,W ) = 
WE
0
0
0  ,
−W


B1T S
0
0
0 
− γI


FTS
0
0
0 −W 

V I 
R I 
 .
Φ 3 ( R, S ) = 
 , Φ 4 (V ,W ) = 
 I S
I W
F = ( F1 F2 ...Fn ) , E T = ( E1T E2T ...EnT ) ,
T
0
T
2
V = diag (α1 , α 2 ,...,α n ) , W = diag ( β1 , β 2 ,..., β n ) ,
где α k , β k , k = 1, 2,..., n — некоторые числа.
Основная сложность в решении рассматриваемой оптимизационной
задачи состоит в том, что минимизируемая функция не является выпуклой
и, следовательно, поиск ее глобального экстремума не может быть осуществлен методами выпуклой оптимизации. Алгоритм глобальной оптимизации этой функции, реализуемый посредством итерационной процедуры,
на каждом шаге которой находится минимум линейной функции при линейных матричных (выпуклых) ограничениях, состоит в следующем.
Вводится линейная по переменным α k и β k функция
n
V I 
q = ∑ (α k + q k2 β k + 2q k ) ,
k =1
I W
ψ (V , W ; q) = q T 
(1.11)
где
q = col (1,...,1, q1 ,..., q n ) ,
(1.12)
а q k , k = 1,2,..., n — некоторые параметры. Фиксируется значение q = q ( 0) ,т. е.
q k = q k( 0) , k = 1,2,..., n и рассматривается следующая задача минимизации линейной функции (1.11) при q = q ( 0) :
min{ψ (V , W ; q ) : R > 0, S > 0,V > 0,W > 0,
Φ 1 ( R,V ) < 0, Φ 2 ( S ,W ) < 0, Φ 3 ( R, S ) > 0, Φ 4 (V ,W ) > 0}.
(1.13)
Минимум этой функции находится численно с помощью процедуры
mincx. Пусть он достигается при значениях V = V ( 0) = diag (a1( 0) ,..., a n( 0) ) ,
W = W ( 0 ) = diag ( β 1( 0 ) ,..., β n( 0) ) . Значения переменных q заменяются на
q k(1) = −1 / β k( 0 ) , k = 1,2,..., n и решается оптимизационная задача (1.13) при
q = q (1) . Пусть ее минимум достигается при W = W (1) = diag ( β 1(1) ,..., β n(1) ) ,
1149
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
V = V (1) = diag (a1(1) ,..., a n(1) ) . Выбирается
q k( 2) = −1 / β k(1) , k = 1,2,..., n
и указанный
процесс продолжается. Остановка алгоритма происходит при выполнении
хотя бы одного из следующих двух условий:
η (V ( j ) ,W ( j ) ) < ε ,
либо
∆η ( j ) = η (V ( j +1) ,W ( j +1) ) − η (V ( j ) , W ( j ) ) < ε ,
в которых
n
η (V , W ) = tr (VW − I ) = ∑ (α k β k − 1)
k =1
характеризует степень невыполнения равенства VW = I , а ε > 0 определяет
заданную точность вычислений. При этом возможны две ситуации. Если
η (V ( j ) ,W ( j ) ) → η∞ = 0 , то задача робастного H ∞ управления разрешима при
данном γ [19]. Если же η (V ( j ) ,W ( j ) ) → η∞ > 0 то процесс поиска следует повторить при других начальных условиях q ( 0) , как это обычно делается в задачах глобальной оптимизации.
После нахождения с заданной точностью минимального значения γ 0
и соответствующих α k* , при которых задача робастного H ∞ –управления
для системы (1.1),(1.10) разрешима, синтез искомого регулятора осуществляется согласно уравнениям (1.2), в которых X ∞ = γ 0 R −1 и Y∞ = γ 0 S −1 , а R и
S удовлетворяют линейным матричным неравенствам (1.6)–(1.8) при найденных значениях V * , W * и γ 0 .
Применим описанные результаты для синтеза оптимального гашения
колебаний двухмассовой системы с параметрическим и внешним возмущениями.
2. Постановка задачи оптимального гашения колебаний
Рассмотрим двухмассовую управляемую систему c параметрическим
и внешним возмущениями, описываемую уравнениями
mξ1 − α 2ξ 2 + (α1 + α 2 )ξ1 − c2 x2 + (c1 + c2 ) x1 = v1
mξ 2 + α 2ξ 2 − α 2ξ1 + c2 x2 − c2 x1 = u + v1
(2.1)
где m — масса элемента рассматриваемой системы, ξ i , i = 1,2 — координата i -й массы системы , u - управляющая сила, v1 = v1 (t ) — внешнее возмущение системы, α1 ,α 2 — коэффициенты демпфирования, c1 , c2 — коэффициенты упругости такие, что
α1 = α (1 + f1α Ω1 )
α 2 = α (1 + f 2α Ω 2 )
c1 = c(1 + f1α Ω3 )
c2 = c(1 + f 2α Ω 4 )
где 0 ≤ f iα < 1, i = 1,2,3,4 заданы, α и c — номинальные значения, соответст-
вующие соответственно демпфированию и упругости, а функции
Ω i (t , ϕ , ϕ ), i = 1,2,3,4 определяют параметрические возмущения и удовлетворяют условиям
1150
Секция 3. Проектирование систем автоматического управления и регулирования
Ω i (t , ϕ , ϕ ) ≤ 1, ∀t , ϕ , ϕ , i = 1,2,3,4 .
Допустим, что имеется возможность наблюдать следующие величины деформации системы, измеряемые с некоторыми ошибками
v 2 = col (v 21 , v 22 ) .
y1 = x1 + v21
y2 = x2 − x1 + v22
,
(2.2)
Введем новые переменные t , x :
t =
m
α
t, x =
ξ 
ξ , ξ =  1 ,
α
ξ2 
m
2
Тогда систему (2.1) можно переписать в каноническом виде
x = Ax + B1v + B2 u ,
(2.3)
где x = col (ξ , ξ ) — вектор состояния системы, а блочные матрицы A , B , C
имеют следующий вид:
4
A = A0 + ∑ Fk Ω k (t , x) Ek
k =1
0

0
B1 = 
1

1
0
0
0
0
0
0

 
0
0
, B2 =   ,
0
0

 
0
1
(2.4)
где y = col ( y1 , y 2 ) , A0 , Fk , Ek — заданные матрицы,
I 
 0
 2 1
cm
 ,
 , ω 02 = 2 ,
K = 
A0 = 
2
α
−ω K − K 
 − 1 2
T
F1 = (0 0 − f1α 0 ) ,
E1 = (0 0 1 0 ) ,
F2 = (0 0
f 2α
F3 = (0 0 − f 1c
F4 = (0 0
f 2c
− f 2α ) , E 2 = (0 0 − 1 1) ,
T
0) ,
T
− f 2c ) ,
T
(
E3 = ω 02
(
E4 = − ω
2
0
)
0 0 0,
ω
2
0
)
0 0.
Вектор функцию внешнего возмущения v = (v1 (t ), v 2 (t )) , будем считать
квадратично-интегрируемой функцией на интервале [0, ∞) , т. е. v(t ) ∈ L2 [0, ∞)
∞
или ∫ v 2 (t )dt < ∞ . Предполагаем, что система (2.3) имеет нулевые начальные
0
условия.
Введем вектор y = col ( y1 , y 2 ) .Тогда уравнение (2.2) примет вид
y = C 2 x + v2 ,
где
(2.5)
 1 0 0 0
 .
C 2 = 
 − 1 1 0 0
Уравнения (2.3), (2.5) определяют динамику двух массовой управляемой
системы с параметрическим и внешним возмущением.
Управление системой (2.3), (2,4) будем осуществлять линейным динамическим регулятором, синтезируемым по принципу обратной связи по
выходу y в виде
1151
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
(2.6)
x r = Ar x r + Br y
u = −θx, x r (0) = 0 ,
где x r — состояние динамического регулятора. Введем управляемый выход системы как
z = C1 x + D12 u
(2.7)
и в качестве матрицы C1 выберем матрицу, имеющую следующий вид
  2ω 2 − ω 2
0
 0
  − ω 02 ω 02

C1 =   0
0

 0
0
 
0 0 0

0
0
1
0
0
0

0
0 
1 
1/ 2




.



При таком выборе матрицы C1 квадратичная форма в подынтегральном
выражении z в (2.8) определяет полную механическую энергию двух
массовой системы при ее движении и затраты на управление. Задача оптимального гашения колебаний рассматриваемой системы заключается в построении линейного динамического регулятора по выходу, который обеспечивает выполнение неравенства
z < γ v , ∀v ∈ L2 , v ≠ 0, ∀Ω(t , x) ∈ Σ
(2.8)
с минимально возможным значением γ и, таким образом, сводится к задаче оптимального робастного H ∞ –управления системой (2.3), (2.5), (2.7).
3. Результаты численного моделирования
Ниже приводятся результаты синтеза закона управления, обеспечивающего оптимальное гашение колебаний двухмассовой системы, полученные в пакете MATLAB. Расчет проводился для параметров системы
ω 0 = 10, f1α = 0.1, f 2α = 0.1, f1c = 0.1, f 2 c = 0.1 .
Точность решения задачи оптимизации была выбрана равной 10−6 .
В результате расчета оказалось, что для не существует управления
для системы (2.3), (2.5), (2.7), которое гасит колебания с γ < 18.3005 , а при
γ > 18.3005 такое управление существует. В частности, для значения
γ = 21.3 были получены следующие значения параметров регулятора:
1152
Секция 3. Проектирование систем автоматического управления и регулирования
0 
 30.2832 19.3968 
 -10.8864 -19.3968 1.0000




-15.8212 -33.8588
0
1.0000 
49.6800 33.8588 


Ar =
, L∞ =
,
 150.4615 103.0127 
 -247.4504 -3.0033 -1.9944 1.0059 




 227.7599 157.0011 
 31.5950 -260.6285 0.7925 -3.4667 
 -2.3554 


3.6369 
t

θ =
.
 0.2131 


 2.4726 
На рис.1 приведены графики движений масс с этим регулятором в
случае, когда на систему действует внешнее возмущение
v = (10e −0.01 t sin(0.15t ), e −0.01 t sin(0.15t ), e −0.01 t sin(0.15t )) .
Рис.1. Графики движений масс системы при γ = 21.3 .
Работа выполнена при поддержке Конкурсного центра фундаментального естествознания (проект № A03-2.10-380).
1153
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Литература
1. Габасов Р., Кириллова Ф. М., Ружицкая Е. А. Демпфирование и стабилизация колебаний маятника при больших начальных возмущениях //
Изв. РАН. ТиСУ.— 2001.— №1.
2. Гурман В. И., Знаменская Л. Н. Управление колебаниями при ограниченном ресурсе управления // Изв. РАН. ТиСУ.— 2002.— №1.
3. Голубев Ю. Ф., Дитковский А. Е. Управление вращением упругого
стержня в плоскости без возбуждения упругих колебаний // Изв. РАН.
ТиСУ.— 2001.— №1.
4. Zames G. Feedback and optimal sensitivity: model reference transformations,
multiplicative seminorms and approximate inverses // IEEE Trans. Automat.
Control. Apr.— 1981.— V.AC–26.— P.301–320.
5. Zames G., Francis B. A. Feedback, minimax sensitivity, and optimal robustness // IEEE Trans. Automat. Control.— 1983.— V.AC–28.— P.585–601.
6. Doyle J.C., Glover K., Khargonekar P. P., Francis B. A. State-space solutions to standard H 2 and H ∞ control problems // IEEE Transactions on
Automatic Control.— 1989.— V.34.— N.8.— C.831–847.
7. Kwakernaak H. Robust control and H ∞ –optimization // Automatica.—
1993.— V.29.— N.2.— P.255–273.
8. Позняк А. С., Себряков Г. Г., Семенов А. В., Федосов Е. А. H ∞ –теория
управления: феномен, достижения, перспективы, открытые проблемы.— М.: Гос НИИАС, ИПУ, 1990.
9. Себряков Г. Г., Семенов А. В. Проектирование линейных стационарных
многомерных систем на основе вход-выходных отображений. Методы
H ∞ - теории управления ( обзор ) // Изв. АН CCCР. Техн. Кибернетика.— 1989.— №2.— C.3–16.
10. Барабанов А. Е., Первозванский А. А. Оптимизация по равномерночастотным показателям (H –теория ) // Автоматика и телемеханика.—
1992.— N.9.— С.2–32.
11. Gahinet P., Nemirovski A., Laub A., Chilali M. LMI Control Toolbox. For
Use with MATLAB.— The MathWorks Inc., 1995.
12. Savkin A. V., Petersen I. R. A connection between H ∞ control and the absolute stability of uncertain systems // System and Control Letters. 1994. Vol.
23. P. 197-203.
13. Коган М.М. Синтез робастных Н-субоптимальных регуляторов как решение дифференциальной игры в условиях неопределенности: прямая и
обратная задачи // А и Т. 2000. N7. C. 109-120.
14. Doyle J.C. Synthesis of robust controllers and filters with structured plant
uncertainty// Proc. IEEE Conf. Decision Control. 1983. San Antonio, TX.
15. Megretski A. Necessary and sufficient condition of stability: a multi-loop
generalization of the circle criterion// IEEE Trans. Automat. Control. 1993.
Vol. 38. P. 753-756.
1154
Секция 3. Проектирование систем автоматического управления и регулирования
16. Shamma J.C. Robust stability with time-varying structured uncertainty//
IEEE Trans. Automat. Control.— 1994.— V.39.— P.714–724.
17. Iwasaki T., Skelton R. E. All controllers for the general H ∞ control problem:
LMI existence conditions and state space formulas // Automatica.— 1994.—
V.30.— N.8.— P.1307–1317.
18. Gahinet P., Apkarian P. A linear matrix inequality approach to H ∞ control //
International Journal of Robust and Nonlinear Control.— 1994.— V.4.—
P.421–448.
19. Баландин Д. В., Коган М. М. Синтез оптимального робастного H ∞
управления методами выпуклой оптимизации // Автоматика и телемеханика.— 2004.— №4.
1155
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
УДК 62-50
РАЗРАБОТКА MATLAB-ВЕРСИИ КОМПЛЕКСА
ПРОГРАММ «АНАЛИЗ И СИНТЕЗ ИНТЕРВАЛЬНЫХ
АВТОМАТИЧЕСКИХ СИСТЕМ»
Хлебалин Н. А.
Электростальский политехнический институт (филиал)
Московского государственного института стали и сплавов, Электросталь,
e-mail:khleb@kodos.ru
1. Теоретические основы комплекса программ «АСИАС»
(Анализ и Синтез Интервальных Автоматических Систем)
1.1. Основные определения (интервальный, функционально — интервальный, параметрический)
Определение. Интервальной автоматической системой называют автоматическую систему (АС) с начальными условиями, параметрами и
внешними возмущениями, значения которых принадлежат интервалам с
заданными достижимыми границами.
Этому определению удовлетворяют линейные, нелинейные, нестационарные, дискретные и все другие известные виды АС, имеющие названные выше неопределенности.
Определение. Частным случаем ИАС являются автоматические системы с интервальной неопределенностью параметров (АСИНП), у которых
начальные условия и возмущения считаются точно известными, а значения
параметров (коэффициентов математической модели АС) могут быть любыми в пределах заданных интервалов.
Как правило, проектировщик АС имеет дело с математическими моделями (ММ) в виде систем дифференциальных уравнений (ДУ) или
структурных схем с передаточными функциями (ПФ), причем коэффициенты ДУ и ПФ являются вектор — функциями некоторых параметров (объекта и регулятора). И те, и другие являются в той или иной степени
неопределенными. Объект обычно является многорежимным («мультимодельным» по немецко-англоязычной терминологии), между режимными
значениями параметров, вообще говоря, — неопределенность. Регулятор
имеет неопределенные параметры, так как мы их и ищем, а после синтеза
на них должны быть назначены допуски.
Формы учета неопределенностей математических моделей автоматических систем бывают разными:
1. Случайная.
2. Замкнутые множества (интервалы, эллипсоиды).
1156
Секция 3. Проектирование систем автоматического управления и регулирования
3. Размытые множества.
Определение. Так как коэффициенты ММ являются функциями от
параметров, то такие ММ предлагается называть параметрическими [1]. В
частности, полином называют параметрическим, если не делается дополнительных пояснений — в каких областях изменяются физические параметры (каким множествам они принадлежат).
Интервальные объекты могут быть двух видов: чисто-интервальные
и функционально-интервальные.
Определение. Чисто — интервальным называется объект, в описание которого коэффициенты, значения которых могут изменяться независимо друг от друга в пределах некоторых интервалов, входят один раз и в
первой степени.
Определение. Функционально — интервальным называется объект,
коэффициенты которого являются функциями от некоторых интервально
неопределенных величин.
Основа интервальной формы учета неопределенностей — интервальная математика. Вещественные числа в ней представляются не одним
значением, а диапазоном, сегментом (интервалом) — интервальным числом (множеством). Интервальный анализ — автоматический учет погрешностей при вычислении на ЭВМ [2], [3]. В теории АС интервальный анализ
применяется примерно с 1980 г. [4]. Математической модели автоматизируемого объекта в этом случае приписываются не числа, а диапазон их возможных значений.
Подробные сведения об интервальной математике могут быть взяты
из [5], [6], [7], [8].
Операции над интервальными числами образуют интервальную
арифметику. Она осуществляется с помощью арифметических действий
над границами интервала. Одной из основных задач интервального анализа
является задача об оценке интервала значений функции.
Определение. Функция F ([ x]) , получаемая заменой вещественного
аргумента x в рациональной функции f ( x) интервальным аргументом [ x] ,
называется естественным интервальным расширением функции f ( x) .
Если с помощью этого определения вычислить интервалы значений
различных форм записи f ( x) , то эти интервалы могут не совпадать.
Определение. Форма записи f ( x) , дающая точный интервал ее значений, называется объединенным интервальным расширением.
Несоблюдение закона дистрибутивности приводит к тому, что вычисление точных значений границ может быть выполнено только для достаточно узкого класса функций. Если записать функцию от многих аргументов таким образом, что каждый аргумент входит в ее аналитическое
выражение один раз и в первой степени, то, заменив вещественный аргу1157
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
мент на интервальный и применив интервальную арифметику, мы получим
точный интервал значений.
В интервальной математике различают матрицы интервальные и точечные (вещественные).
Определение. Интервальная матрица — это прямоугольная упорядоченная совокупность вещественных или комплексных интервальных чисел, состоящая из n строк и m столбцов:
[a1 , a 2 ]11 [a1 , a 2 ]12
[a , a ]
[a1 , a 2 ] 22
[ A] =  1 2 21


[a1 , a 2 ] n1 [a1 , a 2 ] n 2
[a1 , a 2 ]1m 
[a1 , a 2 ] 2 m 
.


[a1 , a 2 ] nm 
Обозначаются интервальные матрицы [ A] = [[a ij ]]; [a ij ] = [a ij , a ij ]..... и т. д.
Поскольку элементы в матрице расположены определенным образом, она является математическим объектом и понимается как единое целое, т. к. над ее элементами производятся определенные математические
операции. Матричные операции в интервальной математике непрерывны и
обладают рядом интересных особенностей. В частности, свойство дистрибутивности в интервальной матричной алгебре в общем случае не выполняется, а имеет место так называемая субдистрибутивность.
Определитель интервальной матрицы является интервальным числом. Если такой определитель не включает 0, то такая матрица называется
невырожденной. Через матрицы и векторы можно определять граничные и
точечные векторы и матрицы: ([ A] = [ A1 , A2 ]) , где A1 — точечная матрица, в
которой записаны нижние границы ее элементов, A2 — точечная матрица,
в которой записаны верхние границы ее элементов. [ A] ⊆ [ B] — включение,
поэлементно означающее ( bij ≤ a ij ≤ bij ).
Пусть имеем полином
P( s,ν ) = a 0 (ν ) + a1 (ν ) s + a 2 (ν ) s 2 + … + a n (ν ) s n ;
(1)
где
a 0 (ν ), a1 (ν ), a n (ν )
(2)
— коэффициенты полинома. Они зависят от вектора физических параметров объекта
ν = [ν 1 ,ν 2 , … ,ν e ]T .
(3)
Область изменения физических параметров обозначается N.
Определение. Полином (1), (2), (3) называют параметрическим, если не делается дополнительных пояснений, в каких областях изменяются
физические параметры (каким множествам они принадлежат).
В зависимости от того, какими являются функции (2), различают
чисто интервальные, аффинные, мультилинейные, полиномиальные коэффициенты и коэффициенты в виде произвольных функций.
1158
Секция 3. Проектирование систем автоматического управления и регулирования
Аффинные коэффициенты записываются следующим образом:
a i (ν ) = b i + C iT ν
(4)
Аффинная функция содержит постоянную часть (bi ) и часть, которая
линейно зависит от вектора параметров ν .
C iT ν = C1ν 1 + C 2ν 2 + … + C lν l .
Определение. Мультилинейными называются функции, которые
при фиксировании l − 1 параметров зависят аффинно (линейно) от оставшегося параметра.
Полиномиальные коэффициенты имеют вид:
n
a k (ν ) =
∑a
ν 1i …ν ni .
(k )
i1
1
n
ii = 0
Например (2ν + ν + 1) s + (ν + 2ν + 2) s 2 ........
Коэффициенты в виде произвольных функций: e −ν , sin v i .
Определение. Чисто интервальный полином — это полином
2
3
5
3
i
P( s,ν ) = a 0 (ν ) + a1 (νs) + … + a n (ν ) s n
с чисто интервальными коэффициентами, которые можно обозначать поразному:
a i ∈ [a i , a i ] , ai ∈ [ai− , ai+ ], ai ∈ [α i , β i ]) .
Пример чисто интервального полинома 1-й степени: [a 0 ] + [a1 ]s = p( s, [ν ]) ,
где N изображено на рис. 1. Для краткости чисто интервальные полиномы
называют просто — «интервальные полиномы» (ИП).
Рис. 1. Область N с двумя интервальными параметрами.
Задачи исследования (анализа) АС, решаемые с помощью КП
АСИАС:
1. Исследование устойчивости.
2. Задача о локализации корней (нулей и полюсов).
3. Построение трубок решения дифференциальных уравнений.
1159
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Многие из этих задач решаются с помощью частотных характеристик АС. Одним из основных понятий теории автоматических систем является передаточная функция:
B( s) b0 s m + b1 s m −1 + … + bm −1 s + bm
,
W (s) =
=
A( s) a0 s n + a1 s n −1 + … + a n −1 s + a n
где s — комплексная переменная; а коэффициенты bi , ai — действительные числа. Если ввести равенство s = jω (j — мнимая единица), а вещественную переменную назвать частотой, то комплексно — значную функцию W ( jω ) от непрерывного аргумента ω называют [12] амплитудно —
фазовой частотной функцией (АФЧФ):
m
b ( jω )
∑
B ( jω )
W ( jω ) =
=
A( jω )
∑ a ( jω )
m −i
i
.
i =0
n
m−k
k
k =0
Ее действительную часть U (ω ) = Re W ( jω ) и мнимую часть V (ω ) = ImW ( jω )
называют соответственно вещественной и мнимой частотной функцией
(ВЧФ и МЧФ).
На комплексной плоскости W ( jω ) определяет вектор, длина которого равна A(ω ) , а аргумент (угол, образованный этим вектором с действительной положительной полуосью) — ϕ (ω ) . Модуль A(ω ) называют
амплитудной частотной функцией (АЧФ):
W ( jω ) = V 2 (ω ) + V 2 (ω )
Аргумент ϕ (ω ) называют фазовой частотной функцией (ФЧФ):
arctg
V (ω )
+ kπ , k = 0 ± 1 ± 2…
U (ω )
Графики перечисленных функций называют характеристиками.
n
Если взять отдельный полином A( s) = a0 s n + … + an = ∑ ai s i , то для него
i =0
существуют следующие частотные функции: A( jω ) — функция Михайлова, вещественная функция Михайлова (ВМФ)
n
X ( jω ) = Re A( jω ) =
∑θ a
i
n −i
ωi ,
i =0
где θ (i ) = 2[i 2] + 1 − i . (здесь квадратные скобки означают операцию взятия
целой части).
Частотные характеристики (ЧХ) уже являются функциями от коэффициентов ПФ. Если же коэффициенты ПФ зависят от физических параметров, то, очевидно, что ЧХ — функционально-интервальные. При построении ЧХ АСИНП проблема состоит в том, что W ( jω ) =
B ( jω )
и вся ПФ
A( jω )
1160
Секция 3. Проектирование систем автоматического управления и регулирования
становится функционально-интервальной, поскольку в числитель и знаменатель в общем случае входят одни и те же [ν i ] . Задача состоит в том, чтобы предложить аналитические подходы и эффективные компьютерные алгоритмы для построения ЧХ АСИНП. Какие существуют для этого методы?
Метод математического анализа. Это задача о наибольшем и наименьшем значении функции (ННЗФ). Заключается в том, что необходимо
взять производные по неопределенным параметрам, записать систему
уравнений, решить ее (определить «подозрительные на экстремум точки»)
и так далее по известному алгоритму, в конце которого необходимо проверить, нет ли экстремальных значений на границах области. Здесь дело осложняется тем, что ЧХ — функции частоты, т. е. нужно дискретизировать
задачу, найти при ωі ННЗФ, потом построить мажоранты и миноранты интерполированием.
Метод интервального анализа. По специальным правилам подсчитывается интервал значений (с гарантией включения истинного в подсчитанный). Включает в себя метод угловых элементов (см. ниже). Недостаток — большая величина гарантированного интервала. Достоинство —
поддержка «интервальными» языками программирования (PASCAL-XSC
[10] и другие).
Метод угловых элементов (МУЭ, другие названия — метод характерных точек или метод тестовых точек). Для углового сочетания
параметров строятся ЧХ, затем строятся мажоранты и миноранты. Высказанная впервые в [11] гипотеза о том, что все ЧХ отношения интервальных
полиномов ограничиваются угловыми функциями, к сожалению, в общем
случае, оказалась несправедливой. Это справедливо для узкого класса ПФ,
причем для АФЧХ требуются другие алгоритмы. Два алгоритма разработаны в [14], [15]. Для КП АСИАС разработан алгоритм на основе решения
в символьном виде задачи о наибольшем и наименьшем значении функции
(ННЗФ).
Если рассмотреть некоторую интервально — значную функцию
(ИЗФ) f (ω , [ν i ]) (ν i - параметр, изменяющийся в интервале [ν i ]), у которой
ω — независимая переменная, принимающая вещественные значения, то
при возможных значениях параметров в зависимости от ω мы будем
иметь график изменения интервала значений этой функции.
Следовательно, ИЗФ представима двумя граничными функциями —
мажорантой и минорантой [13], с. 384.
Если независимая переменная является комплексной величиной (в
частности, чисто мнимой jω), то значения функции будут комплексным интервалом. Они могут быть представлены в виде прямоугольных или круговых комплексных интервалов. Именно так строят АФЧХ авторы [14], [15].
В КП АСИАС мажоранты и миноранты строятся, во-первых, для
случая чисто интервальных частотных функций (программа Х4Х1). Если
1161
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
рассматривается W ( jω , [ai ], [bi ]) =
B( jω , [bi ])
и при этом коэффициенты друг
A( jω , [ai ])
от друга не зависят, тогда мажоранты и миноранты являются выпуклой
оболочкой элементов угловых ЧХ и экстремальных точек (кроме годографа).
Во-вторых, имеется возможность построения ЧХ функционально —
интервальных элементарных звеньев. Например, программа «PFreqChar»
может строить частотные характеристики вида: АЧХ, ЛАЧХ, ВЧХ, ВЧХ,
МЧХ, АФЧХ для колебательного звена с ПФ
W (s ) =
k
,
T ⋅ s + 2 ⋅ξ ⋅T ⋅ s +1
2
2
где k ∈ [k − ; k + ]; T ∈ [T − ; T + ]; ξ ∈ [ξ − ; ξ + ].
Основное внимание в докладе будет уделено программам КП
АСИАС, работающим с моделями АСИНП на основе параметрических полиномов. Рассмотрим типичные задачи, решаемые для таких моделей.
1.2. Исследование полиномиальных моделей АСИНП
1.2.1. Анализ устойчивости характеристических полиномов
непрерывных и дискретных АСИНП
Параметры ПФ или ДУ автоматической системы могут быть известны неточно. Тогда знаменатель (характеристический полином — ХП) является параметрическим:
(5)
P( s, a) = a 0 + a1 s + … + a n −1 s n −1 + a n s n = 0 .
Если
a 0− ≤ a 0 ≤ a 0+ , a1− ≤ a1 ≤ a1+ , … , a n− ≤ a n ≤ a n+ a > 0 (для всех i ),
(6)
−
+
где a i , a i — заданные числа, то этот ХП называют чисто-интервальным
характеристическим полиномом (ЧИХП).
В. Л. Харитонов: слабая и сильная теоремы (1975–1978).
Слабая теорема заключается в том, что для анализа устойчивости
ИП нужно проверять на устойчивость все угловые полиномы (их будет
2n+1).
Сильная теорема: для устойчивости ИХП при любых значениях коэффициентов из (6) необходимо и достаточно, чтобы были устойчивы четыре угловых полинома:
p + − ( s ) = a 0+ + a1− s + a 2− s 2 + a 3+ s 3 + a 4+ s 4 + ......
p + + ( s ) = a 0+ + a1+ s + a 2− s 2 + a 3− s 3 + a 4+ s 4 + ......
p − + ( s ) = a 0− + a1+ s + a 2+ s 2 + a 3− s 3 + a 4− s 4 + ......
p − − ( s ) = a 0− + a1− s + a 2+ s 2 + a 3+ s 3 + a 4− s 4 + ......
1162
Секция 3. Проектирование систем автоматического управления и регулирования
Заметим, в [9] показано, что два из этих четырех полиномов могут
быть заменены на два других — эквивалентных для задачи анализа устойчивости. Таким образом, полиномы из сильной теоремы Харитонова
неединственны.
Тестирующее множество [1]:
AT = {a + − , a + + , a − + , a − − } ,
a + − = {a 0+ , a1− , a 2− , a 3+ , a 4− } ,
a + + = {a0+ , a1+ , a 2− , a3− , a 4+ } ,
a − + = {a 0− , a1+ , a 2+ , a3− , a 4− } ,
a − − = {a 0− , a1− , a 2+ , a 3+ , a 4− } .
Для полиномов низких степеней:
n = 3;
AT = {a + − };
n = 4;
AT = {a + − , a + + };
n = 5;
AT = {a + − , a + + , a − + };
n>5
AT имеет вид (3).
Для n = 1 и 2 необходимо и достаточно, чтобы a i > 0 .
Заметим опять, что впервые факт достаточности проверки на устойчивость для n=3 только одного полинома (по применяемым здесь обозначениям p + − ( s) = a 0+ + a1− s + a 2− s 2 + a 3+ s 3 + a 4+ s 4 + ...... ) был установлен в [9].
Если модель задана в виде дискретной ПФ или системой разностных
уравнений в матричной форме, то ее ХП имеет вид
aN zN+ aN–1 zN–1 + . . . +а0 =0.
(7)
Для получения условий устойчивости можно воспользоваться критериями Рауса или Гурвица, если предварительно преобразовать его коэффициенты так, чтобы внутренность единичного круга на плоскости z отобразилась на левую полуплоскость другой комплексной переменной w.
(обычно — на всю полуплоскость). К получившемуся преобразованному
уравнению применяется любой из критериев устойчивости непрерывных
АС или D-разбиение. При работе с параметрами лучше иметь дело с исходным полиномом (7). В аналитическом виде условия устойчивости для
(7) первых четырех порядков выглядят следующим образом:
– полином первого порядка a1 z+a0=0;
a1+a0>0; a1-a0>0;
– полином второго порядка a2 z2+a1 z+a0=0;
a2+a1+a0>0; a2-a1+a0>0; a2-a0>0;
– полином третьего порядка a2 z3+a2 z2+a1 z+a0=0;
a3+a2+a1+a0>0; a3-a2+a1-a0>0; a3(a3-a1)-a0(a0-a2)>0; 3(a3+a0)-a2-a0>0;
– полином четвертого порядка a4 z4+a3 z3+a2 z2+a1 z+a0=0;
a4+a3+a2+a1+a0>0; a4-a3+a2-a1+a0>0;
(a4-a0)[a3(a1-a3)-(a2-a4-a0)(a4-a0)]+a4(a1-a3)2>0;
2(а4-a0)+(a1-a3)>0;
1163
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
2(а4-a0)+(a3-a1)>0.
В общем случае задача анализа устойчивости дискретных интервальных полиномов до сих пор не решена. Поэтому в АСИАС имеется
программа для n = 1, 2, 3, 4, 5.
1. bi ∈ [α i , β i ] . Если α 0 = β 0 = 1 (монический полином) и n=2 или n=3,
то можно проверять устойчивость по слабой теореме.
2. Если α 0 < β 0 (n = 2, n = 3) , угловые полиномы должны быть устойчивы, но этого не достаточно — приходится искать дополнительные сочетания параметров. Для n=2, 3, 4, 5 эти сочетания указываются точно.
3. Если n=4 и α 0 = β 0 = 1 , то нужно для анализа устойчивости проверить все угловые полиномы, а также полиномы с коэффициентами b1* ,
bi ∈ [α i , β i ], (i = 2,4), т.е. (b1* , b2 , b3 , b4 ) , где b1* =
b3
(1 + b4 ) , причем должно быть
2b4
еще b4 < 0 , α 1 < b1* < β 1 .
4. n=5 α 0 = β 0 = 1 . Нужно проверить на устойчивость угловые полиномы и дополнительные полиномы, коэффициенты которых сформированы по довольно сложным формулам [16].
Если полиномы функционально — интервальные, то для анализа устойчивости применяются: в случае одного параметра — метод из [17]
(Хлебалин, 1985) или метод корневого годографа (корневой диаграммы), в
случае двух параметров — метод D-разбиения (Неймарк, 1949), в случае
большего числа параметров — реберная теорема (Bartlett, Hollot, Lin) —
при линейной зависимости; интервальный вариант критерия Михайлова
(принцип исключения нуля Дезоера) — при мультилинейной зависимости
коэффициентов от параметров.
1.2.2. Построение областей локализации корней
интервального полинома
Если полином имеет коэффициенты в виде интервалов, то для такого
полинома может быть поставлена задача о нахождении областей на комплексной плоскости, в которых лежат его корни. По-другому можно назвать эту задачу задачей о построении области локализации корней (ОЛК).
Можно наоборот, указывать области, в которых корни полинома не лежат.
В отличие от обычных полиномов, у интервальных полиномов могут
быть изолированные области (комплексные и вещественные), а также
смешанные области корней.
Для полиномов низких порядков (до 4-го включительно) можно
строить области локализации корней по формулам.
Если ввести понятие углового полинома, т. е. полинома, у которого
коэффициенты — обычные числа, соответствующие некоторому набору
1164
Секция 3. Проектирование систем автоматического управления и регулирования
границ интервалов коэффициентов интервального полинома, то можно попытаться построить односвязные области на комплексной плоскости — отрезок на вещественной оси, сектор, трапецию (программа XTRAP), усеченную трапецию (Xvicin). Гораздо более привлекательно выглядит возможность строить многосвязные области локализации корней. Это можно
сделать, используя алгоритмы построения областей заданного качества в
пространстве параметров, разработанные в теории автоматического управления (программа XMSOLK).
Построение многосвязной области опирается на информацию о номинальных значениях a 0* , a1* , … , a n* и на данные об области (U a ) изменения
этих коэффициентов в соответствующем пространстве (алгоритм Р.Т. Сиразетдинова).
Пусть s = λ — некоторый действительный корень полинома. Если
подставить его в полином, то получится уравнение:
λ n −1 a1 + λ n − 2 a 2 + … + λa n −1 + a n + λ n = 0
В пространстве коэффициентов полинома это уравнения определяет
(n–1)-мерную гиперплоскость Γλ , которая соответствует множеству полиномов, имеющих корень λ . Фактически для существования полиномов с
коэффициентами из U a , имеющих корень λ необходимо и достаточно,
чтобы гиперплоскость Γλ проходила через область U a , т. е. Γλ ∩ U a ≠ 0 .
Если S1, 2 = µ ± jη , то записываются уравнения:
для вещественной части:
Re( µ + jη ) n −1 a1 + … + µa n −1 + a n + Re( µ + jη ) n = 0 ;
для мнимой части:
Im(µ + jη ) n −1 a1 + … + ηa n −1 + a n + Im(µ + jη ) n = 0 .
Эти уравнения определяют (n-2)-мерную Γµη . Что бы эта пара комплексно-сопряженных корней существовала нужно: U a ∩ Γµη ≠ 0 .
Для построения многосвязной области, нужно:
1. Задать некоторую номинальную точку a 0* , которая принадлежит
области изменения параметров.
2. Вычислить соответствующие ей корни s *j ( j = 1, n) .
3. Около каждого корня построить односвязную область, с применением метода слежения вдоль границы [12].
Выбираемые направления изменения параметров на плоскости — по
сторонам квадрата (вверх, вниз, влево и вправо). В вершинах этих квадратов проверяют выполнения условий:
– если на данном шаге изменения параметров пересекается граница и
осуществляется вход в искомую область, то следующий шаг выполняется по часовой стрелке;
1165
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
– если пересечения границы не наблюдается, то делается шаг в предыдущем направлении и так до тех пор, пока не произойдет пересечения границы;
– если рабочая точка находится внутри области, то всегда делается поворот по часовой стрелке (при длительном нахождении изменяется
шаг);
– при выходе за пределы области поворот выполняется против часовой
стрелки последовательно (увеличивая шаг) до тех пор, пока опять не
произойдет пересечения границы и вход в область.
2. Описание и исследование версий комплекса программ «АСИАС»
2.1. Разработка и модернизация комплекса программ АСИАС
Комплекс программ «Анализ и Синтез Интервальных Автоматических Систем» (АСИАС) начал разрабатываться в 1980 г. в Саратовском
политехническом институте на кафедре «Автоматика и телемеханика» автором данного доклада. Назначение комплекса программ АСИАС — анализ устойчивости, качества и синтез регуляторов интервальных автоматических систем (рис. 2).
Как у нас в стране, так и за рубежом в области автоматики проводились интенсивные разработки теории, которая позволяла бы решать хорошо понимаемые инженерами допусковые задачи. За более чем 25 лет со
времени опубликования В.Л. Харитоновым работ, давших толчок к исследованиям «интервальных» АС, было опубликовано огромное количество
статей и получено много хороших результатов. Разработка «проблемы интервалов» как математиками, так и учеными в области ТАУ, шла одновременно с развитием вычислительной техники, языков программирования и
систем на их основе. Поэтому развивались пакеты «интервальной» арифметики, математики, потом — анализа.
Представление о том, как развивались «математические» пакеты
программ для работы с интервальными данными в мире (и России в частности), можно составить по дополнению к переводу книги [6]. В данной
работе упомянуты новые разработки (известные автору доклада) и основное внимание акцентировано на пакетах, относящихся к интервальным АС.
Разумеется, информация далеко не полная.
Одним из первых пакет программ для решения задач расчета интервальных АС был разработан М.А. Цацкиным.
Для идентификации были разработаны программы Ю. А. Меркурьевым (Рига, 1982 — для статики АС), А. П. Вощининым, Г. Р. Сотировым и
др. (INA, Москва, 1989 — статические модели), А. Ф. Бочковым и Нгуен
Вьет Зунгом (INTIDE, Москва, 1992 — для статических объектов, линейных динамических объектов, нелинейных динамических объектов в виде
1166
Секция 3. Проектирование систем автоматического управления и регулирования
модели Гаммерштейна и модели Винера). Программа INTIDE написана на
языке программирования Си для персональных компьютеров, работает под
MSDOS, имеет две версии (на русском и английском языках), поддерживается системой меню-окон, графики и подсказок.
Рис. 2. Структура КП АСИАС.
Для синтеза регуляторов пакеты созданы И. В. Дугаровой, Е. М.
Смагиной (INT, Томск, 1988 — для расчета П- и ПИ-регуляторов, в том
числе для многосвязных систем), А. Н. Моисеевым, С. В. Алексеевым
(INTERVAL, Анжеро-Судженск, 1997 — для синтеза модального регулятора, решения задачи асимптотического слежения за командным сигналом
и моделирования трубки движения).
Для анализа АСИНП разработаны комплексы программных средств
Ф. М. Ахметжановым (Уфа, 1996 — по интервальным полиномам и по
«трубкам» частотных характеристик), Н. А. Целигоровым (Ростов-на1167
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Дону, 1999 — робастная абсолютная устойчивость для нелинейных импульсных АС с интервальной неопределенностью, интерактивный выбор
параметров управляющего устройства).
Интервально-математические пакеты созданы А. П. Вощининым,
Г. Р. Сотировым и др. (SOLI, Москва, 1989 — позволяет решать задачи линейного программирования с интервально заданной целевой функцией),
А. Б. Бабичевым, О. Б. Кадыровой, Т. П. Кашеваровой, А. Л. Семеновым
(UniCalk, Новосибирск, 1991 — для решения произвольных систем алгебраических и алгебро — дифференциальных соотношений), В. М. Нестеровым, С. П. Шарым.
2.2. Основная версия КП АСИАС (АСИАСF )
2.2.1. Структура КП АСИАС при поставке и хранении
На жестком диске «фортрановская» версия комплекса программ
«АСИАС» хранится в одноименной папке (рис. 3).
Рис. 3. Общие свойства папки «АСИАС».
Внутри нее находятся следующие папки (рис. 4).
Каждая из папок Asias_98, BasProg, Xtrap98, АСИАС_exe,
АСИАС_архивы, АСИАС_тексты3 занимает около 1,4 Мб и, таким образом, может храниться на дискете. Названия папок дают представление о
том, что в них находится. Для пояснения приложен файл read_me.txt. В
1168
Секция 3. Проектирование систем автоматического управления и регулирования
папке BasProg находятся основные программы, отвечающие за «интервальные» вычисления, в частности — в папке XOLL.
Рис. 4. Структура папки «АСИАС».
2.2.2. Особенности программ КП АСИАС
Программы комплекса программ АСИАС хранятся в виде исполняемых файлов (расширение exe) и допускают ввод данных либо с экрана, либо из файла. Каждая программа снабжена контрольным примером. Имя
файла контрольного примера совпадает с именем программы и имеет расширение dat. После окончания работы программа выводит результаты в
файл со своим именем и расширением rzl. Описания программ и контрольных примеров хранятся в файлах с именами, имеющими расширение chi.
Программы снабжены различными видами защит. Пример работы
защиты от неправильно вводимых данных (программа XMOKO1) показан
на рис. 5.
Рис. 5. Защита от неправильно вводимых границ интервалов.
1169
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
В учебной версии комплекса программ АСИАС решаются задачи
анализа и синтеза линейных непрерывных автоматических систем с интервальной неопределенностью параметров (АСИНП). Другими словами, начальные условия и возмущения считаются точно известными, а значения
параметров (коэффициентов математической модели автоматических систем) могут быть любыми в пределах заданных интервалов.
В учебной версии комплекса программ АСИАС размеры решаемых
задач ограничены 3-м порядком, число управлений не может быть больше
двух (исключением является программа XIMAUS1, размер решаемых задач в которой равен 5).
Задача синтеза состоит в проверке условий существования регулятора с постоянными (но также может быть неопределенными, лежащими в
некоторых допусках) коэффициентами по области параметрической неопределенности объекта и желаемой цели управления и в вычислении коэффициентов регулятора (если это возможно). Целью управления считается
придание замкнутой системе устойчивости, а процессам, в ней протекающим — некоторых качественных показателей, определенных в виде функционалов или ограничений различного вида.
Синтез регуляторов осуществляется интервальными вариантами методов модального управления, аналитического конструирования и имеется
программа XCHRIST1, в которой реализован частотный метод синтеза
компенсатора.
Решаемые комплексом АСИАС задачи относятся к робастному
управлению автоматическими системами с интервальной неопределенностью параметров (АСИНП).
Математическими моделями АСИНП могут являться передаточные
функции или системы линейных дифференциальных уравнений первого
порядка. Неопределенные параметры рассматриваются в виде вектора, от
элементов которого функционально зависят коэффициенты модели
АСИНП. Функциональная зависимость может быть линейной или нелинейной (полилинейной, сигномиальной).
Под а н а л и з о м АСИНП понимается получение оценок основных
свойств АС при неопределенности параметров объекта и коэффициентов
регулятора. Решение задачи анализа обычно преследует цель улучшения
свойств системы, что предполагает изучение объекта для установления
корректности требований к его функционированию.
Одним из этапов анализа АСИНП является определение ее управляемости.
Следующим этапом анализа АСИНП является определение ее устойчивости. Если модель АСИНП задана в виде передаточной функции, то устойчивость оценивается по функционально — интервальному полиному ее
знаменателя. Если модель АСИНП задана дифференциальными уравне1170
Секция 3. Проектирование систем автоматического управления и регулирования
ниями, то используются критерии устойчивости функционально — интервальных матриц.
Качество АСИНП можно оценивать по корневым, частотным и временным характеристикам. КП АСИАС позволяет строить одно — и многосвязные области локализации нулей и полюсов АСИНП, различные виды
ЧХ. Однако наиболее привлекательной является такая его возможность,
как построение трубок траекторий во временной области. Для построения
трубок используется мажорантно — минорантная аппроксимация различной степени точности всего множества решений дифференциального уравнения или переменных состояния.
2.2.3. Назначение, входные и выходные данные
программ анализа КП АСИАС
Анализ управляемости проводится с помощью программы XAUR1, в
которой реализован интервальный вариант критерия Калмана: формируется интервальная матрица управляемости, а затем определяется ее ранг. Если он равен порядку объекта, который представлен матричной парой А и В,
то последний вполне управляем. Ранг интервальной матрицы определяется
путем вычисления интервала значений определителей квадратных матриц,
составляемых из ее столбцов.
- XAUR1 —
Назначение: анализ управляемости АСИНП интервальным вариантом критерия Калмана.
Входные параметры программы XAUR1:
— размер матрицы А,
— количество столбцов матрицы В,
— нижние и верхние границы элементов матрицы А,
— нижние и верхние границы элементов матрицы В,
— ширина индикатора неопределенности (интервальные величины с
меньшей шириной считаются неинтервальными со значением, равным
нижней границе).
Выходные параметры программы XAUR1:
— контрольная печать входных параметров (кроме ширины индикатора
неопределенности),
— нижние и верхние границы элементов матрицы управляемости,
— сообщение об управляемости или неуправляемости объекта,
— интервал значений определителя n-го порядка.
В качестве контрольного примера анализируется управляемость объекта, описанного в файле xsmrcb1.chi.
Анализ устойчивости АСИНП осуществляется программами
XARIT41, XIMAUS1, X4X1 алгебраическими и частотными методами.
Если система имеет модель в виде передаточной функции, то используется
1171
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
программа XARIT41, в которой к интервальному полиному знаменателя
ПФ применяется критерий Харитонова, причем анализ устойчивости четырех его полиномов проводится с помощью критерия Рауса. Определить
устойчивость интервальной передаточной функции можно также с помощью программы X4X1, которой строятся ограниченные мажорантами и
минорантами области возможных значений следующих частотных характеристик: амплитудной, фазовой, вещественной, мнимой.
Если АСИНП представляет собой объект в форме Коши, замкнутый
обратной связью по полному вектору состояния, то для анализа устойчивости применяется программа XIMAUS1. Эта же программа может найти
область устойчивости (гипербрус) в пространстве параметров объекта и
коэффициентов обратной связи.
- XARIT41 —
Назначение: анализ устойчивости АСИНП с помощью критерия Харитонова.
Входные параметры программы XARIT41:
— степень полинома,
— нижние и верхние границы коэффициентов полинома.
Выходные параметры программы XARIT41:
— коэффициенты четырех полиномов Харитонова,
— сообщение об устойчивости или неустойчивости интервального полинома.
- XIMAUS1 —
Назначение: анализ устойчивости АСИНП и синтез допусков на коэффициенты регулятора.
Описание входных и выходных параметров программы XIMAUS1
приведено в файле ximaus1.chi. Эта программа не имеет ввода с экрана, так
как количество запрашиваемых ею данных велико. Для ее проверки имеются два файла с данными: ximaus1.dat — система с неопределенными параметрами и ximaus2.dat — система без неопределенных параметров.
- X4X1 —
Назначение: построение частотных характеристик АСИНП.
Входные параметры программы Х4Х1:
— коэффициент усиления,
— степень числителя передаточной функции,
— нижние границы коэффициентов числителя по возрастающим степеням s,
— верхние границы коэффициентов числителя по возрастающим степеням s,
— степень знаменателя передаточной функции,
— нижние границы коэффициентов знаменателя по возрастающим степеням s,
1172
Секция 3. Проектирование систем автоматического управления и регулирования
— верхние границы коэффициентов знаменателя по возрастающим степеням s,
— начальное и конечное значения частоты,
— количество частот (не более 400),
— вид масштаба по частоте (1-линейный, 2-логарифмический),
— ширина индикатора неопределенности.
Выходные параметры программы ХЧХ1:
— контрольная печать входных параметров,
— графики мажорант и минорант вещественной, мнимой, амплитудной
и фазовой характеристик.
Анализ качественных показателей АСИНП может проводиться по
расположению корней ИХПЗС на комплексной плоскости, частотным характеристикам, переходным процессам — реакциям на типовые входные
сигналы и ненулевые начальные условия.
Если АСИНП описывается передаточной функцией без нулей, то
расположение корней ИХПЗС (устойчивой АСИНП) в трапецеидальной
области левой комплексной полуплоскости можно получить с помощью
программы XTRAP1. Многосвязную область локализации корней ИХПЗС
(не обязательно устойчивого) строит программа XMSOLK1. В этом же
случае можно оценить качество АСИНП по собственным движениям —
реакциям на ненулевые начальные условия, в виде ограниченной мажорантой и минорантой области переходных процессов (программа XFELD1).
Начальное условие задается для выходной переменной и оно должно быть
положительным.
Если АСИНП имеет передаточную функцию с нулями, то качественные показатели можно оценить по частотным характеристикам (программа
X4X1). Строятся ограниченные мажорантами и минорантами области возможных значений следующих частотных характеристик: амплитудной, фазовой, вещественной, мнимой.
- XTRAP1 —
Назначение: построение трапецеидальной области расположения
корней устойчивого интервального полинома.
Входные параметры программы XTRAP1:
— степень полинома,
— нижние и верхние границы коэффициентов полинома.
Выходные параметры программы XTRAP1:
— график трапецеидальной области локализации корней полинома (в
случае его устойчивости),
— параметры этой области (eta, fi, ksi).
- XFELD1 —
Назначение: построение области переходных процессов АСИНП.
Входные параметры программы XFELD1:
— степень полинома,
1173
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
— нижние и верхние границы коэффициентов полинома (полином
должен быть моническим, то есть с единицей при старшей степени s).
— начальное условие по выходу (неотрицательное, остальные — нули).
Выходные параметры программы XFELD1:
— контрольная печать входных параметров,
— график области переходных процессов.
- XMSOLK1 —
Назначение: построение многосвязной области локализации корней
интервального полинома.
Входные параметры программы XMSOLK1:
— степень полинома,
— нижние и верхние границы коэффициентов полинома,
— ширина индикатора неопределенности,
— точность построения области.
Выходные параметры программы XMSOLK1:
— контрольная печать входных параметров,
— график многосвязной области локализации корней.
2.2.4. Назначение, входные и выходные данные
программ синтеза КП АСИАС
Синтез регуляторов для АСИНП проводится интервальным вариантом метода модального управления [18]. Описание метода приведено в
файле xsmrcb1.chi. Используется способ включения интервального характеристического полинома замкнутой системы (ИХПЗС) в желаемый
ИХПЗС. Достоинства и недостатки этого способа после десятилетнего
опыта применения были изложены в [19]. Этот способ реализован в виде
программы XSMRCB1. Для работы этой программы необходим желаемый
ИХПЗС. Его синтез по желаемой области расположения корней в виде
трапеции, расположенной в левой комплексной полуплоскости проводится
программой XSIPT1. Соответствующая теория и алгоритм опубликованы
в [20].
- XSMRCB1 —
Назначение: решение интервальной задачи модального управления
способом включения. Объект в программе XSMRCB1 может быть функционально-интервальным: каждый коэффициент матрицы А и вектора b зависит от вектора неопределенных и вектора определенных (известных) параметров. Вид функциональной зависимости должен быть таким, чтобы
коэффициенты матрицы Р и вектора d (смотри описание метода в файле
xsmrcb1.chi) были ДУО-функциями (допускающими угловое оценивание),
то есть наибольшее и наименьшее их значения достигались на некоторых
комбинациях границ элементов вектора неопределенных параметров. Про1174
Секция 3. Проектирование систем автоматического управления и регулирования
стейший случай требуемой функциональной зависимости — чистоинтервальная (А и b — интервальные матрица и вектор).
Для описания функциональной зависимости коэффициентов от неопределенных и определенных параметров пользователем должна быть составлена подпрограмма XUKAB. Если часть коэффициентов функционально зависит от определенных параметров, пользователь составляет
подпрограмму XOKAB. Для примера, описанного в xsmrcb1.chi, тексты
подпрограмм XOKAB и XUKAB можно просмотреть, вызвав файлы с их
именами. После составления собственных подпрограмм XOKAB и
XUKAB пользователь, имея MS-Fortran 5.0, для получения выполняемого
файла должен запустить файл xsmrcb_l.bat.
Входные параметры программы XSMRCB1:
— размерность системы,
— число неопределенных параметров,
— число определенных параметров,
— вектор определенных параметров,
— вектор нижних границ неопределенных параметров,
— вектор верхних границ неопределенных параметров,
— вектор нижних границ коэффициентов желаемого ИХПЗС (начиная с n–1 степени s),
— вектор верхних границ коэффициентов желаемого ИХПЗС (начиная с n–1 степени s).
Выходные параметры программы XSMRCB1:
— контрольная печать входных параметров,
— матрицы РН и РВ,
— коэффициенты характеристического полинома объекта,
— коэффициенты желаемого ИХПЗС,
— система центров (матрица и вектор),
— система длин (матрица и вектор),
— коэффициенты регулятора,
— проверка разрешимости задачи (длины левой части, запас по длинам),
— допуск на каждый коэффициент регулятора,
— интервалы значений коэффициентов регулятора.
Описание контрольного примера приведено в файле xsmrcb1.chi,
данные контрольного примера — в файле xsmrcb1.dat.
- XSIPT1 —
Назначение: синтез желаемого устойчивого интервального полинома.
Входные параметры программы XSIPT1:
— порядок полинома,
— угол сектора, в котором должны лежать корни синтезируемого полинома (0, 30, 45, 60, 90 градусов),
1175
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
— степень устойчивости,
— расстояние до максимально удаленного корня,
— верхняя граница коэффициента при n–1 степени s полинома,
— длины интервальных коэффициентов полинома,
— число циклов работы программы, в каждом цикле увеличивается
верхняя граница коэффициента при n–1 степени s,
— шаг изменения (увеличения) этой границы.
Выходные параметры программы XSIPT1:
— верхняя граница коэффициента при n–1 степени s ИХПЗС,
— нижние границы коэффициентов желаемого ИХПЗС,
— верхние границы коэффициентов желаемого ИХПЗС,
— нижние границы коэффициентов ЭТА-сдвинутого полинома В(s),
— верхние границы коэффициентов ЭТА-сдвинутого полинома В(s),
— верхние границы параметров ЛЯМБДА(i) критерия устойчивости,
— нижние границы коэффициентов КСИ-сдвинутого полинома D(s),
— верхние границы коэффициентов КСИ-сдвинутого полинома D(s),
— верхние границы параметров ЛЯМБДА(i) критерия устойчивости.
Выходные параметры печатаются в каждом цикле работы программы. В качестве синтезированного (желаемого) полинома можно брать любой, о котором выданы сообщения: ИХПЗС ИМЕЕТ ЖЕЛАЕМУЮ
СТЕПЕНЬ УСТОЙЧИВОСТИ, ИХПЗС ИМЕЕТ ЖЕЛАЕМОЕ КСИ.
Существует множество способов решения интервальной задачи
АКОР [21], [22], [23], [24]. В данной версии реализован способ, в котором
интервальной может являться матрица состояний объекта (программа
XMOKO1).
- XMOKO1 —
Назначение: решение интервальной задачи АКОР.
Входные параметры программы XMOKO1:
— размер матрицы А,
— нижние и верхние границы матрицы А,
— количество столбцов матрицы В,
— матрица В,
— матрица Q,
— матрица R,
— ширина индикатора неопределенности,
— матрица А0 номинального режима.
Выходные параметры программы XMOKO1:
— контрольная печать входных параметров,
— решение уравнения Риккати для номинального режима,
— вектор (матрица) К коэффициентов регулятора для номинального
режима,
— вектор (матрица) К коэффициентов робастного регулятора.
1176
Секция 3. Проектирование систем автоматического управления и регулирования
Синтез допусков на коэффициенты регулятора, входящего в
АСИНП, осуществляется двумя программами — XSMRCB1 и XIMAUS1
[25]. Первая программа находит допуски в процессе синтеза модального
регулятора. При этом допуски находятся как в процентах от номинальных
значений, так и в виде симметричных интервалов относительно них. Реализация любых значений коэффициентов регулятора из интервалов допуска гарантирует не только устойчивость, но и расположение корней ИХПЗС
в желаемой трапеции левой комплексной полуплоскости. Вторая программа находит допуски, исходя из условий устойчивости АСИНП. Предварительно пользователь оценивает с ее помощью чувствительность свойства устойчивости к изменению каждого коэффициента регулятора и назначает шаги расширения — сужения допусков.
3. МАТЛАБ — версия КП АСИАС (АСИАСМ )
3.1. Интервальные вычисления и система MATLAB
В настоящее время можно выделить следующие тенденции в организации и использовании интервальных вычислений на ЭВМ (см. дополнение к
переводу книги [6]):
— средства для проведения интервальных вычислений включаются в
состав автоматизированных систем различной проблемной ориентации;
— наряду с замкнутыми интервалами широко применяются и другие
классы интервальных объектов, а также соответствующие модифицированные
операции;
— постоянно растет число реализованных языков программирования,
предоставляющих средства для удобной работы с элементами интервальных
типов данных;
— в организации вычислений широко используются возможности компьютерной алгебры;
— массовым становится переход от программного способа интерпретации примитивов к микропрограммному и аппаратному;
— наблюдается стремление разработчиков к систематическому применению средств, реализующих регулярные методы увеличения точности вычисляемых результатов;
— расширяется номенклатура изделий, производимых промышленностью обработки данных, при создании которых учтена специфика интервальных вычислений.
Система MATLAB — один из самых мощных и эффективных инструментов для создания разнообразных программных комплексов, предназначенных для решения научно-технических задач. Благодаря текстовому формату
m-файлов пользователь может ввести в систему любую новую команду, оператор или функцию и затем пользоваться ими также просто, как и встроенны1177
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
ми операторами или функциями. Благодаря именно этой особенности, а также
встроенным в систему MATLAB средствам аналитических вычислений и элементам интервальных вычислений, стало возможным перевести написанные
на языке Фортран программы комплекса программ АСИАС в систему
MATLAB, создав m-файлы с текстами аналогичных программ.
Рассмотрим, для примера, как это было реализовано для программы
построения уточненной области локализации корней интервального полинома (Xvicin).
3.2. Создание в системе MATLAB программы Xvicin
Программа «Построение многоугольной области локализации корней устойчивого интервального полинома» имеет имя Xvicin. Программа
функционирует в системе MATLAB версии 5.2 и выше.
Программа написана на встроенном в MATLAB m-языке.
Программой решается задача построения многоугольной области
локализации устойчивого интервального полинома.
Эта задача является частным случаем задачи об относительной устойчивости. Автоматическая система считается относительно устойчивой,
если все корни ее характеристические полиномы локализованы в заданной
области Λ комплексной плоскости.
Для того чтобы построить область локализации корней нужно построить все его угловые полиномы, найти корни, а затем «вокруг» этих
корней построить область.
Рис. 6. Многоугольная область локализации корней интервального полинома.
Такая область строится в данной программе по следующему алгоритму:
1. Проверка правильности введенных данных (нижние границы
меньше верхних).
2. Формирование коэффициентов полиномов Харитонова.
1178
Секция 3. Проектирование систем автоматического управления и регулирования
3. Проверка устойчивости полиномов по критерию устойчивости
Гурвица.
4. Если полином устойчив, то переход к п. 5, иначе сообщение о неустойчивости полинома и конец работы программы.
5. Формирование коэффициентов угловых полиномов.
6. Вычисление корней угловых полиномов и определение из их параметров области расположения корней.
7. Вывод графика области расположения корней и вывод параметров
области.
Блок-схема программы представлена на рис. 7.
Входными параметрами являются:
– степень интервального полинома — n,
– нижние границы коэффициентов интервального полинома — Gn,
ввод осуществляется со старшей степени,
– верхние границы коэффициентов интервального полинома — Gv,
ввод осуществляется со старшей степени.
Данные вводятся в ответ на соответствующие запросы программы.
Число n — целое, значения коэффициентов Gn, Gv записываются в
квадратных скобках и через пробел.
Выходными данными являются параметры области расположения
корней:
fi — угол сектора Фи,
tet — степень устойчивости Тета,
ksi — расстояние до максимально удаленного корня Кси,
Ym — максимальная мнимая часть корней угловых полиномов.
Решим контрольный пример. Введем следующий интервальный полином:
∆( s ) = [1;1]s 3 + [4;5]s 2 + [4;4]s + [2;5] .
Результат работы программы:
Введите степень полинома : n=3
Введите нижние границы коэффициентов интервального полинома, начиная со
старшей степени : [gnN...gn2 gn1 gn0]=[1 4 4 2]
Введите верхние границы коэффициентов интервального полинома, начиная со
старшей степени : [gnN...gn2 gn1 gn0]=[1 5 4 5]
Угол сектора Фи=
72.2286
Cтепень устойчивости Эта=
0.3279
Расстояние до максимально удаленного корня Кси=
4.3442
Максимальная мнимая часть корней Ym=
1.1826
1179
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Рис. 7. Блок-схема программы Xvicin.
1180
Секция 3. Проектирование систем автоматического управления и регулирования
Рис. 8. Многоугольная область локализации корней интервального полинома.
3.3. Исследование двухмассовой упругой механической системы
с двумя интервальными параметрами
Для проверки работы программ исследуем двухмассовую упругую
механическую систему, изображенную на рис. 9.
Рис. 9. Двухмассовая упругая механическая система.
Представим числитель и знаменатель передаточных функций в виде
интервальных полиномов для случаев двух интервальных параметров:
J2∈[1, 2]
Н ⋅ м⋅с
Н ⋅ м⋅с
и J1∈[1, 2]
.
рад
рад
Полиномы числителя и знаменателя передаточных функций содержат нижние границы:
W11 ( s ) =
− s 2 − 2s − 1
s 2 + 2s + 1
=
W
(
s
)
,
,
22
s 3 + 4 s 2 + 5s + 2
s 3 + 4 s 2 + 5s + 2
1181
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Ww ( s ) =
s 2 + 2s + 1
s +1
, W21 ( s) = 3
.
3
2
s + 4 s + 5s + 2
s + 4 s 2 + 5s + 2
Полиномы числителя и знаменателя передаточных функций содержат верхние границы:
2s 2 + 2s + 1
− 2s 2 − 2s − 1
=
(
)
W
s
,
,
22
4 s 3 + 8s 2 + 7 s + 2
4 s 3 + 8s 2 + 7 s + 2
2s 2 + 3s + 1
s +1
Ww ( s ) = 3
, W21 ( s) = 3
.
2
4 s + 8s + 7 s + 2
4 s + 8s 2 + 7 s + 2
W11 ( s ) =
Для исследования устойчивости воспользуемся программой XARIT.
Введите степень полинома: n=3
Введите нижние границы коэффициенты интервального полинома, начиная со
старшей степени: [gnN...gn2 gn1 gn0]=[1 4 5 2]
Введите верхние границы коэффициенты интервального полинома, начиная со
старшей степени: [gnN...gn2 gn1 gn0]=[4 8 7 2]
Коэффициенты полинома Харитонова
4 4 5 2
Коэффициенты полинома Харитонова
1 4 7 2
Коэффициенты полинома Харитонова
1 8 7 2
Коэффициенты полинома Харитонова
4 8 5 2
Интервальный полином устойчив
Далее построим области локализации корней интервальных полиномов передаточных функций двухмассовой упругой механической системы. Для построения данных областей воспользуемся программами
XTRAP, XVICIN. Интервальный характеристический полином двухмассовой упругой механической системы имеет вид:
∆( s ) = [1;4]s 3 + [4;8]s 2 + [5;7]s + [2;2] .
В результате работы программы получаем следующее:
Введите степень полинома : n=3
Введите нижние границы коэффициенты интервального полинома, начиная со
старшей степени : [gnN...gn2 gn1 gn0]=[1 4 5 2]
Введите верхние границы коэффициенты интервального полинома, начиная со
старшей степени : [gnN...gn2 gn1 gn0]=[4 8 7 2]
Угол сектора Фи=
75.5225
Cтепень устойчивости Эта=
0.2500
Расстояние до максимально удаленного корня Кси=
7.3574
В результате работы программы Xvicin получаем следующее:
Угол сектора Фи=
75.5225
Cтепень устойчивости Эта=
0.2500
1182
Секция 3. Проектирование систем автоматического управления и регулирования
Расстояние до максимально удаленного корня Кси=
7.3574
Максимальная мнимая часть корней Ym=
1.5469
Рис. 10. Область локализации корней и множество корней полинома при случайных
значениях коэффициентов интервального полинома.
Рис. 11. Область локализации корней и множество корней полинома при случайных
значениях коэффициентов интервального полинома.
1183
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Теперь исследуем временные характеристики интервального характеристического полинома двухмассовой упругой механической системы,
для чего воспользуемся программой Xfeld.
В результате работы программы Xfeld получаем следующее:
Введите степень полинома: n=3
Введите нижние границы коэффициенты интервального полинома, начиная со
старшей степени: [gnN...gn2 gn1 gn0]=[1 4 5 2]
Введите верхние границы коэффициенты интервального полинома, начиная со
старшей степени: [gnN...gn2 gn1 gn0]=[1 8 7 2]
Рис. 12. Область переходных процессов АСИНП и переходный процесс при
конкретных значениях коэффициентов интервального полинома
3.4. Анализ устойчивости и качества следящего
привода с интервальной неопределенностью
Исследуем следящий привод, структурная схема которого изображена на рис. 13.
1184
Секция 3. Проектирование систем автоматического управления и регулирования
Рис. 13. Структурная схема следящего привода
Параметры привода:
JД=0,015 Н⋅м⋅с2/рад — момент инерции, приведенный к двигателю;
Кмп=0,15 мм/рад — коэффициент механической передачи;
Lя=0,007 Гн — индуктивность якоря;
Rя=0,5 Ом — cопротивление якоря;
Се=0,25 В⋅с/рад , См=0,15 Н⋅м/рад — постоянные двигателя;
КТП=105 —коэффициент передачи преобразователя.
Параметры измерителей:
КТГ=0,22 В⋅с/рад—коэффициент передачи тахогенератора;
Кдп=7 В/мм—коэффициент передачи датчика перемещения.
Параметры регуляторов:
КРТ=3.8, ТРТ=0.014 c,
КРС=2.8, ТРС=0.024, c
КРП=3.
Возьмем интервальный параметр JД∈[0,015; 0,02] Н⋅м⋅с2/рад, после
вычислений в системе CLASSIC передаточные функции выглядят следующим образом:
2.53 ⋅ 10 −5 s 2 + 0.00287 s + 0.0754
,
1.6 ⋅ 10 −9 s 6 + 4.28 ⋅ 10 −7 s 5 + 0.000227 s 4 + 0.026 s 3 + 1.45s 2 + 53.6 s + 528
2.53 ⋅ 10 −5 s 2 + 0.00287 s + 0.0754
Wв ( s ) =
.
1.7 ⋅ 10 −9 s 6 + 5.64 ⋅ 10 −7 s 5 + 0.000299s 4 + 0.03s 3 + 1.45s 2 + 53.6 s + 528
Wн( s ) =
Здесь Wн — передаточная функция при нижней границе интервального параметра , Wв — передаточная функция при верхней границе интервального
параметра. Интервальным является только полином знаменателя, поэтому
достаточно исследовать его свойства.
Исследуем с помощью переведенных программ устойчивость следящего привода (программа Xarit), области локализации корней интервального полинома знаменателя (программы Xtrap, Xvicin), временные
(программа Xfeld) характеристики интервального полинома.
Программа Xarit выдает сообщение
Интервальный полином устойчив
В результате работы программы Xtrap получаем следующее:
Угол сектора Фи=8.1095e+001
1185
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Cтепень устойчивости Эта=1.3447e+001
Расстояние до максимально удаленного корня Кси=1.2443e+002
В результате работы программы Xvicin получаем следующее:
Угол сектора Фи=8.1095e+001
Cтепень устойчивости Эта=1.3447e+001
Расстояние до максимально удаленного корня Кси=1.2443e+002
Максимальная мнимая часть корней Ym=3.9746e+002
Рис. 14. Область локализации корней и корни полинома при конкретных значениях
коэффициентов интервального полинома.
Рис. 15. Область локализации корней и множество корней полинома при случайных
значениях коэффициентов интервального полинома.
1186
Секция 3. Проектирование систем автоматического управления и регулирования
Рис. 16. Область локализации корней и корни полинома при конкретных значениях
коэффициентов интервального полинома.
Рис. 17. Область локализации корней и множество корней полинома при случайных
значениях коэффициентов интервального полинома.
В результате работы программы Xfeld получаем следующее —
рис. 18–19.
1187
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Рис. 18. Область переходных процессов автоматической системы с интервально
неопределенными параметрами.
Рис. 19. Область переходных процессов АСИНП и переходный процесс при
конкретных значениях коэффициентов интервального полинома.
Таким образом, программы КП АСИАС, «переведенные» на
MATLAB, позволяют исследовать устойчивость и качество следящего
привода с помощью построения временных характеристик, трапецеидальной и многоугольной областей локализации корней характеристического
полинома следящего привода.
1188
Секция 3. Проектирование систем автоматического управления и регулирования
Литература
1. Ackermann J. Robuste Regelung.— Springer–Verlag Berlin Heidelberg,
1993.
2. Moore R. E. Interval analysis.— N.Y.: Prentice Hall, 1966.
3. Шокин Ю. И. Интервальный анализ.— Новосибирск: Наука. Сиб. отделение, 1981.— 112с.
4. Хлебалин Н. А. Анализ асимптотической устойчивости линейных систем
управления в условиях неопределенности параметров объекта.— Саратов:
Саратовский
политехн.
ин-т,
1980.
(Деп.
в
ЦНИИТЭИприборостроения 23.07.80, №1370).— 9 с.
5. Ludyk G. CAE von Dynamischen Systemen.— Springer Verlag Berlin
Heidelberg, 1990.— 335 p.
6. Алефельд Г., Херцбергер Ю. Введение в интервальные вычисления: Пер.
с англ.— М.: Мир, 1987.— 360 с.
7. Добронец Б. С., Шайдуров В. В. Двухсторонние численные методы.—
Новосибирск: Наука. Сиб. отделение, 1990.— 208 с.
8. Калмыков С. А., Шокин Ю. И., Юлдашев З. Х. Методы интервального
анализа.— Новосибирск: Наука. Сиб. отделение, 1986.— 224 с.
9. Хлебалин Н. А. Аналитический синтез регуляторов в условиях неопределенности параметров объекта управления. Дисс…канд. техн. наук. —
Саратов, 1984.
10. Клатте Р., Кулиш У., Неага М.,Рац Д., Ульрих Х. PASCAL XSC: Руководство по языку и учебный курс: Пер. с англ.— М.: Теневинф, 1997.—
336 с.
11. Хлебалин Н.А. Характеристики отношения двух интервальных полиномов как функции комплексного переменного // Материалы Всесоюзн.
конф. «Актуальные проблемы прикладной математики». Т.1. (Саратов,
20–22 мая 1991).— С.106–109.
12. Теория автоматического управления. Ч. 1. Теория линейных систем автоматического управления. / Под ред. А.А. Воронова. Учеб. пособие для
вузов. — М.: Высшая школа, 1977. — 303 с.
13. Бронштейн И. Н., Семендяев К. А. Справочник по математике для инженеров и учащихся ВУЗов.— М.: 1986.— 544 с.
14. Bailey F. N., Panzer D. и Gu. G. Two algorithms for frequency domain design of robust control systems // Int. J. Control.— 1988.— V.48.— N.5.—
P.1787–1806.
15. M. Fu. Computing the frequency response of linear systems with parametric
perturbation // Systems & Control Letters.— 15.— 1990.—P.45–52.
16. Kraus F. J., Anderson B. D., Juri E. I., Mansour M. On the Robustnes of
Low — Order Schur Polynomials // IEEE Trans. On Circuits and Systems.—
V.35.— N.5.— P.570–577.
17. Хлебалин Н. А. Анализ и обеспечение устойчивости систем с одним неопределенным параметром // Аналитические методы синтеза регулято1189
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
ров: Межвуз. научн. сб.— Саратов: Саратовский политехн. ин-т,
1985.— С.70–72.
18. Хлебалин Н.А. Аналитический метод синтеза регуляторов в условиях
неопределенности параметров объекта // Аналитические методы синтеза регуляторов: Межвуз. научн. сб. — Саратов: Саратовский политехн.
ин-т, 1981.— С.107–123.
19. Хлебалин Н. А., Шокин Ю. И. Интервальный вариант метода модального
управления // ДАН СССР.— 1991.— Т.316.— №4.— С.846–850.
20. Хлебалин Н. А. Построение интервальных полиномов с заданной областью расположения корней // Аналитические методы синтеза регуляторов: Межвуз. научн. сб.— Саратов: Саратовский политехн. ин-т,
1982.— С.92–98.
21. Александров А. Г., Хлебалин Н. А. Аналитический синтез регуляторов
при неполной информации о параметрах объекта управления // Аналитические методы синтеза регуляторов: Межвуз. научн. сб.— Саратов:
Саратовский политехн. ин-т, 1981.— С.138–147.
22. Хлебалин Н. А., Солдунов В. А. Некоторые подходы к синтезу регуляторов в условиях неопределенности // Создание и расчет электронных устройств и приборов.— Саратов: Изд-во Саратовского ун-та, 1982.—
С.52–55.
23. Хлебалин Н. А. Аналитическое конструирование регуляторов в условиях
интервальной неопределенности параметров // Материалы Всесоюзн.
конф. «Актуальные проблемы прикладной математики».Т.1. (Саратов,
20–22 мая 1991).— С.104–105.
24. Petersen I. R. A Riccati Equation Approach to the Design of Stabiliziing
Controllers and Observers for a Class of Uncertain Linear Systems // IEEE
Transactions on Automatic Control.— 1985.— V.AC-30.— N.9.— P.904–
907.
25. Хлебалин Н. А. Интервальный метод анализа устойчивости в условиях
неопределенности параметров и его программное обеспечение // Отчет
о НИР «САПР САУ ЛА с постоянными параметрами» (промежуточный). Научн. руков. А. Г. Александров, № Гос. регистрации 80017703,
инв. №02820058296.— Саратов: Саратовский политехн. ин-т, 1982.—
112 с.
1190
Секция 3. Проектирование систем автоматического управления и регулирования
УДК 681.5
ПОСТРОЕНИЕ H∞ -СУБОПТИМАЛЬНОГО РЕГУЛЯТОРА
ДЛЯ УПРАВЛЕНИЯ САМОЛЕТОМ НА РЕЖИМЕ
ПОСАДКИ С ПОМОЩЬЮ ПАКЕТА
LMI CONTROL TOOLBOX
Чайковский М. М.,
Калужский филиал МГТУ им. Н.Э. Баумана, Калуга,
Курдюков А. П.,
Институт проблем управления РАН им. В.А. Трапезникова, Москва,
Тимин В. Н.
ОКБ «Русская Авионика», Жуковский,
e-mail: milse@kaluga.ru, akurd@ipu.ru, timin@ra.transts.ru
Введение
Современные системы управления проектируются с учетом возможной неопределенности, которая может возникнуть на входе системы
или в результате отклонения параметров системы от номинальных. Одним
из аппаратов построения систем управления при наличии неопределенностей является аппарат H∞ -минимизации, когда качество системы определяется H∞ -нормой передаточной функции замкнутой системы от входов к
контролируемым выходам. Задача состоит в построении управления, минимизирующего этот критерий качества.
Известны различные подходы к решению задачи H∞ -минимизации,
например, 2-Риккати подход [1], и подход, основанный на решении линейных матричных неравенств (LMI-based approach) [2, 3]. Последние два
подхода в настоящее время являются стандартами решения этой задачи.
Для разработчиков робастных систем управления был создан пакет
прикладных программ, реализующий указанные процедуры H∞ -минимизации — LMI Control Toolbox [4] для многофункциональной интегрированной системы автоматизации математических и научно-технических
расчетов MATLAB.
В работе для задачи минимизации внешних ветровых возмущений на
режиме посадки самолета решается задача построения управления, минимизирующего влияние сдвига ветра на воздушную скорость и высоту самолета на заданной траектории глиссады.
1191
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
1. Математическая модель продольного движения самолета
На заданной траектории глиссады модель движения самолета достаточно хорошо аппроксимируется линейной моделью [5]. Продольное движение летательного аппарата с учетом ветровых возмущений описывается
следующей линейной системой обыкновенных дифференциальных уравнений в приращениях:
x = Ax + B1n w + B2 nu,
x = [ ∆V
где
w =  wy
u =  ∆ϑсу
wx
∆θ ∆ω z
T
wy  —
∆ϑ ∆h ∆T ] —
вектор
T
внешних
вектор
состояния;
ветровых
возмущений;
T
∆δt  — вектор управления; ∆V — отклонение воздушной
скорости самолета; ∆θ — отклонение угла наклона траектории в воздушной системе координат; ∆ωz — отклонение угловой скорости относительно оси z ; ∆ϑ — отклонение угла тангажа; ∆h — отклонение высоты полета самолета; ∆T — отклонение силы тяги двигателей, направление которой принимается совпадающим с продольной осью самолета; wx — горизонтальная составляющая скорости ветра; wy — вертикальная составляющая скорости ветра; wx и wy — полные градиенты горизонтальной и вертикальной составляющей ветра в земной системе координат; ∆ϑсу —
управление, формирующее отклонение руля высоты самолета; ∆δt — отклонение сектора газа от заданного значения.
Уравнение для измеряемого выхода y = [ ∆V
∆h ] с учетом шумов
T
T
измерений n y =  n y1 n y 2  записывается в виде
y = C y x + I y ny ,
1 0 0 0 0 0 
где C y = 
 — матрица измеряемых выходов; I y — еди0 0 0 0 1 0
ничная матрица соответствующей размерности.
Линейная математическая модель продольного движения самолета с
учетом внешних ветровых возмущений в пространстве состояний описывается системой уравнений
 x = Ax + B1n w + B2 nu ,
(1)

 y = C y x + I y n y .
1192
Секция 3. Проектирование систем автоматического управления и регулирования
2. Постановка задачи синтеза H∞ -субоптимального регулятора.
Рассмотрим задачу управления продольным движением самолета в
условиях неопределенных ветровых возмущений w ограниченной мощности и шумов измерений n y . Ветровое возмущение вызывает отклонение
воздушной скорости V и высоты полета h от заданных значений, определяемых глиссадой — траекторией снижения летательного аппарата [6]. Задача регулятора состоит в поддержании заданных значений воздушной
скорости и высоты полета.
Для линейной модели продольного движения самолета (1) вектор
управляемых выходов z = [ ∆V
∆h ] можно записать в виде
z = C z x,
(2)
1 0 0 0 0 0 
Cz = 
.
0
0
0
0
1
0


В данной работе рассматривается система с расширенным вектором
управляемых выходов [5, 6]
T
z
(3)
z =   =  ∆V ∆h ∆ϑcy ∆δt  .
u 
Введем в рассмотрение расширенный вектор входных возмущений
w
T
w =   =  wy wx wy n y1 n y 2  .
(4)
n
y
 
T
Объединяя (1), (3) и (4), получим систему уравнений, описывающую
стандартный объект управления в пространстве состояний:
 x = Ax + B1w + B2u ,

(5)
 z = C1x + D11w + D12u ,
 y = C x + D w + D u,
2
21
22

где
B1
 B1n

0n y  ,

B2
B2 n ,
C1
C zT

T
0uT  ,
C2
Cy ,
D11
0,
T
0Tz I uT  , D21 0 w I n  , D22 0. Здесь 0n , 0u , 0 z и 0 w — нулеy 
y



вые матрицы соответствующих размерностей.
Для математической модели продольного движения самолета, представленной системой уравнений (5), задача построения H∞ -субоптимального регулятора состоит в следующем: для линейной модели (5) в классе
линейных управлений
U ( s ) = K ( s )Y ( s )
D12
найти управление U * ( s ) , гарантирующее оценку
Twz
∞
< γ,
(6)
1193
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
где Twz — матрица передаточных функций от вектора возмущений w к
контролируемому выходу z в замкнутой системе.
В работе [5] показано, что регулятор K ( s ) , обеспечивающий выполнение критерия (6) для системы (5), решает также субоптимальную задачу
минимальной чувствительности для системы (1), (2) с критерием
Twz ∞ < γ.
3. Синтез H∞ -субоптимального регулятора с помощью подхода,
основанного на решении линейных матричных неравенств.
В [2, 7] разработан алгоритм построения H∞ -субоптимальных регуляторов, являющийся альтернативным 2-Риккати подходу. Известные из
[1] обобщенные алгебраические уравнения Риккати управления и фильтрации заменяются неравенствами Риккати; множество решений данных неравенств используется для параметризации всех H∞ -субоптимальных регуляторов, включая регуляторы пониженного порядка. Построение регуляторов производится на основе множества пар ( X , Y ) симметричных матриц, удовлетворяющих системе матричных неравенств
 AT X + XA + X  γ 2 B1B1T − B2 B2T  X + C1TC1 < 0,




T
2 T
T
T
(7)
 AY + YA + Y  γ C1 C1 − C2 C2  Y + B1B1 < 0,

Y > 0,
ρ ( XY ) ≤ γ 2 .
 X > 0,

Справедлив следующий результат [2]. Для стандартного объекта
управления вида (5) регулятор, обеспечивающий выполнение условия (6),
существует тогда и только тогда, когда существуют симметричные матрицы R, S , удовлетворяющие следующей системе линейных матричных
неравенств:
T

RC1T B1 
T AR + RA
  N R 0
 N R 0 
−γ
(8)
C
R
I
D

 0 I
 < 0,
1
11  
0
I


 

T
T
D11
−γI 
 B1
NS
 0

 AT S + SA
0 
T
 B1 S

I 
C1

R
I

T
SB1
−γI
D11
C1T 
 N
T  S
D11

0
−γI  

I
≥ 0,
S 
0
< 0,
I 
(9)
(10)
1194
Секция 3. Проектирование систем автоматического управления и регулирования
T
где N R и N S — базисы нуль-пространств для  B2T D12
 и [C2 D21 ] соответственно.
Для численной устойчивости N R и N S выбираются ортонормированными, множество решений (8)–(10) не зависит от выбора базисов N R и
N S [2].
Связь решения ( R, S ) задачи (8)–(10) с решением ( X , Y ) системы (7)
устанавливается соотношениями
(11)
X = γR −1, Y = γS −1.
Задача вычисления наименьшего значения γ = γ opt при ограничениях
(8)–(10) является выпуклой, для ее решения используются алгоритмы
внутренней точки выпуклой оптимизации [2, 8].
Отметим, что на стандартный объект не накладывается ограничений,
как в условиях применения 2-Риккати подхода.
В [7] изложен алгоритм нахождения матриц основного H∞ -субоптимального регулятора полного порядка, построенного с помощью решения
линейных матричных неравенств (LMI-based central controller). Показано,
что при выполнении условий
T
D11 = 0, D12
(12)
[ D12 C1 ] = [ I 0], D22  D21T B1T  = [ I 0]
данный алгоритм приводит к формулам расчета матриц регулятора, аналогичным формулам 2-Риккати подхода.
Для данного объекта управления (5) условия (12) выполняются, что
дает основание в настоящей работе определить H∞ -субоптимальный регулятор следующим образом:
 xc = Ac xc + Bc y,
(13)

u
=
C
x
,
c c

где
−1
−2
−2
Ac = A − B2 B2T X −  I − γ opt
YX  YC2TC2 + γ opt
B1B1T X ,
−1
−2
Bc =  I − γ opt
YX  YC2T ,
Cc = − B2T X ,
X и Y определяются выражениями (11) [7].
4. Решение задачи построения H∞ -субоптимального регулятора средствами пакета LMI Control Toolbox.
Исчерпывающее описание пакета LMI Control Toolbox приводится в
[4]. Ниже приводится текст m-функции, реализующей построение H∞ 1195
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
субоптимального регулятора (13) в соответствии с изложенным алгоритмом.
function [Ac,Bc,Cc,gam_opt] = …
LMI_gamma_min(A,B1,B2,C1,C2,D11,D12,D21,D22,gamma,epsl,rad)
%
% Hinf-suboptimal controller design: LMI-based approach, GAMMA minimizing
%
% [Ac,Bc,Cc,GAM_OPT] = …
%
LMI_gamma_min(A,B1,B2,C1,C2,D11,D12,D21,D22,gamma,epsl,rad)
%
% INPUT:
A,...,D22 - standard plant description
%
gamma - given suboptimal value (set to zero to minimize)
%
epsl
- given accuracy for MINCX LMI-solver
%
rad
- feasibility radius (x'*x < R^2) for MINCX LMI-solver
%
% OUTPUT: Ac,...,Cc - Hinf-suboptimal controller description
%
gam_opt - GAMMA suboptimal value
%
sinvtol = sqrt(mach_eps);
n = size(A,1);
[p1 m1] = size(D11);
[p2 m2] = size(D22);
N12 = lnull([B2;D12],0,sinvtol);
N21 = rnull([C2,D21],0,sinvtol);
NR = [N12 zeros(n+p1,m1); zeros(m1,size(N12,2)) eye(m1)];
NS = [N21 zeros(n+m1,p1); zeros(p1,size(N21,2)) eye(p1)];
% LMI forming.
setlmis([]);
gam = lmivar(1,[1 1]);
R
= lmivar(1,[n 1]);
S
= lmivar(1,[n 1]);
% gamma
%R
%S
lmiterm([1 0 0 0],NR);
lmiterm([1 1 1 R],A,1,'s');
lmiterm([1 2 1 R],C1,1);
lmiterm([1 2 2 gam],1,-eye(p1));
lmiterm([1 3 1 0],B1');
lmiterm([1 3 2 0],D11');
lmiterm([1 3 3 gam],1,-eye(m1));
% LMI #1: NR
% LMI #1: A*R+R*A'
% LMI #1: C1*R
% LMI #1: -gam*eye(p1)
% LMI #1: B1'
% LMI #1: D11'
% LMI #1: -gam*eye(m1)
lmiterm([2 0 0 0],NS);
lmiterm([2 1 1 S],A',1,'s');
lmiterm([2 2 1 S],B1',1);
lmiterm([2 2 2 gam],1,-eye(m1));
% LMI #2: NS
% LMI #2: A'*S+S*A
% LMI #2: B1'*S
% LMI #2: -gam*eye(m1)
1196
Секция 3. Проектирование систем автоматического управления и регулирования
lmiterm([2 3 1 0],C1);
lmiterm([2 3 2 0],D11);
lmiterm([2 3 3 gam],1,-eye(p1));
% LMI #2: C1
% LMI #2: D11
% LMI #2: -gam*eye(p1)
lmiterm([-3 1 1 R],1,1);
lmiterm([-3 2 1 0],eye(n));
lmiterm([-3 2 2 S],1,1);
% LMI #3: R
% LMI #3: eye(n)
% LMI #3: S
LMIsys = getlmis;
% LMI problem solving: gamma_opt < gamma or gamma -> min.
c = [1; zeros(decnbr(LMIsys)-1,1)];
options = [epsl 0 rad 0 0];
[gam_opt,sol] = mincx(LMIsys,c,options,[],gamma);
Rs = dec2mat(LMIsys,sol,R);
Ss = dec2mat(LMIsys,sol,S);
X = gam_opt*inv(Rs);
Y = gam_opt*inv(Ss);
Ac = A+gam_opt^(-2)*B1*B1'*X-B2*B2'*X-inv(eye(size(Y*X))-…
gam_opt^(-2)*Y*X)*Y*C2'*C2;
Bc = inv(eye(size(Y*X))-gam_opt^(-2)*Y*X)*Y*C2';
Cc = -B2'*X;
5. Результаты
В работе рассматривается движение самолета ТУ-154 по траектории
глиссады, представляющей собой прямую линию с заданным углом наклона траектории θгл = −2,7 град. Задача системы управления заключается в
поддержании постоянной воздушной скорости V0 = 71,375 м/с и заданной
высоты при воздействии внешних возмущений — сдвига ветра. Для линейной модели системы управления, соответствующей (5), матрицы A, B1,
B2 , C1, C2 , D11, D12 , D21, D22 имеют значения [6]
0
−0,0869 0 0,0904 
 −0,0608 −0,0841
 0, 2187 −0,6218 0,10815 0,72345 0 0,0036 


 0,0053
0,5221 −1,59015 −1,55495 0
0 
A=
,
0
0
1,0000
0
0
0


 −0,0471 1,2437
0
0
0
0 


0
0
0
0 −0, 4000 
 0
1197
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
 0
 0

 0
B1 = 
 0
1,0000

 0
1
0
C1 = 
0

0
−0,9989
−0,0378
0
0
0
0
0 0 0
0 0 0
0 0 0
0 0 0
0 0
0 
 0
 −0,1236 0 
−0,8019 0 0 



 1,1804
0
0 0
0 
,
 , B2 = 
0
0 0
0
0




0
0 0
0
0 



0
0 0
0, 4 
 0
0 0
1 0
1 0 0 0 0 0
 , C2 = 
0 0 0 0 1 0  ,
0 0



0 0
0,0471
0 0 0 0
0 0
0 0
0 0 0 0
,
 , D12 = 
1 0 
0 0 0 0



0 0 0 0
0 1 
0 0 
0 0 0 1 0
=
D21 = 
,
D
22
0 0  .



0 0 0 0 1 
Для системы (5) с приведенными значениями матриц A, …, D22 в
соответствии с описанным выше алгоритмом средствами пакета LMI Control Toolbox было выполнено построение H∞ -субоптимального регулятора.
В результате решения задачи синтеза были получены следующие значения
матриц регулятора Ac , Bc и Cc :
 −10,3736 0,0940 0,0367 −0,0426 −4,4903 0,2616 
 −3,0920 −0,0761 0, 2981 1,0207 −2,4187 0,0770 


 −3,3647 −3,8254 −3,1462 −3,9814 −2,5711 −0, 4730
Ac = 
,
0,5977
0,0000
1,0000
0,0000
0,5373
0,0000
−
−


 −4,5377 1,3313
0,0233 0,0381 −4,9416 0,0282 


 −3,1375 −0,6777 −0,1253 −0,1406 −0,5184 −1,1389 
0
0
D11 = 
0

0
11,0581
 3,7270

 0,4904
Bc = 
 0,5977
 4,6216

 0,0019
4,6216 
2,7106 

0,3224 
,
0,5373 
5,0048 

0,0010 
1198
Секция 3. Проектирование систем автоматического управления и регулирования
 −2,4395 −3,6831 −1,3182 −2,0556 −1,9051 −0,4008
Сс = 
.
−
7,8390
−
1,6942
−
0,3132
−
0,3515
−
1,2934
−
1,8472


Полученное в результате решения минимальное значение
γ = γ opt = 10,7000. С помощью функции norminf пакета LMI Control Toolbox была вычислена H∞ -норма передаточной функции от вектора возмущений w к контролируемому выходу z в замкнутой системе
Tw z = 10,6981 < γ opt . Задача синтеза H∞ -субоптимального регулятора ре∞
шалась также с использованием 2-Риккати подхода; в этом случае было
получено наименьшее значение γ = γ opt = 10,6934, и Tw z = 10,6933 < γ opt .
∞
Отметим, что при использовании двух подходов абсолютное отклонение
значений для γ opt составило 0,0019 , а для Tw z — 0,0048 (относитель∞
ные отклонения равны 0,0178% и 0,0449% соответственно).
При моделировании движения замкнутой системы была выбрана модель микропорыва ветра в форме вихревого кольца [6]. Согласно этой модели, формулы для горизонтальной и вертикальной составляющих скорости ветра в точках пространства с координатами ( x, h ) имеют вид

 hρ hρ 
1,182ρ Г 
R
− −
wx =

12 
2
r
2π  
2
2

 2ρ r1ρ 
x − X ) + hρ + R
(



 hm hm 
R
−
−
,
12 
2
r
r
2
2
( x − X ) + h + R   2 m 1m  
m





 x
1,576ρ Г 
R
x2 
1
wy =
−
−

34  34
34
2π   1
r
r
2
 
2ρ 

x − X ) + hρ2 + R 2   1ρ
(

  4



 x
R
x2  
1
−
− 3 4 ,
34  34
r
r2ρ  
2

1

2
2
 1ρ
−
+
+
x
X
h
R
(
)
m
 4


где
1199
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
x1 = x − X − R; hρ = h − H ; r1ρ = x12 + hρ2 ; r2ρ = x22 + h ρ2;
2
x2 = x − X + R; hm = h + H ; r1m = x12 + hm2 ; r2 m = x22 + h m
;
 r 
r0 = min r1ρ , r2ρ ; ρ = 1 − exp  − 0  ,
 Rc 
Г — циркуляция; R — радиус вихревой нити кольца; Rc — эффективный
радиус ядра вихревого кольца; X и H — горизонтальная и вертикальная
координаты центра вихревого кольца.
При моделировании были выбраны следующие значения параметров
вихревой модели [6]:
Γ = 45000 м2/с; Rc = 35 м; H = 600 м; R = 350 м.
Текст m-функции, реализующей выбранную модель сдвига ветра в среде
MATLAB, приводится в Приложении.
Для выбранной модели профиля ветра было проведено интегрирование уравнений (5) и (13) при нулевых начальных условиях.
С целью сравнения качества переходных процессов в замкнутой системе с H∞ -субоптимальным регулятором для системы (9) была также решена задача синтеза H2 LQG -оптимального регулятора с помощью функции h2lqg пакета Robust Conrol Toolbox. Матрицы H2 LQG -оптимального
регулятора имеют вид
 −0,9935 −0,0841 0,0000 −0,0869 −0,0136 0,0904 
 0,2075 −0,3707 0,2019
0,8711 −0, 2495 0,0113 


 −0,7979 −1,8760 −2, 4853 −2,9652 −1,2105 −0,0737 
AсH2 = 
,
−
0,0046
0,0000
1,0000
0,0000
−
0,1022
0,0000


 −0,0607 1, 2437
0,0000 0,0000 −1,3872 0,0000 


 −0,2993 −0,0710 −0,0159 −0,0179 −0,0499 −0,4626 
 0,9327 0,0136 
0,0937 0,3722 




0,0155
0,0393
BсH2 = 
,
0,0046
0,1022


 0,0136 1,3872 


 0,0000 0,0000 
 −0,6673 −2,0316 −0,7584 −1,1947 0,9922 −0,0624
СсH2 = 
.
−
0,7482
−
0,1775
−
0,0397
−
0,0448
−
0,1248
−
0,1565


В графических материалах, иллюстрирующих движение замкнутой
системы с различными регуляторами, сплошная линия соответствует сис-
{
}
1200
Секция 3. Проектирование систем автоматического управления и регулирования
теме с H∞ -субоптимальным регулятором, пунктирная — системе с
H2 LQG -оптимальным регулятором.
На рис. 1 представлены графики горизонтальной и вертикальной составляющих скорости ветра для выбранной модели ветрового возмущения.
На рис. 2 изображены графики отклонений воздушной скорости ∆V и высоты ∆h от заданных значений при воздействии данного ветрового возмущения без учета шумов измерений. Из анализа графиков можно заключить,
что по отклонениям высоты и воздушной скорости H∞ -субоптимальный
регулятор обеспечивает лучшее качество переходных процессов, чем
H2 LQG -регулятор. Так, максимальное отклонение воздушной скорости
для H∞ -субоптимального регулятора составляет около 4,2 м/с, а для
H2 LQG -регулятора — около 11,5 м/с. Максимальное отклонение высоты
для H∞ -субоптимального регулятора составляет около 32 м, в то время как
для H2 LQG -регулятора — около 45 м.
Вид управлений ∆ϑcy и ∆δt при реакции на данное ветровое возмущение без учета шумов измерений приводится на рис. 3. Из рассмотрения
графиков можем заключить, что значительно меньшие отклонения воздушной скорости ∆V и высоты полета ∆h для замкнутой системы с H∞ субоптимальным регулятором определяются значительно более интенсивной работой двигателя (см. рис. 3, б). На рис. 4 представлены графики отклонений руля высоты ∆δe и силы тяги двигателя ∆T .
wx ( t ) ,м с
wy ( t ) ,м с
H∞
H2 LQG
H2 LQG
H∞
t ,с
t ,с
а)
б)
Рис. 1. Графики горизонтальной (а) и вертикальной (б) составляющих скорости ветра.
1201
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
∆V ( t ) ( z1 ( t ) ) ,м с
∆h ( t ) ( z2 ( t ) ) ,м
H∞
H∞
H2 LQG
H2 LQG
t ,с
t ,с
а)
б)
Рис. 2. Графики отклонений воздушной скорости ∆V (а) и высоты ∆h (б).
∆δt ( t ) ( u2 ( t ) )
∆ϑcy ( t ) ( u1 ( t ) )
H∞
H2 LQG
H∞
H2 LQG
t ,с
t ,с
а)
б)
Рис. 3. Графики управлений ∆ϑcy (а) и ∆δt (б).
∆δe ( t ) ,град
∆T ( t ) , H
H∞
H∞
H2 LQG
H2 LQG
t ,с
t ,с
а)
б)
Рис. 4. Графики отклонений руля высоты ∆δe (а) и тяги двигателя ∆T (б).
1202
Секция 3. Проектирование систем автоматического управления и регулирования
∆δt ( t ) ( u2 ( t ) )
∆ϑcy ( t ) ( u1 ( t ) )
H∞
H∞
H2 LQG
H2 LQG
t ,с
t ,с
а)
б)
Рис. 5. Графики управлений ∆ϑcy (а) и ∆δt (б) в присутствии шумов измерений.
∆V ( t ) ( y1 ( t ) ) ,м с
∆h ( t ) ( y2 ( t ) ) ,м
H∞
H∞
H2 LQG
H2 LQG
t ,с
t ,с
а)
б)
Рис. 6. Графики измеряемых выходов y1 (а) и y2 (б) в присутствии шумов измерений.
∆V ( t ) ( z1 ( t ) ) ,м с
∆h ( t ) ( z2 ( t ) ) ,м
H∞
H∞
H2 LQG
H2 LQG
t ,с
t ,с
а)
б)
Рис. 7. Графики отклонений воздушной скорости ∆V
(а)и высоты ∆h (б) в присутствии шумов измерений.
1203
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Графики переходных процессов замкнутых систем с H∞ -субоптимальным и H2 LQG -оптимальным регуляторами при воздействии ветровых возмущений с учетом шумов измерений (гауссовский белый шум, генерированный функцией randn) приводятся на рис. 5–7.
Заключение
В работе рассмотрена и решена задача синтеза H∞ -субоптимального
регулятора в продольном канале самолета на режиме посадки в условиях
сдвига ветра с помощью подхода, основанного на решении линейных матричных неравенств. Алгоритм построения регулятора реализован средствами пакета LMI Control Toolbox системы MATLAB. Для выбранной модели
ветрового возмущения выполнено моделирование движения замкнутой
системы управления и проведено сравнение с H2 LQG -оптимальным
регулятором. Показано, что H∞ -субоптимальный регулятор обеспечивает
лучшее качество переходных процессов при воздействии ветрового возмущения.
Литература
1. Doyle J. C., Glover K., Khargonekar P. P., Francis B. A. State-Space Solutions to Standard H2 and H∞ Control Problems // IEEE Transactions on
Automatic Control.— V.AC–34.— N.8.— 1989.
2. Gahinet P., Apkarian P. A Linear Matrix Inequality Approach to H∞ Control // Int. J. Robust and Nonlinear Contr.— 4.— 1994.— P.421–448.
3. Iwasaki T., Skelton R. E. All Controllers for the General H∞ Control Problem: LMI Existence Conditions and State-Space Formulas // Automatica.—
30.— 1994.— P.1307–1317.
4. Gahinet P., Nemirovski A., Laub A.J., Ghilali M. LMI Control Toolbox.—
The Mathworks Inc., 1995.
5. Курдюков А. П., Тимин В. Н. Синтез робастной системы управления на
режиме посадки самолета в условиях сдвига ветра // Техническая кибернетика.— №6.— 1993.
6. Курдюков А. П. и др. Методы классической и современной теории автоматического управления: Учебник в 3-х т. Т.3: Методы современной
теории автоматического управления / Под ред. Н. Д. Егупова.— М.:
Изд-во МГТУ им. Н.Э. Баумана, 2000.— 748 с.
7. Gahinet P. «Explicit Controller Formulas for LMI-based H∞ Synthesis,»
submitted to Automatica // Proc. Amer. Contr. Conf.— 1994.— P.2396–
2400.
8. Ben-Tal A., Nemirovski A. Lectures on Modern Convex Optimization:
Analysis, Algorithms, Engineering Applications.— Technion, Minerva Optimization Center, 2000.
1204
Секция 3. Проектирование систем автоматического управления и регулирования
Приложение. Модель сдвига ветра в среде MATLAB
function [w_x_fun,w_y_fun,dw_xdx_fun,dw_ydx_fun,r0_fun] = …
wind_shear_model(GW_num,Rc_num,X_num,Z_num,H_num,R_num);
%
% WIND SHEAR MODEL DESCRIPTION: VORTEX RING
%
% [w_x w_y dw_x/dx dw_y/dx r0] = wind_shear_model(GW,Rc,X,Z,H,R)
%
% INPUT: wind shear model parameters
%
GW - vortex ring circulation
%
Rc - vortex ring core effective radius
%
X - horizontal coordinate of vortex ring center
%
Z - horizontal coordinate of vortex ring center
%
H - vertical coordinate of vortex ring center
%
R - vortex ring filament radius
%
% OUTPUT: inline functions
%
w_x(x,h,r0)
- wind shear velocity horizontal component
%
w_y(x,h,r0)
- wind shear velocity vertical component
%
dw_x/dx(x,h,r0) - wind shear acceleration horizontal component
%
dw_y/dx(x,h,r0) - wind shear acceleration vertical component
%
r0(x,h)
- service function
% where
%
x - horizontal distance to the vortex ring center
%
h - vertical distance to the vortex ring center
%
% Variables.
syms x h X r0 GW Rc H Z R
x1 = x-X-R;
x2 = x-X+R;
h_rho = h-H;
h_m = h+H;
r_1rho = x1^2+h_rho^2;
r_2rho = x2^2+h_rho^2;
r_1m = x1^2+h_m^2;
r_2m = x2^2+h_m^2;
rho = 1-exp(-r0/Rc);
% Wind vector components definition.
w_x = 1.182*rho*GW/(2*pi)*(R/((x-X)^2+h_rho^2+R^2)^(1/2)*…
(h_rho/r_2rho-h_rho/r_1rho)-R/((x-X)^2+h_m^2+R^2)^(1/2)*…
(h_m/r_2m-h_m/r_1m));
w_y = 1.576*rho*GW/(2*pi)*(R/(0.25*(x-X)^2+h_rho^2+R^2)^(3/4)*…
(x1/r_1rho^(3/4)-x2/r_2rho^(3/4))-R/(0.25*(x-X)^2+h_m^2+R^2)^(3/4)*…
(x1/r_1rho^(3/4)-x2/r_2rho^(3/4)));
dw_xdx = diff(w_x,'x');
dw_ydx = diff(w_y,'x');
1205
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
% Symbolic expressions definition.
w_x = subs(w_x,{'GW','Rc','X','H','Z','R'},{GW_num,Rc_num,…
X_num,H_num,Z_num,R_num});
w_y = subs(w_y,{'GW','Rc','X','H','Z','R'},{GW_num,Rc_num,…
X_num,H_num,Z_num,R_num});
dw_xdx = subs(dw_xdx,{'GW','Rc','X','H','Z','R'},{GW_num,Rc_num,…
X_num,H_num,Z_num,R_num});
dw_ydx = subs(dw_ydx,{'GW','Rc','X','H','Z','R'},{GW_num,Rc_num,…
X_num,H_num,Z_num,R_num});
r_1rho = subs(r_1rho,{'X','R','H'},{X_num,R_num,H_num});
r_2rho = subs(r_2rho,{'X','R','H'},{X_num,R_num,H_num});
% Functions definition.
w_x_fun = inline(vectorize(w_x),'x','h','r0');
w_y_fun = inline(vectorize(w_y),'x','h','r0');
dw_xdx_fun = inline(vectorize(dw_xdx),'x','h','r0');
dw_ydx_fun = inline(vectorize(dw_ydx),'x','h','r0');
r0_fun = inline(strcat('min(',char(vectorize(r_1rho)),',',…
char(vectorize(r_2rho)),')'),'x','h');
1206
Секция 3. Проектирование систем автоматического управления и регулирования
УДК 62.50
ПАКЕТ ПРОГРАММ ДЛЯ СИНТЕЗА РЕГУЛЯТОРА,
ОБЕСПЕЧИВАЮЩЕГО ЗАДАННЫЙ РАДИУС ЗАПАСОВ
УСТОЙЧИВОСТИ
Честнов В. Н.,
Институт проблем управления им. В. А. Трапезникова РАН, Москва,
e-mail: vnchest@rambler.ru
Собчинский А. В.,
Московский государственный институт стали и сплавов, Москва,
e-mail: ac0@mail.ru
Алексеева Н. В.
Электростальский политехнический институт (филиал)
Московского государственного института стали и сплавов, Электросталь,
e-mail: ac0@mail.ru
Введение
В последнее время одним из актуальных направлений теории автоматического управления является синтез оптимальных робастных непрерывных и дискретных регуляторов многомерных систем по заданным критериям качества.
Понятие «робастность» рассматривается как сохранение свойства
асимптотической устойчивости, когда физические параметры объекта
управления подвержены заданным отклонениям от расчетных (номинальных)[1]. Помимо этого, в качестве косвенного критерия робастности рассматривается радиус запасов устойчивости [2], определяющий широко используемые в инженерной практике запасы устойчивости по фазе и коэффициенту усиления, когда размыкание замкнутого контура объектрегулятор осуществляется либо по физическому входу, либо по физическому выходу объекта управления [2], а также одновременно в этих важных на практике точках размыкания [3].
Радиус запасов устойчивости представляет собой круг, описанный
вокруг критической точки (–1,j0), который годограф Найквиста замкнутой
системы не пересекает. В одномерном случае это показано на рис. 1.
1207
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Рис. 1. Радиус запасов устойчивости в одномерном случае.
В качестве инженерных критериев качества в задаче синтеза регуляторов выступают заданные запасы устойчивости и время регулирования.
Решение данной задачи синтеза опирается на Н∞ теорию оптимального
управления[4], поскольку решаемые задачи сводятся к специальным образом сконструированным проблемам подавления внешних возмущений Н∞
подхода. Алгоритмы синтеза используют метод линейных матричных неравенств (LMI)[5], реализованный в MATLAB — пакете LMI Control
Toolbox[6], в рамках которого и разработано соответствующее программное обеспечение.
Описание класса решаемых задач
В данном разделе будут перечислены все задачи решаемые с помощью данного пакета программ.
Рассмотрим полностью управляемый и наблюдаемый объект управления с регулятором по выходу, описываемые уравнениями состояния
x = Ax + B1 w + B2u , y = Cx ,
(1а)
(2а)
x c = Ac x c + Bc y , u = C c x c + Dc y ,
а в дискретной
(1б)
x(k + 1) = Ax(k ) + B1 w(k ) + B 2 u (k ) , y (k ) = Cx(k ) ,
x(k + 1)c = Ac x(k )c + Bc y (k ) , u (k ) = C c x(k )c + Dc y (k ) ,
(2б)
где x ∈ R n — вектор состояния объекта (1а или 1б); u ∈ R m — вектор управляющих воздействий; y ∈ R m — вектор измеряемых и одновременно регу2
1208
Секция 3. Проектирование систем автоматического управления и регулирования
лируемых переменных; w∈ R m — вектор реально действующих на объект
неизмеряемых внешних возмущений; xc ∈ R n — вектор состояния регулятора (2а или 2б). Постоянные числовые матрицы A , B1 , B2 , C объекта известны; Ac , Bc , C c , Dc — неизвестные матрицы регулятора, подлежащие
определению.
Задача 1. Найти стабилизирующий регулятор (2а или 2б) такой чтобы выполнялось круговое частотное матричное неравенство [2]
[ I + W y (σ ′)]T [ I + W y (σ )] ≥ r 2 I , r = γ −1
(3)
jwT
где σ = jω , σ ′ = − jw , а ω ∈ [0, ∞) для непрерывного случая и σ = e ,
1
c
π
σ ′ = e − jwT , а ω ∈ [0, ] для дискретного случая, γ — заданное или миними-
T
зируемое число; r ( 0 < r ≤ 1 ) — заданное или максимизируемое число (радиус запасов устойчивости); W y (δ ) = − W (δ ) K (δ ) — передаточная матрица разомкнутой системы (1а), (2а) или (1б), (2б) по физическому выходу
объекта (здесь W (δ ) = C (δI − A) −1 B 2 — передаточная матрица объекта по
управлению; K (δ ) = C c (δI − Ac ) −1 Bc + Dc — передаточная матрица регулятора: u = K (δ ) y , где δ — это символ преобразования Лапласа для непрерывного случая и символ Z-преобразования для дискретного). Здесь и далее I — единичная матрица соответствующих размеров.
Задача 2. Найти стабилизирующий регулятор (2а или 2б) такой чтобы выполнялось круговое частотное матричное неравенство [2]
[ I + W u (σ ′)]T [ I + W u (σ )] ≥ r 2 I , r = γ −1
(4)
где γ и r определены ранее; W u (δ ) = − K (δ ) W (δ ) — передаточная матрица разомкнутой системы (1а), (2а) или (1б), (2б) по физическому входу
объекта.
Следует подчеркнуть, что обеспечение заданного радиуса запасов
устойчивости r , например, по выходу объекта, еще не означает, что удовлетворительным будет радиус запасов устойчивости также на выходе объекта и наоборот[3]. Поэтому, естественно сформулировать следующую задачу.
Задача 3. Найти стабилизирующий регулятор (2а или 2б) , такой, что
одновременно выполнены круговые частотные неравенства (3), (4), где
0 < r ≤ 1 - заданный или максимизируемый радиус запасов устойчивости.
Физический смысл этого понятия описан в работе [2], там же приведены
неравенства для многомерных запасов устойчивости по фазе и коэффициенту усиления для известного радиуса r .
Задача 4. Найти стабилизирующий регулятор (2а или 2б) такой, выполнялось круговое частотное неравенство
[I + W y (σ )]T [I + W y (σ )] ≥ R T (σ )R(σ ) ,
(5)
где R(σ ) = r (σ ) ⋅ I , а r (σ ) — заданная передаточная функция.
1209
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Задача 5. Найти стабилизирующий регулятор (2а или 2б) такой, выполнялось круговое частотное неравенство
[I + W u (σ )]T [I + W u (σ )] ≥ R T (σ )R(σ ) ,
(6)
R(σ ) — определена выше.
По аналогии с задачей 3, естественно сформулировать следующую
задачу:
Задача 6. Найти стабилизирующий регулятор (2а или 2б), такой, что
одновременно выполнены круговые частотные неравенства (5), (6).
Следует отметить, что решение сформулированных задач 1–6, как
показывают численные эксперименты, может приводить к замкнутым системам с недопустимо большой длительностью переходных процессов. Это
приводит к следующей задаче:
Задача 7. Найти стабилизирующий регулятор (2а или 2б), такой, что
при решений любой из первых шести задач обеспечивал заданное время
регулирования.
Описание пакета программ его функций
Для работы пакета необходим пакет MATLAB LMI Control Toolbox.
Работа графического интерфейса к данному пакету возможна в MATLAB 6
и выше. Данный пакет программ позволяет осуществлять расчет дискретных и непрерывных регуляторов многомерных систем приведенных выше
задач, а также проводить анализ систем (построение переходных процессов: реакции на возмущающее (задающее) воздействие, а также частотных
характеристик при размыкании по определенному входу или выходу объекта).
В состав данного пакета включены следующие функции:
Имя файла
makeW.m
radius.m
m2m.m
regfind.m
print_rad
close_sys
per_proc
freq_har
Выполняемая функция
Функция объединяет все данные об объекте в структурную переменную
которая используется в других функциях
Функция вычисляет передаточную функцию частото-зависимого радиуса запасов устойчивости
Функция создает обобщенные матрицы объекта которые используются
при расчете регуляторов
Функция ищет регулятор на основе обобщенных матриц объекта
Функция выводит в командное окно MATLAB информацию о запасах
устойчивости полученной системы
Функция находит передаточную функцию замкнутой системы на основе
передаточных функций объекта и регулятора
Функция получает и выводит графики переходных процессов на основе
передаточной функции замкнутой системы
Функция получает и выводит частотные характеристики системы разомкнутой по определенному выходу(входу)
1210
Секция 3. Проектирование систем автоматического управления и регулирования
Помимо всех перечисленных функций в пакет также включен
графический интерфейс, который позволяет упростить работу с данным
пакетом. Все сводится к заданию матриц объекта (1а или 1б) и выбора
способа расчета и типа рассчитываемого регулятора. Также имеется
возможность, используя окно настроек, выбрать данные, выводимые в
отчет, формируемый по итогам выполнения программы, а также,
соответствующий графический материал. Главное окно интерфейса
представлено на рис. 2
Рис. 2. Главное окно графического интерфейса.
Пример работы при использовании графического интерфейса
Пример работы с данным пакетом программ проиллюстрируем на
примере расчета цифрового регулятора по выходу обеспечивающего требуемые запасы устойчивости на выходе объекта для трубоэлектросварочного агрегата (ТЭСА) структурная схема которого приведена на рис. 3.
Измеряемыми переменными являются угловая скорость y 3 = ω = x5 и
якорные токи y1 = i я1 = x3 , y 2 = i я2 = x 4 двигателей, Регулируемыми переменными являются угловая скорость z 3 = ω = x5 и якорные токи
z1 = i я1 = x3 , z 2 = i я2 = x 4 двигателей. Период дискретности регулятора
Т=0.01.
Требования к системы к точности при wi (t ) = const ≤ 600 ( i = 1, µ )
(10 процентов от номинального момента двигателя) примем следующими:
z1 st ≤ 370 , z 2 st ≤ 370 , z 3 st ≤ 2 , u1 st ≤ 5 , u 2 st ≤ 5
1211
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Рис. 3. Структурная схема ТЭСА.
Время регулирования при действии ступенчатого внешнего возмущения должно быть не более 0.25 секунд.
Уравнения системы в непрерывном виде:
q1 + 100q1 = 16120u1 ;
q 2 + 83.3333q 2 = 13702u 2 ;
q 3 − 137.8105q1 + 11.2866q 3 + 1123.1557 q 5 = 0 ;
q 4 − 132.4591q 2 + 11.0653q 4 + 1101.133q 5 = 0 ;
q 5 − 0.24867 q 3 − 0.25364q 4 = −0.0307 w ;
где w — отклонение момента сопротивления от номинального (возмущения по моменту нагрузки); q i (i = 1, 2, … , 5) — отклонения соответствующих напряжений, токов и угловой скорости от номинальных; u1 , u 2 — отклонения управляющих напряжений от номинальных.
Матрицы объекта:
0
0
0
0

 − 100


0
0
0
0
− 83.3333


A = 137.8105
0
0
− 11.2866
− 1123.155 ,


0
132
.
4591
0
11
.
0653
1101
.
133
−
−




0
0
0.24867
0.25364
0
0
0 


16120


 0
0
13702
0 0 1 0 0 




 , B2 =  0
B1 = 
0
0  , C1 = C 2 = 0 0 0 1 0




0 0 0 0 1
0
0 


 0
− 0.0307 
 0
0 
1212
Секция 3. Проектирование систем автоматического управления и регулирования
вводятся в соответствующие окна главного окна интерфейса. Задав тип и
способ расчета (по выходу и дискретный соответственно), а также введя
период дискретности в появившемся окне, нажимаем «выполнить» для запуска программы расчета.
Рис. 4. Главное окно графического интерфейса настроенное для расчета дискретного
регулятора.
После выполнения вычислений в командном окне MATLAB получаем
отчет:
1213
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Рис. 6. Командное окно MATLAB с полученным отчетом.
А также частотные характеристики данной системы:
а)
б)
в)
Рис. 7. Годографы Найквиста для системы разомкнутой по выходу:
а) размыкание по ω ; б, в) АФЧХ при размыкании по I 1 и I 2 соответственно.
Ограничения данного пакета и перспективы развития
Данный пакет представляет собой предварительную версию программного продукта. Данный продукт не имеет ограничений по расчету и
анализу непрерывных регуляторов. С помощью данного пакета вы можете
рассчитывать регуляторы используя все показатели качества (обеспечение
1214
Секция 3. Проектирование систем автоматического управления и регулирования
требуемых запасов устойчивости и времени регулирования). Для дискретных регуляторов существует ряд ограничений:
– функция задания желаемого времени регулирования имеет ряд ограничений, которые не описаны в данном пакете.
– отсутствует возможность построения переходных процессов в системе непрерывный объект — дискретный регулятор.
В окончательной версии пакета все эти ограничения будут сняты, а
также будет добавлена возможность построения переходных процессов
при различных задающих воздействиях. Планирует также ввести возможность расчета регуляторов обеспечивающих заданные или минимизируемые ошибки регулирования для определенного класса внешних возмущений.
Литература
1. Честнов В. Н. Синтез робастных регуляторов многомерных систем при
параметрической неопределенности на основе круговых частотных неравенств // Автоматика и телемеханика.— 1999.— №3.— C.229–238.
2. Честнов В. Н. Синтез регуляторов многомерных систем по заданному
радиусу запасов устойчивости на базе процедуры H∞-оптимизации //
Автоматика и телемеханика.— 1999.— №7.— C.101–109.
3. Chestnov V. N., Agafonov P. A. MIMO H-infinity controller design for simultaneous guaranted input and output stability margins // Proceedings 7th European Control Conference.— Cambridge, UK, 2003. (on CD-ROM. 4 P.).
4. The Control Handbook / Editor W.S.Levine.— IEEE Press, 1996.
5. Boyd S., Chaoui L. E., Feron E., Balakrishnan V. Linear matrix inequality in
system and control theoty.— SIAM. Philadelphia, 1994.
6. Gahinet P., Nemirovski A., Laub A. LMI Control Toolbox. User’s Guide.—
Natic. Mass.: Mathworks. 1995.
1215
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
УДК 621.6
ПАКЕТ ПРОГРАММ СИНТЕЗА И АНАЛИЗА СИСТЕМ
УПРАВЛЕНИЯ
Жуков Ю. А.
Балтийский государственный технический университет «ВОЕНМЕХ» им. Д. Ф. Устинова, Санкт-Петербург
e-mail: zhkv@rambler.ru
1. Краткое описание приложения
Пакет программ синтеза и анализа систем управления представляет
собой дополненную и доработанную версию программного обеспечения,
представленного автором настоящего доклада на Всероссийской научной
конференции «Проектирование научных и инженерных приложений в среде MATLAB» [1]. Пакет программ позволяет синтезировать наиболее распространённые средства коррекции для заданных структур непрерывных и
дискретных систем управления на основе электромеханических и гидравлических исполнительных элементов, анализировать устойчивость, частотные и временные характеристики линейных и некоторых нелинейных
моделей.
Внешний вид окна приложения показан на рис. 1.1.
Рис. 1.1. Внешний вид окна приложения.
Основное меню приложения содержит следующие разделы:
1216
Секция 3. Проектирование систем автоматического управления и регулирования
-
тип привода;
данные;
характеристики двигателя;
синтез непрерывных систем;
синтез цифровых систем;
нелинейные модели;
нелинейная оптимизация;
выход.
Подменю «Тип привода», как показано на рис 1.2., позволяет осуществлять выбор типа исполнительного механизма исследуемой системы.
Рис. 1.2. Меню «Тип привода».
По умолчанию, пользователю в качестве объекта исследования
предлагается двигатель постоянного тока, о чем сигнализирует выставленная слева от названия галочка. Выбор другого типа модели приводит к переносу галочки к названию соответствующей модели.
Подменю «Данные» (рис. 1.3) обеспечивает доступ к четырем группам данных исследуемой системы:
Рис. 1.3. Подменю «Данные».
Выбор любого из пунктов подменю приводит к открытию окна доступа к базе данных комплекса.
Действие пункта «Данные привода» зависит от выбранного типа
привода и обеспечивает открытие окна доступа к данным соответствующей модели[1]. Окно реализует следующие функциональные возможности:
- ввод–вывод данных модели с описанием названия и размерности переменных;
- поиск данных в базе по названию их совокупности;
- сохранение новых и удаление ненужных записей.
1217
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Аналогичное окно выводится при запросе доступа к данным нагрузки.
При выборе пункта «Данным модели» и «Данные коррекции», пользователю предлагается определить вспомогательные переменные, параметры моделирования и начальные данные коррекции системы.
Подменю «Характеристики двигателя», показанное на рис. 1.4, содержит команды вывода характеристик двигателя.
Рис. 1.4. Подменю «Характеристики двигателя».
Подменю «Синтез непрерывных систем» обеспечивает доступ к
функциям синтеза, как показано на рис. 1.5.
Рис. 1.5. Подменю «Синтез непрерывных систем»
По действию подменю «Корневой анализ» пользователю предлагается добиться соответствующего расположения корней характеристического
полинома исследуемой системы, путем изменения параметров корректирующих звеньев и цепей обратных связей.
При выборе в меню пункта «Частотный анализ» пользователю предлагается подбором параметров корректирующих звеньев и цепей обратных
связей по виду логарифмических характеристик добиться необходимых
динамических свойств системы.
Удобный интерфейс окна синтеза для этих методов позволяет пользователю в любой момент выйти без потери промежуточных результатов,
чтобы проверить качество переходного процесса, а также скопировать
графическое отображение синтеза в буфер, что позволяет в дальнейшем
обрабатывать его в любом графическом пакете.
При выборе пункта «Синтез квазиоптимального по быстродействию
регулятора» в зависимости от выбранного типа коррекции система выдает
1218
Секция 3. Проектирование систем автоматического управления и регулирования
либо значения параметров обратных связей, либо предупреждение об невозможности использования данного метода.
При выборе пункта «Временной анализ» происходит расчет реакции
системы для принятых параметров модели с учетом полученных при синтезе значений параметров корректирующих устройств с возможностью
подбора параметров корректирующих звеньев и цепей обратных связей.
Переходный процесс рассчитывается исходя из того, какой тип задающего
воздействия был выбран в пункте «Дополнительные данные модели», а
также с учетом заданных там же значений времени расчета переходного
процесса и амплитуды задающего сигнала.
При выборе «Аналитическое решение» создается окно, в котором
выводятся значения коэффициентов характеристического уравнения системы с включенной в ее состав коррекцией, для которой в ходе синтеза
были получены значения ее параметров. Кроме того, там же выводятся
корни характеристического уравнения и рассчитанное по их значениям
аналитическое выражение переходного процесса.
Подменю «Синтез цифровых систем» содержит команды доступа к
функциям синтеза, как показано на рис. 1.6.
Рис. 1.6. Подменю синтез цифровых систем.
Команды этого подменю по своему функциональному назначению
полностью соответствуют соответствующим командам при синтезе непрерывных систем
Подменю «Нелинейные модели» содержит команды доступа к Simulink-моделям, позволяющим исследовать влияние некоторых типов нелинейностей на динамику системы.
Подменю «Нелинейная оптимизация» позволяет вызвать Simulinkмодель с блоком NCD(Nonlinear Control Design) – нелинейной оптимизации систем управления, позволяющим оптимально синтезировать коррекцию для заданной структуры системы.
2. Модели исследуемых систем
В представляемом пакете программ синтеза и анализа реализованы
модели исполнительных механизмов и объекта управления, структурные
схемы которых показаны на рис. 2.1–2.5
1219
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Рис. 2.1. Структурная схема объекта управления.
В структурной схеме объекта управления введены следующие обозначения: s — оператор Лапласа; ip — передаточное число редуктора; h —
коэффициент диссипативных сил передающего вала; C — коэффициент
упругости передающего вала; Jн — момент инерции объекта управления;
fн — коэффициент вязкого трения объекта управления; Ftr — коэффициент
сухого трения объекта управления; Ωдв — угловая скорость двигателя;
Ωн — угловая скорость объекта управления; Мв — момент упругих сил,
действующих на двигатель.
Рис. 2.2. Структурная схема двигателя постоянного тока с независимым возбуждением.
В структурной схеме 2.2 приняты обозначения: Мэм — электромагнитный момент электродвигателя; Uя — напряжение якоря; Rя - сопротивление якоря; Lя — индуктивность якоря;Jя- момент инерции якоря; ftr— коэффициент вязкого трения; Iя — ток якоря; Ce — коэффициент противоэ. д. с.; Cm — коэффициент вращающего момента.
1220
Секция 3. Проектирование систем автоматического управления и регулирования
Рис. 2.3. Структурная схема системы «генератор-двигатель».
В структурной схеме 2.3 обозначены: Uв— напряжение возбуждения
генератора; RяΣ — суммарное сопротивление якоря; LяΣ — суммарная индуктивность якоря; Rv — сопротивление обмоток возбуждения; Lv — индуктивность обмоток возбуждения; Eг — э.д.с. генератора; Kг — коэффициент передачи генератора по току приноминальной скорости вращения.
Рис. 2.4. Структурная схема гидропривода объемного регулирования.
В структурной схеме рис. 2.4 введены следующие обозначения:
Wд(s) — передаточная функция управляющего двигателя (двигателя постоянного тока); iпр — передаточное число редуктора; qн — удельный объём гидронасоса; Ωн — угловая скорость вала гидронасоса; V — объём
жидкости в системе насос-мотор; Е — модуль упругости жидкости в системе насос-мотор; qг — удельный объём гидромотора; J — момент инерции гидромотора; h — коэффициент вязкого трения гидромотора; Сп —
коэффициент сухого трения объекта управления; Ωдв — угловая скорость
гидромотора; Мв — момент упругих сил, действующих на двигатель.
1221
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
3. Примеры использования пакета
3.1. Синтез непрерывной и цифровой системы управления на базе двигателя постоянного тока с нежёсткостью редуктора
В меню «Тип привода» выберем «Двигатель постоянного тока», введем или вызовем из базы данных разработанного программного продукта
данные привода на основе двигателя постоянного тока ДПМ-20-Н2-02.
Рис. 3.1. Определение параметров привода.
Затем зададим характеристики нагрузки, показанные на рис. 3.2.
Введем данные модели и коррекции, как показано на рис. 3.3,после чего
можно приступать к синтезу системы управления.
Проведем синтез системы, используя окно корневого анализа. Как
видно из рис. 3.4 нескорректированная система неустойчива. Изменяя коэффициенты усиления в каналах обратной связи, добьемся устойчивости
системы, как показано на рис. 3.5. Проанализируем качество полученной
коррекции. На рис. 3.6 показана логарифмическая амплитудно-частотная
характеристика разомкнутой системы, показаны запасы устойчивости. На
рис. 3.7 изображена переходная характеристика системы. На рис. 3.8 показано расположение корней характеристического полинома для цифровой
реализации системы управления с интервалом дискретизации Td=0.001сек.
1222
Секция 3. Проектирование систем автоматического управления и регулирования
Рис. 3.2. Определение параметров нагрузки.
Рис. 3.3. Определение параметров нагрузки.
1223
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Рис. 3.4. Корни характеристического полинома исходной системы.
Рис. 3.5. Корни характеристического полинома скорректированной системы.
1224
Секция 3. Проектирование систем автоматического управления и регулирования
Рис. 3.6. ЛАЧХ скорректированной системы.
Рис. 3.7. Переходная характеристика скорректированной системы.
1225
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Рис. 3.8. Корни характеристического полинома цифровой скорректированной системы.
3.2. Анализ нелинейной системы регулирования
Выберем пункт меню «Нелинейные модели», при этом будет вызвана Simulink-модель, показанная на рис. 3.9.
Рис. 3.9. Структурная схема следящей системы на базе ДПТ.
1226
Секция 3. Проектирование систем автоматического управления и регулирования
1
Uя
+
Су м.1
Iя
1
Мэ м
Cm
Lya.s+Rya
+
Су м.2
См
Цепь
якоря
Ск орость
обьек та
1/Jya
Gain
2
Mну
1
Wдв
1/s
Integrator
2
Eдв
ftr
Gain1
Воз му щающий
момент
Ce
Сe
Рис. 3.10. Структурная схема ДПТ.
+
S2
Wдв
1
in_1
1/ip
реду к тор
1/s
Integr люфт
2
out_2
1/ip
4
out_4
hn
диссипация
+
S1
Cn
у пру гость
Фи
+
+
S5
+
S4
1/Jn
инерция
1/s
1/s
Integr1 Integr2
1
out_1
3
out_3
+ + S3
fn
Упру гий
момент
Вяз к ое
трение
Ftr
Су хое
трение
Знак
Рис. 3.11. Структурная схема упругой трансмиссии.
Для исследования выберем двигатель серии ДПМ-20-Н2-01 со следующими паспортными данными:
Мощность на валу
0,46 кВт;
Напряжение
29 В;
Ток якоря
0,01 А;
Скорость вращения
6000 об/мин;
Сопротивления якоря
2,5 Ом
Индуктивность якоря
0,028 Гн
Сопротивление возбуждения 642 Ом
Индуктивность возбуждения 0,005 Гн
Коэффициент преобразования
Возбуждения
1 Вб/А
Номинальный момент
0,00049 Нм
Момент инерции
0,0000101 кг*м*м
1227
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
Для ввода паспортных данных проведем следующую цепочку действий:
- в основном меню выберем закладку Тип модели и установим флажок
возле транспаранта двигатель постоянного тока;
- в меню данные выберем пункт данные модели.
В открывшемся окне доступа к базе данных введем соответствующие
паспортные данные искомого двигателя.
Заданы параметры нагрузки:
Момент инерции
0,001 кг*м*м
Коэффициент вязкого трения
0,0005 мсек/рад
Упругость трансмиссии
100 Нм/рад
Сухое трение
0 Нм
Коэффициент диссипации
1 мсек/рад
Люфт редуктора
0 рад
Передаточное число редуктора
500
Для ввода паспортных данных проведем следующую цепочку действий:
в меню данные выберем пункт данные нагрузки.
Определены параметры модели и коррекции:
Ku=1000;Kum=10;Kce=1.
T1=T2=T3=T4=0;Kocc=0;Kocu=0.
а) Исследование влияния насыщения усилителя
При заданных коэффициентах модели система неустойчива, как видно из графика (рис. 3.12.) расположения корней характеристического полинома.
Рис. 3.12. Расположение корней характеристического полинома.
1228
Секция 3. Проектирование систем автоматического управления и регулирования
Результаты моделирования показывают, что параметры зоны насыщения усилителя определяют амплитуду гармонических колебаний в установившемся режиме при реакции неустойчивой системы на единичный
скачок (рис. 3.13.).
1.2
1
0.8
0.6
0.4
0.2
0
0
0.2
0.4
0.6
0.8
1
Time (second)
1.2
1.4
1.6
Рис. 3.13. Реакция системы на единичный скачок.
б) Влияние люфта при единичном входном воздействии.
Анализ динамики системы без люфта редуктора при синтезе последовательной коррекции показан на рисунке 3.14
1229
Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»
1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0
0
1
2
3
4
5
Time (second)
6
7
8
9
10
Рис. 3.14. Корни характеристического полинома и реакция на единичный скачок
(без люфта).
Введем люфт редуктора bl=0.04.
1230
Секция 3. Проектирование систем автоматического управления и регулирования
1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0
0
1
2
3
4
5
Time (second)
6
7
8
9
10
Рис. 3.15. Реакция на единичный скачок при введении люфта редуктора.
Таким образом, люфт редуктора при большом коэффициенте усиления в прямой цепи и последовательной коррекции может привести к незатухающим колебаниям в установившемся режиме.
4. Заключение
Представленный программный продукт обладает несомненными
достоинствами:
- удобным графическим интерфейсом;
- возможностью доступа к базам данных исполнительных элементов;
- легкостью восприятия информации;
- удобство и простота синтеза систем управления;
- наглядность процесса синтеза.
Рекомендуется к использованию в учебном процессе высших образовательных учреждений.
Литература
1. Потемкин В. Г. Инструментальные средства MATLAB 5.х.— М.: Диалог-МИФИ, 2000.— 336 с.
2. Медведев В. С., Потемкин В. Г. Control System Toolbox MATLAB 5 для
студентов.— М.: ДИАЛОГ-МИФИ, 1999.— 287 с.
3. Гультяев А. К. MATLAB 5.3 Имитационное моделирование в среде
Windows: Практическое пособие.— СПб.: КОРОНА-принт, 2001.—
400 с.
1231
Download