專利名稱:一種線陣ccd圖像掃描方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種線陣CXD圖像掃描方法,屬于C⑶成像技術(shù)領(lǐng)域。
背景技術(shù):
線陣CCD因其結(jié)構(gòu)簡單,成本較低而得到廣泛應用。線陣CCD的單排感光單元的數(shù)目可以做得很多,在同等測量精度的前提下,其測量范圍可以做的較大,并且由于線陣CCD實時傳輸光電變換信號和自掃描速度快、頻率響應高,能夠?qū)崿F(xiàn)動態(tài)測量,并能在低照度下工作,所以線陣CCD廣泛地應用在產(chǎn)品尺寸測量和分類、非接觸尺寸測量、條形碼等許多領(lǐng)域。
現(xiàn)有技術(shù)中,實現(xiàn)掃描圖像質(zhì)量最佳的線陣CCD圖像掃描控制技術(shù)分為兩類有基于外同步控制方法和內(nèi)同步控制方法?;谕馔娇刂品椒ㄖ饕峭ㄟ^實時調(diào)節(jié)控制信號的光積分時間來達到與外部事件同步,同時控制曝光時間使或獲取到的圖像清晰,其一般實現(xiàn)途徑是通過FPGA或ARM等硬件實現(xiàn)線陣相機的外部同步控制,根據(jù)進給平臺的運動速度實時調(diào)整線陣相機的采樣頻率,保證相機的線速度與被測物體的線速度一致。CN200620125875公開了一種外同步線陣C C D驅(qū)動控制裝置,包括高速單片機,高速單片機與接外部測速單元的通訊接口芯片連接,高速單片機經(jīng)電平轉(zhuǎn)換芯片與C C D芯片連接,C C D芯片與向外部處理系統(tǒng)輸出像素點電壓的高速運放連接,高速單片機與向外部處理系統(tǒng)輸出像素點同步信號和行同步信號的電平轉(zhuǎn)換芯片連接?;趦?nèi)同步的控制方法主要是根據(jù)相機的設(shè)置的固定頻率,鏡頭焦距,線陣CCD的像素尺寸以及鏡頭的放大倍率等參數(shù)計算被測物體理論上應該運動的距離和速度,從而實現(xiàn)電機轉(zhuǎn)速和拍攝頻率之間的同步,從而保證圖像穩(wěn)定、清晰、不變形及不失真。現(xiàn)有技術(shù)存在的問題與缺點如下
基于外同步事件的控制方法是通過硬件實現(xiàn)的,成本較高,通用性較差,例如針對不同的廠商生產(chǎn)的線陣CCD和不同的數(shù)據(jù)傳輸協(xié)議,必須設(shè)計專用的硬件及其控制方法,此外,外界系統(tǒng)的干擾對其控制效果影響較大?;趦?nèi)部事件的控制方法由于缺少運動規(guī)劃,只考慮了理想狀態(tài)下線陣CXD的線速度與被測物體線速度之間的匹配關(guān)系,忽略了電機在不同控制模式下(S型曲線控制模式、T型曲線控制模式等)的加、減速過程,從而導致了相機在開始拍攝階段和停止拍攝前的照片發(fā)生拉伸或壓縮變形甚至是照片模糊等現(xiàn)象,增加了所獲取照片在后續(xù)圖像處理過程中的難度和圖像配準的難度以及缺陷識別算法的難度,降低了系統(tǒng)的檢測效率。
發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有技術(shù)的不足,提供一種線陣CXD圖像掃描方法,包括步驟I :對線陣CCD成像系統(tǒng)的掃描方向和非掃描方向進行運動規(guī)劃與掃描路徑規(guī)劃;步驟2 :對線陣CCD成像系統(tǒng)的掃描與控制指令進行編碼。進一步,所述步驟I進一步包括步驟11 :根據(jù)運動控制器的控制模式將待測物體的運動開始或完成過程劃分為加速運動階段SI、勻速運動階段S和減速運動階段S3三個部分;步驟12 :根據(jù)線陣CCD成像系統(tǒng)的有效視野范圍(FOV)計算非掃描方向上圖像重合度的大小,并根據(jù)運動平臺的定位精度進行間隙補償;步驟13 :根據(jù)圖像處理精度、和/或機械運動平臺誤差確定掃描路徑規(guī)劃方式;步驟14 :運動規(guī)劃位置求解。一個可選的實施方式中,所述勻速運動階段S包括線陣CXD掃描開始預留階段Dl和正常掃描階段S2以及掃描完成前緩沖階段D2。更進一步,所述步驟13中,若機械運動控制平臺具有間隙誤差,則使用單向掃描方式;若機械運動控制平臺不存在間隙誤差,則采用雙向掃描的路徑規(guī)劃方式。在一個優(yōu)選的實施方式中,所述步驟14具體為設(shè)待測物體的長度、寬度分別為Width,Height,線陣CXD成像系統(tǒng)標定后對物體的分辨率為Rtjbj,線陣CXD的分辨率為Res,線陣CCD的掃描頻率為f,相鄰兩次線陣CCD掃描重合度為Λ X,線陣CCD成像系統(tǒng)掃描速度為Vx,非掃描方向速度為Vy,其余待求量分別為Ι^α2α3、 4、 5、 6,計算出線陣CCD的視野寬度F0V = Robj X Res ;PCB的運動速度VX = Robj X f ;單次掃描的橫移(非掃描方向) 寬度Sy = FOV - Δχ ;PCB板的掃描次數(shù)N = (Width + L6)/Sy + 0.5,N值采用四舍五入取整;掃描起始點D在相對坐標系X1AY1中的坐#Dx,Dy :DX = S1 + D1 + L3 = Vx2/2ax +D2 + L3;其中ax為待測物體在掃描方向上的加速度A為加速運動階段緩沖區(qū)的大小,D1為從勻加速到勻速后的一段緩沖區(qū)的大小,具體可根據(jù)測試情況選取經(jīng)驗值;L3為待測物體坐標系零點到相對坐標系X1Ay中yi軸的距離;Dy = L6 - L4 ; Dy的大小為機床初始調(diào)試預設(shè)的值;PCB板掃描區(qū)段的位移S2 :若S2 > Height,S2= Height ;若S2〈Height,S2 =SxMax ;其中,SxMax為機械運動平臺在X軸方向最大工作距離;掃描終止點E的坐標是Ex和Eyi EX = Dx + S2 + Dx = 2DX + S2, Eyi = Dy + Sy X Ni, i = I Nmax,其中 Ni 為掃描點的編號,Nmax為掃描點的總數(shù)。更進一步,所述步驟2所述對線陣CCD圖像采集系統(tǒng)掃描與控制指令進行編碼的步驟中,采用XML語言對線陣CCD圖像采集系統(tǒng)掃描與控制指令進行編碼。所述掃描控制指令包括運動控制指令和采集系統(tǒng)的控制指令。所述運動控制指令至少包括①目標位置點的坐標(Tx, Ty) 各軸運動速度Vx, Vy,聯(lián)合運動速度Vxy ;③各軸加速度AccTx、AccTy,聯(lián)合加速度AccTxy。所述線陣CXD圖像采集系統(tǒng)的控制指令包括①線陣CXD開始位置坐標S (Sx, Sy);②線陣CXD停止采集位置坐標E (Ex, Ey);③線陣CXD的圖像采集頻率f。所述步驟2所述對線陣CCD圖像采集系統(tǒng)掃描與控制指令進行編碼的步驟中,將電機控制指令、待測物體尺寸信息和線陣CCD成像系統(tǒng)參數(shù)信息以及線陣CCD圖像采集與控制指令按照掃描列的形式進行封裝。本發(fā)明提供的技術(shù)方案簡單實用,實現(xiàn)方便,通用性強。可以很好解決在被測物體運動開始和運動完成階段由于電機的加、減速過程導致的圖像出現(xiàn)拉伸、壓縮和模糊等扭曲變形現(xiàn)象。降低了基于線陣CCD成像系統(tǒng)的自動光學檢測(AOI)系統(tǒng)開發(fā)效率和開發(fā)成本。
圖I是本發(fā)明線陣CCD圖像采集系統(tǒng)掃描與運動控制規(guī)劃流程 圖2是本發(fā)明線陣CCD成像系統(tǒng)圖像掃描方向的運動規(guī)劃示意圖;圖3是本發(fā)明線陣CCD成像系統(tǒng)圖像非掃描方向的運動規(guī)劃示意 圖4是本發(fā)明單向掃描路徑規(guī)劃示意 圖5是本發(fā)明單向掃描路徑規(guī)劃關(guān)鍵點的坐標方位與移動順序 圖6是本發(fā)明雙向掃描路徑規(guī)劃意 圖7是本發(fā)明雙向掃描路徑規(guī)劃關(guān)鍵點的坐標方位與移動順序 圖8是本發(fā)明關(guān)鍵定位點及其對應坐標系之間的映射關(guān)系 圖9是本發(fā)明PCB板掃描與控制指令坐標位置關(guān)系示意圖。
具體實施方式
下面結(jié)合附圖和具體實施方式
對本發(fā)明作進一步描述。附圖I為線陣CXD圖像采集系統(tǒng)掃描與運動控制規(guī)劃流程圖,該方法適用于基于線陣CCD成像系統(tǒng)的自動光學檢測系統(tǒng)的掃描圖像質(zhì)量最佳的掃描與控制,但該技術(shù)設(shè)計到光學系統(tǒng)、機械系統(tǒng)和它們之間基準點相互坐標系轉(zhuǎn)換相關(guān),因此其中任何一個參數(shù)發(fā)生改變則必須對成像系統(tǒng)進行標定并根據(jù)運動規(guī)劃算法和掃描與控制指令編碼方法生成相應的控制指令文件。如附圖I所示,系統(tǒng)初始化之后,掃描的X,Y軸首先回到絕對零點,而后置于相對零點。放板之后,工作平臺運動到PCB板掃描起始位置C處(調(diào)試階段,C的坐標可以設(shè)為(0,0)),判斷掃描控制命令是否準備就緒,若準備就緒,則從緩沖區(qū)提取指令并開始掃描;若未準備就緒,則解析掃描與運動控制規(guī)劃指令到指令緩沖區(qū)中。掃描結(jié)束之后,判斷缺陷識別是否完成,若缺陷識別已完成,則進一步判斷對該批PCB板的所有掃描是否都已完成,若完成則結(jié)束整個處理;若缺陷識別未完成,則繼續(xù)等待缺陷識別處理的完成,若未完成所有掃描,則將掃描的X,Y軸回歸到相對零點,繼續(xù)下一次處理。在運動規(guī)劃設(shè)置上,首先分別設(shè)置X,Y軸運動、單向掃描、雙向掃描規(guī)劃,而后根據(jù)掃描與運動規(guī)劃以及PCB板的基本信息生成指令控制文件,在掃描控制指令未準備好時,解析掃描與運動控制規(guī)劃指令到指令緩沖區(qū)中。本發(fā)明的基于上述線陣CCD圖像采集系統(tǒng)掃描與運動控制規(guī)劃流程的一個優(yōu)選實施方式中,描述了一種線陣CCD圖像掃描方法,包括步驟I :對線陣CCD成像系統(tǒng)掃描方向和非掃描方向(與掃描方向垂直的方向)進行運動規(guī)劃與掃描路徑規(guī)劃;步驟2、對線陣CCD圖像采集系統(tǒng)掃描與控制指令進行編碼。在一個非限制性的實施方式中,上述步驟I進一步包括
步驟11:根據(jù)運動控制器的控制模式(如S型曲線控制模式、T型曲線控制模式等)將待測物體的運動開始或完成過程劃分為加速運動階段Si、勻速運動階段S和減速運動階段S3三個部分,其中,勻速運動階段S又包括線陣CXD掃描開始預留階段Dl和正常掃描階段S2以及掃描完成前緩沖階段D2,每一階段相對關(guān)系與描述如圖2示。步驟12 :根據(jù)線陣CXD成像系統(tǒng)的有效視野范圍(FOV)計算非掃描方向上圖像重合度的大小,重合度大小Ax = SOOXRtjbj Atjbj表示一個像素對應的所拍攝物體的實際大小,單位為um。同時根據(jù)運動平臺的定位精度進行間隙補償,假設(shè)XY運動平臺在X軸方向的間隙誤差為α,則當任意相鄰兩次運動,若兩次運動方向相同則不需要進行間隙補償,否則需要在原始的目標位置上加上α作為新的目標位置;¥軸方向上的間隙補償與X方向的間隙補償相同。其示意圖和描述如附圖3所示。步驟13:根據(jù)圖像處理精度、和/或機械運動平臺誤差確定掃描路徑規(guī)劃方式。每塊掃描物體所需的掃描次數(shù)根據(jù)待掃描物體的尺寸和線陣CCD成像系統(tǒng)參數(shù)和運動規(guī)劃方法及參數(shù)計算出來,其中N = (PCBwidth+ L6)/ Sy + O. 5,PCBwidth SPCB板的寬度,L6S線陣CCD掃描起始點與印制電路板的左下角之間的橫向距離,Sy表示工作平臺Y軸單次橫向移動的距離。若機械運動控制平臺具有間隙誤差,則建議使用單向掃描方式(如圖4所示);附圖5進一步描述了單向掃描路徑規(guī)劃關(guān)鍵點的坐標方位與移動順序圖。采用單向掃描路徑規(guī)劃時關(guān)鍵位置點移動順序為
O — A — D — B — Dl — El — D2 — E2 — D3 — E3 …
實線路徑表示線陣相機掃描路徑,虛線部分表示空行程階段(即線陣相機不工作);虛 線的斜線部分均采用X、Y軸聯(lián)動的運動方式,水平方向部分單軸運動;矩形區(qū)域(PCB板)部分為線陣CCD工作區(qū)域;非線陣相機工作區(qū)域盡可能地提高運動速度,但需保證定位精度。
機床相對坐標系零點的位置為A ( xA , );在AOI系統(tǒng)中機床最大的有效行程
isXMm-A
、Syifax ;線陣CXD中心M點在機床絕對坐標系中的位置為M (xM , yM );線陣CXD調(diào)焦完成后的視野寬度(需要通過標準機器視覺模板進行標定)為FOV。若機械運動控制平臺不存在間隙誤差,建立采用雙向掃描的路徑規(guī)劃方式(如圖6所示),這樣可減少空行程的距離,顯著提高自動光學檢測系統(tǒng)的掃描效率。附圖7示出了雙向掃描路徑規(guī)劃關(guān)鍵點的坐標方位與移動順序圖。其中,采用雙向掃描路徑規(guī)劃時關(guān)鍵位置點移動順序為
O — A — D — B — El — Dl — D2 — E2 — E3 — D3 …
實線路徑表示線陣相機掃描路徑,虛線部分表示空行程階段(即線陣相機不工作);虛線的斜線部分均采用X、Y軸聯(lián)動的運動方式,水平方向部分單軸運動;矩形區(qū)域(PCB板)部分為線陣CCD工作區(qū)域;非線陣相機工作區(qū)域盡可能地提高運動速度,但需保證定位精度。
機床相對坐標系零點的位置為A (xA , yA );在AOI系統(tǒng)中機床最大的有效行程為、
;線陣CCD中心M點在機床絕對坐標系中的位置為M Cxm , yM );線陣CCD調(diào)焦完成后的視野寬度(需要通過標準機器視覺模板進行標定)為F0V。步驟14 :運動規(guī)劃位置求解。設(shè)待測物體的長度、寬度分別為Width、Height,線陣CCD成像系統(tǒng)標定后對物體的分辨率為Rtjw,線陣CCD的分辨率為Res,線陣CCD的掃描頻率為f,相鄰兩次線陣CCD掃描重合度為Λ X,線陣CCD成像系統(tǒng)掃描速度為Vx,非掃描方向速度為Vy,其余待求量分別為Lp L2, L3, L4, L5, L6,各關(guān)鍵點之間的位置關(guān)系詳見附圖8。xOy為絕對坐標系;XjA Y1為相對坐標系;x2B y2為PCB板坐標系;0為絕對坐標零點;A為
相對坐標零點;B為PCB板坐標零點;C、D為掃描起始零點C、D,E為掃描終止點E ;L1、L2為相對零點A與絕對零點O之間的Y,X坐標軸距離;L3、L4為PCB板坐標零點B與相對坐標零點A之間的X,Y坐標距離;L5、(L4 - L6)分別為掃描起始點D與相對坐標零點A之間的X,Y坐標距離,需根據(jù)PCB板尺寸參數(shù)和運動控制參數(shù)計算得知。則可求得
①線陣CCD的視野寬度F0V= Robj X Res ;
②PCB的運動速度VX= Robj X f ; ③單次掃描的橫移(非掃描方向)寬度Sy= FOV - Δχ ;
④PCB板的掃描次數(shù)N= (Width + L6)/Sy + 0.5 ; (N值采用四舍五入取整);
⑤掃描起始點D的坐標(D是在相對坐標系X1AYi中)Dx Dx = S1 + D1 + L3 = Vx2/2ax + D2 + L3 ;
其中ax為待測物體在掃描方向(X軸方向)上的加速度;S1為加速運動階段緩沖區(qū)的大小,D1為從勻加速到勻速后的一段緩沖區(qū)的大小,具體可根據(jù)測試情況選取經(jīng)驗值;L3為待測物體坐標系零點到相對坐標系X1Ay中71軸的距離;Dy = L6 - L4,Dy的大小為機床初始調(diào)試預設(shè)的值。⑥PCB板掃描區(qū)段的位移S2
若 S2 > Height, S2= Height ;
若S2〈Height,S2 = SxMax ;SxMax為機械運動平臺在X軸方向(掃描方向)最大工作距離。理論上待測物體的寬度應為掃描區(qū)段位移的大小,但由于有些運動平臺的有效工作形成實際上小于待檢測物體的尺寸,為此設(shè)定了相應的保護機制,即當待測物體的大小超過了運動平臺的有效工作行程時,則掃描區(qū)段位移(線陣CXD工作位移)應設(shè)置成運動平臺的線陣CCD圖像采集系統(tǒng)掃描的最大有效行程。⑦掃描終止點E的坐標是Ex和Eyi
Ex = Dx + S2 + Dx = 2DX + S2, Eyi = Dy + Sy X Ni,其中 i = I Nfflax0為了計算方便,可將掃描規(guī)劃階段勻加速和勻減速的位移值設(shè)為相同。在上述步驟2所述對線陣CCD圖像采集系統(tǒng)掃描與控制指令進行編碼的步驟中,采用可擴展標記語言(XML)對線陣CCD圖像采集系統(tǒng)掃描與控制指令進行編碼,并結(jié)合線陣CCD圖像采集與控制的特點,設(shè)計線陣CCD圖像采集系統(tǒng)的掃描與控制指令的編碼方法,將電機控制指令、待測物體尺寸信息和線陣CCD成像系統(tǒng)參數(shù)信息以及線陣CCD圖像采集與控制指令按照掃描列的形式進行封裝。在一個非限制性的實施方式中,線陣CCD圖像采集系統(tǒng)掃描與控制指令的編碼主要包括運動控制指令的編碼和線陣CXD圖像采集指令的編碼,并采用可擴展的標記語言(XML)實現(xiàn)其嵌套式層次結(jié)構(gòu)描述。運動控制指令至少包括①目標位置點的坐標(Tx,Ty) 各軸運動速度Vx,Vy,聯(lián)合運動速度Vxy ;③各軸加速度AccTx、AccTy,聯(lián)合加速度AccTxy。在優(yōu)選的實施方式中,其編碼形式如下為struct cmdMotionCtrl_Struct
{
bool bCommandStatus; //運動控制指令執(zhí)行狀態(tài)O—未執(zhí)行I一已執(zhí)行int iCommandType; //運動控制指令類型O—單軸運動I一X、Y軸聯(lián)動int iAxisNo;//當前軸號O— X軸I一Y軸在X、Y軸聯(lián)動時該參數(shù)無效double dVel;//當前運動速度,單軸運動時表示該軸的運動速度,X、Y軸聯(lián)動時代表X、Y軸和速度
double dAcc;//加速度,單軸運動時表示該軸的加速度,X、Y軸;聯(lián)動時表示合加速
度
double dTargetPosX; //目標位置X的坐標 double dTargetPosY; //目標位置Y的坐標
}
線陣CCD圖像采集系統(tǒng)的控制指令包括①線陣CCD開始位置坐標S(Sx,Sy);②線陣C⑶停止采集位置坐標E(Ex,Ey);③線陣C⑶的圖像采集頻率f。優(yōu)選的實施方式中,其編碼形式為
struct cmdLineCCDCtrl_Struct
{
bool bLineCXDStatus;//線陣C⑶的工作狀態(tài)O—未工作I一正處于連續(xù)采集圖像
狀態(tài)
double dStartGrabPosX; //線陣CO)開始采集圖像點的X坐標 double dStartGrabPosY; //線陣CO)開始采集圖像點的Y坐標 double dStopGrabPosX; //線陣CO)停止采集圖像點的X坐標 double dStopGrabPosY; //線陣CO)停止采集圖像點的Y坐標
}
優(yōu)選地,實現(xiàn)圖像質(zhì)量最佳的掃描與運動控制控制指令的主要數(shù)據(jù)結(jié)構(gòu)如下
Struct cmdLineCCDImagingSysScanAndCtrl_Struct
{
int iCmdlndexNo;//當前指令的索引號
int iCmdBufferSize;//指令緩沖區(qū)的大小,即指令的條數(shù)
int iCurrentCmdIndexNo; //當前執(zhí)行指令的索引號
bool bLineCCDCtrlCmdValid;//線陣CCD采集指令是否有效O—有效I一無效 cmdMotionCtrl_Structm_CmdMotionCtrl; // 運動控制指令
cmdLineCCDCtrl_Struct m_CmdLineCCDCtrl; // 線陣相機米集控制指令cmdImagePreprocessing_Struct m_ cmdImagePreprocessing_Struct; // 圖像預處理指令
cmdDefaultRecognitionAlgorithm_Struct m_cmdDefaultRecognitionAlgorithm_Struct;//缺陷識別指令
}
在此基礎(chǔ)上可以利用軟件實現(xiàn)外部事件同步控制的線陣CCD成像系統(tǒng)的掃描與控制指令編碼,一種可選的實施方式中,其編碼結(jié)果如下
<AOIScanAndCtrI>
〈JobCMD CMDJobName="—AOICmd" CmdBufferSize="5〃 CurrentCmdIndexNo=//0//>
<CMD iCmdIndexNo="l" bLineCCDCtrlCmdValid="。"〉
〈CmdMotionCtrIPara bCommandStatus=〃0〃 iCommandType=〃I〃 iAxisNo=〃3〃dVel=〃10. 0000〃 dAcc=〃2. 0000〃 dTargetPosX=〃407. 2500〃 dTargetPosY=〃2. 000(Τ7><CmdLineCCDCtrIPara bLineCCDStatus = " I" dStartGrabPosX = //0. 0000〃dStartGrabPosY="0· 0000" dStopGrabPosX="0· 0000" dStopGrabPosY="0. 0000"/〉<CmdImagePreProcessingPara/>
<CmdImageDefaultRecoginzationPara/>
</CMD>
<CMD iCmdIndexNo="2" bLineCCDCtrlCmdValid="]/〉
〈CmdMotionCtrIPara bCommandStatus=〃0〃 iCommandType=〃0〃 iAxisNo=〃0〃dVel="5. 0000〃 dAcc="2. 0000〃 dTargetPosX="87. 5000〃 dTargetPosY="2. 0000V>
<CmdLineCCDCtrIPara bLineCCDStatus="I" dStartGrabPosX="400.0000"dStartGrabPosY="2. 0000" dStopGrabPosX="93. 7500" dStopGrabPosY="2. 0000"/〉<CmdImagePreProcessingPara/>
<CmdImageDefaultRecoginzationPara/>
</CMD>
<CMD iCmdIndexNo="3" bLineCCDCtrlCmdValid="。"〉
〈CmdMotionCtrIPara bCommandStatus=〃0〃 iCommandType=〃I〃 iAxisNo=〃3〃dVel=〃10. 0000〃 dAcc=〃2. 0000〃 dTargetPosX=〃407. 2500〃 dTargetPosY=〃140. 000(Τ7><CmdLineCCDCtr IPara bLineCCDStatus = " I" dSt art GrabPo sX = //0. 0000〃dStartGrabPosY="0. 0000" dStopGrabPosX="0. 0000" dStopGrabPosY="0. 0000"/〉<CmdImagePreProcessingPara/>
<CmdImageDefaultRecoginzationPara/>
</CMD>
<CMD iCmdIndexNo="4" bLineCCDCtrlCmdValid="]/〉
〈CmdMotionCtrIPara bCommandStatus=〃0〃 iCommandType=〃0〃 iAxisNo=〃0〃dVel="5. 0000〃 dAcc="2. 0000〃 dTargetPosX="87. 5000〃 dTargetPosY="140. 000(Τ7><CmdLineCCDCtrIPara bLineCCDStatus="I" dStartGrabPosX="400.0000"dStartGrabPosY="140. 0000" dStopGrabPosX="93. 7500" dStopGrabPosY="140. 0000"/〉<CmdImagePreProcessingPara/>
<CmdImageDefaultRecoginzationPara/>
</CMD>
<CMD iCmdIndexNo="5" bLineCCDCtrlCmdValid="。"〉
〈CmdMotionCtrIPara bCommandStatus=〃0〃 iCommandType=〃I〃 iAxisNo=〃3〃dVel=〃10. 0000〃 dAcc=〃2. 0000〃 dTargetPosX=〃0. 0000〃 dTargetPosY=〃0. 000(Τ7>
<CmdLineCCDCtr IPara bLineCCDStatus = " I" dSt art GrabPo sX = //0. 0000〃
權(quán)利要求
1.一種線陣CXD圖像掃描方法,其特征在于,包括 步驟I :對線陣CCD成像系統(tǒng)的掃描方向和非掃描方向進行運動規(guī)劃與掃描路徑規(guī)劃; 步驟2 :對線陣CCD成像系統(tǒng)的掃描與控制指令進行編碼。
2.如權(quán)利要求I所述的線陣CCD圖像掃描方法,其特征在于所述步驟I進一步包括 步驟11 :根據(jù)運動控制器的控制模式將待測物體的運動開始或完成過程劃分為加速運動階段SI、勻速運動階段S和減速運動階段S3三個部分; 步驟12 :根據(jù)線陣CCD成像系統(tǒng)的有效視野范圍(FOV)計算非掃描方向上圖像重合度的大小,并根據(jù)運動平臺的定位精度進行間隙補償; 步驟13 :根據(jù)圖像處理精度、和/或機械運動平臺誤差確定掃描路徑規(guī)劃方式; 步驟14 :運動規(guī)劃位置求解。
3.如權(quán)利要求2所述的線陣CCD圖像掃描方法,其特征在于 所述勻速運動階段S包括線陣CXD掃描開始預留階段Dl和正常掃描階段S2以及掃描完成前緩沖階段D2。
4.如權(quán)利要求2所述的線陣CCD圖像掃描方法,其特征在于 所述步驟13中,若機械運動控制平臺具有間隙誤差,則使用單向掃描方式;若機械運動控制平臺不存在間隙誤差,則采用雙向掃描的路徑規(guī)劃方式。
5.如權(quán)利要求2所述的線陣CCD圖像掃描方法,其特征在于 所述步驟14具體為設(shè)待測物體的長度、寬度分別為Width、Height,線陣CXD成像系統(tǒng)標定后對物體的分辨率為R&.,線陣CCD的分辨率為Res,線陣CCD的掃描頻率為f,相鄰兩次線陣CCD掃描重合度為A X,線陣CCD成像系統(tǒng)掃描速度為Vx,非掃描方向速度為Vy,其余待求量分別為U、L2、L3、L4、L5、L6,計算出 線陣CCD的視野寬度F0V = Robj X Res ; PCB的運動速度VX = Robj X f ; 單次掃描的橫移(非掃描方向)寬度Sy = FOV - Ax ; PCB板的掃描次數(shù)N = (Width + L6)/Sy + 0.5,N值采用四舍五入取整; 掃描起始點D在相對坐標系X1AYi中的坐標Dx, Dy :Dx = S1 + D1 + L3 = Vx2/2ax + D2 + L3 ; 其中ax為待測物體在掃描方向上的加速度A為加速運動階段緩沖區(qū)的大小,D1S從勻加速到勻速后的一段緩沖區(qū)的大小,具體可根據(jù)測試情況選取經(jīng)驗值山3為待測物體坐標系零點到相對坐標系X1Ay中yi軸的距離;Dy = L6 - L4 ; Dy的大小為機床初始調(diào)試預設(shè)的值; PCB板掃描區(qū)段的位移S2 若 S2 > Height, S2= Height ;若 S2〈Height, S2 = Sxltlax ;其中,Sxltlax 為機械運動平臺在X軸方向最大工作距離; 掃描終止點E的坐標是Ex和Eyi Ex = Dx + S2 + Dx = 2DX + S2, Eyi = Dy + Sy X Ni, i = I Nmax,其中 Ni 為掃描點的編號,Nmax為掃描點的總數(shù)。
6.如權(quán)利要求2所述的線陣CCD圖像掃描方法,其特征在于 所述步驟2所述對線陣CCD圖像采集系統(tǒng)掃描與控制指令進行編碼的步驟中,采用XML語言對線陣CCD圖像采集系統(tǒng)掃描與控制指令進行編碼。
7.如權(quán)利要求6所述的線陣CCD圖像掃描方法,其特征在于 所述掃描控制指令包括運動控制指令和采集系統(tǒng)的控制指令。
8.如權(quán)利要求7所述的線陣CCD圖像掃描方法,其特征在于 所述運動控制指令至少包括①目標位置點的坐標(Tx,Ty) 各軸運動速度Vx,Vy,聯(lián)合運動速度Vxy ;③各軸加速度AccTx、AccTy,聯(lián)合加速度AccTxy。
9.如權(quán)利要求7所述的線陣CCD圖像掃描方法,其特征在于 所述線陣CCD圖像采集系統(tǒng)的控制指令包括①線陣CCD開始位置坐標S(Sx,Sy) 級線陣CXD停止采集位置坐標E (Ex,Ey);③線陣CXD的圖像采集頻率f。
10.如權(quán)利要求2所述的線陣CCD圖像掃描方法,其特征在于 所述步驟2所述對線陣CCD圖像采集系統(tǒng)掃描與控制指令進行編碼的步驟中,將電機控制指令、待測物體尺寸信息和線陣CCD成像系統(tǒng)參數(shù)信息以及線陣CCD圖像采集與控制指令按照掃描列的形式進行封裝。
全文摘要
本發(fā)明提供一種線陣CCD圖像掃描方法,包括步驟1.對線陣CCD成像系統(tǒng)的掃描方向和非掃描方向進行運動規(guī)劃與掃描路徑規(guī)劃;步驟2.對線陣CCD成像系統(tǒng)的掃描與控制指令進行編碼。本發(fā)明提供的技術(shù)方案可以很好解決在被測物體運動開始和運動完成階段由于電機的加、減速過程導致的圖像出現(xiàn)拉伸、壓縮和模糊等扭曲變形現(xiàn)象。
文檔編號G01B11/00GK102761708SQ20121015526
公開日2012年10月31日 申請日期2012年5月18日 優(yōu)先權(quán)日2012年5月18日
發(fā)明者馮平, 彭小波, 徐剛, 程濤, 胡國煌 申請人:深圳大學