李雪梅,李喆,張鑫,郭義華,容北國
(1.桂林電子科技大學機電工程學院,廣西桂林 541004;2.桂林鴻程礦山設備制造有限責任公司,廣西桂林 541004)
在粉體包裝中,常選用閥口袋作為包裝用袋。閥口袋處于輸送帶上且不斷移動,工人抓取運動的閥口袋,然后將閥口袋的閥口套入灌裝設備的灌料口完成粉體的填充。這種包裝方式自動化程度低,并且生產中伴隨大量粉塵,損害工人健康。因此實現自動化粉體包裝對提高生產效率、保護工人身體健康有著重要意義。
當前大多數工業自動化生產采用的是編碼器對目標進行動態定位。黃金梭和沈正華針對輸送帶輸送產品的過程,提出了一套基于編碼器檢測的位姿數據計算方法,通過構建抓取系統模型和創建各個坐標系之間轉換關系,實現了機器人動態抓取目標。然而隨著機器視覺的發展,它具有不接觸的優點,通過相機采集目標圖像信息,就可實現對目標的分析和控制。蔡菲和郭倩利用視覺系統對運動物體進行圖像采集,通過運動學軌跡分析,完成物體位置的判斷,然后利用DELTA機械手實現對傳送帶中物體的抓取和釋放操作。陳甦欣等采用一維概率霍夫圓檢測法求取目標位姿,再將卡爾曼濾波用于目標跟蹤預測,最終成功抓取流水線上的家用壓縮機。上述動態抓取過程存在坐標轉換繁瑣、運算開銷大且控制方法復雜等問題,不利于對動態目標的快速、精準抓取。本文作者以閥口袋為研究對象,分析其樣式特點,利用機器視覺進行特征提取,通過卡爾曼濾波和數據擬合預測閥口袋抓取位姿。在此基礎上,利用PLC對工業機器人進行控制,實現運動狀態下閥口袋的抓取,取得了較好的實驗效果。
基于機器視覺的閥口袋動態抓取系統主要包含3個子系統:視覺處理系統、機器人抓取系統以及PLC控制系統,各系統設備布局如圖1所示。

圖1 系統設備布局
視覺處理系統由C270i USB相機、LED環形光源及配置有OpenCV的計算機組成。
機器人抓取系統由EFORT ER10-C10六軸工業機器人、自主設計的閥口袋專用末端執行器及閥口袋輸送裝置組成。
PLC控制系統由西門子S7-1200 PLC、IO擴展模塊以及各類外部元器件組成。
閥口袋動態抓取系統是通過各子系統相互配合來完成。閥口袋在輸送帶上運動,運動至相機有效視場區域時,視覺處理系統對閥口袋進行圖像處理,提取特征信息。然后利用卡爾曼濾波算法,對特征點坐標進行校正。再將特征點位置坐標進行數據擬合,對抓取時刻的位姿進行預測,發送預測位姿數據至PLC。PLC與機器人通信,機器人在完成應答后接收來自PLC的位姿數據(、坐標以及姿態角度)。在抓取時刻,機器人結合末端執行器實現對閥口袋的抓取,之后機器人按照既定程序將閥口袋送至灌裝機出料嘴處,完成后續上袋工序,如圖2所示。

圖2 系統工作流程
相機標定在視覺當中起著至關重要的作用,其目的就是為了確定圖像中的點與實際世界坐標之間的對應映射關系,具體是指計算相機的內參模型、鏡頭畸變系數等。采用張正友標定法只需要采用印有棋盤格的平面標定板,操作簡單、定位精度高。相機拍攝多張擺放差異較大的標定板,通過處理,得到相機的內參矩陣、鏡頭畸變系數,再用標定結果對采集到的圖像進行校正。標定結果如表1所示。

表1 相機標定結果
手眼標定是為求取工業機器人與相機之間的投影矩陣,將視覺識別的結果轉化為機器人可識別的數據,從而實現抓取。通過圖像處理識別出放置在自制標定板上9個圓點位置,標記出在像素坐標系下9個點的坐標(,),然后將工業機器人末端依次移動到這9個位置,標記在機器人坐標系下其坐標(,)。根據針孔成像模型,建立像素坐標系與機器人坐標系之間的轉換關系,構建超定方程:

