于連棟,常雅琪,趙會寧*,曹家銘,姜一舟
(1. 合肥工業(yè)大學(xué) 儀器科學(xué)與光電工程學(xué)院,安徽 合肥230009;2. 測量理論與精密儀器安徽省重點實驗室,安徽 合肥230009)
隨著機(jī)器人技術(shù)的快速發(fā)展,工業(yè)機(jī)器人廣泛應(yīng)用于自動化、先進(jìn)制造等領(lǐng)域。機(jī)器人具有較好的重復(fù)定位精度,但絕對定位精度較差,使其適用范圍受到了嚴(yán)重的限制。因此,如何進(jìn)一步提高機(jī)器人的絕對定位精度成為研究的焦點。目前,解決上述問題主要有兩種方式:提高機(jī)器人的加工和裝配精度,以增加開發(fā)成本為代價,更新速度較慢,難以滿足生產(chǎn)需要;采用數(shù)學(xué)方法修正結(jié)構(gòu)參數(shù)與非結(jié)構(gòu)參數(shù)的誤差,在不增加任何成本情況下,能夠有效地提高機(jī)器人的絕對定位精度。
機(jī)器人結(jié)構(gòu)參數(shù)標(biāo)定通常包括建模、測量、參數(shù)辨識和補(bǔ)償4 個步驟。 1995 年Denavit 和Hartenberg 提出D-H 建模,并被廣泛應(yīng)用于機(jī)器人建模[1]。Samad 等提出5 參數(shù)MD-H 模型[2],改進(jìn)了D-H 模型相鄰兩個關(guān)節(jié)平行時產(chǎn)生奇異的問題。在測量方面,激光跟蹤儀[3]、視覺跟蹤系統(tǒng)[4]和球桿儀[5]等能夠?qū)崿F(xiàn)高精度測量,為誤差修正提供標(biāo)準(zhǔn)量。 在參數(shù)識別方面,最小二乘法[6]具有原理簡單和計算量大的特點,LM 算法[7]、擴(kuò)展卡爾曼濾波[8]等是經(jīng)典的解決方法。然而,基于機(jī)器人運動學(xué)的建模僅能部分修正機(jī)器人的制造和裝配誤差,因此,結(jié)構(gòu)參數(shù)誤差的占比不同,補(bǔ)償效果在整個空間不均勻,修正效果受到限制。
非結(jié)構(gòu)參數(shù)誤差主要受桿件變形、溫度等方面的影響。Lubrano 等[9]通過在機(jī)器人上布置溫度傳感器測量其自身溫度,實現(xiàn)了溫度補(bǔ)償。Gong 等[10]研究了連桿柔性以及溫度對機(jī)器人的影響,連桿溫度的升高造成零件的膨脹,重力與載荷使連桿變形,難以直接消除。Nguyen 等[11]通過將參數(shù)辨識后的殘差作為ANN 模型的輸出,關(guān)節(jié)轉(zhuǎn)角作為輸入,建立了機(jī)器人非結(jié)構(gòu)參數(shù)誤差修正模型。部分學(xué)者通過將結(jié)構(gòu)參數(shù)與非結(jié)構(gòu)參數(shù)誤差當(dāng)做整體,統(tǒng)一考慮,為機(jī)器人標(biāo)定提供了新的思路。Zeng 等[12]對機(jī)器人誤差進(jìn)行分析,提出了基于誤差相似性的精度補(bǔ)償方法。Guanbin 等[13]采用BP 神經(jīng)網(wǎng) 絡(luò)與粒 子群算法混合,搜索最優(yōu)變量,以補(bǔ)償運動學(xué)參數(shù)的誤差。趙俊偉等[14]采用空間差值法,自動調(diào)用之前庫內(nèi)補(bǔ)償值進(jìn)行補(bǔ)償。
相對于上述方法,支持向量回歸機(jī)(Support Vector Regression,SVR)整體考慮結(jié)構(gòu)與非結(jié)構(gòu)參數(shù)誤差,將低維非線性自變量空間,轉(zhuǎn)至高維特征空間,使其實現(xiàn)可線性規(guī)劃的學(xué)習(xí)系統(tǒng)。同時,引入損失參數(shù)減小隨機(jī)誤差對預(yù)測模型的影響,能夠通過較少的訓(xùn)練樣本獲得較強(qiáng)的泛化能力,不易陷入局部最優(yōu),結(jié)構(gòu)更簡單,學(xué)習(xí)效果更好[15-16]。
機(jī)器人的桿件變形、溫度變形等因素引起的非結(jié)構(gòu)參數(shù)誤差會隨著機(jī)器人在工作空間的運動,產(chǎn)生一定規(guī)律的變化。網(wǎng)格劃分便成為解決這類問題的有效途徑,王一等[17]提出了扇形網(wǎng)格劃分方法,周煒等[18]采用網(wǎng)格劃分的方法實現(xiàn)了機(jī)器人結(jié)構(gòu)參數(shù)與非結(jié)構(gòu)參數(shù)的誤差修正。
本文采用Universal robot 公司的UR5 機(jī)器人作為研究對象,采用MDH 模型為基礎(chǔ),通過對工作空間進(jìn)行網(wǎng)格劃分,并利用SVR 方法建立機(jī)器人轉(zhuǎn)角與機(jī)器人誤差之間的關(guān)系模型,以實現(xiàn)網(wǎng)格內(nèi)絕對定位誤差的補(bǔ)償。
機(jī)器人運動學(xué)建模的經(jīng)典方法是D-H 模型[1],根據(jù)D-H 模型的描述,關(guān)節(jié)之間的轉(zhuǎn)換可以用4 個結(jié)構(gòu)參數(shù)進(jìn)行描述。這4 個結(jié)構(gòu)參數(shù)是連桿長度a,連桿偏距d,連桿繞X 軸旋轉(zhuǎn)轉(zhuǎn)角α,以及關(guān)節(jié)轉(zhuǎn)角θ。
采用如圖1 所示的UR5 機(jī)器人作為研究對象,共有6 個轉(zhuǎn)動關(guān)節(jié),其中有兩相鄰關(guān)節(jié)旋轉(zhuǎn)軸系處于平行狀態(tài),D-H 模型存在著病態(tài)性。為了克服這類問題,MDH 模型在D-H 模型的基礎(chǔ)上增加了繞Y 軸的轉(zhuǎn)動量β。在相鄰關(guān)節(jié)不平行時,β=0,僅當(dāng)兩相鄰關(guān)節(jié)平行時存在β。如圖2所示,采用MDH 模型可以獲得機(jī)器人相鄰連桿的坐標(biāo)轉(zhuǎn)換關(guān)系,以確定最末端坐標(biāo)值。連桿之間的轉(zhuǎn)換關(guān)系為:
圖1 UR5 機(jī)器人關(guān)節(jié)坐標(biāo)系示意圖Fig. 1 Schematic diagram of UR5 robot coordinate system
圖2 MDH 模型連桿坐標(biāo)系Fig. 2 Linkage coordinate system of MDH model
對于n自由度轉(zhuǎn)動機(jī)器人,末端位姿是各個連桿變換矩陣的乘積。機(jī)器人運動學(xué)模型為:
機(jī)器人末端工具的實際位置P=[Px Py Pz]T。由于各參數(shù)的理論值與實際值存在一定的偏差,所以機(jī)器人末端位置的實際值與理論值也不同,存在定位誤差e=P-P′,其單點絕對定位誤差在笛卡爾坐標(biāo)系中存在3 個方向的距離誤差ei∈R3。
假 設(shè) 一 個 樣 本 集{(x1,y1),(x2,y2),…,x}(xm,ym) ,其中xi∈Rn作為樣本集自變量,yi∈R表示樣本集因變量。 使用非線性映射將數(shù)據(jù){x1,x2,…,xm}映射到高維空間F,再在高維空間進(jìn)行線性擬合。因此可以將函數(shù)關(guān)系式用公式(3)表達(dá):
式中:w是將樣本數(shù)據(jù)映射到高維空間之后對應(yīng)的權(quán)重向量,b被稱為偏置項。
在利用SVR 進(jìn)行計算時,會引入?yún)?shù)ε的不敏感損失函數(shù)度量,如式(4)所示。若回歸函數(shù)誤差小于損失參數(shù)ε,忽略對回歸結(jié)果的影響,盡可能包含更多數(shù)據(jù)點。
根據(jù)樣本估計出回歸函數(shù)f(x),使得yi與f(x)的差值都很小,將問題轉(zhuǎn)化為:
式(5)作為目標(biāo)函數(shù)??紤]到部分樣本不能被正確分類,引入松弛因子ξi,ξi*≥0,懲罰因子C>0,表示大于ε的樣本懲罰程度。式(5)是一個二次規(guī)劃問題,只要優(yōu)化求解方法滿足KKT條件,通常采用Lagrange 對偶問題解決方法,以及Lagrange 乘數(shù)法。引入拉格朗日乘子αi和α*i,將目標(biāo)函數(shù)轉(zhuǎn)化為:
式中K(xi,xj) 為核函數(shù)。通過選擇合適的核函數(shù),不僅能提高預(yù)測模型的精度,而且能降低隨機(jī)噪聲對預(yù)測模型的影響和運算量。目前,常用的核函數(shù)及其特點如下:多項式函數(shù),維數(shù)過高時其計算復(fù)雜度增加;線性函數(shù),適用于輸入輸出維度相同的訓(xùn)練模型;sigmoid 函數(shù),類似于多層神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),具有一定的局限性;徑向基函數(shù)(Radial Basis Function,RBF),對樣本要求低、應(yīng)用廣泛、靈活性高。由于機(jī)器人輸入輸出維度不同以及模型復(fù)雜度高,選擇RBF 進(jìn)行訓(xùn)練,具體表達(dá)式為:
通過指數(shù)關(guān)系,將輸入樣本空間映射到無限維空間,從而實現(xiàn)高精度非線性擬合。
具有旋轉(zhuǎn)關(guān)節(jié)的n-DOF(Degree of Freedom)機(jī)器人采樣樣本m個,建立樣本集{(θ1,e1),(θ2,e2),…,(θm,em) }T,θ∈Rn,為機(jī)器人n個轉(zhuǎn)角數(shù)值,ei為對應(yīng)在直角坐標(biāo)系中的誤差值。具有n旋轉(zhuǎn)關(guān)節(jié)的機(jī)器人的末端位置誤差可以表示為:ei=E(θ)=ωi,1θi,1+ωi,2θi,2+ …+ωi,nθi,n,(10)式中:ei= [exi eyi ezi]T,是機(jī)器人x,y,z3 個方向的誤差向量;ωij= [ωxij ωyij ωzij]T,表示結(jié)構(gòu)參數(shù)和非結(jié)構(gòu)參數(shù)有關(guān)的轉(zhuǎn)角補(bǔ)償系數(shù)。誤差補(bǔ)償函數(shù)E(θ)是關(guān)節(jié)轉(zhuǎn)角與末端坐標(biāo)誤差的函數(shù)表達(dá)式。
圖3 坐標(biāo)轉(zhuǎn)換示意圖Fig. 3 Coordinate conversion relationship
如圖3 所示,利用激光跟蹤儀測量機(jī)器人末端坐標(biāo)的笛卡爾坐標(biāo)值PMT,在理想結(jié)構(gòu)參數(shù)與運動學(xué)模型獲得機(jī)器人的理論末端坐標(biāo)值PST。采用RANSAC 快速轉(zhuǎn)換算法獲得坐標(biāo)轉(zhuǎn)換矩陣PSM[19]。單點位置誤差表示為:
在采用式(12)進(jìn)行預(yù)測時,需要對平衡系數(shù)c,允許誤差ε,以及高斯核函數(shù)σ進(jìn)行選擇。隨著c的增加,訓(xùn)練時間變長,訓(xùn)練樣本集的標(biāo)準(zhǔn)均方差成反比例函數(shù)減小。高斯核函數(shù)σ越小,標(biāo)準(zhǔn)均方差越小。隨著允許誤差的減小,被考慮的樣本減少,標(biāo)準(zhǔn)均方差增大。綜合考慮,最終選定平衡系數(shù)c=100,允許誤差ε=0. 2,高斯核函數(shù)σ=2。
為提高SVR 模型的訓(xùn)練精度,降低非結(jié)構(gòu)參數(shù)的影響,需要對機(jī)器人工作空間進(jìn)行劃分。網(wǎng)格劃分的好壞會直接影響機(jī)器人標(biāo)定的精度與速度。如圖4 所示,網(wǎng)格劃分按照機(jī)器人末端位置區(qū)域進(jìn)行形狀大小的分類。網(wǎng)格的大小與標(biāo)定結(jié)果在一定范圍內(nèi)成反比,網(wǎng)格越小,給實際操作帶來了很大的難度;網(wǎng)格越大,標(biāo)定結(jié)果越差。
圖4 機(jī)器人工作空間網(wǎng)格劃分Fig. 4 Grid division of robot workspace
網(wǎng)格劃分步驟如下:
(1)定義網(wǎng)格屬性,包括形狀和大小。若采用扇形網(wǎng)格劃分方法,結(jié)合機(jī)器人3 個基礎(chǔ)轉(zhuǎn)角進(jìn)行劃分,該方法比較貼合機(jī)器人的移動方式。但求解預(yù)測誤差是在笛卡爾坐標(biāo)系中,導(dǎo)致標(biāo)定效果并不理想。針對上述情況,本文采用如圖4所示的立方體結(jié)構(gòu),便于最終的誤差修正,且標(biāo)定效果較好。立方體大小的選擇主要根據(jù)所需精度予以決策。根據(jù)洪鵬等對網(wǎng)格大小選取的分析[20],本文采用100 mm×100 mm×100 mm 的正立方體結(jié)構(gòu)對UR5 機(jī)器人進(jìn)行網(wǎng)格劃分。
圖5 訓(xùn)練樣本量與標(biāo)定精度之間的關(guān)系Fig. 5 Relationship between training sample size and accuracy
(2)劃分網(wǎng)格,獲取采樣點集。機(jī)器人工作空間是一個球形,網(wǎng)格劃分采用立方體結(jié)構(gòu),無法覆蓋所有空間,對于邊界空間,盡量減小網(wǎng)格大小,以實現(xiàn)準(zhǔn)確修正。在單一網(wǎng)格內(nèi),采樣點數(shù)量對最終訓(xùn)練結(jié)果的影響結(jié)果如圖5 所示。標(biāo)準(zhǔn)偏差在0~10 個采樣區(qū)間快速下降,并在10~30 個采樣區(qū)間出現(xiàn)拐點,對誤差的修正效果趨于平穩(wěn)。在保證訓(xùn)練結(jié)果的前提下,采用較少的訓(xùn)練樣本可以減小采樣難度,也避免發(fā)生過擬合。因此,選擇20 個點為單一網(wǎng)格的采樣數(shù)目。
如圖6 所示,采用U R 5 機(jī)器人作為研究對象,并利用A P I T racker T 3 激光跟蹤儀作為測量儀器,其測角精度為± 3. 5 μm /m,測長精度為±0. 5 μm/m。 UR5 機(jī)器人的關(guān)節(jié)轉(zhuǎn)角Θ=[θ1,θ2,…,θm]T,θ∈R6,作 為 自 變 量 輸 入 模 型 。因變量分別為機(jī)器人末端x,y,z3 個方向的誤差值。
圖6 UR5 機(jī)器人與激光跟蹤儀實驗裝置Fig. 6 UR5 robot and laser tracker experimental setup
如圖7 所示,機(jī)器人臂長的20%~80% 區(qū)域作為中心位置,80%~100% 區(qū)域作為邊緣位置,劃分邊長為100 mm 的正立方體,每個網(wǎng)格內(nèi)隨機(jī)運動采樣120 個點,其中20 個點作為訓(xùn)練樣本。按照第4 節(jié)所述方法,獲得誤差值作為模型的因變量,對SVR 模型訓(xùn)練,以確定式(8)中的參數(shù)α,α*和b。 不同位置的預(yù)測結(jié)果如圖8 所示,x,y,z3 個方向的原始位置誤差和預(yù)測模型結(jié)果基本重合,并計算兩者相關(guān)系數(shù)的均值為0. 944,均趨近于1,表明訓(xùn)練效果較好。
圖7 UR5 機(jī)器人采樣位置選擇Fig. 7 Selection of UR5 robot sampling position
其余100 個采樣點作為驗證,評價SVR 的系數(shù)擬合結(jié)果。采用驗證樣本進(jìn)行驗證,并隨機(jī)抽取50 個點進(jìn)行觀察,得到如圖9 所示的驗證結(jié)果。由圖9 可知,不同位置的驗證結(jié)果和原始誤差的重合度較好。
為了驗證已提出方法的優(yōu)勢,與LM 算法進(jìn)行比較,結(jié)果如表1 所示。圖10 為不同位置修正前后絕對距離誤差示意圖。結(jié)果表明,機(jī)器人末端位置不同,會造成原始誤差分布不同,但定位精度均有明顯提高,且效果優(yōu)于LM 算法。
圖8 不同位置的訓(xùn)練結(jié)果Fig. 8 Training results at different positions
圖9 不同位置的驗證結(jié)果Fig. 9 Verification results at different positions
圖10 不同方法的絕對定位精度對比Fig. 10 Comparison of absolute accuracy between different methods
表1 不同方法的補(bǔ)償效果Tab. 1 Compensation effects of methods at different positions (mm)
結(jié)構(gòu)參數(shù)誤差和非結(jié)構(gòu)參數(shù)誤差是影響機(jī)器人末端單點定位精度的重要因素。本文采用SVR,同步考量結(jié)構(gòu)參數(shù)誤差與非結(jié)構(gòu)參數(shù)誤差。通過機(jī)器人轉(zhuǎn)角與末端絕對定位誤差的高維擬合,建立兩者之間的直接聯(lián)系,實現(xiàn)了位置誤差的預(yù)測與修正。實驗結(jié)果表明,將機(jī)器人中心位置與邊緣位置分別從2. 107 mm 和2. 182 mm,修正到0. 103 mm 和0. 123 mm,有效地提高了機(jī)器人的絕對定位精度。