閱讀 | 訂閱
閱讀 | 訂閱
控制系統(tǒng)

視覺導(dǎo)引運動控制系統(tǒng)開發(fā)分析

星之球激光 來源:21ic2011-11-29 我要評論(0 )   

過去幾年里,運動控制系統(tǒng)已經(jīng)把機器視覺作為其關(guān)鍵部分。越來越多的工程師和科研人員認識到當前的機器視覺技術(shù)和運動控制技術(shù)相結(jié)合對于解決復(fù)雜應(yīng)用問題有相當大的幫...

過去幾年里,運動控制系統(tǒng)已經(jīng)把機器視覺作為其關(guān)鍵部分。越來越多的工程師和科研人員認識到當前的機器視覺技術(shù)和運動控制技術(shù)相結(jié)合對于解決復(fù)雜應(yīng)用問題有相當大的幫助。軟硬件技術(shù)的發(fā)展也促進了運動控制和機器視覺系統(tǒng)的結(jié)合,并降低了它們的開發(fā)難度和開發(fā)成本。在設(shè)計這種系統(tǒng)時,了解目前的技術(shù)發(fā)展、方法以及開發(fā)工具會對您的工作提供很大的幫助。

視覺和運動控制系統(tǒng)框圖


  當您開發(fā)一個視覺導(dǎo)引運動控制系統(tǒng)時,有很多方面需要考慮。其中重要的一點就是如何建立該系統(tǒng)。比如一個視覺導(dǎo)引運動控制系統(tǒng)用于在移動電話上安裝機蓋,每次電話的位置和方向可能有所不同。為了使問題變得簡單,假定移動電話放置在X-Y-Theta工作臺來校正位置以及方向。視覺系統(tǒng)用來定位機蓋并測量電話移動到正確位置運動系統(tǒng)需要移動的方向和距離。開發(fā)這樣的系統(tǒng)也有很多的問題必須考慮到,例如視覺單元如何和運動單元關(guān)聯(lián)來保證把部件移動到位。在運動和視覺單元之間建立通信需要校準。如圖1所示,在校準一個視覺導(dǎo)引運動控制系統(tǒng)時,需要按照以下幾個步驟進行:首先,您需要校正圖像系統(tǒng)的所有失真,它們有可能導(dǎo)致錯誤的測量距離被傳遞到運動控制系統(tǒng)上; 
然后,您需要把圖像測量的距離(通常用像素表達)和工作臺或電機測量的距離(通常用步進的次數(shù)或計數(shù)值)聯(lián)系起來;最后,您需要把運動控制系統(tǒng)與視覺坐標系統(tǒng)相關(guān)聯(lián),從而校正兩個系統(tǒng)的偏移。這種圖像測量距離到運動控制距離的轉(zhuǎn)換依賴于很多的參數(shù),其中包括相機和被測物體間的距離以及鏡頭的類型。相機焦距的改變會使得物體成像的大小有所不同,因此測量的結(jié)果也會與相機移動之前有所不同。一個簡單的視覺和運動控制系統(tǒng)框圖如圖1所示。

  常見失真的校正

  當校正運動控制部分在2維平面上的視覺導(dǎo)引運動控制系統(tǒng)時,應(yīng)該確保您的相機垂直于該平面或工作臺。如果相機不垂直,那么圖像將有透視性失真,就是說對于一個各部分尺寸相同的物體,距離相機近的部分會比顯得比距離相機遠的部分要大。某些軟件包,如NI視覺軟件,可以使用某些校準算法來校正這些透視性失真。

  在校準系統(tǒng)時鏡頭失真也一種誤差源。鏡頭失真來自于鏡頭邊緣的變形。這會導(dǎo)致直線在圖像邊緣上變成曲線。像透視性失真一樣,鏡頭失真可以使用某些圖像處理軟件如NI 視覺軟件的特定功能在進行校正。

  關(guān)聯(lián)視覺單元和運動控制單元

  校準視覺導(dǎo)引運動控制系統(tǒng)可以通過多種方法來實現(xiàn)。最簡單的方法是通過實驗利用機器視覺和運動控制單元采集到的數(shù)據(jù)來校準系統(tǒng)。使用這種方法,您可以移動運動控制系統(tǒng)到多個工作點并使用機器視覺系統(tǒng)來測量其運動的的距離。利用所采集到的數(shù)據(jù),您可以確定計算出從相機的像素值與工作臺運動之間的等式關(guān)系,比如說編碼器的計數(shù)單位?;氐揭苿与娫挀烊『头胖玫睦?,假定您的工作臺向X方向移動了1cm,您使用相機觀察到工作臺在X方向移動了100像素。您就可以建立一個校準常量0.01 cm/像素,它說明您在工作臺上所測量的0.01 cm相當于1個像素。

 用于關(guān)聯(lián)視覺單元和運動控制單元的LabVIEW 代碼

 


  圖2 用于關(guān)聯(lián)視覺單元和運動控制單元的LabVIEW 代碼。

  關(guān)聯(lián)運動坐標系統(tǒng)和視覺坐標系統(tǒng)

  在消除或校正了圖像系統(tǒng)的失真影響后,另一個您在設(shè)計系統(tǒng)時要防范的問題是確保相機的坐標系統(tǒng)和運動控制的坐標系統(tǒng)同軸。根據(jù)具體的應(yīng)用以及您所要獲得的精度,同軸性可能會成為提高性能的最關(guān)鍵環(huán)節(jié)。相機和運動控制坐標系統(tǒng)不嚴格同軸會導(dǎo)致指令的偏差。例如,如果您使用不同軸的工作臺和相機,當物體在工作臺上沿X方向向移動時相機會記錄工作臺在X方向和Y方向同時移動。使用坐標轉(zhuǎn)換可以校正坐標系統(tǒng)的偏移。坐標轉(zhuǎn)換可以把一個坐標系統(tǒng)(工作臺坐標系統(tǒng))轉(zhuǎn)換為另一個坐標系統(tǒng)(相機的坐標系統(tǒng))。例如機器人應(yīng)用中經(jīng)常會用到這些坐標變換技術(shù)來根據(jù)獲取的信息確定最終的執(zhí)行系統(tǒng)應(yīng)該怎樣工作。在下圖中,黑色為相機坐標系統(tǒng),綠色為工作臺坐標系統(tǒng),二者相差一定的角度。

