薛邵文,林乃昌*
(1.瀘州職業(yè)技術(shù)學(xué)院 機(jī)械工程學(xué)院,四川 瀘州 646005;2.四川省瀘州市智能制造重點(diǎn)實(shí)驗(yàn)室,四川 瀘州 646005)
在機(jī)械裝備運(yùn)動(dòng)副中,間隙的存在在所難免。由于過(guò)大或者過(guò)小的間隙都會(huì)引起運(yùn)動(dòng)系統(tǒng)接觸的碰撞,從而也會(huì)引起系統(tǒng)穩(wěn)定性、精度和可靠性的降低,甚至使得系統(tǒng)失效或降低其使用壽命[1-2]。因此,運(yùn)動(dòng)副中存在間隙問(wèn)題帶來(lái)的負(fù)面影響需要加以研究和解決。
目前,有關(guān)運(yùn)動(dòng)副中間隙問(wèn)題的研究重點(diǎn)主要聚焦于含間隙系統(tǒng)建模以及誤差補(bǔ)償方面[3-6]。李研彪等[7]采用牛頓-歐拉法,并結(jié)合拉格朗日乘子建立了含間隙空間并聯(lián)機(jī)構(gòu)的動(dòng)力學(xué)模型,但該模型計(jì)算量龐大,搭建模型過(guò)程復(fù)雜;郭嘉楠等[8]針對(duì)機(jī)構(gòu)中旋轉(zhuǎn)鉸的結(jié)構(gòu)特點(diǎn),建立了一種兼顧能量損失和粗糙接觸面動(dòng)力學(xué)特性的碰撞模型,因?yàn)榻.?dāng)中需要忽略一些有關(guān)間隙方面的參數(shù),使得該模型不能很好地反應(yīng)機(jī)構(gòu)的實(shí)際運(yùn)動(dòng)情況;宿月文等[9]針對(duì)多體系統(tǒng),提出了一種基于查找表的間隙球鉸接觸區(qū)域檢索和磨損預(yù)測(cè)方法,但是這種方法要基于先驗(yàn)知識(shí),存在一定的主觀性;孫東陽(yáng)[10]利用非線性彈簧阻尼模型,建立了諧波齒輪傳動(dòng)的含間隙機(jī)構(gòu)的接觸碰撞動(dòng)力學(xué)模型,但該模型不便于參數(shù)的辨識(shí);陳渭等[11]提出了一種求解含間隙曲柄滑塊機(jī)構(gòu)副反力的靜態(tài)間隙桿算法,但此種算法建立的模型存在隨機(jī)性,不夠準(zhǔn)確。
通過(guò)以上的分析表明,盡管針對(duì)含間隙系統(tǒng)建模所進(jìn)行的研究已有很多,但是這些建模方法大都存在計(jì)算繁雜、模型搭建過(guò)程復(fù)雜、系統(tǒng)模型精度不高等特點(diǎn)。而目前針對(duì)間隙帶的誤差補(bǔ)償?shù)南嚓P(guān)研究還很少。
針對(duì)以上問(wèn)題,筆者以實(shí)際的曲柄滑塊機(jī)構(gòu)為研究對(duì)象,在確定系統(tǒng)中間隙存在的位置之后,結(jié)合改進(jìn)的PSO算法進(jìn)行系統(tǒng)辨識(shí),建立含間隙曲柄滑塊機(jī)構(gòu)模型,并運(yùn)用自適應(yīng)魯棒控制器,對(duì)間隙產(chǎn)生的誤差進(jìn)行補(bǔ)償。
粒子群優(yōu)化(PSO)算法是由美國(guó)的KENNEDY和EBERHART依據(jù)Boid模型而提出的一種基于群智能的并行全局優(yōu)化算法[12]。該算法將所有潛在解搜索空間處于D維空間中,假設(shè)粒子群中有N個(gè)粒子,每個(gè)粒子的位置和空間狀態(tài)分別用向量Xi(t)和Vi(t)表示;第i個(gè)粒子搜索到的最優(yōu)位置記作Pbesti(t),而當(dāng)前搜索到的最優(yōu)位置可由Gbest(t)來(lái)計(jì)算。
第i個(gè)粒子的速度和位置可以根據(jù)以下兩式來(lái)進(jìn)行更新:
(1)
(2)
1.2.1 慣性因子w的改進(jìn)
為了增強(qiáng)算法的全局和局部最優(yōu)值的搜索能力,SHI等[13]研究了慣性因子w的線性調(diào)整方法,即在迭代過(guò)程中線性減小慣性權(quán)重值,如下式所示:
(3)
式中:t—當(dāng)前迭代次數(shù);tmax—最大迭代次數(shù);wstart—初始慣性因子;wend—最大迭代次數(shù)時(shí)的慣性因子。
SHI等[14]發(fā)現(xiàn)當(dāng)wstart=0.95,wend=0.4時(shí),PSO算法的性能最好。但是,慣性因子并非一成不變,需要按照優(yōu)化對(duì)象自己的特點(diǎn),進(jìn)行某種線性或是非線性減小,然而使用線性減小的慣性因子存在“早熟”收斂和收斂精度比較低的問(wèn)題。為了避免該問(wèn)題出現(xiàn),需要尋找一條和優(yōu)化對(duì)象相適應(yīng)的慣性因子。
在尋優(yōu)初期,為增加算法的全局搜索能力,慣性因子應(yīng)隨種群多樣性的增加而增加;在尋優(yōu)后期,為了增加算法的局部搜索能力,慣性因子則應(yīng)隨種群多樣的減少而遞減[15]。
按照以上原則,此處的慣性因子w不再是線性遞減,而是采用非線性遞減方式來(lái)進(jìn)行設(shè)置,即:
(4)
式中:wmin—慣性因子最小值;wmax—慣性因子最大值。
(5)
(6)
式中:M—較大的正數(shù)。
M為所有f(Xi)中最大的修正,此處M取為:
M=max(f(Xi))×1.01+0.01
(7)
含間隙曲柄滑塊機(jī)構(gòu)的參數(shù)辨識(shí)就是僅僅知道含間隙系統(tǒng)的輸入和輸出,按照一定的準(zhǔn)則在一類曲柄滑塊機(jī)構(gòu)模型中,選擇一個(gè)與含間隙系統(tǒng)數(shù)據(jù)擬合得最好的模型,使得在辨識(shí)過(guò)程中通過(guò)不斷調(diào)用改進(jìn)的PSO辨識(shí)算法進(jìn)行參數(shù)修正,當(dāng)誤差函數(shù)的最小值滿足要求時(shí),此時(shí)的參數(shù)就是最優(yōu)辯識(shí)系統(tǒng)的參數(shù)。
參數(shù)辨識(shí)原理圖如圖1所示。
圖1 參數(shù)辨識(shí)原理圖u(k)—輸入信號(hào);yo(k)—未加干擾信號(hào)輸出;v(k)—干擾信號(hào);z(k)—加入干擾信號(hào)后系統(tǒng)輸出;y(k)—辨識(shí)模型輸出;e(k)—誤差信號(hào)
理想曲柄滑塊(忽略O(shè)、A和B3處間隙)示意簡(jiǎn)圖如圖2所示。
圖2 含間隙曲柄滑塊機(jī)構(gòu)示意圖θ2—曲柄轉(zhuǎn)角;θ3—連桿轉(zhuǎn)角;R2—曲柄長(zhǎng)度;R3—連桿長(zhǎng)度;R1—滑塊位移
該理想機(jī)構(gòu)的矢量方程式為:
R2+R3=R1
(8)
將該矢量方程分別在X軸和Y軸上進(jìn)行分解,可得:
R2cosθ2+R3cosθ3=R1
(9)
R2sinθ2+R3sinθ3=0
(10)
圖2中,O、A和B3點(diǎn)代表實(shí)際曲柄滑塊機(jī)構(gòu)中存在的間隙位置,由于間隙的存在運(yùn)用傳統(tǒng)的方法建立含間隙曲柄滑塊機(jī)構(gòu)的模型就過(guò)于復(fù)雜,也不利于實(shí)際應(yīng)用,因此,為了建立更加準(zhǔn)確的模型,降低建模難度,同時(shí)兼顧收斂速度,筆者采用改進(jìn)的PSO算法來(lái)對(duì)該機(jī)構(gòu)參數(shù)進(jìn)行辨識(shí)。
在機(jī)構(gòu)運(yùn)行過(guò)程中,將O、A和B3處的間隙分解到連桿和曲柄,則連桿和曲柄的長(zhǎng)度就是以時(shí)間為變量的函數(shù),通過(guò)相應(yīng)的傳感器進(jìn)行測(cè)量,就可以得到曲柄和連桿長(zhǎng)度隨時(shí)間的變化規(guī)律,最后運(yùn)用式(9,10)即可推導(dǎo)出滑塊位移R1的變化規(guī)律,如下式所示:
(11)
因此,為得到R2和R3的變化規(guī)律,就需要運(yùn)用傳感器測(cè)量曲柄轉(zhuǎn)角θ2和連桿轉(zhuǎn)角θ3的數(shù)據(jù)。
參數(shù)辨識(shí)所需的實(shí)驗(yàn)平臺(tái)如圖3所示。
圖3 實(shí)驗(yàn)平臺(tái)
筆者依據(jù)圖3中搭建的實(shí)驗(yàn)平臺(tái),進(jìn)行所需數(shù)據(jù)θ2和θ3的測(cè)量。
實(shí)驗(yàn)平臺(tái)中的相關(guān)參數(shù)如表1所示。
表1 實(shí)驗(yàn)平臺(tái)參數(shù)
傳感器用于采集曲柄轉(zhuǎn)角、連桿傾角和滑塊位移的輸入信號(hào),采集頻率為0.005 s,時(shí)間為60 s,曲柄轉(zhuǎn)速為5 r/min,輸出電壓值為0.3 V[16]。
最后在實(shí)驗(yàn)平臺(tái)調(diào)試成功后,筆者開始進(jìn)行實(shí)測(cè),并保存相應(yīng)的實(shí)驗(yàn)數(shù)據(jù)。
所測(cè)得的實(shí)驗(yàn)數(shù)據(jù)是傳感器的輸出電壓信號(hào),所以必須要轉(zhuǎn)換成θ2和θ3的角度,即:
θ3=π(0.25V-0.625)
(12)
式中:V—傾角傳感器的輸出電壓值。
轉(zhuǎn)換角度后,可以分別得到曲柄轉(zhuǎn)角θ2、連桿轉(zhuǎn)角θ3、滑塊位移R1與時(shí)間之間的關(guān)系。
含間隙曲柄滑塊機(jī)構(gòu)的參數(shù)辨識(shí)步驟如下:
(1)獲取曲柄轉(zhuǎn)角θ2、連桿轉(zhuǎn)角θ3、滑塊位移R1這3組數(shù)據(jù)量,根據(jù)采集測(cè)得的12 000組數(shù)據(jù)分別計(jì)算出θ2和θ3的正弦值和余弦值,作為樣本;
(2)在辨識(shí)所需數(shù)據(jù)選取結(jié)束后,執(zhí)行改進(jìn)的PSO算法。SHI[17]認(rèn)為一般種群規(guī)模M取50較好;模型的粒子維數(shù)D=2(求解的未知數(shù)個(gè)數(shù)),學(xué)習(xí)因子取k1=k2=2時(shí),尋優(yōu)能力最好。
最大迭代次數(shù)tmax=200,wmax=0.6,wmin=0.4,適應(yīng)度函數(shù)f(x)為:
(13)
式中:yi—采樣數(shù)據(jù)輸出;f(ui,θ)—辨識(shí)參數(shù)的輸出;C—大于0的常數(shù);ui,θ—待辨識(shí)系統(tǒng)的輸入?yún)?shù);E—目標(biāo)函數(shù)。
在這里,E和f(x)互為倒數(shù),誤差越小則適應(yīng)值越大,反映了該粒子性能越好,反之越差;
(3)將初始化的粒子個(gè)體代入式(5~7,13)中,計(jì)算出適應(yīng)度值,并通過(guò)比較得到局部最優(yōu)解Pbesti(t)和全局最優(yōu)解Gbesti(t);
(4)按照適應(yīng)度值的高低對(duì)粒子個(gè)體進(jìn)行排序,并根據(jù)式(1,2)來(lái)更新個(gè)體粒子的速度和位置;
(5)依據(jù)更新后的粒子位置,計(jì)算適應(yīng)度函數(shù)f(x)的值;當(dāng)?shù)趉代和k+1代的適應(yīng)度函數(shù)f(x)<5×10-4,E<10-6時(shí),停止搜索,此時(shí)函數(shù)收斂;
(6)否則,返回步驟(3),循環(huán)更新,進(jìn)行下一次迭代,直到達(dá)到需求的精度或種群最大迭代次數(shù),算法結(jié)束;如此即可得到模型參數(shù)辨識(shí)后,曲柄長(zhǎng)度R2和連桿長(zhǎng)度R3的最優(yōu)參數(shù)。
將參數(shù)辨識(shí)后的曲柄長(zhǎng)度R2和連桿長(zhǎng)度R3代入式(11)中,得到滑塊位移R1的變化規(guī)律。
采用改進(jìn)的PSO參數(shù)辨識(shí)輸出結(jié)果和實(shí)測(cè)結(jié)果對(duì)比如圖4所示。
圖4 辨識(shí)結(jié)果和實(shí)測(cè)結(jié)果對(duì)比
由圖4可以看出,采用改進(jìn)的PSO所辨識(shí)的滑塊位移R3仿真結(jié)果與實(shí)測(cè)的曲柄滑塊機(jī)構(gòu)的運(yùn)動(dòng)軌跡的變化趨勢(shì)基本是一致的。但是在滑塊的最遠(yuǎn)和最近位置附近誤差偏大,計(jì)算得到的誤差的均方差為0.314 026 mm,處于合理范圍之內(nèi)。
為驗(yàn)證改進(jìn)的PSO算法以顯示其優(yōu)勢(shì)性,筆者同時(shí)采用傳統(tǒng)的PSO算法對(duì)含間隙曲柄滑塊機(jī)構(gòu)進(jìn)行辨識(shí),傳統(tǒng)的PSO算法中的局部最優(yōu)值的搜索方法采用傳統(tǒng)方式進(jìn)行搜尋,慣性因子w采用式(3)設(shè)置,除此之外,其他參數(shù)都與改進(jìn)的PSO算法保持一致。
采用兩種辨識(shí)方法所得到的對(duì)比結(jié)果如表2所示。
表2 兩種算法對(duì)比
由表2可知:兩種PSO算法辨識(shí)模型產(chǎn)生的誤差都相對(duì)較少,尤其是采用改進(jìn)的PSO算法迭代快,收斂速度明顯優(yōu)于傳統(tǒng)的PSO算法。
因此,與采用傳統(tǒng)的PSO算法相比,采用的改進(jìn)的PSO算法對(duì)含間隙曲柄滑塊機(jī)構(gòu)進(jìn)行辨識(shí),其精度更高,模型也更為可靠。
結(jié)合含間隙曲柄滑塊機(jī)構(gòu)的參數(shù)辨識(shí)線性化的特點(diǎn)[18],系統(tǒng)可以表示為:
(14)
式中:x—狀態(tài)變量;u—控制變量;f(x)—充分光滑的向量場(chǎng);M—矩陣∈Rn×n;G(x)—g1(x),…,gm(x);W(x)—系統(tǒng)在結(jié)構(gòu)M下的不確定性;F(x,t)—系統(tǒng)的不確定性輸入。
定理1對(duì)于如式(14)所示的系統(tǒng),假設(shè)存在正定矩陣P=PT,Q=QT,X>0和矩陣K,可以使得:
(15)
則自適應(yīng)魯棒控制律為:
(16)
以上結(jié)果表明,該閉環(huán)系統(tǒng)是漸進(jìn)穩(wěn)定的。
其中,u1和u2分別為:
(17)
魯棒控制器模塊的輸入輸出關(guān)系可以表示為:
(18)
根據(jù)式(16-18),筆者在MATLAB中編寫了相應(yīng)的M-Function函數(shù)文件,嵌入到Simulink系統(tǒng)子模塊中;并根據(jù)筆者所進(jìn)行實(shí)驗(yàn)的曲柄滑塊機(jī)構(gòu)的具體參數(shù),可以計(jì)算出曲柄滑塊機(jī)構(gòu)的標(biāo)稱值:θ0=[θ2,θ3]=[6.53,2.17];滑塊的期望軌跡為qd=36.72cos(6.53t)+244.16cos(2.17t);滑塊的初始速度為0 rad/s,初始位置為1 rad。
自適應(yīng)魯棒控制器的參數(shù)設(shè)置為:K=diag(30,30),Λ=diag(4,4),ρ1=6,ρ2=10,ε1=ε2=1。
筆者組建的含間隙曲柄滑塊機(jī)構(gòu)自適應(yīng)魯棒控制系統(tǒng)仿真框圖,如圖5所示。
圖5 自適應(yīng)魯棒控制仿真平臺(tái)
為了更好地驗(yàn)證控制器的魯棒性,筆者在含間隙曲柄滑塊機(jī)構(gòu)系統(tǒng)的輸入力矩中,加入如下式所示的干擾方波干擾信號(hào),即:
(19)
通過(guò)自適應(yīng)魯棒控制后,含間隙曲柄滑塊機(jī)構(gòu)的控制效果如圖6所示。
圖6 控制效果對(duì)比圖
從圖6可以看出:
由于自適應(yīng)魯棒控制器的加入,使得含間隙曲柄滑塊機(jī)構(gòu)系統(tǒng)的誤差顯著降低,收斂速度更快,最大誤差由原來(lái)的2 mm降低為0.98 mm;控制的信號(hào)跟蹤精度平均提高了51%左右,有助于系統(tǒng)穩(wěn)定性的有效提高。
以上結(jié)果表明,筆者設(shè)計(jì)的自適應(yīng)魯棒控制器對(duì)提高含間隙曲柄滑塊機(jī)構(gòu)系統(tǒng)的精度是有效的。
針對(duì)曲柄滑塊機(jī)構(gòu)間隙引起的系統(tǒng)穩(wěn)定性、精度和可靠性降低的問(wèn)題,筆者運(yùn)用改進(jìn)的PSO算法對(duì)含間隙曲柄滑塊機(jī)構(gòu)進(jìn)行了辨識(shí),并就間隙所產(chǎn)生的誤差,應(yīng)用自適應(yīng)魯棒控制器進(jìn)行了補(bǔ)償。
主要研究結(jié)論如下:
(1)與傳統(tǒng)的PSO算法相比,在對(duì)含間隙曲柄滑塊機(jī)構(gòu)參數(shù)進(jìn)行系統(tǒng)辨識(shí)的仿真實(shí)驗(yàn)中,采用改進(jìn)的PSO算法可以有效地加速迭代過(guò)程,提高對(duì)系統(tǒng)辨識(shí)的精度,對(duì)參數(shù)辨識(shí)所建立的模型和實(shí)測(cè)結(jié)果的誤差處于合理范圍之內(nèi);應(yīng)用改進(jìn)的PSO算法進(jìn)行系統(tǒng)辨識(shí)比傳統(tǒng)的復(fù)雜機(jī)理法建模更易實(shí)現(xiàn),對(duì)工程實(shí)際中具有較強(qiáng)的應(yīng)用價(jià)值,也為復(fù)雜的機(jī)電系統(tǒng)的建模提供了新思路;
(2)所提出的自適應(yīng)魯棒控制器對(duì)間隙帶來(lái)的誤差補(bǔ)償方法使得誤差顯著降低,收斂速度更快,控制的信號(hào)跟蹤精度平均提高了51%左右,為復(fù)雜的非線性含間隙系統(tǒng)的誤差補(bǔ)償提供了新的方法。