金啟媛,吳洪明,劉偉鵬
(武漢理工大學(xué) 物流工程學(xué)院,武漢 430063)
動(dòng)態(tài)系統(tǒng)穩(wěn)定性估計(jì)SEDS軌跡規(guī)劃算法[1]于2010由Khansari-Zadeh等人提出,該方法首先對(duì)操作臂進(jìn)行簡(jiǎn)單的示教動(dòng)作,得到示教數(shù)據(jù),然后通過(guò)高斯混合模型和李雅普諾夫穩(wěn)定性判據(jù)得到穩(wěn)定性約束條件,推導(dǎo)出產(chǎn)生類(lèi)似軌跡的軌跡規(guī)劃模型,并具備在整個(gè)空間內(nèi)泛化的能力,即在任意一點(diǎn),通過(guò)該軌跡規(guī)劃模型都可以得到其運(yùn)動(dòng)速度。但采用高斯混合模型,其參數(shù)求解過(guò)程與其設(shè)定初值有很大關(guān)系,而初始值為隨機(jī)值,因此對(duì)統(tǒng)一示教軌跡存在多組訓(xùn)練結(jié)果模型的問(wèn)題,模型精確性也存在一定差異。支持向量機(jī)簡(jiǎn)稱SVM,是Vapnik等人根據(jù)統(tǒng)計(jì)學(xué)理論提出的學(xué)習(xí)方法。SVM是以結(jié)構(gòu)追求風(fēng)險(xiǎn)最小化為訓(xùn)練準(zhǔn)則,故對(duì)小樣本問(wèn)題有較好的預(yù)測(cè)和泛化能力,且在處理非線性問(wèn)題時(shí)引入核函數(shù),巧妙地降低維度解決了復(fù)雜的計(jì)算問(wèn)題。SVM根據(jù)應(yīng)用不同,分為支持向量分類(lèi)(SVC)和支持向量回歸(SVR)。本文在原SEDS基礎(chǔ)上,使用支持向量回歸模型代替高斯混合模型對(duì)示范軌跡進(jìn)行學(xué)習(xí),以得到具有類(lèi)似泛化能力且穩(wěn)定收斂的軌跡規(guī)劃模型。
基于SEDS的軌跡規(guī)劃的整體框架如圖1所示。機(jī)器人的控制模型分為兩層循環(huán),內(nèi)層循環(huán)指其控制系統(tǒng)的固有循環(huán),外層循環(huán)為機(jī)器人的運(yùn)動(dòng)學(xué)建模,包括正運(yùn)動(dòng)學(xué)模塊,而通過(guò)SEDS算法得到動(dòng)態(tài)系統(tǒng)模塊和逆運(yùn)動(dòng)學(xué)模塊。
圖1 基于SEDS方法控制機(jī)器人運(yùn)動(dòng)的整體框架Fig.1 Controlling the overall framework of robot motion based on SEDS method
SEDS算法中動(dòng)態(tài)系統(tǒng)模塊的表達(dá)式如下:
式中::Rn→Rn表示一個(gè)非線性連續(xù)微分方程;x為操作臂末端位姿向量;˙為該位姿下末端的速度向量;θ表示模型所有參數(shù)。
在動(dòng)態(tài)環(huán)境下,通過(guò)SEDS訓(xùn)練得到速度模型,該模型的輸入為機(jī)器人末端執(zhí)行器位姿,輸出為該狀態(tài)下的速度,對(duì)時(shí)間積分后求得下一步位置,再經(jīng)過(guò)逆運(yùn)動(dòng)學(xué)獲取機(jī)器人關(guān)節(jié)在當(dāng)前位置的速度,由此來(lái)控制其運(yùn)動(dòng)軌跡[1]。
SEDS由示范編程結(jié)合穩(wěn)定性約束條件推導(dǎo)得出,其原理如圖2所示。示范編程方法指根據(jù)任務(wù)要求生成一條或多條示教軌跡信息,基于高斯混合模型建模,即未知映射由高斯混合模型擬合得到,通過(guò)該模型得到整個(gè)空間內(nèi)任意位姿的軌跡。穩(wěn)定性約束條件是以Lyapunov穩(wěn)定性第二定理為依據(jù),結(jié)合示范編程中的回歸模型和選取的李雅普諾夫函數(shù)得到,用以保證模型在全局范圍內(nèi)的穩(wěn)定性。
圖2 SEDS原理圖Fig.2 SEDS schematic
對(duì)于單維輸出的訓(xùn)練樣本,數(shù)據(jù)樣本集(x1,y1),…,(xl,yl)∈Rn×R。 假設(shè)模型為線性,設(shè)回歸函數(shù)為[2]
而回歸估計(jì)中,最理想的情況為yi-(xi)=0。但通過(guò)部分?jǐn)?shù)據(jù)進(jìn)行擬合幾乎不可能達(dá)到理想狀態(tài)。因此引入ε不敏感損失函數(shù)判定回歸估計(jì)模型有效性。當(dāng)預(yù)測(cè)值與實(shí)際值相差小與很小的正數(shù)ε,則可認(rèn)定估計(jì)模型(x)無(wú)損[3]。
當(dāng)樣本數(shù)據(jù)存在噪聲時(shí),可能會(huì)導(dǎo)致回歸模型失敗,故引入松弛變量 ξ=(ξ1,ξ2,…,ξl),以保證式(3)解存在,所得ε-SVR模型的優(yōu)化目標(biāo)函數(shù)為
式中:C為超參,決定回歸模型的扁平度和對(duì)大于ε的偏差的容忍之間的均衡。
對(duì)于凸二次規(guī)劃問(wèn)題,利用拉格朗日乘子法去掉約束條件,再通過(guò)拉格朗日對(duì)偶性轉(zhuǎn)化為對(duì)偶問(wèn)題(此優(yōu)化問(wèn)題滿足 KKT條件[4]),如式(4)所示:
對(duì)求極小問(wèn)題的變量求極值:
由于 γi>0,αi>0,消去 γi,得到最終的優(yōu)化目標(biāo)函數(shù):
對(duì)于非線性系統(tǒng)的回歸估計(jì),需借助核函數(shù)k(xi,x),將樣本點(diǎn)的內(nèi)積〈xi,xj〉轉(zhuǎn)換為隱式映射后的內(nèi)積〈φ(xi),φ(xj)〉,在高維特征空間中進(jìn)行線性回歸。在式(4)用SMO算法對(duì)變量取極值,求解出α,α*后,得到回歸估計(jì)模型:
操作臂的軌跡規(guī)劃是非線性回歸問(wèn)題,優(yōu)先選用高斯徑向基核函數(shù)σ為其帶寬,K始終為半正定矩陣。故單維回歸模型可表示為
多維輸出的SVR是單維輸出SVR的疊加,根據(jù)式(8)得,多維模型表示為[5]
為分析非線性系統(tǒng)穩(wěn)定性問(wèn)題,常采用李雅普諾夫穩(wěn)定性第二定理,即存在一個(gè)連續(xù)以及連續(xù)可微的李雅普諾夫候選函數(shù)v(x),并滿足:
式中:x*是=f(x;θ)的吸引點(diǎn),即目標(biāo)點(diǎn)[6]。
在SEDS方法中,從運(yùn)動(dòng)勢(shì)能的角度考慮,越靠近目標(biāo)點(diǎn)勢(shì)能越小,以x表示機(jī)器人末端的當(dāng)前位姿,取李雅普諾夫函數(shù)為
此時(shí)目標(biāo)點(diǎn)在原點(diǎn)處,即v(x*)=0。顯然滿足條件1和3,對(duì)于條件2:
式中:α= [α …α]Ti1nσ= [σ1…σn]T;B=[b1…bn]T。
將˙(x)轉(zhuǎn)化為二次型,需借助核函數(shù)的性質(zhì):若k1為核函數(shù),則對(duì)任意函數(shù)g(x),k(x1,x2)=g(x1)·k1(x1,x2)g(x2)是核函數(shù)[7]。 x 是n維向量,對(duì) x 中的任意一維xj,設(shè)g(x)為x與n維空間中表示該維的基pj的乘積,同時(shí)k1為高斯徑向核函數(shù),則新得到的核函數(shù)為
帶入回歸模型中,對(duì)于第j維輸出:
故有:
式(15)中,取加數(shù)中的第j項(xiàng):
要保證上述表達(dá)式小于0,則應(yīng)滿足:
添加這2個(gè)約束條件,使得第j項(xiàng)小于0。由此類(lèi)推,可保證等式(16)右邊至少有一個(gè)加數(shù)小于0,其他項(xiàng)小于等于0,進(jìn)而保證等式左邊的和小于0。非支持向量對(duì)應(yīng)參數(shù)為零,所以僅需考慮支持向量,設(shè)SV為支持向量集由此可得全局范圍內(nèi)的穩(wěn)定性約束條件為
由約束條件可得,回歸模型中偏置項(xiàng)B只能取0向量,模型變?yōu)槎嗑S無(wú)偏SVR模型,因此基于多維支持向量回歸的SEDS軌跡規(guī)劃模型為
對(duì)基于SVR的SEDS進(jìn)行仿真分析時(shí),其算法是在林智仁教授開(kāi)發(fā)的libsvm基礎(chǔ)上改造的,仿真數(shù)據(jù)來(lái)自LASA原有的二維數(shù)據(jù)。本例中,目標(biāo)函數(shù)中模型扁平度與偏差的容忍值之間的權(quán)重C和核函數(shù)中的參數(shù)σ以及ε帶寬度是需要預(yù)設(shè)的量。為明確參數(shù)對(duì)模型的影響,采用原SEDS模型提供的二維字母C型示教數(shù)據(jù)進(jìn)行預(yù)設(shè)參數(shù)的尋優(yōu)。采用K折交叉驗(yàn)證法,驗(yàn)證參數(shù)取5,兩個(gè)參數(shù)的變化范圍為2-8~28之間,變化步長(zhǎng)為20.4,確定C和σ的最優(yōu)值,以獲得最小均方差MSE,結(jié)果如圖3和4所示。
圖3 ξ1權(quán)重C和核函數(shù)中的參數(shù)σ對(duì)應(yīng)MSE Fig.3 ξ1weightand C parameters σ in the kernel function corresponding to MSE
圖4 ξ2權(quán)重C和核函數(shù)中的參數(shù)σ對(duì)應(yīng)MSE Fig.4 ξ2weightand C parameters σ in the kernel function corresponding to MSE
ε對(duì)權(quán)重C與參數(shù)σ變化不敏感,需要不斷地手動(dòng)調(diào)試[8]。實(shí)驗(yàn)中ε取值在0.1~4之間步長(zhǎng)為0.5左右變化,如圖5所示,經(jīng)調(diào)試當(dāng)ε取1.5時(shí),對(duì)示教軌跡有較高的擬合程度,向目標(biāo)點(diǎn)收斂,同時(shí)具備較好的全局泛化能力。
以學(xué)習(xí)2維輸出時(shí)的C形軌跡為例,全局軌跡規(guī)劃模型對(duì)比如圖6和7所示。
圖5 示教軌跡再現(xiàn)對(duì)比Fig.5 Teaching track reproduction contrast
圖6 原SEDS全局軌跡規(guī)劃模型Fig.6 Original SEDS global trajectory planning model
圖7 基于SVR的SEDS全局軌跡規(guī)劃模型Fig.7 SVR-based SEDS global trajectory planning model
由對(duì)比圖可得,基于SVR的SEDS具有和原模型類(lèi)似的泛化能力,穩(wěn)定性約束條件的存在使得軌跡能穩(wěn)定收斂,不存在局部區(qū)域無(wú)法收斂的情況。且對(duì)比兩圖中示教軌跡的左側(cè)區(qū)域,基于高斯混合模型的SEDS的規(guī)劃軌跡有所偏離,而基于SVR的SEDS仍能保持C形軌跡,故其泛化軌跡的輪廓比原SEDS有一定的提升。
本文從改變SEDS學(xué)習(xí)算法的角度,設(shè)計(jì)了新的基于支持向量機(jī)的穩(wěn)定的軌跡規(guī)劃模型,得到了與原模型類(lèi)似的泛化能力,且改善了局部區(qū)域的C型軌跡,并仿真驗(yàn)證了模型的可行性,使其能應(yīng)用于服務(wù)機(jī)器人操作臂的軌跡規(guī)劃中。但由于需事先確定預(yù)設(shè)參數(shù)值,這個(gè)優(yōu)化過(guò)程耗時(shí)較長(zhǎng),軌跡規(guī)劃的便捷性會(huì)收到一定程度的限制。故下一步需要對(duì)初始參數(shù)的選擇做研究。