рефераты бесплатно
 
Главная | Карта сайта
рефераты бесплатно
РАЗДЕЛЫ

рефераты бесплатно
ПАРТНЕРЫ

рефераты бесплатно
АЛФАВИТ
... А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

рефераты бесплатно
ПОИСК
Введите фамилию автора:


Курсовая работа: Математическая модель в пространстве состояний линейного стационарного объекта управления

Рис.32. Графики коэффициентов регулятора обратной и прямой связи.


Рис.33. График возмущающего воздействия.

Рис.34. График вспомогательной вектор – функции.

Рис.35. Графики фазовых координат.

Рис.36. График управления.

Рис.37. График возмущающего воздействия.

Рис.38. График вспомогательной вектор – функции.

 

 

Рис.39. Графики фазовых координат.

Рис.40. График управления.

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

5.4 Задача АКОР для отслеживания известного задающего воздействия. I подход

Система задана в виде:

Матрицы заданы в пункте 5.1.1.

Весовые матрицы и имеют следующий вид:

, .

Начальные условия для заданной системы .

Время слежения .

Задающее воздействие в виде системы ДУ

Начальные условия для воздействия:

.

Введем расширенный вектор состояния и расширенные матрицы

,

,

.

Тогда новое описание системы имеет вид:

с начальными условиями: .

Решением уравнения Риккати будет матрица:

с н.у.

Тогда оптимальное управление, находится по формуле:

Используя скрипт AKOR_slegenie_na_konech_interval_I_podxod, получили следующие результаты:

Рис.41. Графики решения уравнения Риккати.

Рис.42. Графики коэффициентов регулятора обратной и прямой связи.

Рис.43. Графики фазовых координат.

Рис.44. График управления.

Выводы: На данном этапе была решена задача АКОР-слежения. В качестве отслеживаемого воздействия была взята исходная система, но с другими начальными условиями, поэтому графики фазовых координат отличаются от заданных, но только на начальном участке движения.

5.5 Задача АКОР для отслеживания известного задающего воздействия. II подход (линейный сервомеханизм)

Система задана в виде:

Матрицы заданы в пункте 5.1.1.

Весовые матрицы и имеют следующий вид:

, .

Начальные условия для заданной системы .

Задающее воздействие имеет вид:

, .

Время слежения

Введём вспомогательную вектор-функцию , ДУ которой определяется

,

,

НУ определяются из соотношения


Зная закон изменения  и , можно определить управление:

.

Используя скрипт AKOR_slegenie_na_konech_interval_II_podxod, получили следующие результаты:

Рис.45. Графики решения уравнения Риккати.

Рис.46. График задающего воздействия.

Рис.47. Графики коэффициентов регулятора обратной и прямой связи.

Рис.48. Графики фазовых координат.

Рис.49. График управления.


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

5.6 Задача АКОР – слежения со скользящими интервалами

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

Разобьем весь интервал на 3 равных отрезка.

Данная задача похожа на задачу отслеживания известного задающего воздействия, заданного аналитическим выражением, но с некоторыми изменениями:

1.      Поскольку в уравнение Риккати относительно матрицы  входят только параметры системы и функционала качества, то решать его будем один раз на первом отрезке, так как на остальных отрезках решение будет иметь тот же вид, но будет смещено по времени:

2.      Начальными условиями для системы на каждом отрезке будет точка, в которую пришла система на предыдущем отрезке:

3.      Вектор  необходимо пересчитывать на каждом отрезке.

4.      В остальном данная задача аналогична задаче построения линейного сервомеханизма (пункт 5.5).

Используя скрипт AKOR_slegenie_so_skolz_intervalami_Modern, получили следующие результаты:

Рис.50. Графики решения уравнения Риккати.

Рис.51. Графики фазовых координат.

Рис.52. График управления.

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


6. Синтез наблюдателя полного порядка

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

Система задана в виде:

Начальные условия для заданной системы .

Матрицы заданы в пункте 5.1.1.

Весовые матрицы и имеют следующий вид:

