王保民,齊湛江,閆瑞翔,劉洪芹
(蘭州理工大學(xué)機(jī)電工程學(xué)院,730050,蘭州)
SCARA機(jī)器人是一種有4個(gè)自由度的平面關(guān)節(jié)型機(jī)器人,它能模仿人類(lèi)手臂的動(dòng)作,可完成零件安裝和物品搬運(yùn)等工作,已廣泛應(yīng)用于塑料、汽車(chē)、電子、藥品和食品等工業(yè)領(lǐng)域[1]。為適應(yīng)機(jī)器人高速度、高精度與智能化發(fā)展的需要,建立精確的SCARA機(jī)器人動(dòng)力學(xué)模型,對(duì)提高其控制精度與運(yùn)動(dòng)精度具有重要意義[2-3]。然而,機(jī)器人是一個(gè)多變量、強(qiáng)耦合的非線(xiàn)性系統(tǒng),為了準(zhǔn)確建立機(jī)器人動(dòng)力學(xué)模型,通常需要對(duì)其動(dòng)力學(xué)參數(shù)進(jìn)行辨識(shí)[4-5]。
最小二乘法是傳統(tǒng)的參數(shù)辨識(shí)方法,張鐵等運(yùn)用牛頓歐拉法建立SCARA機(jī)器人動(dòng)力學(xué)模型,采用最小二乘法辨識(shí)出較高精度的機(jī)器人動(dòng)力學(xué)參數(shù)[6]。最小二乘法辨識(shí)精度高,但在計(jì)算量較大時(shí)無(wú)法滿(mǎn)足實(shí)時(shí)性要求[7]。丁力等基于加權(quán)最小二乘法與人工蜂群算法相結(jié)合的辨識(shí)算法對(duì)工業(yè)機(jī)器人動(dòng)力學(xué)參數(shù)進(jìn)行了辨識(shí),并通過(guò)實(shí)驗(yàn)驗(yàn)證了該算法在力矩辨識(shí)中的精度[8]。孫玉陽(yáng)等利用遺傳算法對(duì)工業(yè)機(jī)器人動(dòng)力學(xué)模型進(jìn)行了參數(shù)辨識(shí),該算法可以有效地避免局部最優(yōu)解[9]。劉宇等采用小區(qū)間生成法和大變異策略對(duì)遺傳算法進(jìn)行了改進(jìn),有效提高了空間機(jī)器人動(dòng)力學(xué)參數(shù)的辨識(shí)精度[10]。傳統(tǒng)粒子群算法也常用于機(jī)械臂各關(guān)節(jié)動(dòng)力學(xué)參數(shù)的辨識(shí),但該算法存在搜索空間有限,易陷入局部最優(yōu)解的問(wèn)題[11-12]。王躍靈等利用改進(jìn)粒子群遺傳算法對(duì)柔性關(guān)節(jié)機(jī)器人動(dòng)力學(xué)進(jìn)行參數(shù)辨識(shí),該算法采用動(dòng)態(tài)自適應(yīng)調(diào)整策略,有效提高了粒子群算法收斂速度[13]。王金磊為了得到上肢康復(fù)機(jī)器人前兩關(guān)節(jié)的動(dòng)力學(xué)參數(shù),在小范圍、局部空間內(nèi)通過(guò)變參數(shù)粒子群算法得到精確的參數(shù)[14]。
上述研究通過(guò)不同的算法有效地提高了機(jī)器人動(dòng)力學(xué)參數(shù)的辨識(shí)精度和效率,但在大計(jì)算量下,仍存在搜索空間有限、極易陷入局部最優(yōu)解等問(wèn)題。針對(duì)此問(wèn)題,本文以臺(tái)達(dá)公司的DRS40L3型SCARA機(jī)器人為研究對(duì)象,將機(jī)器人第3、4關(guān)節(jié)與未知小負(fù)載固聯(lián)在第2關(guān)節(jié)上進(jìn)行結(jié)構(gòu)簡(jiǎn)化,基于Lagrange法建立帶負(fù)載的機(jī)器人動(dòng)力學(xué)數(shù)學(xué)模型,確定需要辨識(shí)的末端動(dòng)力學(xué)參數(shù)。在傳統(tǒng)粒子群算法(TPSO)的基礎(chǔ)上,提出一種隨機(jī)權(quán)重粒子群算法(RWPSO)對(duì)機(jī)器人動(dòng)力學(xué)參數(shù)進(jìn)行參數(shù)辨識(shí),并通過(guò)仿真實(shí)驗(yàn)驗(yàn)證該方法的有效性。
SCARA機(jī)器人結(jié)構(gòu)如圖1所示,它有3個(gè)軸線(xiàn)相互平行的旋轉(zhuǎn)關(guān)節(jié),在平面內(nèi)進(jìn)行定位和定向,另一關(guān)節(jié)是用于完成垂直平面工作的移動(dòng)關(guān)節(jié)。

