手眼标定原理(眼在手上和眼在手外)
手眼標(biāo)定是指求解出工業(yè)機(jī)器人的末端坐標(biāo)系與相機(jī)坐標(biāo)系之間的坐標(biāo)變換關(guān)系,或者工業(yè)機(jī)器人的基底坐標(biāo)系與相機(jī)坐標(biāo)系之間的坐標(biāo)變換關(guān)系。手眼標(biāo)定有兩種情形:第一種是相機(jī)(眼)固定在機(jī)器臂(手)的末端,相機(jī)相對(duì)于機(jī)器臂末端是固定的,相機(jī)跟隨機(jī)器臂移動(dòng),這種方式的手眼標(biāo)定成為 Eye-in-hand;第二種是相機(jī)(眼)和機(jī)器臂(手)分離,相機(jī)相對(duì)于工業(yè)機(jī)器人的基座是固定的,機(jī)器臂的運(yùn)動(dòng)對(duì)相機(jī)沒(méi)有影響, 這種方式的手眼標(biāo)定成為 Eye-to-hand。
1、眼在手上的手眼標(biāo)定
對(duì)于 Eye-in-hand 手眼標(biāo)定方式,需要求解工業(yè)機(jī)器人的末端坐標(biāo)系與相機(jī)坐標(biāo)系之間的坐標(biāo)轉(zhuǎn)換關(guān)系。 Eye-in-hand 手眼標(biāo)定的原理示意圖如圖 1所示。這其中有幾個(gè)坐標(biāo)系, 基礎(chǔ)坐標(biāo)系(用 base 表示) 是機(jī)器臂的基底坐標(biāo)系,末端坐標(biāo)系(用 end 表示) 是機(jī)器臂的末端坐標(biāo)系, 相機(jī)坐標(biāo)系(用 cam 表示) 是固定在機(jī)器臂上面的相機(jī)自身坐標(biāo)系,標(biāo)定物坐標(biāo)系(用 cal 表示)是標(biāo)定板所在的坐標(biāo)系。任意移動(dòng)兩次機(jī)器臂,由于標(biāo)定板和機(jī)器臂的基底是不動(dòng)的,因此對(duì)于某個(gè)世界點(diǎn),其在 base 坐標(biāo)系和 cal 坐標(biāo)系下的坐標(biāo)值不變,在 end 坐標(biāo)系和 cam 坐標(biāo)系下的坐標(biāo)值隨著機(jī)器臂的運(yùn)動(dòng)而改變。根據(jù)這一關(guān)系,可以求解出end坐標(biāo)系和 cam 坐標(biāo)系之間的轉(zhuǎn)換矩陣。具體求解過(guò)程如下。
對(duì)于手眼標(biāo)定矩陣的求解,即求解出 end 坐標(biāo)系和 cam 坐標(biāo)系之間的轉(zhuǎn)換矩陣,目前有許多方法,基本原理都是根據(jù)上述約束關(guān)系來(lái)求解的。 cal 坐標(biāo)系下的某個(gè)點(diǎn)P0P_0P0?,根據(jù)已知的相機(jī)外參(轉(zhuǎn)換矩陣T1T_1T1?)能夠轉(zhuǎn)換到 cam 坐標(biāo)系下點(diǎn) P1 ,再根據(jù)待求的手眼標(biāo)定矩陣(轉(zhuǎn)換矩陣 X )能夠轉(zhuǎn)換到 end 坐標(biāo)系下點(diǎn) P2P_2P2?,然后根據(jù)已知的機(jī)器人自身參數(shù)(轉(zhuǎn)換矩陣T3T_3T3?)能夠轉(zhuǎn)換到 base 坐標(biāo)系下點(diǎn) P3P_3P3?。因此能夠得到關(guān)系式如下:
T3XT1P0=P3(1)T_3XT_1P_0=P_3 \tag{1} T3?XT1?P0?=P3?(1)
移動(dòng)機(jī)器臂,對(duì)于同一點(diǎn),P0P_0P0?和P3P_3P3?的坐標(biāo)值不變,只是P1P_1P1?和P2P_2P2?的坐標(biāo)值改變了,上述關(guān)系式變?yōu)槿缦滦问?#xff1a;
T3′XT1′P0=P3(2)T_3{^\prime}XT_1^{\prime}P_0=P_3 \tag{2} T3?′XT1′?P0?=P3?(2)
上式中T3′T_3^\primeT3′?和T1′T_1^\primeT1′?同樣是第二次測(cè)量的已知參數(shù)。聯(lián)立(1)和(2)式可以得到如下關(guān)系式:
T3XT1=T3′XT1′(3)T_3XT_1=T_3{^\prime}XT_1^{\prime} \tag{3} T3?XT1?=T3?′XT1′?(3)
對(duì)式(3)變換一下,可得:
T3′?1T3X=XT1′T1?1(4)T_3 ^{\prime-1}T_3 X=XT_1^{\prime} T_1^{-1} \tag{4} T3′?1?T3?X=XT1′?T1?1?(4)
上式可以看成AX=XBAX=XBAX=XB方程形式,且矩陣A=T3′?1T3A=T_3 ^{\prime-1}T_3A=T3′?1?T3?和B=T1′T1?1B=T_1^{\prime} T_1^{-1}B=T1′?T1?1?都是已知的。對(duì)手眼標(biāo)定方程AX=XBAX=XBAX=XB求解,即可得到手眼轉(zhuǎn)換矩陣XXX的值。
2、眼在手外的手眼標(biāo)定
eye-to-hand的手眼標(biāo)定示意圖如下圖2所示。相機(jī)固定在機(jī)器臂之外,相機(jī)和機(jī)器臂底座相對(duì)靜止。其中,相機(jī)坐標(biāo)系為OcO_cOc?,標(biāo)定板坐標(biāo)系為OwO_wOw?,機(jī)器臂末端坐標(biāo)系為OeO_eOe?,機(jī)器臂底座坐標(biāo)系為ObO_bOb?。涉及到幾個(gè)坐標(biāo)系的轉(zhuǎn)換,即標(biāo)定板坐標(biāo)系到相機(jī)坐標(biāo)系的轉(zhuǎn)換關(guān)系TwcT_w^cTwc?,相機(jī)坐標(biāo)系到機(jī)器臂底座坐標(biāo)系的轉(zhuǎn)換關(guān)系XXX,機(jī)器臂底座坐標(biāo)系到機(jī)器臂末端坐標(biāo)系的轉(zhuǎn)換關(guān)系TbeT_b^eTbe?,其中相機(jī)坐標(biāo)系到機(jī)器臂底座坐標(biāo)系的轉(zhuǎn)換關(guān)系XXX即為需要求解的手眼標(biāo)定矩陣。
對(duì)于上述轉(zhuǎn)換關(guān)系,標(biāo)定板固定在機(jī)器臂末端,在某一位姿下,標(biāo)定板上的點(diǎn)在標(biāo)定板坐標(biāo)系下的坐標(biāo)值是P1P_1P1?,經(jīng)過(guò)Twc、Tcb、TbeT_w^c、T_c^b、T_b^eTwc?、Tcb?、Tbe?的坐標(biāo)系轉(zhuǎn)換關(guān)系轉(zhuǎn)換之后,標(biāo)定板上的點(diǎn)能夠轉(zhuǎn)到機(jī)器臂末端坐標(biāo)系下的坐標(biāo)值P3P_3P3?,轉(zhuǎn)換關(guān)系如下:
TbeXTwcP1=P3(1)T_b^eXT_w^cP_1=P3 \tag{1} Tbe?XTwc?P1?=P3(1)
然后機(jī)器臂變換一下位姿,能夠得到另一組上述形式相同的公式,即:
Tbe′XTwc′P1=P3(2)T_b^{e\prime}XT_w^{c\prime}P_1=P3 \tag{2} Tbe′?XTwc′?P1?=P3(2)
上述公式(1)和(2)中的Tbe、Tbe′T_b^e、T_b^{e\prime}Tbe?、Tbe′?能夠通過(guò)機(jī)器人的位姿輸出得到,Twc、Twc′T_w^c、T_w^{c\prime}Twc?、Twc′?能夠通過(guò)單目相機(jī)標(biāo)定的外參得到。上式(1)(2)能夠轉(zhuǎn)換成以下形式:
TbeXTwc=Tbe′XTwc′(3)T_b^eXT_w^c=T_b^{e\prime}XT_w^{c\prime} \tag{3} Tbe?XTwc?=Tbe′?XTwc′?(3)
進(jìn)一步的能夠轉(zhuǎn)成:
Tbe′?1TbeX=XTwc′Twc?1(4)T_b^{e\prime-1}T_b^eX=XT_w^{c\prime}T_w^{c-1} \tag{4} Tbe′?1?Tbe?X=XTwc′?Twc?1?(4)
公式(4)能夠理解成AX=XBAX=XBAX=XB的形式,此時(shí)A=Tbe′?1TbeA=T_b^{e\prime-1}T_b^eA=Tbe′?1?Tbe?、B=Twc′Twc?1B=T_w^{c\prime}T_w^{c-1}B=Twc′?Twc?1?,其中A、BA、BA、B都是已知數(shù)。通過(guò)變換多次機(jī)器臂末端位姿,對(duì)手眼標(biāo)定方程AX=XBAX=XBAX=XB求解,即可得到手眼轉(zhuǎn)換矩陣XXX的值。
總結(jié)
以上是生活随笔為你收集整理的手眼标定原理(眼在手上和眼在手外)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: NXP恩智浦智能车四轮组-- 2.电磁检
- 下一篇: Matpower安装流程