楊 帆,周麗紅
(武漢科技大學(xué)城市學(xué)院,武漢 430083)
連桿機(jī)構(gòu)是機(jī)構(gòu)學(xué)的主要研究對象,可以實(shí)現(xiàn)多種多樣的運(yùn)動,滿足不同運(yùn)動軌跡和位置的要求[1]。連桿機(jī)構(gòu)的桿與桿之間通常采用低副連接,適合于高速重載[2]。連桿機(jī)構(gòu)中最典型的是四桿機(jī)構(gòu),四桿機(jī)構(gòu)因結(jié)構(gòu)簡單、容易加工和運(yùn)動可靠等優(yōu)點(diǎn),廣泛應(yīng)用于化工、農(nóng)業(yè)、海洋及航空領(lǐng)域。但是,四桿機(jī)構(gòu)運(yùn)動規(guī)律也變得越來越復(fù)雜,運(yùn)動軌跡產(chǎn)生的誤差也隨之增大。因此,如何降低四桿機(jī)構(gòu)運(yùn)動軌跡誤差,是當(dāng)前研究四桿機(jī)構(gòu)急需解決的問題之一。
當(dāng)前,研究人員采用多種方法對四桿機(jī)構(gòu)運(yùn)動軌跡精度展開了研究。例如:文獻(xiàn)[3]采用誤差函數(shù)法研究了四桿機(jī)構(gòu)運(yùn)動軌跡的位置精度。針對四桿機(jī)構(gòu)提出了修正距離誤差函數(shù),通過Matlab軟件對軌跡誤差進(jìn)行了仿真,提高了運(yùn)動軌跡精度,但是研究的等價(jià)因數(shù)不夠全面,不具有代表性。文獻(xiàn)[4]采用遺傳算法研究了四桿機(jī)構(gòu)運(yùn)動軌跡所產(chǎn)生的誤差,并且對運(yùn)動軌跡誤差進(jìn)行了仿真,提高了運(yùn)動軌跡精度,但是遺傳算法搜索過程中,容易陷入局部最優(yōu)解。文獻(xiàn)[5]采用VC++研究了平面四桿機(jī)構(gòu)運(yùn)動軌跡的定位精度,通過復(fù)雜的數(shù)學(xué)模型和編程語言,實(shí)現(xiàn)了人機(jī)交互功能,操作簡單可靠,提高了四桿機(jī)構(gòu)運(yùn)動軌跡精度,但是數(shù)學(xué)建模比較困難,還要學(xué)習(xí)復(fù)雜的編程語言程序。針對以上問題,本文采用改進(jìn)粒子群算法研究四桿機(jī)構(gòu)運(yùn)動軌跡誤差,不僅搜索最優(yōu)解的速度快,而且運(yùn)動精度高。創(chuàng)建平面四桿機(jī)構(gòu)簡圖模型,根據(jù)數(shù)學(xué)幾何關(guān)系式,推導(dǎo)運(yùn)動軌跡點(diǎn)的平面坐標(biāo)關(guān)系式。確定優(yōu)化的設(shè)計(jì)變量參數(shù),構(gòu)造優(yōu)化的誤差函數(shù),并且添加幾何約束條件。采用改進(jìn)粒子群算法優(yōu)化四桿機(jī)構(gòu)設(shè)計(jì)變量,優(yōu)化后的四桿機(jī)構(gòu)運(yùn)動軌跡誤差采用Matlab軟件進(jìn)行仿真,并且,與優(yōu)化前的四桿機(jī)構(gòu)運(yùn)動軌跡誤差形成對比,為深入研究四桿機(jī)構(gòu)運(yùn)動軌跡誤差提供了理論依據(jù)。
四桿機(jī)構(gòu)在平面坐標(biāo)系中簡圖及連桿參數(shù)如圖1所示。
圖1 四桿機(jī)構(gòu)運(yùn)動簡圖
在圖1中,(x0,y0)表示四桿機(jī)構(gòu)機(jī)架端點(diǎn)O2在平面坐標(biāo)系中的位置,φ1表示機(jī)架旋轉(zhuǎn)的角度,φ2表示輸入桿運(yùn)動的角度,G表示運(yùn)動軌跡點(diǎn),s1表示機(jī)架的長度,s2表示輸入桿的長度,s3表示連接桿的長度,s4表示輸出桿的長度,sGX和sGY表示運(yùn)動軌跡點(diǎn)G的橫向與縱向的長度,φ3表示連接桿s3運(yùn)動的角度。根據(jù)圖1可以寫出機(jī)構(gòu)各桿所構(gòu)成的矢量封閉方程式[6]如下所示:
s2+s3-s4-s1=0
(1)
上式采用復(fù)數(shù)表示如下所示[6]:
s2eiφ2+s3eiφ3-s4eiφ4-s1eiφ1=0
(2)
假設(shè)φ1=0,方程式(2)的實(shí)部和虛部變換后如下所示:
(3)
公式(3)變換后可以得到:
(4)
求解方程式(4)得φ3、φ4如下所示:
(5)
式中,A=cosφ2-K1-K2cosφ2+K3,B=E=-2sinφ2,C=K1- (K2+1)cosφ2+K3,D=cosφ2-K1+K4cosφ2+K5,F(xiàn)=K1+K5+(K4-1)cosφ2。
因此,運(yùn)動軌跡點(diǎn)G在O-XY坐標(biāo)系中橫坐標(biāo)和縱坐標(biāo)方程式分別為:
(6)
式中,GXs=s2cosφ2+sGXcosφ3-sGYsinφ3,GYs=s2sinφ2+sGXsinφ3-sGYcosφ3。
四桿機(jī)構(gòu)在運(yùn)動過程中,G點(diǎn)的運(yùn)動軌跡主要受以下參數(shù)的影響,分別為s1、s2、s3、s4、sGX、sGY、x0、y0、φ1和φ2。因此,設(shè)計(jì)變量選擇以上10個參數(shù)進(jìn)行優(yōu)化,如下所示:
(7)
式中,φ2n表示φ2的n等份位置角度。
(8)
在沒有限定的時(shí)間內(nèi),四桿機(jī)構(gòu)不同的輸入角度φ2i對應(yīng)于不同的運(yùn)動軌跡點(diǎn)Gi,實(shí)際運(yùn)動軌跡點(diǎn)Gi通過輸入角φ2i構(gòu)成的集合如下所示:
(9)
因此,四桿機(jī)構(gòu)運(yùn)動軌跡點(diǎn)G的第一部分誤差函數(shù)[7]如下所示:
(10)
式中,N表示運(yùn)動軌跡點(diǎn)的數(shù)量。
四桿機(jī)構(gòu)在運(yùn)動過程中,必然會受到一些附加條件的約束,通過設(shè)置這些約束條件,從而推導(dǎo)出第二部分的誤差函數(shù)。約束條件主要包括以下幾個部分:
(1)根據(jù)格拉曉夫準(zhǔn)則[8],四桿機(jī)構(gòu)存在曲柄的條件是至少有一個連桿能夠做整周旋轉(zhuǎn)運(yùn)動,各個連桿的長度滿足以下關(guān)系式:
(11)
(2)按照從小到大或從大到小排列輸入角度φ2i,φ2i角度取值范圍為[0,2π]。
(3)設(shè)計(jì)參數(shù)變量取值范圍必須為正值。
根據(jù)以上兩個部分,最終確定的誤差函數(shù)如下所示:
(12)
式中,當(dāng)四桿機(jī)構(gòu)滿足格拉曉夫準(zhǔn)則時(shí),h1(X)=0;當(dāng)四桿機(jī)構(gòu)不滿足格拉曉夫準(zhǔn)則時(shí),h1(X)=1,輸入角φ2滿足排列序列時(shí),h2(X)=0;輸入角φ2不滿足排列序列時(shí),h2(X)=1;M1和M2表示懲罰誤差函數(shù)約束因子。
粒子群算法是一種仿生算法,主要是通過模擬鳥類的捕食過程,在N維空間中移動每個粒子,從而搜索到全局的最優(yōu)值[9]。粒子群優(yōu)化算法就是不斷的更新極值點(diǎn)而實(shí)現(xiàn)最小值或最大值的只能算法。在粒子群算法中,關(guān)鍵是要平衡局部搜索能力和全局搜索能力。
在O-XY平面內(nèi),引入慣性權(quán)重ω來平衡局部搜索能力和全局搜索能力,粒子群的位置和速度計(jì)算公式如下所示[10]:
(13)
(14)
采用線性方式修改慣性權(quán)重系數(shù),修改后的慣性權(quán)重如下所示:
(15)
式中,ωmax表示初始權(quán)重,ωmin表示最終權(quán)重,iter表示當(dāng)前迭代數(shù),itermax表示最大迭代數(shù)。
本文采用的改進(jìn)粒子群算法是通過修改約束因子χ,使粒子速度vi+1=χ(vi)。修改后的約束因子可以增加粒子群算法的綜合性能,約束因子的計(jì)算公式如下所示:
(16)
(17)
采用改進(jìn)粒子群算法優(yōu)化四桿機(jī)構(gòu)運(yùn)動軌跡誤差的流程圖如圖2所示。
圖2 四桿機(jī)構(gòu)優(yōu)化流程圖
四桿機(jī)構(gòu)誤差函數(shù)采用改進(jìn)粒子群算法進(jìn)行優(yōu)化,初始參數(shù)設(shè)置如下:種群數(shù)量為100,種群最大迭代次數(shù)為500,交叉概率為0.85,變異概率為0.75,約束因子為0.72,κ=1.0,θ=4.1,c1=c2=2。四桿機(jī)構(gòu)采用改進(jìn)粒子群算法優(yōu)化后的幾何參數(shù)如表1所示。
G點(diǎn)實(shí)際運(yùn)動軌跡誤差采用Matlab軟件進(jìn)行仿真,G點(diǎn)橫向和縱向的運(yùn)動軌跡誤差仿真結(jié)果分別如圖4、圖5所示。6個指定點(diǎn)的橫向和縱向優(yōu)化前后平均誤差如表2所示。
表1 四桿機(jī)構(gòu)幾何參數(shù)優(yōu)化結(jié)果
續(xù)表
圖3 6個目標(biāo) 運(yùn)動軌跡點(diǎn) 圖4 橫向誤差 仿真曲線 圖5 縱向誤差 仿真曲線
指定點(diǎn)優(yōu)化前優(yōu)化后單位橫向平均誤差0.4980.358mm縱向平均誤差0.5920.325mm
由圖4誤差仿真曲線可知,優(yōu)化前,四桿機(jī)構(gòu)G點(diǎn)橫向運(yùn)動軌跡產(chǎn)生的最大誤差值為1.0×10-3m;優(yōu)化后,四桿機(jī)構(gòu)G點(diǎn)橫向運(yùn)動軌跡產(chǎn)生的最大誤差值為0.7×10-3m;G點(diǎn)產(chǎn)生的最大橫向誤差降低了30.0%。由圖5誤差仿真曲線可知,優(yōu)化前,四桿機(jī)構(gòu)G點(diǎn)縱向運(yùn)動軌跡產(chǎn)生的最大誤差值為0.9×10-3m;優(yōu)化后,四桿機(jī)構(gòu)G點(diǎn)縱向運(yùn)動軌跡產(chǎn)生的最大誤差值為0.5×10-3m;G點(diǎn)產(chǎn)生的最大縱向誤差降低了44.4%。由表2可知,優(yōu)化后橫向平均相對誤差降低了21.1%,優(yōu)化后縱向平均相對誤差降低了45.1%。因此,四桿機(jī)構(gòu)幾何參數(shù)采用改進(jìn)粒子群算法進(jìn)行優(yōu)化,G點(diǎn)運(yùn)動軌跡產(chǎn)生的橫向和縱向誤差較小,從而提高了四桿機(jī)構(gòu)運(yùn)動軌跡精度。
本文在二維坐標(biāo)系中建立平面四桿機(jī)構(gòu)運(yùn)動簡圖,構(gòu)造優(yōu)化目標(biāo)函數(shù),引用改進(jìn)粒子群算法優(yōu)化平面四桿機(jī)構(gòu)幾何參數(shù),將優(yōu)化結(jié)果輸入到Matlab軟件中進(jìn)行運(yùn)動軌跡點(diǎn)誤差仿真。仿真結(jié)果表明,優(yōu)化后四桿機(jī)構(gòu)運(yùn)動軌跡點(diǎn)的橫向和縱向平均誤差降低,在相同條件下,縱向誤差優(yōu)化效果比橫向誤差更好,采用改進(jìn)粒子群算法優(yōu)化四桿機(jī)構(gòu)幾何參數(shù),其運(yùn)動軌跡定位精度更高,運(yùn)動性能更好,提高了四桿機(jī)構(gòu)運(yùn)動的穩(wěn)定性。