周 昇
(南通職業大學 機械工程學院,江蘇 南通226007)
自動推料機構屬于多桿機構,用傳統的方法設計多桿機構時,先要初步確定多桿機構的部分結構參數,接著進行計算其它結構參數,如果所得結果不符合設計要求,以上過程要重復進行,直至滿足設計要求。因此用傳統的方法設計多桿機構,設計時間長,工作量大,而且設計結果不一定是最優的設計[1]。如果能建立多桿機構優化設計的數學模型,并且將多桿機構的基本結構參數(桿長、節點坐標)作為設計變量,體積最小和效率最高作為目標函數,運動連續性和空間結構等要求作為設計約束條件,運用MATLAB編制多桿機構優化設計程序,就可以方便快速計算出符合設計要求且體積最小效率率最高的自動推料機構。
在工程實際問題中,如果同時要求兩個或兩個以上目標函數達到最優值,就稱為多目標優化設計問題。多目標優化設計數學模型的表達式為:

多目標優化問題求解的方法主要是構建合適的評價函數。評價函數是由單目標函數組合而成的。單目標函數的求解可以用MATLAB優化工具箱中的函數fmincon來實現,其調用格式為:
[x,fval]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)
如圖1為自動推料機構,它的主體機構是六桿機構,這個六桿機構是由一個曲柄搖桿機構和一個搖桿滑塊機構串聯組成。曲柄1鉸接在機架6的A點,連桿A一端與曲柄1鉸接,另一端與搖桿3在C點鉸接,搖桿3與機架6在D點鉸接,連桿B一端與搖桿在E點鉸接,另一端與滑塊5在F點鉸接,滑塊5與機架用移動副連接。曲柄1繞A點轉動,連桿A帶動搖桿3繞D點擺動,連桿B帶動滑塊5沿機架6上的軌道往復移動。構件的長度AB、AD、BC、CE、ED、EF,偏距e是機構的基本結構參數,可將它們作為設計變量,所以一共是7個變量。變量基本尺寸如表1所示。

圖1 自動推料機構

表1 自動推料機構基本尺寸
曲柄搖桿機構的急回特性系數為k=1.2,圖1畫出了曲柄運動的兩個極限位置(曲柄和連桿A重合在一條線上),角度q為極位夾角。

滑塊的行程為100 mm.

目標函數主要反映機構工作時的經濟成本,當連桿B與水平線夾角P即壓力角最小時機構阻力最小工作效率最高,所以可將壓力角設定為一個目標函數 f1(x).
在現位置時,連桿B擺動到最高點,此時壓力角p獲得向上的最大值p1,此時r為r1,根據余弦定理:

為敘述簡單,將(4)式編成函數

(見后面程序),所以在△ADC中有:

根據正弦定理,在△EFG中有:

B點移動到B1位置時,連桿B擺動到最低點,此時壓力角p獲得向下的最大值p2,此時r為r2,對比上面此時在△ADC中:

另一個目標函數放f2(x)設定為機構的總體尺寸(機構寬度×長度)最小。


2.3.1 非線性不等式約束
在由AB、BC、CD、AD組成的曲柄搖桿機構中要實現正常的曲柄搖桿運動,AB應為最短桿,即AB 2.3.2 非線性等式約束 整個機構要滿足行程要求,即 因為r= π -t而 cos(π-a)=-cos a所以 必須符合k=1.2的急回特性 根據余弦定理,在△ADC中有: 2.4.1 主運行程序 %腳本main %定義起始點 x0=[50 160 200 40 120 300 50] %定義函數自變量的下界 l b=[30 120 170 20 80 260 30] %定義函數自變量的上界 ub=[70 200 230 60 160 340 70] %調用函數fmincon [x,fval,exitflag,output]=fmincon(@objfun,x0,[],[],[],[],lb,ub,@confun) x,fval,exitflag,output 2.4.2 已知三邊求角函數cosnie(余弦定理) %編寫余弦定理函數cosnie function C=cosine(a,b,c) C=a cos((a2+b2-c2)/(2×a×b)) end 2.4.3 目標函數objfun %編寫目標函數objfun function f=objfun(x) r1=cosine(x(2),x(4)+x(5),x(1)+x(3));%調用余弦函數 p1=a sin(( x(5)× sin(r1)-x(7))/x(6)) f1=abs(p1) r2=cosine(x(2),x(4)+x(5),x(3)-x(1)) p2=a sin(( x(5)× sin(r2)-x(7))/x(6)) if abs(p2)>abs(p1) f1=abs(p2);end f1=57.3×f1 f2=(x(2)+x(6))×(x(1)+x(3)) f=f1×105+f2 end 2.4.4 約束的函數confun %編寫描述非線性等式和不等式約束的函數 function[c q]=confun(x) %非線性不等式約束 c(1)=x(1) -x(2) c(2)=x(1) -x(3) c(3)=x(1) -x(4)-x(5) c(4)=x(2) -x(3) c(5)=x(4) +x(5)-x(3) c(6)=x(1) +x(3)-x(2)-x(4) -x(5) c(7)=x(7)-x(4)-x(5) %非線性等式約束 r1=cosine(x(2),x(4)+x(5),x(1)+x(3)) p1=asin(( x(5)× sin(r1)-x(7))/x(6)) r2=cosine(x(2),x(4)+x(5),x(3)-x(1)) p2=asin(( x(5)×sin(r2)-x(7))/x(6)) q(1)=x(5)×(cos(r2)-cos(r1))+x(6)×(cos(p1)-cos(p2))-100 q1=57.3×cosine(x(2),x(1)+x(3),x(4)+x(5)); q2=57.3×cosine(x(2),x(3)-x(1),x(4)+x(5)); q(2)=q2-q1-16.36; end 運行程序后可得: x=57 176 195 20 80 260 62 將優化前后進行對比建立表2,從表2可以看出,經過優化設計后的自動推料機構由于p的減小,連桿B差不多一直保持在水平狀態,因此工作阻力減少,整個機構的工作效率提高,驅動曲柄的電動機功率減少了35%.同時自動推料機構所占空間也減少了8%,優化的效果是非常明顯的。 表2 自動推料機構優化前后對比表 綜上所述,基于MATLAB優化工具箱的機構設計方法,在滿足使用要求,保證使用性能的前提下,與傳統設計方法比較,可以設計出體積較小,效率較高的自動推料機構,同時也節省設計時間、減小設計難度,是對傳統設計的重大改進。經驗也同時證明,用MATLAB優化工具箱求解機械機構的優化問題,是非常明智的選擇。 [1]孫開元.常見機構設計及應用圖例[M].北京:化學工業出版社,2013:20-21. [2]趙繼俊.優化技術與MATLAB優化工具箱[M].北京:機械工業出版社,2011:166-171. [3]李萬祥.工程優化設計與MATLAB實現[M].北京:清華大學出版社,2010:251-259. [4]秦大同.機構設計[M].北京:化學工業出版社,2014:61-70.




2.4 自動推料機構優化設計的MATLAB代碼[3]

3 結束語