, .

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

В качестве начальных условий для наблюдателя выберем нулевые н.у.:

Ранг матрицы наблюдаемости:

 - матрица

наблюдаемости.

.

.

Т. е. система является наблюдаемой.

Коэффициенты регулятора:

,

тогда

Собственные значения матрицы :

Коэффициенты наблюдателя выберем из условия того, чтобы наблюдатель был устойчивым, и ближайший к началу координат корень матрицы  лежал в 3 – 5 раз левее, чем наиболее быстрый корень матрицы . Выберем корни матрицы

 

Коэффициенты матрицы наблюдателя:

.

Используя скрипт Sintez_nablyud_polnogo_poryadka, получили следующие результаты:

Рис.53. Графики решения уравнения Риккати.

Рис.54. Графики фазовых координат.

Рис.55. Графики управлений.

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


Литература

1.  Методы классической и современной теории автоматического управления: Учебник в 5 – и т. Т.4: Теория оптимизации систем автоматического управления / Под ред. Н.Д. Егупова. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2004. – 748 с.

2.  Краснощёченко В.И.: Методическое пособие: «Методы теории оптимального управления».


Приложение.

 

PlotTimeFrHaract.m

clc

clear all

close all

b1 = 9;

b0 = 5;

 

a4 = 0.1153;

a3 = 1.78;

a2 = 3.92;

a1 = 14.42;

a0 = 8.583;

 

% syms s w

% W_s_chislit = b1 * s + b0;

% W_s_znamen = s * (a4 * s^4 + a3 * s^3 + a2 * s^2 + a1 * s + a0);

%

% W_s_obj = W_s_chislit/W_s_znamen;

 

%A_w = collect(simplify(abs(subs(W_s_obj, s, i*w))))

 

%----------------------Построение АЧХ-------------------------------------%

figure('Name', '[0,10]');

w = 0 : 0.01 : 10;

A_w = sqrt((b0^2 + b1^2.*w.^2)./((-a1*w.^2+a3*w.^4).^2+(a0*w-a2*w.^3+a4*w.^5).^2));

plot(w,A_w,'k', 'LineWidth', 2);

grid on

xlabel('w')

ylabel('A(w)')

title('Function ACHX(w)')

%-------------------------------------------------------------------------%

 

r_ch = roots([b1 b0])

r_zn = roots([a4 a3 a2 a1 a0 0])

 

%----------------------Построение ФЧХ-------------------------------------%

figure('Name', '[0,100]');

w = 0 : 0.01 : 100;

fi_w = (atan(w/0.5556)-atan(w/0)-atan(w/13.5832)-atan((w-2.7677)/0.5850)...

-atan((w+2.7677)/0.5850) - atan(w/(0.6848)))*180/pi;

plot(w,fi_w, 'k', 'LineWidth', 2);

grid on

xlabel('w')

ylabel('fi(w)')

title('Function FCHX(w)')

%-------------------------------------------------------------------------%

 

%----------------------Построение АФЧХ------------------------------------%

figure('Name', '[0,100]');

w = 0 : 0.01 : 100;

A_w = sqrt((b0^2 + b1^2.*w.^2)./((-a1*w.^2+a3*w.^4).^2+(a0*w-a2*w.^3+a4*w.^5).^2));

fi_w = (atan(w/0.5556)-atan(w/0)-atan(w/13.5832)-atan((w-2.7677)/0.5850)...

-atan((w+2.7677)/0.5850) - atan(w/(0.6848)));

polar(fi_w,A_w, 'k');

grid on

xlabel('Re(W(jw))')

ylabel('Im(W(jw))')

title('Function AFCHX(fi_w,A_w)')

%-------------------------------------------------------------------------%

 

%----------------------Построение ЛАЧХ------------------------------------%

figure('Name', '[0,100]');

w = -100 : 0.01 : 100;

LA_w = 20*log(sqrt((b0^2 + b1^2.*w.^2)./((-a1*w.^2+a3*w.^4).^2+(a0*w-a2*w.^3+a4*w.^5).^2)));

