陶 杰,吳堯才,朱熙豪,于涵誠,王進京,陳雪云
(1.浙江省機電設計研究院有限公司,浙江 杭州 310000;2.浙江省機電集團有限公司,浙江 杭州 310000)
我國制造業總體規模持續擴大,但產品制造技術與國際先進水平尚存在較大差距;且發展水平參差不齊,存在手工、半手工及自動化生產混行狀態。面對新一輪科技變革和產業變革的外部形勢,及供給側結構性改革和實現跨越式發展的內部需求,我國制造業對自動化和智能化生產的需求日益增多。
以浙江省為例,其制造業發達且產業集群明顯,尤其在水泵行業方面,已建成全國最大的水泵生產基地。但中小企業對于生產過程的自動化和智能化提升均面臨想改進,又不知道如何改進的狀況。為使其在自動化、智能化、數字化方面進一步提升,首先要對傳統生產線實施技術改造。
生產線是影響產品生產效率和品質的重要因素。生產線自動化的真正實現,需要高度智能化的工業機器人,而三維(3-Dimension,3D)機器視覺恰好能發揮這一關鍵作用。以水泵為例,其主要零部件供料時一般是無序地堆疊放置在托盤上的,放置的位置和角度都無法確定,機械臂無法直接進行抓取。
時至今日,工業界開始探索使用3D機器視覺引導機械臂做抓取。基于3D機器視覺的堆疊零部件無序抓取關鍵技術研究,其主要工作流程是由3D傳感器組成的視覺系統獲取零部件三維信息,通過計算機視覺處理算法分析出目標零部件的位姿信息,并由機械臂根據計算機的反饋信息規劃抓取路徑,完成抓取工作。因應用場景多、復雜且技術難度高,該技術長期以來受到工業界和學術界的廣泛關注。
DROST B等人[1]提出了用于目標識別的點對特征,其利用了距離、法線夾角特征,構造出了有4個參數的特征數組;結合哈希表進行了窮舉匹配,通過投票得出了最優解;該方法的成熟度與穩定性較高,但在計算效率方面依然有提升的可能。BIRDAL T等人[2]提出了對場景進行分割,再進行點對特征匹配的識別方法;但其對于遮擋情況較敏感,很難用于目標識別和精確定位。HINTERSTOISSER S等人[3]改進了點對特征法的采樣方法和投票方案,有效增強了噪聲抗干擾性。DIYI L等人[4]提出了一種新的基于點對特征的邊界描述符,使用其切線估計來準確掌握工業組件的位置;但該方法僅利用了點云的部分幾何特征,導致其魯棒性較弱。LI C等人[5]將方向梯度直方圖特征與尺度不變特征變換等特征提取方法相結合,利用SVM訓練樣本,在不同核函數的驗證下完成了特征的檢測;但該方法會增加訓練和匹配的所需工作量,增加其對應的計算復雜度,減慢匹配速度以及投票效率。徐江浪等人[6]提出了一種改進目標檢測的室內場景識別方法,即在目標檢測網絡中引入類轉換矩陣,將目標檢測網絡作為輸出進行特征轉換,保持目標檢測和場景特征的維度相一致,以完成室內場景的目標識別;雖然其在特定的數據集上的識別效果較好,但是不具備通用性。XIAO Z等人[7]通過利用共面點對特征的性質和物體放置的特征平面,消除了不相關的點對特征,然后用簡約點對特征描述符進行了特征匹配的識別,加快了三維物體在雜亂背景下的識別速度;但當三維物體形狀較不規則時,會導致較大抓取偏差的產生。BILLINGS G等人[8]提出了一種作用于感興趣區域的管道算法,預測出了一個中間輪廓來估計目標位姿,然后從數據庫中生成抓取點,可同時完成目標姿態估計和抓取點選擇;但該方法依賴于感興趣區域的穩定性,如果感興趣區域存在輕微偏差,會對最終抓取造成嚴重影響。
綜上所述,在特征提取、目標識別與抓取定位等領域,基于3D機器視覺的堆疊零部件無序抓取的研究取得了一定的成果。但在工業環境中,其目標識別準確率與計算效率依然有較大的提升空間,且缺乏結合智能化的零部件裝配狀態的檢測以驗證無序抓取的準確率。
因此,通過分析基于3D機器視覺的堆疊零部件無序抓取的技術現狀和存在的問題,結合未來智能制造發展的方向,筆者擬依托浙江進越水泵生產線智能化改造項目,實現堆疊零部件的識別、無序抓取及零部件裝配狀態的檢測。
筆者擬設計改造的水泵生產線由泵體自動上料、定子自動上料和壓裝、自動翻轉、門蓋壓裝、螺釘自動擰緊、轉子自動壓裝、油缸自動壓裝、機封自動裝配、氣密性檢測、卡簧自動裝配、自動下線機械手等工位組成。
水泵生產線示意圖如圖1所示。

