李 昊,蔡榮欣,胡遵陽
(宿州學院機械與電子工程學院,安徽宿州234000)
機器人技術的開發與應用經過長時間的發展,已經成為現代工業不可或缺的一部分。在機器人行業蓬勃發展的今天,德國提出“工業4.0”戰略,拉開了第四次科技革命的帷幕,中國隨后也提出“智造2020”。在這樣的大環境下,智能制造將逐漸依賴機器自動化,并對其加工產品的復雜度和靈活度的要求逐步提高,在工業生產中采用機器自動化代替人工已是大勢所趨。工業生產投入大量機器人,不僅可以代替人工,解放工人的雙手,降低時間成本和資金成本,而且還可以讓產品生產的流水線更加精確化、規范化,從而保證了產品的生產質量和生產效率。一般在工業生產的流水線上,主流的機器人當屬機械臂。其中,機械臂在工業分揀中得到了廣泛的應用。復雜的拾取-放置工作使得工業機械臂在工業流水線上作業時,需要人工干預其軌跡,無法真正實現智能自動化,這就大大降低了機械臂對環境的適應性,背離了使用機器人參與生產的初衷。因此,致力于工業生產的科學家們近幾年將機器視覺技術用于工業機器人的改良中,以解決流水線上產品在傳送帶位置隨機的問題,因其極高的實用性,逐漸成為國內外的科學家的研究熱點。機器視覺技術無疑使機器人得到了更多的環境信息,并且可以利用這些信息進行決策和處理,給予了機器人判斷和決策的能力。為此,提出了一種基于機器視覺的五自由度分揀機械臂。在分揀的基礎上,通過對同類物塊擺放狀態的檢測,識別出物塊擺放狀態,反饋到機械臂做出相應的工作方式對物塊進行抓取作業。
機器視覺采用opencv,機器視覺的主要框架如圖1所示。

圖1 機器視覺的主要框架
這是一個主要攝像頭拍攝取樣、數據預處理、圖像矯正、神經網絡識別等的過程。一般數據預處理就是對圖像信號進行降噪濾波處理,降低外界因素對圖像信號的干擾,這是從圖像中提取物塊信息的前提。
圖像預處理模塊的主要功能是攝像機標定、圖像畸變校正和頻率選擇濾波。如果相機圖像沒有經過參數標定,就會產生畸變變形。將設備拍到的成像對象進行標定,利用校正后的參數對相機采集的所有圖像進行校正,并通過頻率選擇對圖像信號進行濾波,使圖像信號更接近真實環境的圖像信息。圖像預處理模塊首先接收攝像機捕獲的傳輸信號的參數節點,然后分析接收圖像節點。在接收多幅圖像后,計算相機標定參數并反饋給相機參數節點。如果相機沒有校準,圖像預處理將讀取圖像,并用校正后的參數對圖像進行校正,并將校正后的圖像反饋給計算機。
利用域平均濾波噪聲的思想,在實驗中對同一目標拍攝多幅圖像,通過對多幅圖像信息進行疊加和平均,可以減弱隨機噪聲對圖像信息的影響。在相同條件下,接受相同物塊的M幅圖像如下所示。

那么多幅圖像平均法為

如果圖像信息中只有均值為零,方差為,添加行白噪聲與圖像無關,圖像之間的噪聲也不相關,即


在對相機拍攝的圖像進行預處理之后,為了便于識別和分類目標物塊,將進一步處理圖像并將位于不同圖像區域中的目標物塊與圖像背景分離。在這方面,采用邊緣檢測方法,通過將邊緣作為目標物塊和目標物塊之間廣泛存在的圖像的最基本特征的基礎以及背景圖片來劃分目標物塊的位置。
該方法的目的是檢測和確定目標塊和背景之間的邊緣點。本設計使用與不同方向上的邊對應的一系列漸變方向梯度集,使得寫入方向上的梯度模板僅對模板方向上的突變敏感。然后將每個方向上的梯度模板與圖像卷積,其中最大模數是邊緣點的強度示數。對應于最大模量的模板的方向是邊緣點的方向,其被定義為