plot(w,LA_w,'k', 'LineWidth', 2);

grid on

xlabel('w')

ylabel('L(w)')

title('Function L(w)')

%-------------------------------------------------------------------------%

 

%----------------------Построение ФАЧХ------------------------------------%

%-------------------------------------------------------------------------%

 

%----------------------Построение h(t)------------------------------------%

figure('Name', '[0,50]');

t = 0 : 0.01 : 50;

h_t = 0.0024 * exp(-13.5832.*t) - 0.2175 * exp(-0.6848.*t)...

+ 0.1452 * exp(-0.5850.*t).* cos(2.7677.*t)...

- 0.2217 * exp(-0.5850.*t).* sin(2.7677.*t)...

+ 0.5825 .* t + 0.0699;

plot(t,h_t, 'k', 'LineWidth', 2);

grid on

xlabel('t')

ylabel('h(t)')

title('Function h(t)')

%-------------------------------------------------------------------------%

 

%----------------------Построение k(t)------------------------------------%

figure('Name', '[0,50]');

t = 0 : 0.01 : 50;

k_t = - 0.0329 * exp(-13.5832.*t) + 0.1489 * exp(-0.6848.*t)...

- 0.6986 * exp(-0.5850.*t).* cos(2.7677.*t)...

- 0.2721 * exp(-0.5850.*t).* sin(2.7677.*t)...

+ 0.5826;

plot(t,k_t, 'k', 'LineWidth', 2);

grid on

xlabel('t')

ylabel('k(t)')

title('Function k(t)')

%-------------------------------------------------------------------------%

 

x1=tf([b1 b0],[a4 a3 a2 a1 a0 0]);

ltiview(x1)

ProstranstvoSostoyanii.m

clc

clear all

 

%format rational

 

b1 = 9;

b0 = 5;

 

a5 = 0.1153;

a4 = 1.78;

a3 = 3.92;

a2 = 14.42;

a1 = 8.583;

a0 = 0;

 

%1. Матрица Фробениуса

A=[0 1 0 0 0;

0 0 1 0 0;

0 0 0 1 0;

0 0 0 0 1;

0 -a1/a5 -a2/a5 -a3/a5 -a4/a5]

 

B=[0; 0; 0; 0; 1/a5]

 

C=[b0 b1 0 0 0]

%Проверка

syms s

W_s = collect(simplify(C*(s.*eye(5)-A)^(-1)*B),s)

pretty(W_s)

 

%2. Параллельная декомпозиция

b1 = b1/a5;

b0 = b0/a5;

 

 

s1 = 0;

s2 = -6615/487;

s3 = -1022/1747 + 4016/1451*i;

s4 = -1022/1747 - 4016/1451*i;

s5 = -415/606;

 

alfa = real(s3);

beta = imag(s3);

 

syms s A B C D E

 

W_s_etal = collect(((b1*s+b0)/((s-s1)*(s-s2)*((s+alfa)^2+beta^2)*(s-s5))),s)

%pretty(W_s_etal)

 

Slag_1 = simplify(collect(A*(s-s2)*((s+alfa)^2+beta^2)*(s-s5),s));

Slag_2 = simplify(collect(B*(s-s1)*((s+alfa)^2+beta^2)*(s-s5),s));

Slag_3 = simplify(collect(C*(s-s1)*((s+alfa)^2+beta^2)*(s-s2),s));

Slag_4 = simplify(collect((D*s+E)*(s-s1)*(s-s2)*(s-s5),s));

 

Chislit_W_s =collect(Slag_1 + Slag_2 + Slag_3 + Slag_4,s);

 

%Решение системы линейных уравнений

 

MS =double( [1 1 1 1 0;

6753029497/515578134 -513659/1058682 10560977/850789 4210795/295122 1;

77456808434995506239663107/126764366837761533378822144 1874500571398143988939141/260296441145300889894912 -3300780600401725219142291/418364246989311991349248 915075/98374 4210795/295122;

26189071674868424275768861465/253528733675523066757644288 2853037197681682345182805/520592882290601779789824 45476725452203201718998205/418364246989311991349248 0 915075/98374;

6290947020888109571128085025/84509577891841022252548096 0 0 0 0])

 