圖1 SCARA機(jī)器人結(jié)構(gòu)圖Fig.1 SCARA robot structure diagram
SCARA機(jī)器人3、4關(guān)節(jié)質(zhì)量加起來(lái)遠(yuǎn)遠(yuǎn)小于1、2關(guān)節(jié)的質(zhì)量,為了簡(jiǎn)化動(dòng)力學(xué)計(jì)算,提高參數(shù)辨識(shí)的精度和效率,將SCARA機(jī)器人的第3、4關(guān)節(jié)與未知小負(fù)載統(tǒng)一成整體負(fù)載體,變成小臂的一部分[15-16]。簡(jiǎn)化后SCARA機(jī)器人結(jié)構(gòu)如圖2所示。

圖2 SCARA機(jī)器人結(jié)構(gòu)簡(jiǎn)化圖Fig.2 Simplified diagram of SCARA robot structure
對(duì)于n自由度關(guān)節(jié)串聯(lián)機(jī)器人,忽略摩擦的動(dòng)力學(xué)模型為

(1)

帶有未知小負(fù)載兩關(guān)節(jié)機(jī)械臂結(jié)構(gòu)如圖3所示。SCARA機(jī)器人運(yùn)行中的摩擦力矩較小,并且摩擦力矩很難精確建模[17]。因此,為降低辨識(shí)成本和提高辨識(shí)精度,在不改變模型的前提下,把其他因素的影響通過(guò)辨識(shí)過(guò)程包含進(jìn)機(jī)械臂的慣性參數(shù)中,得到一組滿(mǎn)足計(jì)算精確性的綜合參數(shù)。如圖3所示,二連桿機(jī)器人由7個(gè)慣性參數(shù)組成,包括:

圖3 帶負(fù)載的兩關(guān)節(jié)機(jī)械臂結(jié)構(gòu)圖Fig.3 Structure diagram of two-joint manipulator with load
(1)質(zhì)量m1、me;
(2)質(zhì)量中心到第1、2關(guān)節(jié)的距離Lc1、Lce;
(3)慣性參數(shù)I1和Ie分別為
(4)質(zhì)量中心到第2機(jī)械臂的夾角δe。
由于第2個(gè)關(guān)節(jié)和負(fù)載被視為一個(gè)整體,導(dǎo)致參數(shù)發(fā)生了變化[18-19],因此有4個(gè)未知物理參數(shù)需要辨識(shí),分別是me、Ie、Lce、δe。
基于Lagrange法的二關(guān)節(jié)機(jī)器人的動(dòng)力學(xué)方程為
(2)
(3)
(4)
式中:m1為關(guān)節(jié)1的質(zhì)量;I1為相對(duì)桿件質(zhì)心的轉(zhuǎn)動(dòng)慣量;L1為機(jī)械臂連桿長(zhǎng)度;q1、q2為關(guān)節(jié)角;g為重力加速度。
整合式(3)中的各種參數(shù),將式(3)改寫(xiě)為ax=b的線(xiàn)性形式

(5)

(6)
(7)
E矩陣的各個(gè)參數(shù)向量為
(8)
通過(guò)上述線(xiàn)性化與參數(shù)重組將復(fù)雜的非線(xiàn)性辨識(shí)問(wèn)題轉(zhuǎn)化為線(xiàn)性模型辨識(shí)問(wèn)題,得到的慣性參數(shù)集有助于減少機(jī)器人動(dòng)力學(xué)計(jì)算量與提高參數(shù)辨識(shí)的魯棒性。
粒子群算法(PSO)是一種參數(shù)計(jì)算的優(yōu)化方法,其中每個(gè)優(yōu)化問(wèn)題的解都是搜索空間中的一只鳥(niǎo),稱(chēng)為粒子,所有粒子都有一個(gè)由被優(yōu)化函數(shù)決定的適應(yīng)值。每個(gè)粒子擁有一個(gè)速度來(lái)決定它們飛行的距離與方向,且追隨當(dāng)前的最優(yōu)粒子在解空間中搜索。
粒子速度及更新位置公式為
(9)
(10)

