陳明方 何朝銀 張永霞 梁鴻鍵 呂玉波 黃良恩
(昆明理工大學機電工程學院, 昆明 650500)
并聯機器人因剛度大、承載能力強、精度高等優(yōu)點被廣泛應用于各領域,但較為復雜的機械結構,導致制造、裝配等難以測量的誤差要素對機器人末端運動精度的影響更為突出,進而限制工業(yè)機器人的推廣與應用[1-2]。建立誤差分析模型、找出誤差源、建立有效的標定算法是提高機器人末端位姿精度的重要措施[3]。
提高并聯機器人精度的方法有兩種,一種是通過提高零件的加工和裝配精度來提高機器人的精度,該方法成本高且缺乏可操作性;另一種是通過標定來提高機器人的精度,該方法可行性高且效果顯著[4]。機器人運動學標定分為誤差建模、誤差測量、參數辨識和誤差補償4個步驟,參數辨識得出機器人精確的結構參數是提高機器人精度的基礎[5]。在機器人標定方面,國內外學者開展了大量研究并取得了豐碩的成果。姜一舟等[6]提出一種改進差分進化算法標定機器人的運動學參數,顯著降低了機器人誤差。陳相君等[7]使用最小二乘優(yōu)化算法對協(xié)作機器人的參數誤差進行辨識和補償,機器人的平均位置誤差降低70.58%。喬貴方等[8]建立一種ZRM-MDH模型轉換的標定方法,實驗表明,該方法將機器人的平均定位誤差由0.081 mm降至0.062 mm。ZHAO等[9]建立了一種保證6自由度機器人幾何精度的通用方法,并證明了該方法的有效性。SHI等[10]通過辨識機器人運動學參數,采用最小二乘法尋優(yōu)來提高機器人的定位精度。李永泉等[11]以2-DOF冗余驅動并聯機器人為研究對象,采用手眼視覺標定法降低了機器人的誤差。ZHAO等[12]建立了一種基于MDH運動學原理的工業(yè)機器人運動參數標定算法;張禹等[13]提出一種三維手眼標定方法;HUANG等[14]通過優(yōu)化測量裝置,使機器人的辨識準確率和標定效果得到明顯改善。趙鐵軍等[15]提出一種變步長人工魚群算法來優(yōu)化參數辨識過程,把幾何誤差辨識問題轉換為高維非線性方程,提升了機器人絕對定位精度。李法民等[16]通過最小二乘法對機器人結構參數誤差進行辨識,以修正機器人的運動學模型,提高了機器人的精度。此外,魏文鋒等[17]使用二乘法進行參數辨識、王憲倫等[18]采用運動學多孔標定法、HE等[19]通過絕對定位誤差補償、溫秀蘭等[20]使用最優(yōu)位姿集標定、趙磊等[21]使用全局數值尋優(yōu)獲取補償數據、劉海龍等[22]使用基于量子粒子群優(yōu)化算法顯著提高了機器人的精度。HUITAEK等[23]基于閉環(huán)運動鏈和線性最小二乘法來辨識參數誤差,將機器人位置誤差從2.43 mm降至0.78 mm。張俊等[24]通過正則化算法來建立幾何誤差辨識模型,并驗證了該標定方法的有效性。
本文以一種2TPR&2TPS并聯機構為研究對象,首先對機器人的運動學進行分析,采用全微分法得出機器人的誤差模型,根據該模型得出機器人結構參數誤差與末端位姿誤差間的量化關系及各誤差項誤差變動對末端位姿誤差的影響規(guī)律。另外,建立參數辨識模型和標定效果評價函數,采用該辨識模型對機器人的結構參數進行辨識,以修正機器人的正逆解完成機器人的誤差標定。
2TPR&2TPS并聯機構是由2條相鄰的TPR支鏈、2條相鄰的TPS支鏈、動平臺和定平臺組成的空間機構。動平臺和定平臺呈等腰梯形狀,虎克鉸的4個鉸點Ti(i=1,2,3,4)、球鉸和轉動副的轉動中心S1、S2、R1、R2分別分布于2個等腰梯形的頂點,ti1、ti2(i=1,2,3,4)分別為虎克鉸Ti的一、二級轉動軸線,r1、r2為轉動副R1、R2的轉動軸線,圖1為其結構簡圖,圖2為實物。為方便研究,記lT1T2=e、lT3T4=f、lR1R2=c、lS1S2=b,動、定平臺高度分別為a和d,機器人各參數如表1所示。
表1 2TPR&2TPS機器人結構參數Tab.1 Structural parameters of 2TPR&2TPS robot
圖1 2TPR&2TPS機構簡圖Fig.1 Schematic of 2TPR&2TPS mechanism
圖2 2TPR&2TPS機構Fig.2 2TPR&2TPS mechanism1.動平臺 2.球副 3.定平臺 4.移動副 5.虎克鉸 6.轉動副
已知機構末端位姿求解各驅動桿長即為求解機構的逆解。以動、定平臺的中心建立定坐標系oxyz和動坐標系o0x0y0z0。設機器人的末端位姿坐標為o0=(x0,y0,z0,α,β,γ),p0=(x0,y0,z0)為動坐標系原點o0在定坐標系oxyz的位置坐標,(α,β,γ)為RPY角。為方便表達,記S1=M1、S2=M2、R2=M3、R1=M4。
采用閉環(huán)矢量法求解機構逆解。取機構第i(i=1,2,3,4)條支鏈建立閉環(huán)矢量圖,如圖3所示。
圖3 支鏈矢量圖Fig.3 Branch chain vector diagram
將動、定平臺上4個點在各自坐標系下表示為
(1)
(2)
動坐標系o0x0y0z0到定坐標系oxyz的轉換矩陣T為
(3)
由圖3支鏈矢量圖可得
Li=loo0+Tlo0Mi-loTi(i=1,2,3,4)
(4)
其中
(5)
向量Li的模長即為該機構逆解,即
Li=‖Li‖ (i=1,2,3,4)
(6)
由于該機構為欠秩機構,位姿參數x0、y0、z0、α、β、γ之間存在耦合。取S1、S2中點S12,由文獻[25]可知
(7)
將參數代入式(7),得到耦合關系式為
(8)
將各參數及式(8)代入式(6),得該機構逆解解析式為
(9)
其中
(10)
tβ表示tanβ、sα表示sinα、sβ表示sinβ、cα表示cosα、cβ表示cosβ。
對式(9)微分得
(11)
整理得
(12)
將式(12)寫成矩陣的形式
(13)
令
(14)
其中
(15)
式中JD——2TPR&2TPS并聯機構Jacobian矩陣
已知該機構各驅動桿長Li(i=1,2,3,4),求解末端位姿即為該機構的正解。本文所研究的機構較為復雜,通過式(9)無法解出正解的解析式,因此本文采用數值優(yōu)化法,基于反解給定初始位姿,通過不斷迭代直至滿足精度要求時輸出機構位姿正解,正解流程如圖4所示。其中,位姿變化量δy0、δz0、δα、δβ的表達式為
圖4 位姿正解流程圖Fig.4 Pose forward solution process
(16)
并聯機構的靜態(tài)誤差在很大程度上決定了機構精度,而結構參數與末端位姿間的非線性映射給誤差的定量分析增加了難度。并聯機構的誤差可分為靜態(tài)誤差和動態(tài)誤差,靜態(tài)誤差是指不隨時間變化的誤差,如設計、制造、裝配等誤差。靜態(tài)誤差主要影響了機器人的結構參數a、b、c、d、e、f。通過建立誤差分析模型,對每個誤差項取一定值,在工作空間中選取不同位姿點分析末端位姿誤差即可定量分析結構參數誤差與機器人末端位姿誤差間的量化關系。另外,對每個誤差項在一定范圍內以相同步長取誤差,即可分析機器人末端位姿誤差與該誤差項誤差變化的規(guī)律,為該機器人位姿標定提供理論支撐。
將式(9)移項后可表示為
fi(y0,z0,α,β,a,b,c,e,d,f,Li)=0 (i=1,2,3,4)
(17)
對式(17)全微分得
(18)
整理式(18),寫成矩陣的形式為
JE=B
(19)
將式(19)變換后得機器人的誤差模型為
δP=E=J-1B
(20)
其中
(21)
展開式(20)得機器人位姿誤差模型為
(22)
其中
(23)
誤差模型的作用是反映誤差項誤差與末端位姿誤差之間的映射關系。誤差模型建立后,分別對每個誤差項取1個單位的誤差,即δa=1 mm、δb=1 mm、 δc=1 mm、δd=1 mm、δe=1 mm、δf=1 mm,得出各誤差項產生1個單位的誤差時,機構末端產生幾個單位的誤差,便于誤差定量分析和比較各誤差項對機構末端精度的影響。在工作空間內選取90個位姿點,分析在各位姿點處誤差項對末端位姿的影響,位姿點的選取盡可能遍及機器人的整個工作空間。以位姿點數為橫坐標,機器人末端位姿誤差為縱坐標,得誤差項與位姿點的對應位姿誤差如圖5所示。再對全部位姿點對應的各方向誤差取均值,即可得出各誤差項誤差與機器人末端位姿誤差的量化關系,平均誤差如圖6所示。
圖5 各位姿點誤差Fig.5 Error of each pose point
圖6 平均誤差Fig.6 Average error
由圖6可知,在位置誤差中,各誤差項對x方向的影響最大、z方向的次之、y方向的最小;在姿態(tài)誤差中,β方向的誤差均大于α方向。從單個誤差項對末端位姿誤差的影響來看,結構參數誤差δa影響最大,δb和δe相似,δc和δf也相似,δd對x方向上的誤差影響較大。
在完成誤差的定量分析后,從選取的90個位姿點中選出誤差最接近平均誤差的位姿點,分6種情況將每個誤差項的誤差在[-2,2]mm范圍內調節(jié),得出機器人末端位姿誤差隨各誤差項誤差調節(jié)的規(guī)律如圖7所示。
由圖7可得,在位置誤差中,結構參數誤差的變化對x方向的誤差影響最大、z方向的影響次之、y方向的影響最小;在姿態(tài)誤差中,結構參數誤差的變化對β方向的誤差影響最大,α方向的影響最小。其中,誤差項的絕對值越大,末端位姿誤差的絕對值越大。
由于制造誤差、安裝誤差及零件本身的特殊性,不能精確測量各零件的精確尺寸,所以只能借助參數辨識的方法辨識出零件的精確尺寸?;谠摍C構逆解建立參數辨識模型,將耦合關系式β=arctan((x0+d/2)/z0)代入式(9)可知,無誤差時該機構的逆解為
Li=Li(x0、y0、z0、α、a、b、c、d、e、f) (i=1,2,3,4)
(24)
式中x0、y0、z0、α——機器人理想位姿
引入該機器人動平臺結構參數a、b、c及定平臺結構參數d、e、f對應需辨識的誤差為δa、δb、δc、δd、δe、δf,則引入誤差后機器人的逆解為
(25)
式中x2、y2、z2、α2——機器人實測位姿
機器人結構參數誤差δa、δb、δc、δd、δe、δf待解,可通過建立目標函數,再對目標函數最小值尋優(yōu)獲得。建立目標函數為
(26)
式中m——位姿點數
L1m、L2m、L3m、L4m——無誤差時第m個點對應的驅動桿長度
粒子群算法具有原理簡單、需調參數少、收斂速度快等優(yōu)點,在參數辨識中易獲得需辨識的結構參數誤差值。但標準粒子群算法參數固定,在尋優(yōu)過程中易出現早熟收斂至局部極值點、迭代后期收斂速度慢等問題。故本文采用改進粒子群算法,引入動態(tài)慣性權重和動態(tài)學習因子,以避免陷入局部最優(yōu)和加快迭代后期的收斂速度,動態(tài)慣性權重、動態(tài)學習因子計算式為
(27)
式中c1、c2——學習因子
t——當前迭代次數
g——終止迭代次數
ω——慣性權重
在迭代前期,慣性權重ω較大,以保證各個粒子獨立飛行,在空間內充分搜索,后期ω減小,多向其他粒子學習;前期c1大、后期c2大,從而平衡粒子的全局搜索能力和局部搜索能力。
使用改進粒子群算法對機器人的結構參數進行辨識,首先初始化群粒子參數,每個粒子代表結構參數誤差的一個潛在解。每次迭代中,粒子以適應度來衡量自身的性能,通過對比所有粒子的適應度來獲取全局最優(yōu)解,從而優(yōu)化粒子的速度和位置,直至滿足條件時輸出需辨識的結構參數誤差。本文使用改進粒子群算法對目標函數式(26)的最小值尋優(yōu),得出待辨識的結構參數誤差δa、δb、δc、δd、δe、δf。用辨識后的結構參數修正機構逆解,控制驅動桿運動到相應位置,再測量末端位置以驗證補償效果,改進粒子群算法的參數設置如表2所示,標定原理如圖8所示。更新粒子當前速度和位置的表達式為
表2 改進粒子群算法參數設置Tab.2 Modified particle swarm optimization parameter setting
圖8 標定原理Fig.8 Calibration principle
(28)
式中d——空間維數
N——粒子數
rand1、rand2——區(qū)間[0,1]上的隨機數
pBest——個體極值gBest——群體極值
為驗證標定算法的有效性,對機器人各誤差項設置一定量誤差,在工作空間內選取30個位姿點進行參數辨識,為驗證算法的普遍適應性,取多次辨識值來驗證算法的效果。設置1組誤差,采用圖8的方法對其辨識5次,結果如表3所示。
表3 誤差設置及辨識結果
將選擇的位姿點代入含誤差項的正逆解得到的末端位姿,與理想位姿求差得到標定前的位姿誤差。獲得待辨識誤差項后,用辨識結果修正機器人的正逆解,將選擇的位姿點代入,得到的末端位姿與理想位姿求差得到標定后的位姿誤差。對比標定前、后的位姿誤差,可評價標定算法的有效性。選取90個位姿點的誤差,對5組辨識參數的有效性進行分析,圖9為標定前誤差,圖10為標定后誤差。
圖9 標定前誤差Fig.9 Error before calibration
圖10 標定后誤差Fig.10 Error after calibration
由圖9、10可知,5組標定后的位姿誤差均遠小于標定前的誤差,說明該標定算法有效,能有效提升機器人位姿精度。
完成給定誤差的辨識、標定算法驗證有效后,使用該方法辨識激光跟蹤儀采集的結構參數的誤差。由于激光跟蹤儀僅能獲取位置坐標值,故分析時不考慮機器人的姿態(tài)誤差,將其視為0°。測量時,將靶球置于動坐標系的原點處,選取30個位姿點進行測量,實驗測量方案如圖11所示。
圖11 末端位置測量Fig.11 Measurement of end position1.激光跟蹤儀 2.PC機 3.2TPR&2TPS并聯機構 4.動平臺 5.靶球
使用激光跟蹤儀測得機器人的30個位姿點,它們?yōu)闃硕ㄇ暗奈蛔恕硕ㄇ暗奈蛔瞬捎脠D8的方法辨識結構參數誤差δa、δb、δc、δd、δe、δf,結果如表4 所示。將辨識出的各參數值與對應的結構參數求和得機構各參數的實際值。用實際值修正機構逆解,將選取的30個理想位姿點代入修正后的逆解,得到對應驅動桿長度,控制驅動桿到相應位置,測得的位姿即為標定后的位姿。將標定前、后的位姿與理想位姿相減再取絕對值,得標定前、后的位姿誤差,結果如圖12所示。
表4 辨識結果Tab.4 Identification results mm
圖12 標定結果Fig.12 Calibration results
(29)
式中n——標定點數量
δxi、δyi、δzi——第i個位姿點沿x、y、z軸方向的位置誤差
由圖12可知,位置誤差均值由3.684 mm降至1.156 mm,精度提升68.62%;距離誤差均值由7.710 mm降至2.350 mm,精度提升69.52%,標定算法有效,效果顯著。
(1)以一種2TPR&2TPS并聯機構為研究對象,采用全微分法得出機器人的誤差模型,根據該模型得出機器人結構參數誤差與末端位姿誤差間的量化關系,以及各誤差項誤差變動對末端位姿誤差的影響規(guī)律。
(2)基于改進粒子群算法建立了參數辨識模型,通過對本文的待辨識量設置一組誤差值,并取5次辨識值與設置值作對比,驗證了該參數辨識模型的有效性;同時,建立了標定效果評價函數。
(3)采用建立的參數辨識模型對機器人的結構參數進行辨識,辨識后修正該機器人的正逆解完成誤差標定。實驗結果表明,位置誤差精度提升68.62%;距離誤差均值由標定前的7.710 mm降至2.350 mm,精度提升69.52%,標定算法有效,效果顯著。