PCH = [0; 0; 0; b1; b0];

 

Koeff = MS^(-1)*PCH

 

%Проверка

MS*[Koeff(1);Koeff(2);Koeff(3);Koeff(4);Koeff(5)];

 

Slag_1 = simplify(collect(Koeff(1)*(s-s2)*((s+alfa)^2+beta^2)*(s-s5),s));

Slag_2 = simplify(collect(Koeff(2)*(s-s1)*((s+alfa)^2+beta^2)*(s-s5),s));

Slag_3 = simplify(collect(Koeff(3)*(s-s1)*((s+alfa)^2+beta^2)*(s-s2),s));

Slag_4 = simplify(collect((Koeff(4)*s+Koeff(5))*(s-s1)*(s-s2)*(s-s5),s));

 

Chislit_W_s =collect((Slag_1 + Slag_2 + Slag_3 + Slag_4),s);

Znamena_W_s = collect((s-s1)*(s-s2)*((s+alfa)^2+beta^2)*(s-s5),s);

 

W_s = collect(simplify(Koeff(1)/(s-s1)+Koeff(2)/(s-s2)+(Koeff(4)*s+Koeff(5))/((s+alfa)^2+beta^2)+Koeff(3)/(s-s5)),s)

pretty(W_s)

%Расчет матриц состояния

A = [s1 0 0 0 0;

0 s2 0 0 0 ;

0 0 0 1 0;

0 0 -(alfa^2+beta^2) -2*alfa 0;

0 0 0 0 s5]

 

B = [Koeff(1); Koeff(2); 0; 1; Koeff(3)]

 

C = [1 1 Koeff(5) Koeff(4) 1]

 

%Проверка

W_s = collect(simplify(C*(s.*eye(5)-A)^(-1)*B),s)

pretty(W_s)

 

%ВСЕ ПОДСЧИТАНО ВЕРНО!!!

SimplexMetod2.m

function SimplexMetod2

clc

clear all

close all

format short

 

% Матрицы системы

A = [0 2;

-3 0];

 

B = [0; 2];

 

% Координаты начальной и конечной точки

X_0 = [14; 0];

X_N = [0; 0];

 

% Ограничение на управление

u_m = -3;

u_p = 5;

 

eps = 1e-10;% погрешность сравнения с нулем

N = 195;% число шагов

%h = t1/N;% шаг дискретизации

h = 0.0162;

alfa = 1;

a = 0;

b = 0;

 

%t1 = 796/245;% время перехода в конечное состояние

n = size(A);

n = n(1);% порядок системы

 

% Нахождение матричного экспоненциала

syms s t

MatrEx = ilaplace((s*eye(n)-A)^(-1));

MatrEx_B = MatrEx*B;

 

% Вычисление матриц F и G

F = subs(MatrEx, t, h);

G = double(int(MatrEx_B, t, 0, h));

 

ФОРМИРОВАНИЕ ЗАДАЧИ БЫСТРОДЕЙСТВИЯ КАК ЗАДАЧИ

ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ

 

for index = 1 : 1e+10

 

% Вычисление правой части

PravChast = X_N - F^N * X_0;

 

% Вычисление произведения F на G

FG = zeros(n, N);% формирование матрицы для хранения данных

Страницы: 1, 2, 3, 4, 5, 6


рефераты бесплатно
НОВОСТИ рефераты бесплатно
рефераты бесплатно
ВХОД рефераты бесплатно
Логин:
Пароль:
регистрация
забыли пароль?

рефераты бесплатно    
рефераты бесплатно
ТЕГИ рефераты бесплатно

Рефераты бесплатно, реферат бесплатно, сочинения, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, курсовые, дипломы, научные работы и многое другое.


Copyright © 2012 г.
При использовании материалов - ссылка на сайт обязательна.