機(jī)器視覺(jué)技術(shù)與運(yùn)動(dòng)控制技術(shù)相結(jié)合解析方案
首先您要確定的兩個(gè)坐標(biāo)系統(tǒ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度。
在確定了偏差角后,下一步您要確定視覺(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)上??梢?p>利用下圖來(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代碼
評(píng)論