Скачиваний:
99
Добавлен:
03.04.2019
Размер:
1.95 Mб
Скачать

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

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

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

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

За момент окончания процесса управления принимается момент времени, после которого абсолютное значение угла рыскания не превышает 5% от начального значения.

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

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

Файл Main3.m

global a11 a12 a21 a22 b11 b21 Um fi

% Параметры математической модели судна

V0=2.57;

L=99.6;

r21=-0.58;

r31=6.16;

q21=0.8;

q31=-7.23;

s21=-0.34;

s31=-3.5;

% Вычисление коэффициентов

Omega=V0/L; %Нормирующая частота

a11=-r31*Omega;

a12=-q31*Omega^2;

a21=-r21;

a22=-q21*Omega;

b11=-s31*Omega^2;

b21=-s21*Omega;

Um=35*pi/180;

fi=10*pi/180;

A=[a11 a12 0; a21 a22 0; 1 0 0];

B=[b11; b21; 0];

[K,T]=fminsearch('fmsfun2', [2 1])

K=[K 0];

AA=A-B*K;

eig(AA)

Файл fmsfun2.m

function f=fmsfun2(k)

global K fi Um

K=k;

u=[];

[t,x]=ode45('odefun4',[0 300], [0 0 fi]);

for i = 1:length(t)

u(i)= -K(2)*x(i,1)-K(1)*x(i,3);

if abs(u(i)) >= Um

u(i) = Um*sign(u(i));

end

end

for i=length(t):-1:1

if abs(x(i,3)) > 0.05*fi %учет 5% критерия установившегося значения

f=t(i);

break

end

end

plot(t, x(:,1), 'b', t, x(:,2), 'r', t, x(:,3), 'g', t ,u)

grid on;

legend('x1(t)','x(2)','x3(t)','u(t)');

xlabel('t');

end

Файл odefun4

function f=odefun4(t,x)

global a11 a12 a21 a22 b11 b21 Um K

u=-K(2)*x(1)-K(1)*x(3);

if abs(u) >= Um

u = Um*sign(u);

end

f=[a11*x(1)+a12*x(2)+b11*u; a21*x(1)+a22*x(2)+b21*u; x(1)];

end

Файл odefun4.m

function f=odefun4(t,x)

global a11 a12 a21 a22 b11 b21 Um K

u=-K(2)*x(1)-K(1)*x(3);

if abs(u) >= Um

u = Um*sign(u);

end

f=[a11*x(1)+a12*x(2)+b11*u; a21*x(1)+a22*x(2)+b21*u; x(1)];

end

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

K =

28.7143 5.4401

T =

40.6733

ans =

0

-0.0869

-0.2073

В качестве проверки устойчивости замкнутой системы управления, соответствующей найденным параметрам закона управления, определим с помощью функции eig() собственные значения матрицы управления λ1=0, λ2=-0.0869, λ3=-0.2073. Так как Re|λ|≤0, то система устойчива.

На Рисунке 4 представлены графики переходных процессов и зависимость управления от времени .

Рисунок 4 – Графики переходных процессов x1(t), x2(t), x3(t), зависимость управления от времени u(t).

Соседние файлы в предмете Проектирование оптимальных систем управления