圖1 水泵生產線示意圖
上述生產線改造的核心是在現水泵生產線的基礎上,融入基于3D機器視覺的無序抓取系統,從而實現水泵生產自動化。
水泵生產的無序抓取系統如圖2所示。

圖2 無序抓取示意圖
該系統包含3D視覺、算法執行、運動控制等模塊,系統各模塊之間、模塊各組件之間相互協作,可實現采集圖像、檢測零部件裝配狀態、計算定位坐標、控制裝配信號等功能。
系統組成框圖如圖3所示。

圖3 3D視覺系統組成框圖
為了實現水泵零部件的檢測和定位,機械臂使用六軸機器人;抓具使用平行夾爪;3D視覺通過視覺支架安裝在泵體托盤的上方;視覺的拍照范圍可以覆蓋整個托盤;并需要根據現場加工環境設計照明成像方案,以獲取高質量的圖像。
此處筆者采用平面拍照位置,對比選擇高度測量方法,確認照明成像方案所需的硬件設備;然后根據工作距離和圖像質量要求,對相機和鏡頭進行選型;最后根據成像效果,決定光源的位置和角度。
此處使用的硬件主要有:機械臂、深度相機、發光二極管光源、激光器、附帶數字量輸入輸出卡的工控機、可編程邏輯控制器等,如圖4所示。

圖4 系統實物圖
在水泵堆疊零部件識別與定位系統中,上料工作流程圖如圖5所示。

圖5 系統上料工作流程圖
系統下料流程圖如圖6所示。

圖6 系統下料工作流程圖
圖6中,生產線所需的料框從倉庫運送到指定的工位,3D視覺模塊被觸發,根據信號分別進行LED光源下拍照、激光光源下二次拍照,圖像通過算法執行模塊的工控機進行物料種類檢測,若物料符合要求,機器人根據定位坐標進行抓取,并進行裝配;裝配完成后,對半成品再次進行拍照,圖像通過算法執行模塊的工控機進行裝配狀態檢測;若裝配錯誤,機器人根據定位坐標移動到抓取位置,及時剔除不合格半成品,其余半成品則運輸至下一工位,等待裝配。
堆疊零部件的識別步驟包括特征提取、區分,標識與離線訓練,及在線匹配。
深度相機通過近紅外激光器添加了一個深度測量功能,因此在3D機器視覺中通常使用深度相機來獲取三維結構。深度相機將具有一定結構特征的光線投射到被拍攝物體上,由于被攝物體的不同深度區域而產生不同的圖像相位信息;然后通過運算單元將這種結構的變化換算成深度信息,以此獲得三維結構[9]。
深度相機如圖7所示。

圖7 深度相機實物圖
在深度相機下堆疊零部件的2D圖如圖8所示。

圖8 堆疊零部件2D示意圖
深度圖像是物體的三維表示形式[10],通過深度相機獲取到圖像中每個點離攝像頭距離的數據,再加上該點在2D圖像中的(x,y)坐標,就能獲取圖像中每個點的三維空間坐標。通過深度照相機的內標定參數,深度圖像經過坐標轉換可以計算為點云數據,也就是將深度圖像轉換為點云圖。
筆者采集的點云圖即由此獲取,如圖9所示。

