梁兆東,肖永強,游 瑋,葛景國
(埃夫特智能裝備股份有限公司,安徽 蕪湖 241000)
隨著國產(chǎn)工業(yè)機器人進入涂膠、弧焊、裝配等高精度應(yīng)用,機器人自身絕對定位精度的問題顯得十分凸顯。工業(yè)機器人由于加工裝配過程的制造幾何參數(shù)誤差,連桿和關(guān)節(jié)的柔性,以及減速機齒隙等諸多不可避免的因素導(dǎo)致機器人絕對定位精度差,而其中幾何參數(shù)誤差占據(jù)機器人末端誤差來源的95%[1]。工業(yè)機器人的標(biāo)定方法及對應(yīng)的補償算法是提升機器人的絕對定位精度的一種有效途徑,工業(yè)機器人的運動學(xué)標(biāo)定過程包括建模、測量、辨識和補償[2]。運動學(xué)標(biāo)定的過程是指通過修正機器人運動控制器中的運動學(xué)模型參數(shù)提升機器人絕對定位精度的過程。因此在不改變機器人機械本體的基礎(chǔ)上,通過算法補償實現(xiàn)機器人的絕對定位精度的提升有著重要的研究意義。
以MDH 模型為基礎(chǔ),建立機器人運動學(xué)誤差模型,通過對幾何參數(shù)誤差進行補償,采用名義運動學(xué)模型和基于雅克比的辨識運動學(xué)模型關(guān)節(jié)角度偏差補償相結(jié)合的逆運動學(xué)算法補償誤差,提高了機器人的絕對定位精度。
工業(yè)機器人目前應(yīng)用最多的運動學(xué)模型為DH 模型(Denavit-Hartenberg),但當(dāng)機器人相鄰關(guān)節(jié)軸線平行或接近平行時,DH 模型不滿足連續(xù)性。針對DH 模型的缺陷,眾多學(xué)者提出了其他修正模型。1983 年,Hayati 在相鄰平行或者接近平行關(guān)節(jié)引入了Y 軸的旋轉(zhuǎn)參數(shù)β[3],建立了Modified-DH 模型,即MDH模型。1988 年,Stone 提出了S 模型[4],使用6 個參數(shù)描述相鄰關(guān)節(jié)之間坐標(biāo)變換關(guān)系,模型不具備連續(xù)性。文獻[5]于1992 年提出了CPC 模型,構(gòu)建了完整連續(xù)的運動學(xué)模型,但其引入了冗余參數(shù)。2001 年,NTU 的Chen 提出了POE 模型[6],POE 模型基于旋量理論的指數(shù)積,但是此模型表達式與工業(yè)機器人控制的接口相對復(fù)雜,實際應(yīng)用較少。
隨著近年來國產(chǎn)工業(yè)機器人的發(fā)展迅速,國內(nèi)很多高校開展了運動學(xué)標(biāo)定和補償?shù)南嚓P(guān)研究:文獻[7]進行了基于POE 方法的工業(yè)機器人運動學(xué)標(biāo)定研究;文獻[8]開展了工業(yè)機器人參數(shù)標(biāo)定方法與實驗研究的合作。
采用Hayati 的MDH 模型,通用球形腕的六軸工業(yè)機器人中第2 軸與第3 軸平行,因此在第2 軸的模型引入Y 軸的旋轉(zhuǎn)參數(shù)β。
DH 模型中相鄰連桿坐標(biāo)系之間的位姿關(guān)系的運動學(xué)表達式為:
Hayati 的MDH 模型中在相鄰平行或者接近平行的關(guān)節(jié)引入了Y 軸的旋轉(zhuǎn)參數(shù)β 后,平行或者接近平行的相鄰連桿坐標(biāo)系之間的位姿關(guān)系的運動學(xué)表達式為:
圖1 六軸工業(yè)機器人運動學(xué)模型關(guān)節(jié)坐標(biāo)系Fig.1 Joint Coordinates of Six Axis Industrial Robot Kinematics
假設(shè)幾何誤差Δg=(Δθ,Δd,Δa,Δα,Δβ),末端位姿的偏差Δx=(Δpx,Δpy,Δpz,Δφx,Δφy,Δφz),則可以建立考慮幾何誤差的末端位置偏差的運動學(xué)模型,式(3)為名義正運動學(xué)模型,式(4)為考慮幾何誤差后的正運動學(xué)模型:
假設(shè)Δg 很小,利用小誤差模型的線性擬合可以得到幾何誤差與末端位姿誤差之間的誤差模型:
式中:H(g)—幾何誤差參數(shù)Δg 對機器人末端位姿誤差Δx 的(6×5n)作用矩陣,稱為MDH 模型辨識雅克比矩陣,H(g)每一列代表了機器人末端位姿誤差Δx 相對于Δg 中某一幾何參數(shù)的靈敏性。H(g)利用微分齊次變換求得,而不是通過對式(4)求微分獲得。利用激光跟蹤儀測量獲得機器人末端的實際空間位姿,并將其與機器人控制器名義正運動學(xué)模型的位姿值進行求差即得到末端位姿誤差,進而利用式(5)可以求得到機器人的幾何參數(shù)誤差Δg。
誤差補償是機器人標(biāo)定的最后一個步驟,其主要工作是將標(biāo)定辨識后的幾何誤差參數(shù)Δg,將誤差參數(shù)導(dǎo)入到機器人控制系統(tǒng)中提高機器人的絕對定位精度??紤]幾何誤差后,機器人的笛卡爾空間的運動需要對式(4)求逆獲得關(guān)節(jié)空間的各軸驅(qū)動角度,但是若幾何參數(shù)為非名義參數(shù)后,六軸機器人運動學(xué)模型求逆將是一個求解超越函數(shù)的非線性方程組,其求解相對復(fù)雜。通用的六軸串聯(lián)工業(yè)機器人(開鏈結(jié)構(gòu))只有在滿足Pieper 準(zhǔn)則中兩個充分條件之一才能獲得封閉解,封閉解的求解過程相對簡單。Pieper 準(zhǔn)則六軸串聯(lián)機器人最后三個關(guān)節(jié)之間滿足αi=0 或者αi=±π/2,因此也有學(xué)者提出只補償幾何參數(shù)的桿件長度參數(shù)ai和di,此時運動學(xué)逆解也能獲得封閉解,但是補償精度有限。
為了達到更高的補償精度,需要將所有的幾何誤差都予以考慮。目前幾何誤差補償方法有笛卡爾空間補償法和關(guān)節(jié)空間補償法。笛卡爾空間補償常有兩種方法:(1)笛卡爾空間誤差模型估計,通過誤差模型估計笛卡爾空間位姿誤差并在笛卡爾空間補償[9],再用名義逆運動學(xué)求解,此方法較為簡單,計算時間短,但是此方法是一種位姿估計,依賴于期望笛卡爾位姿和實際笛卡爾位姿之間微分偏差很小,否則此方法收斂速度很慢;(2)通過外部測量設(shè)備測量估計出誤差[10],然后在通過名義逆運動學(xué)求解,此方法依賴于昂貴的外部高精度的位姿測量設(shè)備(如激光跟蹤儀),在實際現(xiàn)場應(yīng)用不太方便。關(guān)節(jié)空間補償法[11],是通過通過微分運動關(guān)系將笛卡爾坐標(biāo)空間的位姿誤差反解到關(guān)節(jié)坐標(biāo)空間的偏差,并將其此偏差疊加名義逆運動學(xué)模型上。文獻[11]采用了基于微分齊次變換的正向誤差計算和基于旋量理論求解雅克比的反向誤差補償結(jié)合的方法,而采用名義逆運動學(xué)、基于齊次變換的正向誤差計算和基于幾何雅克比反求關(guān)節(jié)空間偏差相結(jié)合的方法,具體求解流程圖,如圖2 所示。解釋如下:
圖2 基于誤差補償?shù)倪\動學(xué)算法流程圖Fig.2 Flow of Kinematics Based Errors Compensation
(1)首先通過名義逆運動學(xué)模型求解笛卡爾空間位姿指令值xc對應(yīng)的各個關(guān)節(jié)名義值θ。
(2)然后將第(1)步求解得到的關(guān)節(jié)名義值代入到考慮幾何誤差的正運動學(xué)模型中,求解考慮幾何誤差的笛卡爾坐標(biāo)值xe。
(3)求解笛卡爾坐標(biāo)誤差值Δx=xc-xe。
(4)通過此時關(guān)節(jié)位置θ 的雅克比矩陣,并將其求逆,與第(3)步得到的Δx 聯(lián)合求解得到關(guān)節(jié)空間對應(yīng)各軸偏差值δθ。
(5)補償各個關(guān)節(jié)坐標(biāo)值θ=θ+δθ。
(6)將第(5)步補償后的關(guān)節(jié)坐標(biāo)值代入到考慮幾何誤差的正運動學(xué)中,求解關(guān)節(jié)補償后的笛卡爾坐標(biāo)值xe。
(7)計算笛卡爾坐標(biāo)指令值和補償后的笛卡爾坐標(biāo)值之間的誤差,判斷其與指定笛卡爾坐標(biāo)容許誤差δ 比較大小。如果為真進入第(8)步,否則進入第(4)步。
(8)將第(5)步中最新一次補償?shù)年P(guān)節(jié)坐標(biāo)值θ 下發(fā)到各個軸的位置控制器中。
試驗對機器人為埃夫特自主研發(fā)的ER3A 六軸工業(yè)機器人,其名義的DH 模型參數(shù),如表1 所示。試驗中所用驗證算法的控制器為埃夫特RP-1 機器人控制器,所用測量設(shè)備為LEICA 的AT401 激光跟蹤儀,絕對距離測量性能:分辨力0.1μm,精度10μm,重復(fù)性5μm。LEICA 激光跟蹤儀辨識的ER3A 機器人幾何誤差參數(shù),如表2 所示。
表1 ER3A 的MDH 模型名義參數(shù)Tab.1 Nominal Parameters of ER3A MDH Model
表2 ER3A 的MDH 模型幾何誤差參數(shù)Tab.2 Geometrical Errors Parameters of ER3A MDH
首先選取ER3A 機器人工作空間的350 個點,并在機器人控制器中存儲350 個點的笛卡爾坐標(biāo)位置值。使用機器人名義逆運動學(xué)模型和設(shè)計的基于誤差補償?shù)倪\動學(xué)算法分別進行試驗:試驗過程中用LEICA 激光跟蹤儀AT401 進行笛卡爾空間的350個點實際空間位置測量,并實時記錄350 個點的實際位置值,使用以下方程評價絕對定位精度:
圖3 誤差補償前后機器人末端位置誤差Fig.3 TCP Errors of Robot TCP with and without Errors Compensation
表3 ER3A 的誤差補償前后的TCP 誤差對比Tab.3 TCP Errors Comparison of ER3A with and without Errors Compensation
對比可知,誤差補償后,機器人笛卡爾空間坐標(biāo)的位置誤差的均值從0.5754mm 降低到0.2779mm,位置誤差均值降低了51.70%;機器人笛卡爾空間坐標(biāo)的位置誤差的最大值從1.0811mm 降低到0.5887mm,位置誤差最大值降低了45.54%,證明了誤差補償?shù)倪\動學(xué)算法的有效性。
以MDH 模型為基礎(chǔ),建立了機器人MDH 模型中幾何參數(shù)誤差和機器人末端位姿誤差之間的誤差模型,提出了基于雅克比矩陣在關(guān)節(jié)空間補償因幾何誤差導(dǎo)致的笛卡爾空間位姿誤差的關(guān)節(jié)偏差的運動學(xué)算法,通過此誤差補償提高機器人的絕對定位精度。以自主研發(fā)ER3A 機器人為誤差補償算法試驗對象進行驗證,測量驗證點的位置誤差均值由0.5754mm 降低到0.2779mm,即在采用提出的誤差補償運動學(xué)算法后,ER3A 機器人的絕對定位精度提高了51.70%。該誤差補償運動學(xué)算法通過考慮幾何誤差,建立對應(yīng)的誤差模型并應(yīng)用運動學(xué)算法補償,有效提高了機器人的絕對定位精度。