本發(fā)明涉及視覺標(biāo)定和機(jī)器人,具體說是一種基于順序旋轉(zhuǎn)機(jī)理的機(jī)器人無奇異手眼標(biāo)定方法。
背景技術(shù):
1、現(xiàn)有工業(yè)機(jī)器人與相機(jī)的標(biāo)定技術(shù)中,需要使用特定的標(biāo)定板,如棋盤格標(biāo)定板,圓點(diǎn)標(biāo)定板等,而且必須控制機(jī)器人以多種不同的姿態(tài)(對(duì)于6軸機(jī)器人而言,至少為四種,但一般為了標(biāo)定精度更高,基本上都會(huì)使用15-20個(gè)的姿態(tài))去控制相機(jī)拍攝標(biāo)定板,由于姿態(tài)不同,相機(jī)拍攝的標(biāo)定板圖像各有不同,在圖像中準(zhǔn)確的找到標(biāo)定板,給提高標(biāo)定精度帶來了很大的難度,調(diào)整機(jī)器人姿態(tài),需要采用人工示教的方法。標(biāo)定一次系統(tǒng),需花費(fèi)大量的時(shí)間及精力。尤其針對(duì)變電站巡檢機(jī)器人手眼視覺系統(tǒng),變電站巡檢機(jī)器人工具坐標(biāo)系與其所夾持相機(jī)坐標(biāo)系之間的坐標(biāo)關(guān)系通常被稱為“手眼矩陣”,求解上述矩陣的過程就是所謂的“手眼標(biāo)定”,未知手眼矩陣的求解精度將會(huì)直接影響變電站巡檢機(jī)器人視覺操作任務(wù)的精細(xì)程度以及安全性。
2、在上個(gè)世紀(jì)80年代,r.y.tsai等人最早提出了手眼標(biāo)定的概念,基于修改羅德里格斯參數(shù),并給出了一種求解手眼標(biāo)定問題的經(jīng)典解析解,該方法至今仍被作為變電站巡檢機(jī)器人手眼標(biāo)定領(lǐng)域的經(jīng)典方法。然而,修改羅德里格斯參數(shù)自身卻有一個(gè)不可逾越的缺陷:即其只能用于參數(shù)化轉(zhuǎn)角值不等于π弧度的旋轉(zhuǎn)矩陣。因此,當(dāng)未知手眼矩陣旋轉(zhuǎn)部分的轉(zhuǎn)角值等于π弧度時(shí),基于該類參數(shù)手眼標(biāo)定方法所估計(jì)得到的手眼矩陣值將會(huì)嚴(yán)重偏離其真值(這里將其稱作奇異現(xiàn)象),從而導(dǎo)致變電站巡檢機(jī)器人手眼標(biāo)定任務(wù)的失效。
3、此外,在外界測量噪聲的影響下,本發(fā)明發(fā)現(xiàn)當(dāng)未知手眼矩陣旋轉(zhuǎn)部分的轉(zhuǎn)角值較接近于π弧度時(shí),r.y.tsai所提出的手眼標(biāo)定解析解估計(jì)得到的手眼矩陣亦會(huì)出現(xiàn)較大的誤差。即在該情形下該手眼標(biāo)定方法對(duì)噪聲的抗干擾能力較差。然而,現(xiàn)有文獻(xiàn)并未發(fā)現(xiàn)在上述兩種情形下r.y.tsai所提出的變電站巡檢機(jī)器人手眼標(biāo)定解析解方法所固有的奇異現(xiàn)象。
4、因此,現(xiàn)在亟需研究適用于轉(zhuǎn)角值為含π弧度在內(nèi)任意角度值的未知手眼矩陣求解方法,避開修改羅德里格斯參數(shù)自身的奇異性,提高變電站巡檢機(jī)器人手眼標(biāo)定解析解方法的安全性以及魯棒性。
技術(shù)實(shí)現(xiàn)思路
1、為解決上述問題,本發(fā)明的目的是提供一種基于順序旋轉(zhuǎn)機(jī)理的機(jī)器人無奇異手眼標(biāo)定方法,該方法較好彌補(bǔ)了r.y.tsai基于同類參數(shù)所提出手眼標(biāo)定解析解的固有不足,從一定程度上提高了基于修改羅德里格斯參數(shù)的變電站巡檢機(jī)器人手眼標(biāo)定解析解方法的安全性以及魯棒性。
2、本發(fā)明為實(shí)現(xiàn)上述目的,通過以下技術(shù)方案實(shí)現(xiàn):
3、一種基于順序旋轉(zhuǎn)機(jī)理的機(jī)器人無奇異手眼標(biāo)定方法,包括以下步驟:
4、步驟1,采集用于手眼標(biāo)定的測量數(shù)據(jù)組{ai,bi},并提取未知手眼矩陣旋轉(zhuǎn)部分的轉(zhuǎn)角值θx;所述ai為機(jī)械臂工具坐標(biāo)系在相鄰兩次運(yùn)動(dòng)間的過渡矩陣,所述bi為機(jī)械臂所夾持相機(jī)坐標(biāo)系在相鄰兩次運(yùn)動(dòng)間的相對(duì)位姿矩陣;
5、步驟2,若θx等于或接近于π弧度,采用以下步驟求取未知手眼矩陣的旋轉(zhuǎn)及平移部分值:
6、步驟3,由用戶根據(jù)自己的偏好對(duì)實(shí)際測量得到的rbi的旋轉(zhuǎn)軸akbi進(jìn)行一個(gè)虛擬的旋轉(zhuǎn)運(yùn)動(dòng),對(duì)應(yīng)的旋轉(zhuǎn)矩陣記作ruser,此刻向量組akbi將變成ruserkbi;
7、步驟4,則由虛擬旋轉(zhuǎn)得到的向量組ruserkbi旋轉(zhuǎn)至與已知測量數(shù)據(jù)arai的旋轉(zhuǎn)軸線akai對(duì)應(yīng)重合所需的旋轉(zhuǎn)矩陣的旋轉(zhuǎn)角度值可能不再等于rx所對(duì)應(yīng)的旋轉(zhuǎn)角度值;
8、步驟5,只要用戶矩陣ruser選擇適當(dāng),測量向量組{kai,ruserkbi}所決定的旋轉(zhuǎn)矩陣轉(zhuǎn)角值就不再等于π弧度;
9、步驟6,用ruserkbi替換原來的rbi,將rai與ruserkbi直接代入r.y.tsai所提出手眼標(biāo)定算法中求解得到聯(lián)立與ruser解出未知手眼矩陣的旋轉(zhuǎn)部分,將rx代入raitx+tai=rxtbi+tx,得到未知手眼矩陣平移列向量tx的線性最小二乘估計(jì)值;
10、其中,rai、rbi、rx依次為ai,bi以及x的旋轉(zhuǎn)矩陣,tai、tbi、tx依次為矩陣ai與bi以及x的位置列向量。
11、優(yōu)選的,若θx不等于或遠(yuǎn)離π弧度,則根據(jù)r.y.tsai的手眼標(biāo)定算法求解未知手眼矩陣。
12、優(yōu)選的,步驟3中由用戶根據(jù)自己的偏好對(duì)實(shí)際測量得到的rbi的旋轉(zhuǎn)軸akbi進(jìn)行一個(gè)虛擬的旋轉(zhuǎn)運(yùn)動(dòng),對(duì)應(yīng)的旋轉(zhuǎn)矩陣記作ruser,具體的,根據(jù)順序旋轉(zhuǎn)機(jī)理,定義在坐標(biāo)值x、y和z方向上的三類用戶矩陣,至少存在一個(gè)滿足轉(zhuǎn)角值介于0到2π/3弧度之間的用戶矩陣。
13、優(yōu)選的,根據(jù)順序旋轉(zhuǎn)機(jī)理,定義在坐標(biāo)值x、y和z方向上的三類用戶矩陣,至少存在一個(gè)滿足轉(zhuǎn)角值介于0到2π/3弧度之間的用戶矩陣的具體步驟包括:
14、步驟31,根據(jù)順序旋轉(zhuǎn)機(jī)理,定義第一類用戶矩陣:1ruser=rot(kx,θ);其中,kx為坐標(biāo)軸x的單位方向向量;θ為介于0到π弧度之間的任意角度值;rot(kx,θ)為繞kx旋轉(zhuǎn)θ弧度所得的旋轉(zhuǎn)矩陣;
15、步驟32,根據(jù)順序旋轉(zhuǎn)機(jī)理,定義第二類用戶矩陣:2ruser=rot(ky,θ);其中,ky為坐標(biāo)軸y的單位方向向量;θ為介于0到π弧度之間的任意轉(zhuǎn)角值;rot(ky,θ)為繞ky旋轉(zhuǎn)θ弧度所得的旋轉(zhuǎn)矩陣;
16、步驟33,根據(jù)順序旋轉(zhuǎn)機(jī)理,定義第三類用戶矩陣:3ruser=rot(kz,θ);其中,kz為坐標(biāo)軸z的單位方向向量;θ為介于0到π弧度之間的任意角度值;rot(kz,θ)為繞kz旋轉(zhuǎn)θ弧度所得的旋轉(zhuǎn)矩陣;
17、在上述三類用戶自定義矩陣中,至少存在一個(gè)滿足轉(zhuǎn)角值介于0到2π/3弧度之間的用戶矩陣。
18、優(yōu)選的,步驟6中,用ruserkbi替換原來的rbi,將rai與ruserkbi直接代入r.y.tsai所提出手眼標(biāo)定算法中求解得到具體步驟包括:
19、根據(jù)r.y.tsai所提出的基于修改羅德里格斯參數(shù)的手眼標(biāo)定解析解方法,將向量組1ruserkbi替換原來的向量組kbi,求解使得向量組kai與1ruserkbi重合所需的旋轉(zhuǎn)矩陣并提取其所對(duì)應(yīng)的轉(zhuǎn)角值
20、根據(jù)r.y.tsai所提出的基于修改羅德里格斯參數(shù)的手眼標(biāo)定解析解方法,用向量組2ruserkbi替換原來的向量組kbi,求解向量組kai旋轉(zhuǎn)至與2ruserkbi重合所需的旋轉(zhuǎn)矩陣并提取其對(duì)應(yīng)的轉(zhuǎn)角值
21、將向量組3ruserkbi當(dāng)作原來的向量組kbi,根據(jù)r.y.tsai所提出的手眼標(biāo)定解析解方法求解向量組kai旋轉(zhuǎn)至與3ruserkbi重合所確定的旋轉(zhuǎn)矩陣并提取其對(duì)應(yīng)的轉(zhuǎn)角值
22、從與以及三個(gè)之中選出一個(gè)介于0到2π/3弧度之間的角度值,將其記為并記錄其所對(duì)應(yīng)的旋轉(zhuǎn)矩陣
23、優(yōu)選的,步驟1具體包括以下步驟:
24、步驟11,在攝像機(jī)的視野內(nèi),通過控制機(jī)械臂進(jìn)行兩次相異運(yùn)動(dòng),記錄ai以及bi;
25、步驟12,重復(fù)執(zhí)行k次步驟11,獲得k組測量數(shù)據(jù){ai,bi},并提取其所對(duì)應(yīng)的旋轉(zhuǎn)軸單位方向向量{kai,kbi}及轉(zhuǎn)角值{θai,θbi}。
26、優(yōu)選的,步驟1還包括以下步驟:
27、步驟13,根據(jù)修改羅德里格斯參數(shù)與旋轉(zhuǎn)矩陣的對(duì)應(yīng)關(guān)系,依次構(gòu)造ai與bi所對(duì)應(yīng)的修改羅德里格斯參數(shù)pai=2sin(θai/2)kai與pbi=2sin(θbi/2)kbi;
28、步驟14,構(gòu)造超定線性方程組[pai+pbi]×p'x=pai-pbi,運(yùn)用線性最小二乘法求解向量p'x的值;其中,[·]×為向量所對(duì)應(yīng)的反對(duì)稱矩陣;
29、步驟15,將未知手眼矩陣所對(duì)應(yīng)的向量p'x帶入px=2p'x(1+||p'x||2)-0.5中,進(jìn)而反解出px的值。
30、步驟16,根據(jù)向量px與θx=2·atan||px||2,得到未知手眼矩陣的轉(zhuǎn)角值θx。
31、優(yōu)選的,根據(jù)px的值,得到px所對(duì)應(yīng)的旋轉(zhuǎn)矩陣rx。
32、優(yōu)選的,在上述三類用戶自定義矩陣中,至少存在一個(gè)滿足轉(zhuǎn)角值介于0到弧度之間的用戶矩陣,證明過程如下:
33、若由向量組kai旋轉(zhuǎn)至與jruserkbi重合所需的旋轉(zhuǎn)矩陣為則
34、由旋轉(zhuǎn)矩陣性質(zhì)可得,用戶自定義矩陣的跡依次為:
35、
36、公式(i)至(iii)中,rij代表rx第i行第j列的元素,根據(jù)rx內(nèi)元素間的約束整理可得,
37、則由旋轉(zhuǎn)矩陣跡的性質(zhì)可得,上述三個(gè)用戶矩陣中至少有一個(gè)矩陣的跡是非負(fù)的,即在上述三個(gè)用戶自定義旋轉(zhuǎn)矩陣中,至少存在一個(gè)轉(zhuǎn)角值介于0到2π/3弧度之間的用戶矩陣。
38、上述一種基于順序旋轉(zhuǎn)機(jī)理的機(jī)器人無奇異手眼標(biāo)定方法的應(yīng)用,用于r.y.tsai提出的經(jīng)典手眼標(biāo)定方法出現(xiàn)奇異現(xiàn)象時(shí)。在r.y.tsai所提出的經(jīng)典手眼標(biāo)定方法中,求解向量p'x是其關(guān)鍵步驟之一。顯然,當(dāng)未知手眼矩陣的轉(zhuǎn)角值等于π弧度時(shí),向量p'x的值不可能由r.y.tsai所提出的手眼標(biāo)定算法來精確獲得,進(jìn)而導(dǎo)致r.y.tsai所估計(jì)得到的手眼矩陣將會(huì)嚴(yán)重偏離其真值,即出現(xiàn)手眼標(biāo)定奇異現(xiàn)象,產(chǎn)生這種現(xiàn)象的原因在于修改羅德里格斯參數(shù)本身的奇異性。
39、本發(fā)明相比現(xiàn)有技術(shù)具有以下優(yōu)點(diǎn):
40、本發(fā)明首次發(fā)現(xiàn)了r.y.tsai所提出經(jīng)典手眼標(biāo)定解析解方法所固有的缺陷,并對(duì)其奇異性進(jìn)行了詳細(xì)闡述。在此基礎(chǔ)上,本發(fā)明提出了一種基于順序旋轉(zhuǎn)機(jī)理的無奇異手眼標(biāo)定方法,其能夠適用于轉(zhuǎn)角值為含π弧度在內(nèi)任意值的未知手眼矩陣求解問題。本發(fā)明所提出的無奇異手眼標(biāo)定方法,能夠有力避開修改羅德里格斯參數(shù)自身的奇異性,從一定程度上提高了r.y.tsai所提出變電站巡檢機(jī)器人手眼標(biāo)定解析解方法的適用范圍以及安全性,具有優(yōu)異的抗干擾能力。