金啟媛,吳洪明,劉偉鵬
(武漢理工大學 物流工程學院,武漢 430063)
動態(tài)系統(tǒng)穩(wěn)定性估計SEDS軌跡規(guī)劃算法[1]于2010由Khansari-Zadeh等人提出,該方法首先對操作臂進行簡單的示教動作,得到示教數(shù)據(jù),然后通過高斯混合模型和李雅普諾夫穩(wěn)定性判據(jù)得到穩(wěn)定性約束條件,推導出產(chǎn)生類似軌跡的軌跡規(guī)劃模型,并具備在整個空間內(nèi)泛化的能力,即在任意一點,通過該軌跡規(guī)劃模型都可以得到其運動速度。但采用高斯混合模型,其參數(shù)求解過程與其設(shè)定初值有很大關(guān)系,而初始值為隨機值,因此對統(tǒng)一示教軌跡存在多組訓練結(jié)果模型的問題,模型精確性也存在一定差異。支持向量機簡稱SVM,是Vapnik等人根據(jù)統(tǒng)計學理論提出的學習方法。SVM是以結(jié)構(gòu)追求風險最小化為訓練準則,故對小樣本問題有較好的預測和泛化能力,且在處理非線性問題時引入核函數(shù),巧妙地降低維度解決了復雜的計算問題。SVM根據(jù)應用不同,分為支持向量分類(SVC)和支持向量回歸(SVR)。本文在原SEDS基礎(chǔ)上,使用支持向量回歸模型代替高斯混合模型對示范軌跡進行學習,以得到具有類似泛化能力且穩(wěn)定收斂的軌跡規(guī)劃模型。
基于SEDS的軌跡規(guī)劃的整體框架如圖1所示。機器人的控制模型分為兩層循環(huán),內(nèi)層循環(huán)指其控制系統(tǒng)的固有循環(huán),外層循環(huán)為機器人的運動學建模,包括正運動學模塊,而通過SEDS算法得到動態(tài)系統(tǒng)模塊和逆運動學模塊。

圖1 基于SEDS方法控制機器人運動的整體框架Fig.1 Controlling the overall framework of robot motion based on SEDS method
SEDS算法中動態(tài)系統(tǒng)模塊的表達式如下:

式中::Rn→Rn表示一個非線性連續(xù)微分方程;x為操作臂末端位姿向量;˙為該位姿下末端的速度向量;θ表示模型所有參數(shù)。
在動態(tài)環(huán)境下,通過SEDS訓練得到速度模型,該模型的輸入為機器人末端執(zhí)行器位姿,輸出為該狀態(tài)下的速度,對時間積分后求得下一步位置,再經(jīng)過逆運動學獲取機器人關(guān)節(jié)在當前位置的速度,由此來控制其運動軌跡[1]。
SEDS由示范編程結(jié)合穩(wěn)定性約束條件推導得出,其原理如圖2所示。示范編程方法指根據(jù)任務(wù)要求生成一條或多條示教軌跡信息,基于高斯混合模型建模,即未知映射由高斯混合模型擬合得到,通過該模型得到整個空間內(nèi)任意位姿的軌跡。穩(wěn)定性約束條件是以Lyapunov穩(wěn)定性第二定理為依據(jù),結(jié)合示范編程中的回歸模型和選取的李雅普諾夫函數(shù)得到,用以保證模型在全局范圍內(nèi)的穩(wěn)定性。

圖2 SEDS原理圖Fig.2 SEDS schematic
對于單維輸出的訓練樣本,數(shù)據(jù)樣本集(x1,y1),…,(xl,yl)∈Rn×R。 假設(shè)模型為線性,設(shè)回歸函數(shù)為[2]

而回歸估計中,最理想的情況為yi-(xi)=0。但通過部分數(shù)據(jù)進行擬合幾乎不可能達到理想狀態(tài)。因此引入ε不敏感損失函數(shù)判定回歸估計模型有效性。當預測值與實際值相差小與很小的正數(shù)ε,則可認定估計模型(x)無損[3]。
當樣本數(shù)據(jù)存在噪聲時,可能會導致回歸模型失敗,故引入松弛變量 ξ=(ξ1,ξ2,…,ξl),以保證式(3)解存在,所得ε-SVR模型的優(yōu)化目標函數(shù)為

式中:C為超參,決定回歸模型的扁平度和對大于ε的偏差的容忍之間的均衡。
對于凸二次規(guī)劃問題,利用拉格朗日乘子法去掉約束條件,再通過拉格朗日對偶性轉(zhuǎn)化為對偶問題(此優(yōu)化問題滿足 KKT條件[4]),如式(4)所示:


對求極小問題的變量求極值:

由于 γi>0,αi>0,消去 γi,得到最終的優(yōu)化目標函數(shù):

對于非線性系統(tǒng)的回歸估計,需借助核函數(shù)k(xi,x),將樣本點的內(nèi)積〈xi,xj〉轉(zhuǎn)換為隱式映射后的內(nèi)積〈φ(xi),φ(xj)〉,在高維特征空間中進行線性回歸。在式(4)用SMO算法對變量取極值,求解出α,α*后,得到回歸估計模型:

