余曉蘭 萬 云 陳靖照
(1. 重慶城市職業學院,重慶 402160; 2. 鄭州大學,河南 鄭州 450000)
在以分揀機器人應用為核心的食品生產線上,快速識別和定位作業對象是分揀機器人的重要技術之一[1]。隨著生產企業的不斷發展和機器人技術的進步,對生產線的效率和機器人工作的復雜性要求越來越嚴格,機器人加裝視覺傳感器逐漸成為發展的主流[2]。因此,研究食品分揀機器人的視覺伺服控制方法具有重要的現實意義。
滕游等[3]提出了一種將內部點傳輸和圖像反饋相結合用于視覺伺服預測控制,將視覺控制器設計問題轉化為控制量和可視性約束問題,得到控制量的迭代解,并驗證了該方法的有效性。陶波等[4]從3個方面(目標函數、軌跡規劃、控制器)對無標定視覺伺服控制系統進行了分析,針對軌跡規劃可能存在的問題,從空間軌跡優化和避障方面探討了現有的可行解決方案。李光等[5]提出了一種基于殘差BP神經網絡的6自由度機器人視覺伺服控制方法,使用多個殘差網絡模塊來加深BP神經網絡的深度。結果表明殘差模塊的輸入信息可以跨網絡層發送,這就解決了網絡模型隨深度的增加易出現梯度消失的問題且能提高網絡的性能。Li等[6]提出了一種混合視覺伺服系統,可同時控制非完整約束的底盤和機械手;基于移動機器人的運動微分方程,推導出了整個機器人的全局雅可比矩陣,結合位置信息和視覺圖像信息推導出HVS控制方程;引入了卡爾曼濾波器來校正機械手邊緣的位置和方向,以避免觀測位置誤差;并驗證了該方法的優越性。然而,上述研究的實時性較差,且受機器人運動模型的影響,實際使用中準確率不高,需進一步提高適應性。
基于此,文章擬提出一種基于改進粒子群算法(PSO)和BP神經網絡的食品分揀機器人視覺伺服控制方法;粒子群算法在迭代過程中使用交叉和變異操作來保持種群多樣性,對BP神經網絡的初始權值和閾值進行優化,并通過仿真和實驗驗證該方法的有效性,旨在為機器人視覺伺服控制技術的研究提供一定的參考。
建立SNRB6型關節機器人的運動學模型,如圖1所示為一個六軸機器人及其D-H坐標系。其中1~3軸控制位置,4~6軸控制姿態。

圖1 六軸機器人及其D-H坐標系
從D-H坐標系和機器人結構出發,推導機器人的D-H 參數。D-H參數和關節參數見表1。

表1 機器人D-H參數
根據變換關系,導出末端與坐標系的關系,即正運動學,如式(1)所示[7]。
(1)
式中:
[n,o,a]——機器人的末端姿勢;
[px,py,pz]T——機器人的末端位置。
(2)
式中:
ci=cosθi;
si=sinθi;
s23=sin(θ2+θ3);
c23=cos(θ2+θ3);
U1=px-d6ax;
U2=py-d6ay;
A=(-d6+pz-d1);
B=d6(axc1+ays1)-(pxc1+pys1-a1);
l=a2s3+d4。
因此,可以計算末端和各關節的映射關系。
采用攝像頭安裝在機器人的末端執行器上跟隨機器人運動,采集圖像信息提取特征后與期望圖像特征進行對比,將誤差值轉換為各關節的角度值[8]。機器人向目標運動,直到特征誤差為零。圖2為基于圖像的視覺伺服控制系統結構。

圖2 視覺伺服控制系統結構

(3)
式中:
KP、KI——比例和積分系數矩陣,對稱正定可調;
J+——雅可比矩陣的偽逆矩陣。
BP神經網絡在機器人視覺伺服控制方面被廣泛應用,但存在收斂慢、過擬合、局部極值等問題[10]。通過粒子群算法在迭代過程中進行交叉和變異保持種群多樣性,對BP神經網絡的初始權值和閾值進行優化。
BP神經網絡由兩部分組成:前向和反向傳播[11]。通過實際值和期望值進行參數調整,使輸出接近期望值,圖3 為網絡拓撲圖。

