Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Синтез наблюдателя состояния по результатам измерений на основе решения ЛМН





 

 

Во многих случаях оказываются доступными для измерения не все, а только часть координат состояния или их комбинация. Для того чтобы иметь возможность реализовать на практике синтезированный закон управления в виде обратной связи по состоянию, требуется построить наблюдатель, вектор состояния которого будет давать оценку вектора состояния x(t) в моменты времени t. При этом управление берется в виде обратной связи по состоянию наблюдателя, т.е.

Рассматривается система с неопределенными возмущениями и неполной информацией о векторе состояния, т.е. измеряются только компоненты вектора выхода.

Для рассматриваемой системы требуется синтезировать наблюдатель вектора состояния по результатам измерений в виде (аналога фильтра Калмана для детерминированной системы с неопределенными возмущениями)

 

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

Для решения задач оптимизации с ЛМН применяется пакет CVX для Matlab. Листинг программы для синтеза параметров наблюдателя представлен ниже.

clc

n=2;

m=1;

l=0.5;

Ip=0.05;

g=9.8;

mlp=m*l*l+Ip;

mgl=m*l*g;

Ri = 2.6;

kg =3.7;

KM=0.00767*100;

bet=kg*KM;

btet=0.025;

tet0=5*pi/9;

cs0=cos(tet0);

V0=mgl*sin(tet0)*Ri/bet;

n1=n;

R2_1=1e5;

R2=1e-5;

betR=bet/Ri;

btetbR=btet+bet*betR;

A=[0 1; -mgl*cs0/mlp -btetbR/mlp];

B1 = [0; bet/Ri/mlp];

D=[0; -1/mlp]/20;

C=[1 0;0 1;0 0];

Cy=[1 0];

B2=[0; 0;1];

 

% Синтез наблюдателя состояния для линеаризованной системы на основе

% решения ЛМН

step1 = 0.1;

step2 = 0.1;

begin_val1 = 0.7;

end_val1 = 0.7;

begin_val2 = 0.5;%

end_val2 = 0.5;

min_tr_Z = 1000000;

figure (4)

% Оптимизация по параметрам q1 и q2 путем перебора с уменьшающимся шагом

%while ((step1+step2)>0.05)

for q1 = begin_val1:step1:end_val1

for q2 = begin_val2:step2:end_val2

cvx_begin sdp

variable Qs1(n1, n1) symmetric;

variable Ps(n1, n1) symmetric;

variable Ys(n1, 1);

minimize(trace(Qs1))

subject to

Qs1 >= eye(2)*1e-8;

[A'*Ps + Ps*A-Ys*Cy-Cy'*Ys'+(q1+q2)*Ps Ps*D Ys;

D'*Ps -q1 0;

Ys' 0 -q2*R2_1]< 0; %условие асимптотич устой-чивости

[Qs1 eye(2);

eye(2) Ps]>=0.0;

cvx_end

Qsf = double(Qs1)

Psf = double(Ps)

Y=double(Ys);

L=Qsf*Y

trZ=trace(Qsf);

if min_tr_Z > trZ

min_tr_Z = trZ

Q_min = Qsf;

P_min = Psf;

L_min=L;

q_min1 = q1

q_min2 = q2

end;

end;

end;

QL=Q_min

PL=P_min

L1=L_min

q01=q_min1;

q02=q_min2;

AL1=A-L1*Cy;

eig(AL1)

krug(QL,0,'r');

K1=[-1.3953 -0.3232];

x0 = [1; 0.1;0;0;];

x=Observ_Mayat_Integr_01(n,x0,tet0,V0,mgl,mlp,betR,btetbR,K1,L1,Cy,0,7,7);

 

 

Для рассматриваемого примеры с использованием указанной программы в пакете MatLab были получены значения параметров q1 =0.7 q2 =0.5, матрицы

 

 

 

L1 =[ 4.6858 8.1664]

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

 

 

 

С помощью вызова функции Observ_Mayat_Integr_01, текст которой представлен ниже

% моделирование нелинейной системы с наблюдателем

function y= Observ_Mayat_Integr_01(n,x,tet0,V0,mgl,mlp,betR,btetbR,K2,L2,Cy,t0,tk,k)

%Функция для интегрирования нелинейной модели маятника с регулятором и наблюда-телем

[t,x] = ode45(@(t,x) Prav_Nabl_NL_Mayat_1(t,x,tet0,V0,mgl,mlp,betR,btetbR,K2,L2,Cy),[t0 tk],x);

% hs = size(H);

y = [];

nh=length(x(:,1));

t(nh)

figure (k)

plot(t,x(:,1),'b');grid on;hold on;

plot(t,x(:,2),'r');grid on;hold on;

plot(t,x(:,3),'y');grid on;hold on;

plot(t,x(:,4),'g');grid on;hold on;

y=[x(nh,1); x(nh,2);x(nh,3);x(nh,4)];

end

получены переходные процессы в исходной системе с регулятором и наблюдателем как без учета внешних возмущений и погрешностей измерений, так и при действии внешнего возмущения w=-sin(2*cos(3*t)) и погрешностей измерений, задаваемых датчиком случайных чисел (показаны на рисунке 2.2).

 

Date: 2016-01-20; view: 474; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию