--激光制導自動(dòng)跟蹤焊接系統
圖像采集
本文引用地址:http://dyxdggzs.com/article/111530.htm攝像頭通過(guò)通用輸入輸出端口連接至TC1797,以連接數據和控制并行總線(xiàn)。全局計時(shí)器0(GT0)和全局計時(shí)器單元0(GTC0)用于生成攝像頭主時(shí)鐘脈沖,以控制攝像頭幀速率。
TriCore TC1797的通用輸入輸出端口可支持的數據率約為296kHz,這表示100×100像素圖像的理想幀速率為29.6fps(1字節/像素)。圖像應保存在一個(gè)10 Kb的陣列中。平均而言,采集圖像耗時(shí)約200毫秒。
采用大津方法處理圖像
采用大津閾值法來(lái)處理所采集的圖像,以自動(dòng)計算出在變化不定的照明條件下的最優(yōu)閾值。利用大津方法,我們盡一切可能找到能最大限度地降低類(lèi)內方差值(即,兩個(gè)類(lèi)的方差的加權總和)的閾值:
權數ωi是被閾值t分隔開(kāi)的兩個(gè)類(lèi)的概率, 是這兩個(gè)類(lèi)的方差。
大津法表明,最大限度地降低類(lèi)內方差值,等同于最大限度地提高類(lèi)間方差值:
其中,ωi是類(lèi)概率,μi是類(lèi)平均數,相應地,這個(gè)值可以迭代更新。這種方法產(chǎn)生了一個(gè)簡(jiǎn)單而又有效的算法:
1. 計算各個(gè)亮度條件下的直方圖和概率
2. 設置初始ωi(0)和μi(0)
3. 逐一計算所有可能的閾值t = 1 … 最高亮度
1. 更新ωi和μi
2. 計算
4. 對應于最大的理想閾值。
采用上述算法,處理所保存的圖像。經(jīng)處理的圖像將保存到另一個(gè)10 Kb陣列中。確定最優(yōu)閾值后,計算出中線(xiàn)(單像素寬線(xiàn))。下一步是從中線(xiàn)中找到結合點(diǎn)。由此得到的坐標值將被輸出至先入先出堆棧。處理每幀圖像的平均用時(shí)約為65毫秒。
處理前
處理后
先入先出緩沖區
利用先入先出循環(huán)緩沖區來(lái)保存圖像處理模塊計算得到的坐標值。然后,伺服電機模塊將利用這些坐標值來(lái)將焊槍移動(dòng)至相應的位置。攝像頭的初始坐標值是0,而焊槍的初始坐標值則是CIRCULAR_BUF_SIZE-1。根據攝像頭與焊槍之間的步數,在匯編時(shí)決定先入先出緩沖區的大小。
伺服電機(焊槍移動(dòng)Y和Z軸)
利用GPTA0和GPTA1中的LTC,生成脈寬調制信號。利用兩個(gè)HS-5645MG伺服電機來(lái)控制焊槍的水平(Y軸)和垂直(Z軸)移動(dòng)。將根據先入先出緩沖區中保存的坐標值,計算出伺服電機需要移動(dòng)的距離。
根據先入先出緩沖區中保存的y坐標值,調節伺服電機0(水平方向)。伺服電機0的步數范圍是-70至65(移動(dòng)距離為63毫米)。伺服電機的步長(cháng)精度為136/63 = 0.46毫米。負值表示朝靠近金屬板方向移動(dòng),正值表示朝遠離金屬板方向移動(dòng)。
伺服電機1(垂直方向)的步數范圍是-85至59(移動(dòng)距離為67.5毫米)。伺服電機的步長(cháng)精度為67.5/145 = 0.46毫米。負值表示焊槍向下移動(dòng),正值表示焊槍向上移動(dòng)。
評論