陳明方 黃良恩 魏松坡 鄭仕高 陳中平
(1.昆明理工大學(xué)機(jī)電工程學(xué)院,昆明 650500;2.河南平原光電有限公司工程信息部,焦作 454150)
并聯(lián)機(jī)構(gòu)的末端運(yùn)動精度影響其應(yīng)用范圍[1],為提高運(yùn)動精度,國內(nèi)外學(xué)者提出了多種策略[2-5]。張俊等[6]提出了以幾何誤差源最優(yōu)區(qū)間制定并聯(lián)機(jī)構(gòu)關(guān)鍵零部件精度等級及配合公差的精度設(shè)計方法。于今等[7]通過參數(shù)辨識的方法修正正向運(yùn)動學(xué),顯著提高了機(jī)構(gòu)的位置精度。李國江等[8]通過多種群協(xié)同進(jìn)化算法補(bǔ)償了并聯(lián)機(jī)構(gòu)的位置誤差。董慧芬等[9]基于RBF設(shè)計控制器,控制了并聯(lián)機(jī)構(gòu)末端位置。劉毅等[10]提出了一種輪式并聯(lián)調(diào)姿機(jī)器人的冗余控制策略,保障了調(diào)姿精度。覃志奎[11]提出了一種由機(jī)構(gòu)末端修正位姿修正各關(guān)節(jié)變量的機(jī)構(gòu)誤差補(bǔ)償?shù)姆椒āS嘬S慶等[12]通過改進(jìn)標(biāo)準(zhǔn)的PSO算法,補(bǔ)償了機(jī)構(gòu)的末端位姿。謝平等[13]利用粒子群算法修正機(jī)構(gòu)的期望軌跡,并基于自適應(yīng)迭代學(xué)習(xí)控制算法補(bǔ)償了機(jī)構(gòu)動態(tài)誤差。高鵬宇[14]提出基于種群粒子群算法的靜態(tài)誤差補(bǔ)償和基于RBF網(wǎng)絡(luò)的動態(tài)誤差補(bǔ)償,提高了打撈機(jī)器人的控制精度。侯雨雷等[15]基于模糊神經(jīng)網(wǎng)絡(luò)建立機(jī)構(gòu)的綜合誤差預(yù)估模型,提高機(jī)構(gòu)的運(yùn)動精度。JIAN等[16]利用激光跟蹤儀測量機(jī)構(gòu)末端執(zhí)行器,完成了5自由度串聯(lián)機(jī)構(gòu)的標(biāo)定。趙磊等[17]通過全局?jǐn)?shù)值尋優(yōu)獲取機(jī)器人的誤差補(bǔ)償數(shù)據(jù),完成了標(biāo)定和補(bǔ)償。楊強(qiáng)等[18]考慮機(jī)構(gòu)的形位誤差、轉(zhuǎn)動副間隙建立了機(jī)構(gòu)的誤差模型。MANSOUR等[19]通過測量關(guān)節(jié)變量向量和參考位置差,完成了并聯(lián)機(jī)構(gòu)的標(biāo)定。張憲民等[20]分析關(guān)節(jié)間隙對重復(fù)定位誤差分布的影響,通過標(biāo)定的方法提高了機(jī)構(gòu)定位精度。孟慶梅等[21]提出了一種基于模糊神經(jīng)網(wǎng)絡(luò)的誤差參數(shù)識別模型和誤差補(bǔ)償方法。
并聯(lián)機(jī)構(gòu)機(jī)械誤差獲取較為繁瑣和困難,補(bǔ)償模型復(fù)雜且模型精度不高。另外隨著機(jī)構(gòu)使用年限增加,機(jī)構(gòu)誤差也會發(fā)生不同程度的擴(kuò)大,補(bǔ)償方法不能滿足要求。為避免上述問題,本文提出一種基于Jacobian和RBF神經(jīng)網(wǎng)絡(luò)相結(jié)合的機(jī)構(gòu)誤差補(bǔ)償策略,并通過實(shí)測數(shù)據(jù)進(jìn)行驗(yàn)證。
圖1a為3-PTT并聯(lián)機(jī)構(gòu)的模型,結(jié)構(gòu)簡圖如圖1b所示,點(diǎn)o、o1分別為靜平臺、動平臺中心。機(jī)構(gòu)滑塊通過滾珠絲杠驅(qū)動,從而形成移動幅P。3個連桿對稱布置,在靜平臺上投影夾角為120°。連桿兩端通過虎克鉸T分別連接動平臺與滑塊,構(gòu)成PTT支鏈,3條支鏈完全相同。并聯(lián)機(jī)構(gòu)相關(guān)參數(shù)如表1所示。