圖3 BP網絡拓撲
設置輸入層n、隱藏層l、輸出層m、輸入層輸入值Xn、輸出層輸出值Ym、網絡權重ωij和ωjk等。網絡是從自變量到因變量的非線性映射,大量樣本用于訓練,步驟為:
(1) 參數初始化:輸入層節點數n、隱藏層節點數l、輸出層節點數m、連接權值ωij和ωjk、隱藏閾值a、輸出層閾值b等相關參數。
(2) 隱含層Hj輸出:按式(4)計算[12]。
(4)
式中:
f——該層的激活功能。
(3) 輸出層輸出Ok:按式(5)計算[13]。
(5)
(4) 誤差計算:按式(6)計算。
ek=Yk-Ok,k=1,2,…,m,
(6)
式中:
O、Y——實際輸出和期望輸出。
(5) 更新后的權值和閾值計算:按式(7)計算。
(7)
式中:
η——學習率。
(6) 對迭代終止條件進行判斷。滿足條件則結束,不滿足返回步驟(2)。
粒子群優化算法是一種用于解決多用途、多變量等問題的全局優化算法[14]。通過粒子適應度表現優勢,每個粒子的適應度取決于目標函數。隨著粒子數量的增加,新粒子的位置由飛行速度v決定,大小由計算得到。
通過式(8)和式(9)進行速度和位置更新[15]。
(8)
(9)
式中:
c1、c2——自學習和社會學習因子(c1=c2=2);
r1、r2——[0,1]之間的隨機數;

pbest——個體最優解;
gbest——全局最優解;
ω——權重因子。
但是,粒子群優化算法在全局優化過程中會陷入局部極值。雖然在局部優化過程中不易陷入局部優化,但會降低收斂速度[16]。使用遺傳算法來優化粒子群算法,粒子群算法在迭代過程中進行交叉和變異保持種群多樣性,提高搜索能力。具體步驟為:
(1) 初始化粒子群算法和遺傳算法參數。
(2) 計算適應度值,更新種群的個體極值pbest和全局極值gbest。
(3) 對粒子的位置和速度進行更新,適應度值從小到大排序分為3個級別:適應度值較好的種群為U1,適應度一般的種群為U2,適應度狀況較差的種群為U3。
(4) 粒子群算法的交叉操作。將U1子群直接遺傳到下一代,對U2子群以交叉概率進行粒子交叉運算。通過比較交叉后父子粒子的適應度值,將適應性強的粒子遺傳到下一次迭代[17]。
(5) 粒子群算法的變異操作。對子種群U3進行變異操作,并將結果返回粒子群。
(6) 重新計算PSO適應度值并更新pbest和gbest。
(7) 判斷是否滿足終止條件,滿足條件則結束,不滿足返回步驟(3)。
將GA-PSO算法輸出最優值作為BP神經網絡的初始權值和閾值。圖4為GA-PSO算法的流程。

圖4 GA-PSO算法流程
通過GA-PSO算法對BP神經網絡的初始權重和閾值進行優化,達到最小化輸出誤差的目標。優化前,根據BP神經網絡參數對粒子群進行編碼,如果網絡的輸入層、隱藏層和輸出層的節點數分別為I、J、K,則BP神經網絡有D=(I+1)J+(J+1)K個參數。該算法的具體步驟為:
(1) 對BP神經網絡進行參數初始化,包括輸入層節點數、隱藏層節點數和輸出層節點數等。
(2) 對粒子群種群進行初始化,根據BP神經網絡參數對粒子群進行編碼,每條編碼信息代表一個個體。
(3) 參數優化,通過GA-PSO算法迭代找到全局最優解即BP神經網絡的最優參數。
(4) 將全局最優解作為BP神經網絡的初始權值和閥值進行訓練,直到滿足終止條件,輸出最終結果。
圖5為GA-PSO-BP神經網絡算法的流程圖。

