摘 要:本文介紹了基于機器視覺的輪廓零件自動定位尋位加工方法。該研究在可視化操作平臺上,采用松弛復原圖像,邊緣特征抽取算法,可對任意定位的輪廓零件自動生成數控加工程序。仿真試驗表明,該研究能滿足無夾具數控加工的要求。
關鍵字:機器視覺,邊緣特征,加工軌跡,松弛復原,輪廓零件
[b][align=center]Research of Numerical Control System for Machining without Special Fixture
Based on Machine Vision[/align][/b]
Deng Shaping, Wu Xiaojun, Ding Lijun, Zhang yun
Abstract:This paper introduces a method that the position of outline work parts can be discerned and defined automatically based on machine vision. On the visible operating platform, the image edge of the outline work parts placed any-angle is restarted and its characteristic is abstracted by relaxes recovers algorithm. The machining program of the work parts for numerical control machine can be produced automatically based on the edge characteristic. The simulation experiment shows that the research can satisfy the demand of NC machining without special fixture.
Keywords:machine vision, edge characteristic, process path, relaxes recovers, outline work parts.
1 引言
發達工業國家已將柔性制造系統(FMS)作為機械制造業的主要發展方向,而組合夾具是該領域的前沿研究課題之一[1]。本系統針對輪廓零件,采用機器視覺圖像采集并識別輪廓,直接對任意位姿的工件生成數控加工源程序,實現了數控加工無夾具定位自動尋位加工。在Visual C++ 6.0開發平臺上,該系統實現了圖像采集、自尋位、源代碼生成、模擬走刀全過程。該系統還可預見刀具與工件相撞、過切等問題,能進行參數自動設定、刀具研究、刀具原理數據的動態處理和顯示,加工過程的可視化仿真演示。
2 系統結構
本系統通過600線WAT-902系列黑白CCD和手動光圈CS接口T2314FICS-3百萬像素工業自動化鏡頭對工作臺上任意位姿的工件進行拍攝,然后將視頻模擬信號輸入MV-20工業圖像采集卡(該圖像采集卡具有獨特的視頻濾波技術,高清晰度和顯示速度,4通道切換高質量黑白、彩色圖像),模擬信號被轉化為數字信號,輸入通用PC機進行圖像處理,提取工件輪廓邊緣特征點并以文本格式存儲。
本系統能完成機器視覺系統實現對工作臺上工件位姿的自動采集;結合圖像處理相關算法,進行工件輪廓邊緣特征信息的提取;在Visual C++應用程序的主界面上用二維平面圖形模擬數控機床加工定位及走刀動畫演示;按照提取的工件輪廓將設備坐標轉化為數控機床所能識別的NC語言。
3 機器視覺下工件位姿采集及識別過程
機器視覺系統以計算機為中心,由視覺傳感器、高速圖像采集系統及具有處理圖像功能的專用系統或通用PC機等模塊構成,能自動獲取物體圖像并對其特征量進行處理、分析和測量、定性分析和定量解釋,從而得到有關目標物體的某種認識并做出相應的決策。
3.1 機器視覺系統信息來源
視覺傳感器(CCD)是獲取機器視覺信息的主要來源。CCD表面用T2314FICS-3百萬像素工業自動化鏡頭(手動光圈CS接口)成像,將光能轉化為電壓。當具有適當波長的光量子撞擊裝置的特定材料時,產生一個帶電量子并停留在產生的區域內,在光柵掃描的水平消隱時刻,計算機從新一行的電壓信號編碼上獲得亮度信息,光柵掃描的回掃中產生有效視頻。
3.2 采樣和量化過程
檢測器上的電荷通過一個電阻轉化成電壓并放大,模擬到數字的轉換器實現該信號轉化成數字表示,同時執行采樣和量化兩個功能。由于數字圖像是用光柵掃描及采樣獲取的,因此在時間和空間上是一一對應的,須將采樣信號表示成相對于圖像信號頂部垂直消隱時刻的方式,這種時間關系與屏幕上某個特定位置一一對應。量化過程將像素的灰度變換成離散的整數值的操作,量化位數與圖像質量直接相關。考慮到計算機內操作的方便性,本系統采用8位量化,圖像像素的灰度值在0~255之間。
3.3 圖像生成機制
首先將點(x,y)處的亮度定義成兩個空間變量的理想函數f(x,y),圖像質量退化后得到觀測圖像g(x,y), g(x,y)=D(f(x,y)), 。拍攝靜止的相同物體時,噪聲會隨時隨機出現,且每一個瞬間,噪聲的位置和大小都有所不同。圖像噪聲包括隨機噪聲和相干噪聲。前者表現為麻點干擾,后者表現為網紋干擾。本系統為線性位移不變系統,原始圖像f(x,y)和噪聲圖像n(x,y)都是平穩隨機場,噪聲n(x,y)是均值為0且和f(x,y)不相關的加性噪聲。除了確定性畸變算子D外,還有加性噪聲n的干擾,則線性位移不變圖像退化的一般模型是一個畸變算子D與隨機噪聲相迭加g = D(f)+n,將f、n及g按相同間隔采樣,產生相同的陣列。用像素點的集合表示定義f、n及g,寫成形如[f[sub]1[/sub],f[sub]2[/sub],…,f[sub]N[/sub]][sup]T[/sup]像素列向量的形式。隨后得到觀測圖形g,對f進行最佳估計,即復原(模糊的逆問題),圖像復原處理的主要目的是去除干擾和模糊,恢復圖像的本來面目。選取準則函數:

