首先您要確定的兩個(gè)坐標(biāo)系統(tǒng)的角度偏差值。我們把這一角度稱(chēng)為偏差角。一種簡(jiǎn)單的做法是通過(guò)移動(dòng)工作臺(tái)一個(gè)已知角度,利用機(jī)器視覺(jué)系統(tǒng)來(lái)測(cè)量起始位置和終止位置來(lái)確定該偏差角。例如,假定您僅在X軸移動(dòng)了工作臺(tái)2000單位(0,0到2000,0位置)。由于您只移動(dòng)了X軸,在圖像坐標(biāo)系中測(cè)量的Y軸的任何移動(dòng)都能幫助您確定該偏差角。如果相機(jī)的圖像顯示工作臺(tái)在X軸移動(dòng)了173像素,在Y軸移動(dòng)了100像素,可以通過(guò)對(duì)Y和X比值的反正切來(lái)計(jì)算旋轉(zhuǎn)的角度。對(duì)100/173取反正切得到偏差角為30度。
<-- 2007-12-26 19:49:21-->
在確定了偏差角后,下一步您要確定視覺(jué)單元和運(yùn)動(dòng)控制單元之間的轉(zhuǎn)換關(guān)系。您可以通過(guò)比較在圖像中測(cè)量出的運(yùn)動(dòng)距離和在運(yùn)動(dòng)控制中給出的運(yùn)動(dòng)距離來(lái)計(jì)算得該轉(zhuǎn)換公式。為了確定在圖像中的移動(dòng)距離Z,可以利用勾股定理通過(guò)X值和Y值進(jìn)行計(jì)算。Z=sqrt(X^2+Y^2)。
在視覺(jué)系統(tǒng)中移動(dòng)的長(zhǎng)度=sqrt(100^2+173^2) = 200像素。
現(xiàn)在您可以從上面的范例中知道,視覺(jué)單元到運(yùn)動(dòng)控制單元的比率為200:2000或1:10。在進(jìn)行校準(zhǔn)時(shí)您需要注意的一點(diǎn)是當(dāng)您在校準(zhǔn)時(shí)采樣的點(diǎn)數(shù)越多,在最后您的校準(zhǔn)結(jié)果越準(zhǔn)確。另一點(diǎn)需要注意的是運(yùn)動(dòng)控制系統(tǒng)可能有輕微缺陷,這會(huì)導(dǎo)致不同部件移動(dòng)相同距離有輕微差別。為了提高可重復(fù)率,您應(yīng)該通過(guò)采集不同點(diǎn)的多個(gè)樣本來(lái)計(jì)算轉(zhuǎn)換比率。此外,使用這種比率,您可以發(fā)現(xiàn)為了能在圖像上觀察到一個(gè)像素距離的移動(dòng),您至少需要將工作臺(tái)移動(dòng)10個(gè)單位。這些類(lèi)系統(tǒng)中,工作臺(tái)的分辨率遠(yuǎn)高于鏡頭的分辨率的情況是很常見(jiàn)的,這意味著圖像中的微小移動(dòng)將會(huì)在運(yùn)動(dòng)系統(tǒng)中導(dǎo)致很大的位移變化。若您連續(xù)的核對(duì)工作臺(tái)的位置,您可能發(fā)現(xiàn)它會(huì)在目標(biāo)位置附近跳動(dòng)。一旦出現(xiàn)這樣的情況,您可以考慮設(shè)置盲區(qū),這樣當(dāng)您感覺(jué)工作臺(tái)已足夠接近目標(biāo)區(qū)域,運(yùn)動(dòng)控制就不再繼續(xù)進(jìn)行調(diào)整。
坐標(biāo)轉(zhuǎn)換
下一步我們將要利用系統(tǒng)的相關(guān)信息來(lái)決定如何把相機(jī)坐標(biāo)系統(tǒng)上點(diǎn)的位置轉(zhuǎn)換到工作臺(tái)坐標(biāo)系統(tǒng)上。可以
利用下圖來(lái)更好地說(shuō)明這種轉(zhuǎn)換如何實(shí)現(xiàn):假定將工作臺(tái)從0,0移動(dòng)到到相機(jī)坐標(biāo)系統(tǒng)的新位置X1 和Y1(以藍(lán)色代表),X1和Y1都位于第一象限內(nèi)。
關(guān)于坐標(biāo)轉(zhuǎn)換,您需要知道某點(diǎn)在工作臺(tái)坐標(biāo)系統(tǒng)中的X坐標(biāo)和Y坐標(biāo),在圖中由紅色的虛線表示。在相機(jī)坐標(biāo)系統(tǒng)中的X坐標(biāo)和Y坐標(biāo)是已知的,利用它們您可以很容易地計(jì)算出在相機(jī)坐標(biāo)系統(tǒng)中的偏差角。利用相機(jī)坐標(biāo)系統(tǒng)下的角度矢量減去已知的偏置角就能方便地得到工作臺(tái)坐標(biāo)系統(tǒng)中的角度矢量。利用矢量H作為斜邊您可以構(gòu)建一個(gè)直角三角形,Y2和X2是它的兩條未知長(zhǎng)度的直角邊。對(duì)于直角三角形,當(dāng)您知道其中一條邊和一個(gè)角的大小,就能夠計(jì)算出其余兩條邊的大小。由于我們已經(jīng)通過(guò)計(jì)算得到了工作臺(tái)坐標(biāo)系統(tǒng)中的矢量角度的大小,就可以通過(guò)正弦定律和余弦定律來(lái)計(jì)算其余兩條邊的大小。結(jié)果如下:
通過(guò)sin(theta3)=Y2/H 得到 H*sin(angle in stage frame)= Y2
通過(guò)cos(theta3)=X2/H 得到H*cos(angle in stage frame)= X2
圖5坐標(biāo)轉(zhuǎn)換的LabVIEW代碼
利用這組簡(jiǎn)單的等式,您可以完成從已知的圖像坐標(biāo)系下的坐標(biāo)到未知的工作臺(tái)坐標(biāo)系下的坐標(biāo)的轉(zhuǎn)換。在使用這種方式時(shí)需要注意的是,當(dāng)矢量落在其它象限時(shí)等式會(huì)有所不同。然而,確定其它象限下坐標(biāo)變換的等式和以上方法非常類(lèi)似。
對(duì)于特定的應(yīng)用,您可以使用閉環(huán)控制來(lái)實(shí)現(xiàn)運(yùn)動(dòng)視覺(jué)校準(zhǔn)。這種方法的原理是利用某一特征在理想位置和觀察位置的差值作為誤差信號(hào)來(lái)進(jìn)行一個(gè)控制回路。例如,您可以將部件上的一個(gè)凹槽作為特征,將它調(diào)整到圖像中的某個(gè)理想位置。控制回路會(huì)在連續(xù)循環(huán)中不斷調(diào)整部件或相機(jī),誤差會(huì)越來(lái)越小直到理想位置和觀察到的特征點(diǎn)的位置重合。利用這種方法,您可以輕松地校準(zhǔn)相機(jī)和工作臺(tái)的坐標(biāo)系統(tǒng)。您還可以進(jìn)一步利用估計(jì)算法在控制部件的同時(shí)估算出系統(tǒng)的缺陷,比如光照變化以及圖像采集中較低的幀速。
結(jié)論
視覺(jué)導(dǎo)引運(yùn)動(dòng)控制系統(tǒng)適和多種應(yīng)用,從大量元件的自動(dòng)分析到簡(jiǎn)單的撿取和放置應(yīng)用。設(shè)計(jì)這種系統(tǒng)雖然很復(fù)雜,但它能最大限度地提高生產(chǎn)效率。校準(zhǔn)只是建立整個(gè)系統(tǒng)比較初級(jí)的部分但它非常重要。消除視覺(jué)系統(tǒng)的失真、將運(yùn)動(dòng)單元與視覺(jué)單元相關(guān)聯(lián)以及進(jìn)行坐標(biāo)轉(zhuǎn)換是非常重要的幾個(gè)部分,它們可以提高您的視覺(jué)導(dǎo)引運(yùn)動(dòng)系統(tǒng)的精度、可重用性以及整體價(jià)值。
轉(zhuǎn)載請(qǐng)注明出處。