![]() Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 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: 527; Нарушение авторских прав |