王開(kāi)帥,朱玉全
(1.江蘇食品藥品職業(yè)技術(shù)學(xué)院 基礎(chǔ)教學(xué)部,江蘇 淮安 223003;2.江蘇大學(xué)計(jì)算機(jī)科學(xué)與通信工程學(xué)院,江蘇 鎮(zhèn)江 212013)
隨著機(jī)器人發(fā)展,機(jī)器人得到了廣泛的應(yīng)用。為提高農(nóng)業(yè)的自動(dòng)化水平和減少人力勞動(dòng)工作強(qiáng)度,學(xué)者們將機(jī)器人用于農(nóng)業(yè)工程,并進(jìn)行了深入研究[1]。文獻(xiàn)[2]設(shè)計(jì)一種夾剪蘋果采摘機(jī)的機(jī)械臂,文獻(xiàn)[3]設(shè)計(jì)出了一種枸杞采摘的智能雙機(jī)械臂結(jié)構(gòu)的采摘機(jī)器人,文獻(xiàn)[4]基于機(jī)器視覺(jué)設(shè)計(jì)了番茄智能采摘機(jī)器人,文獻(xiàn)[5]設(shè)計(jì)了葡萄采摘4?DOF機(jī)械臂。機(jī)械臂是采摘機(jī)器人關(guān)鍵組成要素,文獻(xiàn)[6]采用SA?PSO算法優(yōu)化了油茶果采摘機(jī)械結(jié)構(gòu)參數(shù);文獻(xiàn)[7]采用MATLAB優(yōu)化工具箱實(shí)現(xiàn)了果蔬采摘機(jī)械臂的參數(shù)優(yōu)化;文獻(xiàn)[8]基于參數(shù)化分析方法優(yōu)化了蘋果采摘機(jī)器人結(jié)構(gòu)參數(shù);文獻(xiàn)[9]基于WORKBENCH實(shí)現(xiàn)了對(duì)香蕉采摘機(jī)械手夾持裝置的優(yōu)化;文獻(xiàn)[10]設(shè)計(jì)了欠驅(qū)動(dòng)機(jī)構(gòu)黃瓜采摘機(jī)械臂,并采用二次多項(xiàng)式建立了設(shè)計(jì)參數(shù)與優(yōu)化目標(biāo)之間的數(shù)學(xué)模型,實(shí)現(xiàn)了參數(shù)的優(yōu)化。
文獻(xiàn)[10]建立的數(shù)學(xué)模型的精度是實(shí)現(xiàn)機(jī)構(gòu)參數(shù)優(yōu)化的關(guān)鍵;代理模型技術(shù)是建立設(shè)計(jì)參數(shù)與優(yōu)化目標(biāo)之間數(shù)學(xué)模型的有效辦法,常用的代理模型有響應(yīng)面、KRIGING、RBF等,針對(duì)文獻(xiàn)[10]中的欠驅(qū)動(dòng)機(jī)構(gòu)的優(yōu)化問(wèn)題,提出了一種基于混合蛙跳算法改進(jìn)的KRIGING代理模型技術(shù)來(lái)建立設(shè)計(jì)參數(shù)與優(yōu)化目標(biāo)之間的數(shù)學(xué)模型,利用KRIGING模型建立設(shè)計(jì)參數(shù)與滑道擺動(dòng)角度峰值之間的數(shù)學(xué)模型。
通過(guò)混合蛙跳算法優(yōu)化傳統(tǒng)kriging 模型變異函數(shù)的參數(shù),提高建立的數(shù)學(xué)模型精度,為參數(shù)優(yōu)化和分析提供更加準(zhǔn)確的數(shù)學(xué)模型;最后基于建立的參數(shù)優(yōu)化數(shù)學(xué)模型,分析了滑塊驅(qū)動(dòng)速度、滑軌高度、滑軌傾角單獨(dú)變化和交叉變化時(shí)對(duì)滑道擺動(dòng)角度峰值的影響,為設(shè)計(jì)的參數(shù)選擇提供依據(jù)。
采摘機(jī)械臂主要由切刀、擺動(dòng)氣缸、上層機(jī)械臂、直線滑臺(tái)、下層機(jī)械臂、滑軌、滾輪、軸、后連桿、前連桿、護(hù)板及滑道等組成[10];機(jī)構(gòu)的運(yùn)動(dòng)矢量圖[10],如圖1所示。
圖1 采摘機(jī)械臂機(jī)構(gòu)矢量圖Fig.1 Vector Diagram of Picking Manipulator Mechanism
如圖1可知,采摘機(jī)械臂主要由5個(gè)構(gòu)件組成,其中活動(dòng)構(gòu)件4個(gè),5個(gè)運(yùn)動(dòng)副均為低副,則其自由度則為:
該機(jī)構(gòu)中原動(dòng)件的數(shù)量S=1,則有F=2 >S=1,機(jī)構(gòu)屬于欠驅(qū)動(dòng)機(jī)構(gòu)。根據(jù)矢量運(yùn)算,
為利用復(fù)數(shù)矢量法進(jìn)行機(jī)構(gòu)分,將式(2)表達(dá)成復(fù)數(shù)形式則有:
根據(jù)歐拉公式,則式(3)則可以表達(dá)為:
根據(jù)式(6)和式(7),可以得到構(gòu)件4的滑動(dòng)位移:
由式(9)可知,構(gòu)件4的運(yùn)動(dòng)由V1,h,l2,τ決定;但h=sinβ=常數(shù),則件4的運(yùn)動(dòng)由V1,l2,τ決定。因此V1,l2,τ則作為設(shè)計(jì)變量。V1,l2,τ的取值范圍為:
KRG(克里金)在擬合函數(shù)時(shí),將未知函數(shù)看成是某個(gè)靜態(tài)隨機(jī)過(guò)程的具體實(shí)現(xiàn),即對(duì)于任意位置的x,對(duì)應(yīng)的函數(shù)值Y(x)被一個(gè)隨機(jī)函數(shù)y(x)代替,而y(x)只是Y(x)的可能結(jié)果之一。其插值結(jié)果定義為已知樣本函數(shù)響應(yīng)值的線性加權(quán),即:
式中:fj(x)—基函數(shù),一般為多項(xiàng)式;
βj—相對(duì)應(yīng)的系數(shù);
Z(x)是一個(gè)靜態(tài)隨機(jī)過(guò)程,其滿足均值為0,方差為σ2。
且對(duì)于設(shè)計(jì)空間內(nèi)不同兩點(diǎn)處所對(duì)應(yīng)的隨機(jī)變量之間的協(xié)方差為:
其中,R(xi,xj)—相關(guān)性函數(shù),它表示不同位置處隨機(jī)變量之間的相關(guān)性,常用的相關(guān)性函數(shù)為高斯型函數(shù)。為保證Kriging預(yù)測(cè)值與真實(shí)函數(shù)值之間的均方根誤差(RMSE)最小,可得到Kriging模型的近似表達(dá)式:
式中:F—由基函數(shù)向量組成的矩陣;
—KRG模型系數(shù)的最小二乘估計(jì)值;
R—相關(guān)性矩陣;
Ns—樣本點(diǎn)數(shù)。
式中:θ—KRG模型的超參數(shù),它可以通過(guò)極大似然估計(jì)法求解優(yōu)化問(wèn)題來(lái)確定:
Kevin Lanes 和Mustafa Eusuff 于2003 年提出了混合蛙跳算法(SFLA)[11],它是一種具有較強(qiáng)局部搜索能力全局搜索能力啟發(fā)式智能算法;這種算法的有效性不倚賴問(wèn)題,適用于復(fù)雜工程問(wèn)題求解[11?12]。其實(shí)現(xiàn)目標(biāo)優(yōu)化步驟為:
(1)初始化:包括種群大小F、種群個(gè)數(shù)m和步長(zhǎng);隨機(jī)產(chǎn)生包含F(xiàn)只青蛙的群體,并計(jì)算每只青蛙的適應(yīng)度;假設(shè)(fx)是一S維函數(shù),在其空間中產(chǎn)生F個(gè)體為S緯空間的一個(gè)解(i=1,2,…F)。
(2)子種群劃分:適應(yīng)度大小的值對(duì)整個(gè)蛙群進(jìn)行排序并分解為m個(gè)族群,計(jì)算每個(gè)解的目標(biāo)函數(shù)值f(xi)(i=1,2,…F),按照降序?qū)⒛繕?biāo)函數(shù)值進(jìn)行排列,一個(gè)子群中,用xb和xw分別表示目標(biāo)函數(shù)值最好和最差對(duì)就有解,xg用來(lái)表示目標(biāo)函數(shù)最優(yōu)值對(duì)應(yīng)的解。
(3)局部搜索:每個(gè)族群執(zhí)行it次局部搜索以更新本族群的最差解(記為xw),在迭代過(guò)程中,其更新公式為:
其中,rand()—(0~1)之間的隨機(jī)數(shù);Di—青蛙的移動(dòng)步長(zhǎng),Dmax表示允許青蛙移動(dòng)的最大距離。
(4)子種群混合:所有族群完成局部搜索后,將所有青蛙混合在一起重新分組,當(dāng)次迭代結(jié)束;
(5)終止條件判斷:滿足收斂條件則終止,否則重新排序并劃分族群,然后繼續(xù)執(zhí)行(3)局部搜索。
基于近似模型的建立機(jī)械臂擺動(dòng)優(yōu)化數(shù)學(xué)模型和實(shí)現(xiàn)參數(shù)分析主要包括了確定變量及其水平取值、DOE 實(shí)驗(yàn)設(shè)計(jì)與采樣、近似模型建立與誤差驗(yàn)證、參數(shù)分析等步驟,具體流程,如圖2所示。
圖2 基于混合蛙跳?kriging模型的欠驅(qū)動(dòng)機(jī)構(gòu)參數(shù)分析流程Fig.2 Parameter Analysis Flow of Underactuated Mechanism Based on Shuffled Frog Leaping Algorithm?Kriging Model
對(duì)V1,l2,τ三個(gè)參數(shù)在其取值范圍間之,采用均勻試驗(yàn)設(shè)計(jì)方法進(jìn)行試驗(yàn)設(shè)計(jì),其試驗(yàn)設(shè)計(jì)結(jié)果及響應(yīng)值(滑道擺動(dòng)峰峰值),如表1所示。
表1 均勻試驗(yàn)設(shè)計(jì)及響應(yīng)結(jié)果Tab.1 Uniform Test Design and Response Results
為驗(yàn)證提出算法的有效性,在MATLAB 數(shù)字仿真平臺(tái)實(shí)現(xiàn)了應(yīng)該算法,并將這里的算法與文獻(xiàn)[10]中的多項(xiàng)式回歸擬合方法進(jìn)行對(duì)比;這里的算法與文獻(xiàn)[10]中的方式的相關(guān)系數(shù)(R2)均方根誤差(RMSE)以及相對(duì)最大絕對(duì)誤差(RMAE)評(píng)價(jià)指標(biāo)情況,如表2所示。
表2 優(yōu)化前后評(píng)價(jià)指標(biāo)情況Tab.2 Evaluation Index Before and After Optimization
從表2中可以看出,與文獻(xiàn)[10]中的利用多項(xiàng)式回歸擬合方法建立的參數(shù)優(yōu)化數(shù)學(xué)模型相比較,提出的基于SFLA算法改進(jìn)的kriging算法相關(guān)系數(shù)R2,相對(duì)最大絕對(duì)誤差(RMAE),最大絕對(duì)誤差(RMAE)均得到了改進(jìn),則說(shuō)改進(jìn)的算法的全局近似能力,局部近似能力得到了提高,精度更高。文獻(xiàn)[10]和這里算法建立數(shù)學(xué)模型發(fā)后的殘差圖,如圖3、圖4所示。
圖3 文獻(xiàn)[10]的殘差圖Fig.3 Residual Diagram of Literature[10]
圖4 這里提出方法的殘差圖Fig.4 Residual Diagram of Proposed Method
圖中可以看出,基于文獻(xiàn)[10]的方法建立的模型其誤差在(?5E?3,5E?3)之間,而基于這里算法的建立的模型其誤差在(?1E?15,1E?15)之間;且本文算法的誤差分布相對(duì)比較集中,而文獻(xiàn)[10]的誤差比較分散;綜上所述建立的機(jī)械臂滑塊驅(qū)動(dòng)速度、滑軌高度、滑軌傾角與滑道擺動(dòng)角度峰值之間的參數(shù)優(yōu)化數(shù)學(xué)模型精度更高,誤差更小,為參數(shù)優(yōu)化提供更加精確的數(shù)學(xué)模型。
在4.2建立的數(shù)學(xué)模型的基礎(chǔ)上,討論V1,l2,τ三個(gè)參數(shù)在其取值范圍變化時(shí)對(duì)滑道擺動(dòng)角度峰值的影響,滑塊驅(qū)動(dòng)速度、滑軌高度、滑軌傾角單獨(dú)變化時(shí)對(duì)滑道擺動(dòng)角度峰值的影響,如圖5所示。
其中,滑塊驅(qū)動(dòng)速度單獨(dú)變化時(shí)對(duì)滑道擺動(dòng)角度峰值的影響,如圖5(a)所示?;墐A角單獨(dú)變化時(shí)對(duì)滑道擺動(dòng)角度峰值的影響,如圖5(b)所示?;壐叨葐为?dú)變化時(shí)對(duì)滑道擺動(dòng)角度峰值的影響,如圖5(c)所示。
從圖5可以看出,V1,l2,τ三個(gè)參數(shù)在其取值范圍由小變大的時(shí),滑道擺動(dòng)角度峰值變化呈現(xiàn)變小再變大的變化趨勢(shì),滑軌傾角引起,滑道擺動(dòng)角度峰值變化幅度最大,其次是驅(qū)動(dòng)速度,變化幅度最小的是滑軌高度。
圖5 參數(shù)單獨(dú)變化時(shí)對(duì)滑道擺動(dòng)角度峰值的影響Fig.5 Influence of Parameters on the Swing Angle Slide Value
滑塊驅(qū)動(dòng)速度、滑軌高度、滑軌傾角交叉變化時(shí)對(duì)滑道擺動(dòng)角度峰值影響等高線圖,如圖6所示。
圖6 參數(shù)交叉變化時(shí)對(duì)滑道擺動(dòng)角度峰值影響等高線圖Fig.6 Contour Map of Influence of Parameter Cross Change on the Swing Angle Slide Value
其中,滑塊驅(qū)動(dòng)速度?滑軌傾角交叉變化時(shí)對(duì)滑道擺動(dòng)角度峰值影響等高線圖,如圖6(a)所示。滑塊驅(qū)動(dòng)速度?滑軌高度交叉變化時(shí)對(duì)滑道擺動(dòng)角度峰值影響等高線圖,如圖6(b)所示。滑軌傾角?滑軌高度交叉變化時(shí)對(duì)滑道擺動(dòng)角度峰值影響等高線圖,如圖6(c)所示。
其次是滑塊驅(qū)動(dòng)速度?滑軌傾角交叉變化,引起滑道擺動(dòng)角度峰值變化小的是滑塊驅(qū)動(dòng)速度?滑軌高度交叉變化。等高線的間距越小,則說(shuō)明滑塊驅(qū)動(dòng)速度、滑軌高度、滑軌傾角兩兩之間具有相互增強(qiáng)作用。
針對(duì)欠驅(qū)動(dòng)機(jī)構(gòu)運(yùn)動(dòng)的不確定性引起的采摘機(jī)械臂滑道大幅度擺動(dòng)現(xiàn)象導(dǎo)致的機(jī)構(gòu)運(yùn)動(dòng)不穩(wěn)定性的問(wèn)題,為優(yōu)化機(jī)械臂參數(shù),減少滑道擺動(dòng)角度峰峰值,提出了一種基于代理模型技術(shù)來(lái)建立設(shè)計(jì)參數(shù)與優(yōu)化目標(biāo)之間的數(shù)學(xué)模型。
同時(shí),提出了一種基于混合蛙跳算法的kriging 模型優(yōu)化方法,通過(guò)混合蛙跳算法優(yōu)化傳統(tǒng)kriging模型變異函數(shù)的參數(shù),提高kriging模型的建模精度。
(1)改進(jìn)后的算法其相關(guān)系數(shù)(R2),均方根誤差(RMSE)以及相對(duì)最大絕對(duì)誤差(RMAE)均得到了不同程度的改良,提高了傳統(tǒng)kriging 算法的全局近似能力,減少了局部誤差,提升了擬合精度。
(2)與文獻(xiàn)[10]相比較,本文所提出的算法具有更高的精度,為實(shí)現(xiàn)機(jī)械臂參數(shù)優(yōu)化,解決欠驅(qū)動(dòng)機(jī)構(gòu)運(yùn)動(dòng)的不確定性引起的采摘機(jī)械臂滑道大幅度擺動(dòng)現(xiàn)象導(dǎo)致的機(jī)構(gòu)運(yùn)動(dòng)不穩(wěn)定性的問(wèn)題,提供更加精確參數(shù)優(yōu)化數(shù)學(xué)模型。
(3)滑塊驅(qū)動(dòng)速度、滑軌高度、滑軌傾角三個(gè)參數(shù)在其取值范圍由小變大的時(shí),滑道擺動(dòng)角度峰值變化呈現(xiàn)變小再變大的變化趨勢(shì),引起滑道擺動(dòng)角度峰值變化幅度由大到小的順序?yàn)榛墐A角、驅(qū)動(dòng)速度、滑軌高度。
(4)交叉變化引起的滑道擺動(dòng)角度峰值由大到小的順序?yàn)榛墐A角?滑軌高度、滑塊驅(qū)動(dòng)速度?滑軌傾角、滑塊驅(qū)動(dòng)速度?滑軌高度。