
NDVwWO28D2
.pdf(3.1), управляемого по закону (3.2), параметры которого находятся из решения системы уравнений (3.3).
Рассмотрим определение необходимого значения базовой частоты методом поиска «вручную».
Для этого первоначально создадим MATLAB-программу, которая позволяет рассчитать время переходного процесса, соответствующего произвольно заданному значению базовой частоты.
Эта программа состоит из двух скриптов:
Файл main3.m
%Вектор коэффициентов обратной связи K и ограничение на
%управление um объявлены глобальными для возможности передачи
%их в функцию odefun3 global K um
um=1;
%исследуемое значение базовой частоты om0=6;
%начальное отклонение по x1 x10=1;
%матрицы системы уравнений (3.3) A=[0 0 1; 0 2 2; 2 0 0]; b=[3*om0-3;3*om0^2-2;om0^3];
%решение системы уравнений (3.3) с помощью
%оператора «обратный слэш»
K=A\b;
%решение системы уравнений (3.1) и запись значений времени
%(t) и соответствующих значений вектора состояния (x) в соот- %ветствующие MATLAB-матрицы
[t,x]=ode45('odefun3',[0 10],[x10 0 0]); %вычисление времени переходного процесса tm for i=length(t):-1:1
if abs(x(i,1))>0.05*x10 tm=t(i);
break
end
end
%отображение вычисленного значения времени переходного про- %цесса в окне команд MATLAB
tm
plot(t,x);
21
Файл odefun3.m
function f=odefun3(t,x) global K um
%вычисление значения управляющего воздействия в соответствии
%с законом управления u=-K(1)*x(1)-K(2)*x(2)-K(3)*x(3);
%учет ограничения на уровень управляющего воздействия if abs(u)>um
u=um*sign(u);
end
%расчет вектора-столбца значений правых частей
%системы уравнений (3.1) f=[x(2);-2*x(2)+2*x(3);-x(3)+u];
Указание: временем переходного процесса считается время, после которого измеряемая величина перестает выходить за пределы 5 % от значения начального отклонения.
Очевидно, что однократное выполнение скрипта main3.m позволяет вычислить время переходного процесса в исследуемой замкнутой системе, соответствующее заданному значению базовой частоты полинома Ньютона. Выполнение серии расчетов для разных значений базовой частоты позволяет выполнить поиск базовой частоты, обеспечивающей минимальное время переходного процесса.
Организацию автоматического поиска базовой частоты с помощью функции FMINSEARCH предлагается выполнить студентам самостоятельно. Для этого целесообразно преобразовать файл-программу main.m в файлфункцию, у которой входным параметром является значение базовой частоты, а выходным – значение времени переходного процесса. Для запуска процесса поиска достаточно задать начальное значение базовой частоты и вызвать функцию FMINSEARCH, которая ссылается на разработанную ранее файл-функцию.
Индивидуальные задания (по бригадам). По каждому варианту необхо-
димо разработать MATLAB-скрипт, который обеспечивает поиск значения базовой частоты заданного типа полинома, обеспечивающей минимальное время переходных процессов в замкнутой системе управления и построение графиков переходных процессов по состояниям объекта управления и управляющему воздействию.
Поиск требуемого значения базовой частоты должен быть реализован с помощью функции FMINSEARCH.
22
|
|
|
|
|
Таблица 3.1 |
Вариант |
Матрицы объекта |
Тип стандартного |
|||
(номер бригады) |
управления |
полинома |
|||
|
|
|
|
|
|
|
0 |
1 |
0 |
0 |
1 |
1 |
A = 0 |
−2 |
2 |
, B = 0 |
|
|
|
0 |
|
|
(полином Ньютона) |
|
0 |
1 |
1 |
|
|
|
0 |
1 |
0 |
0 |
2 |
2 |
A = 0 |
−2 |
2 |
, B = 0 |
|
|
|
0 |
|
|
(полином Баттерворта) |
|
0 |
1 |
1 |
|
|
|
0 |
1 |
0 |
0 |
|
3 |
A = 0 |
−2 |
2 |
, B = 0 |
3 |
|
|
0 |
|
|
|
|
0 |
1 |
1 |
|
|
|
0 |
1 |
0 |
0 |
|
4 |
A = 0 |
−2 |
2 |
, B = 0 |
4 |
|
|
0 |
|
|
|
|
0 |
1 |
1 |
|
|
|
0 |
1 |
0 |
0 |
|
5 |
A = 0 |
−2 |
2 |
, B = 1 |
1 |
|
|
0 |
|
|
|
|
0 |
1 |
1 |
|
|
|
0 |
1 |
0 |
0 |
|
6 |
A = 0 |
2 |
−2 |
, B = 1 |
2 |
|
|
0 |
|
|
|
|
0 |
1 |
2 |
|
|
|
0 |
1 |
0 |
0 |
|
7 |
A = 0 |
2 |
−2 |
, B = 1 |
3 |
|
|
0 |
|
|
|
|
0 |
1 |
3 |
|
|
|
0 |
1 |
0 |
0 |
|
8 |
A = 0 |
2 |
−2 |
, B = 1 |
4 |
|
|
0 |
|
|
|
|
0 |
1 |
4 |
|
Для всех вариантов принимается максимально допустимый уровень управляющего воздействия, равный 1, и вектор начальных условий [1 0 0].
Подробное описание стандартных полиномов см. в приложении.
4. ПРИНЦИП МАКСИМУМА ПОНТРЯГИНА. ЭКОНОМИЯ УПРАВЛЕНИЯ
При решении задач оптимизации на основе принципа максимума, управляющее воздействие ищется среди решений некоторой системы дифференциальных уравнений, в формировании которой используется математическая модель объекта управления и выражение для интегрального критерия качества.
23