操作臂的軌跡規(guī)劃是非線性回歸問題,優(yōu)先選用高斯徑向基核函數(shù)σ為其帶寬,K始終為半正定矩陣。故單維回歸模型可表示為
多維輸出的SVR是單維輸出SVR的疊加,根據(jù)式(8)得,多維模型表示為[5]

為分析非線性系統(tǒng)穩(wěn)定性問題,常采用李雅普諾夫穩(wěn)定性第二定理,即存在一個連續(xù)以及連續(xù)可微的李雅普諾夫候選函數(shù)v(x),并滿足:

式中:x*是=f(x;θ)的吸引點,即目標點[6]。
在SEDS方法中,從運動勢能的角度考慮,越靠近目標點勢能越小,以x表示機器人末端的當前位姿,取李雅普諾夫函數(shù)為

此時目標點在原點處,即v(x*)=0。顯然滿足條件1和3,對于條件2:

式中:α= [α …α]Ti1nσ= [σ1…σn]T;B=[b1…bn]T。
將˙(x)轉(zhuǎn)化為二次型,需借助核函數(shù)的性質(zhì):若k1為核函數(shù),則對任意函數(shù)g(x),k(x1,x2)=g(x1)·k1(x1,x2)g(x2)是核函數(shù)[7]。 x 是n維向量,對 x 中的任意一維xj,設(shè)g(x)為x與n維空間中表示該維的基pj的乘積,同時k1為高斯徑向核函數(shù),則新得到的核函數(shù)為

帶入回歸模型中,對于第j維輸出:

故有:

式(15)中,取加數(shù)中的第j項:

要保證上述表達式小于0,則應滿足:

添加這2個約束條件,使得第j項小于0。由此類推,可保證等式(16)右邊至少有一個加數(shù)小于0,其他項小于等于0,進而保證等式左邊的和小于0。非支持向量對應參數(shù)為零,所以僅需考慮支持向量,設(shè)SV為支持向量集由此可得全局范圍內(nèi)的穩(wěn)定性約束條件為

由約束條件可得,回歸模型中偏置項B只能取0向量,模型變?yōu)槎嗑S無偏SVR模型,因此基于多維支持向量回歸的SEDS軌跡規(guī)劃模型為

對基于SVR的SEDS進行仿真分析時,其算法是在林智仁教授開發(fā)的libsvm基礎(chǔ)上改造的,仿真數(shù)據(jù)來自LASA原有的二維數(shù)據(jù)。本例中,目標函數(shù)中模型扁平度與偏差的容忍值之間的權(quán)重C和核函數(shù)中的參數(shù)σ以及ε帶寬度是需要預設(shè)的量。為明確參數(shù)對模型的影響,采用原SEDS模型提供的二維字母C型示教數(shù)據(jù)進行預設(shè)參數(shù)的尋優(yōu)。采用K折交叉驗證法,驗證參數(shù)取5,兩個參數(shù)的變化范圍為2-8~28之間,變化步長為20.4,確定C和σ的最優(yōu)值,以獲得最小均方差MSE,結(jié)果如圖3和4所示。

圖3 ξ1權(quán)重C和核函數(shù)中的參數(shù)σ對應MSE Fig.3 ξ1weightand C parameters σ in the kernel function corresponding to MSE

圖4 ξ2權(quán)重C和核函數(shù)中的參數(shù)σ對應MSE Fig.4 ξ2weightand C parameters σ in the kernel function corresponding to MSE
ε對權(quán)重C與參數(shù)σ變化不敏感,需要不斷地手動調(diào)試[8]。實驗中ε取值在0.1~4之間步長為0.5左右變化,如圖5所示,經(jīng)調(diào)試當ε取1.5時,對示教軌跡有較高的擬合程度,向目標點收斂,同時具備較好的全局泛化能力。
以學習2維輸出時的C形軌跡為例,全局軌跡規(guī)劃模型對比如圖6和7所示。

圖5 示教軌跡再現(xiàn)對比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
由對比圖可得,基于SVR的SEDS具有和原模型類似的泛化能力,穩(wěn)定性約束條件的存在使得軌跡能穩(wěn)定收斂,不存在局部區(qū)域無法收斂的情況。且對比兩圖中示教軌跡的左側(cè)區(qū)域,基于高斯混合模型的SEDS的規(guī)劃軌跡有所偏離,而基于SVR的SEDS仍能保持C形軌跡,故其泛化軌跡的輪廓比原SEDS有一定的提升。
本文從改變SEDS學習算法的角度,設(shè)計了新的基于支持向量機的穩(wěn)定的軌跡規(guī)劃模型,得到了與原模型類似的泛化能力,且改善了局部區(qū)域的C型軌跡,并仿真驗證了模型的可行性,使其能應用于服務(wù)機器人操作臂的軌跡規(guī)劃中。但由于需事先確定預設(shè)參數(shù)值,這個優(yōu)化過程耗時較長,軌跡規(guī)劃的便捷性會收到一定程度的限制。故下一步需要對初始參數(shù)的選擇做研究。