徐賢煒,郭履寶,劉子國,夏鯤
(上海理工大學 機械工程學院,上海 200093)
工件尺寸檢測是工業生產中最基礎的質量控制手段之一[1]。隨著電子信息地飛速發展,測量方法的換代越來越快。對于工件的檢測,傳統的人工測量技術已經無法滿足所需要的工件的測量精確[2]。非接觸測量是以光電、電磁等技術為基礎,在不接觸被測物體表面的情況下,得到物體表面參數信息的測量方法。典型的非接觸測量方法有激光三角法、電渦流法、超聲測量法、機器視覺測量等[3]。隨著機器視覺的發展,視覺測量由于其測量效率高,檢測范圍大逐漸被重視。但不可避免地,非接觸測量往往受環境因素的干擾極大,需要在特定的環境下才能完成精準測量。
本文提出一種基于STM32 單片機的非接觸物體尺寸形態測量系統。系統采用OpenMV 作為視覺檢測,云臺作為執行機構,通過非接觸式傳感器,實現對物體尺寸和相對位置的快速測量,可以做到實時在線、非接觸和高精度測量;同時也可以避免測量過程中人為產生的錯誤,實現生產的連續性,提高生產的自動化程度。尤其在疫情爆發期間,非接觸式測量能夠大大提高使用安全性。
目標板擺放在距離地面100~200 cm,距離測量裝置200~300 cm 的位置。背景板擺放于被測物體后方5 cm。被測目標板為正方形、正三角形等正多邊形,尺寸(長、寬)為30~50 cm,顏色分別為紅、綠、藍純色。當目標物體出現在視野內,系統自動追尋目標。當系統穩定后,屏幕顯示目標物體的距離、顏色、形狀、尺寸,同時激光筆指示目標的幾何中心。圖1 展示了一種環境布置方案。

圖1 環境布置方案
本系統的總體結構主要分為微處理器、舵機、測距模塊和OpenMV 四部分。
STM32 系列單片機專為高性能、低成本、低功耗的嵌入式應用設計,本文采用STM32f103rct6 作為微處理器,其能夠很好地滿足設計需求[4]。
數字式舵機具有響應速度快、旋轉迅速且柔和抖動較小等優點,并能夠提供較高的精度和強大的固定力量。因此,本文將其用作云臺動力源[5-6]。
本設計使用激光測距模塊對目標物體的距離進行測定。激光測距模塊在工作時向目標射出一束很細的激光,由光電元件接收目標反射的激光束,計時器測定激光束從發射到接收的時間,進而計算出從本裝置到目標的距離,計算精度可達到厘米級[7]。
系統采用PID 控制算法[8]對云臺實現精準控制,當系統鎖定目標物品位置后,OpenMV 獲取其形狀、顏色、尺寸信息[9],并將信息通過串口發送給STM32。同時,STM32獲取激光測距模塊的距離信息。最終,測量結果通過屏幕顯示便于使用者讀取。系統總體結構框圖如圖2 所示。

圖2 系統框圖
本系統的硬件設計主要分為系統供電電路及系統信號傳遞回路兩個部分。
7.2 V 鋰電池為系統主電源,通過穩壓模塊調節電源電壓使整個系統穩定運行。為達到各模塊的工作電壓,供電回路采用LM2596S DC-DC 直流穩壓模塊,該穩壓模塊運用buck 電路原理,具有穩定功耗低的特點[10]。為實時監控電壓,電壓轉換器的輸出電壓經分壓電阻分壓后,由STM32 單片機使用ADC 模塊進行采樣,以監測系統運行電壓是否正常。系統供電電路圖的總體設計如圖3 所示,圖中,V+表示正極,V-表示負極,V_t 表示檢測電壓。

圖3 系統供電電路圖
STM32 通過串口與OpenMV 及激光測距模塊進行通信,以獲得目標物體信息。屏幕由STM32 通過SPI 進行顯示控制。數字式舵機通過STM32 的PWM 波模塊進行控制。系統信號電路圖的總體設計如圖4 所示。

圖4 系統信號電路圖
本系統的軟件設計主要分為云臺的PID 控制算法及圖像識別算法兩個部分。
尋找目標時,OpenMV 獲取目標物體的中心點坐標值。STM32 根據所測值與給定值的誤差,運用自動控制算法算出輸出值,控制激光束運動,使得激光束能夠對準目標物體。云臺的控制框圖如圖5 所示。