圖9 堆疊零部件深度及點云圖
總體來說,堆疊零部件場景屬于復雜場景點云,局部特征描述子具有較強的尺度不變性和魯棒性;對于復雜場景,點云可以很好地提取特征,但是零部件的邊緣信息在提取過程中必須呈現完整或是部分缺失,檢測點的位置必須有穩固的支撐點且必須被重復利用。由于局部描述符只使用查詢點的鄰域信息,容易對場景分割不敏感[11];局部描述具有高維數、高內存消耗和高計算復雜度等不足。
基于全局特征描述子的堆疊零部件識別方法需將零部件從背景中分離出來,然后通過描述零部件的全部特征或是顯著性特征來進行目標識別,該方法可以應用在三維物體的分類和匹配當中。全局特征描述子可以在不同視角下檢測到目標物體的整體點云,建立不同視角下的模型庫,最終識別結果和真實位姿通過模型庫匹配得出。特征提取通過遍歷點云中的全部點,全局特征描述子的計算量比較小,結構簡單,適合在線系統使用。
針對筆者研究的情況,3D視覺掃描的堆疊零部件點云存在遮擋或者缺失的部分,需要一種魯棒性很強的特征描述方法,適用于具有遮擋和堆疊等條件下的零部件檢測。為了能準確識別出目標點云,筆者選用全局描述子進行特征提取。點對特征法(point-pair-features,PPF)是最常用的方法,點云中的點兩兩形成一對,點對特征形成全局描述子[12]。定義特征A如下:
A(m1,m2)=(‖d‖2,∠(n1,n2),∠(n1,d),∠(n2,d))
(1)
式中:m1,m2—點云中任意兩個點;n1,n2—各自的法向量;d—差矢量。
盡管PPF特征描述子只使用兩個數據點來描述特征,但目標點云受雜波影響或存在丟失的情況,PPF也可以體現空間點在目標模型中的實際位姿。
通過使用特征匹配來實現場景中的零部件點云和模型點云的匹配[13],關鍵在于找到與場景目標有相同特性的模型點,最后通過點對點的對應關系來實現三維目標的匹配。
由于場景點云和模型點云中都有一組匹配點對,其中每個點都有對應的法向量。因此筆者首先在離線階段,創建全局模型描述;在線階段時,在場景中選擇參考點與模型中的參考點配對來創建點對特征,然后通過有效的投票方案來對零部件進行投票,并且該投票方案最終返回最佳匹配的零部件。
2.2.1 全局模型描述
為了在離線階段構建全局模型描述,該項目使用點對特征。其中,相似的特征向量被組合在一起[14],利用公式計算模型表面上的所有點對mi,mj∈M對應的特征向量F,即:

(2)
式中:ddist—距離閾值;dangle—角度閾值;quantize(PPT)—將點對特征進行離散化;F1—差矢量的絕對值;F2,F3,F4—矢量夾角。
其中:ddist=τdR;dangle=2π/nangle。
構建特征向量所需的距離閾值ddist與角度閾值dangle要依據實際模型情況進行適宜調整。
此處,距離閾值ddist=τdR,采樣率τd設定為15%,R為模型的直徑;角度閾值dangle=2π/nangle,法線方向的采樣閾值nangle設置為36°。經過多次試驗,上述閾值下對水泵零部件模型和場景點云進行采樣,可以使點云中的全部點都具有最小距離閾值,以更好地獲取模型表面上的細節信息。
全局模型描述是指從點對特征空間到模型點云的映射[15],其示意圖如圖10所示。

圖10 全局模型描述示意圖
圖10顯示了單個模型上具有相似特征F的點對示例,模型中點對描述由采樣特征索引的哈希表來表示。
2.2.2 局部參考系的確定
局部參考系主要用于模型點云與目標點云之間的位置轉換關系[16],如圖11所示。

圖11 模型和場景的坐標轉換示意圖
對于兩個具有相似特征F的點對,若將模型點對(mr,ms)∈M2對齊到場景對(sr,ss)∈S2,可通過式(3)由局部模型坐標變換到場景坐標,即:
(3)

對于目標點云中的任意一點si,在模型點云上必有一點mi與之對應,而點si到點mi的變換是由局部模型坐標變換到場景坐標,其核心之處取決于旋轉角α的計算。旋轉角α是目標點對特征si和原點的連線與模型點對特征mi和原點的連線形成的夾角,因此在提取點對特征過程中可以提前計算得到。旋轉角α的計算速度與準確性將直接影響后文投票過程中所需時間與識別匹配零部件的準確性,因此,筆者提前計算旋轉角α并保存。
2.2.3 基于霍夫變換的投票方案
霍夫變換的投票方案在目標識別領域應用廣泛。對于場景點云和模型點云構建的點對特征,通過投票方案得到的局部坐標有助于找到模型點云轉換至場景點云之間的剛體變換關系[17]。因此,筆者使用基于霍夫變換的投票策略完成目標的識別匹配,如圖12所示。

