رفتن به مطلب

تاپیک سوالات کنترل


aliloghmani

ارسال های توصیه شده

ارسال شده در
سلام دوستان

کسی هست در مورد lqr بتونه راهنماییم بکنه؟؟

 

یعنی هیشکی نیست؟؟؟:no:

  • Like 1
  • 1 ماه بعد...
ارسال شده در
فقط اگه زحمتی نیست همون کار سروو ورا هم داشته باشه

 

شرمنده بابت تاخیرم...نبودم:icon_gol:

 

 

7bs8jeflefw6rp6zsevm.jpg

 

feu3857izg48g199ypr.jpg

  • Like 3
ارسال شده در
منظورم تست برنامه بدون سخت افزار بود که خودم پیدا کردم اونم این بود که گزینه ران و برا هر اجرا میزددم آره به کارم میاد فقط اگه دقت کردی تو فتک فانکشن ها هم اسم داشت هم علامت مثل جمع وتفریق و ضرب ولی تو دلتا اینطوری نی ولی برنامه نویسشون عین همه مو نمیزنه

 

 

اینم روش سیموله کردن یا همون شبیه سازی که مراحلش به ترتیب به صورت شکل زیرِ:

 

4ejd4suekq8n1t2jcc4.jpg

  • Like 3
  • 7 ماه بعد...
ارسال شده در

سلام من یه سیستم قدرت میخوام که معادلات حالتش مشخص شده باشه.کسی میتونه کمکم کنه؟

ارسال شده در

ن یه پروژه برای درس کنترل مدرن دارم که از مثال های کتاب باید استفاده شه.برنامه نوشته شده س و برای مثال کتاب جواب میده ولی از روی مقاله ی داده شده میخوایم برنامه رو تغییر بدیم.توی این حالت نمودار حلقه بسته ی ژنراتور با پاسخ ردیاب یکی در میاد که نباید اینجوری باشه و ماتریس c رو طبق مقاله تعریف میکنیم ولی توی نمودار تاثیر نداره.توی مثال کتاب ورودی پله ی واحده ولی ما باید تغییرش بدیم که نمیدونم از کجا میشه تغییرش داد.کسی میتونه کمکم کنه؟

این برنامه ی مثال کتابه:

clear all

%----- PARAMETERS DEFINITION -----

a11=-0.0507;

a12=-3.861;

a21=-0.00117;

a22=-0.5164;

a31=-0.000129;

a32=1.4168;

a33=-0.4932;

b1=0;

b2=-0.0717;

b3=-1.645;

g=9.81;

%----- OPEN-LOOP SYSTEM: X_dot=AX+BU ----

A=[a11 a12 0 -g;a21 a22 1 0;a31 a31 a33 0;0 1 0 0];

B=[b1;b2;b3;0];

%----- OPEN-LOOP ANALYSIS ----------------

openloop_eigenvalues=eig(A)

controlability_rank=rank(ctrb(A,B));

%----- STATE FEEDBACK DESIGN ------------

P=[-0.9+1.9i -0.9-1.9i -1.8+0.6i -1.8-.6i];

% Desired Closed-Loop Ploes

K=acker(A,B,P); % State-Feedback Gain

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

%----- SIMULATION OF REGULATION PROBLEM -----

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

t=.01:.01:10; % simulation time

[rt,ct]=size(t);

x(:,1)=[0;1;0;0]; % initial condition

for k=2:ct

u(k)=-K*x(:,k-1);

x(:,k)=x(:,k-1)+.01*(A*x(:,k-1)+B*u(k));

end

%~~~~~ PLOTTING STATES ~~~~~

subplot(2,2,1);plot(t,x(1,:));

title('Regulation Problem, state:X_1');

subplot(2,2,2);plot(t,x(2,:));

title('Regulation Problem, state:X_2');

subplot(2,2,3);plot(t,x(3,:));

title('Regulation Problem, state:X_3');

subplot(2,2,4);plot(t,x(4,:));

title('Regulation Problem, state:X_4');

%~~~~~ PLOTTING CONTROL SIGNAL ~~~~