此函數是與度量有關的噪聲項和與真實圖像有關的先驗項之和,分別取決于觀測數據與未知圖像。將f視為概念上的函數,在采樣點之間賦值,通過插值求解f。接著進行圖像特征抽取。邊緣是圖像中的工件與背景之間的交界,也是圖像灰度及顏色急劇變化的地方。由于傳感元件的低頻特性,工件與背景之間的邊緣存在著模糊部分,灰度變化量小。用逐漸非凸(GNC)方法處理弱隔膜情況,通過對采用針對邊緣的存在的目標函數最小化,即

,找到具有尖銳邊緣的圖像。其中

是圖像在點i上的梯度,li表示了f在第i個像素上的不連續性,其值可從0取到1,當li = 1時,點i處像素即為邊緣點,fi表示第i個像素的亮度。去除不連續性因素,將問題簡化只含有連續變量的情況

算子,返回一個針對圖像局部“邊緣”的標量度量。V函數是GNC算法先驗能量圖中的截頂拋物線,以遞增的方式懲罰圖像中梯度的發生。由于函數

通常為非凸的,可具有多個最小值,無法通過梯度下降等技術實現最小化,故采用如下分段平滑函數來逼進V:

其中t等價于邊緣梯度的大小,C*是一個標量常數

,

。此時結合“退火”的算法,實現對預先先驗形狀的連續的逐步逼近,在采用的GNC方法中,保留了先驗項的原始形狀,當p越小,近似結果越接近理想的先驗能量。隨著p從1下降到0連續地跟蹤局部最小值,平穩地改變V*直至精確逼近V,同時生成一個先驗能量族。在此階段對物體進行度量,提取多個度量值,形成特征向量。這種被精簡的信息,表達了后續理解和匹配的知識。最后在后續處理中經過先腐蝕,再膨脹消除椒鹽噪聲,經過處理,白色孤立點噪聲在腐蝕時被消除。如圖1、圖2、圖3所示:
4 仿真軟件構架
4.1 VC++程序結構及工程文件的建立
4.1.1 界面設計
本研究項目的大多數Visual C++程序都是在該類庫基礎上構造的。為使刀具行為在一個固定大小的區域內被模擬,并在另外的視圖窗口內可同時看到相應的NC語言,選擇切分窗口的同時希望保持視圖間分隔線固定。從CSplitterWnd派生出一個類CFixSPlitterWnd來實現窗體分割,然后通過響應鼠標的WM_MOUSEMOVE、WM_LBUTTONDOWN和WM_SETCURSOR等消息,改變鼠標行為,使其在分割窗體內不再顯示雙箭頭形狀,且不具備拖動功能。自此,窗體的客戶區分為兩個固定的部分,一部分對應AppWizard默認的視圖類,另一部分對應一個新增的表單視圖類CFormView的派生類。
4.1.2 命令及數據的輸入
菜單功能實現命令輸入,在主選單中添加選單命令以打開數據輸入對話框及進行其他操作。打開選單編輯器,插入“選項”選單并在“選項”選單中添加選單選項“文本”、“成型”、“走刀”、“指令”、“刷新”,同時在加速鍵編輯器中建立相應的加速鍵表條目,并賦給與選單選項相同的ID號。程序運行過程中,結合實際使用“文本”、“成型”、“走刀”、“指令”、“刷新”選單選項ENABLE屬性和GRAYED屬性互鎖使得讀入數據后即可形成指令,工件定位后可更換,走刀模擬過程中不可中斷以免資源浪費,走刀完成后刷新即可循環實現等。
通過使用CFileDialog類在程序中嵌入的通用文件對話框,以便實現Windows標準的“打開”對話框,選擇基于機器視覺的圖像采集進行零件的輪廓識別后零件頂點的存儲路徑,然后以相同的模式讀出。
4.1.3 走刀的模式選擇
添加走刀方式對話框資源,編輯對話框。添加標題為“走刀路徑”和“走刀速度”的成組框控件,并分別在其中添加了“內圓加工”、“外圓加工”兩種走刀路徑和“快”、“慢”兩種走刀速度的單選鈕組,大致模擬數控機床加工工件的要求。選擇加工路徑,彈出設置背吃刀量的對話框,設置完成后點擊“開始”按鈕,即開始走刀。
4.2 效果
定時器是按規定時間進行周期調用的一種方法,類似于DOS下的定時中斷。使用CWin::SetTime()函數創建定時器有兩種方式:其一,允許指定靜態函數,在定時器超時的情況下被調用;其二,超時時向調用SetTime()的窗口發送WM_TIMER窗口消息,調用消息處理函數OnTimer()做相應處理。程序在視窗類中的OnOptionsGo()函數中調用定時器設置函數。通過周期調用產生刀頭不斷旋轉和走刀的動畫效果。限于篇幅,消息響應函數不再一一詳述實現過程,相關代碼詳見源程序。
5 結論
本系統采用了執行松弛運算的圖像復原和圖像特征抽取的方法,提高了邊緣檢測的效果,實現了平滑去噪與抑制退化,為圖像分割抽取出更為清晰的特征。該圖像處理軟件在Visual C++6.0的開發平臺下,通過IFS中的圖像訪問子程序開發,并將識別出的工件頂點以固定模式寫入.txt格式的文本中。再以相同模式從該文本中讀出頂點,并在PC機上以軟件模擬仿真硬件的行為,提供的數控機床加工過程與實際加工過程基本一致,可由此預見加工過程中出現的種種問題。所采用的可去除噪聲的GNC算法中,非線性運算是成功的絕對要素,一個線性運算加上后續的適當非線性化,可以計算任意一種映像,這對于GNC算法將用簡單直接的神經元網絡實現有著重要意義。隨著數控機床向柔性化和無人化發展,功能集成化的水平更高地體現在工件自動定位等功能上。
6 本文作者創新點
6.1 本系統采用松弛算法,實踐證實該算法是圖像邊緣檢測的優化算法,抽取出更為清晰的圖像特征,可達到數控加工精度的要求。
6.2 本系統作為數控系統的視覺系統,可實現無夾具定位、刀具自尋位加工及無人診斷,應用于柔性制造系統可大大提高系統實時性,精確性及高效性。
參考文獻
[1].李伯儒等,柔性制造系統中組合夾具研究[D],《先進制造技術論文》,www.e-work.bj.cn.;
[2].孫即祥,圖象處理[M],科學出版社,2004;
[3].王俊修,用VC++.Net實現退化圖像的恢復[J],《微計算機信息》,(2004)04,第82頁.