基于MATLAB的曲柄搖桿機構(gòu)優(yōu)化設(shè)計.doc
得分課程作業(yè)曲柄搖桿優(yōu)化設(shè)計姓名:XX學(xué)號:XXXXX班級:XXXXX XX大學(xué)機械與動力學(xué)院目 錄1 摘要2 問題研究2.1 問題重述2.2 問題分析3 數(shù)學(xué)模型的建立3.1 設(shè)計變量的確定3.2 目標(biāo)函數(shù)的建立3.3 約束條件的確定3.4 標(biāo)準(zhǔn)數(shù)學(xué)模型4 使用MATLAB編程求解4.1 調(diào)用功能函數(shù)4.2 首先編寫目標(biāo)函數(shù) M 文件4.3 編寫非線性約束函數(shù) M 文件 4.4 編寫非線性約束函數(shù) M 文件 confun.m4.5 運行結(jié)果5 結(jié)果分析6 結(jié)論推廣7 過程反思8 個人小結(jié)9 參考文獻(xiàn)1 摘要: 為分析機構(gòu)能夠滿足給定的運動規(guī)律和運動空間的要求,運用Matlab優(yōu)化工具箱進(jìn)行多約束條件下的連桿機構(gòu)預(yù)定軌跡優(yōu)化設(shè)計的方法,從而得到最接近給定運動規(guī)律的桿長條件,使機構(gòu)的運動分析直觀、簡單和精確,提高了曲柄搖桿機構(gòu)的設(shè)計精度和效率。2 問題研究2.1 問題重述 要求設(shè)計一曲柄搖桿機構(gòu),當(dāng)曲柄由轉(zhuǎn)到+90時,搖桿的輸出角實現(xiàn)如下給定的函數(shù)關(guān)系:式中和分別為對應(yīng)于搖桿在右極限位置時曲柄和搖桿的位置角,它們是機架桿l4為原線逆時針度量的角度,見圖1。要求在該區(qū)間的運動過程中的最小傳動角不得小于45,即:通常把曲柄的長度當(dāng)成單位長度,即l1=1。另外,根據(jù)機構(gòu)在機器中的許可空間,可以適當(dāng)預(yù)選機架桿的長度,現(xiàn)取l4 =5。2.2 問題分析設(shè)計時,可在給定最大和最小傳動角的前提下,當(dāng)曲柄從轉(zhuǎn)到時,要求搖桿的輸出角最優(yōu)地實現(xiàn)一個給定的運動規(guī)律。這里假設(shè)要求: (1) 圖1 曲柄搖桿機構(gòu)簡圖對于這樣的設(shè)計問題,可以取機構(gòu)的期望輸出角和實際輸出角的平方誤差之和作為目標(biāo)函數(shù),使得它的值達(dá)到最小。在圖 1 所示的曲柄搖桿機構(gòu)中, 、 分別是曲柄AB、連桿BC、搖桿CD和機架AD的長度。這里規(guī)定為搖桿在右極限位置時的曲柄起始位置角,它們由 、和確定。3 數(shù)學(xué)模型的建立3.1 設(shè)計變量的確定決定機構(gòu)尺寸的各桿長度 、和,以及當(dāng)搖桿按已知運動規(guī)律開始運行時,曲柄所處的位置角應(yīng)列為設(shè)計變量,所有設(shè)計變量有: (2)考慮到機構(gòu)的桿長按比例變化時,不會改變其運動規(guī)律,通常設(shè)定曲柄長度=1.0,在這里可給定=5.0,其他桿長則按比例取為的倍數(shù)。若取曲柄的初始位置角為極位角,則及相應(yīng)的搖桿位置角均為桿長的函數(shù),其關(guān)系式為: (3) (4)因此,只有、為獨立變量,則設(shè)計變量為。3.2 目標(biāo)函數(shù)的建立目標(biāo)函數(shù)可根據(jù)已知-的運動規(guī)律與機構(gòu)實際運動規(guī)律之間的偏差最小為指標(biāo)來建立,即: (5)式中,-期望輸出角;m-輸出角的等分?jǐn)?shù);-實際輸出角,由圖 1 可知:圖2 曲柄搖桿機構(gòu)的運動學(xué)關(guān)系 (6)式中, (7) (8) (9)3.3 約束條件曲柄存在條件: 曲柄與機架共線位置時的傳動角(連桿BC和搖桿CD之間的夾角):最小傳動角最大傳動角由上面的分析可以算出: (10) (11)3.4 標(biāo)準(zhǔn)數(shù)學(xué)模型通過上面的分析后,將輸入角分成 30 等分(m=30),經(jīng)過轉(zhuǎn)化為標(biāo)準(zhǔn)形式得到曲柄搖桿機構(gòu)優(yōu)化設(shè)計標(biāo)準(zhǔn)數(shù)學(xué)模型為: (12)機械優(yōu)化設(shè)計中的問題,大多數(shù)屬于約束優(yōu)化問題,此為非線性約束優(yōu)化問題,運用 MATLAB 優(yōu)化工具箱的命令函數(shù) fmincon 來處理有約束的非線性多元函數(shù)最小化優(yōu)化問題。4 使用MATLAB編程求解4.1 本問題屬于一般非線性規(guī)劃問題,其標(biāo)準(zhǔn)型為: (13)調(diào)用MATLAB軟件優(yōu)化工具箱中非線性規(guī)劃求解函數(shù)fmincon來求解。其命令的基本格式為:函數(shù) fmincon格式x = fmincon(fun,x0,A,b)x = fmincon(fun,x0,A,b,Aeq,beq)x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub)x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)x,fval = fmincon()x,fval,exitflag = fmincon()x,fval,exitflag,output = fmincon()x,fval,exitflag,output,lambda = fmincon()x,fval,exitflag,output,lambda,grad = fmincon()x,fval,exitflag,output,lambda,grad,hessian = fmincon()說明fun 是目標(biāo)函數(shù)options 設(shè)置優(yōu)化選項參數(shù)fval 返回目標(biāo)函數(shù)在最優(yōu)解x點的函數(shù)值exitflag 返回算法的終止標(biāo)志output 返回優(yōu)化算法信息的一個數(shù)據(jù)結(jié)構(gòu)grad 返回目標(biāo)函數(shù)在最優(yōu)解x點的梯度hessian 返回目標(biāo)函數(shù)在最游解x點Hessian矩陣值 編寫程序求解4.2 首先編寫目標(biāo)函數(shù) M 文件fun1.mfunction f=fun1(x)s=30;qb=1;jj=5;fx=0;ci0=acos(qb+x(1)2-x(2)2+jj2)/(2*(qb+x(1)*jj);%曲柄初始角fa0=acos(qb+x(1)2-x(2)2-jj2)/(2*x(2)*jj);%搖桿初始角for i=1:s ci=ci0+(pi*i)/(2*s); fai(i)=fa0+(2*(ci-ci0)2)/(3*pi); ri=sqrt(qb2+jj2-2*qb*jj*cos(ci); alfi=acos(ri2+x(2)2)-x(1)2)/(2*ri*x(2); bati=acos(ri2+jj2-qb2)/(2*ri*jj); if ci>0 && ci<=pi psi(i)=pi-alfi-bati; elseif ci>pi && ci<=2*pi psi(i)=pi-alfi+bati; end fx=fx+(fai(i)-psi(i)2; end f=fx; i=1:1:30; plot(i,fai(i),i,psi(i),-); %畫曲線圖 legend(期望曲線,實際曲線); %標(biāo)注曲線圖對應(yīng)名稱4.3 編寫非線性約束函數(shù) M 文件 confun.mfunction c,ceq=confun(x)qb=1;jj=5;m=45*pi/180;n=135*pi/180;c(1)=x(1)2+x(2)2-2*x(1)*x(2)*cos(m)-(jj-qb)2; %重合時最小傳動角的非線性約束條件c(2)=-x(1)2-x(2)2+2*x(1)*x(2)*cos(n)+(jj+qb)2;%共線時最小傳動角的非線性約束條件ceq=;4.4 在 MATLAB 命令窗口調(diào)用優(yōu)化程序x0=6;6;lb=1;1;ub=;a=-1 0;0 -1;-1 -1;1 -1; -1 1;b=-1;-1;-6;4;4;options=optimset(LargeScale,off,display,iter);x,fval,exitflag=fmincon(fun1,x0,a,b,lb,ub,confun,options);4.5 運行結(jié)果x =4.1285 2.3226fval = 0.0076圖3 輸出角期望曲線與在MATLAB結(jié)果下的實際曲線對比圖圖4 傳動角與曲柄輸入角變化關(guān)系圖5 結(jié)果分析通過Matlab工具箱的優(yōu)化求解,我們得到了最終的曲柄搖桿機構(gòu)的最優(yōu)桿長條件,即L2=4.1285,L3=2.3226。從運行結(jié)果上面來看,得到的數(shù)據(jù)還是比較理想的,在輸出角期望曲線與在MATLAB結(jié)果下的實際曲線對比圖(圖3)中,我們可以清楚地看到,期望曲線與實際曲線的擬合程度比較好。在傳動角6 結(jié)論推廣由于在本問題當(dāng)中,曲柄長度L1和機架長度L4是預(yù)先取的L1=1,L4=5,我們通過對L2和L3的優(yōu)化設(shè)計,最終得到了L2=4.1285,L3=2.3226,如果把1看作是單位長度,那么我們最終求解出來的其實是曲柄搖桿機構(gòu)符合已知運動軌跡的桿長比例。只要曲柄搖桿機構(gòu)的四桿長度按照這個比例,即L1:L2:L3:L4=1:4.1285:2.3226:5,那么我們得到的曲柄搖桿機構(gòu)的運動軌跡都是比較理想的。7 過程反思在曲柄搖桿優(yōu)化設(shè)計的整個過程中,我們先通過對問題的分析,然后將求解曲柄搖桿機構(gòu)桿長的問題轉(zhuǎn)化為對求最優(yōu)L2,L3的值的數(shù)學(xué)問題,然后我們通過建立數(shù)學(xué)模型,又使用了Matlab工具箱進(jìn)行了編程求解,最終得到了我們的結(jié)果,即曲柄搖桿機構(gòu)的最優(yōu)桿長。整個過程進(jìn)行下來,在建立模型的過程中,約束條件的確定讓我花了大量的時間,由于桿長的不確定,最小傳動角可能以多種形式出現(xiàn),剛開始我很馬虎的分析了一種情況就進(jìn)行了后續(xù)計算,結(jié)果可想而知,花費了大量時間而又得不到結(jié)果。最后我通過仔細(xì)分析每一種情況,結(jié)合一些有關(guān)文獻(xiàn),最終解決了這個問題。在這里,我覺得在解決問題當(dāng)中,分析問題必須要嚴(yán)密,現(xiàn)在不嚴(yán)密,犯的只是小錯,以后在工作中也這樣,很有可能引起個人或公司重大損失甚至災(zāi)難。8 個人小結(jié)通過曲柄搖桿優(yōu)化設(shè)計讓我對機械優(yōu)化問題有了一定的了解和認(rèn)識,學(xué)到了一些解決優(yōu)化問題的方法,初步掌握了計算機解決優(yōu)化問題的軟件工具matlab的使用方法。面對性質(zhì)極其復(fù)雜的函數(shù),先賢們開發(fā)出了一整套的數(shù)值方法,為一些無法得到準(zhǔn)確解的問題提供了一個數(shù)值解的途徑。這套數(shù)值方法至今仍在不斷地發(fā)展。機械優(yōu)化設(shè)計是將機械工程設(shè)計問題轉(zhuǎn)化為最優(yōu)化問題,然后選擇恰當(dāng)?shù)淖顑?yōu)化方法,利用電子計算機從滿足要求的可行設(shè)計方案中自動尋找實現(xiàn)預(yù)期目標(biāo)的最優(yōu)設(shè)計方案。從中可以看到,機械優(yōu)化設(shè)計包含兩個部分,首先是把實際的機械設(shè)計問題用數(shù)學(xué)表達(dá)式加以描述,即轉(zhuǎn)化為數(shù)學(xué)模型,然后是根據(jù)數(shù)學(xué)模型的特性,選擇某種適當(dāng)?shù)膬?yōu)化設(shè)計方法及其程序,通過電子計算機求得最優(yōu)解。這也是我們這門課的主要內(nèi)容??偠灾谶@門課當(dāng)中,我學(xué)到了很多,既有書面知識,又有實際操作,這里的優(yōu)化設(shè)計的方法及思想會讓我終生受益。9 參考文獻(xiàn)【1】孫靖明,梁迎春.機械優(yōu)化設(shè)計【M】.北京:機械工業(yè)出版社,2007.【2】鄭文瑋,吳克堅.機械原理【M】.北京:高等教育學(xué)院,2005.【3】何俊,馮鑒.基于Matlab的平面連桿機構(gòu)預(yù)定軌跡優(yōu)化設(shè)計【A】.四川:西南交通大學(xué),2009.【4】吳義成.曲柄搖桿機構(gòu)再現(xiàn)已知運動規(guī)律的優(yōu)化求解【A】.安徽:馬鞍山職業(yè)技術(shù)學(xué)院,2011.【5】羅紅萍.基于Matlab的曲柄搖桿機構(gòu)運動分析【A】.廣西:廣西工學(xué)院,2007.