圖12 投票方案示意圖
投票步驟可簡述如下:
(1)在場景中選定任意兩點sr與si形成點對,計算特征向量Fs(sr,si);
(2)將具有相似特征向量Fs的模型點對(mr,ms)∈M2保全在全局模型描述階段中建立的哈希表中,再把Fs作為檢索因子搜索哈希表,獲取模型點對;
(3)用α=αs-αm求解模型點對的旋轉角;
(4)最后利用二維累加器的對應單位,對局部坐標(mr,α)進行投票。
筆者對識別到的堆疊零部件目標進行粗匹配、精匹配,最終得到目標的位姿估計,通過手眼標定的坐標系轉換,使得機械臂能準確完成抓取任務。
筆者擬采用隨機采樣一致算法(RANdom-SAmple-Consensus,RANSAC)進行位姿粗估計,其基本流程:為減少運算量,提取點云的關鍵點;選取由PPF特征建立的目標點云的特征集作為樣本集;通過將模板特征集進行多次迭代匹配確定最優轉換關系,完成位姿粗估計。
位姿粗匹配的流程如圖13所示。

圖13 位姿粗匹配流程圖
采用最近點迭代算法(iterative-closest-point,ICP)對粗估計得到的位姿進行精確估計,以進一步減少位姿誤差,提高定位精度;將粗定位得到的旋轉平移矩陣作為初始矩陣,通過迭代最近點的方式獲取滿足要求的旋轉平移矩陣。
位姿精匹配的具體流程如圖14所示。

圖14 位姿精匹配的流程圖
此處筆者以水泵泵體為例,其匹配結果圖如圖15所示。

圖15 水泵泵體匹配結果圖
其中,圖15(a)為無序堆疊泵體零部件;圖15(b)為水泵泵體的粗匹配;圖15(c)為水泵泵體的精匹配;
通過圖15(b)可以看出,只有局部幾個未遮擋的水泵泵體的點云得到了匹配;圖15(c)中,通過最近點迭代算法對粗匹配結果進行精確估計,結果發現水泵泵體的模型點云與目標點云幾乎完全重疊,實現了較好的點云匹配效果。
手眼標定是機器人抓取系統中的重要環節。它將3D傳感器坐標系與機械臂坐標系聯系到一起,確定了兩者之間的轉換關系。3D視覺系統定位到目標工件的位姿信息后,需轉換到機器人坐標系,才能使機械臂“知道”目標工件的位置。
筆者采用的Eye-to-Hand手眼系統主要包括兩部分,即基于六關節軸的機械臂的機械系統和深度相機視覺系統,所求的就是深度相機構成的3D坐標系與機械臂基座坐標系之間的轉換關系;
通過控制機械臂夾取己知標定物呈現不同位姿,基于深度相機的視覺系統“觀察”標定物位姿;然后根據兩次運動之間機械臂末端發生的移動量和視覺系統中標定物位姿的變化量,計算手眼變換矩陣,從而實現機械臂的無序抓取。
在實現機械臂的無序抓取后,還需要識別并判斷裝配體各零部件狀態是否準確。在無序抓取系統中引入零部件實時裝配狀態檢測,可以提高裝配效率及作業質量,減少后期人工檢查時間。其中,裝配體各零部件的識別是完成裝配監測的基礎,由于前文已經完成了對各零部件的識別,只需通過分析推斷出該零部件的具體狀態,從而判斷裝配過程是否出現錯誤。
鑒于裝配過程中會出現的裝配錯誤為零部件錯位和零部件漏裝,筆者將待測狀態零部件圖像與正確裝配零部件圖像進行對比,以此來判斷是否存在以上兩種裝配錯誤。其判斷過程如下:
(1)采集裝配體在該位置下正確裝配所對應的正確裝配圖像;
(2)采集各個零部件在每個裝配過程中階段性的半成品圖像,并定義為待測圖像;
(3)將正確裝配圖像與待測圖像進行比對,分別計算出正確裝配圖像與待測圖像的像素點重合率a,以及正確裝配圖像中各零部件相對于待測圖像中各零部件的像素點重合率b。
首先,裝配件的重合率a用于判斷裝配過程是否出錯,其重合率a接近1,基本可以認定其裝配正確,小于1則可以認為存在漏裝或錯裝的可能;其次,使用各零部件的重合率b用于判斷裝配過程出錯的類型,只要正確裝配圖像與待測圖像之間的各零部件均能重合,即可認為不存在漏裝。
例如:當某裝配件的重合率a遠小于1,各零部件的重合率b接近1,基本可以判斷該零部件錯位;當某裝配件的重合率a遠小于1,各零部件的重合率b遠小于1,基本可以判斷該零部件存在漏裝。
為了驗證基于3D機器視覺的堆疊零部件無序抓取系統的性能,筆者依托浙江進越水泵自動化生產線改造項目,實際搭建了無序抓取系統用以驗證改造效果。
水泵自動化生產線主要涉及葉輪、泵體、泵軸、軸承和填料密封裝置等零部件的組裝,因此筆者將這些零部件用于實驗分析與評估。
抓取的準確率和耗時是本系統性能的最終體現,但抓取的準確率和耗時直接受零部件的點云數據大小的影響。
此處筆者以水泵的泵體為例。點對特征數目對識別準確率的影響曲線如圖16所示。

