翟旭軍, 周圣鏵, 王君澤, 張小萍
(1. 江蘇畜牧獸醫職業技術學院,江蘇 泰州 225300;2. 南通大學機械工程學院,江蘇 南通 226019)
隨著數字化、網絡化制造技術的發展,企業對機械加工零件的誤差評定已不再滿足于運用一定算法,計算出誤差值進行零件的合格性評判,同時還需要將評定結果可視化、網絡化,藉此幫助企業直觀分析誤差分布規律和幾何特征、查找誤差產生原因、改進加工工藝并實現資源共享,最終達到保證產品質量、提高生產效率、降低生產成本的目的。
對稱度誤差是指實際被測中心要素對其理想要素的變動量。范真等人[1]分析了輪轂槽對稱度誤差的檢測方案,并對其計算公式進行了推導。羅城鋼[2]就采用平板測量技術用打表法檢測對稱度誤差可能存在被測中心平面相對基準中心平面不滿足對稱配置要求的問題,提出了計算轉換的方法或直接測量的方法,避免一些合格被測件誤判為超差。趙小明等人[3]認為單鍵鍵槽對稱度誤差檢測的翻轉打表法應綜合截面誤差和鍵長誤差結果,推導了對稱度誤差與截面誤差和鍵長誤差的關系式。紀小輝等[4]提出了基于光電技術的對稱度誤差測量方法,提高了測量精度和準確性。Zhao Xiaoming等人[5]將單鍵對稱度誤差測量的翻轉打表法擴展,采用幾何方法推導了雙鍵對稱度誤差檢測的計算公式。縱觀已有的文獻資料,關于對稱度誤差的研究主要集中在檢測手段和檢測工具的改進及創新上,而針對其評定方法以及評定結果可視化、網絡化的研究則甚少。
筆者擬以面對面對稱度誤差為例,從最小條件出發,建立其數學模型,實現對稱度誤差的精確快速評定,同時借助VRML和Java高級語言在三維可視化平臺上直觀模擬面對面對稱度誤差帶,直觀分析誤差的分布特征,并討論基于網絡的對稱度誤差評定及其可視化的方法。
根據GB 1958-2004規定,定位誤差值用定位最小包容區域的寬度或直徑表示,而定位最小區域是指按理想要素的位置來包容實際被測要素時具有最小寬度或最小直徑的包容區域。如圖1所示,在評定面對面對稱度誤差時,要求實際被測中心平面S的理想平面與基準中心平面A重合。實際被測中心平面上只要有一個點與構成包容區域的兩平行平面中任何一個平面接觸,則該包容區域就是定位最小區域,其寬度fu即為符合定義的對稱度誤差值,這樣定位最小區域的位置唯一確定了。因此,面對面對稱度誤差評定的關鍵在于基準中心平面的確定。求解時從最小條件準則出發,應該以構成實際基準中心平面的最小包容區域的兩平行平面的中間平面作為基準中心平面。

圖1 面對面的對稱度的定位最小區域
由實際基準中心平面上各個中心點的坐標,根據最小包容區域法確定基準中心平面時,應符合圖2所示的3種判別準則之一[6]。

圖2 基準中心平面確定準則
在獲得基準中心平面方程后,根據點到平面的距離公式,計算出實際被測中心平面各測點到基準中心平面的距離,取其中最大值的2倍,即為所求的對稱度誤差值。
從基準中心平面的判別準則不難看出,快速、準確地找到測點中的高極點和低極點是確定基準中心平面的關鍵所在,也是對稱度誤差評定的關鍵所在,為了提高評定效率,采用測點分類法首先將測點分為高點、低點和評定無關點。在判別過程中,高極點只可能在高點集合中產生,低極點只可能在低點集合中產生[7]。這樣就可大大減少測點搜索次數,節省評判時間。
1.3.1 測點分類法的原理
設某一平板零件的上表面為被測平面,為了更加直觀的表現出被測平面的形狀,在示意圖中將其z方向的尺寸夸大,測點分布及直角坐標系的建立,如圖3所示。
以 Pij表示被測平面某個測點,若該測點周圍的其它測點均比它高(低),則該測點可歸入低(高)點集合。設集合Pnj}( j=0~m),將集合 PXZj中某一個元素向 XOZ平面投影,建立如圖4所示直角坐標系,并包容所有測點作凸多邊形,若測點Pij在XOZ平面的投影是凸多邊形的頂點,則該測點為準高點或準低點。拋開凸多邊形頂點中x坐標值最大和最小的兩個點(程序中將它們作為特殊點考慮),若過某頂點相鄰兩邊的斜率是由大到小變化,則該頂點被歸入準高點集合I;反之,若過某頂點相鄰兩邊的斜率是由小到大變化,則該頂點被歸入準低點集合I¢。
既屬于準高點集合I,又屬于準高點集合II的測點稱為高點;既屬于準低點集合I¢,又屬于準低點集合II¢的測點稱為低點;既不是高點,又不是低點的測點為評定無關點。程序實現時,只需在高點和低點集合搜索高極點和低極點,這樣即可大大提高評判效率。
1.3.2 算法實現流程
根據基準中心平面確定準則以及測點篩選法的原理,設計對稱度誤差評定流程,如圖5所示。

