楊雨佳, 神顯豪, 劉珊珊, 程日光
(1. 廣州理工學(xué)院 計算機科學(xué)與工程學(xué)院,廣東 廣州 510540; 2. 桂林理工大學(xué) 廣西嵌入式技術(shù)與智能系統(tǒng)重點實驗室,廣西 桂林 541004;3. 華南理工大學(xué) 計算機科學(xué)與工程學(xué)院,廣東 廣州 510006; 4. 桂林電子科技大學(xué) 材料科學(xué)與工程學(xué)院,廣西 桂林 541004)
工業(yè)4.0概念的提出意味著智能化時代的到來。為了適應(yīng)世界制造產(chǎn)業(yè)的發(fā)展新需求,機器人的應(yīng)用越來越廣泛,同時對機器人的控制復(fù)雜度要求也逐步提升,作為機器人控制末端的主要單元機械臂,其視覺伺服控制技術(shù)一直是機械工程的一個研究焦點問題[1-3]。
逆運動學(xué)求解是機械臂視覺伺服控制過程中的一個重要問題,應(yīng)用領(lǐng)域也十分廣泛,主要分析機械臂末端執(zhí)行器笛卡兒空間坐標與機械臂關(guān)節(jié)空間關(guān)節(jié)變量之間的對應(yīng)關(guān)系[4]。隨著工業(yè)技術(shù)的不斷發(fā)展,機械臂的結(jié)構(gòu)變得越來越復(fù)雜,傳統(tǒng)上采用幾何算法和代數(shù)算法的求運動學(xué)逆解方法已經(jīng)無法在規(guī)定的時間和精度范圍內(nèi)完成計算,因此,本文中采用將極限學(xué)習機(ELM)和入侵性雜草優(yōu)化(IWO)相結(jié)合的算法來實現(xiàn)快速的六自由度機械臂運動學(xué)求解,利用ELM單隱層前饋神經(jīng)網(wǎng)絡(luò)相關(guān)參數(shù)(權(quán)值和偏置)隨機初始化的優(yōu)勢,以提高求解的時間效率,利用IWO算法提高運動學(xué)求逆解的準確度,為改善工業(yè)六軸機械臂的視覺伺服控制性能提供支撐。
逆運動學(xué)求解主要解決的問題是如何在機械臂末端執(zhí)行器笛卡兒空間坐標與機械臂關(guān)節(jié)空間關(guān)節(jié)變量之間建立對應(yīng)關(guān)系[5-7]?;趲缀嗡惴ê痛鷶?shù)算法的傳統(tǒng)求運動學(xué)逆解方法已經(jīng)無法適用于目前大多數(shù)高冗余度機器人(幾何結(jié)構(gòu)更加復(fù)雜),因此,目前研究人員主要采用神經(jīng)網(wǎng)絡(luò)或智能優(yōu)化算法來解決該類問題[8-11]。例如,文獻[8]中提出了基于反向傳播(BP)神經(jīng)網(wǎng)絡(luò)的六軸并聯(lián)機器人標定逆運動學(xué)求解。文獻[9]中提出了基于自適應(yīng)神經(jīng)網(wǎng)絡(luò)的全狀態(tài)觀測器,用于求解逆運動學(xué)模型,其創(chuàng)新之處在于將自適應(yīng)神經(jīng)網(wǎng)絡(luò)用于逼近機器人的死區(qū)函數(shù)和未知模型,使得末端執(zhí)行器初始位置的誤差較小。
類似于上述基于人工神經(jīng)網(wǎng)絡(luò)的原理,文獻[10]中提出了將模擬退火算法和遺傳算法相混合的智能算法來進一步減小末端執(zhí)行器的誤差。文獻[11]中通過粒子群優(yōu)化(PSO)算法來優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)重參數(shù),以便改善6個旋轉(zhuǎn)自由度仿人機械臂運動學(xué)求解性能。
通過比較上述方法發(fā)現(xiàn),現(xiàn)有基于神經(jīng)網(wǎng)絡(luò)和智能優(yōu)化算法的機械臂求逆解仍存在某些問題: 1)多數(shù)采用BP神經(jīng)網(wǎng)絡(luò)的方法存在收斂速度慢、算法執(zhí)行效率低的問題; 2)采用PSO或者遺傳算法(GA)的智能優(yōu)化對初始中心的敏感性較大,導(dǎo)致容易陷入局部極小值,全局最優(yōu)解不準確。這一點在面對具有較多局部最優(yōu)值的問題時表現(xiàn)十分突出,導(dǎo)致精度不夠理想。
由于ELM比傳統(tǒng)的人工神經(jīng)網(wǎng)絡(luò)具有極高的訓(xùn)練速度,因此文獻[12]中提出了基于GA-ELM的機械臂振動預(yù)測模型,明顯提高了實際工作過程中機械臂的工作效率。與此同時,有學(xué)者提出了IWO算法并進行了推廣應(yīng)用[13-16]。因為模擬了雜草生物生長方式,所以IWO算法的魯棒性、適應(yīng)性較為突出。與PSO和GA等算法相比,IWO算法在處理多峰函數(shù)問題時求解能力更佳。黃霞等[13]提出了用IWO算法求解作業(yè)車間調(diào)度問題,兼顧了全局搜索和局部搜索,實驗結(jié)果優(yōu)于PSO算法的。
為了解決以上問題,本文中提出了一種基于入侵性雜草優(yōu)化的機械臂運動學(xué)逆解方法,其創(chuàng)新之處在于: 1)利用ELM輸入層權(quán)值和隱藏層偏置隨機初始化的優(yōu)勢,以保證機械臂求逆解的實時性; 2)利用IWO算法在處理多峰函數(shù)問題時求解能力更佳的優(yōu)勢,兼顧全局搜索和局部搜索,以保證機械手求逆解的準確性。
本文中以六自由度機械臂作為研究對象,并通過最常用的Denavit和Hartenberg提出的為桿件建立坐標系的矩陣方法(簡稱D-H法),建立機械臂的正向運動學(xué)模型。六自由度機械臂的關(guān)節(jié)運動約束和模型參數(shù),如表1所示。
表1 六自由度機械臂的關(guān)節(jié)和模型參數(shù)
在機械臂的正向運動學(xué)模型中,鄰近關(guān)節(jié)坐標系(坐標系n+1和坐標系n)的變換矩陣為
nTn+1=An+1=
R(z,θn+1)T(0,0,dn+1)T(an+1,0,0)R(x,αn+1)=
(1)
式中:sn+1、cn+1、sαn+1和cαn+1分別代表sinθn+1、cosθn+1、sinαn+1和cosαn+1;R(z,θn+1)、R(x,αn+1)分別為繞x、z軸的旋轉(zhuǎn)變換矩陣;T(an+1, 0, 0)、T(0, 0,dn+1)均為對應(yīng)的平移變換矩陣。
在六自由度機械臂正向運動學(xué)模型中構(gòu)建鄰近關(guān)節(jié)坐標系的變換矩陣之后,坐標系中機械臂末端執(zhí)行器位姿0T6為
(2)
式中: [px,py,pz]T為坐標系中末端執(zhí)行器的空間位置矢量; [nx,ny,nz]T、[ox,oy,oz]T和[ax,ay,az]T分別為坐標系中末端執(zhí)行器在x、y、z軸上的矢量。
傳統(tǒng)的采用BP神經(jīng)網(wǎng)絡(luò)的方法存在收斂速度慢、算法執(zhí)行效率低的問題,原因是其采用了梯度下降的方式來調(diào)節(jié)神經(jīng)網(wǎng)絡(luò)的權(quán)值和偏置,而極限學(xué)習機ELM采用單隱層前饋架構(gòu),因此學(xué)習時間較短,其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
注: bi為第i個隱層節(jié)點的偏置; tj為輸出矢量; Xj為輸入矢量; Wi為輸入權(quán)值向量; βi為輸出權(quán)值向量。圖1 極限學(xué)習機網(wǎng)絡(luò)結(jié)構(gòu)
ELM的輸出函數(shù)為
(3)
式中:bi為第i個隱層節(jié)點的偏置;oj為輸出矢量;Xj為輸入矢量;Wi為輸入權(quán)值向量,Wi=[wi1,wi2, …,win]T;βi為輸出權(quán)值向量,βi=[βi1,βi2, …,βim]T;h(·)為激活函數(shù)。其中,輸入權(quán)值向量和偏置是隨機產(chǎn)生的。
最小化訓(xùn)練誤差的方式如下:
(4)
式中:β為輸出權(quán)值矩陣;T為端執(zhí)行器值姿矩陣。
利用最小二乘法對式(4)進行求解,獲得輸出矩陣為
(5)
式中H?表示廣義逆矩陣。
通過ELM對六自由度機械臂正向運動學(xué)模型求解運動學(xué)逆解時,其訓(xùn)練集合為關(guān)節(jié)角度向量θ=[θ1,θ2, …,θ6]和端執(zhí)行器位姿T的數(shù)據(jù)組合(θ,T)。ELM通過訓(xùn)練輸出機械臂關(guān)節(jié)角度向量,完成逆解初解。
生物學(xué)上被稱為雜草的植物一般會表現(xiàn)出生命力頑強、繁殖能力突出和生長周期短的特性,比農(nóng)作物具有更強的抗性和環(huán)境適應(yīng)性[13-16]。1962年,MacArthur提出了種群繁殖理論,對種群的繁衍和競爭淘汰策略進行研究。IWO正是一種模擬雜草占地生長與繁殖策略而提出,用來求解約束問題的群智能優(yōu)化算法,具有以下特點: 1)基于適應(yīng)度值的繁殖規(guī)則; 2)遵循正態(tài)分布的種子擴散; 3)采用柔和的競爭排斥機制。
典型的求解問題優(yōu)化IWO算法分為4個主要操作。
1)種群初始化操作。采用隨機原則在求解空間范圍內(nèi)散布m0株雜草,即第一代種子群,其中種子的位置表示約束問題函數(shù)的所需解。此外,還需要對全部種子位置的適應(yīng)度值進行首次評估。
2)雜草的繁殖操作。在雜草種子適應(yīng)度值排序(從大到小)后執(zhí)行繁殖操作,如圖2所示。
圖2 雜草繁殖原理示意圖
雜草a在第(h+1)次迭代中遵循的繁殖規(guī)則為
?a=1,2,…,m(h),
(6)
式中:qa(h)為第h次迭代后雜草a的當前位置;fmax(h)、fmin(h)分別為第h次迭代后種群的最大和最小適應(yīng)度;m(h)為第h次迭代后的雜草數(shù)量;f(qa(h))為雜草a在當前位置qa(h)下的適應(yīng)度值; 運算符?·」表示向下取整;Smax、Smin分別為雜草能夠產(chǎn)生的最大和最小種子數(shù)量。
3)種子的空間擴散操作。隨著迭代次數(shù)的增加,標準差會不斷減小,從而確保子代與父代之間的差距。在第(h+1)次迭代中標準差的公式[14]如下:
?j=1,2,…,D,
(7)
式中:ψ為非線性調(diào)制指數(shù),通常取值為2;σmax, j、σmin, j分別為D維解空間中第j維分量的最大和最小標準差;hmax為最大迭代次數(shù)。
4)競爭淘汰操作。在上述繁殖和擴散操作后,將父代種群及其后代一起根據(jù)適應(yīng)度值從大到小排序,并開始新的繁殖操作,其他雜草個體均丟棄。
重復(fù)迭代以上4個操作,直至達到最大迭代次數(shù) ,此時種群中適應(yīng)度最大的雜草位置就是尋優(yōu)過程的輸出。
執(zhí)行IWO的過程中,將機械臂末端執(zhí)行器的誤差最小作為IWO算法的適應(yīng)度函數(shù),即
(8)
式中:T為ELM計算得到的逆解位姿;T′為輸入的目標位姿,T′=(px,py,pz,ox,oy,oz,ax,ay,az,nx,ny,nz)。
基于ELM-IWO的機械臂逆解算法流程見圖3。
圖3 基于極限學(xué)習機(ELM)-入侵性雜草優(yōu)化(IWO)的機械臂逆解步驟
本文中提出的基于ELM-IWO的機械臂逆解算法的主要思路為:首先基于正運動學(xué)模型,利用ELM計算出機械臂求逆解的初解,即機械臂末端執(zhí)行器的位姿θ′=(θ1,θ2,…,θ6);然后將θ′=(θ1,θ2,…,θ6)作為IWO算法的輸入計算機械臂末端執(zhí)行器的誤差,通過迭代進化對種群中各個體進行降序方式排列,選擇排序靠前的個體構(gòu)建新一代的種群,最終將種群中適應(yīng)度值最小的雜草位置作為所求最小優(yōu)化問題的最優(yōu)解。
為了驗證本文中提出的基于ELM-IWO的機械臂逆解算法的性能,在真實六自由度機械臂[17]上分別進行驗證分析,并與基于PSO-BP神經(jīng)網(wǎng)絡(luò)的求機械臂逆解方法進行綜合對比分析。采用的實驗數(shù)據(jù)集共包含7 000個樣本,其中隨機選擇了2 000個樣本作為測試樣本,其余5 000個樣本作為訓(xùn)練樣本。ELM-IWO算法中輸入節(jié)點數(shù)量為8,輸出節(jié)點數(shù)量為4,采用的激勵函數(shù)為Sigmod函數(shù)。工業(yè)六自由度機械臂為一臺UR5六自由度機械臂,如圖4所示。
圖4 UR5六自由度機械臂
首先對ELM求機械臂逆解初解的能力進行分析。當網(wǎng)絡(luò)結(jié)構(gòu)中隱藏層節(jié)點的數(shù)量不斷增多時,ELM和BP神經(jīng)網(wǎng)絡(luò)的均方差和訓(xùn)練時間對比結(jié)果分別如圖5所示。從圖中可以看出,隨著隱藏層節(jié)點的增加,ELM和BP神經(jīng)網(wǎng)絡(luò)的求機械臂逆解精度均不斷提高,兩者的精度差距不大。相比之下,ELM的訓(xùn)練時間幾乎沒有增加,而BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時間隨著節(jié)點數(shù)量增加而大幅增加。
以下對IWO算法優(yōu)化機械臂逆解的性能進行比較分析。PSO、IWO和混合模擬退火[10]3種優(yōu)化機械臂逆解方法的末端執(zhí)行器收斂性能如圖6所示,迭代次數(shù)均為50次。從圖中可以明顯看出,相比于其他2種算法,IWO算法達到相同的精度水平所需的時間最少。
(a)訓(xùn)練精度(b)訓(xùn)練時間圖5 隱藏層節(jié)點不同時極限學(xué)習機(ELM)和反向傳播(BP)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練精度和訓(xùn)練時間
PSO—粒子群優(yōu)化算法; IWO—入侵性雜草優(yōu)化算法。圖6 不同算法的末端執(zhí)行器誤差
對ELM-IWO和PSO-BP神經(jīng)網(wǎng)絡(luò)[11]2種算法分別進行了10組目標位姿機械臂對應(yīng)逆解實驗,最終得出2種算法求機械臂逆解的誤差和所用時間,結(jié)果如圖7所示。從圖中可以看出,ELM-IWO算法與PSO-BP神經(jīng)網(wǎng)絡(luò)算法的誤差范圍一致,均為1.00~4.00 mm,但是ELM-IWO算法的平均末端誤差更小,僅為2.516 mm,據(jù)此可以驗證該算法具有更高的求機械臂逆解精度。在達到相同精度水平時,ELM-IWO算法具有更短的收斂時間,平均計算時間僅為5.68 ms,實時性更好。
本文中將ELM和IWO算法相結(jié)合來實現(xiàn)快速、準確的六自由度機械臂運動學(xué)求解。首先,利用ELM輸入層權(quán)值和隱藏層偏置隨機初始化的優(yōu)勢,提高了求逆解時間效率;其次,利用IWO算法提高了運動學(xué)求逆解的準確度。實驗結(jié)果驗證了ELM-IWO算法在工業(yè)六自由度機械臂求逆解上的可行性和先進性; 但是該算法僅在六自由度機械臂上進行了求逆解且為固定位姿,因此后續(xù)還需要對其適用性進一步驗證,以便在更多的機械臂場景上進行推廣和應(yīng)用。
(a)誤差(b)時間圖7 極限學(xué)習機(ELM)-入侵性雜草優(yōu)化(IWO)算法與粒子群優(yōu)化(PSO)-反向傳播(BP)神經(jīng)網(wǎng)絡(luò)算法求機械臂逆解的結(jié)果