專利名稱:曲面檢測系統及方法
技術領域:
本發明涉及一種三維量測系統及方法,尤其是關于一種曲面檢測系統及方法。
背景技術:
三坐標測量機是在工業、科研中被廣泛應用于對產品進行測量的一種測量裝置,一般的測量方法是將被測物件置于三坐標測量空間,利用三坐標測量機的接觸探頭沿被測物件的表面經過編程的路徑逐點捕捉數據,根據捕捉的數據分析被測物件的曲面品質。然而,隨著產品曲面造型越來越復雜,如手機、MP3、 MP4,傳統的測量方法獲得的測量數據很難反映曲面的真實情況,測量速度慢且效率較低。
發明內容
鑒于以上內容,有必要提供一種曲面檢測系統及方法,能夠對復雜曲面進行檢測,提高曲面檢測效率及精度。 —種曲面檢測系統,運行于計算機。所述計算機執行該曲面檢測系統從數據庫接收曲面數據和點云數據,接收用戶的公差設置和顏色設置信息,根據接收的曲面數據與點云數據將點云與曲面對齊,根據對齊后的曲面數據和點云數據計算點云中的各點到曲面的最近距離,確定各最近距離所對應的曲面上的各三角形,根據各最近距離所落入的公差區間用相應顏色標示該曲面上的各三角形。此外,所述計算機執行該曲面檢測系統對曲面的顏色進行均衡處理,并依據均衡處理后的曲面數據生成檢測報告。 —種曲面檢測方法,該方法包括以下步驟(a)接收物件CAD模型的三角網格曲面數據及掃描物件得到的點云數據;(b)將所述點云與所述三角網格曲面對齊;(c)接收公差設置信息及顏色設置信息,包括允許的最大正公差值、允許的最小負公差值、公差的分段區間及不同公差區間的顏色值;(d)根據對齊后的三角網格曲面數據及點云數據計算對齊后點云中各點到三角網格曲面的最近距離,所述最近距離稱作原始最近距離;(e)根據各原始最近距離確定與點云中各點距離最近的三角網格曲面上的三角形;(f)根據各原始最近距離所屬公差區間得到各三角形的原始顏色值,將該各原始最近距離及各原始顏色值儲存至三角網格曲面上相應三角形的數據結構;(g)根據三角網格曲面上三角形的數據結構中的原始最近距離、原始顏色值及用戶設置的向三角形周圍擴展的層數對三角網格曲面進行顏色均衡處理,計算各三角形的均衡最近距離及均衡顏色值;及(h)分析顏色均衡后的三角網格曲面數據,生成三角網格曲面檢測報告。 相較于傳統的三坐標量測機的測量系統及方法,本發明提供的曲面檢測系統及方法可根據掃描物件得到的實際點云的點與物件的CAD模型的三角網格曲面的最近距離所屬的不同公差分段區間用不同顏色標示CAD模型的三角網格曲面,并對CAD模型的三角網格曲面加以適當的顏色均衡處理,分析顏色均衡后的三角曲面數據并生成直觀的檢測報告,提高了對復雜曲面進行檢測的精度和 度。
圖1是本發明曲面檢測系統較佳實施例的應用環境圖。
圖2是本發明曲面檢測方法較佳實施例的主流程圖。
圖3是圖2中步驟S107的細化流程圖。
圖4是圖3中步驟S202的細化流程圖。 圖5是圖2中步驟S108分析顏色均衡后的曲面數據,生成檢測報告的一種方法的細化流程圖。 圖6是圖2中步驟S108分析顏色均衡后的曲面數據,生成檢測報告的另一種方法的細化流程圖。 圖7是圖3中步驟S204根據三角形的頂點得到該三角形周圍的一層三角形的示意圖。 圖8是圖5中生成量測趨勢線的示意圖。
具體實施例方式
如圖1所示,是本發明曲面檢測系統較佳實施例的應用環境圖。所述曲面檢測系
統200安裝并運行于計算機20。該計算機20與數據庫10顯示設備30相連接。 數據庫IO用于儲存物件的標準CAD模型的三角網格曲面數據(以下簡稱曲面數
據)、掃描物件得到的實際點云數據(以下簡稱點云數據)以及曲面檢測過程中產生的數據。 計算機20執行該曲面檢測系統200從數據庫10接收曲面數據和點云數據,接收用戶的公差設置和顏色設置信息,根據接收的曲面數據與點云數據將點云與曲面對齊,根據對齊后的曲面數據和點云數據計算點云中的各點到曲面的最近距離,確定各最近距離所對應的曲面上的各三角形,根據各最近距離所落入的公差區間用相應顏色標示該曲面上的各三角形。此外,計算機20還用于執行該曲面檢測系統200對曲面的顏色進行均衡處理,并依據均衡處理后的曲面數據生成檢測報告。 在對實際物件進行掃描時,由于光線或其它原因,有些部位可能沒有掃描到點,有些掃描得到的點誤差較大,對曲面的顏色進行均衡處理的目的是為了過濾掉點云中的個別誤差點、對沒有掃描到點的地方用周圍的點來平衡,降低在對曲面進行檢測過程中由于掃描誤差而導致的誤差。 顯示設備30提供一顯示界面用于顯示三角網格曲面、掃描物件得到的點云、利用
該系統對曲面進行檢測得到的不同顏色標示的曲面和檢測報告。 如圖2所示,是本發明曲面檢測方法較佳實施例的主流程圖。 首先,步驟S101,接收用戶從數據庫IO導入的曲面數據和點云數據。 步驟S102,根據接收的曲面數據與點云數據將點云與曲面對齊。 步驟S103,接收公差設置信息及顏色設置信息。于本實施例中,公差指的是點云
與曲面對齊后點云中的點到曲面的最近距離的值的波動范圍。所述公差設置信息包括允
許的最大正公差值(如0. 350)、允許的最下負公差值(如-0. 350)及公差的分段區間,如
將允許的最大正公差值與允許的最小負公差值確定的區間
分成若干個公
差區間[-0. 350,-0. 300], [-0. 300,-0. 250],…,
,
。所述顏色設置信息包括不同公差區間的顏色,如公差區間[-0.350, -0.300]的顏色為深藍,公差區間[-0. 300,-0. 250]的顏色為天藍,公差區間
的顏色為粉紅,公差區間
的顏色為深紅,大于允許的最大正公差值的區間
的顏色為紫色,小于允許的最小負公差值的區間[_°°,-0.350]的顏色為咖啡色。
步驟S104,根據對齊后的曲面數據和點云數據計算對齊后點云中各點到該曲面的最近距離,各最近距離稱作原始最近距離。所述對齊后的曲面數據包括對齊后曲面上所有三角形的信息和曲面上所有三角形頂點的信息。各三角形的信息儲存于相應三角形的數據結構,各頂點的信息儲存于相應頂點的數據結構。曲面上所有三角形的數據結構組成一個隊列,該隊列稱作標記隊列;曲面上所有三角形頂點的數據結構組成另一個隊列,該隊列稱作頂點隊列。每一個三角形的數據結構用于存儲該三角形在該標記隊列中的標記信息,該三角形三個頂點的連接順序,該三個頂點在頂點隊列中的標記信息,該三角形的原始最近距離值及原始顏色值、均衡最近距離及均衡顏色值,以及該三角形所在平面的法向量。每一個頂點的數據結構用于存儲該頂點的坐標值、該頂點在頂點隊列中的標記信息以及以該頂點為頂點的三角形所述標記隊列中的標記信息。 步驟S105,根據各原始最近距離得到與各點距離最近的曲面上的三角形。為簡
潔起見,下文中稱與各最近距離相應的點云中的點落入與各最近距離對應的曲面上的三角
形,例如點云中的點Al與曲面上的三角形al距離最近,則稱點Al落入三角形al。 步驟S106,根據各原始最近距離所落入的公差分段區間得到各三角形的顏色值,
各顏色值稱作原始顏色值,并將各原始最近距離及各原始顏色值寫入相應三角形的數據結
構。各原始最近距離及各原始顏色值也稱作各相應三角形的原始最近距離及原始顏色值。 步驟S107,對曲面進行顏色均衡,包括根據用戶設置的對曲面進行顏色均衡時
曲面上三角形向外擴展的層數N、各三角形的原始最近距離及原始顏色值重新計算得到各
三角形的均衡最近距離,根據各均衡最近距離得到各三角形的均衡顏色值,將各均衡最近
距離及各均衡顏色值寫入相應三角形的數據結構(具體介紹請參見圖3)。 步驟S108,分析顏色均衡后的曲面數據,生成曲面檢測報告。 如圖3所示,是圖2中步驟S107的細化流程圖。首先,在步驟S201,接收用戶設置
的三角形向外擴展的層數N。三角形向外擴展的層數N指的是取一個三角形周圍的N層三
角形,以該N層三角形的平均最近距離表示點云與該三角形的最近距離。 步驟S202,初始化曲面上三角形的標記隊列和頂點隊列,將各三角形在標記隊列
中的標記信息寫入頂點隊列中相應頂點的數據結構(具體介紹請參見圖4)。 步驟S203,從三角形標記隊列中取出一個三角形(為方便區分,以下稱該三角形
為種子三角形)的數據結構,如圖7中的種子三角形(1)。 步驟S204,根據該種子三角形的數據結構中儲存的該種子三角形各頂點在頂點隊列中的標記信息從頂點隊列中獲取該種子三角形各頂點的數據結構,根據各頂點的數據結構中儲存的信息得到該種子三角形周圍的N層三角形。如圖7所示,由種子三角形(1)的頂點A、B、C得到種子三角形(1)周圍的第一層三角形,由該第一層三角形的各頂點可以得到第二層三角形,依次類推,直到得到種子三角形(1)的N層三角形。 步驟S205,檢查該N層三角形中是否有三角形中沒有點云中的點落入的點,仍舊以圖7為例說明,假設N二 l,則由種子三角形(1)的頂點A、B、C可以得到12個三角形,這
7入,如三角形(2)、 (3)、 (5)、 (7)、 (8)、 (9)、 (10)、 (12),也可能沒有點云中的點落入(因為掃描時未掃描到點),如三角形(4)、 (6)、 (11)、 (13)。
在步驟S205,若判斷N層三角形中都有點云中的點落入,則直接進入步驟S207。
在步驟S205,若判斷N層三角形中有三角形中沒有點云中的點落入,則進入步驟S206,將該種子三角形的數據結構中的原始最近距離值暫時借給該三角形,例如將種子三角形(1)的原始最近距離值暫時借給三角形(4)、 (6)、 (11)、 (13)。 步驟S207,計算該種子三角形周圍的N層三角形的原始最近距離值的平均值,以該平均值作為該種子三角形的均衡最近距離值。 步驟S208,檢查曲面上是否還有三角形未充當過種子三角形。 在步驟S208,若判斷還有三角形未充當過種子三角形,則流程返回步驟S203,直
到得到曲面上所有三角形的均衡最近距離。需要注意的是,N的取值范圍不能過大(最好
不大于5),否則對曲面進行顏色均衡可能導致較大誤差。 如圖4所示,是圖3中步驟S202的細化流程圖。 步驟S301,獲取曲面上三角形的頂點隊列和標記隊列。如頂點隊列[(XO,YO,ZO), (X1,Y1,Z1), (X2,Y2,Z2), (X3, Y3, Z3),…,(Xn, Yn, Zn)],其中n為整數,表示頂點隊列中的第n個頂點;標記隊列[(1)-一>(0,1,2), (2)—->(2,1,3)(3)—>(1,4,3),…,(m)-—〉(ml, m2, m3)]。為方便理解,上述標記隊列省略了三角形的原始距離值及原始顏色值、均衡最近距離及均衡顏色值,以及該三角形所在平面的法向量。其中,(1) 、 (2) 、 (3) , (m)分別表示該三角形為標記隊列中的第1、2、3、m個三角形。(0,1,2)表示三角形(1)的三個頂點分別是頂點隊列中的第0、1、2個頂點(X0, Y0,Z0) (X1,Y1,Z1),及(X2, Y2, Z2) 。 (2,1,3)表示三角形(2)的三個頂點分別是頂點隊列中的第2、1、3個頂點(X2,Y2,Z2), (Xl,Y1,Z1),及(X3,Y3,Z3)。 (1,4,3)表示三角形(3)的三個頂點分別是頂點隊列中的第1、4、3個頂點(XI, Yl, Zl) , (X4, Y4, Z4),及(X3, Y3, Z3)。 步驟S302,從標記隊列中取出一個三角形,如三角形(1)一->(0,1,2)。
步驟S303,根據該三角形三個頂點的標記信息將該三角形在標記隊列中的標記加入到頂點隊列中相應頂點的數據結構,如在頂點隊列中第O個頂點(X0,Y0,Z0)中加入三角形標記(l),第l個頂點(X1,Y1,Z1)中加入三角形標記(1),第2個頂點(X2,Y2,Z2)中加入三角形標記(1)。 步驟S304,檢查是否還有三角形在標記對列中的標記信息未被加入到頂點隊列中相應頂點的數據結構。若還有三角形在標記隊列中的標記信息未都被加入到頂點隊列中相應頂點的數據結構,則對該三角形自步驟S302開始重復流程直到標記隊列中所有三角形的標記信息都加入到頂點對列中相應頂點的數據結構,流程結束,如在(X2, Y2, Z2)中加入三角形標記(2), (X1,Y1,Z1)中加入三角形標記(2), (X3,Y3,Z3)中加入三角形標記(2);在(X1,Y1,Z1)中加入三角形標記(3), (X4,Y4,Z4)中加入三角形標記數(3), (X3,Y3,Z3)中加入三角形標記(3),這樣(X2,Y2,Z2)中增加了三角形標記(l),變為(X2,Y2,Z2, (l));頂點(X1,Y1,Z1)中增加了三角形標記(1)、 (2)、 (3),變為(X1,Y1,Z1, (1), (2), (3));頂點(X2,Y2,Z2)中增加了三角形標記(D、(2),變為(X2,Y2,Z2, (1), (2))頂點(X3,Y3,Z3)增加了三角形標記(2)、 (3),變為(X3,Y3,Z3, (2), (3)),通過查找頂點即可查找到該頂點所在的所有三角形。
8
如圖5所示,是圖2中步驟S108分析顏色均衡后的曲面數據、生成檢測報告的一 種方法的細化流程圖。 步驟S401,獲取三角形的標記隊列及公差設置中的允許的最大正公差值、允許的 最小負公差值。 步驟S402,從標記隊列中取出一個三角形(記該三角形為三角形B)的數據結構, 根據該數據結構中儲存的該三角形B三個頂點的標記信息從頂點隊列中獲取該三角形B的 三個頂點的數據結構,從各頂點的數據結構中得到各頂點的坐標值。 步驟S403,根據該三角形B的三個頂點坐標值計算得到該三角形B中心點的坐標 值,如(xl, yl, zl)。 步驟S404,根據該三角形B的中心點的坐標值及允許的最大正公差值、允許的最 小負公差值計算得到該三角形B的上公差三角形、下公差三角形的頂點坐標值。
步驟S405,根據該三角形B中心點的坐標值、該三角形B所在平面的向量(如 normal
, normal [1] , normal [2])及該三角形B的均衡最近距離值(如d)計算得到該三 角形B的量測點坐標值(x2, y2, z2), x2 = normal
*d+xl, y2 = normal [l]*d+yl, z2 = normal[2]氺d+zl。 步驟S406,連接該三角形B的中心點(xl,yl,zl)及量測點(x2,y2,z2)得到該三 角形B的量測趨勢線。 步驟S407,判斷三角形標記隊列中是否還有三角形未生成量測趨勢線。若還有三 角形未生成量測趨勢線,則自步驟S402開始重復流程直到三角形標記隊列中所有三角形 都生成量測趨勢線后進入步驟S408,輸出曲面的量測趨勢線圖示。 如圖8是圖5中生成量測趨勢線的圖示。曲面上所有三角形的上、下公差三角形 組成曲面的上、下公差曲面,若量測趨勢線伸出上、下公差曲面,則表明該量測趨勢線所對 應的三角形平面的誤差超出了允許的誤差范圍。 如圖6所示,是圖2中步驟S108分析顏色均衡后的曲面數據、生成檢測報告的另 一種方法的細化流程圖。 步驟S501,輸入各公差分段區間的取值范圍,如0. 300-0. 350。
步驟S502,獲取各公差分段區間內均衡最近距離的數量。 步驟S503,計算各公差分段區間內均衡最近距離的數量與曲面上所有均衡最近距 離數量的百分比。 步驟S504輸出比例圖。用戶可根據需要選擇以直方圖、柱形圖、餅圖或其它圖式 輸出所述比例圖。 對于圖2中步驟S108分析顏色均衡后的曲面數據、生成檢測報告的方法還可用
數據報表的形式,如計算并輸出均衡最近距離的平均平方和,^~^-^總平均距離
<formula>formula see original document page 9</formula><formula>formula see original document page 10</formula>
其中,nl為均衡最近距離值的總數量,ml
1
為均衡最近距離值大于等于0的個數,k為均衡最近距離值小于0的個數,nl = ml+k。
權利要求
一種曲面檢測方法,其特征在于,該方法包括以下步驟(a)從數據庫接收物件CAD模型的三角網格曲面數據及掃描物件得到的點云數據;(b)根據所述三角網格曲面數據及點云數據將點云與三角網格曲面對齊;(c)接收公差設置信息及顏色設置信息,包括允許的最大正公差值、允許的最小負公差值及不同公差分段區間的顏色值;(d)計算對齊后點云中各點到三角網格曲面的最近距離,各最近距離稱作原始最近距離;(e)根據各原始最近距離確定三角網格曲面上與點云中各點距離最近的三角形;(f)根據各原始最近距離所屬公差分段區間得到各三角形的原始顏色值,將該各原始最近距離及各原始顏色值儲存至相應三角形的數據結構;(g)根據各三角形的數據結構中的原始最近距離、原始顏色值及用戶設置的向三角形周圍擴展的層數對三角網格曲面進行顏色均衡處理,計算得到各三角形的均衡最近距離及均衡顏色值;及(h)分析顏色均衡后的三角網格曲面數據,生成三角網格曲面檢測報告。
2. 如權利要求1所述的曲面檢測方法,其特征在于,其中步驟(g)包括以下步驟 (gl)接收用戶設置的對三角形進行顏色均衡時向三角形周圍擴展的層數N, N為正整數;(g2)初始化三角網格曲面上所有三角形的標記隊列和頂點隊列,將標記隊列中各三角 形數據結構中儲存的該三角形在標記隊列中的標記信息寫入頂點隊列中相應頂點的數據 結構;(g3)從標記隊列中獲取一個三角形的數據結構,記該三角形為三角形A ;(g4)根據該三角形A的數據結構中儲存的該三角形A各頂點在頂點隊列中的標記信息 從頂點隊列中獲取該三角形A各頂點的數據結構,根據各頂點的數據結構中儲存的信息得 到該三角形A周圍的N層三角形;(g5)判斷該N層三角形中是否每個三角形的數據結構中都有原始最近距離值;(g6)若該N層三角形中每個三角形都有的數據結構中都有原始最近距離值,則計算該 N層三角形的所有原始最近距離值的平均值,稱該平均值作為該三角形A的均衡最近距離 值,根據該均衡最近距離值所屬公差分段區間得到該三角形A的均衡顏色值,將該均衡最 近距離值及均衡顏色值寫入該三角形A的數據結構;(g7)判斷曲面上是否還有三角形未計算均衡最近距離;及(g8)若曲面上還有三角形未計算均衡最近距離,則返回從三角形標記隊列中獲取三角 形的步驟。
3. 如權利要求2所述的曲面檢測方法,其特征在于,若步驟(g5)判斷該N層三角形中 有三角形的數據結構中無原始最近距離值,則執行以下步驟將該三角形A的原始最近距離值暫時借給數據結構中無原始最近距離值的三角形;及轉入計算該N層三角形的平均最近距離的步驟。
4. 如權利要求2所述的曲面檢測方法,其特征在于,其中步驟(g2)包括以下步驟 獲取所有三角形的頂點隊列和標記隊列; 從標記隊列中取出一個三角形的數據結構;根據該數據結構中儲存的該三角形三個頂點的標記信息將該三角形在標記隊列中的 標記信息寫入頂點隊列中相應頂點的數據結構;判斷是否還有三角形在標記隊列中的標記信息未寫入頂點隊列中相應頂點的數據結 構;及若還有三角形在標記隊列中的標記信息未寫入頂點隊列中相應頂點的數據結構,則返 回從標記隊列中取三角形的步驟。
5. 如權利要求2所述的曲面檢測方法,其特征在于,所述頂點隊列包括曲面上各三角 形每個頂點的數據結構,各頂點的數據結構中儲存了該頂點在頂點隊列中的標記和該頂點 的坐標信息;所述標記隊列包括曲面上各三角形的數據結構,各三角形的數據結構中儲存 了該三角形在標記隊列中的標記信息,該三角形三個頂點在頂點隊列中的標記,該三角形 的原始最近距離值和原始顏色值、均衡最近距離值和均衡顏色值,以及該三角形所在平面 的法向量。
6. 如權利要求1所述的曲面檢測方法,其特征在于,其中步驟(h)包括以下步驟 獲取三角形的標記隊列及公差設置中允許的最大正公差值、允許的最小負公差值; 從標記隊列取出一個三角形的數據結構,根據該數據結構中儲存的該三角形各頂點的標記信息從頂點隊列中獲取該三角形各頂點的數據結構,從各頂點的數據結構中得到各頂 點的坐標值;根據該三角形的各頂點坐標值計算該三角形中心點的坐標值;根據該三角形的中心點的坐標值及允許的最大正公差值、允許的最小負公差值計算得 到該三角形的上、下公差三角形的頂點坐標值;根據該三角形中心點的坐標值、三角形所在平面的法向量及該三角形的均衡最近距離 值計算該三角形的量測點坐標值;連接該三角形的中心點與量測點,得到該三角形的量測趨勢線;判斷是否還有三角形未生成量測趨勢線;及若所有三角形都已生成量測趨勢線,則輸出曲面的量測趨勢線圖,若還有三角形未生 成量測趨勢線,則返回從標記隊列取三角形數據結構的步驟。
7. 如權利要求1所述的曲面檢測方法,其特征在于,其中步驟(h)包括以下步驟 輸入各公差分段區間的取值范圍; 獲取各公差分段區間中均衡最近距離值的數量;計算各公差分段區間均衡最近距離值的數量占所有均衡最近距離數量的百分比;及 輸出比例圖。
8. —種曲面檢測系統,運行于計算機,其特征在于,該曲面檢測系統用于 從數據庫接收曲面數據和點云數據;接收用戶的公差設置和顏色設置信息,包括公差的分段區間及不同公差區間對應的顏 色值;根據接收的曲面數據與點云數據將點云與曲面對齊; 根據對齊后的曲面數據和點云數據計算點云中各點到曲面的最近距離; 確定各最近距離所對應的曲面上的各三角形,根據各最近距離所落入的公差區間以相 應顏色標示各最近距離所對應的曲面上的各三角形。
9.如權利要求8所述的曲面檢測系統,其特征在于,該曲面檢測系統還用于 根據用戶設置的對曲面進行顏色均衡時曲面上三角形向外擴展的層數、曲面上各三角 形對應的最近距離及顏色值重新計算得到曲面上各三角形與點云的均衡最近距離,根據各 均衡最近距離所落入的公差區間得到各三角形的均衡顏色值,根據各三角形的均衡顏色值 重新以相應顏色標示曲面上的各三角形。
全文摘要
本發明提供一種曲面檢測方法,該方法根據掃描物件得到的實際點云的點與物件的CAD模型的三角網格曲面的最近距離所屬的不同公差分段區間用不同顏色標示CAD模型的三角網格曲面上的三角形,并對CAD模型的三角網格曲面加以適當的顏色均衡處理,分析顏色均衡后的三角曲面數據并生成直觀的檢測報告,提高了對復雜曲面進行檢測的精度和速度。本發明還提供一種曲面檢測系統。
文檔編號G01B11/24GK101750030SQ20081030632
公開日2010年6月23日 申請日期2008年12月17日 優先權日2008年12月17日
發明者吳新元, 張旨光, 王敏, 黃華 申請人:鴻富錦精密工業(深圳)有限公司;鴻海精密工業股份有限公司