圖5 云臺的控制框圖
本設計使用OpenMV 進行圖像識別算法的實現。OpenMV 被啟動后,自動進行初始化[11-13]。當目標物體出現在視野中,OpenMV 將對其進行預查找,得到預查找框。在此預查找框的條件下,使用純色識別算法得到目標物顏色;使用形狀識別算法推算出目標物體形狀及其頂點坐標[14-15]。最終根據頂點坐標計算出目標物的中心坐標及邊長。OpenMV 軟件流程圖如圖6 所示。

圖6 OpenMV 軟件流程圖
4.2.1 OpenMV 初始化的實現
在識別圖像前,OpenMV 需要進行初始化操作。步驟主要包括:(1)感光元件初始化;(2)感光元件屬性值設定;(3)通信接口初始化。具體程序如下:

4.2.2 預查找
預查找時,調用尋找色塊函數,由于背景板為白色,因此設置閾值為白色,并設置函數屬性為反向查找,即查找與閾值不同的色塊。據此得到目標圖形的預查找框,作為下一步識別的參考依據。
4.2.3 顏色識別
由于預查找框會涵蓋許多非目標物體的像素點,故本文開創性地將預查找框的長寬同時縮小50%得到一個與之同心的顏色識別框。隨后采用像素統計函數,得到RGB 色彩空間的直方圖及R、G、B 分量的眾數值。通過比較三者眾數值的大小,目標物體的顏色將被歸入紅色、綠色或藍色。
4.2.4 形狀識別
針對預查找框會將部分邊界信息忽略的問題,本文將預查找框的長寬同時放大20%得到一個與之同心的形狀識別框。為防止找到其他小短邊,本文調用較大閾值的直線尋找函數,以得到貼合目標物體輪廓的直線。然后遍歷所有直線,去除斜率接近的直線,最終得到的直線數便為目標多邊形的邊數,以此確定目標物體的形狀。同時,根據所找到的直線,確定出多邊形的頂點坐標。
4.2.5 中心、邊長計算
目標物體的中心坐標可以近似為各個頂點的橫縱坐標平均值。根據幾何關系可以知道中心點與各個頂點的理想距離均相等,且此距離與多邊形邊長滿足式(1)的關系。

式中,l為目標物體的像素邊長,D為目標物體中心點到各個頂點的平均像素距離,n為目標物體的頂點數。
根據攝像頭幾何成像原理,可以得到目標物體的實際邊長滿足式(2)的關系。

式中,L為目標物體的實際邊長;d為目標物體到測量裝置的距離,在本設計中該距離由激光測距模塊得到;f為攝像頭的焦距。
測量裝置如圖1 所示布置。通電后,系統自動追尋目標,當系統穩定后,保存識別圖像。圖像識別綜合效果圖如圖7 所示。

圖7 圖像識別綜合效果圖
圖7 中,虛線框標志物體預選框,細實線框標志顏色識別框,粗實線框標志形狀識別框,細線標志目標物體邊界線,圓圈標志目標物體頂點,白色十字標志目標物體中心點。實驗證明,本文提出的框定策略可以較好地識別目標物體的顏色及其形狀。
RGB 色彩空間的直方圖反映的是圖像中顏色的組成分布,即視野中出現的顏色以及各種顏色出現的概率。且其對圖像質量的變化(如模糊)不敏感,可以防止圖像質量及環境光對識別結果的干擾。本文采用圖7 中顏色識別框內RGB 色彩空間的直方圖,如圖8 所示。

圖8 RGB 色彩空間的直方圖
在顏色識別框中得到RGB 色彩空間的直方圖,可以觀察到R 分量的眾數為255,G 分量的眾數為121,B 分量的眾數為74。由于R 分量最大,目標物體顏色可以歸入紅色。實驗證明,此方法能夠適應各種燈光環境。
測量裝置如圖1 所示布置。通電后,系統自動追尋目標,當系統穩定后,記錄所需時間,同時讀出尺寸和距離信息,并計算出測量值與實際值之間的誤差。更換不同目標板,進行多次實驗,得到數據如表1 所示。其中,MAD 表示目標數值絕對值的平均值。

表1 目標幾何形狀、尺寸、距離及時間的測試結果
由數據可以看出,在外界環境影響較小的情況下,目標幾何形狀的尺寸誤差的平均值為6.0%,目標物體距離的誤差平均值為1.7%,測試的平均時間為2.17 s。實驗證明,本文設計的非接觸物體尺寸形態測量系統具有精度較高、檢測速度較快等特點。
本系統以STM32 單片機為核心、以OpenMV為視覺檢測單元、以激光測距傳感器為距離檢測單元,實現測量目標的顏色、形狀、尺寸及距離的功能;同時通過控制激光管,快速指示目標物體中心。本文的設計可以在工業工件測量領域大展身手,具有快速穩定、智能化程度較高、造價低等特點,對于大量工件尺寸檢測具有重要的現實意義。