PSO中,參數(shù)粒子向自身歷史最佳位置和群體歷史最佳位置聚集,會(huì)形成粒子種群的快速趨同效應(yīng),容易陷入局部極值、早熟收斂或者停滯現(xiàn)象,導(dǎo)致參數(shù)辨識(shí)的不精確[20]。尤其是慣性權(quán)重影響參數(shù)微粒的局部與全局最優(yōu)搜索能力,較大的權(quán)重有利于跳出局部最優(yōu),而較小的權(quán)重會(huì)增強(qiáng)局部搜索能力,有利于算法收斂[21-22]。針對(duì)PSO容易在搜索空間有限、極易陷入局部最優(yōu)解、收斂速度慢的問(wèn)題,本文提出采取隨機(jī)選取權(quán)重值的方法,使得參數(shù)粒子的歷史速度對(duì)當(dāng)前速度的影響是隨機(jī)的,可有效增大搜索范圍,防止參數(shù)陷入局部最優(yōu)解,加快參數(shù)辨識(shí)速度,提高參數(shù)辨識(shí)精度。
在隨機(jī)權(quán)重法中,需要辨識(shí)的動(dòng)力學(xué)參數(shù)在隨機(jī)權(quán)重的影響下能快速跳出局部較小的搜索范圍,在大搜索范圍內(nèi)加快辨識(shí)速度,得到精確的最優(yōu)參數(shù)。隨機(jī)權(quán)重w的計(jì)算公式如下
(11)
式中:μ是參數(shù)調(diào)整因子;N(0,1)表示標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)數(shù);rand(0,1)表示0到1之間的隨機(jī)數(shù)。隨機(jī)權(quán)重PSO能在一定程度上避免陷入局部最優(yōu),增大參數(shù)粒子搜索的范圍,有助于提高機(jī)械手末端參數(shù)辨識(shí)的精確性。SCARA機(jī)器人動(dòng)力學(xué)參數(shù)辨識(shí)的流程如圖4所示。

圖4 隨機(jī)權(quán)重粒子群算法參數(shù)辨識(shí)流程圖 Fig.4 Flow chart of parameter identification of PSO algorithm with random weight
假設(shè)群體粒子數(shù)為ψ,則群體粒子的全局最好位置為
(12)
令θ1=c1r1,θ2=c2r2,θ=θ1+θ2,則式(9)(10)可整理為
(13)
w、θ1、θ2在迭代過(guò)程中自適應(yīng)變化,即θ=c1r1+c2r2隨著迭代在(0,c1+c2)區(qū)間隨機(jī)變化。此時(shí),C(t)屬于時(shí)變矩陣,根據(jù)系統(tǒng)理論,可得
(14)
其中Φ(t,k)為系統(tǒng)狀態(tài)轉(zhuǎn)移矩陣,即
Φ(t+1,k)=C(t)Φ(t,k)
(15)
而Φ(t,0)=C(t-1)C(t-1)…C(0)。

(1)V(y(t))≥0;
(2)ΔV(y(t))=V(y(t+1))-V(y(t))≤(‖C(t)‖-1)‖y(t)‖,而w、θ1、θ2的取值又使得‖C(t)‖<1,所以ΔV(y(t))負(fù)定;
(3)‖y(t)‖→∞時(shí),有V(y(t))→∞。
根據(jù)李雅普諾夫穩(wěn)定性定理,該系統(tǒng)是漸進(jìn)穩(wěn)定的,即算法具有穩(wěn)定性。
由式(14)可得,在C(t)的特征值的模均小于1時(shí),有
(16)

本實(shí)驗(yàn)選用臺(tái)達(dá)4自由度DRS40L3型SCARA機(jī)器人,其基本參數(shù)見(jiàn)表1。