圖5 對稱度誤差評定流程圖
根據上述算法只能快速得到準確的誤差評定值并進行合格性評判,但不能直觀、形象地描述誤差的分布規律和幾何特征,不利于企業查找誤差產生原因、進行誤差修正和改進加工工藝。為解決上述問題,本文利用可視化技術與網絡化技術,將誤差評定結果在網絡環境下進行可視化處理。
在眾多的三維場景實現技術手段(如OpenGL,Cult3D,3DSMAX等)中,VRML因其具有語法簡單、文件容量小、便于網絡傳輸及平臺無關性等優點而成為Internet用來描述三維空間的主流語言。故本文選用 VRML作誤差評定結果三維可視化平臺。然而,僅依靠 VRML語言是難以滿足誤差評定過程中人機交互功能的。因為 VRML語言自身的交互能力有限,尤其是沒有提供接受用戶輸入的接口。所以,系統交互功能的實現必須借助于其它高級語言,如Java。Java是一種功能強大的、跨平臺的網絡編程語言。利用Java和VRML之間的通信,可有效彌補 VRML的不足,實時構建動態的三維場景。
VRML 2.0使用場景圖(Scene Graph)數據結構來建立三維場景,這是以 SGI(Silicon Graphics Inc.)的Open Inventor 3D工具包為基礎的一種數據格式,其基本單元被稱為節點。VRML中幾何體的造型、對象的屬性設置以及向外界獲取或發送信息都需要依賴節點。下面僅對此次評定結果可視化過程中運用到的主要節點加以介紹[8]。
1)Shape節點創建點模型和面模型
Geometry是節點Shape的一個域,域值指定一個節點用來定義造型的3D構造或幾何構造。創建點模型時比較簡單,只需將Geometry域值設置成Sphere節點并給出適當域值即可。
Shape {
geometry Sphere {
radius 1 #球的半徑為1個VRML單位
}
}
創建面模型時,首先將Geometry域值設置成IndexedFaceSet節點,然后將IndexedFaceSet節點的 coord域的值設置成 Coordinate節點,其可見域 point的值提供一張坐標列表,最后給定IndexedFaceSet節點的coordIndex域的值,提供面的周界列表。
Shape {
geometry IndexedFaceSet {
coord Coordinate {
point [ …… ]
}
coordIndex [ …… ]
}
}
2)Transform節點創建新坐標系
在Shape節點下創建的點模型都是以VRML文件中自動創建的根坐標系原點為中心創建造型的,若不采用Transform節點創建相對于根坐標系的新坐標系,這些點模型只會在根坐標系原點處重疊,而不會在指定位置建模。Transform節點中的translation可見域的值指定在根坐標系原點和新坐標系原點之間在X,Y,Z方向的距離。Transform節點中的children可見域的值包括Shape節點,這樣就能使得通過Shape節點創建的點模型平移至所需的位置,繼而生成面模型。
Transform {
translation X Y Z
children [
Shape {……}
]
}
2.3.1 Java與VRML的通信機制簡介
Java與VRML之間的通信主要是為了實現Java程序對VRML場景的控制,構建實時、動態的三維虛擬場景。Java對VRML的支持有兩種方式:一是應用 Java的腳本創作接口(JavaScript Authoring Interface,JSAI);二是應用 Java的外部編程接口(External Authoring Interface,EAI)[9]。前者是運用VRML的Script節點和 Java對 Script類的繼承來完成 Java與VRML之間的通信;后者作為瀏覽器中 VRML和Java Applet的中介,完成Java與VRML之間的通信。使用Java Applet小應用程序在系統界面設計時顯得較為方便。由于Java不支持多繼承,在繼承了小應用程序的 Applet類后就無法再繼承Script類,故本文采用EAI方式實現Java與VRML之間的通信。
2.3.2 Java Applet與VRML的交互原理
VRML與 Java Applet之間的通信是通過將VRML和Java同時嵌入HTML網頁中實現的。VRML幾乎不能與HTML文件進行通信,僅僅是作為一個插件嵌入到網頁中。但VRML場景中使用DEF定義的任何節點都可以被Java Applet訪問。具體通信過程如下:第一,Java Applet通過getBrowser( )方法和getNode( )方法分別獲得瀏覽器和 VRML場景節點的引用;第二,運用getEventIn( )方法向節點發送入事件,調用setValue( )方法設置節點中的EventIn接口和相關可見域的域值;運用getEventOut( )方法獲取節點出事件,調用 getValue( )方法讀取節點出事件的值。第三,運用createVrmlFromString( )方法動態地向VRML場景中的節點添加新的VRML程序,實現場景的動態變化。而Java Applet能夠提供友好的人機交互界面,方便用戶參數輸入。Java Applet和VRML之間的交互原理,如圖6所示。