圖1 3-PTT并聯(lián)機(jī)構(gòu)

表1 并聯(lián)機(jī)構(gòu)參數(shù)
圖2為機(jī)構(gòu)運(yùn)動學(xué)模型,為求解機(jī)構(gòu)逆運(yùn)動學(xué),分別以點(diǎn)o、o1為原點(diǎn)建立靜、動坐標(biāo)系。P1A1位于靜坐標(biāo)系x軸正上方且平行于x軸。

圖2 并聯(lián)機(jī)構(gòu)運(yùn)動學(xué)模型
設(shè)末端中心點(diǎn)o1在靜坐標(biāo)系中的坐標(biāo)為o1=(X,Y,Z)。根據(jù)圖2,表示靜坐標(biāo)系中Ai(i=1,2,3)的坐標(biāo),在△oo1Bi(i=1, 2, 3)中,通過封閉三角形矢量法,表示靜坐標(biāo)系中點(diǎn)Bi(i=1, 2, 3)的坐標(biāo),即可得到機(jī)構(gòu)各連桿向量lAiBi(i=1,2,3)。機(jī)構(gòu)動平臺位置約束條件和連桿矢量滿足的等量關(guān)系可表示為
(1)
如圖1b所示,記滑塊位置為bi(i=1,2,3)。將表1中的參數(shù)代入式(1)并化簡,可得機(jī)構(gòu)逆運(yùn)動學(xué)方程為
(2)
式(2)簡記為bi=f(R,r,L,X,Y,Z)(i=1, 2, 3)。
運(yùn)動學(xué)正解是根據(jù)滑塊位置,求解末端點(diǎn)o1位置的過程,是逆運(yùn)動學(xué)的反過程。根據(jù)式(2)反解出機(jī)構(gòu)運(yùn)動學(xué)正解,并以隱方程表示為
(3)
根據(jù)正逆解方程,設(shè)計Matlab/GUI界面。任意給定5組末端位置,分別進(jìn)行正逆解計算,其算例詳見表2。由表2可知,本文的正逆運(yùn)動學(xué)模型正確。

