吳義成,吳玉國
(1.馬鞍山職業(yè)技術(shù)學(xué)院,安徽 馬鞍山 243000;2.安徽工業(yè)大學(xué)機(jī)械工程學(xué)院,安徽 馬鞍山 243000)
機(jī)械優(yōu)化是數(shù)學(xué)規(guī)劃理論、機(jī)械結(jié)構(gòu)分析理論以及計(jì)算機(jī)應(yīng)用技術(shù)等多學(xué)科交叉形成的綜合決策學(xué)科[1]。機(jī)械機(jī)構(gòu)中,四桿機(jī)構(gòu)使用廣泛,無論是在日常生產(chǎn)生活還是軍事領(lǐng)域當(dāng)中都被大量應(yīng)用,如起重機(jī)、汽車轉(zhuǎn)向機(jī)構(gòu)、飛機(jī)起落架機(jī)構(gòu)及雷達(dá)天線俯仰機(jī)構(gòu)等[2]。根據(jù)機(jī)械的用途和性能要求的不同,四桿機(jī)構(gòu)的設(shè)計(jì)要求基本上可歸納為:滿足預(yù)定的運(yùn)動(dòng)規(guī)律要求、滿足預(yù)定的連桿位置要求以及滿足預(yù)定的軌跡和性能要求。常用的設(shè)計(jì)方法有解析法、作圖法和實(shí)驗(yàn)法。這些常規(guī)的設(shè)計(jì)方法在針對(duì)單個(gè)設(shè)計(jì)目標(biāo)時(shí),一般具有很好的效果。但在實(shí)際應(yīng)用中,往往是多個(gè)設(shè)計(jì)目標(biāo)同時(shí)出現(xiàn),而且經(jīng)常會(huì)出現(xiàn)各目標(biāo)之間互相矛盾和制約的問題,此時(shí),常規(guī)設(shè)計(jì)方法可能會(huì)失效。本文以四桿機(jī)構(gòu)中的曲柄搖桿機(jī)構(gòu)為例,針對(duì)一個(gè)實(shí)際應(yīng)用過程中多個(gè)優(yōu)化目標(biāo)的實(shí)現(xiàn),建立了相應(yīng)的數(shù)學(xué)模型,使用MATLAB 優(yōu)化工具箱,對(duì)具有多個(gè)目標(biāo)函數(shù)的數(shù)學(xué)模型進(jìn)行求解,討論了在特定條件下,各組不同解的優(yōu)劣性和滿足設(shè)計(jì)要求的取舍問題;并使用Pro/E 機(jī)構(gòu)運(yùn)動(dòng)仿真模塊對(duì)該求解結(jié)果進(jìn)行驗(yàn)證。此綜合方法為四桿機(jī)構(gòu)的多目標(biāo)優(yōu)化設(shè)計(jì)問題提供了一個(gè)很好的解決途徑。
曲柄搖桿機(jī)構(gòu)是鉸鏈四桿機(jī)構(gòu)中的一種,在實(shí)際工程應(yīng)用中,該型機(jī)構(gòu)應(yīng)用廣泛,如縫紉機(jī)踏板機(jī)構(gòu)、攪拌器機(jī)構(gòu)等[3]。要求設(shè)計(jì)一曲柄搖桿機(jī)構(gòu),能同時(shí)實(shí)現(xiàn)以下幾個(gè)要素[4]:
(1)為提高機(jī)構(gòu)的急回性能,極位夾角θ盡可能大(0°<θ≤17°);
(2)為改善機(jī)構(gòu)的傳力性能,當(dāng)該機(jī)構(gòu)曲柄與連桿重疊共線時(shí),最大壓力角αmax盡可能?。?°<αmax≤55°);
(3)該搖桿擺角Δψ=60°。
為更好地求解,現(xiàn)直觀地表示出該曲柄搖桿機(jī)構(gòu)的結(jié)構(gòu)參數(shù)示意圖,如下圖1所示:
圖1 曲柄搖桿機(jī)構(gòu)示意圖[3]
當(dāng)曲柄搖桿機(jī)構(gòu)的各桿長(zhǎng)值確定后,該機(jī)構(gòu)的搖桿擺角、最大壓力角及極位夾角都會(huì)確定下來,即該機(jī)構(gòu)的各項(xiàng)性能也能確定下來。這里,將搖桿擺角Δψ=60°這個(gè)目標(biāo)處理為無限接近60°這個(gè)目標(biāo)值,定義為一目標(biāo)函數(shù),求之同60°之差的絕對(duì)值的最小值。由上圖1及設(shè)計(jì)要求,可列出該設(shè)計(jì)的分目標(biāo)函數(shù)分別為:
由余弦定理,所以有:
這里,根據(jù)設(shè)計(jì)要求,極位夾角θ盡可能大為好。為了能實(shí)現(xiàn)用MATLAB編程求解,做一下處理,定義f1(x)=-|θ|。這樣就實(shí)現(xiàn)了f1(x),f2(x),f3(x)→min,滿足MATLAB 優(yōu)化工具箱對(duì)目標(biāo)函數(shù)的統(tǒng)一要求。對(duì)各目標(biāo)函數(shù)的范圍做進(jìn)一步明確:
1)為保證極位夾角盡可能大,確定極位夾角不小于10°,即10°≤θ≤17°,于是轉(zhuǎn)換成弧度,有:
2)由設(shè)計(jì)要素的條件得:
3)為保證搖桿的擺角Δψ盡可能接近60°,使-1°≤f3(x)≤1°,轉(zhuǎn)換成弧度,有:
曲柄搖桿機(jī)構(gòu)要滿足曲柄存在的條件。其中最長(zhǎng)桿與最短桿的長(zhǎng)度之和≤其他兩桿長(zhǎng)度之和;四桿中要有一個(gè)為最短桿。取l1=1,因此有:
MATLAB的優(yōu)化工具箱選用最佳方法來求解,初始參數(shù)輸入簡(jiǎn)單,語法特征符合數(shù)學(xué)表達(dá)式的書寫,編程工作量大大減少,有著很大的優(yōu)越性[5]。該優(yōu)化工具箱提供了一般和大型的非線性優(yōu)化函數(shù),同時(shí)還提供了線性規(guī)劃、二次規(guī)劃、非線性方程求解的工具。本例屬于一般非線性多目標(biāo)規(guī)劃問題,其標(biāo)準(zhǔn)型為:
調(diào)用MATLAB優(yōu)化工具箱中非線性規(guī)劃求解函數(shù)fgoalattain[6]來求解。其命令的基本格式:[X,fval,attainfactor,exitflag]=fgoalattain(@ObjFun,x0,goal,weight,A,B,Aeq,Beq,vlb,vub);其中各個(gè)參數(shù)的含義如下:ObjFun 為定義求解的多目標(biāo)函數(shù);x0為變量初值;A,B為約束函數(shù)中線性不等式約束的參數(shù);Aeq,beq為約束函數(shù)中線性等式約束的參數(shù);c(x),ceq(x)均為非線性函數(shù)組成的向量;vlb,vub分別是變量X 的下限和上限值;goal是目標(biāo)函數(shù)邊界組成的向量;Weight是目標(biāo)函數(shù)的權(quán)重值[7]。對(duì)于判斷求解是否有效可通過attainfactor和exitflag 兩個(gè)參數(shù)來確定:當(dāng)exitflag>0時(shí),表示所求的解收斂;當(dāng)attainfactor>0時(shí),表示目標(biāo)值沒有溢出goal。對(duì)于本例中求解最優(yōu)解,分兩個(gè)步驟進(jìn)行:
1)根據(jù)前文敘述的目標(biāo)函數(shù)表示法,建立M文件ObjFun.m,定義各個(gè)目標(biāo)函數(shù):
2)根據(jù)非線性多目標(biāo)規(guī)劃求解函數(shù)fgoalattain的形式,建立主程序qiujie.m 函數(shù):
針對(duì)多目標(biāo)優(yōu)化設(shè)計(jì),由于含有多個(gè)目標(biāo)值,各個(gè)目標(biāo)之間往往存在互相制約和矛盾的情況,而且各個(gè)目標(biāo)函數(shù)的權(quán)重值不好確定,因此非線性多目標(biāo)優(yōu)化結(jié)果往往很難準(zhǔn)確給出最優(yōu)結(jié)果。在使用MATLAB優(yōu)化工具箱求解時(shí),只有在明確了各個(gè)目標(biāo)函數(shù)的權(quán)重值時(shí),才有可能。此四桿機(jī)構(gòu)的優(yōu)化設(shè)計(jì)含有三個(gè)目標(biāo)函數(shù),在滿足不同的目標(biāo)函數(shù)權(quán)重值前提下,理論上滿足條件的解應(yīng)該是無窮多個(gè)。現(xiàn)在令各目標(biāo)函數(shù)權(quán)重值weight=0.3333,即在各目標(biāo)函數(shù)同等重要的情況下,在不同桿長(zhǎng)度段初始值運(yùn)行程序進(jìn)行搜索,得出滿足該設(shè)計(jì)目標(biāo)的優(yōu)化值,現(xiàn)取桿長(zhǎng)初值x0 =[2 2 2]~[6 6 6]時(shí),各組解的情況,列表如下:
表1 相同目標(biāo)函數(shù)比重值時(shí)的優(yōu)化結(jié)果
由上表數(shù)據(jù)可以看出,滿足該多目標(biāo)優(yōu)化解的結(jié)果很多,通過表中數(shù)據(jù)可以確定第二組解是相對(duì)最 優(yōu)解,其 中:l1=1,l2=2.9513,l3=2.1433,l4=2.8873。
仿真的重要工具是計(jì)算機(jī)和仿真軟件,Pro/E操作軟件是美國參數(shù)技術(shù)公司(PTC)旗下CAD/CAM/CAE一體化的三維軟件[8]。將以上所求的曲柄、連接桿、搖桿和固定桿長(zhǎng)值都擴(kuò)大100倍,在Pro/E軟件中進(jìn)行尺寸設(shè)計(jì)、裝配并設(shè)置連接后,添加驅(qū)動(dòng)器伺服電動(dòng)機(jī),進(jìn)行運(yùn)動(dòng)仿真,當(dāng)曲柄與連架桿運(yùn)動(dòng)到重疊共線時(shí),仿真狀態(tài)位置圖如下圖所示:
圖2 四桿機(jī)構(gòu)運(yùn)動(dòng)仿真位置圖
經(jīng)過Pro/E 軟件運(yùn)動(dòng)仿真,該組結(jié)構(gòu)參數(shù)完全滿足此多目標(biāo)優(yōu)化設(shè)計(jì)的要求,搖桿擺角為60°,極位夾角相對(duì)最優(yōu),最大壓力角也滿足要求。
在進(jìn)行四桿機(jī)構(gòu)及其他類型機(jī)構(gòu)的多目標(biāo)優(yōu)化設(shè)計(jì)時(shí),對(duì)于各個(gè)目標(biāo)函數(shù)做統(tǒng)一邊界處理,明確各目標(biāo)函數(shù)在整個(gè)數(shù)學(xué)模型中的權(quán)重值和所要設(shè)計(jì)的機(jī)械性能特性,應(yīng)用多目標(biāo)優(yōu)化設(shè)計(jì)的線性加權(quán)法[9],使用MATLAB 優(yōu)化工具箱,進(jìn)行程序編制,找出滿足條件的解,再進(jìn)行性能相對(duì)比較分析,尋找到比較適合各設(shè)計(jì)目標(biāo)的最優(yōu)解,最終通過Pro/E軟件進(jìn)行運(yùn)動(dòng)仿真,將在MATLAB軟件中求解的數(shù)據(jù)導(dǎo)入到Pro/E 軟件中,對(duì)結(jié)果進(jìn)行驗(yàn)證。該方法具有方便、快捷、高效和準(zhǔn)確的特點(diǎn),為較好地解決四桿機(jī)構(gòu)多目標(biāo)優(yōu)化設(shè)計(jì)問題提供了一個(gè)途徑。
[1]包家漢,裴令明,謝能剛,等.機(jī)構(gòu)多目標(biāo)優(yōu)化與博弈決策設(shè)計(jì)[J].安徽工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,(4):108-111.
[2]林宗良.機(jī)械設(shè)計(jì)基礎(chǔ)[M].北京:人民郵電出版社,2009,(4):105-115.
[3]吳義成.曲柄搖桿機(jī)構(gòu)再現(xiàn)已知運(yùn)動(dòng)規(guī)律的優(yōu)化求解[J].裝備制造技術(shù),2011,(10):42-44.
[4]孫靖民,梁迎春.機(jī)械優(yōu)化設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2006.
[5]席平原.應(yīng)用MATLAB工具箱實(shí)現(xiàn)機(jī)械優(yōu)化設(shè)計(jì)[J].機(jī)械設(shè)計(jì)與研究,2003,(6):40-42.
[6]蔡旭暉,劉衛(wèi)國,蔡立燕.MATLAB 基礎(chǔ)與應(yīng)用教程[M].北京:人民郵電出版社,2009.
[7]覃金彩,史彬華,江全才.基于Matlab的V 帶傳動(dòng)多目標(biāo)優(yōu)化設(shè)計(jì)[J].三峽大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,33(3):101-102.
[8]周曉平,張?jiān)评?,朱雙霞.基于Pro/E的攪拌器參數(shù)化運(yùn)動(dòng)仿真設(shè)計(jì)[J].煤礦機(jī)械,2012,(3):255-256.
[9]朱延飛,王剛,姚養(yǎng)無.平面組合連桿機(jī)構(gòu)的多目標(biāo)優(yōu)化設(shè)計(jì)及仿真[J].火炮發(fā)射與控制學(xué)報(bào),2008,(12):94-96.