圖6 Java Applet與VRML交互原理示意圖
表1為一組面對面對稱度誤差的測量數據[6],i為測點在x方向的序號,j為測點在y方向的序號,測點在x和y方向的步距為100mm。

表1 按直角坐標系測得各測點M(i,j)和N(i,j)的坐標值
按上述介紹的算法進行評定,實際基準中心平面的平面度誤差為3.99μm,面對面的對稱度誤差為12.00μm。如圖7所示,實際被測中心平面上點(500,0,35.402),即實際被測表面點 M(5,0)和點 N(5,0)的連線的中點到基準中心平面的距離最大為6.00μm。實際基準中心平面的最小區域包容 面 方 程 為 : -4.00×105x+4.00×105z=0 和-4.00×105x+4.00×1010z-1.60×1011=0,其對應的基準中心平面方程為:-4.00×105x+4.00×1010z-8.00×1011=0。文獻[6]中給出基準中心平面的平面度誤差為 4μm,面對面對稱度誤差為 12μm,與本軟件的評定結果幾乎一樣。從圖7中還能清晰地反映偏離基準中心平面最遠測點所在的位置,只要對該測點進行必要的修復工作,就能減小面對面對稱度誤差值,提高產品的合格率。

圖7 面對面對稱度誤差評定結果可視化界面
以面對面的對稱度誤差評定為例,運用網絡化、可視化技術直觀地模擬了誤差分布的特征和誤差帶的形狀,能明確指出偏離基準中心平面最大距離測點所在位置,這些都有助于生產實踐中后續工藝的分析與改進,進而減少零件的誤收和誤廢,降低生產成本,提高產品合格率和生產效率。
[1]范 真, 劉桂玲. 輪轂槽對稱度誤差的測量與正確評定[J]. 計量技術, 2002, (2): 15-17.
[2]羅城鋼. 軸類零件中鍵或鍵槽的對稱度誤差檢測方法[J]. 工具技術, 2004, 38(3): 64-65.
[3]趙小明, 張武坤. 再論單鍵鍵槽對稱度誤差的檢測與計算[J]. 工具技術, 2004, 38(11): 80-82.
[4]紀小輝, 陳 彤. 基于光電技術的花鍵軸對稱度測量[J]. 煤礦機械, 2009, 30(1): 198-200.
[5]Zhao Xiaoming, Feng Yun. Measurement method for the symmetry error of double keyway in a shaft [C]//International Conference on Electrical and Control Engineering (ICECE). Wuhan, China: IEEE Computer Society, 2010: 1257-1259.
[6]甘永立. 形狀和位置誤差檢測[M]. 北京: 國防工業出版社, 1995: 53-55, 166-167.
[7]岳 奎. 基于VC環境下求平面度誤差的編程技術[J].儀器儀表學報, 2006, 27(6): 113-114.
[8]Ames A L, Nadeau D R, Moreland J L. VRML資源手冊[M]. 北京: 電子工業出版社, 1998: 21-25, 53-63,190-192.
[9]王汝傳, 姚旭敏, 王海艷, 等. 基于 Java和 VRML虛擬場景通信方式的研究[J]. 系統仿真學報, 2003,15(7): 986-990.