喬貴方,聶新港,付冬梅,張 穎,姚逸秋
(南京工程學(xué)院自動(dòng)化學(xué)院,江蘇南京 211167)
近些年,多自由度并聯(lián)機(jī)器人在智能制造領(lǐng)域中的應(yīng)用越來越廣泛。并聯(lián)機(jī)器人通過調(diào)節(jié)6個(gè)支桿長度實(shí)現(xiàn)位姿控制[1],支桿長度與機(jī)器人位姿之間的映射關(guān)系具有強(qiáng)耦合非線性。其正運(yùn)動(dòng)學(xué)解算需要求解1組含有6個(gè)未知數(shù)的非線性方程組[2],無法得到正運(yùn)動(dòng)學(xué)的解析解。
目前,并聯(lián)機(jī)器人的正運(yùn)動(dòng)學(xué)解算有多種計(jì)算方法,B.N.R.Abadi等提出了實(shí)時(shí)求解并聯(lián)機(jī)構(gòu)運(yùn)動(dòng)學(xué)問題的多種解決方案[3]。M.Liu等提出一種多元多項(xiàng)式回歸運(yùn)動(dòng)學(xué)正解算法,將多元多項(xiàng)式回歸與牛頓迭代法相合,得到一種精度可控的高效求解算法[4]。謝志江等提出了基于最速下降法和多元牛頓法的組合數(shù)值優(yōu)化方法,提高了優(yōu)化算法的迭代收斂速度[5],然而基于傳統(tǒng)數(shù)值優(yōu)化算法求解精度依賴于初值的選取。為了降低對(duì)初值的依賴程度,較多的學(xué)者利用智能算法解決并聯(lián)機(jī)器人的正運(yùn)動(dòng)學(xué)問題[6]。李平等提出一種混合人工蜂群和牛頓迭代混合算法,實(shí)現(xiàn)了4-SPS-CU、3-RRR 2種機(jī)器人的正運(yùn)動(dòng)學(xué)求解[7]。L.Li等采用粒子群算法對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,實(shí)現(xiàn)了較好的求解精度[8]。D.Guo等提出了一種基于神經(jīng)網(wǎng)絡(luò)的五自由度并聯(lián)平臺(tái)控制方法[9]。H.Q.Zhang等提出一種基于BP神經(jīng)網(wǎng)絡(luò)的Newton Raphson混合算法用于模擬平臺(tái)的軌跡移動(dòng),為并聯(lián)機(jī)器人的控制奠定了基礎(chǔ)[10]。然而六自由度并聯(lián)機(jī)器人的末端位姿包含位置和姿態(tài),但位置和姿態(tài)數(shù)據(jù)的量綱不同,并且位置和姿態(tài)誤差在數(shù)值上也相差1~2個(gè)數(shù)量級(jí),因此,通過傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)擬合會(huì)導(dǎo)致其擬合效果較差。
本文針對(duì)Stewart并聯(lián)機(jī)器人的正運(yùn)動(dòng)學(xué)求解問題開展研究,提出了一種基于DBO-PSO混合優(yōu)化算的雙級(jí)BPNN正運(yùn)動(dòng)學(xué)智能解算方法,通過仿真實(shí)驗(yàn)驗(yàn)證了該方法具有較好的正運(yùn)動(dòng)學(xué)求解精度。
本文研究的Stewart并聯(lián)機(jī)器人如圖1所示,針對(duì)該機(jī)器人建立其運(yùn)動(dòng)學(xué)模型[11]。Stewart并聯(lián)機(jī)器人的上、下平臺(tái)通過電缸、臥式虎克鉸連接在一起。上平臺(tái)臥式虎克鉸的鉸接點(diǎn)構(gòu)成的平面定義為上鉸接點(diǎn)平面A,該平面的鉸接點(diǎn)坐標(biāo)定義為Ai,i=1,2,…,6;下平臺(tái)臥式虎克鉸的鉸接點(diǎn)構(gòu)成的平面定義為下鉸接點(diǎn)平面B,該平面的鉸接點(diǎn)坐標(biāo)定義為Bi,i=1,2,…,6;上鉸接點(diǎn)平面A的中心點(diǎn)建立動(dòng)坐標(biāo)系O1-X1Y1Z1,下鉸接點(diǎn)平面B的中心點(diǎn)建立靜坐標(biāo)系O-XYZ,動(dòng)坐標(biāo)系O1-X1Y1Z1在靜坐標(biāo)系O-XYZ中的位姿表達(dá)為(x、y、z、α、β、γ),對(duì)應(yīng)的位姿變換矩陣T如式(1)所示:
(1)
根據(jù)Stewart并聯(lián)機(jī)器人的空間向量閉環(huán)關(guān)系可以得到式(2):
li=P+RBi-Ai
(2)
式中:li為電缸(支桿)在靜坐標(biāo)系O-XYZ下的向量;
P、R分別為動(dòng)坐標(biāo)系O1-X1Y1Z1在靜坐標(biāo)系O-XYZ下的位置向量和旋轉(zhuǎn)矩陣。
圖1 Stewart平臺(tái)結(jié)構(gòu)簡圖
圖2 基于DBO-PSO優(yōu)化的BPNN結(jié)構(gòu)圖
利用大量的數(shù)據(jù)對(duì)BPNN進(jìn)行訓(xùn)練,可以得到輸入與輸出之間的非線性關(guān)系。訓(xùn)練過程中主要對(duì)權(quán)值和閾值進(jìn)行調(diào)整,以訓(xùn)練數(shù)據(jù)的誤差絕對(duì)值為目標(biāo),通過迭代學(xué)習(xí),達(dá)到設(shè)定的迭代次數(shù)后停止學(xué)習(xí)。但是初始權(quán)值和初始閾值是隨機(jī)產(chǎn)生的,由于初始權(quán)值和初始閾值直接影響B(tài)PNN的結(jié)果,因此,本文使用DBO-PSO優(yōu)化算法對(duì)上文提出的BPNN進(jìn)行初始權(quán)值和閾值的優(yōu)化。
蜣螂優(yōu)化算法是東華大學(xué)的沈波教授于2022年提出的一種群智能優(yōu)化算法[12]。蜣螂優(yōu)化算法分為滾球、繁殖、覓食和偷竊4個(gè)基本步驟,一個(gè)種群按照6∶6∶7∶11的比例,將蜣螂劃分為不同的角色,如圖3所示:
圖3 蜣螂種群分布示意圖
2.2.1 蜣螂滾球
2.2.1.1 無障礙物模式
當(dāng)蜣螂前行無障礙時(shí),蜣螂滾球行為會(huì)利用太陽進(jìn)行導(dǎo)航,蜣螂位置更新公式如下:
(3)
2.2.1.2 有障礙物模式
當(dāng)蜣螂遇到障礙物時(shí),通過跳舞獲得新的前進(jìn)方向,使用切線模仿跳舞行為獲得新的滾動(dòng)方向,滾動(dòng)方向角度為[0,π]。此時(shí)位置更新公式為
(4)
當(dāng)θ=0、π/2或π時(shí),tanθ為0或∞,蜣螂位置不會(huì)更新。
2.2.2 蜣螂繁殖
蜣螂會(huì)將糞球滾到適合產(chǎn)卵的安全地方,因此,提出一種邊界選擇策略來模擬蜣螂產(chǎn)卵的區(qū)域,公式如下:
(5)
當(dāng)確定產(chǎn)卵區(qū)域后,每只雌性蜣螂在每次迭代中產(chǎn)生一個(gè)雛球,雛球的位置在迭代過程中是動(dòng)態(tài)的,位置更新公式如下:
(6)
2.2.3 蜣螂覓食
一些成熟的小蜣螂會(huì)從地下出來覓食,小蜣螂的最佳覓食區(qū)域是動(dòng)態(tài)更新的,公式如下:
(7)
小蜣螂的位置更新如下所示:
(8)
式中:C1為正態(tài)分布的隨機(jī)數(shù),即C1∈N(0,1);C2為1×D的屬于(0,1)之間的隨機(jī)向量。
2.2.4 蜣螂偷竊
在種群中,會(huì)有一些蜣螂從其他蜣螂那里偷糞球,盜賊蜣螂的位置更新如下:
(9)
式中g(shù)為1×D的屬于(0,1)之間的隨機(jī)向量。
PSO優(yōu)化算法通過群體中粒子個(gè)體之間的協(xié)作和信息共享尋找最優(yōu)解,粒子個(gè)體通過跟蹤個(gè)體極值和全局極值更新位置。粒子群算法的個(gè)體位置變化按2個(gè)基本公式:
(10)
為提高算法的全局優(yōu)化能力,本文將DBO算法于PSO算法相融合,從而提高DBO算法的全局搜索能力。蜣螂滾球分為無障礙模式和有障礙模式。各種群位置更新公式如下:
無障礙模式種群位置更新公式為
(11)
式中c3、c4分別為DBO優(yōu)化算法和PSO優(yōu)化算法的比例系數(shù)。
有障礙模式種群位置更新公式為
(12)
蜣螂繁殖種群位置更新公式為
(13)
蜣螂覓食種群位置更新公式為
(14)
蜣螂偷竊種群位置更新公式為
(15)
用于本文的Stewart并聯(lián)機(jī)器人三維結(jié)構(gòu)圖如4所示,其結(jié)構(gòu)參數(shù)如表1所示,其中鉸接點(diǎn)坐標(biāo)均表示在靜坐標(biāo)系O-XYZ下。在Stewart并聯(lián)機(jī)器人的運(yùn)動(dòng)空間范圍內(nèi)隨機(jī)選取500組位姿,利用逆運(yùn)動(dòng)學(xué)求出每組位姿對(duì)應(yīng)的支桿長度作為BPNN的訓(xùn)練集和測試集。隨機(jī)選擇350點(diǎn)構(gòu)成訓(xùn)練集,150點(diǎn)作為測試集。
圖4 Stewart平臺(tái)結(jié)構(gòu)圖
表1 Stewart平臺(tái)結(jié)構(gòu)參數(shù)
本文提出的DBO-PSO優(yōu)化算法中比例系數(shù)c3為0.1,比例系數(shù)c4為0.9,迭代次數(shù)為100。采用正運(yùn)動(dòng)學(xué)解算誤差值作為模型迭代時(shí)的適應(yīng)度值,DBO-PSO優(yōu)化算法的適應(yīng)度曲線如圖5所示。從圖5可以看出,適應(yīng)度函數(shù)很快收斂到穩(wěn)定值。
圖5 最佳適應(yīng)度曲線
為了驗(yàn)證DBO-PSO 雙級(jí)BPNN優(yōu)化算法正解的優(yōu)越性,采用相同數(shù)據(jù)集,并將初始值優(yōu)化迭代次數(shù)均設(shè)置為100,對(duì)比DBO、PSO算法優(yōu)化后的平均綜合位置、姿態(tài)誤差進(jìn)行對(duì)比,算法對(duì)比結(jié)果如圖6、圖7所示。
圖6 Stewart并聯(lián)機(jī)器人正運(yùn)動(dòng)學(xué)解算測試集的平均綜合位置誤差
圖7 Stewart并聯(lián)機(jī)器人正運(yùn)動(dòng)學(xué)解算測試集的平均綜合
模型求解誤差如表2所示,從表2中可以看到,與基于DBO雙級(jí) BPNN的求解結(jié)果相比,基于DBO-PSO 雙級(jí)BPNN求解結(jié)果在平均綜合位置、姿態(tài)誤差分別降低了92.35%、90.76%,與基于PSO 雙級(jí)BPNN的求解結(jié)果相比,基于DBO-PSO 雙級(jí)BPNN求解結(jié)果在平均綜合位置、姿態(tài)誤差分別降低了34.16%、11.10%,與基于DBO-PSO 單級(jí)BPNN的求解結(jié)果相比,基于DBO-PSO 雙級(jí)BPNN求解結(jié)果在平均綜合位置/姿態(tài)誤差分別降低了87.91%、85.39%。
表2 模型求解誤差
本文首先對(duì)Stewart并聯(lián)機(jī)器人進(jìn)行運(yùn)動(dòng)學(xué)建模,并根據(jù)位姿數(shù)據(jù)的量綱不同,提出構(gòu)建了一種雙級(jí)BPNN;其次為實(shí)現(xiàn)正運(yùn)動(dòng)學(xué)的精確解算,提出一種DBO-PSO融合算法對(duì)雙級(jí)BPNN的初始權(quán)值和閾值進(jìn)行優(yōu)化。最后為驗(yàn)證以上BPNN的結(jié)構(gòu)和DBO-PSO融合算法的效果,在Stewart并聯(lián)機(jī)器人運(yùn)動(dòng)空間隨機(jī)選取了500組位姿,利用逆運(yùn)動(dòng)學(xué)求出每組位姿對(duì)應(yīng)的支桿長度作為BPNN的訓(xùn)練集和測試集,將本文提出的DBO-PSO BPNN與DBO-BPNN、PSO-BPNN進(jìn)行實(shí)驗(yàn)結(jié)果對(duì)比。從實(shí)驗(yàn)結(jié)果可以看出,本文提出的DBO-PSO BPNN在求解Stewart并聯(lián)機(jī)器人正運(yùn)動(dòng)學(xué)的精度更高。