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