坐標系統(tǒng)的不同軸會導(dǎo)致運動控制系統(tǒng)與視覺系統(tǒng)距離換算時出現(xiàn)偏差

坐標系統(tǒng)的不同軸會導(dǎo)致運動控制系統(tǒng)與視覺系統(tǒng)距離換算時出現(xiàn)偏差

  圖3:坐標系統(tǒng)的不同軸會導(dǎo)致運動控制系統(tǒng)與視覺系統(tǒng)距離換算時出現(xiàn)偏差。

首先您要確定的兩個坐標系統(tǒng)的角度偏差值。我們把這一角度稱為偏差角。一種簡單的做法是通過移動工作臺一個已知角度,利用機器視覺系統(tǒng)來測量起始位置和終止位置來確定該偏差角。例如,假定您僅在X軸移動了工作臺2000單位(0,0到2000,0位置)。由于您只移動了X軸,在圖像坐標系中測量的Y軸的任何移動都能幫助您確定該偏差角。如果相機的圖像顯示工作臺在X軸移動了173像素,在Y軸移動了100像素,可以通過對Y和X比值的反正切來計算旋轉(zhuǎn)的角度。對100/173取反正切得到偏差角為30度。

 

<-- 2007-12-26 19:49:21-->
      在確定了偏差角后,下一步您要確定視覺單元和運動控制單元之間的轉(zhuǎn)換關(guān)系。您可以通過比較在圖像中測量出的運動距離和在運動控制中給出的運動距離來計算得該轉(zhuǎn)換公式。為了確定在圖像中的移動距離Z,可以利用勾股定理通過X值和Y值進行計算。Z=sqrt(X^2+Y^2)。

  在視覺系統(tǒng)中移動的長度=sqrt(100^2+173^2) = 200像素。

  現(xiàn)在您可以從上面的范例中知道,視覺單元到運動控制單元的比率為200:2000或1:10。在進行校準時您需要注意的一點是當您在校準時采樣的點數(shù)越多,在最后您的校準結(jié)果越準確。另一點需要注意的是運動控制系統(tǒng)可能有輕微缺陷,這會導(dǎo)致不同部件移動相同距離有輕微差別。為了提高可重復(fù)率,您應(yīng)該通過采集不同點的多個樣本來計算轉(zhuǎn)換比率。此外,使用這種比率,您可以發(fā)現(xiàn)為了能在圖像上觀察到一個像素距離的移動,您至少需要將工作臺移動10個單位。這些類系統(tǒng)中,工作臺的分辨率遠高于鏡頭的分辨率的情況是很常見的,這意味著圖像中的微小移動將會在運動系統(tǒng)中導(dǎo)致很大的位移變化。若您連續(xù)的核對工作臺的位置,您可能發(fā)現(xiàn)它會在目標位置附近跳動。一旦出現(xiàn)這樣的情況,您可以考慮設(shè)置盲區(qū),這樣當您感覺工作臺已足夠接近目標區(qū)域,運動控制就不再繼續(xù)進行調(diào)整。

  坐標轉(zhuǎn)換

  下一步我們將要利用系統(tǒng)的相關(guān)信息來決定如何把相機坐標系統(tǒng)上點的位置轉(zhuǎn)換到工作臺坐標系統(tǒng)上??梢?nbsp;
