翟旭軍, 周圣鏵, 王君澤, 張小萍
(1. 江蘇畜牧獸醫(yī)職業(yè)技術(shù)學(xué)院,江蘇 泰州 225300;2. 南通大學(xué)機械工程學(xué)院,江蘇 南通 226019)
隨著數(shù)字化、網(wǎng)絡(luò)化制造技術(shù)的發(fā)展,企業(yè)對機械加工零件的誤差評定已不再滿足于運用一定算法,計算出誤差值進行零件的合格性評判,同時還需要將評定結(jié)果可視化、網(wǎng)絡(luò)化,藉此幫助企業(yè)直觀分析誤差分布規(guī)律和幾何特征、查找誤差產(chǎn)生原因、改進加工工藝并實現(xiàn)資源共享,最終達到保證產(chǎn)品質(zhì)量、提高生產(chǎn)效率、降低生產(chǎn)成本的目的。
對稱度誤差是指實際被測中心要素對其理想要素的變動量。范真等人[1]分析了輪轂槽對稱度誤差的檢測方案,并對其計算公式進行了推導(dǎo)。羅城鋼[2]就采用平板測量技術(shù)用打表法檢測對稱度誤差可能存在被測中心平面相對基準中心平面不滿足對稱配置要求的問題,提出了計算轉(zhuǎn)換的方法或直接測量的方法,避免一些合格被測件誤判為超差。趙小明等人[3]認為單鍵鍵槽對稱度誤差檢測的翻轉(zhuǎn)打表法應(yīng)綜合截面誤差和鍵長誤差結(jié)果,推導(dǎo)了對稱度誤差與截面誤差和鍵長誤差的關(guān)系式。紀小輝等[4]提出了基于光電技術(shù)的對稱度誤差測量方法,提高了測量精度和準確性。Zhao Xiaoming等人[5]將單鍵對稱度誤差測量的翻轉(zhuǎn)打表法擴展,采用幾何方法推導(dǎo)了雙鍵對稱度誤差檢測的計算公式。縱觀已有的文獻資料,關(guān)于對稱度誤差的研究主要集中在檢測手段和檢測工具的改進及創(chuàng)新上,而針對其評定方法以及評定結(jié)果可視化、網(wǎng)絡(luò)化的研究則甚少。
筆者擬以面對面對稱度誤差為例,從最小條件出發(fā),建立其數(shù)學(xué)模型,實現(xiàn)對稱度誤差的精確快速評定,同時借助VRML和Java高級語言在三維可視化平臺上直觀模擬面對面對稱度誤差帶,直觀分析誤差的分布特征,并討論基于網(wǎng)絡(luò)的對稱度誤差評定及其可視化的方法。
根據(jù)GB 1958-2004規(guī)定,定位誤差值用定位最小包容區(qū)域的寬度或直徑表示,而定位最小區(qū)域是指按理想要素的位置來包容實際被測要素時具有最小寬度或最小直徑的包容區(qū)域。如圖1所示,在評定面對面對稱度誤差時,要求實際被測中心平面S的理想平面與基準中心平面A重合。實際被測中心平面上只要有一個點與構(gòu)成包容區(qū)域的兩平行平面中任何一個平面接觸,則該包容區(qū)域就是定位最小區(qū)域,其寬度fu即為符合定義的對稱度誤差值,這樣定位最小區(qū)域的位置唯一確定了。因此,面對面對稱度誤差評定的關(guān)鍵在于基準中心平面的確定。求解時從最小條件準則出發(fā),應(yīng)該以構(gòu)成實際基準中心平面的最小包容區(qū)域的兩平行平面的中間平面作為基準中心平面。
圖1 面對面的對稱度的定位最小區(qū)域
由實際基準中心平面上各個中心點的坐標,根據(jù)最小包容區(qū)域法確定基準中心平面時,應(yīng)符合圖2所示的3種判別準則之一[6]。
圖2 基準中心平面確定準則
在獲得基準中心平面方程后,根據(jù)點到平面的距離公式,計算出實際被測中心平面各測點到基準中心平面的距離,取其中最大值的2倍,即為所求的對稱度誤差值。
從基準中心平面的判別準則不難看出,快速、準確地找到測點中的高極點和低極點是確定基準中心平面的關(guān)鍵所在,也是對稱度誤差評定的關(guān)鍵所在,為了提高評定效率,采用測點分類法首先將測點分為高點、低點和評定無關(guān)點。在判別過程中,高極點只可能在高點集合中產(chǎn)生,低極點只可能在低點集合中產(chǎn)生[7]。這樣就可大大減少測點搜索次數(shù),節(jié)省評判時間。
1.3.1 測點分類法的原理
設(shè)某一平板零件的上表面為被測平面,為了更加直觀的表現(xiàn)出被測平面的形狀,在示意圖中將其z方向的尺寸夸大,測點分布及直角坐標系的建立,如圖3所示。
以 Pij表示被測平面某個測點,若該測點周圍的其它測點均比它高(低),則該測點可歸入低(高)點集合。設(shè)集合Pnj}( j=0~m),將集合 PXZj中某一個元素向 XOZ平面投影,建立如圖4所示直角坐標系,并包容所有測點作凸多邊形,若測點Pij在XOZ平面的投影是凸多邊形的頂點,則該測點為準高點或準低點。拋開凸多邊形頂點中x坐標值最大和最小的兩個點(程序中將它們作為特殊點考慮),若過某頂點相鄰兩邊的斜率是由大到小變化,則該頂點被歸入準高點集合I;反之,若過某頂點相鄰兩邊的斜率是由小到大變化,則該頂點被歸入準低點集合I¢。
既屬于準高點集合I,又屬于準高點集合II的測點稱為高點;既屬于準低點集合I¢,又屬于準低點集合II¢的測點稱為低點;既不是高點,又不是低點的測點為評定無關(guān)點。程序?qū)崿F(xiàn)時,只需在高點和低點集合搜索高極點和低極點,這樣即可大大提高評判效率。
1.3.2 算法實現(xiàn)流程
根據(jù)基準中心平面確定準則以及測點篩選法的原理,設(shè)計對稱度誤差評定流程,如圖5所示。
圖5 對稱度誤差評定流程圖
根據(jù)上述算法只能快速得到準確的誤差評定值并進行合格性評判,但不能直觀、形象地描述誤差的分布規(guī)律和幾何特征,不利于企業(yè)查找誤差產(chǎn)生原因、進行誤差修正和改進加工工藝。為解決上述問題,本文利用可視化技術(shù)與網(wǎng)絡(luò)化技術(shù),將誤差評定結(jié)果在網(wǎng)絡(luò)環(huán)境下進行可視化處理。
在眾多的三維場景實現(xiàn)技術(shù)手段(如OpenGL,Cult3D,3DSMAX等)中,VRML因其具有語法簡單、文件容量小、便于網(wǎng)絡(luò)傳輸及平臺無關(guān)性等優(yōu)點而成為Internet用來描述三維空間的主流語言。故本文選用 VRML作誤差評定結(jié)果三維可視化平臺。然而,僅依靠 VRML語言是難以滿足誤差評定過程中人機交互功能的。因為 VRML語言自身的交互能力有限,尤其是沒有提供接受用戶輸入的接口。所以,系統(tǒng)交互功能的實現(xiàn)必須借助于其它高級語言,如Java。Java是一種功能強大的、跨平臺的網(wǎng)絡(luò)編程語言。利用Java和VRML之間的通信,可有效彌補 VRML的不足,實時構(gòu)建動態(tài)的三維場景。
VRML 2.0使用場景圖(Scene Graph)數(shù)據(jù)結(jié)構(gòu)來建立三維場景,這是以 SGI(Silicon Graphics Inc.)的Open Inventor 3D工具包為基礎(chǔ)的一種數(shù)據(jù)格式,其基本單元被稱為節(jié)點。VRML中幾何體的造型、對象的屬性設(shè)置以及向外界獲取或發(fā)送信息都需要依賴節(jié)點。下面僅對此次評定結(jié)果可視化過程中運用到的主要節(jié)點加以介紹[8]。
1)Shape節(jié)點創(chuàng)建點模型和面模型
Geometry是節(jié)點Shape的一個域,域值指定一個節(jié)點用來定義造型的3D構(gòu)造或幾何構(gòu)造。創(chuàng)建點模型時比較簡單,只需將Geometry域值設(shè)置成Sphere節(jié)點并給出適當域值即可。
Shape {
geometry Sphere {
radius 1 #球的半徑為1個VRML單位
}
}
創(chuàng)建面模型時,首先將Geometry域值設(shè)置成IndexedFaceSet節(jié)點,然后將IndexedFaceSet節(jié)點的 coord域的值設(shè)置成 Coordinate節(jié)點,其可見域 point的值提供一張坐標列表,最后給定IndexedFaceSet節(jié)點的coordIndex域的值,提供面的周界列表。
Shape {
geometry IndexedFaceSet {
coord Coordinate {
point [ …… ]
}
coordIndex [ …… ]
}
}
2)Transform節(jié)點創(chuàng)建新坐標系
在Shape節(jié)點下創(chuàng)建的點模型都是以VRML文件中自動創(chuàng)建的根坐標系原點為中心創(chuàng)建造型的,若不采用Transform節(jié)點創(chuàng)建相對于根坐標系的新坐標系,這些點模型只會在根坐標系原點處重疊,而不會在指定位置建模。Transform節(jié)點中的translation可見域的值指定在根坐標系原點和新坐標系原點之間在X,Y,Z方向的距離。Transform節(jié)點中的children可見域的值包括Shape節(jié)點,這樣就能使得通過Shape節(jié)點創(chuàng)建的點模型平移至所需的位置,繼而生成面模型。
Transform {
translation X Y Z
children [
Shape {……}
]
}
2.3.1 Java與VRML的通信機制簡介
Java與VRML之間的通信主要是為了實現(xiàn)Java程序?qū)RML場景的控制,構(gòu)建實時、動態(tài)的三維虛擬場景。Java對VRML的支持有兩種方式:一是應(yīng)用 Java的腳本創(chuàng)作接口(JavaScript Authoring Interface,JSAI);二是應(yīng)用 Java的外部編程接口(External Authoring Interface,EAI)[9]。前者是運用VRML的Script節(jié)點和 Java對 Script類的繼承來完成 Java與VRML之間的通信;后者作為瀏覽器中 VRML和Java Applet的中介,完成Java與VRML之間的通信。使用Java Applet小應(yīng)用程序在系統(tǒng)界面設(shè)計時顯得較為方便。由于Java不支持多繼承,在繼承了小應(yīng)用程序的 Applet類后就無法再繼承Script類,故本文采用EAI方式實現(xiàn)Java與VRML之間的通信。
2.3.2 Java Applet與VRML的交互原理
VRML與 Java Applet之間的通信是通過將VRML和Java同時嵌入HTML網(wǎng)頁中實現(xiàn)的。VRML幾乎不能與HTML文件進行通信,僅僅是作為一個插件嵌入到網(wǎng)頁中。但VRML場景中使用DEF定義的任何節(jié)點都可以被Java Applet訪問。具體通信過程如下:第一,Java Applet通過getBrowser( )方法和getNode( )方法分別獲得瀏覽器和 VRML場景節(jié)點的引用;第二,運用getEventIn( )方法向節(jié)點發(fā)送入事件,調(diào)用setValue( )方法設(shè)置節(jié)點中的EventIn接口和相關(guān)可見域的域值;運用getEventOut( )方法獲取節(jié)點出事件,調(diào)用 getValue( )方法讀取節(jié)點出事件的值。第三,運用createVrmlFromString( )方法動態(tài)地向VRML場景中的節(jié)點添加新的VRML程序,實現(xiàn)場景的動態(tài)變化。而Java Applet能夠提供友好的人機交互界面,方便用戶參數(shù)輸入。Java Applet和VRML之間的交互原理,如圖6所示。
圖6 Java Applet與VRML交互原理示意圖
表1為一組面對面對稱度誤差的測量數(shù)據(jù)[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。實際基準中心平面的最小區(qū)域包容 面 方 程 為 : -4.00×105x+4.00×105z=0 和-4.00×105x+4.00×1010z-1.60×1011=0,其對應(yīng)的基準中心平面方程為:-4.00×105x+4.00×1010z-8.00×1011=0。文獻[6]中給出基準中心平面的平面度誤差為 4μm,面對面對稱度誤差為 12μm,與本軟件的評定結(jié)果幾乎一樣。從圖7中還能清晰地反映偏離基準中心平面最遠測點所在的位置,只要對該測點進行必要的修復(fù)工作,就能減小面對面對稱度誤差值,提高產(chǎn)品的合格率。
圖7 面對面對稱度誤差評定結(jié)果可視化界面
以面對面的對稱度誤差評定為例,運用網(wǎng)絡(luò)化、可視化技術(shù)直觀地模擬了誤差分布的特征和誤差帶的形狀,能明確指出偏離基準中心平面最大距離測點所在位置,這些都有助于生產(chǎn)實踐中后續(xù)工藝的分析與改進,進而減少零件的誤收和誤廢,降低生產(chǎn)成本,提高產(chǎn)品合格率和生產(chǎn)效率。
[1]范 真, 劉桂玲. 輪轂槽對稱度誤差的測量與正確評定[J]. 計量技術(shù), 2002, (2): 15-17.
[2]羅城鋼. 軸類零件中鍵或鍵槽的對稱度誤差檢測方法[J]. 工具技術(shù), 2004, 38(3): 64-65.
[3]趙小明, 張武坤. 再論單鍵鍵槽對稱度誤差的檢測與計算[J]. 工具技術(shù), 2004, 38(11): 80-82.
[4]紀小輝, 陳 彤. 基于光電技術(shù)的花鍵軸對稱度測量[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]. 北京: 國防工業(yè)出版社, 1995: 53-55, 166-167.
[7]岳 奎. 基于VC環(huán)境下求平面度誤差的編程技術(shù)[J].儀器儀表學(xué)報, 2006, 27(6): 113-114.
[8]Ames A L, Nadeau D R, Moreland J L. VRML資源手冊[M]. 北京: 電子工業(yè)出版社, 1998: 21-25, 53-63,190-192.
[9]王汝傳, 姚旭敏, 王海艷, 等. 基于 Java和 VRML虛擬場景通信方式的研究[J]. 系統(tǒng)仿真學(xué)報, 2003,15(7): 986-990.