Синтез системы управления спуском космического аппарата на поверхность Марса методом интеллектуальной эволюции - Дипломная работа

бесплатно 0
4.5 209
Метод сетевого оператора и его применение в задачах управления. Исследование на основе вычислительного эксперимента синтезируемой системы автоматизированного управления космического аппарата, методом интеллектуальной эволюции. Алгоритм пчелиного роя.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
Синтез системы управления на сегодняшний день является приоритетной задачей современной теории управления, поскольку максимально учитывает работу объекта в реальности, обеспечивая сохранение системных свойств модели и ее целостности. Главной задачей данной работы является произвести синтез системы управления для обеспечения безопасного спуска в атмосферу Марса. Мягкий спуск большой массы на поверхность Марса =EA.tf); if EA.y[EA.n]>xfc[0] then f1:=abs(EA.y[EA.n]-xfc[0]) abs(EA.y[EA.n 1]-xfc[1]) else f1:=abs(EA.y[EA.n 1]-xfc[1]); Form11:=TForm11.create(self); Form11.ShowModal; End; Procedure TForm1.ParametersofGA1Click(Sender: TObject); Begin Form9:=TForm9.create(self); Form9.ShowModal; End; Procedure TForm1.Parametersofmodel1Click(Sender: TObject); Begin Form3:=TForm3.Create(self); Form3.ShowModal; End; //********************************************************* Procedure TForm1.Paretoset1Click(Sender: TObject); var i:integer; Begin Form10:=TForm10.create(self); Form10.ShowModal; label1.Caption:=inttostr(kchoose); EA.ReadChromosome(kchoose,q1,Psi1); End; //********************************************************* Procedure TForm1.Pascal1Click(Sender: TObject); var i:integer; Begin EA.NOP.PsitoPasStr; for i:=0 to L1-1 do memo1.Lines.Add(EA.NOP.zs[i]); End; //********************************************************* Procedure TForm1.Savetofile1Click(Sender: TObject); Begin if savedialog1.Execute then Memo1.Lines.SaveToFile(savedialog1.FileName); End; //********************************************************* Procedure TForm1.Unaryoperations1Click(Sender: TObject); Begin Form4:=TForm4.create(self); Form4.ShowModal; End; //********************************************************* Procedure TForm1.Undefinedparameters1Click(Sender: TObject); var i:integer; Begin Form14:=TForm14.Create(Self); Form14.ShowModal; EA.Setqymin(qymin1); EA.Setqymax(qymax1); EA.Setstepsqy(stepsqy1); for i:=0 to ny1-1 do EA.ix[i]:=trunc((qymax1[i]-qymin1[i])/stepsqy1[i]); EA.Setixmax(EA.ix); End; //********************************************************* Procedure UpProgressBar; Begin Form1.ProgressBar1.StepIt; Form1.Refresh; End; { TGANOPUser } //********************************************************* Constructor TUser.Create(hh1, pp1, rr1, nfu1, lchr1, p1, c1, d1, epo1, kel1: integer; alfa1, pmut1: real; L1, Mout1, kp1, kr1, kw1, kv1,n1,m1,ll1,ny1: integer); Begin Inherited Create(hh1, pp1, rr1, nfu1, lchr1, p1, c1, d1, epo1, kel1, alfa1, pmut1, L1, Mout1, kp1, kr1, kw1, kv1,n1,m1,ll1,ny1); End; //********************************************************* Procedure TUser.Func(var Fu: TArrReal); var t1,FF:real; i:integer; flag:boolean; Begin Initial; t1:=t; flag:=false; FF:=0; for i:=0 to NOP.kR-1 do NOP.Cs[i]:=q[i]; repeat Viewer; NOP.Vs[0]:=y[n];//x[0]; NOP.Vs[1]:=y[n 1];//x[1]; NOP.Vs[2]:=y[n 2];//x[2]; NOP.Vs[3]:=y[n 3];//x[3]; NOP.RPControl; if y[lv-1]>FF then FF:=y[lv-1]; Euler2; until (y[n]=tf); Fu[0]:=FF; if xfc[0]infinity then f1[i]:=Ro_10(f1[i])*infinity; End; Procedure TUser.Viewer; var i:integer; V2,QQ,NN,ro,VV,GG,RR,xper,yper,zper:double; Begin // Upr(t,u); // OgrUpr(u); RR:=sqrt(sqr(x[0]) sqr(x[2])); ro:=ro_0*exp(-bet*(RR-Rz)); V2:=sqr(x[1]) sqr(x[3]); VV:=sqrt(sqr(x[1]) sqr(x[3])); QQ:=Cx*ro*V2/2/m_S; // QQ:=Cx*(1 u[0])*ro*V2/2/m_S; NN:=Cy*ro*V2/2/m_S; xper:=-QQ*x[1]/VV-NN*x[3]*cos(u[0])/VV-g0*sqr(Rz/RR)*x[0]/RR; yper:=-QQ*x[3]/VV NN*x[1]*cos(u[0])/VV-g0*sqr(Rz/RR)*x[2]/RR; zper:=NN*sin(u[0]); for i:=0 to n-1 do y[i]:=x[i]; y[n]:=RR-Rz; y[n 1]:=Rz*arctan(x[0]/x[2]); y[n 2]:=VV; y[n 3]:=sqrt(sqr(xper) sqr(yper) sqr(zper))/g0; End; //********************************************************* Function TermStop:boolean; var i:integer; sum:real; Begin sum:=0; for i:=0 to EA.n-1 do sum:=sum sqr(EA.x[i]-xfc[i]); if sqrt(sum)=EA.tf); if EA.y[EA.n]2*pi deltc; end; if (Combobox1.ItemIndex=5)and(Combobox2.ItemIndex=1) then begin x:=EA.qy[0]-EA.qy[1]; y:=0; series2.AddXY(x,y); x:=EA.qy[0]-EA.qy[1]; y:=EA.qy[2]; series2.AddXY(x,y); x:=EA.qy[0] EA.qy[1]; y:=EA.qy[2]; series2.AddXY(x,y); x:=EA.qy[0] EA.qy[1]; y:=0; series2.AddXY(x,y); end; End; Procedure TForm11.Button4Click(Sender: TObject); Begin if savedialog1.execute then Chart1.SaveToBitmapFile(savedialog1.FileName); End; Procedure TForm11.FormCreate(Sender: TObject); var i:integer; Begin Color:=RGB(200,170,220); ComboBox1.Clear; ComboBox2.Clear; ComboBox1.Items.Add(t); ComboBox2.Items.Add(t); for i:=0 to EA.lv-1 do begin ComboBox1.Items.Add(x[ inttostr(i) ]); ComboBox2.Items.Add(x[ inttostr(i) ]); end; for i:=0 to EA.m-1 do begin ComboBox1.Items.Add(u[ inttostr(i) ]); ComboBox2.Items.Add(u[ inttostr(i) ]); end; ComboBox1.ItemIndex:=1; ComboBox2.ItemIndex:=0; Label4.Caption:=F1= floattostrf(f0,ffGeneral,8,5); Label5.Caption:=F2= floattostrf(f1,ffGeneral,8,5); End; Procedure TForm11.Button6Click(Sender: TObject); var i:integer; argm,funm:array of real; Begin setlength(argm,length(tm)); setlength(funm,length(tm)); if Combobox1.ItemIndex=0 then for i:=0 to high(tm) do funm[i]:=t

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?