В настоящем разделе рассмотрим задачу экономии управления, т. е. задачу перевода объекта управления из заданного начального состояния в заданное конечное состояние за заданное время таким образом, чтобы минимизировать некоторую меру затрат управляющего воздействия. Под мерой затрат управления будем понимать интеграл от положительно определенной формы управляющих воздействий. В простейшем случае скалярного управления мера затрат имеет следующий вид:
|
|
|
|
|
T |
(t)dt, |
|
|
|
|
|
|
J = ∫ u2 |
(4.1) |
|
|
|
|
|
0 |
|
|
|
где T – заданное время управления. |
|
|
|||||
Допустим, что объект управления описывается следующей системой |
|||||||
дифференциальных уравнений: |
|
|
|||||
|
dx1 |
|
= x ; |
dx2 |
= u; |
|
(4.2) |
|
dt |
|
|
||||
|
2 |
dt |
|
x1(0) = x10; x2 (0) = 0; x1(2) = 0; x2 (2) = 0.
Тогда первым шагом в решении задачи определения управляющего воздействия является запись функции Гамильтона:
|
H = ψ x + ψ u + ψ u2, |
(4.3) |
||
|
1 2 |
2 |
0 |
|
|
ψ2 = 2uo, |
|
||
|
uo = 0.5ψ2. |
(4.4) |
||
На третьем шаге формируется система сопряженных уравнений: |
|
|||
где ψi (для i > 0) – |
переменные некоторой системы дифференциальных |
|||
уравнений (системы сопряженных уравнений), ψ0 = −1. |
|
|||
На втором шаге определяется зависимость оптимального управляющего |
||||
воздействия uo от переменных сопряженной системы уравнений. |
|
|||
Л. С. Понтрягин |
доказл, что |
при |
u = uo функция Гамильтона |
имеет |
максимум. |
|
|
|
|
Следовательно, для определения зависимости оптимального управления от переменных сопряженной системы уравнений можно использовать следующее уравнение:
∂H u=u = 0, |
|
∂u |
o |
или
или
24

