莫之劍,范彥斌,彭明仔
(1.廣東利元亨智能裝備股份有限公司,廣東惠州 516000;2.佛山科學技術學院機電工程學院,廣東佛山 528000;3.廣州科技貿易職業學院機電工程學院,廣州 510000)
在動力電池生產過程中,有多個工序采用激光焊接工藝。激光焊接質量的好壞直接關系到電池的質量和使用壽命。為了保證產品質量,在激光焊接后增加一道焊縫質量檢測工序,防止不合格產品流入下一個工序。
目前,國內大多數工廠采用人工檢測方法為主,這種方法受工人的主觀因素影響,容易出現誤判和漏檢,不符合生產信息化要求。也有部分企業采用傳統2D機器視覺方法[1-3]檢測焊縫質量,由于焊縫缺陷形式多元化、多樣化,出現概率隨機性大,且2D視覺無法提取缺陷的深度信息,從而造成檢測結果誤判率高。國內在3D機器視覺檢測技術研究方面實際應用較少,且效果不理想[4-5]。國外對動力電池焊縫質量檢測主要集中在焊縫跟蹤和焊中過程監控方面研究和應用比較多,但是這些檢測設備價格昂貴,推廣難度大[6]。到目前為止,激光焊縫質量自動檢測還沒有一個比較成熟和完美的解決方案。
為實現企業對焊縫自動化檢測要求,本文采用了一種融合2D機器視覺,機器學習及3D機器視覺焊縫質量在線檢測方法,通過提取缺陷的顯著特征——深度信息,計算缺陷深度、長度和寬度等信息,SVM對這些特征信息進行學習訓練,然后進行分類,判斷焊縫中是否存在缺陷,這種方法大幅提高了檢測結果的準確率,且具有檢測速度快、檢測效率高的特點[7],成功地解決了動力電池焊縫質量自動化檢測的難題。
3D視覺檢測采用線激光輪廓傳感器,采集焊縫表面輪廓點云數據,這種傳感器是采用激光三角測量法原理[8],如圖1所示。激光三角測量過程是激光發射器通過鏡頭將可見激光射向被測物體表面,內部CCD通過接收器鏡頭接收物體表面反射的激光,根據不同的距離,CCD線性相機可以在不同的角度下采集到這個光點。根據這個角度,激光和相機之間的距離,計算出傳感器和被測物體之間的距離,得到被測物體表面的點云數據。
圖1 激光三角測量原理
焊縫3D視覺檢測系統由圖像采集、圖像處理和運動控制3部分組成,如圖2(a)所示。本文采用LMIGocator線輪廓傳感器LMI2520,它具有10 kHz的掃描速度和13~17μm的X方向分辨率,是一款性能優越,專業的電子元器件在線檢測傳感器。
圖2 實驗硬件系統
根據焊縫檢測精度要求,本文選擇LMI2520傳感器作為點云數據采集設備,并設計了檢測實驗裝置,如圖2(b)所示。檢測系統工作過程,首先把相機固定在支架上,動力電池固定在專用夾具中;按下平臺運動鍵,電池隨平臺運動,當產品運動到相機正下方時,PLC發出相機觸發采集信號,相機按照伺服電機編碼器信號采集產品輪廓數據,工業計算機接收到輪廓數據后轉化為高度圖像和亮度圖;然后對高度圖或灰度圖進行圖像處理,分析和計算,SVM進行分類,判斷產品是否存在缺陷。3D視覺焊縫缺陷檢測具體流程如圖3所示。
圖3 3D視覺檢測流程圖
本文采用Visual Studio2019設計3D視覺檢測軟件,軟件分為生產測試界面和用戶調試界面,如圖4所示。用戶在調試界面里可以設置相機參數,編輯、保存測試步驟、測試內容和測試要求,管理用戶身份等功能。生產測試界面主要是實現產品在線測試、結果顯示、與外設通信、測試數據統計和生產報表生成等功能。
圖4 3D視覺檢測軟件界面
視覺檢測算法主要包括圖像預處理,圖像糾正,SVM樣品學習與訓練,缺陷特征值算法等。機器視覺算法采用OpenCV-4.1.1編寫,實現整個軟件算法功能[10]。
相機在采集圖像過程中受周圍環境的影響,采集到的點云數據中存在噪聲,這些噪聲給圖像處理帶來干擾。因此,在圖像處理之前須對圖像進行濾波。本文采用OpenCV的GaussianBlur高斯濾波函數[11-12],濾波模板大小為(5,5),對焊縫區域ROI進行濾波,去除部分噪聲和平滑圖像。
由于相機安裝位置與產品位置不可能保證完全垂直或平行水平面,導致相機采集到圖像的邊緣輪廓與垂直方向形成一定夾角,為了準確提取焊縫區域,需要對采集到的圖像進行糾正,得到一張產品邊緣輪廓垂直水平面的圖像。本文采用Sobel算子搜索電池外殼的邊緣輪廓點,然后把這些點擬合直線。計算直線與垂直方向夾角α和產品輪廓中心坐標,以產品輪廓中心作為旋轉中心,α角度為旋轉角度,得到圖像的旋轉角矩陣,然后對圖像進行仿射變換,實現圖像糾正目的,圖像糾正流程如圖5所示。圖像糾正后邊緣輪廓垂直于水平面,圖像糾正效果如圖6所示。
圖5 圖像糾正流程
圖6 圖像糾正效果
焊縫缺陷表現形式多種多樣,其中一個顯著特點就在缺陷處剖面輪廓線有明顯的高度變化,如圖7所示。本文利用這種變化來判斷焊縫中是否存在缺陷。
圖7 焊縫剖面輪廓線
焊縫定位精度直接影響圖像處理結果。在焊縫定位過程中,在焊縫剖面輪廓線內找焊縫最高點。它位于焊縫中間。利用焊縫與母材交接處有明顯的高度變化原理找到焊縫內外點,從而實現對整個焊縫精確定位。
確定焊縫區域后,根據焊縫檢測精度要求,沿焊縫長度方向劃分成大小相等的窗口。劃分窗口后,在窗口內對焊縫剖面輪廓線進行積分,過程如下。
(1)根據檢測要求,設置窗口大小(一般為檢測精度的3~5倍為窗口長度),沿焊縫方向劃分搜索窗口;在第一個窗口內,沿長度方向,從開始位置以焊縫寬度為搜索直線寬度,計算搜索直線的剖面輪廓線,對剖面輪廓線進行積分,即,f(x)為搜索直線的輪廓線。
(2)沿著窗口y方向計算窗口的積分值,即f(y)為搜索直線的積分結果。
(3)重復步驟(2)和(3),計算每個窗口的積分值,并把積分結果保存在數組Array1中。
(4)計算完所有窗口值后,從第一次掃描的第一個窗口中心位置開始,沿著整個焊縫重新劃分窗口,計算每個窗口體積,并保存在數組Array2中,窗口掃描過程如圖8所示。
圖8 移動窗口掃描過程
(5)分別找出數組Array1和Array2的最小值,取其中最小值為焊縫窗口的最小積分值,窗口內最高點和最低點高度差,積分最小值窗口的最低點和參考平面高度差作為評估缺陷的特征參量,調用SVM進行分類,判斷是否存在缺陷。
在實驗中,選擇窗口內積分最小值,最高點和最低點高度差、最低點與參考平面高度差這3個參量去評估是否存在缺陷。根據SVM原理,在檢測之前,抽取一批樣品進行測試,對樣本數據進行訓練學習,得到OK和NG產品的超平面[10]。
樣品數量30個,10個NG、20個OK樣品,樣品學習訓練的部分數據如表1所示,其中標簽值1表示人工檢測為OK品,-1表示人工檢測為NG品。SVM對樣本數據進行學習訓練,訓練結果以xml文件格式保存到計算機中。
表1 樣品學習訓練的部分數據
完成樣品訓練學習后,用非樣品產品進行測試,測試結果表明:系統可以準確判斷缺陷面積大于0.5mm2,深度大于0.2mm的氣孔、凹坑等缺陷。
本文針對傳統人工檢測動力電池焊縫缺陷的不足,設計了基于激光三角測量的3D視覺檢測系統。實驗結果表明,該方法檢測精度高、可靠性好,具有實際推廣意義[13]。同時還具有以下優點。
(1)3D視覺檢測系統通過圖像處理,分析和計算焊縫的深度信息,利用深度信息作為評估缺陷的模型,克服了傳統2D視覺無法獲取深度信息的不足。同時,運用機器學習SVM對缺陷進行分類,這樣得到的結果更穩定可靠。
(2)SVM訓練學習30個樣本的特征數據,根據學習結果自動判斷出OK和NG,很好地實現焊縫缺陷在線檢測的目的,克服深度學習需要大量樣本進行訓練學習不足之處,SVM在小樣本的條件下,同樣取得很好的學習效果。在實際應用過程中采用大于60個樣品進行SVM學習結果更好。
(3)比較容易檢測出焊縫的凹坑,同時還可以檢測出蓋板是否在焊接過程中產生變形、彎曲、下沉等問題。
(4)3D機器視覺檢測法能夠克服2D視覺背景復雜和環境光影響等問題,傳感器自帶的激光光源比2D機器視覺的LED光源更穩定,更可靠。