式中,i表示方向模板的序號,Wi表示第i方向的模板,|Gi(m,n)|表示第i方向的梯度模板,N表示模板的個數,*表示為卷積處理。對求得的G(m,n)進行取閥值分析,就可以得到邊緣點和方向系數,其中的邊緣點的方向就用上述定義的變量表示。
機械臂設計采用鎂鋁合金為主要材質,在結構上采用圓周圓盤帶滾珠模型,使機械臂抓取物塊時的受力在底盤上而非在底盤自由度上,減少舵機堵轉概率,底盤重1.5 kg;圓盤直徑13cm,底盤選擇角度為360°。機械臂共有五個自由度,包括四個垂直180°的自由度,和一個360°旋轉的自由度。其中第五個自由度可以使得機械臂在平面內設置位置上進行搬運工作完成平面中精確和迅速的定位。第二、三、四個自由度是具有垂直升降的移動關節,可以用于在垂直面或者圓柱面內的運動。第一個自由度是抓取關節,對機械抓進行控制,從而達到抓取物塊的功能。由于材料的承受力大保證了機械臂在垂直方向上具有較強的剛度,五個自由度的配合又保證了較高的精確度,同時咋水平面內可以自由快速的轉動,所以對于應對平面定位以及完成分揀抓取物塊任務的完成,是符合設計要求的。
主板設計由電源模塊、顏色識別模塊、EEPROM模塊、串口模塊、已經擴展接口。設計雙層板,將電源模塊與控制模塊分開,避免電流過大導致主路板升溫損壞元器件。可以實現物塊的識別、物塊的抓取、搬運、分揀。在軟件使用方面,編寫上位機對機械臂抓取位置進行設置,并通過上位機反饋的舵機角度,記錄下位置信息,在keil5軟件中進行程序編寫,對機械臂搬運工作實現自動化。
神經元是由生物學研究和大腦反應機制建立的拓撲網絡。本實驗參考神經元拓撲結構設計神經網絡,神經元的拓撲結構如圖2.

圖2 神經元的拓撲結構圖
將若干個處理神經元通過一定的互聯模型連接成一個網絡,這個網絡通過一定的處理可以模擬人的一些動作過程,以達到識別分類的目的。一個人工神經元將接受的信息x1,···,xn-1通過用W0,W1,···,Wn-1來表示連接強度,以點積的形式合成為輸入,如拓撲結構圖所示,并把它和設定的偏差作比較,再經過某函數f的變換,便得到處理神經元的輸出y。
神經元的輸入和輸出的關系為

其中,xi標識為第i個輸入元素;Wi表示為從第i個輸入與神經元之間的互聯權系數;θ表示為神經元的閾值;y表示為神經元的輸出。
本部分運用Matlab軟件進行目標物塊識別,利用軟件強大的功能,構建BP神經網絡、訓練和仿真。
一般將樣本容量為N的訓練集表示為

將算式中Xn定義為該樣本中對應的ni維輸入特征量,將tn為n0維的區別輸出變量。
其中損失函數定義為

為了取得最優的連接權值,需要將下列算式求解,解決最優化問題:

得出相對于參數Θ的梯度方向為

通過不斷修正參數Θ,直到訓練過程收斂。
BP網絡神經對目標物塊識別流程主要是,將攝像頭拍攝的圖像信息預處理得出的向量和目標編號組合起來,組成一個訓練樣本,這樣對于每一幅圖像都具有了訓練樣本,再將訓練樣本中的目標編號刪除,剩下的不變矩序列就可以作為待識別的樣本數據。建立神經網絡、訓練神經網絡,識別待識別的樣本數據,網絡在通過映射給出識別結果。
通過BP神經網絡對物塊圖像信息的分析,可以得到實時的目標位置數據,由上位機得出的各個位置的舵機角度參數,利用STM32芯片實現對機械臂的控制,最終完成分揀任務(包如圖3)。

圖3 物塊擺放位置點和機械臂擺放位置
本文采用不同形狀、顏色的小物塊進行實驗。在相同條件下,只更改物塊的一種屬性,所以本文設置三組對照組,顏色相同形狀不同、形狀相同顏色不同、顏色相同大小不同。實驗圖紙與機械臂舵機角度的關系如表1所示。

表1 實驗圖紙與機械臂舵機角度關系表
設置顏色都為黑色的圓柱體、正方體、長方體。將黑色圓柱體擺放在1號位置,擺放目標位置為A位置;將黑色正方體擺放在2號位置,擺放目標位置為4號位置;將黑色長方體擺放在3號位置,擺放目標位置為B號位置。設置形狀都為圓柱體,顏色分別為黑色、白色、藍色。將黑色圓柱體擺放在1號位置,擺放目標位置為A位置;將白色圓柱體擺放在2號位置,擺放目標位置為4號位置;將藍色圓柱體擺放在3號位置,擺放目標位置為B號位置。設置形狀都為底面積相同的圓柱體,顏色都為黑色,高分別為3 cm、10 cm、15 cm。將黑色圓柱體擺(3cm)放在1號位置,擺放目標位置為A位置;將黑色圓柱體(10cm)擺放在2號位置,擺放目標位置為4號位置;將黑色圓柱體(15cm)擺放在3號位置,擺放目標位置為B號位置。得出表2的實驗結果。

表2 識別結果
本文設計的基于機器視覺的五自由度機械臂具有操作簡單、結構穩定、方便安裝、便于維護等優點。通過相關實驗的驗證,模型基本符合預期設計標準。本文設計的機械臂控制系統盡管實現了運行控制、圖像采集、數據通信等功能,但礙于實驗室條件下的測試,還有許多問題亟待解決。