dψi = − ∂H , dt ∂xi
для гамильтониана (4.3)
dψ1 = 0, dt
dψ2 = −ψ1. dt
Выполненные шаги позволяют сформировать систему дифференциальных уравнений, среди решений которой находится искомое управляющее воздействие:
|
dx1 |
|
|
= x ; |
|
|
|
|
|
||||
|
dt |
2 |
|
|||
|
|
|
||||
|
dx2 |
|
= u ; |
|
||
|
|
|
||||
|
dt |
o |
|
|||
|
|
|
||||
|
dψ1 |
|
= 0; |
(4.5) |
||
|
dt |
|||||
|
|
|
||||
|
dψ2 |
= −ψ ; |
|
|||
|
|
|
||||
|
dt |
1 |
|
|||
uo = 0.5ψ2. |
|
|||||
Требуемое решение системы уравнений (4.5) |
может быть определено |
либо аналитически, либо с помощью численных методов решения дифференциальных уравнений. Следует отметить, что использование численных методов решения требует задания начальных значений для всех переменных дифференциального уравнения. Поскольку в постановке задачи начальные условия для сопряженных переменных не задаются, применение численных методов приводит к необходимости решения промежуточной задачи поиска недостающих начальных условий, которые соответствовали бы заданным конечным условиям для состояний объекта управления.
Аналитическое решение может быть получено с помощью функции DSOLVE из раздела символьных вычислений MATLAB. Положительным свойством функции DSOLVE является то, что она может работать при задании любых N (N – порядок системы уравнений) значений переменных, не обязательно начальных.
В рассматриваемом примере для решения системы дифференциальных уравнений 4-го порядка при вызове функции DSOLVE задаются 4 значения переменных: 2 начальных условия для x1, x2 и 2 конечных значения для этих же переменных.
25
Файл Main4_1.m
S=dsolve('Dx1=x2', 'Dx2=0.5*Ksi2', 'DKsi1=0', 'DKsi2=-Ksi1',
'x1(0)=1', 'x2(0)=0', 'x1(2)=0', 'x2(2)=0')
Результатом работы приведенного выше скрипта является MATLABструктура, поля которой имеют следующие символьные значения:
S.x1=”1/4*t^3-3/4*t^2+1” |
|
S.x2=”3/4*t^2-3/2*t” |
|
S.Ksi1=”-3” |
(4.6) |
S.Ksi2=”3*t-3” |
(4.7) |
С учетом выражения (4.4) информация, полученная в структуре S позволяет получить искомое управляющее воздействие в виде функции времени:
uo = 0.5ψ2 = 1.5t −1.5.
Правильность полученного выражения может быть проверена численным решением уравнений объекта управления (4.2) средствами MATLAB. При вызове функции ODE45 используются начальные условия для ψ1, ψ2 , вычисленные по выражениям (4.6) и (4.7).
Файл Main4_1.m
[t,x]=ode45('odefun4_2',[0 2],[1 0 -3 -3]);
plot(t,x(:,1),'r',t,x(:,2),'g',t,0.5*x(:,4),'b')
Файл odefun4_2.m
function f=odefun4_2(t,x)
f=[x(2);0.5*x(4);0;-x(3)];
Графики переходных процессов показывают, что необходимые условия задачи выполнены, т. е. объект управления переводится из заданной начальной точки в заданную конечную точку за заданное время. Минимум расхода управления гарантируется тем, что использованное для этого перевода управляющее воздействие является решением системы уравнений (4.5).
В некоторых случаях система уравнений (4.5) слишком сложна для аналитического решения. Тогда оптимальное управление определяется численными методами. Суть этих методов состоит в поиске таких значений начальных условий для ψi , при которых удовлетворяются конечные условия
для xi .
Пример численного решения задачи оптимального управления средствами MATLAB приведен далее. Функция FMINSEARCH используется
26
здесь для поиска таких значений начальных условий для ψi , при которых минимизируется невязка между фактическими и требуемыми значениями конечных условий для xi . Невязка вычисляется как сумма квадратов разности между фактическими и требуемыми значениями xi в момент окончания интервала управления.
Файл Main4_2.m
%Начальное приближение вектора начальных условий для поиска
Ksi0B=[1 1];
Ksi0=fminsearch('fmsfun4_2',Ksi0B)
Файл fmsfun4_2.m
function f=fmsfun4_2(Ksi0) t=[];
x=[];
[t,x]=ode45('odefun4_2',[0 2],[1 0 Ksi0(1) Ksi0(2)]); %вычисление невязки
f=x(length(t),1)*x(length(t),1)+x(length(t),2)*x(length(t),2)
plot(t,x(:,1),'r',t,0.5*x(:,4),'g')
% наблюдение за процессом поиска
pause(0.5)
Файл odefun4_2.m
function f=odefun4_2(t,x)
%вычисление правых частей (4.6)
f=[x(2);0.5*x(4);0;-x(3)];
Сравнивая значения ψi (2) , полученные в программах Main4_1.m и
Main4_2.m, можно сделать вывод о правильности работы численного метода решения задачи оптимального управления.
Индивидуальные задания (по бригадам). По каждому варианту необхо-
димо определить оптимальное управляющее воздействие как функцию времени и построить графики оптимального управляющего воздействия и состояний объекта управления.
Задача должна быть решена двумя способами – аналитическим и численным.
Решение задачи численным способом подразумевает разработку скриптов, в которых поиск начальных условий для сопряженных переменных реализуется с помощью функции FMINSEARCH, а численное решение дифференциальных уравнений реализуется с помощью функции ODE45.
27
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 4.1 |
|
Вариант |
|
|
|
|
|
|
|
|
|
|
|
|
|
Вариант |
|
|
|
|
|
|
|
|
|
|
|
|
|
(номер |
|
|
|
Объект управления |
|
(номер |
|
|
|
Объект управления |
|
||||||||||||||||
бригды) |
|
|
|
|
|
|
|
|
|
|
|
|
|
бригды) |
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
dx1 |
|
= x ; |
dx2 |
|
= −x + u |
|
5 |
|
dx1 |
|
= x ; |
dx2 |
= −2x + u |
|
|||||||||||
dt |
|
|
dt |
|
|
|
|||||||||||||||||||||
|
|
2 |
dt |
2 |
|
|
|
|
2 |
dt |
2 |
|
|
||||||||||||||
2 |
|
dx1 |
|
= x + x ; |
dx2 |
= u |
|
6 |
|
dx1 |
|
= x + u; |
dx2 |
= −2x + u |
|
||||||||||||
dt |
|
|
|
dt |
|
|
|
||||||||||||||||||||
|
|
1 |
2 dt |
|
|
|
|
|
|
2 |
|
|
dt |
2 |
|
||||||||||||
3 |
|
dx1 |
|
= x + u; |
dx2 |
|
= −x + u |
|
7 |
|
dx1 |
|
= −x + x ; |
dx2 |
|
= −2x + u |
|||||||||||
dt |
|
|
dt |
|
|||||||||||||||||||||||
|
|
2 |
|
|
|
dt |
2 |
|
|
|
1 |
|
2 dt |
2 |
|
||||||||||||
4 |
|
dx1 |
= −x + x + u; |
dx2 |
= −x + u |
8 |
|
dx1 |
= −x + x + u; |
dx2 |
= −2x + u |
||||||||||||||||
|
|
|
|
||||||||||||||||||||||||
|
|
dt |
1 |
2 |
|
|
dt |
2 |
|
|
dt |
1 |
2 |
|
|
|
dt |
2 |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Для всех вариантов граничные значения состояний объекта управления x1(0) = 1, x2 (0) = 0, x1(2) = 0, x2 (2) = 0 и критерий качества – (4.1).
5. ПРИНЦИП МАКСИМУМА Л. С. ПОНТРЯГИНА. МАКСИМАЛЬНОЕ БЫСТРОДЕЙСТВИЕ
Специфика задач на максимальное быстродействие начинает сказываться при записи критерия качества. Для этих задач критерием качества является следующий функционал
T
J = ∫ dt.
0
Таким образом, требуется найти такое управление, при котором перевод объекта управления из начального состояния в конечное выполняется за минимально возможное время.
Последовательность решения рассматриваемых задач не отличается от процедуры решения других задач, решаемых на основе принципа максимума:
∙составление гамильтониана;
∙определение зависимости оптимального управляющего воздействия от сопряженных переменных на основе максимизации гамильтониана;
∙составление сопряженной системы дифференциальных уравнений;
∙составление общей системы дифференциальных уравнений, среди решений которой и находится искомое управляющее воздействие.
При рассмотрении объектов управления, описываемых линейными уравнениями, задачи максимального быстродействия имеют некоторую особенность. Дело в том, что соответствующая этим задачам функция
28

