張學(xué)祥,王若冰,劉艷梨,2,楊小龍,吳洪濤
(1.南京航空航天大學(xué)機(jī)電學(xué)院,江蘇 南京 210016) (2.江蘇安全技術(shù)職業(yè)學(xué)院機(jī)械工程系, 江蘇 徐州 221011)
與傳統(tǒng)的串聯(lián)式工業(yè)機(jī)器人的開(kāi)環(huán)結(jié)構(gòu)不同,Stewart并聯(lián)機(jī)構(gòu)是由并聯(lián)支鏈構(gòu)成的閉環(huán)運(yùn)動(dòng)系統(tǒng)[1]。相比于串聯(lián)機(jī)構(gòu),它具有剛度高、輸出力/質(zhì)量比大、無(wú)位置誤差累積、重復(fù)性好等優(yōu)勢(shì),在運(yùn)動(dòng)模擬、隔振技術(shù)、并聯(lián)機(jī)床、大型天文望遠(yuǎn)鏡等領(lǐng)域有著廣泛的應(yīng)用[2]。 然而,由于被動(dòng)鉸鏈數(shù)量較多,使得其運(yùn)動(dòng)學(xué)精度較難保證[3]。并聯(lián)機(jī)構(gòu)控制器采用機(jī)構(gòu)內(nèi)部運(yùn)動(dòng)學(xué)參數(shù)來(lái)控制機(jī)構(gòu)運(yùn)動(dòng),研究表明,機(jī)構(gòu)鉸鏈及驅(qū)動(dòng)桿的制造和裝配誤差使得機(jī)構(gòu)內(nèi)部運(yùn)動(dòng)學(xué)參數(shù)不準(zhǔn)確,是導(dǎo)致并聯(lián)機(jī)構(gòu)的實(shí)際位姿與期望位姿產(chǎn)生偏差的主要原因[4]。依靠提高并聯(lián)機(jī)構(gòu)零部件加工制造精度的方法來(lái)提高并聯(lián)機(jī)構(gòu)位姿精度,會(huì)大大提高加工制造成本。相比而言,對(duì)裝配好的并聯(lián)機(jī)構(gòu)運(yùn)動(dòng)學(xué)參數(shù)進(jìn)行標(biāo)定,是更加經(jīng)濟(jì)高效的方法。
標(biāo)定一般包括運(yùn)動(dòng)學(xué)參數(shù)誤差建模、位姿測(cè)量、參數(shù)辨識(shí)和誤差補(bǔ)償?shù)炔襟E[5]。根據(jù)位姿信息的獲取方式,可將并聯(lián)機(jī)構(gòu)的標(biāo)定方法分為自標(biāo)定[6]和外部標(biāo)定[7]。因?yàn)樽詷?biāo)定需要在被動(dòng)鉸鏈處安裝位移傳感器[8],而本文所標(biāo)定的并聯(lián)機(jī)構(gòu)在被動(dòng)鉸鏈安裝傳感器比較困難,因而選用外部標(biāo)定法。
Gao等[9]提出一種利用激光跟蹤儀和線性最小二乘法對(duì)Stewart機(jī)構(gòu)進(jìn)行標(biāo)定的方法,由于并聯(lián)機(jī)構(gòu)運(yùn)動(dòng)學(xué)具有非線性,所以該方法辨識(shí)得到的個(gè)別參數(shù)會(huì)出現(xiàn)明顯的不合理偏差。張文昌等[10]提出一種利用步進(jìn)迭代法進(jìn)行運(yùn)動(dòng)學(xué)誤差參數(shù)識(shí)別的方法,對(duì)Delta并聯(lián)機(jī)構(gòu)運(yùn)動(dòng)學(xué)誤差進(jìn)行了標(biāo)定。楊小磊等[11]分別用最小二乘法和Levenberg- Marquardt(LM)算法對(duì)6自由度機(jī)械臂進(jìn)行運(yùn)動(dòng)學(xué)標(biāo)定仿真,發(fā)現(xiàn)LM的辨識(shí)效果更好。樊銳等[12]建立了包括虎克鉸鉸點(diǎn)位置、球鉸鉸點(diǎn)位置、初始支腿長(zhǎng)以及導(dǎo)軌偏轉(zhuǎn)角度在內(nèi)的54個(gè)運(yùn)動(dòng)學(xué)參數(shù)的6-PUS并聯(lián)機(jī)構(gòu)參數(shù)誤差模型。Shi等[13]用隨機(jī)LM對(duì)Planar-Delta機(jī)構(gòu)進(jìn)行了標(biāo)定,實(shí)驗(yàn)結(jié)果表明,該算法與傳統(tǒng)算法相比具有效率高、精度高、易于實(shí)現(xiàn)的優(yōu)點(diǎn)。
為了提高6-UPS并聯(lián)機(jī)構(gòu)運(yùn)動(dòng)學(xué)精度,本文基于前人研究成果,用微分法推導(dǎo)了6-UPS并聯(lián)機(jī)構(gòu)的運(yùn)動(dòng)學(xué)參數(shù)誤差模型,然后分別運(yùn)用Gauss- Newton(GN)算法和LM進(jìn)行6-UPS并聯(lián)機(jī)構(gòu)運(yùn)動(dòng)學(xué)標(biāo)定仿真,比較其在有測(cè)量誤差時(shí)的辨識(shí)效果。最后用激光跟蹤儀和 LM對(duì)6-UPS并聯(lián)機(jī)構(gòu)進(jìn)行了運(yùn)動(dòng)學(xué)參數(shù)標(biāo)定實(shí)驗(yàn)。
6-UPS并聯(lián)機(jī)構(gòu)如圖1所示,由動(dòng)平臺(tái)、基座以及6條支腿構(gòu)成。支腿采用電動(dòng)缸驅(qū)動(dòng),每條支腿上下兩端分別通過(guò)球鉸和虎克鉸與動(dòng)平臺(tái)和基座相連,可以看作是由6組“萬(wàn)向節(jié)副(U)-移動(dòng)副(P)-球面副(S)”支鏈并聯(lián)構(gòu)成的閉環(huán)運(yùn)動(dòng)系統(tǒng)。如圖1所示,分別采用坐標(biāo)系O′-x′y′z′和O-xyz表示動(dòng)平臺(tái)的體坐標(biāo)系{A}和基坐標(biāo)系{B}。上下鉸點(diǎn)分別用Ai,Bi表示,i=1,2,…,6。任取6-UPS并聯(lián)機(jī)構(gòu)的第i個(gè)封閉支鏈O-Bi-Ai-O′滿足:
lisi=p+Rai-bii=1,2,…,6
(1)
式中:si為第i條支腿的單位向量;p為{A}到{B}的位置矢量;R為{A}到{B}的姿態(tài)矩陣;ai為上鉸點(diǎn)Ai在{A}下的位置矢量,ai=[axiayiazi]T;bi為下鉸點(diǎn)Bi在{B}下的位置矢量,bi=[bxibyibzi]T;li=Li+Δli,為第i條支腿的長(zhǎng)度,Li和Δli分別為第i條支腿的初始長(zhǎng)度和驅(qū)動(dòng)增量。
圖1 6-UPS并聯(lián)機(jī)構(gòu)實(shí)物圖及結(jié)構(gòu)簡(jiǎn)圖
6-UPS并聯(lián)機(jī)構(gòu)的誤差建模即為推導(dǎo)機(jī)構(gòu)運(yùn)動(dòng)學(xué)參數(shù)誤差與執(zhí)行端位姿誤差的關(guān)系式。
(2)
式中:dp=[dxdydz]T,為機(jī)構(gòu)的位置誤差;dθ=[dαdβdγ]T,為機(jī)構(gòu)的姿態(tài)角誤差;dai,dbi分別為上下鉸點(diǎn)的位置誤差。
聯(lián)立6條支鏈的運(yùn)動(dòng)學(xué)微分方程,提取位姿參數(shù)及運(yùn)動(dòng)學(xué)參數(shù),可將式(2)整理為矩陣形式:
Jxδx=Jdδe
(3)
δe為運(yùn)動(dòng)學(xué)參數(shù)誤差;δx=[dpTdθT]T,為動(dòng)平臺(tái)位姿誤差。一般并聯(lián)機(jī)構(gòu)的雅可比矩陣Jx可逆,則式(3)可整理為:
δx=Jδe
(4)
6-UPS并聯(lián)機(jī)構(gòu)正向運(yùn)動(dòng)學(xué)模型可用支腿驅(qū)動(dòng)位移Δl與對(duì)應(yīng)理論位姿xt之間的映射關(guān)系表示為[14]:
xt=f(Δl,e)
(5)
式中:Δl=[Δl1Δl2… Δl6]T。
δxj=xrj-xtj=xrj-f(Δlj,e)
j=1,2,…,n
(6)
根據(jù)并聯(lián)機(jī)構(gòu)實(shí)測(cè)位姿與理論位姿的殘差平方和來(lái)構(gòu)造代價(jià)函數(shù)S(e)[15]:
(7)
運(yùn)動(dòng)學(xué)參數(shù)標(biāo)定的核心內(nèi)容即通過(guò)最小化代價(jià)函數(shù)S(e)來(lái)估計(jì)機(jī)構(gòu)實(shí)際運(yùn)動(dòng)學(xué)參數(shù)。這是一個(gè)典型的非線性最小二乘優(yōu)化問(wèn)題[16]。求解非線性最小二乘問(wèn)題,最常用的方法是GN,但是該方法當(dāng)?shù)c(diǎn)處的負(fù)梯度方向與其迭代方向正交或接近正交時(shí),可能會(huì)出現(xiàn)假收斂。LM是對(duì)GN的改進(jìn),比GN更加穩(wěn)健,且在迭代初值與真實(shí)值差距較大的情況下也能很好地收斂[17]。
對(duì)含有運(yùn)動(dòng)學(xué)參數(shù)誤差δe的正向運(yùn)動(dòng)學(xué)模型f(Δl,e+ δe)進(jìn)行一階泰勒展開(kāi),可得:
f(Δl,e+δe)≈f(Δl,e)+Jδe
(8)
S(e+δe)≈[δX-Hδe]T[δX-Hδe]
(9)
代價(jià)函數(shù)最小化的必要條件為其導(dǎo)數(shù)為零[16]。因此對(duì)式(9)求導(dǎo),忽略二階偏導(dǎo)項(xiàng),令結(jié)果為零矩陣,可得:
HTHδe=HTδX
(10)
方程左側(cè)的HTH即為忽略二階偏導(dǎo)項(xiàng)的近似Hessian矩陣。由式(10)可得GN迭代步長(zhǎng)δe:
δe=(HTH)-1HTδX
(11)
為保證近似Hessian矩陣的正定性,從而確保δe代表S(e)的下降方向,在HTH添加阻尼項(xiàng)λI(λ>0),可得LM迭代步長(zhǎng):
δe=(HTH+λI)-1HTδX
(12)
采用LM對(duì)6-UPS并聯(lián)機(jī)構(gòu)運(yùn)動(dòng)學(xué)參數(shù)進(jìn)行辨識(shí)的步驟如下:
3)計(jì)算雅可比矩陣Hk。
辨識(shí)算法流程圖如圖 2所示。
圖2 辨識(shí)算法流程圖
Gao等[9]研究表明,標(biāo)定過(guò)程中所測(cè)位姿越多、涵蓋工作空間范圍越廣,則誤差雅可比矩陣的條件數(shù)越小,辨識(shí)得到的運(yùn)動(dòng)學(xué)參數(shù)越準(zhǔn)確。同時(shí)為保證近似Hessian矩陣HTH的可逆性,實(shí)驗(yàn)測(cè)量組數(shù)n需滿足m≤6n,m為待辨識(shí)的運(yùn)動(dòng)學(xué)參數(shù)數(shù)目[12],即最小實(shí)驗(yàn)位姿數(shù)目為7。綜合考慮實(shí)驗(yàn)工作量及所測(cè)位姿的涵蓋范圍,本文在6-UPS并聯(lián)機(jī)構(gòu)工作空間中選取了64組理論位姿XT0進(jìn)行實(shí)驗(yàn)。
表1 支鏈1和2運(yùn)動(dòng)學(xué)參數(shù)誤差辨識(shí)仿真結(jié)果 mm
本文采用faro激光跟蹤儀進(jìn)行位姿測(cè)量,其測(cè)量精度為16 μm+0.8 μm/m。實(shí)驗(yàn)設(shè)備如圖4所示。在下平臺(tái)5個(gè)參考點(diǎn)上固定靶球基座。用激光跟蹤儀測(cè)量5個(gè)點(diǎn)的坐標(biāo),以2點(diǎn)作為基坐標(biāo)系{B}的原點(diǎn)O,用1,2,3點(diǎn)構(gòu)造直線作為x軸,用5個(gè)點(diǎn)坐標(biāo)構(gòu)造xOy平面,以平面法向?yàn)閦軸,在激光跟蹤儀自帶測(cè)量軟件CAM2 Measure中建立基坐標(biāo)系{B}。用同樣的方法可以建立固結(jié)在動(dòng)平臺(tái)上的動(dòng)坐標(biāo)系{A}。
在CAM2 Measure中,可以方便地讀取{A}到{B}位置矢量p,姿態(tài)角θ則要通過(guò)測(cè)量?jī)勺鴺?biāo)系坐標(biāo)軸之間的夾角計(jì)算求得。記rxy為{A}的x軸與{B}的y軸之間夾角的余弦值,其他符號(hào)以此類推,姿態(tài)角θ(α,β,γ)的計(jì)算公式如下[18]:
圖4 實(shí)驗(yàn)設(shè)備
(13)
在6-UPS并聯(lián)機(jī)構(gòu)工作空間中選取64組初始理論位姿XT0,根據(jù)機(jī)構(gòu)的理論運(yùn)動(dòng)學(xué)參數(shù),驅(qū)動(dòng)支腿運(yùn)動(dòng)到指定位置。待機(jī)構(gòu)穩(wěn)定后,利用上述方法可在CAM2 Measure中得到圖5所示的64組實(shí)測(cè)位姿XR。構(gòu)造殘差方程δX0=XR-XT0,用第2節(jié)所述算法對(duì)機(jī)構(gòu)實(shí)際運(yùn)動(dòng)學(xué)參數(shù)進(jìn)行辨識(shí)。
圖5 實(shí)測(cè)位姿
辨識(shí)得到的6-UPS并聯(lián)機(jī)構(gòu)的實(shí)際運(yùn)動(dòng)學(xué)參數(shù)見(jiàn)表2。辨識(shí)結(jié)束后,將并聯(lián)機(jī)構(gòu)控制器內(nèi)的理論參數(shù)替換為辨識(shí)到的實(shí)際參數(shù),以達(dá)到誤差補(bǔ)償?shù)哪康摹?/p>
為了觀察標(biāo)定對(duì)機(jī)構(gòu)定位精度的提升效果,隨機(jī)選取25組位姿進(jìn)行驗(yàn)證,針對(duì)每組位姿,分別根據(jù)機(jī)構(gòu)的理論參數(shù)和辨識(shí)參數(shù)驅(qū)動(dòng)支腿運(yùn)動(dòng)到指定位置,用激光跟蹤儀分別測(cè)量實(shí)際位姿。比較測(cè)得的實(shí)際位姿與理論位姿的誤差,位置誤差Position_error和姿態(tài)誤差Orientation_error計(jì)算公式定義如下[15]:
(14)
表2 6-UPS并聯(lián)機(jī)構(gòu)運(yùn)動(dòng)學(xué)參數(shù) mm
式中:xt和θt為隨機(jī)選取的理論位置和姿態(tài);xr和θr為實(shí)際測(cè)得的位置和姿態(tài)。
圖6和圖7分別展示了標(biāo)定前后的各組位姿的位置誤差和姿態(tài)誤差。從圖中可以看出,標(biāo)定后位置誤差的范圍由7~10 mm降低到0~0.3 mm,姿態(tài)誤差的范圍由0.20°~0.45°降低到0~0.025°;位置均方根誤差由8.512 mm降低到0.178 mm,姿態(tài)角均方根誤差由0.330°降低到0.012°。由此可見(jiàn),標(biāo)定后機(jī)構(gòu)的運(yùn)動(dòng)學(xué)精度提高了一個(gè)數(shù)量級(jí)以上。
圖6 標(biāo)定前后的位置誤差
圖7 標(biāo)定前后的姿態(tài)誤差
本文針對(duì)6-UPS并聯(lián)機(jī)構(gòu)進(jìn)行了外部標(biāo)定,得到如下結(jié)論:
1) 本文所用的對(duì)支鏈約束方程取微分推導(dǎo)運(yùn)動(dòng)學(xué)參數(shù)誤差模型的方法具有通用性,可用于其他構(gòu)型并聯(lián)機(jī)構(gòu)的運(yùn)動(dòng)學(xué)參數(shù)誤差模型的推導(dǎo)。
2)用 LM能夠準(zhǔn)確辨識(shí)出并聯(lián)機(jī)構(gòu)運(yùn)動(dòng)學(xué)參數(shù),且辨識(shí)效果優(yōu)于GN。用辨識(shí)得到的運(yùn)動(dòng)學(xué)參數(shù)對(duì)并聯(lián)機(jī)構(gòu)進(jìn)行誤差補(bǔ)償,使得機(jī)構(gòu)的位置精度和姿態(tài)精度都提高了一個(gè)數(shù)量級(jí)。