Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Синтез наблюдателя состояния с зависимыми от времени коэффициентами на основе решения матричной системы сравнения ⇐ ПредыдущаяСтр 6 из 6 Пусть снова для рассматриваемой системы требуется синтезировать наблюдатель вектора состояния x(t) по результатам измерений y(t). Матрицу L коэффициентов наблюдателя будем находить из условия минимума следа правой части матричной системы сравнения. Для этого приравняем нулю производную от следа матрицы правой части МСС Поэтому матрица L−=q2QCTR2-1 (2.10), будет доставлять минимум следу матрицы правой части в каждый момент времени t. Для проверки работоспособности регулятора в виде обратной связи по состоянию наблюдателя с матрицей L коэффициентов из (2.10), определяемых по частному решению матричной системы сравнения, было выполнено численное моделирование исходной системы с регулятором и наблюдателем. Для этого использовалась функция Observ_CS_NB_Mayat_Integr_02, текст которой представлен ниже. В ней вызывается стандартная функция ode45 для численного интегрирования системы дифференциальных уравнений. function y= Observ_CS_NB_Mayat_Integr_02(n,x,tet0,A,D,V0,mgl,mlp,betR,btetbR,K2,Cy,R2,R2_1,q1,q2,t0,tk,k) %Функция для интегрирования нелинейной модели маятника с регулятором [t,x] = ode45(@(t,x) Prav_CS_Nabl_Mayat_1(t,x,tet0,A,D,V0,mgl,mlp,betR,btetbR,K2,Cy,R2,R2_1,q1,q2),[t0 tk],x); nh=length(x(:,1)); t(nh) figure (k) plot(t,x(:,5),'b');grid on;hold on; plot(t,x(:,6),'r');grid on;hold on; plot(t,x(:,7),'y');grid on;hold on; plot(t,x(:,8),'g');grid on;hold on; y=[x(nh,1); x(nh,2);x(nh,3);x(nh,4)]; end Для вычисления правых частей исходной системы дифференциальных уравнений, матричной системы сравнения и уравнений наблюдателя использовалась функция Prav_CS_Nabl_Mayat_1, текст которой представлен ниже. function dQ=Prav_CS_Nabl_Mayat_1(t,x,tet0,A,D,V0,mgl,mlp,betR,btetbR,K2,Cy,R2,R2_1,q1,q2) % Вычисление правой части матричной системы сравнения и определение матрицы % коэффициентов усиления наблюдателя в текущий момент времени Q2 = [x(1) x(2); x(3) x(4)]; L=q2*Q2*Cy'*R2_1; %ABK=A+B1*K; ALC=A-L*Cy; dQQ2= ALC*Q2 + Q2*ALC' +(q1+q2)*Q2+(D*D')/q1+L*R2*L'/q2; dQQ2=(dQQ2+dQQ2')/2; %Вычисление правой части исходной нелинейной системы с % регулятором, заданным матрицей K, по выходу наблюдателя %и внешними возмущениями, заданными переменной w % x1=[vec_Q(5); vec_Q(6)]; % xn=[vec_Q(7); vec_Q(8)]; x1=[x(5);x(6)]; xn=[x(7);x(8)]; xd=[x(7)-tet0; x(8)]; %u=K*xn; V=V0+K2*xd; w=sin(2*cos(3*t))/5; ksi=(0.5-rand(1))/5000; y=Cy*x1+ksi; dx1=x1(2); dx2=(-mgl*sin(x1(1))-btetbR*x1(2)+betR*V-w)/mlp;; dx3=xn(2)+L(1)*(y-Cy*xn); dx4=(-mgl*sin(xn(1))-btetbR*xn(2)+betR*V-w)/mlp+L(2)*(y-Cy*xn); %dx4=(-mgl*xn(1)-btetbR*xn(2)+betR*V-w)/mlp+L(2)*(y-Cy*xn); dx=[dx1;dx2;dx3;dx4]; x3=reshape(dQQ2,4,1); dQ = [x3;dx]; 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'); %pEs = projection(E, BB); %plot(E, 'r');grid on;hold on; K1=[-1.3953 -0.3232]; x0 = [1; 0.1;0;0;1;0.05;1;0]; %x=Observ_Mayat_Integr_01(n,x0,tet0,V0,mgl,mlp,betR,btetbR,K1,L1,Cy,0,7,7); x=Observ_CS_NB_Mayat_Integr_02(n,x0,tet0,A,D,V0,mgl,mlp,betR,btetbR,K1,Cy,R2,R2_1,q1,q2,0,7,7)
|