(1)
求解廣義逆矩陣可得該超定方程中投影矩陣,代入數據可得:

(2)
粉體包裝最終的目的是將灌料口插入閥口內,實現粉體的填充。針對閥口袋的外形特點,采用OpenCV視覺函數庫對閥口袋進行圖像處理,并設計特征提取方法。
2.3.1 圖像預處理
圖像預處理可以消除由于光照變化、工廠粉塵對圖像造成的不良影響,同時也可以簡化圖像信息,減少運算開銷。圖像預處理流程如圖3所示。

圖3 圖像預處理流程
相機拍攝的原始圖像模型為RGB顏色模型,微弱的光照變化會導致相應數值發生改變,致使后續處理發生錯誤。而HSV顏色模型是根據顏色的直觀特性建立的模型,可以有效解決光照變化引起的問題,如圖4(b)所示。對閥口袋的特征進行分析,為了減少輸送帶背景色對閥口袋特征信息的影響,選取閥口處為顏色閾值處理目標。在環形LED燈的照射下,通過自適應顏色處理,進行顏色閾值處理,如圖4(c)所示。經過顏色閾值處理后,圖像會產生一些較小的噪點以及空洞,利用圖像形態學中開閉混合運算處理能夠消除圖像中的多余噪點,填充纖細空洞,如圖4(d)所示。濾波處理可以減少圖像噪聲的干擾,最大限度地保留圖像的特征信息,采用雙邊濾波能夠較好地抑制孤立噪聲,同時不破壞圖像邊緣信息,如圖4(e)所示。采用輪廓處理,不僅減少無關信息的干擾,保留特定的特征信息,還可提高特征提取效率,如圖4(f)所示。

圖4 圖像預處理效果
2.3.2 特征提取
圖像處理的目的就是為了獲取圖像信息的特征,針對閥口袋的特點,采用Shi Tomasi角點檢測,設定角點鄰域大小,確定閥口尖角處為特征點,角點檢測方程如下:
=-(+)
(3)
其中:為角點閾值;為特征值;為經驗常數。
確定一個物體的位姿信息,不僅需要特征的位置坐標,也需要姿態角度。利用Hough直線檢測,檢測出閥口邊緣直線,計算該直線斜率,通過幾何函數轉換后可得到閥口袋的姿態角度。
為了配合末端執行器的抓取,需將圖像特征點位置轉移至抓取點位置。通過多次測量得到兩點之間的長度關系、,如圖5所示,為特征點(,),為抓取點(,),為閥口袋的前端與軸所夾角度,被用來表示閥口袋在輸送帶上的姿態角度。由于閥口袋可視為平面物體,因此只需確定平面坐標,抓取點軸高度坐標由機器人示教獲取。

圖5 抓取點與特征點位置關系
特征點與抓取點位置關系:


(4)
由于相機測量誤差,導致動態目標定位精確性較低。采用卡爾曼濾波,對特征點位置進行校正,獲取特征點最優位置,最優位置估計值接近于真實位置。
卡爾曼濾波時間更新方程:

(5)
卡爾曼狀態更新方程:

(6)
根據卡爾曼濾波算法的核心公式可知,只有給定目標物體這一時刻的位姿、系統初始協方差,卡爾曼濾波算法才能實現預估-修正優化的迭代過程。初始協方差只要不為0,則對濾波效果影響很小,會很快收斂。測量噪聲誤差取值過小或者過大會導致濾波效果變差。對于運行穩定的過程,過程激勵誤差一般為定值。考慮到實際情況,閥口袋在輸送機上運動,在較短的時間內,為勻速運動。軸方向為運動方向,坐標會呈線性增加。考慮輸送帶會發生震動,致使軸方向會有稍許偏移,運動方程如下:

(7)
其中:Δ為特征點測量識別間隔時間;為運動速度大小,即連續兩幀圖像特征點坐標差值與相隔時間Δ的比值。狀態的觀測值表示為

