喬貴方,呂仲艷,張 穎,宋光明,宋愛國
(1.南京工程學(xué)院 自動化學(xué)院,江蘇 南京211167;2.東南大學(xué) 儀器科學(xué)與工程學(xué)院,江蘇 南京210096)
近年來,工業(yè)機(jī)器人逐漸被應(yīng)用于航天發(fā)動機(jī)的葉片智能磨拋、航天工業(yè)中鉆鉚/裝配以及制造現(xiàn)場在線測量系統(tǒng)等高端制造領(lǐng)域[1-3]。“智能機(jī)器人”重點(diǎn)專項(xiàng)指出工業(yè)機(jī)器人應(yīng)用于高端制造領(lǐng)域時,其絕對定位精度應(yīng)優(yōu)于±0.1 mm,姿態(tài)角精度應(yīng)優(yōu)于±0.1°。目前,工業(yè)機(jī)器人的重復(fù)定位精度最高能夠達(dá)到0.01 mm,而絕對定位精度仍為毫米級,無法滿足高端制造領(lǐng)域的精度要求。
機(jī)器人標(biāo)定技術(shù)常被用于提高工業(yè)機(jī)器人的絕對定位精度[4-5]。機(jī)器人定位誤差的誘因較多,其中運(yùn)動學(xué)參數(shù)誤差是影響機(jī)器人定位精度的主要誤差源之一[6-7]。目前,機(jī)器人標(biāo)定方法主要包含誤差模型法和軸線測量法,相比于軸線測量法,誤差模型法的標(biāo)定精度更高[8]?;谡`差模型法的機(jī)器人標(biāo)定過程主要有誤差建模、誤差測量、參數(shù)辨識及誤差補(bǔ)償4個基本步驟。運(yùn)動學(xué)模型對誤差模型的建模影響較大,當(dāng)前機(jī)器人控制器中廣泛使用的運(yùn)動學(xué)模型有DH模型,MDH模型,POE模型和ZRM模型等。誤差模型的完整性決定了運(yùn)動學(xué)模型參數(shù)的辨識精度。根據(jù)測量數(shù)據(jù)的不同,誤差模型主要分為位姿誤差模型、位置誤差模型和距離誤差模型,其中位姿誤差模型完整描述了機(jī)器人的位置誤差和姿態(tài)誤差特性[9];從建模方法主要分為微分變換[10]和誤差傳遞兩種[11],兩者在建模過程中忽略的高階誤差項(xiàng)不同,目前尚未有針對兩者精度性能對比的相關(guān)研究。
誤差測量主要采用激光跟蹤儀、測量臂、拉線傳感器和多目視覺測量系統(tǒng)等。其中,激光跟蹤儀因其高精度、測量范圍大等特點(diǎn),是最為常用的測量設(shè)備[12-13]。參數(shù)辨識是非線性函數(shù)求解問題,主要采用Levenberg-Marquardt法、極大似然法[14]等傳統(tǒng)優(yōu)化算法,但算法的收斂速度和精度依賴于目標(biāo)函數(shù)的雅克比矩陣的奇異值。而智能優(yōu)化算法則不存在此類問題,LIU等人利用遺傳算法實(shí)現(xiàn)六自由度串聯(lián)機(jī)器人的運(yùn)動學(xué)參數(shù)標(biāo)定[15]。房立金等人基于量子粒子群算法分別實(shí)現(xiàn)了串聯(lián)/并聯(lián)機(jī)器人的運(yùn)動學(xué)參數(shù)標(biāo)定[16]。溫秀蘭等人利用改進(jìn)烏鴉算法辨識機(jī)器人的運(yùn)動學(xué)參數(shù),將史陶比爾TX 60機(jī)器人的位姿精度提升了70%[17]。
本文針對六自由度串聯(lián)機(jī)器人定位精度的提升方法展開研究,提出了一種基于天牛須搜索和粒子群優(yōu)化(Beetle Antennea Search-Particle Swarm Optimization,BAS-PSO)算法的運(yùn)動學(xué)參數(shù)辨識方法,并通過實(shí)驗(yàn)驗(yàn)證了不同誤差模型構(gòu)建方法的辨識精度和穩(wěn)定性。
如圖1(a)所示,傳統(tǒng)的DH模型利用連桿長度a、連桿距離d、連桿扭角α和關(guān)節(jié)零位θ4個參數(shù)描述了機(jī)器人連桿間的位姿關(guān)系。而M-DH解決了傳統(tǒng)DH模型在機(jī)器人相鄰兩軸平行或接近平行時的奇異性問題,該模型在傳統(tǒng)DH模型基礎(chǔ)上添加了一個角度參數(shù)β來描述相鄰平行軸的位置關(guān)系[18],如圖1(b)所示。依據(jù)M-DH模型的建立規(guī)則,機(jī)器人連桿相鄰坐標(biāo)系之間的變換關(guān)系為:
圖1 非平行關(guān)節(jié)(a)與平行關(guān)節(jié)(b)的坐標(biāo)系轉(zhuǎn)換Fig.1 Coordinate transformation between non-parallel joints(a)and parallel joints(b)
式中:ai,d i,αi,θi,βi分別表示機(jī)器人第i個關(guān)節(jié)的連桿長度、連桿距離、連桿扭角、關(guān)節(jié)零位及關(guān)節(jié)扭角,i=1,2,…,6。n表示該轉(zhuǎn)換矩陣帶入名義運(yùn)動學(xué)模型參數(shù)。
因此,機(jī)器人的名義末端位姿可由矩陣Tn求取:
式中:Rn和Pn分別為名義旋轉(zhuǎn)矩陣和名義位移向量。
本文待標(biāo)定的工業(yè)機(jī)器人Staubli TX60的M-DH模型參數(shù)的名義值如表1所示。由于關(guān)節(jié)2與關(guān)節(jié)3理論上是平行關(guān)系,則運(yùn)動學(xué)模型參數(shù)d2=0,β2=0。其余關(guān)節(jié)的βi參數(shù)均為0,則式(1)變化為傳統(tǒng)DH模型。
表1 Staubli TX60機(jī)器人M-DH運(yùn)動學(xué)模型的名義參數(shù)Tab.1 Nominal parameters of M-DH kinematics model of Staubli TX60 robot
而實(shí)際情況中機(jī)器人的運(yùn)動學(xué)模型參數(shù)ai,d i,αi,θi,βi存在一定誤差Δai,Δd i,Δαi,Δθi,Δβi,因此,機(jī)器人實(shí)際末端位姿可由矩陣Tr計(jì)算:
式中:Rr和Pr分別為實(shí)際的旋轉(zhuǎn)矩陣和位移向量。r表示該轉(zhuǎn)換矩陣帶入的實(shí)際運(yùn)動學(xué)模型參數(shù)。
建立機(jī)器人運(yùn)動學(xué)誤差模型是機(jī)器人標(biāo)定技術(shù)的關(guān)鍵步驟之一,誤差模型決定了運(yùn)動學(xué)參數(shù)的辨識精度。誤差模型類型主要有位姿誤差模型、位置誤差模型和距離誤差模型,其中位姿誤差模型能夠較為完整地描述機(jī)器人的誤差特性。建模方法主要分為微分變換和誤差傳遞兩種,本文通過實(shí)驗(yàn)驗(yàn)證了兩種不同運(yùn)動學(xué)誤差模型用于標(biāo)定的實(shí)際效果。
機(jī)器人末端的位姿誤差矩陣dT表示為:
對Tn每一列的運(yùn)動學(xué)參數(shù)進(jìn)行微分,并忽略高階項(xiàng)(即2階及以上),可以得到機(jī)器人的位姿誤差模型:
由于各運(yùn)動學(xué)參數(shù)存在誤差,相鄰連桿坐標(biāo)系間的轉(zhuǎn)換矩陣存在誤差,即:
式中:d i=(d xi,d yi,d zi)T,代表連桿i的一階微分平移向量;δi=(δxi,δyi,δzi)T,代表連桿i的實(shí)際姿態(tài)與名義姿態(tài)間的誤差。
式(7)中給出了連桿i的誤差在連桿i-1坐標(biāo)系下的位姿誤差和微分變化,因此,相對于機(jī)器人基坐標(biāo)系的末端位姿可以表示為:
當(dāng)僅考慮一階模型,忽略高階項(xiàng)后,可得:
將各連桿相對于前一連桿的微分運(yùn)動均轉(zhuǎn)換為相對機(jī)器人基坐標(biāo)系的微分運(yùn)動,可得:
式中:dΔ=(d xΔ,d yΔ,d zΔ)T,代表機(jī)器人末端的一階微分平移向量;δΔ=(δxΔ,δyΔ,δzΔ)T,代表機(jī)器人末端實(shí)際姿態(tài)與名義姿態(tài)的誤差。
天牛須搜索算法(Beetle Antennae Search,BAS)是2017年提出的一種新型智能優(yōu)化算法,具有求解速度快、精度高、運(yùn)算量少等特點(diǎn)[19]。BAS是模擬天牛覓食原理,天牛的兩只觸角感知食物氣味的強(qiáng)弱實(shí)現(xiàn)覓食,若左邊觸角感知的氣味強(qiáng)度比右邊大,天牛就往左飛;否則就往右飛,具體示意圖如圖2所示。BAS算法與其他智能優(yōu)化算法類似,無需梯度信息就可以實(shí)現(xiàn)高效尋優(yōu)。并且BAS算法中僅需一個個體,運(yùn)算量大為降低,但容易陷入局部最優(yōu)。
圖2 天牛須搜索算法的仿生原理示意圖Fig.2 Schematic diagram of bionic principle for beetle antennae search algorithm
群體智能算法具有并行運(yùn)算特性,通過多個個體的相互協(xié)作實(shí)現(xiàn)尋優(yōu),不易陷入局部最優(yōu)。粒子群優(yōu)化算法(Particle Swarm Optimization,PSO)是一種經(jīng)典的群體智能算法,通過群體中粒子個體之間的協(xié)作和信息共享來尋找最優(yōu)解,粒子個體通過跟蹤個體極值和全局極值來更新位置。為提高粒子個體的多樣性,同時提高BAS算法的并行性,本文提出一種BAS-PSO混合優(yōu)化算法來實(shí)現(xiàn)機(jī)器人運(yùn)動學(xué)參數(shù)的誤差辨識。
BAS-PSO混合優(yōu)化算法求解最優(yōu)問題時,粒子個體的位置更新有兩種途徑:一是根據(jù)天牛須搜索算法更新當(dāng)前位置;二是根據(jù)個體的最優(yōu)值和個體群的全局最優(yōu)值決定其更新位置。因此,第i個個體在k+1時刻的位置更新如下:
從抽樣調(diào)查的統(tǒng)計(jì)數(shù)據(jù)可以看出,城陽區(qū)鄉(xiāng)村旅游者大都有2次以上的鄉(xiāng)村旅游經(jīng)歷,由此得知本次調(diào)查的鄉(xiāng)村旅游相關(guān)數(shù)據(jù)比較客觀。
天牛個體的速度主要由左/右須位置的函數(shù)值決定,為保證該項(xiàng)在精度和全局收斂速度之間的平衡,通過變步長實(shí)現(xiàn)粗略搜索后再精細(xì)化搜索。因此,天牛個體的速度更新依據(jù)如下:
式中:r3是[0,1]之間的隨機(jī)數(shù),為天牛個體的須寬,為天牛個體的運(yùn)動步長,d0與δ0分別確定了最小須寬和最小步長。
通常個體的初始位置是通過偽隨機(jī)數(shù)隨機(jī)產(chǎn)生的,但其隨機(jī)性過強(qiáng)而均勻性不足。根據(jù)文獻(xiàn)[20]可知,擬隨機(jī)序列相比于偽隨機(jī)序列能夠更加均勻地充滿采樣空間,可以提升優(yōu)化算法的收斂速度,使計(jì)算結(jié)果更加穩(wěn)定可靠。鑒于擬隨機(jī)Halton序列概念清晰,算法易實(shí)現(xiàn),用于產(chǎn)生BAS-PSO的初始位置。
在采用BAS-PSO優(yōu)化計(jì)算機(jī)器人的幾何參數(shù)誤差時,其適應(yīng)度函數(shù)為:
式中:N為標(biāo)定點(diǎn)數(shù)目,k為調(diào)節(jié)因子。由于位置誤差和姿態(tài)誤差的量綱不同,并且誤差值相差較大,利用調(diào)節(jié)因子k平衡位置誤差向量和姿態(tài)誤差向量在目標(biāo)函數(shù)中的權(quán)重。
由式(14)可知:f是幾何參數(shù)誤差集(Δai,Δd i,Δαi,Δθi,Δβi)的函數(shù),經(jīng)優(yōu)化算法搜索機(jī)器人的幾何參數(shù)誤差集(Δai,Δd i,Δαi,Δθi,Δβi),使適應(yīng)度函數(shù)f最小。本文中待標(biāo)定的Staubli TX60六自由度串聯(lián)機(jī)器人2,3關(guān)節(jié)的軸線理論上是平行的。因此,參數(shù)d2,β1,β3,β4,β5,β6不需要辨識,因此待辨識參數(shù)的個數(shù)為24,屬于復(fù)雜的多參數(shù)非線性優(yōu)化問題,非常適合采用智能優(yōu)化算法求解。
圖3為本文所搭建的機(jī)器人標(biāo)定實(shí)驗(yàn)系統(tǒng),該系統(tǒng)使用Leica AT 960激光跟蹤儀,其測量不確定度為±(15μm+6μm/m)。配套使用的測量分析軟件為Spatial Analyzer,該軟件提供了擬合幾何體、建立坐標(biāo)系等功能。該系統(tǒng)待標(biāo)定的工業(yè)機(jī)器人為Staubli TX60,該機(jī)器人的重復(fù)定位精度為±0.02 mm,額定負(fù)載為3 kg,最大負(fù)載為5 kg。激光跟蹤儀的T-MAC工具安裝在工業(yè)機(jī)器人的末端法蘭盤上。本文所涉及的測量過程均符合GB/T-12642-2013及ISO-9283工業(yè)機(jī)器人性能規(guī)范及其試驗(yàn)方法標(biāo)準(zhǔn)。
圖3 工業(yè)機(jī)器人標(biāo)定系統(tǒng)Fig.3 Photo of industrial robot calibration system
實(shí)驗(yàn)中以Staubli TX 60機(jī)器人的基坐標(biāo)系為參考坐標(biāo)系,以坐標(biāo)值(550,0,550)為中心點(diǎn),在邊長為1000 mm的正方體空間內(nèi)隨機(jī)選擇50個測量點(diǎn)用于運(yùn)動學(xué)模型參數(shù)標(biāo)定,并使這50個測量點(diǎn)要盡可能地分布在整個正方體空間內(nèi),同時在相同空間內(nèi)選擇30個驗(yàn)證點(diǎn)來驗(yàn)證運(yùn)動學(xué)模型精度。
本文首先基于位姿微分變換構(gòu)建的運(yùn)動學(xué)誤差模型,利用BAS-PSO算法辨識機(jī)器人運(yùn)動學(xué)模型參數(shù),并與PSO算法和BAS算法進(jìn)行對比。算法優(yōu)化過程如圖4所示,從圖中可以看出,BASPSO算法的收斂速度比PSO算法和BAS算法快,并且適應(yīng)度函數(shù)的值也比PSO算法的小。
圖4 不同優(yōu)化算法的計(jì)算過程對比Fig.4 Calculation process comparison of different opti?mization algorithms
機(jī)器人運(yùn)動學(xué)模型參數(shù)的辨識精度如圖5和圖6所示。平均綜合位置誤差(Average Comprehensive Position Error,ACPE)和平均綜合姿態(tài)誤 差(Average Comprehensive Attitude Error,ACAE)的計(jì)算如下:
圖5 標(biāo)定前后機(jī)器人的平均綜合位置誤差Fig.5 Average comprehensive position errors(ACPE)of robot before and after calibration
圖6 標(biāo)定前后機(jī)器人的平均綜合姿態(tài)誤差Fig.6 Average comprehensive attitude error(ACAE)of robot before and after calibration
利用BAS-PSO算法辨識機(jī)器人的運(yùn)動學(xué)參數(shù)誤差,TX60機(jī)器人的ACPE,ACAE分別從(0.312 mm,0.221°)降低為(0.0938 mm,0.0442°)。而經(jīng)過PSO算法和BAS算法辨識后的TX60機(jī)器 人 的ACPE,ACAE分 別 為(0.0942 mm,0.0459°)和(0.0977 mm,0.0632°)。從以上結(jié)果可以看出,BAS-PSO算法辨識得到的運(yùn)動學(xué)參數(shù)誤差具有更好的精度特性。為進(jìn)一步驗(yàn)證辨識模型精度,本文分別計(jì)算30個驗(yàn)證點(diǎn)的ACPE和ACAE。利用BAS-PSO算法辨識后的機(jī)器人的ACPE,ACAE分別從(0.301 mm,0.233°)降 低 為(0.111 mm,0.047°)。而 經(jīng) 過PSO算法和BAS算法辨識后的TX60機(jī)器人的ACPE,ACAE分 別 為(0.113 mm,0.051°)和(0.113 mm,0.062°)。由此說明,BAS-PSO算法辨識得到的機(jī)器人運(yùn)動學(xué)模型的泛化能力相比其他兩種算法較好。
前文已介紹機(jī)器人運(yùn)動學(xué)誤差模型的兩種建模方法,理論上在建立基于位姿微分變換的運(yùn)動學(xué)誤差模型過程中,僅作一次高階項(xiàng)忽略;而建立基于坐標(biāo)誤差傳遞的運(yùn)動學(xué)誤差模型時,做兩次高階項(xiàng)忽略。因此,基于位姿微分變換的運(yùn)動學(xué)誤差模型的精度理論上要優(yōu)于基于坐標(biāo)誤差傳遞的運(yùn)動學(xué)誤差模型。同時,由于智能優(yōu)化算法不用必須建立誤差模型,本文可直接利用式(4)構(gòu)建的正運(yùn)動學(xué)模型辨識M-DH運(yùn)動學(xué)模型參數(shù),此種方式未做任何誤差忽略,其理論精度會比其他兩種誤差模型高。
由于BAS-PSO是一種隨機(jī)優(yōu)化算法,其辨識結(jié)果具有一定的隨機(jī)性,主要體現(xiàn)在初始種群選取及個體位置更新。為評價誤差模型的標(biāo)定效果,本文利用相同的數(shù)據(jù)集對3種模型分別標(biāo)定10次,標(biāo)定結(jié)果如圖7所示。為評價模型的性能,本文利用平均位置誤差(Average Posi?tion Error,APE)和平均姿態(tài)誤差(Average Atti?tude Error,AAE)作為評價指標(biāo),其計(jì)算公式如下:
圖7 不同誤差模型辨識后平均綜合位置/姿態(tài)誤差的對比Fig.7 Comparison of average comprehensive position and attitude errors(ACPE/ACAE)after identifi?cation with different error models
從圖7可以看出,基于運(yùn)動學(xué)模型辨識的實(shí)際運(yùn)動學(xué)模型的精度更為穩(wěn)定,而基于位姿微分變換的運(yùn)動學(xué)誤差模型和基于坐標(biāo)誤差傳遞的運(yùn)動學(xué)誤差模型辨識得到的實(shí)際運(yùn)動學(xué)模型的精度穩(wěn)定性較差。其中,基于坐標(biāo)誤差傳遞的運(yùn)動學(xué)誤差模型(誤差模型1)辨識后的機(jī)器人APE和AAE分別為0.1035 mm和0.1642°,基于位姿微分變換的運(yùn)動學(xué)誤差模型(誤差模型2)辨識后的機(jī)器人APE和AAE分別為0.1009 mm和0.1565°,而基于正運(yùn)動學(xué)模型(誤差模型3)直接辨識后的機(jī)器人APE和AAE分別為0.0975 mm和0.0986°。因此,基于正運(yùn)動學(xué)模型直接辨識的機(jī)器人精度更高。
本文首先闡述了工業(yè)機(jī)器人基于位姿微分變換的運(yùn)動學(xué)誤差模型和基于坐標(biāo)誤差傳遞的運(yùn)動學(xué)誤差模型的構(gòu)建方法;其次,提出了一種基于BAS-PSO算法的運(yùn)動學(xué)參數(shù)辨識方法,相比于PSO和BAS算法,該算法具有更好的辨識精度和收斂速度。實(shí)驗(yàn)結(jié)果表明,經(jīng)該算法辨識后TX60機(jī)器人的ACPE,ACAE分別從(0.312 mm,0.221°)降低為(0.0938 mm,0.0442°)。最后,分析了基于位姿微分變換的運(yùn)動學(xué)誤差模型、基于坐標(biāo)誤差傳遞的運(yùn)動學(xué)誤差模型以及基于正運(yùn)動學(xué)模型在機(jī)器人運(yùn)動學(xué)參數(shù)辨識中的精度特性。從實(shí)驗(yàn)結(jié)果可以看出,基于正運(yùn)動學(xué)模型辨識的機(jī)器人運(yùn)動學(xué)參數(shù)具有更好的穩(wěn)定性和精度,而基于坐標(biāo)誤差傳遞的運(yùn)動學(xué)誤差模型辨識的機(jī)器人運(yùn)動學(xué)參數(shù)精度相對較差。