表1 SCARA機(jī)器人基本參數(shù)
為了驗(yàn)證機(jī)器人模型簡(jiǎn)化的可行性,用ADAMS軟件建立機(jī)器人幾何模型,并設(shè)定機(jī)器人關(guān)節(jié)激勵(lì)軌跡,通過(guò)動(dòng)力學(xué)仿真實(shí)驗(yàn)比較簡(jiǎn)化前后關(guān)節(jié)1、2力矩的大小,驗(yàn)證SCARA機(jī)器人模型簡(jiǎn)化成二自由度的可行性。機(jī)器人簡(jiǎn)化前為正常狀態(tài)下機(jī)器人運(yùn)動(dòng),輸出第1、2關(guān)節(jié)的力矩;機(jī)器人簡(jiǎn)化后將第3、4關(guān)節(jié)看作負(fù)載添加在機(jī)器人小臂上,輸出第1、2關(guān)節(jié)的力矩。具體仿真實(shí)驗(yàn)分為2部分。
(1)設(shè)定激勵(lì)軌跡。考慮到DRS40L3型SCARA機(jī)器人技術(shù)性能指標(biāo)以及4個(gè)關(guān)節(jié)的運(yùn)動(dòng)特性與約束,關(guān)節(jié)1、2輸入相同的軌跡為
qd=1-cos(0.4πt)
(17)
則速度與加速度分別為
(18)
(2)施加負(fù)載。根據(jù)機(jī)器人的負(fù)載范圍,在SCARA機(jī)器人末端施加0.4、0.8和1.2 kg的負(fù)載,則簡(jiǎn)化后機(jī)器人負(fù)載為施加負(fù)載加上第3和4關(guān)節(jié)總質(zhì)量(0.244 kg)。通過(guò)機(jī)器人D-H參數(shù)可以將末端整體負(fù)載力矩轉(zhuǎn)化到關(guān)節(jié)2上,通過(guò)觀察關(guān)節(jié)1、2的輸出力矩變化,確定SCARA機(jī)器人末端負(fù)載能力的大小。

(a)關(guān)節(jié)1力矩

(b)關(guān)節(jié)1誤差

(c)關(guān)節(jié)2力矩

(d)關(guān)節(jié)2誤差圖5 機(jī)器人模型簡(jiǎn)化前后關(guān)節(jié)1、2的輸出力矩Fig.5 Output torque of joints 1 and 2 before and after robot model simplification
仿真運(yùn)行時(shí)間t=5 s,關(guān)節(jié)1和2的力矩輸出如圖5所示。從圖中可以看出,施加負(fù)載分別為0.4、0.8和1.2 kg時(shí),結(jié)構(gòu)簡(jiǎn)化前后關(guān)節(jié)1的力矩最大相對(duì)誤差分別為0.32%、0.46%和70%,關(guān)節(jié)2的力矩最大相對(duì)誤差分別為0.16%、0.5%和1.5%。由此可以得出,機(jī)器人末端負(fù)載質(zhì)量在0~0.8 kg時(shí),結(jié)構(gòu)簡(jiǎn)化前后關(guān)節(jié)1、2的輸出力矩變化很小,相對(duì)誤差在可控范圍內(nèi)。該仿真結(jié)果與文獻(xiàn)[16,18]的研究結(jié)果基本一致,均表明一定的載荷范圍內(nèi)SCARA機(jī)器人簡(jiǎn)化為二自由度是可行的。
根據(jù)前面分析,選擇在負(fù)載0.4 kg下進(jìn)行辨識(shí)仿真實(shí)驗(yàn)。在辨識(shí)仿真實(shí)驗(yàn)中,利用MATLAB建立SCARA機(jī)器人動(dòng)力學(xué)模型,給關(guān)節(jié)1、2輸入激勵(lì)信號(hào),獲取機(jī)器人不同姿態(tài)下的位置、速度以及相對(duì)應(yīng)的各關(guān)節(jié)力矩。實(shí)驗(yàn)設(shè)計(jì)的輸入激勵(lì)曲線(xiàn)為
(19)
分別采用基本PSO與隨機(jī)權(quán)重PSO對(duì)系統(tǒng)進(jìn)行辨識(shí)。選取種群數(shù)為200,學(xué)習(xí)因子c1為1.3、c2為2,慣性權(quán)重為1.2,最大迭代次數(shù)為200。定義適應(yīng)度函數(shù)為
(20)
辨識(shí)過(guò)程中適應(yīng)度變化曲線(xiàn)如圖6所示。由圖可知,應(yīng)用隨機(jī)權(quán)重PSO得到的初始粒子搜索范圍(0~730)明顯大于基本PSO的搜索范圍(0~371)。在更新位置與速度信息時(shí),基本PSO經(jīng)歷大約50代達(dá)到收斂,而改進(jìn)后PSO經(jīng)歷大約26代達(dá)到收斂,由此說(shuō)明改進(jìn)后的算法在收斂速度與參數(shù)粒子搜索范圍上均得到明顯提高。