(8)
由于閥口袋在運動過程中姿態角度未發生改變,因此姿態角度為第一次直線檢測所測角度。
常用的動態抓取方式有兩種:一種是確定抓取時刻,通過預測獲取運動目標在抓取時刻的位置,規劃機器人在抓取時刻到達這一個位置進行抓取;另一種方法是機器人跟隨目標同步運動,逐漸接近抓取點進行抓取。由于采用相機固定的模式,機器人的跟蹤移動會遮擋部分視場,影響圖像處理。又因采用變頻器控制輸送帶的方式,閥口袋的運動狀態較穩定,可近似為勻速運動,因此采用通過預測抓取時刻的閥口袋位姿進行抓取。
基于最小二乘法的回歸模型,設定()為距離函數,為點到直線的距離,為特征點個數。根據最小二乘法LSM公式(9),對數據進行擬合,并計算所有特征點到擬合直線的平均平方距離,距離越小則表明擬合直線的精度越高。

(9)
利用上述方法,當所有特征點離某一直線最近時,可得最優擬合直線公式(10)。根據輸送帶運行速度以及機器人抓取區域,確定抓取時刻范圍。最后轉換抓取點坐標,即可得抓取時刻的閥口袋的位姿。
=+
(10)
在數據傳輸的過程中,圖像處理后的數據需要與PLC以及機器人可以執行的通信協議保持一致,需要設定協議的端口參數、數據類型以及校驗碼等。EFORT機器人采用PROFINET以太網端口,而PLC支持Modbus協議,因此使用Modbus TCP通信協議進行數據之間的傳遞。Modbus TCP是一種在TCP/IP以太網下的報文傳輸協議,一般分為客戶端與服務端。在整個系統中,PLC作為控制中樞,控制視覺處理系統的運行、接收圖像位姿數據、輸出處理后數據至機器人。為了避免通信阻塞以及寄存器地址錯誤,在PLC中分別建立客戶端與服務端,如圖6所示。

圖6 通信傳輸架構
PLC控制程序基于西門子Protal平臺開發,由數據處理及通信程序構成。機器人抓取程序基于C10示教器編寫,主要有系統主程序、抓取子程序、上袋子程序及異常處理子程序。視覺處理程序基于Visual Studio 2019開發環境,采用C++進行程序編寫,包含相機標定、圖像處理程序、定位預測與通信程序。通過這些程序的緊密聯系,實現如下功能:
(1)閥口袋在輸送機上運動,當閥口袋運動至視場有效區域時,觸發視覺處理系統,對其進行圖像處理,提取特征點。通過卡爾曼濾波對特征點位置進行校正,得到最優位置。然后對所獲得的最優位置坐標進行擬合,結合測量得到的閥口袋姿態角度,預測抓取時刻的閥口袋位姿,并將預測數據發送至PLC。
(2)閥口袋進入視場有效區域時,視覺處理系統反饋準備指令給PLC,通過通信協議,再將準備指令發送給工業機器人,工業機器人到達初始準備位置。PLC在接收到來自視覺處理系統傳來的預測數據后,通過數據處理,將數據輸出給機器人。機器人移動至預測位置,在抓取時刻利用末端執行器實現閥口袋的動態抓取。
(3)機器人抓取到閥口袋后,按照既定程序,完成后續上袋工序,然后退后初始點,等待下一次抓取過程。
系統控制流程如圖7所示。

圖7 系統控制流程
為了驗證系統性能,對編寫的程序及設備進行調試。視覺處理系統提取特征信息,PLC控制運行流程,機器人按照預測位姿進行抓取。大量實驗表明:圖像處理時間約為58.11 ms,每次抓取預測時間約為2 325.68 ms,機器人抓取速率為每分鐘6~7次,誤差精度均為1 mm以內(見表2),滿足后續生產要求。動態抓取過程見圖8,后續上袋過程如圖9所示。

表2 理論位置與機器人實際抓取位置對比

圖8 動態抓取過程

圖9 后續上袋過程
文中詳細介紹了動態抓取閥口袋的整個流程,采用機器視覺、卡爾曼濾波及數據擬合的方式對輸送帶上運動的閥口袋進行位姿預測,然后在PLC的控制下,機器人實現了對閥口袋的動態抓取。該動態抓取系統滿足了生產中抓取精度要求,提高了工業自動化程度,對實現自動化粉體包裝有著較高的實用價值。