許有熊, 顧人杰, 劉曉鋒, 朱松青
(1.南京工程學(xué)院自動(dòng)化學(xué)院,江蘇南京 211167;2.國電南京自動(dòng)化股份有限公司, 江蘇南京 211000)
隨著現(xiàn)代科學(xué)技術(shù)的不斷發(fā)展,精密加工與精密測量、航空航天、微電子工程等領(lǐng)域?qū)Σ⒙?lián)機(jī)構(gòu)的運(yùn)動(dòng)范圍和精度提出了更高的要求[1]。但是,目前并聯(lián)機(jī)構(gòu)不能同時(shí)滿足大范圍和高精度運(yùn)動(dòng)的要求。例如,液壓伺服、電機(jī)伺服等驅(qū)動(dòng)的并聯(lián)機(jī)構(gòu)能實(shí)現(xiàn)大范圍運(yùn)動(dòng),但其重復(fù)定位精度一般為微米級(jí),不能實(shí)現(xiàn)高精度[2-3];壓電陶瓷[4]為驅(qū)動(dòng)的并聯(lián)微動(dòng)機(jī)構(gòu)能實(shí)現(xiàn)較高的定位精度,但其運(yùn)動(dòng)范圍較小[5]。這極大限制了并聯(lián)機(jī)構(gòu)在精密工程領(lǐng)域的應(yīng)用。
因此,國內(nèi)外學(xué)者將宏微混合驅(qū)動(dòng)技術(shù)[6-7]應(yīng)用到并聯(lián)機(jī)構(gòu),研究混合驅(qū)動(dòng)的并聯(lián)機(jī)構(gòu)以解決大范圍和高精度之間的矛盾。華南理工大學(xué)的余競[8]研究了一種宏微平面3-RRR并聯(lián)機(jī)構(gòu)系統(tǒng),其中,宏動(dòng)部分采用伺服電機(jī)驅(qū)動(dòng)的平面3-RRR并聯(lián)機(jī)構(gòu),并在其動(dòng)平臺(tái)上放置一個(gè)由壓電陶瓷驅(qū)動(dòng)的3-RRR平面并聯(lián)微動(dòng)機(jī)構(gòu),以保證系統(tǒng)的定位精度,但該結(jié)構(gòu)較復(fù)雜,且定位精度尚未達(dá)到納米級(jí),尚未達(dá)到實(shí)際應(yīng)用。結(jié)合液壓伺服技術(shù)與壓電技術(shù)的優(yōu)點(diǎn)應(yīng)用到并聯(lián)機(jī)構(gòu)中,文獻(xiàn)[9]提出了一種基于電液-壓電混合伺服驅(qū)動(dòng)的3-RPR并聯(lián)機(jī)構(gòu),能有效實(shí)現(xiàn)大范圍高精度定位。
另外,從并聯(lián)機(jī)構(gòu)的運(yùn)動(dòng)學(xué)來看,國內(nèi)外相關(guān)學(xué)者都進(jìn)行了研究,并取得了一些成果。比如并聯(lián)機(jī)構(gòu)運(yùn)動(dòng)學(xué)分析的核心問題是建立并求解高維非線性代數(shù)方程組,目前其基本方法主要有兩大類,即Sylvester結(jié)式消元法、Groebner基法、吳文俊消元法等代數(shù)解析法以及優(yōu)化法,Newton-Rapgson法等數(shù)值迭代法,但以上方法求解精度都無法達(dá)到納米級(jí)。
因此,本文作者在之前研究的基礎(chǔ)上[9],探索研究宏微3-RPR運(yùn)動(dòng)學(xué)精確求解,以滿足后續(xù)大范圍和高精度定位的控制要求。
所提出的宏微混合伺服驅(qū)動(dòng)3-RPR并聯(lián)機(jī)構(gòu)原理如圖1所示。
圖1 宏微3-RPR結(jié)構(gòu)原理
其中每個(gè)桿由液壓缸和壓電陶瓷驅(qū)動(dòng)器串聯(lián)而成,如圖1 (b)所示,并通過控制3個(gè)桿伸縮的總長度來控制動(dòng)平臺(tái)的平動(dòng)和轉(zhuǎn)動(dòng)。宏驅(qū)動(dòng)部分采用電液伺服系統(tǒng)以實(shí)現(xiàn)大范圍運(yùn)動(dòng),微驅(qū)動(dòng)部分采用壓電陶瓷驅(qū)動(dòng)器以實(shí)現(xiàn)高精度精密定位。
圖2 3-RPR的結(jié)構(gòu)參數(shù)示意
運(yùn)動(dòng)學(xué)逆解是通過已給定的動(dòng)平臺(tái)位姿(x,y,θ),求解各桿的運(yùn)動(dòng)量(l1,l2,l3)。相對(duì)串聯(lián)機(jī)構(gòu)而言,并聯(lián)機(jī)構(gòu)的運(yùn)動(dòng)學(xué)逆解較為簡單,可以直接求解。假設(shè)初始狀態(tài)下每根桿長為均為L,θ=0,則可得出A、B、C各點(diǎn)坐標(biāo)為
A:(0,0)
當(dāng)機(jī)構(gòu)運(yùn)動(dòng)到一定位置時(shí),設(shè)此刻偏轉(zhuǎn)角度為θ,動(dòng)平臺(tái)中心點(diǎn)坐標(biāo)為(x,y)可得
點(diǎn)B1坐標(biāo)為
點(diǎn)B2坐標(biāo)為
點(diǎn)B3坐標(biāo)為
由此可得逆解的方程組為
(1)
采用MATLAB編程實(shí)現(xiàn)其運(yùn)動(dòng)學(xué)逆解,其求解程序截圖如圖3所示。
圖3 逆解程序截圖
(1)數(shù)值迭代法的求解分析
運(yùn)動(dòng)學(xué)正解是已知各桿的運(yùn)動(dòng)量(l1,l2,l3),求解動(dòng)平臺(tái)的位姿量(x,y,θ)。其運(yùn)動(dòng)學(xué)正解的方程組如式(2)所示:
(2)
其中:x1、x2分別為sinθ、cosθ。
由于并聯(lián)機(jī)構(gòu)運(yùn)動(dòng)學(xué)正解的復(fù)雜性,很難求出方程的解析解,通常使用數(shù)值迭代法進(jìn)行求解。其計(jì)算過程可簡述為
(1)初選x0;
采用MATLAB編程實(shí)現(xiàn)其數(shù)值迭代法的求解,主要包含3個(gè)部分程序,即原方程組程序、求導(dǎo)程序和迭代程序。其中數(shù)值迭代法的迭代程序截圖如圖4所示。
圖4 正解程序截圖
(2)BP神經(jīng)網(wǎng)絡(luò)的求解分析
采用上述數(shù)值迭代法求解時(shí),所需的計(jì)算時(shí)間較長,且在計(jì)算過程中對(duì)初值選取要求過高,同時(shí)在導(dǎo)數(shù)為0處會(huì)產(chǎn)生奇異現(xiàn)象,其求解精度也無法滿足納米級(jí)的計(jì)算要求。因此,采用BP神經(jīng)網(wǎng)絡(luò)算法進(jìn)行宏微3-RPR并聯(lián)機(jī)構(gòu)運(yùn)動(dòng)學(xué)正解。
BP神經(jīng)網(wǎng)絡(luò)是一種由輸入層、隱藏層和輸出層組成的多層前饋神經(jīng)網(wǎng)絡(luò)[10-11]。事先給定輸入數(shù)據(jù)組和目標(biāo)數(shù)據(jù)組,通過神經(jīng)網(wǎng)絡(luò)訓(xùn)練,得到每次訓(xùn)練的結(jié)果,與目標(biāo)結(jié)果進(jìn)行誤差比較,并根據(jù)誤差反向傳播修改權(quán)值和閾值,重復(fù)該過程直到獲得能輸出和目標(biāo)結(jié)果一致的模型。
根據(jù)所研究宏微3-RPR運(yùn)動(dòng)學(xué)數(shù)據(jù)模型,以各桿的運(yùn)動(dòng)量(l1,l2,l3)為輸入,動(dòng)平臺(tái)的位姿(x,y,θ)為輸出,建立一個(gè)三輸入三輸出的神經(jīng)網(wǎng)絡(luò)架構(gòu),為提高精度,隱藏層節(jié)點(diǎn)數(shù)設(shè)為100,如圖5所示。
圖5 BP神經(jīng)網(wǎng)絡(luò)算法結(jié)構(gòu)示意
其過程為:首先,對(duì)并聯(lián)機(jī)構(gòu)利用式(1)進(jìn)行運(yùn)動(dòng)學(xué)逆解,將逆解得到的結(jié)果作為訓(xùn)練樣本的輸入值,逆解的輸入值作為BP網(wǎng)絡(luò)的期望輸出值;其次,采用BP算法對(duì)樣本進(jìn)行訓(xùn)練,求得3-RPR并聯(lián)機(jī)構(gòu)運(yùn)動(dòng)學(xué)正解的神經(jīng)網(wǎng)絡(luò)模型;最后,通過另一組數(shù)據(jù)驗(yàn)證神經(jīng)網(wǎng)絡(luò)模型的準(zhǔn)確性。神經(jīng)網(wǎng)絡(luò)算法訓(xùn)練結(jié)果如圖6所示。
圖6 BP神經(jīng)網(wǎng)絡(luò)算法訓(xùn)練
由于輸入輸出量的取值范圍不同,會(huì)降低神經(jīng)網(wǎng)絡(luò)的訓(xùn)練精度和訓(xùn)練速度,因此在訓(xùn)練之前需要先對(duì)數(shù)據(jù)庫進(jìn)行歸一化處理,并在訓(xùn)練結(jié)束后進(jìn)行反歸一化處理。
(3)遺傳算法優(yōu)化的神經(jīng)網(wǎng)絡(luò)算法
雖然BP神經(jīng)網(wǎng)絡(luò)得到了廣泛的應(yīng)用,但因其初始權(quán)值和閾值選取的隨機(jī)性,難以選取到較合適的值,因此BP神經(jīng)網(wǎng)絡(luò)存在訓(xùn)練時(shí)間較長、計(jì)算誤差較大、容易陷入局部最優(yōu)解等不足。如圖6所示的神經(jīng)網(wǎng)絡(luò)算法在計(jì)算次數(shù)為2×106次時(shí),耗時(shí)79 h?;谏鲜鋈秉c(diǎn),采用遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)算法進(jìn)行并聯(lián)機(jī)構(gòu)運(yùn)動(dòng)學(xué)正解分析。
遺傳算法是一種通過模擬自然生物進(jìn)化過程搜索最優(yōu)解的方法[12]。其基本計(jì)算過程為:首先初始化一個(gè)種群,計(jì)算各個(gè)體的適應(yīng)度;然后根據(jù)“優(yōu)勝劣汰,適者生存”的原理,進(jìn)行選擇、交叉、變異等操作得到下一代群體,不斷提高其適應(yīng)度;直至滿足一定條件,將具有最大適應(yīng)度個(gè)體作為最優(yōu)解輸出。
因此,采用遺傳算法對(duì)神經(jīng)網(wǎng)絡(luò)算法的權(quán)值選取過程進(jìn)行優(yōu)化[13],既能縮短訓(xùn)練時(shí)間,提高網(wǎng)絡(luò)收斂速度,又可以有效避免訓(xùn)練中陷入局部最優(yōu)解,其原理如圖7所示。
圖7 遺傳算法簡要原理
基于MATLAB軟件的遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)算法訓(xùn)練結(jié)果如圖8所示。將BP神經(jīng)網(wǎng)絡(luò)算法和遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程進(jìn)行對(duì)比,如圖9所示??梢钥闯觯涸诮?jīng)歷相同次數(shù)的訓(xùn)練后,遺傳算法優(yōu)化的神經(jīng)網(wǎng)絡(luò)算法精度遠(yuǎn)遠(yuǎn)高于BP神經(jīng)網(wǎng)絡(luò)。在相同精度下,遺傳算法優(yōu)化的神經(jīng)網(wǎng)絡(luò)算法耗時(shí)會(huì)更短。
圖8 遺傳算法優(yōu)化的神經(jīng)網(wǎng)絡(luò)算法訓(xùn)練
圖9 2種算法對(duì)比
將不同算法得到的逆解進(jìn)行對(duì)比分析,得到表1,其計(jì)算誤差如表2所示??梢钥闯觯号nD迭代法的精度在微米級(jí),BP神經(jīng)網(wǎng)絡(luò)算法的精度在0.1微米級(jí),遺傳算法優(yōu)化的神經(jīng)網(wǎng)絡(luò)算法的精度在納米級(jí)。這說明遺傳算法優(yōu)化的神經(jīng)網(wǎng)絡(luò)算法精度最高,滿足計(jì)算要求。
表1 不同算法計(jì)算下的運(yùn)動(dòng)學(xué)正解值
表2 不同算法下的誤差比較
根據(jù)先前所研究的宏微混伺服驅(qū)動(dòng)的3-RPR并聯(lián)機(jī)構(gòu)納米級(jí)控制精度的要求,要求其運(yùn)動(dòng)學(xué)求解精度也要達(dá)到納米級(jí),文中對(duì)它進(jìn)行運(yùn)動(dòng)學(xué)精確求解研究。
(1)建立了宏微3-RPR運(yùn)動(dòng)學(xué)模型,并采用MATLAB編程實(shí)現(xiàn)其運(yùn)動(dòng)學(xué)逆解,得到其準(zhǔn)確解作為后續(xù)運(yùn)動(dòng)學(xué)正解的訓(xùn)練樣本數(shù)據(jù)。
(2)分別采用數(shù)值迭代法、神經(jīng)網(wǎng)絡(luò)算法和遺傳算法優(yōu)化的神經(jīng)網(wǎng)絡(luò)算法進(jìn)行并聯(lián)機(jī)構(gòu)的運(yùn)動(dòng)學(xué)正解研究。
通過最終的求解精度對(duì)比,經(jīng)遺傳算法優(yōu)化的神經(jīng)網(wǎng)絡(luò)算法能實(shí)現(xiàn)納米級(jí)的求解精度且耗時(shí)更短。這為后續(xù)并聯(lián)機(jī)構(gòu)的控制奠定基礎(chǔ)。