基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)設(shè)計(jì)_第1頁
基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)設(shè)計(jì)_第2頁
基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)設(shè)計(jì)_第3頁
基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)設(shè)計(jì)_第4頁
基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)設(shè)計(jì)_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

I基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)AutomationSpecialtyZHANGXxxx基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì) 1 1 1 1 2 3 3 3 3 4 4 6 6 7 8 8 1基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)在安全間操縱機(jī)械手進(jìn)行各種操作和實(shí)驗(yàn)。50年代以后,機(jī)械手逐步推廣到工業(yè)生產(chǎn)2基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)統(tǒng)制造業(yè)如采礦,冶金,石油,化學(xué),船舶等領(lǐng)域,同時(shí)也已開始擴(kuò)大到核能,航空,航天,度更重要,如果一個(gè)機(jī)器人定位不夠精確,通常會(huì)顯示一個(gè)固定的誤差,這個(gè)誤差是可以預(yù)測(cè)的,因此可以通過編程予以校正。重復(fù)精度限定的是一個(gè)隨機(jī)誤差的范圍,它通過一定次數(shù)地重復(fù)運(yùn)行機(jī)器人來測(cè)定。隨著微電子技術(shù)和現(xiàn)代控制技術(shù)的發(fā)展,機(jī)械手的有的公司把帶有系列導(dǎo)向驅(qū)動(dòng)裝置的機(jī)械手稱為簡單的傳輸技術(shù),而把模塊化拼裝手使同一機(jī)械手可能由于應(yīng)用不同的模塊而具有不同的功能,擴(kuò)大了機(jī)械手的應(yīng)用范圍,是機(jī)械手的一個(gè)重要的發(fā)展方向。術(shù)的重要方面;發(fā)展與電子技術(shù)相結(jié)合的自適應(yīng)控制液壓元件,使液壓技術(shù)從“開關(guān)控3基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)4基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)MATLAB語言。所用的軟件版本為MATLAMATLAB發(fā)展至今,已不僅僅是單純矩陣運(yùn)算的數(shù)學(xué)處理軟件,其開放式結(jié)構(gòu)吸引其中在本文中用到的且與控制系統(tǒng)設(shè)計(jì)與仿真相關(guān)的功能大致有以下各項(xiàng):5基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)他已經(jīng)成為在動(dòng)態(tài)系統(tǒng)建模和仿真方面應(yīng)用最合并后從一路輸出,具體得到合并方式可由雙擊該元件來設(shè)置。式解耦后多路輸出,具體的解耦方式可由雙擊元件來設(shè)置。6基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)(2)計(jì)算下一個(gè)采樣點(diǎn)的時(shí)間。如果模型使用變步長解法器,那么需要在當(dāng)前仿真確定下一個(gè)采樣點(diǎn)的時(shí)刻,也即下一個(gè)仿真和大小。(3)計(jì)算當(dāng)前主仿真步的輸出。在這個(gè)調(diào)用完成后,模塊的所有輸出端口都對(duì)當(dāng)(4)更新模塊當(dāng)前主時(shí)間步的離散狀態(tài)。在這個(gè)仿真階段中,所有的模型塊都要進(jìn)行每個(gè)時(shí)間步一次的活動(dòng)為當(dāng)前時(shí)間的仿真循環(huán)更新離散狀態(tài)。在仿真模型建立的同時(shí)我們要用到MATLAB當(dāng)中的S函數(shù)。它是一種用程序描述而只不過用這些語言編寫程序時(shí)需要用編譯器生成動(dòng)態(tài)連接庫(DLL)文件,然后在Simulink中直接調(diào)用。7基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)也可以提供與操作系統(tǒng)的接口。另外,S函數(shù)可以使用其他多種語言編寫,因此可以實(shí)8基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)9基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)x,u)k1=fu(t,x,u)輸出(?)輸入輸出(?)狀態(tài)(x)(?)模塊(2)計(jì)算下一個(gè)采樣時(shí)刻:如果模型使用變步長求解器,那么就需要在當(dāng)前仿真(4)更新離散狀態(tài):此例程在每個(gè)仿真步長處都要執(zhí)行一次,為當(dāng)前時(shí)間的仿真(5)數(shù)值積分:這個(gè)階段只有模塊具有連續(xù)狀態(tài)和非采樣過零點(diǎn)時(shí)才會(huì)存在。如果S函數(shù)存在連續(xù)狀態(tài),Simulink就在細(xì)化的小時(shí)間步長中調(diào)用S函數(shù)的輸出(mdlOutput)s和微分(mdlDerivatives)例程。如果存在非采樣過零點(diǎn),Simulink基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)初始化模塊初始化模塊計(jì)算下一個(gè)采樣時(shí)間點(diǎn)(僅適用變采樣速率模塊)計(jì)算輸出更新離散狀態(tài)數(shù)值積分計(jì)算導(dǎo)數(shù)計(jì)算輸出計(jì)算導(dǎo)數(shù)檢測(cè)過零事件仿真結(jié)束基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)?(?)—慣性矩陣;?(?,?)—離心力和哥氏加速度項(xiàng);?(?)—重力項(xiàng);?(?)=?(?,?)=?+?1+2????(?2)?1+?2????2?1+?2????2?1??2?2???(?2)??2(?1+?2)???(?2)?(?)=15???.1+?2)(7)初始狀態(tài)分別為:?0=0.8??,?0=0.8??,?0=0.8??,??=?0??,??=?0??,??=?0????刂茀?shù)?。?1=????(10,10),?2=????(10,10),γ=1.5。4兩關(guān)節(jié)機(jī)械手的設(shè)計(jì)分析1gcanoP2gcanoP1gcanoP2gcanoP22100time(s)2100time(s)3355442211pptime(s)time(s)基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)本文針對(duì)兩關(guān)節(jié)機(jī)械手的軌跡跟蹤問題,通過已建立的數(shù)學(xué)仿真模型,進(jìn)而用matlab語言中的S函數(shù)編制仿真程序進(jìn)行位置和速度跟蹤試驗(yàn)。試驗(yàn)結(jié)果驗(yàn)證了,該基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)同時(shí)也對(duì)機(jī)器人仿真產(chǎn)生了更大的興趣。通過這次畢業(yè)設(shè)計(jì),對(duì)我所學(xué)的知結(jié),讓我更深刻的了解到理論知識(shí)在實(shí)際中的應(yīng)用。在這次畢業(yè)設(shè)計(jì)中,主系統(tǒng)的應(yīng)用,本課題選擇兩關(guān)節(jié)機(jī)械手模型進(jìn)行試驗(yàn),通過選取的機(jī)械手模基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)[1]易繼楷,侯媛彬.智能控制技術(shù).北京:北京工業(yè)大學(xué)出版社,1999[2]楊國軍.機(jī)械手逆運(yùn)動(dòng)學(xué)神經(jīng)網(wǎng)絡(luò)建模與仿真.電子工業(yè)出版社,2005[3]傅會(huì)璇.Matlab神經(jīng)網(wǎng)絡(luò)應(yīng)用設(shè)計(jì).北京:機(jī)械工業(yè)出版社,2010[4]吳瑞祥.機(jī)器人控制技術(shù)。北京:北京航天航空大學(xué)出版社,1995[5]徐元昌.工業(yè)機(jī)器人[M].北京:中國輕工業(yè)出版社,1998[6]蔡自興.機(jī)器人學(xué)[M].北京:清華大學(xué)出版社,2000[7]賈秋玲.基于MATLAB/Simulink系統(tǒng)仿真、分析及設(shè)計(jì).西北工業(yè)大學(xué)出版社,2006[8]孫志強(qiáng).神經(jīng)網(wǎng)絡(luò)理論與Matlab實(shí)現(xiàn).北京:電子工業(yè)出版社,2007[9]周璐,李翔.MATLAB神經(jīng)網(wǎng)絡(luò)仿真與應(yīng)用.北京:科學(xué)出版社,2003[10]薛定宇,張曉華.控制系統(tǒng)計(jì)算機(jī)輔助設(shè)計(jì)-MATLAB語言與應(yīng)用.北京:清華大學(xué)出版社,[11]孫福春,朱紀(jì)洪.機(jī)器人學(xué)導(dǎo)論.電子工業(yè)出版社,2003[12]何廣平,殷際英.關(guān)節(jié)型機(jī)器人.化學(xué)工業(yè)出版社,2003usingDynamicalNeuralNetworks[15]JMAhuactzin,KGupta.AMotionplanningbasedapproachforinversekinematicsofredundantrobots:thekinematicalroadmap基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)function[sys,x0,str,ts]=spacemodel(t,x,u,flag)[sys,x0,str,ts]=mdlInitializeSizes;sys=mdlOutputs(t,x,u);otherwiseerror(['Unhandledflag=',num2str(flag)]);function[sys,x0,str,ts]=mdlInitializeSizessizes.NumOutputs=2;sizes.NumInputs=6;sizes.DirFeedthrough=1;sizes.NumSampleTimes=1;sys=simsizes(sizes);functionsys=mdlOutputs(t,x,u)qd1=u(1);dqd1=-pi*sin(pi*t);ddqd1=-pi^2*cos(pi*t);qd2=u(2);dqd2=pi*cos(pi*t);ddqd2=-pi^2*sin(pi*t);基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)dqd=[dqd1;dqd2];ddqd=[ddqd1;ddqd2];q1=u(3);dq1=u(4);q2=u(5);dq2=u(6);dq=[dq1;dq2];e1=qd1-q1;e2=qd2-q2;e=[e1;e2];de1=dqd1-dq1;de2=dqd2-dq2;de=[de1;de2];v=13.33;q01=8.98;q02=8.75;M=[v+q01+2*q02*cos(q2)q01+q02*cos(q2);q01+q02*cos(q2)q01];B=[-q02*dq2*sin(q2)-q02*(dq1+dq2)*sin(q2);q02*dq1*sin(q2)0];W=[15*g*cos(q1)+8.75*g*cos(q1+q2);8.75*g*cos(q1+q2)];M0=0.8*M;B0=0.8*B;W0=0.8*W;dM=M0-M;dB=B0-B;dW=W0-W;c1=20;c2=20;C=[c10;0c2];基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)F=2;tol=M*(ddqd++K1*de+K2*e)+B*dq-w;elseifF==2temp=abs(dM)*abs(ddqd+C*de)+abs(dw)+abs(dB)*abs(dqd+C*e)+0.10;gama=[temp(1)0;0temp(2)];tol=M0*(ddqd+C*de)+B0*(dqd+C*e)-w0+gama*sign(s);sys(1)=tol(1);sys(2)=tol(2);被控對(duì)象子程序:chap4_1plant.m%S-functionforcontinuousstateequationfunction[sys,x0,str,ts]=s_function(t,x,u,flag)%Initialization[sys,x0,str,ts]=mdlInitializeSizes;sys=mdlDerivatives(t,x,u);%Outputssys=mdlOutputs(t,x,u);%Unhandledflags%Unexpectedflagsotherwiseerror(['Unhandledflag=',num2str(flag)]);基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)%mdlInitializeSizesfunction[sys,x0,str,ts]=mdlInitializeSizessizes.NumContStatessizes.NumDiscStatessizes.NumOutputssizes.NumInputssizes.DirFeedthrough=0;sizes.NumSampleTimes=0;sys=simsizes(sizes);x0=[0.6;0.3;0.5;0.5];functionsys=mdlDerivatives(t,x,u)qd1=cos(pi*t);dqd1=-pi*sin(pi*t);ddqd1=-pi^2*cos(pi*t);qd2=sin(pi*t);dqd2=pi*cos(pi*t);ddqd2=-pi^2*sin(pi*t);q1=x(1);dq1=x(2);q2=x(3);dq2=x(4);v=13.33;q01=8.98;q02=8.75;M=[v+q01+2*q02*cos(q2)q01+q02*cos(q2);基于MATLAB和S函數(shù)的復(fù)雜系統(tǒng)設(shè)計(jì)q01+q02*cos(q2)q01];B=[-q02*dq2*sin(q2)-q02*(dq1+dq2)*sin(q2);q02*dq1*sin(q2)0];W=[15*g*cos(q1)+8.75*g*cos(q1+q2);8.75*g*cos(q1+q2)];tol(1)=u(1);tol(2)=u(2);ddq=inv(M)*(tol'-B*[dq1;dq2]+w);sys(1)=x(2);sys(2)=ddq(1);sys(3)=x(4);sys(4)=ddq(2);functionsys=mdlOutputs(t,x,u)sys(1)=x(1);sys(2)=x(2);sys(3)=x(3);sys(4)=x(4);figure(1);subplot(211);plot(t,y1(:,1),'r',t,y1(:,2),'b');xlabel('time(s)');ylabel('Positiontrackingofjoint1');subplot(212);plot(t,y2(:,1),'r',t,y2(:,2),'b');xlabel('time(s)');ylabel('Positiontrackingofjoint2');figure(2);sub

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論