圖5 改進BP神經網絡流程
機器人型號為SNRB6,攝像頭型號為In-Sight 5705,使用眼在手上方式,攝像頭安裝在機器人末端執行器上。仿真設備為聯想PC,操作系統為Windows7 64位旗艦,Intel i5 2450m CPU,2.5 GHz頻率,8 GB內存,MATLAB r2018a為仿真平臺。
BP神經網絡參數:輸入節點8個,輸出節點6個,隱藏層10個,選擇 Tansig函數和Purelin函數作為傳遞函數。訓練算法使用LM算法,其中最大迭代次數為100、學習率0.4、動量因子0.8和期望誤差10-6。
粒子群參數:慣性權重為0.7,兩個學習因子均為2。
遺傳算法參數:交叉和變異概率分別為0.6,0.1。種群數均為80,最大跌代次數為100。
為了驗證文中控制模型的優越性,將GA-PSO-BP神經網絡模型與改進前的BP神經網絡模型進行對比分析,結果見圖6。
由圖6可知,PSO-GA-BP神經網絡模型收斂速度優于未改進前的BP神經網絡模型,PSO-GA-BP神經網絡模型在80次迭代后收斂到所需的輸出精度8.176 3×10-6,而BP神經網絡模在100次迭代后未收斂到所需的輸出精度。結果表明,PSO-GA-BP神經網絡與改進前的BP神經網絡相比收斂速度提升較為明顯。

圖6 不同模型誤差變化曲線對比
對圖像進行預處理、邊緣檢測、特征提取后,選取目標物體上4個孔的中心點作為圖像特征點A、B、C、D。在圖像空間中對應的特征點為A′、B′、C′、D′。目標是控制分揀機器人的運動,到達特征點坐標重合位置,實際坐標與期望坐標構成一個8維特征向量,神經網絡控制器的8個輸入。
(1) 期望的圖像坐標

(2) 初始關節角度
q0=[1.159 4,1.116 5,0.681 9,-0.387 2,-1.033 8,-1.502 4]T。
(3) 攝像機參數:焦距8 mm,分辨率8萬Pixel/m,目標成像深度1.5 m,圖像中心點為(338,338),控制器比例系數kp=1.5,采樣時間0.2 s。
通過試驗對GA-PSO-BP神經網絡和復合雅可比矩陣J+兩種視覺伺服控制方法進行對比分析。復合雅可比矩陣表示圖像特征空間與關節角度、移動平臺位姿空間之間的手眼映射關系[18]。圖7為不同伺服控制方法機器人各關節的運動軌跡。
由圖7可知,PSO-GA-BP神經網絡控制優于傳統的J+控制,可以更好地逼近圖像特征誤差值與關節角度之間的非線性關系,極大地提高了關節的跟蹤能力,從而實現對分揀機器人的高精度控制。

圖7 機器人關節軌跡
為了分析試驗誤差,采用圖像特征誤差范圍數為指標進行分析,得到的圖像特征誤差范數變化曲線如圖8所示。

圖8 圖像特征誤差范數變化曲線
由圖8可知,GA-PSO-BP神經網絡的視覺伺服控制圖像特征誤差范數優于J+控制,運動20 s時GA-PSO-BP神經網絡控制特征誤差范數為4.762 0,J+控制的特征誤差范數為30.128 7。結果表明,基于GA-PSO-BP神經網絡的視覺伺服控制方案大大簡化了計算復雜度,建立的圖像特征與關節角的非線性關系也更為準確,說明GA-PSO-BP神經網絡控制器具有訓練精度高和收斂速度快等優點。
由圖9可知,圖像特征最終收斂位置的像素為:

與期望位置相比,像素的平均絕對誤差約為2.1 Pixel,位置逼近的相對誤差約為0.38%,說明分揀機器人的末端執行器已到達所需位置,系統效率高,實用性能好,該方法可用于食品生產中。

星形為初始值,點為最終收斂值,箭頭為變化方向
文中提出了將BP神經網絡和改進粒子群優化算法相結合用于視覺伺服控制。結果表明,與傳統控制方法相比,該方法可以較快地到達指定位置,且效率較高。考慮到目前的試驗設備和數據規模,文中提出的分揀機器人視覺伺服控制方法還處于早期階段,僅對控制方法進行了分析,未對圖像處理過程進行研究,也未考慮障礙物和關節限制等問題。后期應不斷完善分揀機器人相關功能,以適應未來不斷變化的應用環境。