趙藝兵, 溫秀蘭, 喬貴方, 呂仲艷, 宋愛(ài)國(guó), 康傳帥
(1.南京工程學(xué)院 工業(yè)中心 創(chuàng)新創(chuàng)業(yè)學(xué)院, 江蘇 南京 211167; 2.南京工程學(xué)院 自動(dòng)化學(xué)院,江蘇 南京 211167; 3.東南大學(xué) 儀器科學(xué)與工程學(xué)院,江蘇 南京 210096)
我國(guó)于2017年啟動(dòng)實(shí)施“智能機(jī)器人”重點(diǎn)專項(xiàng)計(jì)劃[1],指出工業(yè)機(jī)器人應(yīng)用于高端制造領(lǐng)域時(shí),其絕對(duì)定位精度應(yīng)優(yōu)于 0.05 mm,姿態(tài)角應(yīng)優(yōu)于0.1°。目前,盡管工業(yè)機(jī)器人的重復(fù)定位精度較高,能滿足示教編程的需求,但絕對(duì)定位精度還較低,難以滿足機(jī)器人在精密加工、精密檢測(cè)、精準(zhǔn)醫(yī)療等高精尖制造業(yè)的迫切需求。通過(guò)對(duì)機(jī)器人實(shí)測(cè)標(biāo)定可以有效提高機(jī)器人末端定位精度。標(biāo)定通常分為以下3級(jí):一級(jí)標(biāo)定也稱為關(guān)節(jié)級(jí)標(biāo)定,主要是對(duì)驅(qū)動(dòng)器和關(guān)節(jié)傳感器機(jī)構(gòu)的運(yùn)動(dòng)學(xué)進(jìn)行標(biāo)定,其目的是確定關(guān)節(jié)位移傳感器產(chǎn)生的信號(hào)和關(guān)節(jié)實(shí)際位移之間關(guān)系;二級(jí)標(biāo)定也稱為機(jī)器人幾何參數(shù)標(biāo)定,即確定機(jī)器人的幾何參數(shù)模型與機(jī)器人關(guān)節(jié)角之間關(guān)系;三級(jí)標(biāo)定也稱為非幾何參數(shù)標(biāo)定,非幾何參數(shù)誤差主要包括關(guān)節(jié)柔度、摩擦、間隙及連桿變形等。大量研究結(jié)果表明:影響機(jī)器人作業(yè)精度的主要誤差源于幾何參數(shù)誤差,占到總誤差的80%~90%,通過(guò)對(duì)機(jī)器人幾何參數(shù)標(biāo)定能夠在不改變硬件結(jié)構(gòu)或控制器前提下通過(guò)校正軟件快速實(shí)現(xiàn)機(jī)器人絕對(duì)定位精度提升[2~4]。
機(jī)器人幾何參數(shù)標(biāo)定包括建模、測(cè)量、辨識(shí)及補(bǔ)償4個(gè)過(guò)程。機(jī)器人建模是標(biāo)定的基礎(chǔ),目前最常用的幾何參數(shù)模型是基于齊次變換矩陣的DH模型,該模型首先在機(jī)器人的每個(gè)連桿上建立一坐標(biāo)系,利用相鄰連桿間變換矩陣計(jì)算得到末端執(zhí)行器的位置和姿態(tài)。因該模型連桿坐標(biāo)系原點(diǎn)位于關(guān)節(jié)軸線與關(guān)節(jié)軸線公法線的交點(diǎn),當(dāng)兩軸線平行或垂直時(shí)軸線的微小變化會(huì)導(dǎo)致機(jī)器人幾何參數(shù)變化很大甚至到無(wú)窮,不滿足機(jī)器人標(biāo)定時(shí)要求模型具有連續(xù)性要求,模型存在奇異性,影響標(biāo)定結(jié)果的準(zhǔn)確性。為了解決該問(wèn)題,Hayati S A提出了改進(jìn)的DH模型(MDH模型)[5],當(dāng)相鄰關(guān)節(jié)軸線平行時(shí)增加一個(gè)旋轉(zhuǎn)參數(shù),彌補(bǔ)了DH模型的不足;但當(dāng)相鄰兩軸線垂直或接近垂直時(shí),該模型仍具有奇異性,影響機(jī)器人標(biāo)定的準(zhǔn)確性[6]。為滿足標(biāo)定模型具有完備性與連續(xù)性要求,文獻(xiàn)[7]在DH法建立的桿件坐標(biāo)系上研究了6參數(shù)串聯(lián)機(jī)器人的誤差模型。文獻(xiàn)[8, 9]研究了通過(guò)建立指數(shù)積模型對(duì)串聯(lián)機(jī)器人幾何參數(shù)進(jìn)行標(biāo)定,取得較好效果。辨識(shí)是從測(cè)量數(shù)據(jù)中獲取機(jī)器人實(shí)際模型參數(shù)信息的過(guò)程,辨識(shí)結(jié)果的準(zhǔn)確性直接影響其定位精度。傳統(tǒng)的辨識(shí)方法有最小二乘法、Levenberg-Marquardt算法、卡爾曼濾波法等。近些年智能計(jì)算得到長(zhǎng)足發(fā)展,先后出現(xiàn)遺傳算法、免疫進(jìn)化計(jì)算、微分進(jìn)化、螞蟻算法、粒子群算法等,已有學(xué)者嘗試將智能計(jì)算應(yīng)用于對(duì)機(jī)器人幾何參數(shù)標(biāo)定取得了較好效果[10~14]。文獻(xiàn) [10]建立了6自由度機(jī)器人的MDH模型,通過(guò)計(jì)算種群的適應(yīng)值按照賭輪法選擇個(gè)體,根據(jù)事先設(shè)定的概率進(jìn)行交叉和變異操作,通過(guò)仿真驗(yàn)證算法的有效性。文獻(xiàn)[11]將粒子群優(yōu)化算法用于對(duì)神經(jīng)網(wǎng)絡(luò)初始權(quán)值和閾值優(yōu)化,實(shí)現(xiàn)機(jī)器人綜合精度補(bǔ)償,用來(lái)提高飛機(jī)自動(dòng)化裝配精度。文獻(xiàn)[12]采用擴(kuò)展卡爾曼濾波對(duì)機(jī)器人幾何參數(shù)辨識(shí),采用人工神經(jīng)網(wǎng)絡(luò)對(duì)連桿變形、關(guān)節(jié)柔性、齒輪間隙等無(wú)模型的非幾何參數(shù)誤差進(jìn)行補(bǔ)償來(lái)提高PUMA和HH800機(jī)器人精度。文獻(xiàn)[13]研究了基于量子粒子群優(yōu)化算法的機(jī)器人幾何參數(shù)標(biāo)定方法,選用五軸并聯(lián)機(jī)床的平面約束機(jī)構(gòu)為試驗(yàn)對(duì)象驗(yàn)證了算法的有效性。文獻(xiàn)[14]采用深度神經(jīng)網(wǎng)絡(luò)辨識(shí)機(jī)器人非線性殘余誤差,通過(guò)現(xiàn)場(chǎng)優(yōu)化機(jī)器人焊接軌跡實(shí)驗(yàn)來(lái)驗(yàn)證算法的有效性。
針對(duì)機(jī)器人相鄰兩軸線垂直及接近垂直時(shí),常用DH模型、MDH模型存在奇異性,本文研究建立了串聯(lián)機(jī)器人的零參考模型,該模型其零位可以任意選取,基于位置相似性原理,通過(guò)遞歸方程計(jì)算獲得末端位姿封閉形式的解,非常適用于關(guān)節(jié)臂依次相連的串聯(lián)機(jī)器人。根據(jù)該模型標(biāo)定機(jī)器人幾何參數(shù)誤差特點(diǎn),提出了基于改進(jìn)遺傳算法實(shí)現(xiàn)機(jī)器人幾何參數(shù)標(biāo)定,以提高機(jī)器人定位精度。
建立串聯(lián)機(jī)器人的零參考模型(zero reference model,ZRM)如圖1所示。Oxyz為機(jī)器人基坐標(biāo)系,ηi為機(jī)器人方向矢量,ρi+1為連接矢量,i=1,2,…,n,n為機(jī)器人關(guān)節(jié)數(shù)目。機(jī)器人零位時(shí)的方向矢量和連接矢量表示為η0i和ρ0i+1,即為機(jī)器人的名義幾何參數(shù),可從機(jī)器人手冊(cè)中獲得。
圖1 零參考模型Fig.1 Zero reference model
任意位置時(shí)的ηi,ρi+1與η0i,ρ0i+1具有如下關(guān)系:
ηi=κiη0i,ρi+1=κiρ0i+1
(1)
式中:κi為串聯(lián)機(jī)器人的旋轉(zhuǎn)矩陣[15],可表示為
(2)
其中,矩陣R(qi,η0i)表示關(guān)節(jié)角qi繞軸線η0i旋轉(zhuǎn),計(jì)算公式為:
R(qi,η0i)=
其中,Vi=1-cos(qi),Si=sin(qi),η0ix,η0iy,η0iz分別表示η0i在x,y,z方向的分量。
具有n個(gè)旋轉(zhuǎn)關(guān)節(jié)的串聯(lián)機(jī)器人其末端姿態(tài)和位置可由旋轉(zhuǎn)矩陣κn和平移矩陣Pn表示為[16]:
(3)
(4)
由式(3)和式(4)可見(jiàn),κn和Pn是關(guān)節(jié)角qi及機(jī)器人幾何參數(shù)η0i和ρ0i+1的函數(shù),當(dāng)機(jī)器人零位狀態(tài)的方向分量沿x,y,z軸有微小誤差δη0ix,δη0iy,δη0iz時(shí),引起R(qi,η0i)的誤差為δR(qi,η0i):
δR(qi,η0i)=κxiδη0ix+κyiδη0iy+κziδη0iz
(5)
誤差δR(qi,η0i)將引起機(jī)器人末端姿態(tài)旋轉(zhuǎn)矩陣κn產(chǎn)生誤差δκn,可表示為:
(6)
由幾何參數(shù)誤差δη0i、δρ0i+1引起的機(jī)器人末端位置變化為
[ρ0i+1+δρ0i+1]}
(7)
由式(6)和式(7)可知,若存在幾何參數(shù)方向分量誤差δη0ix、δη0iy、δη0iz及連接分量誤差δρ0i+1x、δρ0i+1y、δρ0i+1z,則導(dǎo)致末端姿態(tài)及位置發(fā)生變化δκh和δPh。
設(shè)由機(jī)器人名義幾何參數(shù)經(jīng)公式(3)和公式(4)計(jì)算得到末端姿態(tài)和位置的名義旋轉(zhuǎn)和平移矩陣分別為κhn和Phn,根據(jù)激光跟蹤儀測(cè)得末端在基坐標(biāo)系下繞x、y、z軸的姿態(tài)坐標(biāo)及沿x、y、z軸的位置坐標(biāo)求得末端姿態(tài)和位置的測(cè)量旋轉(zhuǎn)矩陣κhm和平移矩陣Phm,則末端姿態(tài)和位置的旋轉(zhuǎn)誤差矩陣δκh和平移誤差矩陣δPh計(jì)算如下[17]:
由幾何參數(shù)誤差引起機(jī)器人末端姿態(tài)和位置變化的關(guān)系式可表示為[16]:
(8)
其中Je為 (6+n)行6n列Jacobian矩陣,
δη0=[δη01xδη01yδη01z… δη0nx]T,
δρ0=[δρ02xδρ02yδρ02z… δρ0n+1x]T。
采用IGA優(yōu)化搜索機(jī)器人幾何參數(shù)誤差時(shí),定義其目標(biāo)函數(shù)f為:
(9)
(10)
由此可見(jiàn),目標(biāo)函數(shù)f是幾何參數(shù)誤差[δη01xδη01yδη01z… δη0nx, δρ02xδρ02yδρ02z… δρ0n+1x]的函數(shù),機(jī)器人幾何參數(shù)標(biāo)定實(shí)質(zhì)是通過(guò)優(yōu)化算法搜索一組幾何參數(shù)誤差集,使末端位姿誤差為最小,屬于多變量復(fù)雜優(yōu)化問(wèn)題,非常適合用改進(jìn)遺傳算法來(lái)求解。
采用遺傳算法優(yōu)化搜索機(jī)器人幾何參數(shù)誤差旨在找到目標(biāo)函數(shù)最小值,從而提高機(jī)器人末端定位精度??紤]到幾何參數(shù)誤差標(biāo)定待優(yōu)化變量多,且數(shù)值連續(xù),為提高優(yōu)化精度和效率,采用實(shí)數(shù)編碼,每一個(gè)基因代表一個(gè)待優(yōu)化變量,所有變量對(duì)應(yīng)的基因依次連在一起構(gòu)成該實(shí)數(shù)編碼的個(gè)體。
設(shè)優(yōu)化問(wèn)題為最小化問(wèn)題:
(11)
式中:f為目標(biāo)函數(shù);S=(s1,…,sl,…,sp)表示一個(gè)個(gè)體,其中sl(l=1,2,…,p)為待優(yōu)化變量,p為優(yōu)化變量的數(shù)目;al、bl分別為變量sl的上下界。
如圖1所示6自由度串聯(lián)機(jī)器人,待優(yōu)化個(gè)體S表示為6個(gè)關(guān)節(jié)的幾何參數(shù)誤差集[δη01xδη01yδη01z… δη06z, δρ02xδρ02yδρ02z… δρ07z],采用IGA同時(shí)搜索上述幾何參數(shù)誤差,完成標(biāo)定。
考慮到機(jī)器人ZRM幾何參數(shù)標(biāo)定其目標(biāo)函數(shù)中待優(yōu)化變量不僅彼此獨(dú)立,而且變量數(shù)值均較小,因此采用混合交叉策略(BLX-α)[18],算法如下:
(1)從種群中隨機(jī)選取兩個(gè)父代個(gè)體S1、S2;
(12)
為保持群體多樣性,IGA實(shí)現(xiàn)時(shí)采用基于代溝最小的代選擇模型,具體步驟如下:
step 1.設(shè)置進(jìn)化代數(shù)t,隨機(jī)產(chǎn)生M個(gè)初始個(gè)體,構(gòu)成初始種群;
step 2.從群體中任意選取兩個(gè)個(gè)體S1、S2作為父代;
step 3.將S1、S2采用BLX-α交叉產(chǎn)生nc個(gè)子群體;
step 4.計(jì)算S1、S2和nc個(gè)子群體的目標(biāo)函數(shù)值;
step 5.從S1、S2和nc個(gè)子群體中選擇目標(biāo)值最小的兩個(gè)個(gè)體替換原父代S1、S2;
step 6.判斷是否滿足終止條件,若不滿足,則t=t+1,轉(zhuǎn)Step 2;否則輸出優(yōu)化所得幾何參數(shù)誤差;
step 7. 根據(jù)優(yōu)化得到的幾何參數(shù)誤差誤差計(jì)算標(biāo)定前后機(jī)器人末端絕對(duì)位置和姿態(tài)誤差。
4.1.1 位姿產(chǎn)生
6自由度串聯(lián)機(jī)器人在工業(yè)中應(yīng)用最多,為了驗(yàn)證算法的有效性,選擇圖1所示ER10L-C10的6自由度串聯(lián)機(jī)器人作為實(shí)驗(yàn)對(duì)象,從使用手冊(cè)中獲取該機(jī)器人零參考模型名義幾何參數(shù)見(jiàn)表1。
表1 ER10L-C10機(jī)器人名義幾何參數(shù)Tab.1 Nominal geometric parameters of ER10L-C10 robot
考慮到因機(jī)器人加工、裝配、磨損等誤差會(huì)導(dǎo)致由機(jī)器人示教器設(shè)定的關(guān)節(jié)角與實(shí)際關(guān)節(jié)角間存在誤差,實(shí)際關(guān)節(jié)角產(chǎn)生為在名義關(guān)節(jié)角上加入±0.001 rad均勻隨機(jī)噪聲。由關(guān)節(jié)角及幾何參數(shù)的名義值和實(shí)際值根據(jù)第2.2節(jié)公式即可計(jì)算出機(jī)器人末端姿態(tài)和位置的名義值、實(shí)際值及姿態(tài)與位置誤差??紤]到在測(cè)量機(jī)器人末端位姿時(shí)存在測(cè)量誤差,在由上述公式計(jì)算獲得的末端姿態(tài)和位置實(shí)際值上分別加入均值為計(jì)算值,方差為0.01 rad和0.5 mm的正態(tài)分布隨機(jī)誤差,得到末端姿態(tài)與位置的測(cè)量仿真值。
4.1.2 實(shí)驗(yàn)結(jié)果
根據(jù)上述隨機(jī)設(shè)定的幾何參數(shù)誤差和關(guān)節(jié)角,采用提出的IGA優(yōu)化求解機(jī)器人幾何參數(shù)誤差,其中種群和子代種群規(guī)模均設(shè)定為10,算法終止條件設(shè)定為最大進(jìn)化代數(shù)1000。在Intel(R) Core(TM)i5-4570 CPU主頻3.20 GHz計(jì)算機(jī)上采用Matlab R2015b在設(shè)定的標(biāo)定點(diǎn)N=4,8,16,32,48,64等6組不同關(guān)節(jié)角下完成1000代進(jìn)化所需時(shí)間分別為 78, 145,280,546,830,1140 s。圖2同時(shí)繪制了N=4,8,16,32時(shí)的進(jìn)化過(guò)程圖,表2給出了在上述設(shè)定的不同組關(guān)節(jié)角下機(jī)器人末端位置和姿態(tài)標(biāo)定前后誤差比較結(jié)果,其中AOE為平均絕對(duì)姿態(tài)誤差,為平均絕對(duì)位置誤差,MOE為最大絕對(duì)姿態(tài)誤差,MPE為最大絕對(duì)位置誤差。
圖2 進(jìn)化過(guò)程圖Fig.2 Evolution process figure
表2 預(yù)先設(shè)定誤差與標(biāo)定后誤差比較Tab.2 Comparison between the pre-assumed and post-calibrated pose errors
由圖2和表2可見(jiàn),提出的IGA能夠快速完成機(jī)器人ZRM幾何參數(shù)標(biāo)定,機(jī)器人在設(shè)定的不同標(biāo)定點(diǎn)下其末端定位精度均有大幅提升。為了驗(yàn)證經(jīng)標(biāo)定后的機(jī)器人其精度提升的泛化能力,針對(duì)設(shè)定的6組標(biāo)定點(diǎn),分別在機(jī)器人整個(gè)工作空間內(nèi)隨機(jī)產(chǎn)生40組關(guān)節(jié)角,根據(jù)不同標(biāo)定點(diǎn)下優(yōu)化得到的機(jī)器人幾何參數(shù)值計(jì)算末端測(cè)試點(diǎn)在標(biāo)定前后位置誤差見(jiàn)表3。
表3 整個(gè)工作空間內(nèi)誤差比較Tab.3 Errors comparison in the whole workspace
由表2和表3可見(jiàn),在標(biāo)定點(diǎn)N為4和8時(shí),盡管標(biāo)定效果很好,但隨機(jī)產(chǎn)生的測(cè)試點(diǎn)精度提升效果差,隨著N增加,測(cè)試點(diǎn)精度提升效果逐步改善,當(dāng)標(biāo)定點(diǎn)取為48時(shí),其測(cè)試點(diǎn)平均和最大絕對(duì)定位誤差由標(biāo)定前的7.046 mm和15.184 mm分別改善為標(biāo)定后的3.078 mm和5.089 mm,精度提升效果最佳;當(dāng)標(biāo)定點(diǎn)進(jìn)一步增加時(shí)精度提升效果趨于穩(wěn)定。因此,在對(duì)機(jī)器人實(shí)測(cè)標(biāo)定時(shí)建議標(biāo)定點(diǎn)設(shè)定為50個(gè)左右為宜,隨機(jī)產(chǎn)生的測(cè)試點(diǎn)其精度提升泛化能力強(qiáng)。圖3給出了N=32和N=48時(shí),測(cè)試點(diǎn)標(biāo)定前后絕對(duì)位置誤差的結(jié)果對(duì)比。
圖3 仿真測(cè)試點(diǎn)位置誤差比較Fig.3 Position errors comparison of simulation test points
對(duì)實(shí)驗(yàn)室ER10L-C10機(jī)器人標(biāo)定實(shí)測(cè)環(huán)境如圖4所示,該機(jī)器人末端負(fù)載為0~10 kg,重復(fù)定位精度為±0.05 mm,測(cè)量由Leica AT960激光跟蹤儀、TMAC探測(cè)器、上位機(jī)及Spatial Analyzer(SA)軟件共同完成,TMAC安裝在機(jī)器人末端的法蘭上,Leica AT960空間測(cè)量精度為15 μm+6 μm/m,能夠同時(shí)測(cè)量機(jī)器人末端的位置和姿態(tài),對(duì)溫度、濕度及壓力的變化具有自檢和補(bǔ)償功能。測(cè)量過(guò)程嚴(yán)格按照ISO 9283即GB/T 12642-2013[19]工業(yè)機(jī)器人性能規(guī)范及其試驗(yàn)方法標(biāo)準(zhǔn)執(zhí)行。
圖4 ER10L-C10標(biāo)定實(shí)測(cè)環(huán)境Fig.4 Real measurement setup for ER10L-C10 calibration
在SA軟件中設(shè)置機(jī)器人的基坐標(biāo)系為參考坐標(biāo)系,以坐標(biāo)值(1 300, 0, 900)為中心點(diǎn),在邊長(zhǎng)1 500 mm的正方體工作空間內(nèi)隨機(jī)生成50個(gè)標(biāo)定點(diǎn)的末端位置和姿態(tài)及對(duì)應(yīng)的關(guān)節(jié)角,采用提出的IGA方法對(duì)ER10 L-C10幾何參數(shù)誤差進(jìn)行標(biāo)定,其中方向分量誤差和連接分量誤差分別在[-0.01,+0.01]和[-0.5,+0.5]區(qū)間內(nèi)均勻隨機(jī)產(chǎn)生,計(jì)算標(biāo)定前后的絕對(duì)位置誤差如圖5所示,其最大和平均絕對(duì)位置誤差由標(biāo)定前的8.683 5 mm和5.579 1 mm分別降為標(biāo)定后的1.368 3 mm和0.376 4 mm,定位精度有大幅提升。
圖5 ER10 L-C1050個(gè)標(biāo)定點(diǎn)絕對(duì)定位誤差Fig.5 APE of 50 calibration points for for ER10L-C10
為了驗(yàn)證經(jīng)標(biāo)定后機(jī)器人精度提升的泛化能力,在上述正方體工作空間內(nèi)重新隨機(jī)生成100個(gè)測(cè)試點(diǎn),用已標(biāo)定好的幾何參數(shù)計(jì)算測(cè)試點(diǎn)標(biāo)定前后的絕對(duì)位置誤差如圖6所示,由圖可見(jiàn),測(cè)試點(diǎn)最大和平均絕對(duì)位置誤差由標(biāo)定前的8.931 7 mm和5.917 2 mm分別降為標(biāo)定后的1.213 7 mm和 0.452 7 mm, 平均定位精度提升了92.3%,證實(shí)了提出方法對(duì)隨機(jī)產(chǎn)生測(cè)試點(diǎn)精度提升泛化能力強(qiáng)。
圖6 ER10L-C10100測(cè)試點(diǎn)絕對(duì)定位誤差Fig.6 APE of 100 test points for for ER10L-C10
針對(duì)當(dāng)機(jī)器人相鄰兩軸線垂直及接近垂直時(shí)常用模型存在奇異性問(wèn)題,建立了包含方向矢量和連接矢量的串聯(lián)機(jī)器人零參考模型,提出了用改進(jìn)遺傳算法優(yōu)化求解零位方向分量和連接方向分量,大量實(shí)驗(yàn)結(jié)果表明:(1) 所建機(jī)器人零參考模型滿足標(biāo)定模型連續(xù)性要求,避免奇異點(diǎn)出現(xiàn);(2) 對(duì)機(jī)器人進(jìn)行幾何參數(shù)標(biāo)定時(shí),標(biāo)定點(diǎn)數(shù)取為50點(diǎn)左右最為適宜,標(biāo)定效果最佳;(3) 對(duì)ER10L-C10機(jī)器人,采用提出的IGA對(duì)其ZRM幾何參數(shù)誤差標(biāo)定后,該器人在整個(gè)工作空間內(nèi)末端定位精度平均提升約90%,適于在有高精度定位要求的串聯(lián)機(jī)器人幾何參數(shù)標(biāo)定中推廣應(yīng)用。