表2 運(yùn)動學(xué)正逆解算例
由于機(jī)構(gòu)幾何誤差、運(yùn)動副誤差、制造誤差等分析及補(bǔ)償方法復(fù)雜,且誤差項難以完全獲得,運(yùn)動學(xué)標(biāo)定不適用于無法修改運(yùn)動學(xué)參數(shù)的場景[22]。由于機(jī)構(gòu)的Jacobian能夠表征機(jī)構(gòu)末端與滑塊位置間的誤差關(guān)系,因此本文提出一種基于Jacobian和RBF神經(jīng)網(wǎng)絡(luò)的末端精確控制方法。通過對滑塊位置誤差的控制,補(bǔ)償末端誤差,以提高末端的位置精度。
Jacobian是描述機(jī)構(gòu)輸入、輸出端的速度映射矩陣,在本機(jī)構(gòu)中為表示滑塊速度、末端速度間的映射矩陣。對式(2)進(jìn)行時間微分,整理后得
(4)
當(dāng)Jacobian行列式為零時,機(jī)構(gòu)將存在奇異性,因此取式(4)的行列式為
(5)
其中
行列式為零的情況分為4種:當(dāng)R=r時,機(jī)構(gòu)存在約束奇異,由于r (6) 整理得 (7) 當(dāng)k1、k2均為零而det(J)的其余項不為零時,可得 (8) 整理得 (9) 因此,當(dāng)機(jī)構(gòu)末端的運(yùn)動不滿足式(7)或式(9)時,機(jī)構(gòu)將不存在運(yùn)動奇異。 根據(jù)奇異性分析,機(jī)構(gòu)的Jacobian可以表征滑塊、末端的位置誤差關(guān)系。設(shè)機(jī)構(gòu)末端和滑塊的位置誤差矢量分別為Δp、Δb,則機(jī)構(gòu)末端誤差與滑塊誤差的關(guān)系為 Δb=JΔp (10) 由于機(jī)械誤差的客觀存在,導(dǎo)致機(jī)構(gòu)實(shí)際運(yùn)動學(xué)不等于理論運(yùn)動學(xué)。因此,對于給定同一末端位置時,滑塊實(shí)際位置與理論位置并不相等。 當(dāng)以滑塊理論位置Hm(b)驅(qū)動機(jī)構(gòu)實(shí)體,其末端將完成實(shí)際運(yùn)動Pm(p+Δp),其中Pm(p)為末端理論位置。為使機(jī)構(gòu)末端到達(dá)理論位置Pm(p),則修正的滑塊位置應(yīng)為Hm(b-Δb)。由Δb與Δp滿足式(10),為得出符合實(shí)際機(jī)構(gòu)的運(yùn)動學(xué)模型,首先,根據(jù)式(10),通過Δp與Pm(p)獲得機(jī)構(gòu)末端修正位置Pm(p-Δp)。進(jìn)而Pm(p-Δp)通過理論逆解獲得滑塊修正位置Hm(b-Δb),具體為 Hm(b-Δb)=f(R,r,L,Pm(p-Δp)) (11) 其次,由于Hm(b-Δb)=Hm(b)-Δb,因此Hm(b-Δb)滿足 Hm(b-Δb)=f(R,r,L,Pm(p))-JΔp (12) 根據(jù)式(12)可知,當(dāng)?shù)仁接疫厼槟┒死碚撐恢肞m(p)時,等式左邊為修正滑塊位置Hm(b-Δb),即式(12)為Pm(p)到Hm(b-Δb)的映射方程。因此,根據(jù)實(shí)測值將式(12)中的J變?yōu)閷?shí)際值,對應(yīng)的末端理論位置Pm(p)變?yōu)镻m(pa),以此得到機(jī)構(gòu)實(shí)際逆解為 Hm(b-Δb)=f(R,r,L,Pm(pa))-JaΔp (13) 式中Ja——實(shí)際Jacobian矩陣 Pm(pa)——補(bǔ)償后末端位置 由末端理論位置得到末端修正位置的過程和末端修正位置得到補(bǔ)償后末端位置的過程互為逆過程,具體過程如圖3所示。因此,由式(11)可獲得Hm(b-Δb),將式(13)寫入控制器,得到機(jī)構(gòu)補(bǔ)償后末端位置,補(bǔ)償后末端位置與理論位置相等或兩者的誤差滿足機(jī)構(gòu)精度要求。 圖3 末端誤差補(bǔ)償策略 由徑向基函數(shù)(Radial basis function,RBF)設(shè)計的神經(jīng)網(wǎng)絡(luò)為徑向基神經(jīng)網(wǎng)絡(luò),也稱為RBF神經(jīng)網(wǎng)絡(luò)[23]。RBF神經(jīng)網(wǎng)絡(luò)能逼近任意非線性函數(shù),且無局部最優(yōu)。本文搭建RBF神經(jīng)網(wǎng)絡(luò),以Pm(p)和Pm(p-Δp)作為網(wǎng)絡(luò)的輸入和輸出進(jìn)行訓(xùn)練,使得網(wǎng)絡(luò)具有由Pm(p)映射到Pm(p-Δp)的能力,給定Pm(p)后,通過RBF網(wǎng)絡(luò)便獲得Pm(p-Δp)。基于Jacobian和RBF網(wǎng)絡(luò)的末端精確控制模型如圖4所示。 圖4 末端誤差補(bǔ)償模型 根據(jù)末端精確控制模型搭建機(jī)構(gòu)末端理論位置(Pm(p)=(Xt,Yt,Zt))到機(jī)構(gòu)末端修正位置(Pm(p-Δp)=(Xr,Yr,Zr))映射的RBF神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。網(wǎng)絡(luò)輸入層m=3、輸出層n=3,隱含層為q1。 圖5 RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu) 隱含層選高斯函數(shù)作為激活函數(shù),為 (14) 其中x1=(Xt,Yt,Zt) 式中x1——輸入樣本g1——中心向量 ε——帶寬向量 因此第d1個輸入層到隱含層映射為 (15) 隱含層與輸出層連接權(quán)值wd1n1計算式為 (16) 式中η——學(xué)習(xí)速率,取0~1 ytn1——第n1個輸出層期望值 yn1——第n1個輸出層實(shí)際值 第n1個輸出層實(shí)際值yn1計算式為 (17) 式中θn1——隱含層閾值 首先通過無監(jiān)督學(xué)習(xí)的方式確定中心向量和帶寬向量,當(dāng)中心向量確定后通過有監(jiān)督學(xué)習(xí)的方式進(jìn)行訓(xùn)練確定權(quán)值向量,進(jìn)一步根據(jù)式(17)即可確定網(wǎng)絡(luò)輸出。其中,徑向基函數(shù)的擴(kuò)展速度Sp對訓(xùn)練結(jié)果的影響較大,過大時雖擬合平滑,但較多神經(jīng)元會被隱藏,過小會導(dǎo)致網(wǎng)絡(luò)性能不佳。 為獲得驗(yàn)證本文補(bǔ)償方法的數(shù)據(jù)集,給定末端中心的運(yùn)動方程為 (18) 式中r1、C——常數(shù) α——末端運(yùn)動軌跡弧度 t——末端位置點(diǎn),初值為1 末端位置測量實(shí)驗(yàn)共計5組,實(shí)驗(yàn)條件如表3所示,各組實(shí)驗(yàn)數(shù)據(jù)采集過程如圖6所示。 表3 實(shí)驗(yàn)條件 圖6 數(shù)據(jù)采集過程 3.1.1回程誤差測量及補(bǔ)償 對比實(shí)驗(yàn)1以絲杠回程誤差是否補(bǔ)償為單一變量。因此,首先需測量絲杠回程誤差并完成補(bǔ)償,再通過激光跟蹤儀測定回程誤差補(bǔ)償前后機(jī)構(gòu)的末端位置。回程誤差通過光柵尺(量程300 mm,精度1 μm)、阿爾泰USB2010型數(shù)據(jù)采集卡等完成測量,如圖7所示,采集數(shù)據(jù)見表4。 圖7 回程誤差測量 表4 上位機(jī)數(shù)據(jù) 各支鏈上絲杠回程誤差ej計算式為 (19) 其中 式中ej1、ej2——回程誤差ejq——均值 S1——絲杠正轉(zhuǎn)時數(shù)據(jù)長度 S2——滑塊反向過程數(shù)據(jù)長度 S3——絲杠反轉(zhuǎn)時數(shù)據(jù)長度 u——電機(jī)正轉(zhuǎn)圈數(shù),取10 由式(19)求得末端受不同負(fù)載時,各支鏈上絲杠回程誤差ej見表5。 表5 絲杠回程誤差 通過軟件補(bǔ)償方法在滑塊反向運(yùn)動時給定補(bǔ)償量,完成回程誤差補(bǔ)償。將回程誤差補(bǔ)償前、后末端第k次位置,分別記為F1k和F2k(k=1,2,…,7),滑塊位置分別記為E1k和E2k(k=1,2,…,7)。回程誤差補(bǔ)償前、后以滑塊移動固定行程時的重復(fù)定位精度驗(yàn)證補(bǔ)償效果,衡量指標(biāo)為單位行程下的重復(fù)定位誤差,分別記為σ1和σ2。具體求解過程如圖8所示。 圖8 重復(fù)定位誤差求解流程圖 根據(jù)重復(fù)定位誤差求解單位行程下重復(fù)定位誤差,計算式為 (20) K——滑塊行程 求解結(jié)果見表6。由表6可知,回程誤差補(bǔ)償后滑塊的重復(fù)定位精度更高。 表6 單位行程重復(fù)定位誤差 3.1.2數(shù)據(jù)測量 數(shù)據(jù)測量方案如圖9所示。R-20 Radian型激光跟蹤儀具有自動跟蹤鎖定靶球的功能,將激光跟蹤儀放置在并聯(lián)機(jī)構(gòu)周邊的合適位置并連接上位機(jī)(PC機(jī))軟件TrackerClib,獲取靶球的位置坐標(biāo)。首先,驅(qū)動機(jī)構(gòu)至零位,并將激光跟蹤儀的靶球固連在機(jī)構(gòu)末端的中心。其次,在控制系統(tǒng)中分別寫入回程誤差補(bǔ)償前和補(bǔ)償后的機(jī)構(gòu)末端控制程序,通過伺服電機(jī)控制機(jī)構(gòu)運(yùn)動至預(yù)定位置。最后,利用激光跟蹤儀連續(xù)記錄靶球的位置坐標(biāo),在TrackerClib中獲得靶球在激光跟蹤儀坐標(biāo)系下的位置坐標(biāo),即機(jī)構(gòu)末端中心在激光跟蹤儀坐標(biāo)系中的坐標(biāo)。根據(jù)激光跟蹤儀坐標(biāo)系與機(jī)構(gòu)靜坐標(biāo)系的變換矩陣,獲得機(jī)構(gòu)末端中心在靜坐標(biāo)系中的坐標(biāo)數(shù)據(jù),坐標(biāo)數(shù)據(jù)分布如圖10所示。 圖9 末端位置測量 圖10 測量數(shù)據(jù)均值分布 對比實(shí)驗(yàn)2是以末端受不同負(fù)載為單一控制變量,即組別3~5。圖11為組別3~5的末端位置測定實(shí)驗(yàn)方案,為降低偶然誤差的影響,實(shí)驗(yàn)重復(fù)進(jìn)行7次測量,并以均值代替實(shí)測值。 圖11 不同負(fù)載時末端位置測定 根據(jù)激光跟蹤儀坐標(biāo)系與機(jī)構(gòu)靜坐標(biāo)系間的變換矩陣,獲得機(jī)構(gòu)末端在靜坐標(biāo)系中的坐標(biāo)。表7為組別3中部分末端位置點(diǎn)的坐標(biāo)值,測量結(jié)果的均值分布情況如圖12所示。根據(jù)實(shí)測坐標(biāo)與理論坐標(biāo)即可獲得末端軸向(x軸)、徑向(y軸)的位置差。為避免由于機(jī)構(gòu)尺寸(l、hr、hR等)導(dǎo)致豎直方向(z軸)的位置差不準(zhǔn),機(jī)構(gòu)豎直方向的位置差由各測量位置點(diǎn)與初始位置點(diǎn)獲得。 表7 激光跟蹤儀測量值 圖12 測量數(shù)據(jù)均值分布 根據(jù)實(shí)測數(shù)據(jù)獲得末端修正位置,并搭建RBF神經(jīng)網(wǎng)絡(luò),設(shè)定網(wǎng)絡(luò)均方誤差為零。以末端理論位置、修正位置分別作為網(wǎng)絡(luò)輸入、輸出進(jìn)行訓(xùn)練,訓(xùn)練完成后,實(shí)驗(yàn)1~5網(wǎng)絡(luò)徑向基函數(shù)的擴(kuò)展速度Sp為3.8、3.4、3.4、3.6、3.5。 隨機(jī)選取160組數(shù)據(jù)作RBF網(wǎng)絡(luò)的訓(xùn)練集,其余20組作測試集。RBF網(wǎng)絡(luò)的MSE曲線如圖13所示,由圖13可知,當(dāng)訓(xùn)練達(dá)20次后,RBF網(wǎng)絡(luò)便有了較好的逼近效果。 圖13 MSE變化曲線 各組實(shí)驗(yàn)中的計算修正位置與訓(xùn)練所得修正位置之間的偏差如圖14所示。由圖14可知,將RBF訓(xùn)練的修正位置Pm(p-Δp)替代計算修正位置,輸出精度滿足要求。 圖14 各組實(shí)驗(yàn)RBF網(wǎng)絡(luò)訓(xùn)練效果 由RBF神經(jīng)網(wǎng)絡(luò)訓(xùn)練的修正位置與理論逆運(yùn)動學(xué)反解出滑塊的修正曲線如圖15所示。 圖15 滑塊修正位置曲線 將滑塊的修正位置代入實(shí)際逆解式(13),得到機(jī)構(gòu)補(bǔ)償后的末端位置。表8為誤差補(bǔ)償前、后部分末端位置點(diǎn)的誤差。補(bǔ)償后末端位置誤差與未補(bǔ)償時的末端位置誤差分布如圖16所示,由圖16可知,誤差補(bǔ)償后的末端位置精度明顯提高。 圖16 誤差曲線 表8 補(bǔ)償前后末端誤差對比 以誤差補(bǔ)償百分比評價末端誤差的補(bǔ)償效果,其計算式為 (21) 其中 式中Ab、Aa——誤差補(bǔ)償前、后平均誤差 e1t、e2t——誤差補(bǔ)償前、補(bǔ)償后末端位置誤差 Pg——末端誤差補(bǔ)償百分比 末端誤差補(bǔ)償百分比如圖17所示。由圖17可知,本文提出的末端誤差補(bǔ)償算法,具有較好的補(bǔ)償效果。各組實(shí)驗(yàn)中末端軸向(x軸)、徑向(y軸)的位置誤差均降低90%以上、豎直方向(z軸)的位置誤差均降低80%以上。圖18為補(bǔ)償后末端運(yùn)動曲線,與理論曲線吻合度較高。各組實(shí)驗(yàn)結(jié)果均證明了本文補(bǔ)償方法的有效性,本文得到的滑塊修正位置可用以控制機(jī)構(gòu)末端的運(yùn)動,提高了末端位置精度。 圖17 誤差補(bǔ)償百分比 圖18 補(bǔ)償后末端曲線 (1)完成了一種3-PTT并聯(lián)機(jī)器人的運(yùn)動學(xué)分析。 (2)建立了機(jī)構(gòu)的Jacobian,并分析了Jacobian的約束奇異和運(yùn)動奇異。分析表明機(jī)構(gòu)不存在約束奇異,當(dāng)機(jī)構(gòu)的運(yùn)動不滿足式(7)或式(9)時,無運(yùn)動奇異。 (3)提出了一種基于Jacobian和RBF網(wǎng)絡(luò)的末端精確控制策略。分別通過RBF獲取的末端修正位置和Jacobian獲得滑塊的修正位置,得到了一種可模擬機(jī)構(gòu)實(shí)際運(yùn)動的運(yùn)動學(xué)模型。 (4)設(shè)置了兩種對比實(shí)驗(yàn)。驗(yàn)證了本文控制方法的有效性。補(bǔ)償結(jié)果表明,各組實(shí)驗(yàn)中末端軸向(x軸)和徑向(y軸)的位置誤差均降低90%以上,豎直方向(z軸)的位置誤差均降低80%以上。2.3 基于Jacobian和RBF網(wǎng)絡(luò)的補(bǔ)償策略


2.4 RBF神經(jīng)網(wǎng)絡(luò)建立

3 實(shí)驗(yàn)驗(yàn)證


3.1 回程誤差補(bǔ)償前后末端位置測定










3.2 末端受不同負(fù)載時位置測定



3.3 結(jié)果分析







4 結(jié)論