圖6 基本PSO與隨機(jī)權(quán)重PSO適應(yīng)度曲線(xiàn)Fig.6 Fitness curves of basic PSO and random weighted PSO
將隨機(jī)權(quán)重PSO辨識(shí)出的參數(shù)代入式(2),從而得出辨識(shí)模型的輸出力矩,將其與實(shí)際動(dòng)力學(xué)模型輸出力矩對(duì)比,如圖7所示。從圖中可以看出,關(guān)節(jié)1實(shí)際模型與辨識(shí)模型相對(duì)誤差控制范圍在0~3.5%,關(guān)節(jié)2實(shí)際模型與辨識(shí)模型相對(duì)誤差控制范圍在0~4%。因此,采用隨機(jī)權(quán)重PSO辨識(shí)出的力矩曲線(xiàn)與實(shí)際輸出力矩曲線(xiàn)基本吻合,說(shuō)明該辨識(shí)算法有較高的精確性。

(a)關(guān)節(jié)1

(b)關(guān)節(jié)2圖7 隨機(jī)權(quán)重PSO辨識(shí)模型與實(shí)際模型輸出力矩 Fig.7 Output torque of PSO identification model with random weight and actual model

(a)關(guān)節(jié)1

(b)關(guān)節(jié)2圖8 不同算法機(jī)器人兩個(gè)關(guān)節(jié)力矩辨識(shí)值比較Fig.8 Comparison of torque identification values of two robot joints based on different algorithms
為了對(duì)比隨機(jī)權(quán)重PSO對(duì)參數(shù)辨識(shí)的精確度,分別將遺傳算法、基本粒子群算法、隨機(jī)權(quán)重粒子群算法辨識(shí)出的力矩與實(shí)際輸出力矩進(jìn)行對(duì)比,如圖8所示。在遺傳算法中,輸入信號(hào)為式(19),適應(yīng)度函數(shù)為式(20)。仿真實(shí)驗(yàn)通過(guò)多次調(diào)試遺傳算法的交叉概率因子和變異概率因子,獲取結(jié)果最優(yōu)時(shí)的交叉和變異因子分別為0.9和0.2。由圖8可以看出:遺傳算法的辨識(shí)結(jié)果整體誤差較大,基本PSO與隨機(jī)權(quán)重PSO辨識(shí)的結(jié)果與實(shí)際力矩線(xiàn)誤差小。通過(guò)仿真實(shí)驗(yàn)可得,隨機(jī)權(quán)重粒子群算法辨識(shí)的模型與實(shí)際模型最接近,誤差較小,相比較于其他兩種算法更能體現(xiàn)其優(yōu)越性。
為了進(jìn)一步比較3種算法的辨識(shí)精度,文中引入均方根誤差λ來(lái)評(píng)價(jià)所辨識(shí)模型的有效性
(21)


表2 3種算法辨識(shí)的關(guān)節(jié)力矩均方根誤差
采用遺傳算法、基本粒子群算法、隨機(jī)權(quán)重粒子群算法得到的辨識(shí)參數(shù)如表3所示。由表3可知,遺傳算法辨識(shí)的模型參數(shù)誤差較大,基本PSO與隨機(jī)權(quán)重PSO對(duì)模型的辨識(shí)精度較高,但采用隨機(jī)權(quán)重PSO辨識(shí)得到的適應(yīng)度函數(shù)最優(yōu)值最小,說(shuō)明該算法不易陷入局部最優(yōu),便于全局搜索,有益于提高參數(shù)辨識(shí)的精度。

表3 3種算法參數(shù)辨識(shí)結(jié)果對(duì)比
本文在分析負(fù)載對(duì)各關(guān)節(jié)力矩影響的基礎(chǔ)上,將SCARA機(jī)器人第3、4關(guān)節(jié)與未知負(fù)載相結(jié)合并固聯(lián)在第2關(guān)節(jié)上進(jìn)行動(dòng)力學(xué)建模。在傳統(tǒng)粒子群算法的基礎(chǔ)上,提出一種隨機(jī)權(quán)重PSO對(duì)機(jī)器人動(dòng)力學(xué)參數(shù)進(jìn)行參數(shù)辨識(shí)。仿真實(shí)驗(yàn)結(jié)果表明,該改進(jìn)算法收斂速度快、尋優(yōu)能力強(qiáng)、辨識(shí)精度高,與GA、基本PSO相比,辨識(shí)精度有明顯提高,有助于提高機(jī)器人軌跡控制的精度和穩(wěn)定性。