figure;plot(t,u);

title('Regulation Problem, Control Signal (u)');

%*****************************

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

%------ SIMULATION OF TRACKING PROBLEM --------

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

C=[1 0 0 0]; % selecting 'teta' as system output

D=0;

CL_sys=ss(A-B*K,B,C-D*K,D); % Closed-Loop System

CL_gain=dcgain(CL_sys);

% DC-Gain of closed-loop system

K_r=inv(CL_gain); % control signal: u=-K*x+K_r*yd

yd=1; % desired value for output (teta)

%~~~ SIMULATION ~~~

x(:,1)=[0;1;0;0]; % initial condition

for k=2:ct

u(k)=-K*x(:,k-1)+K_r*yd;

x(:,k)=x(:,k-1)+.01*(A*x(:,k-1)+B*u(k));

end

%~~~~~ PLOTTING STATES ~~~~~

figure;subplot(2,2,1);plot(t,x(1,:));

title('Tracking Problem, state X_1');

subplot(2,2,2);plot(t,x(2,:));

title('Tracking Problem, state:X_2');

subplot(2,2,3);plot(t,x(3,:));

title('Tracking Problem, state:X_3');

subplot(2,2,4);plot(t,x(4,:));

title('Tracking Problem, both:X_4 and Output');

%~~~~~ PLOTTING CONTROL SIGNAL ~~~~

figure;plot(t,u);

title('Tracking Problem, Control Signal');

ما باید برای مشخصات زیر این برنامه رو بنویسیم