圖16 點對特征數目對識別準確率的影響曲線
圖16中,隨著水泵的泵體點對特征數目的增加,泵體的數據信息、有效特征更加詳細明顯,因此識別準確率也在顯著增加;點對特征數目到達7×104之后,其對識別準確率的影響有限,但會增加識別的耗時。
此處仍以水泵的泵體為例,得到了點對特征數目對識耗時的影響曲線,如圖17所示。
由圖17可知:隨著點對特征數目的增加,算法對水泵泵體的識別耗時也在逐步增加。

圖17 點對特征數目對識別耗時的影響曲線
為保證該系統性能與實用性最佳,筆者最終選定點對特征數目為730 830,匹配準確率為94.64%,匹配耗時為1.142 4 s。
對于水泵的其他各類零部件,筆者均進行最優的點對特征數目確定。
具體的評估統計結果如表1所示。

表1 評估統計
系統的最終現場直觀表現性能為抓取成功率,因此,筆者在機械臂無序抓取平臺中進行實際抓取實驗。
實驗中,抓取對象主要有各類型水泵的泵體,包括離心泵泵體、軸流泵泵體、潛水泵泵體(3種泵體的特征均有相似之處,因此更適于作為該系統抓取成功率驗證評估對象)。
實驗中,筆者將離心泵泵體、軸流泵泵體、潛水泵泵體無序放置于箱體中,每類各10個,并重復實驗10次;記錄機械臂從箱中抓取泵體的成功次數,得到系統抓取成功率統計結果,如表2所示。

表2 抓取成功率統計
在抓取過程中,當多個水泵泵體相互靠近貼合時,相鄰的泵體會影響零件抓取,從而導致部分泵體抓取失敗。
綜上所述,在實際的水泵泵體抓取實驗中,采用該方法能夠有效地識別工件位姿,其總體平均成功率為92.3%,可以較好地引導機械臂實施無序抓取;同時,表1中的識別耗時、位姿粗估計耗時及位姿精匹配耗時均符合實時性要求,因此,該方法具備一定的實用性。
筆者通過分析基于3D機器視覺的堆疊零部件無序抓取技術現狀和存在的問題,結合未來智能制造發展的方向,通過構建堆疊零部件的識別定位模型及零部件裝配狀態的判別模型,實現了對堆疊零部件的識別及零部件裝配狀態的檢測;并以“手眼標定”的坐標系轉換引導機械臂準確完成了抓取任務,建立了一套基于3D機器視覺的堆疊零部件無序抓取系統。
該研究的主要成果如下:
(1)采用全局特征描述子PPF算法提取了零部件特征,基于霍夫變換的投票策略實現了對堆疊環境下的零部件識別;
(2)應用隨機采樣一致算法進行位姿粗估計,利用最近點迭代算法對位姿結果進行微調,最終得到了目標的位姿估計,經過標定的轉換矩陣確定零部件在真實世界坐標系下的位置和姿態,以引導機械手對堆疊擺放的零部件進行精準抓取和放置;
(3)最終將待測狀態零部件圖像與正確裝配零部件圖像進行對比來判斷零部件裝配狀態,判斷裝配是否漏裝、錯裝,對零部件的裝配進行了有效監測。
該系統目前已在水泵實際生產線應用,但仍存在不足之處有待完善。因此,在后續的研究中,主要的方向包括:
(1)目標需要識別的零部件種類較多,現采用無序抓取,且未定義抓取順序,未來將研究最優抓取規劃;
(2)該系統的識別時耗、位姿粗估計時耗及位姿精匹配時耗均有提升空間,未來將對此進行研究,尤其是針對有快速分揀需求的場景。