王宇龍
(中國計量大學計量測試工程學院,浙江杭州,310018)
平面度是汽車零部件的各項形狀公差中重要組成部分之一,也是生產檢測過程中最重要的技術指標之一。在很大程度上,平面度決定了汽車部分零部件的裝配質量,影響汽車的使用性能。所以如何快速準確檢測汽車零部件平面度成為目前汽車零件制造行業的研究方向之一。
到目前為止,在零部件平面度測量行業中,部分廠家仍采用塞尺測量法,檢測精度低,效率低,只能檢測零件邊緣。這對于需要大批量檢測的產線是難以接受的。有的廠家采用三坐標測量法[1],測量速度慢,而且需要被測要素保持水平,導致企業只能對產品進行抽檢不能進行全檢。

圖1 設備示意圖
針對目前測量方法的精度低、效率低、速度慢、容易造成人力資源浪費等問題,本文設計了一種基于機器視覺的汽車零部件平面度在線檢測系統,滿足了目前國內對汽車零部件進行平面度測量大批量、高速度、高精度的需求,降低企業成本,提高企業的運行效率,具有廣闊的應用前景。
本系統的總體技術路線如圖2所示,分為視覺和機器兩部分:

圖2 系統整體設計方案
(1)在視覺部分中,主要包含硬件與軟件兩部分。視覺硬件主要指測量采用的激光輪廓儀。視覺軟件指的是點云算法以及上位機軟件的設計。點云算法采取先粗配準再精配準的方式,實現平面度測量。上位機軟件設計是基于Visual Studio 2019軟件開發環境使用C++編程語言并調用PCL點云庫與OpenCV視覺庫進行編寫、測試與實現。
(2)在機器部分需完成硬件總體架構的搭建,配合視覺部分實現待測物及激光輪廓儀的運動,同時設計下位機軟件,實現待測物、激光輪廓儀的運動控制以及各機構的聯動。
如圖3所示,本系統按照功能上可以劃分為分為三個模塊。

圖3 系統模塊設計圖
運動控制模塊以可編程控制PLC為核心,通過驅動氣缸、激光輪廓儀移動電機、不合格平剔除機構以及兩個傳送帶的運動,完成與計算機、激光輪廓儀以及檢測傳感器的信息交互。待測物檢測的運動控制流程如下所示:
①將待測物放置于載物臺上,隨上料傳送帶一起運動。
②當上料檢測激光位移傳感器檢測到有物體進入檢測區,并且當載物臺在檢測區就位后,傳感器將信號傳遞給PLC,控制氣缸向上頂起載物臺以保證檢測時待測物不受傳送帶振動等因素干擾。
③然后,PLC向電機發送信號由電機帶動激光輪廓儀移動,同時激光輪廓儀開始掃描。待獲取待測物的表面點云信息后,傳輸至計算機進行下一步的點云顯示、計算與處理。
④完成掃描后的待測物進入下料傳送帶。PLC接收計算機給出的平面度檢測反饋信號,若待測物平面度檢測不合格則控制剔除機構進行剔除,若待測物平面度檢測合格則允許待測物通過,進入后續的檢測環節。
點云采集模塊由激光輪廓儀和待測物組成。該模塊主要負責完成點云信息的獲取,選擇合適的采樣幀率、采樣點距以及景深對待測物進行掃描。
點云處理模塊負責點云的顯示、點云的配準以及待測物平面度的計算和顯示,并與PLC完成信息交互。
因為激光輪廓儀激光掃描時會得到較大的點云數據,而常用的迭代最近點(Iterative Closest Point,ICP)算法對點云最初始的位置要求較高,容易陷入局部最優解,無法達到實際需求。為確保點云配準不陷入局部最優解,通常將點云配準分為兩部分,即采用先進行點云粗配準再進行細配準的點云配準方式[2].其中點云的粗配準可以通過點云關鍵點的局部特征描述子建立對應關系,從而得到變換矩陣,而特征描述子的提取決定了配準的精度。Rusu等人[3]提出了特征直方圖(Point Feature Histogram, PFH)描述子計算關鍵點鄰域內所有點對的幾何位置關系作為關鍵點的主要特點;隨后Rusu等人改進了PFH算法,保留了大部分PFH的識別特征,提出一種快速點特征直方圖(Fast Point Feature Histogram,FPFH)特征。然后使用采樣一致性初始配準(Sample Consensus Intial Alignment, SAC-IA)方法,該方法雖然顯著提高了配準精度,但降低了效率,常用來進行初始配準。
因此本文采用先提取出點云的FPFH作為點云特征描述[4];然后根據該特征,采用SAC-IA方法完成初始配準;最后采取ICP算法,實現點云的精配準。
2.3.1 點云粗配準
如圖4所示的是一個查詢點Pq的PFH計算的影響區域。以Pq為圓心,r為半徑,圓內的所有點全部互相連接。以P1為原點建立UVW坐標系,任意兩點的P1和P2及其法線n1與n2 之間的關系特征如下所示:


圖4 查詢點Pq的PFH計算的影響區域
α、φ、d和θ是FPH描述子所需要的特征信息。在獲取這些特征信息后,便可構建直方圖,并進行歸一化處理。
該方法的缺點是當數據量變大時,其計算速度會變得緩慢。為了提高 FPH描述子的提取效率,提出了FPFH算法。

點云數據中所有點都要先得到SPFH特征,SPFH是用來計算特征點與鄰域點之間的關聯,利用式(5)計算FPFH特征,計算量大幅度減少,通過后續的加權處理,使得FPFH特征獲取了鄰域點與鄰域點之間的關系信息,填補了SPFH中鄰域點與鄰域點之間關系信息的丟失,提高了匹配的準確性。

圖5 FPFH計算原理
獲取FPFH特征子后,對點云P和點云Q采取SAC-IA算法來進行特征點匹配計算。SAC-IA算法是在點云P中隨機選擇k個樣本點,在點云Q中尋找這些點最接近的對應點,根據兩個點云數據集的相互關系計算出變換矩陣。利用式(6)來計算配準的偏差值,并使用Levengerg-Marquardt算法來不斷優化最佳平移矩陣和旋轉矩陣。

2.3.2 點云精配準
點云精配準就是精確地求出點云的相對關聯和變換矩陣的過程[5]。由于SAC-IA得到的剛體變換矩陣使兩點云的數據大致重疊,但是配準精度遠遠達不到現實工程應用的要求,因此在初始配準基礎上再進行精確配準。點云精配準采用迭代最近點(Iterative Closest Point,ICP)算法:首先根據一定的方法確立對應點集P與Q,其中對應點對的個數為n。然后采用最小二乘法迭代計算最優的坐標變換,即旋轉矩陣R和平移矢量t,使得誤差函數f(R,t)最小,直到滿足要求。

將本文點云配準算法應用在激光輪廓儀平面度測量中,對汽車零部件模型進行平面度測量實驗。如圖6所示綠色點云為源點云,藍色為目標點云。本文實驗的硬件環境為英特酷睿i7-9750H @2.60GHZ 8GB;顯卡Nvidia gtx 1650;軟件環境為Visual Studio 2019。

圖6 汽車零部件點云匹配圖
為了驗證點云配準精度對平面度測量結果的影響,選取SHOT+ICP點云算法與本文采用的算法進行對比。將三坐標測量機的平面度測量結果作為參考值。平面度測量結果如表1所示。

表1 平面度測量結果
從表中可以得出,兩種方法的平面度測量結果與三坐標測量機的測量結果基本一致。由于本文采取的方法的測量結果重復性可控制在0.0023mm以下,能夠實現對平面度有效的評估。另外,三坐標測量機的測量時間在15min以上,而采用本文算法的平面度測量耗時可控制在24.5s左右,因此本文平面度測量方式更適用于大批量測量的場合。
國內汽車零部件平面度檢測行業較為落后,如何進行快速準確測量汽車零部件平面度是重點研究方向之一。本文設計的基于機器視覺的汽車零部件平面度在線檢測系統,非常適用于需要大批量檢測汽車零部件平面度的場合具有廣闊的發展前景。