申景金 郭家楨 MASOUD Kalantari
(1.南京郵電大學(xué)自動化學(xué)院, 南京 210023; 2.國民油井華高公司高新技術(shù)部, 卡爾加里 T2P 3G3)
機(jī)器人運(yùn)動學(xué)誤差是指由零件加工誤差、裝配誤差等造成的機(jī)器人關(guān)節(jié)實際軸線方位和名義方位之間的差異。根據(jù)誤差辨識方式的不同,機(jī)器人運(yùn)動學(xué)參數(shù)辨識可分為開環(huán)辨識法、閉環(huán)辨識法和關(guān)節(jié)軸直接測定法[1-4]。其中,開環(huán)辨識法基于誤差模型,以多個位形下機(jī)器人末端位姿誤差為目標(biāo)函數(shù),運(yùn)用優(yōu)化算法實現(xiàn)機(jī)器人參數(shù)辨識。在辨識過程中,若直接利用末端的絕對位置誤差和角度誤差,會涉及位姿誤差在測量坐標(biāo)系和機(jī)器人基坐標(biāo)系之間的轉(zhuǎn)換,降低了參數(shù)辨識的精度[5]。為避免坐標(biāo)系之間的變換,可采用具有坐標(biāo)系不變性的距離誤差。文獻(xiàn)[6-9]分別把距離誤差引入到DH模型、MDH模型、DH/MDH模型、加法型指數(shù)積模型,對機(jī)器人的運(yùn)動學(xué)參數(shù)進(jìn)行了辨識。為實現(xiàn)有效辨識,辨識參數(shù)須滿足完備性、比例性和連續(xù)性原則[10-11]。但是,對于距離誤差辨識方法,辨識參數(shù)冗余性方面的研究還相對匱乏[12-14]。
本文利用關(guān)節(jié)旋量的空間幾何特性,建立機(jī)器人的伴隨變換型距離誤差模型,使得辨識后的關(guān)節(jié)旋量自動滿足物理約束條件。在此基礎(chǔ)上,基于辨識雅可比矩陣的零空間,分析不同距離誤差測量方式下可辨識參數(shù)的冗余性。最后,通過實驗對距離誤差模型的有效性和參數(shù)冗余性分析的正確性進(jìn)行驗證。
對于n自由度串聯(lián)機(jī)器人,令i和θi分別為轉(zhuǎn)動關(guān)節(jié)i的運(yùn)動旋量和轉(zhuǎn)動角度,則有
(1)
其中
vi=qiwi
式中O1×3——1行3列零矩陣
vi——關(guān)節(jié)量矩
qi——關(guān)節(jié)軸線上任一點(diǎn)坐標(biāo)
對于轉(zhuǎn)動關(guān)節(jié),wi和vi須滿足物理約束條件
(2)
基于指數(shù)積形式機(jī)器人正運(yùn)動學(xué)模型表示為
gst=ee…egst0
(3)
(4)
式中R——末端坐標(biāo)系相對于基坐標(biāo)的旋轉(zhuǎn)矩陣
θi——轉(zhuǎn)動關(guān)節(jié)i的轉(zhuǎn)動角度
p——末端坐標(biāo)系原點(diǎn)在基坐標(biāo)系的坐標(biāo)
gst、gst0——當(dāng)前位形和初始位形下機(jī)器人末端相對于其基坐標(biāo)系的位姿矩陣
(5)
(6)
式中 Δξ——關(guān)節(jié)運(yùn)動旋量實際值和名義值差值
Ade——旋量對應(yīng)的伴隨矩陣(圖1)與加法方法相比,伴隨變換方法通過剛體變換把和聯(lián)系起來,不僅具有明確的物理意義,而且保證旋量自動滿足式(2)[15]。此時,對關(guān)節(jié)旋量的補(bǔ)償即為確定旋量
圖1 關(guān)節(jié)旋量的伴隨變換誤差補(bǔ)償Fig.1 Error compensation of joint screw using adjoint transform
由旋量理論可知:η∈se(3),se(3)為特殊歐氏群SE(3)的李代數(shù)。由于se(3)部分旋量元素構(gòu)成的子空間N(ξn)對伴隨變換補(bǔ)償無效,為剔除誤差模型中的冗余參數(shù),令η可取得有效子空間為Σ(ξn),則有
N(ξn)⊕Σ(ξn)=se(3)
(7)
(8)
(9)
其中
式中qn——關(guān)節(jié)軸線上某一點(diǎn)的坐標(biāo)
η=BK
(10)
其中
確定K中的4個系數(shù)即可實現(xiàn)對關(guān)節(jié)旋量的補(bǔ)償。
為得到線性誤差模型,對式(3)線性化可得
(11)
(12)
((δe)e)∨=
(13)
其中
(14)
sai=sinaicai=cosaiai=‖wηi‖
(15)
把式(15)代入式(11),同時對等號右側(cè)的末端初始位姿項進(jìn)行與關(guān)節(jié)旋量相同的分析,可得機(jī)器人線性誤差模型
(16)
其中δηi=BiKiδηst=BstKst
由于關(guān)節(jié)轉(zhuǎn)動角度誤差δθi可用關(guān)節(jié)旋量誤差表達(dá),因此δθi和δηi不能同時通過式(16)進(jìn)行辨識[17]。后續(xù)的分析中,把δθi誤差歸結(jié)于δηi的誤差中。為方便表達(dá),把式(16)寫成
(17)
其中Qi=Adi-1-AdiQs=Adn
機(jī)器人末端點(diǎn)位置的誤差dq可表達(dá)為
(18)
距離誤差表示機(jī)器人運(yùn)動過程中末端點(diǎn)的實際運(yùn)動距離與名義距離之間的偏差。對任意兩個位形,末端點(diǎn)的距離誤差δl與其位置誤差之間存在如下關(guān)系[18]
(19)
把式(19)代入式(18),dq2-dq1可具體表達(dá)為
其中
(20)
(21)
若r為機(jī)器人轉(zhuǎn)動關(guān)節(jié)的個數(shù),通過對雅可比矩陣奇異性的分析,文獻(xiàn)[19]已確定位姿誤差模型式(17)可辨識4r+6個參數(shù),位置誤差模型式(18)可辨識4r+3個參數(shù)。本文將確定采用距離誤差時可辨識參數(shù)的數(shù)目。
可辨識參數(shù)的冗余性是指辨識參數(shù)之間存在線性相關(guān)性,使得辨識雅可比矩陣奇異,降低參數(shù)辨識的精度。為避免該問題,可通過參數(shù)的冗余性分析,在誤差模型中預(yù)先剔除線性相關(guān)的參數(shù)。
(1)初始位置參數(shù)Kst的可辨識性
由式(17)可得
(22)
顯然
此時,初始位置參數(shù)的雅可比矩陣為關(guān)節(jié)旋量雅可比矩陣的線性組合。因此,在距離誤差模型中,Kst不可與關(guān)節(jié)旋量同時辨識。
(2)關(guān)節(jié)旋量參數(shù)Ki的可辨識性
為分析Ki可辨識性,考慮3種不同的距離誤差測量方式。
①采用繞對應(yīng)關(guān)節(jié)軸線旋轉(zhuǎn)的末端距離誤差測量方式,機(jī)器人運(yùn)動到如下位形
(23)
此時,式(21)中雅可比矩陣的元素為
(24)
根據(jù)1.2節(jié)所述,無效子空間N(ξn)的基向量可作為待求零空間的兩個基向量。為確定其余3個基向量,考慮式(10)中B的張成基,可以看到零空間的基矢量ζ為
(25)
(26)
式(25)可簡化為
(27)
顯然地,零空間的兩個基向量可選擇為
(28)
②為辨識與λ1和λ2相關(guān)的參數(shù),對i≥2關(guān)節(jié),考慮第2種測量方式,即相對于初始位形測量距離誤差
(29)
式(21)中的雅可比矩陣有
(30)
為分析{λ1,λ2}是否位于該種測量的零空間,首先對λ1進(jìn)行分析。
(31)
(32)
其中
(33)
③為辨識與κ相關(guān)的參數(shù),考慮第3種測量方式,即
(34)
(35)
為驗證所建立的距離誤差模型的有效性和辨識參數(shù)冗余性分析的正確性,利用三維掃描儀和5自由度KUKA youBot機(jī)器人搭建實驗平臺(圖2)。通過點(diǎn)云處理和數(shù)據(jù)分析后,掃描儀的對齊誤差精度小于0.02 mm,遠(yuǎn)高于KUKA youBot運(yùn)動精度,滿足機(jī)器人標(biāo)定的要求。另外,通過誤差統(tǒng)計分析,確定了忽略高階誤差項的線性模型可實現(xiàn)對KUKA youBot機(jī)器人運(yùn)動學(xué)參數(shù)的有效辨識[21]。
圖2 機(jī)器人標(biāo)定實驗平臺Fig.2 Experiment platform of robot calibration1.KUKA youBot機(jī)器人 2.天遠(yuǎn)三維掃描儀 3.控制器 4.計算機(jī)點(diǎn)云處理及配套軟件
為驗證辨識參數(shù)冗余性分析的正確性,分別采用第1種測量方式和第2種測量方式生成20個機(jī)器人運(yùn)動位形。在第1種測量方式的每次測量過程中,只有一個驅(qū)動關(guān)節(jié),其余關(guān)節(jié)為鎖定狀態(tài)。在隨機(jī)生成驅(qū)動關(guān)節(jié)對應(yīng)于參考位形和驅(qū)動位形的角度后,通過測量機(jī)器人末端從參考位形運(yùn)動到驅(qū)動位形的相對位移,來完成一次測量。從基關(guān)節(jié)開始,全部關(guān)節(jié)依次被設(shè)定為驅(qū)動關(guān)節(jié)。對每一個驅(qū)動關(guān)節(jié),分別測量4組不同位形下的機(jī)器人末端運(yùn)動位移。在第2種測量方式的每次測量過程中,兩個相鄰的關(guān)節(jié)為驅(qū)動關(guān)節(jié),其余關(guān)節(jié)為鎖定狀態(tài)。與第1種測量方式的參考位形可變不同,第2種測量方式的參考位形保持為機(jī)器人的初始位形。對4組不同的驅(qū)動關(guān)節(jié),分別測量5組不同位形下的末端位移。將測量數(shù)據(jù)和不同位形的關(guān)節(jié)角代入式(21),即可確定機(jī)器人的距離誤差模型。通過對誤差模型中雅可比矩陣的特征值分析,發(fā)現(xiàn)在2種測量方式下,雅可比矩陣的秩分別為10和14,這與冗余性分析結(jié)果相一致。
在實際辨識時,為得到較好的辨識效果,一般隨機(jī)產(chǎn)生大量的機(jī)器人運(yùn)動位形,從中選擇所構(gòu)成的雅可比矩陣中特征值較大的行所對應(yīng)的位形,作為辨識位形。本文實驗過程中,在隨機(jī)生成的100個不同運(yùn)動位形中,選擇了32個特征值較大的位形用于機(jī)器人的運(yùn)動學(xué)參數(shù)辨識。此時,把實驗數(shù)據(jù)代入式(19),通過辨識雅可比矩陣的奇異值分解,發(fā)現(xiàn)可辨識參數(shù)的個數(shù)為18,驗證了距離誤差模型所辨識參數(shù)最多為4r-2。
基于距離誤差模型和實驗數(shù)據(jù),采用最小二乘法對機(jī)器人運(yùn)動學(xué)參數(shù)進(jìn)行迭代求解。圖3給出了測量位形上距離誤差最大值、平均值和迭代步數(shù)之間的關(guān)系。經(jīng)過3次迭代之后,機(jī)器人參數(shù)收斂到穩(wěn)定值(表1)。圖4給出了3次迭代過程中,32個測量位形上的距離誤差的變化曲線。所測量位形的距離誤差最大值由6.226 mm降低到0.718 8 mm,精度提高了8.7倍,距離誤差平均值從2.978 mm降低到0.257 6 mm,精度提高了11.6倍。
圖3 距離誤差與迭代次數(shù)之間的關(guān)系Fig.3 Relationship between distance errors and iterations
表1 關(guān)節(jié)旋量的名義值ξn和辨識值ξaTab.1 Nominal value ξn and identified value ξa of joint screws
圖4 不同位形上的距離誤差變化Fig.4 Variations of distance errors with respect to different configurations
(1)為實現(xiàn)機(jī)器人運(yùn)動學(xué)參數(shù)辨識,建立了基于關(guān)節(jié)旋量伴隨變換的距離誤差模型,提出了一種誤差測量策略,并通過實驗驗證了該模型的有效性。
(2)確定了距離誤差模型的可辨識測量方式之間的關(guān)系,可辨識參數(shù)的最大數(shù)目為 4r-2;繞對應(yīng)關(guān)節(jié)轉(zhuǎn)動的測量方式為2r;相對于初始位形的參數(shù)與誤差測量方式為 3r-1。
(3)所采用的辨識雅可比矩陣零空間分析方法,可為其他誤差模型中參數(shù)相關(guān)性分析提供參考。