紀慧君 苗鴻賓② 李孟虔 雙 立 賈 磊
(①中北大學機械工程學院,山西 太原 030051;②山西省深孔加工工程技術研究中心,山西 太原 030051)
雙機器人坐標系標定,包含機器人自身參數的標定和雙機器人協(xié)調運動系統(tǒng)的標定。前者主要指單個機器人工具坐標系的標定,后者指兩個機器人基坐標系的標定。由于機器人運動學建模中其基坐標系位于機器人內部,無法通過直接的手段測量兩個機器人基坐標系之間的關系。與單機器人標定相比,雙機器人標定指通過特定方法得到兩個機器人基坐標系之間的位姿變換矩陣。由于非接觸式標定過程復雜、設備昂貴,接觸式標定的定位精度不夠,目前還沒有大范圍使用的雙機器人標定算法。
為了解決多工作任務下頻繁更換末端執(zhí)行器帶來的精度問題,需要對工具坐標系進行標定,其實質就是確定機器人末端法蘭坐標系與機器人工具坐標系二者之間的關系[1]。一般通過使用標定針與標定臺的組合可以滿足高精度要求,使用標定針當作機器人的末端執(zhí)行器,把標定針在笛卡爾坐標系中固連的坐標系作為工具坐標系(tool coordinate system,TCS),這個工具坐標系的原點叫做工具中心點(tool center poin,TCP)。為了方便計算,把 TCP固定在標定針的尖端,TCS中Z軸沿著標定針指向的方向,可以做橫滾運動;Y方向沿著機器人末端側面的方向,可以做俯仰運動;X軸根據右手定則確定,如圖1所示。
單機器人標定原理已經相對成熟。常用的有三點標定法、四點標定法和五點標定法[2-3],主要原理是操縱機器人使其末端執(zhí)行器以不同的姿態(tài)接觸空間中的多個標定點,讀取此刻的機器人參數,采用四點標定法必須規(guī)定工具坐標系的中心位置。為了便于操作,故將其定義在標定針尖端,通過移動機器人標定針尖端以不同的姿態(tài)到達標定臺中心4次。然后定義工具坐標系XYZ軸方向以及工具坐標系的XOY平面,4種位姿方向加上一次X軸平移和XOY面移動共同約束了工具坐標系的姿態(tài)以及原點的位置。四點標定如圖2所示。
雙機器人標定的核心是通過矩陣變換確定兩個機器人的位置關系[4]。由于非接觸式標定操作過程復雜、容易引入新的誤差且成本較高故不予考慮。在接觸式標定中學者們普遍采用的是三點“握手”標定法或者空間投影法[5-7],這些方法雖然可以得到相對準確的雙機器人基坐標系之間的關系,但是三點“握手”標定法的操作過程相較復雜,需要變換機器人各個關節(jié)角度進行標定,空間投影法計算過程繁瑣,計算量大?;谝陨蠁栴}提出了一種操作簡單、計算量少且滿足精度的雙機器人基坐標系標定方法。
雙機器人基坐標系標定的前提是完成單機器人自身的建模與標定。首先在兩個機器人末端分別安裝標定針和標定臺,規(guī)定主機器人安裝標定臺,從機器人安裝標定針。然后按照第1節(jié)中的描述完成每一個機器人自標定。主從機器人標定針和標定臺按圖3所示相互配合。
為了簡化計算,規(guī)定從機器人除關節(jié)1外,其余關節(jié)不動。通過移動從機器人關節(jié)1旋轉3次,得到其末端TCP的3個位姿點,記為:
R2Pi=(R2xi,R2yi,R2zi),i=1,2,3
同時分別示教主機器人末端TCP到達R2Pi點,得到在主機器人基坐標系下的3個對應的位姿點,記為:
R1Pi=(R1xi,R1yi,R1zi),i=1,2,3
根據三點定圓原則確定P1、P2、P3三點的圓心R1O3(xO3,yO3,zO3)定義為坐標系{R3}的原點,R1O3為從機器人基坐標系軸上平移點,故可得其位置:
其中:
kR1PIR1PJ為直線R1PIR1PJ之間的斜率:
圓的半徑為:
r=|R1O3R1P1|
(3)
由于P1、P2、P3均由變化從機器人的第一個關節(jié)得到,因此{R2}坐標系的x、y、z軸方向與{R3}坐標系u、v、w一致,{R2}坐標系原點O2與{R3}坐標系原點R1O3豎直方向的距離為:
(4)
式中:R1xO2、R1yO2、R1zO2分別代表坐標系{R2}的原點O2相對于坐標系{R1}的空間位置;Δz為O2與R1O3豎直方向上的距離,并且有Δz=R2z1。
(5)
在實際操作過程中,使用上述方法對雙機器人基坐標系標定時難免會產生誤差。機器人自身機械加工制造和裝配存在一定的誤差且不可避免;機器人電機編碼器在工作中受到噪聲影響,從而產生不可避免的誤差;人的操作誤差也同樣會導致一定的標定誤差。
雙機器人基坐標系標定方法理論上能夠準確地進行標定,引入電機編碼器噪聲的干擾和人眼觀測誤差的干擾,驗證提出的標定方法抗誤差干擾性能。已知人眼能識別的最短距離為0.1~0.2 mm,使用以下公式模擬此誤差:
m=n+0.2×rand(1,1)
(6)
其中:n代表理論數據,rand(1,1)表示在0~1隨機產生一個數,m為模擬誤差后的數據。根據標定方法,主機器人在讀取P1、P2、P3點的位置時就會引入此誤差,本文也在獲取3個點的位置中添加誤差。
電機編碼器主要的噪聲源是熱噪聲。典型的是高斯白噪聲。將其造成的干擾引入理論中編碼器測量的數據,這里采用1%幅度的高斯白噪聲,加入方法是:
a=b+0.01×b×(rand(1,1)-0.5)
(7)
其中:功率譜密度服從μ=0的均勻分布,振幅為0.01,b為理論數據,a表為受干擾數據。
基于上述誤差模型和標定方法,加入高斯白噪聲后的關節(jié)角如下:
引入高斯白噪聲與觀測誤差后的坐標系{R1}相對于{R3}變換矩陣:
Frobenius范數用于衡量實際矩陣與理論矩陣相似性,2-范數是衡量空間中兩點之間的距離的向量范數,它們的值越小,說明兩個矩陣之間的誤差越小,分別將理論矩陣與實際矩陣中的旋轉矩陣和位置向量相減得到:
由上式得出旋轉矩陣的Frobenius范數為0.004 4,
表3 加入誤差后的機器人數據
位置向量的2-范數為3.290 5 mm,兩個范數的值都較小,說明在受到電機編碼器噪聲干擾和人為操作干擾的情況下,產生的誤差小,驗證了本文提出的標定方法精度較高,具有一定的應用價值。
為了驗證改進算法的可行性與正確性,針對實驗室現有JLRB8-600型機械臂,首先按照1節(jié)中四點法進行試驗研究。本實驗室六自由度機械臂默認世界坐標系原點為第二軸線中心,為了便于操作,故手動設定世界坐標系為第四軸z軸方向和第一軸x軸線重合點為世界坐標系原心。故末端標定針理論TCP值為[293,0,370]。在滿足法蘭盤位置偏距和姿態(tài)[2]的情況下進行兩組實驗。
表4 單機器人標定實驗
根據上述實驗結果可以看出即使?jié)M足法蘭盤位置偏距和姿態(tài)的前提下,由于人眼、算法、操作誤差以及機械臂出廠坐標系設定誤差等,實際結果與理論值有較大偏差。
雙機器人基坐標系標定試驗采用Matlab聯(lián)合Coppeliasim仿真實驗平臺,結合上述實驗方法,在滿足運動空間的前提下將雙機器人基坐標系復雜化,同時改變它們之間的相對位姿。
通過V-REP讀取中實際兩臺機器人基坐標系之間的位姿矩陣:
(11)
按照設計的基坐標系標定方法進行操作與記錄。為了方便進行標定工作,這里設定從機器人初始關節(jié)角度為[0,-90,0,0,0,0]。然后以任意角度轉動從機器人第1軸,這里分別轉動0°、15°、35°。記錄下此位置相對主機器人與從機器人的空間位置以及各自關節(jié)轉動的角度,圖4為每一個點中兩個機器人各自的標定情況。
表5 記錄主機器人信息
表6 記錄從機器人信息
根據標定算法計算得:
(12)
由此得出由基于“三點定圓”的改進雙機器人基坐標系標定方法計算的值與在 Coppeliasim 仿真中得出的值完全一致,由此證明此算法的可行性與正確性。
針對現階段雙機器人基坐標系技術操作繁瑣,過程復雜與輔助設備昂貴等問題,提出基于“三點定圓”的改進雙機器人基坐標系標定方法,通過引入誤差,對比實驗室單機器人四點標定法,改進后的雙機器人基坐標系標定方法在理論和引入誤差的實驗情況下均能滿足精度要求,具有實際意義。