利用下圖來更好地說明這種轉(zhuǎn)換如何實現(xiàn):假定將工作臺從0,0移動到到相機坐標系統(tǒng)的新位置X1 和Y1(以藍色代表),X1和Y1都位于第一象限內(nèi)。#p#分頁標題#e#

  關(guān)于坐標轉(zhuǎn)換,您需要知道某點在工作臺坐標系統(tǒng)中的X坐標和Y坐標,在圖中由紅色的虛線表示。在相機坐標系統(tǒng)中的X坐標和Y坐標是已知的,利用它們您可以很容易地計算出在相機坐標系統(tǒng)中的偏差角。利用相機坐標系統(tǒng)下的角度矢量減去已知的偏置角就能方便地得到工作臺坐標系統(tǒng)中的角度矢量。利用矢量H作為斜邊您可以構(gòu)建一個直角三角形,Y2和X2是它的兩條未知長度的直角邊。對于直角三角形,當您知道其中一條邊和一個角的大小,就能夠計算出其余兩條邊的大小。由于我們已經(jīng)通過計算得到了工作臺坐標系統(tǒng)中的矢量角度的大小,就可以通過正弦定律和余弦定律來計算其余兩條邊的大小。結(jié)果如下:

  通過sin(theta3)=Y2/H 得到 H*sin(angle in stage frame)= Y2

  通過cos(theta3)=X2/H 得到H*cos(angle in stage frame)= X2

坐標轉(zhuǎn)換的LabVIEW代碼

坐標轉(zhuǎn)換的LabVIEW代碼

 

  圖5坐標轉(zhuǎn)換的LabVIEW代碼

  利用這組簡單的等式,您可以完成從已知的圖像坐標系下的坐標到未知的工作臺坐標系下的坐標的轉(zhuǎn)換。在使用這種方式時需要注意的是,當矢量落在其它象限時等式會有所不同。然而,確定其它象限下坐標變換的等式和以上方法非常類似。

  對于特定的應(yīng)用,您可以使用閉環(huán)控制來實現(xiàn)運動視覺校準。這種方法的原理是利用某一特征在理想位置和觀察位置的差值作為誤差信號來進行一個控制回路。例如,您可以將部件上的一個凹槽作為特征,將它調(diào)整到圖像中的某個理想位置??刂苹芈窌谶B續(xù)循環(huán)中不斷調(diào)整部件或相機,誤差會越來越小直到理想位置和觀察到的特征點的位置重合。利用這種方法,您可以輕松地校準相機和工作臺的坐標系統(tǒng)。您還可以進一步利用估計算法在控制部件的同時估算出系統(tǒng)的缺陷,比如光照變化以及圖像采集中較低的幀速。

  結(jié)論

  視覺導(dǎo)引運動控制系統(tǒng)適和多種應(yīng)用,從大量元件的自動分析到簡單的撿取和放置應(yīng)用。設(shè)計這種系統(tǒng)雖然很復(fù)雜,但它能最大限度地提高生產(chǎn)效率。校準只是建立整個系統(tǒng)比較初級的部分但它非常重要。消除視覺系統(tǒng)的失真、將運動單元與視覺單元相關(guān)聯(lián)以及進行坐標轉(zhuǎn)換是非常重要的幾個部分,它們可以提高您的視覺導(dǎo)引運動系統(tǒng)的精度、可重用性以及整體價值。

 

轉(zhuǎn)載請注明出處。

暫無關(guān)鍵詞
免責(zé)聲明

① 凡本網(wǎng)未注明其他出處的作品,版權(quán)均屬于激光制造網(wǎng),未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用。獲本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使 用,并注明"來源:激光制造網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關(guān)責(zé)任。
② 凡本網(wǎng)注明其他來源的作品及圖片,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本媒贊同其觀點和對其真實性負責(zé),版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系我們刪除。
③ 任何單位或個人認為本網(wǎng)內(nèi)容可能涉嫌侵犯其合法權(quán)益,請及時向本網(wǎng)提出書面權(quán)利通知,并提供身份證明、權(quán)屬證明、具體鏈接(URL)及詳細侵權(quán)情況證明。本網(wǎng)在收到上述法律文件后,將會依法盡快移除相關(guān)涉嫌侵權(quán)的內(nèi)容。

網(wǎng)友點評
0相關(guān)評論
精彩導(dǎo)讀