Гамильтона содержит управление в степени не выше первой и, следовательно, определение максимального значения гамильтониана не может быть выполнено приравниванием нулю его первой производной по управлению. Поиск максимального значения гамильтониана в этом случае производится с помощью анализа возможных комбинаций между управлением и переменными сопряженной системы уравнений. При этом оказывается, что оптимальное управление должно быть максимально по модулю внутри интервала управления и в некоторых его точках мгновенно менять знак в соответствии со знаком некоторой функции от сопряженных переменных. В условиях такого слабого влияния сопряженной системы уравнений на управляющее воздействие возникает возможность вообще отказаться от решения сопряженной системы уравнений и рассматривать моменты смены знака управления (моменты переключения) как самостоятельные переменные.
Более подробно рассмотрим решение задачи максимального быстродействия на следующем примере:
объект управления –
dxdt1 = x2; dxdt2 = u;
u ≤ um = 1;
x1(0) = 1; x2 (0) = 0; x1(T ) = 0; x2 (T ) = 0;
критерий качества –
T
J = ∫ dt;
0
гамильтониан –
H = ψ1x2 + ψ2u −1.
Анализируя возможные комбинации значений ψ2 и u , можно сделать вывод о том, что для обеспечения максимального значения гамильтониана в зависимости от управления необходимо выполнение следующего соотношения:
uo = sign (ψ2) um.
Сопряженная система уравнений:
29
|
|
|
|
dψ1 |
|
= 0; |
|
|
|
|||
|
|
|
|
dt |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
dψ2 |
= −ψ . |
|
|
|||||
|
|
|
|
|
|
|
|
|||||
|
|
|
|
dt |
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Общая система уравнений: |
|
|
|
|
|
|
|
|||||
|
dx1 |
|
= x ; |
|
dx2 |
|
= sign (ψ |
2 |
); |
|||
|
dt |
|
|
|||||||||
|
2 |
|
|
|
dt |
|
(5.1) |
|||||
|
dψ1 |
= 0; |
|
dψ2 |
= −ψ . |
|
||||||
|
|
|
|
|||||||||
|
|
|
|
|
||||||||
|
dt |
|
|
|
|
|
dt |
1 |
|
|
||
|
|
|
|
|
|
|
|
|
Поскольку в системе уравнений (5.1) уравнения для сопряженных переменных не зависят от состояний объекта управления, то выражения для ψi (t) можно найти только из системы сопряженных уравнений, не обращая
внимания на уравнения для состояний объекта управления. В данном случае:
ψ1(t) = ψ1(0);
ψ2 (t) = ψ2 (0) − tψ1(0).
Анализируя полученные выражения, можно сделать вывод о том, что искомое управляющее воздействие имеет вид прямоугольной волны, которая меняет знак не более одного раза.
Очевидно, что момент смены знака управления (момент переключения) должен выбираться из условия обеспечения заданных граничных условий для состояний объекта управления.
Для определения моментов переключения может применяться несколько способов.
Первый способ определения моментов переключения – аналитический.
При использовании этого способа необходимо получить аналитическое выражение для реакции объекта управления на управляющее воздействие, имеющее вид прямоугольной волны. Используем для этой цели преобразование Лапласа. Момент переключения обозначим через t1.
Преобразованная по Лапласу система уравнений объекта управления, учитывающая воздействие прямоугольной волны имеет вид
sx1 − x2 = 1; sx2 − u (s) = 0;
u (s) = − 1 + 2e−st1 . s s
Из этой системы уравнений можно получить следующие выражения для L-изображений состояний объекта управления:
30