[A=[0 0 1 0,0 0 0 1,0 2165 -53.6 0,0 -2797 53.6 0

B=[0,0,99,-99[

C=[1 1 0 0

y=teta + alpha

  • Like 2
  • 6 ماه بعد...
ارسال شده در

سلام بچه ها من یه سوال در مورد برنامه ی lader و FBD دری که به صو رت اتوماتیک باز و بسته میشه دارم

 

 

میشه ساختارشو کمی توضیح بدید

خیلی واجبه

  • Like 3
ارسال شده در
سلام بچه ها من یه سوال در مورد برنامه ی lader و FBD دری که به صو رت اتوماتیک باز و بسته میشه دارم

 

 

میشه ساختارشو کمی توضیح بدید

خیلی واجبه

 

 

یعنی کسی نیست اینجا جواب بده آیا!!!!:ws37:

  • Like 2
ارسال شده در
یعنی کسی نیست اینجا جواب بده آیا!!!!:ws37:

 

سلام دوست عزیز ببینید این فایل pdfبه کارتون میاد

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

  • Like 3
  • 4 هفته بعد...
ارسال شده در

سلام

یک پروژه ای دارم واسه درس کنترل مدرن، و از آنجایی که متلب خیلی مشکل دارم مزاحم شما شدم

عنوان پروژه اینه:

 

1- تحقق مینیمال فضای حالت سیستم را به دست آورید و در مورد آن موارد زیر را بررسی کنید:

· کنترل پذیری

· پایداری

· بهره فیدبک حالت را به دو روش بس گیورا و تحقق کانونیکال کنترل کننده به دست آورید.

 

در این زمینه می توانید راهنماییم کنید؟

 

  • Like 4
ارسال شده در

سلام

یک پروژه ای دارم واسه درس کنترل مدرن، و از آنجایی که متلب خیلی مشکل دارم مزاحم شما شدم

عنوان پروژه اینه:

 

1- تحقق مینیمال فضای حالت سیستم را به دست آورید و در مورد آن موارد زیر را بررسی کنید:

· کنترل پذیری

· پایداری

· بهره فیدبک حالت را به دو روش بس گیورا و تحقق کانونیکال کنترل کننده به دست آورید.

 

در این زمینه می توانید راهنماییم کنید؟

 

 

 

مربوط به درس کنترل مدرن هست

شما اول باید یه سیستم غیرخطی از یه مقاله (مثلا موتور دی سی) پیدا کنید بعدخطیش کنید فضای حالتش رو در میارین بعد

پایداریش رو چک میکنید بعد

بهره فیدبک حالت را به دست می آرید تحقق هاو روئیت پذیر و کنترل پذیرش رو بررسی می کنید

همه اینارم بایستی تو متلب شبیه سازی و محاسبه کنید تو نت هم کتابای متلب در کنترل مدرن هست ساده هست دستورارو از اونجا یادبگیرید

یعنی کل درس کنترل مدرن رو هر فصلشو تو هر مرحله پیادش می کنید

  • Like 5
  • 3 ماه بعد...
ارسال شده در

با سلام

کسی برنامه نویسی lqg و lqg/ltr بلده؟میخوام یه سیستم قدرت و باهاش کنترل کنم.ممنون میشم اگر کسی بتونه راهنماییم کنه

  • Like 2
ارسال شده در

سلام خدمت دوستان

کسی میتونه راهنمایی کنه که برنامه نویسی این مقاله که برای سرووموتور dc هست چطور باید انجام بشه؟

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

  • Like 1
ارسال شده در

با سلام و خسته نباشید

خواستم بپرسم کسی در مورد پایداری لیاپانوف روش مستقیم یک سیستم با تاخیر در ورودی یا بدون تاخیر مطلبی داره تو نرم افزار matlab برام بزاره خیلی واجبه ممنون

  • Like 3
  • 2 هفته بعد...
ارسال شده در

با سلام

 

دوستان اگه کسی بلده لطفا کمک کنه چون واقعا کارم گیره!

 

یه سیستم داریم که به این شکل هست که یه PID داره یه تابع 2/(1+0.8s) یعنی همون 2 تقسیم بر 1 بعلاوه 0.8*s

و بعد از این بلوکها یه تاخیر به شکل exp(-s)

و بعد یه فیدبک واحد منفی میخوره سیستممون .

میخوایم ضرایب pid رو با مینیمم کردن تابع هدفی که به شکل انتگرال اندازه خطا به توان 2 هست رو پیدا کنیم.

 

کد زیر رو هم نوشتم اما درست جواب نمیده.

 

لطفا هر کی بلده کمک کنه ممنون.

 

function J=saeed(PID)

 

 

Kp=PID(1);

Ki=PID(2);

Kd=PID(3);

 

 

K=2;T=0.8;L=1;

 

 

numG1=[Kd Kp Ki]; %PID function

denG1=[0 1 0]; %PID function

 

 

numG2=[0 K];

denG2=[T 1];

 

 

numG3=[1 -6 12]; %Pade (Time delay function)

denG3=[1 6 12]; %Pade (Time delay function)

 

 

[numG4,denG4]=series(numG1,denG1,numG2,denG2);

[numG5,denG5]=series(numG4,denG4,numG3,denG3);

 

 

 

 

 

 

[numT,denT]=cloop(numG5,denG5,-1);

 

 

 

 

p=roots(denT);

m=find(p>=0);

n=length(m);

landa=1000;

 

 

J2=n.*landa; % J2

 

 

 

 

 

 

%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`

 

 

 

 

 

 

% [numEprim,denEprim]=series(denG5,numG5,numT,denT);

%

% numU=[0 1];

% denU=[1 0];

%

% [numE,denE]=series(numU,denU,numEprim,denEprim);

 

 

% w=-1000:0.001:1000;

syms w

i=sqrt(-1);

 

 

P=poly2sym(numG4,i*w)/poly2sym(denG4,i*w);

F=P*(cos(w)-i*sin(w));%exp(-i*w);

U=1/(i*w);

Error=U*(1/(1+F));

% Error=poly2sym(numE,i*w)/poly2sym(denE,i*w);

 

 

w=-100:0.1:100;

EE=(abs(Error)).^2;

PS=trapz(EE);

 

 

J1=(1./(2.*pi)).*PS;

% for i=1:1:101

% Error(i)=(1-y(i));

% end

 

 

 

 

% [y,x,t]=step(numT,denT,100);

%

% t=0:0.1:100;

% for i=1:1:101

% E(i)=(1-y(i));

% end

 

 

% J1=sum(abs(E).^2);

 

 

 

 

 

 

 

 

J=J1+J2;

 

 

end

  • Like 3
  • 2 هفته بعد...
ارسال شده در

با سلام و خسته نباشید

خواستم بپرسم کسی در مورد پایداری لیاپانوف روش مستقیم یک سیستم با تاخیر در ورودی یا بدون تاخیر مطلبی داره تو نرم افزار matlab برام بزاره خیلی واجبه ممنون

 

سلام

 

ببینید هنر یه تابع لیاپانوف اینه که خود شما بگیری و انتخابش کنی چون یه شرط کافیه تو مساله نه یه شرط لازم و کافی. برای سیستم های بدون تاخیر تولباکسی برای متلب ارائه شده که من باهاش کار نکردم چون ترجیح میدم دستی تابع لیاپانوف رو بگیرم اما اون اون تولباکسه هم کار خاصی نمیکنه و غالبا تابعی که بر میگردونه یه تابع کوادراتیکه!!!(خسته نباشه!!:ws3:)

 

حالا اگه به ایمان بگی اون میتونه کمکت کنه اون تولباکسو پیدا کنی من اسمش یادم نیس!!:whistle:

 

 

برای سیستم های تاخیر دار هم که خود مساله هنوز یه گیر اساسیه و کار به تولباکس متلب نکشیده!!! شما یه سرچی روی تابع لیاپانوف کراسوفسکی بزن شاید چیزی دستگیرت بشه چون این دسته از لیاپانوف برای سیستم های تاخیر دارن. روش کنترلی هم زیاد روش کار شده مث روش پس گام (بک استپینگ) که خوب تو این زمینه ها جواب میده. تو گوگل اسکولار یه سرچ بزن اگه چیزی پیدا نکردی بگو یه چن تا مقاله خوب بهت معری کنم:a030:

  • Like 4
ارسال شده در
با سلام

 

دوستان اگه کسی بلده لطفا کمک کنه چون واقعا کارم گیره!

 

یه سیستم داریم که به این شکل هست که یه pid داره یه تابع 2/(1+0.8s) یعنی همون 2 تقسیم بر 1 بعلاوه 0.8*s

و بعد از این بلوکها یه تاخیر به شکل exp(-s)

و بعد یه فیدبک واحد منفی میخوره سیستممون .

میخوایم ضرایب pid رو با مینیمم کردن تابع هدفی که به شکل انتگرال اندازه خطا به توان 2 هست رو پیدا کنیم.

 

کد زیر رو هم نوشتم اما درست جواب نمیده.

 

لطفا هر کی بلده کمک کنه ممنون.

 

Function j=saeed(pid)

 

 

kp=pid(1);

ki=pid(2);

kd=pid(3);

 

 

k=2;t=0.8;l=1;

 

 

numg1=[kd kp ki]; %pid function

deng1=[0 1 0]; %pid function

 

 

numg2=[0 k];

deng2=[t 1];

 

 

numg3=[1 -6 12]; %pade (time delay function)

deng3=[1 6 12]; %pade (time delay function)

 

 

[numg4,deng4]=series(numg1,deng1,numg2,deng2);

[numg5,deng5]=series(numg4,deng4,numg3,deng3);

 

 

 

 

 

 

[numt,dent]=cloop(numg5,deng5,-1);

 

 

 

 

p=roots(dent);

m=find(p>=0);

n=length(m);

landa=1000;

 

 

j2=n.*landa; % j2

 

 

 

 

 

 

%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`

 

 

 

 

 

 

% [numeprim,deneprim]=series(deng5,numg5,numt,dent);

%

% numu=[0 1];

% denu=[1 0];

%

% [nume,dene]=series(numu,denu,numeprim,deneprim);

 

 

% w=-1000:0.001:1000;

syms w

i=sqrt(-1);

 

 

p=poly2sym(numg4,i*w)/poly2sym(deng4,i*w);

f=p*(cos(w)-i*sin(w));%exp(-i*w);

u=1/(i*w);

error=u*(1/(1+f));

% error=poly2sym(nume,i*w)/poly2sym(dene,i*w);

 

 

w=-100:0.1:100;

ee=(abs(error)).^2;

ps=trapz(ee);

 

 

j1=(1./(2.*pi)).*ps;

% for i=1:1:101

% error(i)=(1-y(i));

% end

 

 

 

 

% [y,x,t]=step(numt,dent,100);

%

% t=0:0.1:100;

% for i=1:1:101

% e(i)=(1-y(i));

% end

 

 

% j1=sum(abs(e).^2);

 

 

 

 

 

 

 

 

j=j1+j2;

 

 

end

 

 

ببین دوست عزیز این راهش نیست...اول باید تابع هزینه خودتو بر حسب ضرایب مجهول pid بنویسی بعد ببینی کانوکس هست یا نه؟؟؟؟؟

 

بعد که اینو تشخیص دادی دو تا راه حل جلوت داری

 

یکی اینکه کانوکس باشه و بهینه سازی تو کلاسیک انجام بدی و ضرایب pid رو به دست بیاری

یا اینکه غیر محدب باشه بری سراغ الگوریتم های تکاملی از نوع ژنتیک و یا pso

 

به کتاب کنترل بهینه کرک هم یه سر بزن شاید کارت راه بیفته

 

موفق باشی

  • Like 3
ارسال شده در
با سلام

کسی برنامه نویسی lqg و lqg/ltr بلده؟میخوام یه سیستم قدرت و باهاش کنترل کنم.ممنون میشم اگر کسی بتونه راهنماییم کنه

 

سلام خدمت دوستان

کسی میتونه راهنمایی کنه که برنامه نویسی این مقاله که برای سرووموتور dc هست چطور باید انجام بشه؟

 

دو طراحی LQG و LQR که جزء تولباکس های بهینه در متلب هستند و دستورات آماده هم داره. کافی هست به هلپ متلب مراجعه کنید و کار کردن با اینا رو یاد بگیرید

 

طراحی LQG اگه هوشمندانه باشه میتونه به LQR تبدیل بشه و اصن کار سختی نیست این تبدیل:w16:

 

اول طراحی LQG و LQR رو یاد بگیرید بعد از تولباکس استفاده کنید چون حل معادله ریکاتی نیازمند دانش ریاضی شما هست و اگه ندونید تولباکس چی کار میکنه نمیتونید ازش استفاده کنید.

 

هر چند که من پیشنهاد میدم خودتون دستی طراحی کنید و بعد نتیجشو شبیه سازی کنید اینطوری ذهنتون هم از تنبل نمیشه مثل من!!

 

برای آشنایی با مقدمات ریاضی اون از کتاب کنترل بهینه کرک میتونید استفاده کنید. برای شبیه سازی و استفاده از تولباکس این دو قسمت هم میتونید در قدم اول به هلپ مراجعه کنید و اگر متوجه نشدید سرچ کنید و یاد بگیرید (البته به صورت انگلیسی!!!) در گام آخر اگر باز مشکل داشتید به کتاب کنترل مدرن دکتر صدیق یه نگاهی بکنید که اونجا کدها رو هم آورده و بتونید مشکلتونو حل کنید:a030:

  • Like 3
  • 4 هفته بعد...
ارسال شده در

سلام کسی میتونه این مقاله را واسم پیاده سازی کنه؟

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

  • Like 1
ارسال شده در
سلام کسی میتونه این مقاله را واسم پیاده سازی کنه؟

 

 

سلام

 

اینکه اینجا مقاله رو پیاده سازی کنیم بدیم به شما یکم کار اخلاقی ای نیست.... شما خودتون استارت رو بزنید و جلو برید اینجا بچه ها هر کاری از دستشون بر بیاد از همون اول اولش برای شما انجام میدن:a030:

  • Like 3
ارسال شده در

سلام بچه ها میشه راهنمایی کنید Input angle رو تو fig 7 , fig 5 راهنمایی کنید که چطور باید رسم کنم ؟

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

 

fig 4 , fig 6 که پاسخ پله هست رسمش کردم

 

 

بسیار واجبه

  • Like 2
×
×
  • اضافه کردن...