付樹(shù)兵, 高興宇, 陸佳琪, 趙東升
(桂林電子科技大學(xué) 機(jī)電工程學(xué)院,廣西 桂林 541004)
機(jī)器人的定位誤差95%是由于初始運(yùn)動(dòng)學(xué)模型不準(zhǔn)確所造成的[1]。提高機(jī)器人定位精度的方法主要有2類(lèi):1)提高機(jī)器人零件的加工及裝配精度,該方法對(duì)減少機(jī)器人幾何誤差,提高絕對(duì)定位精度有一定作用,但是對(duì)于高精度作業(yè)要求的機(jī)器人,提高精度效果不明顯,投入成本驟增;2)建立運(yùn)動(dòng)學(xué)模型,測(cè)量末端位置誤差,辨識(shí)幾何參數(shù)誤差值,在控制器上進(jìn)行誤差補(bǔ)償,該方法是提高機(jī)器人精度標(biāo)定的主要方法,其中參數(shù)辨識(shí)算法是提高定位精度、降低成本最有效、最直接的方法。目前,使用最廣的辨識(shí)算法仍然是最小二乘算法,但是傳統(tǒng)的最小二乘算法對(duì)部分相關(guān)參數(shù)辨識(shí)精度低,且無(wú)法對(duì)冗余參數(shù)進(jìn)行辨識(shí),從而導(dǎo)致部分參數(shù)誤差無(wú)法補(bǔ)償或補(bǔ)償精度低。張虎[1]采用DH建模,先后對(duì)比最小二乘法、優(yōu)化算法、遺傳算法和退火算法補(bǔ)償效果,最大定位誤差從17.966 8 mm降至1.350 0 mm,MDH模型比DH模型最大定位誤差降低了約0.001 0 mm。王坤[2]以HSR-JR605機(jī)器人為實(shí)驗(yàn)對(duì)象,采用二級(jí)標(biāo)定方法,采用不同的方法對(duì)幾何參數(shù)誤差和非幾何參數(shù)誤差進(jìn)行補(bǔ)償,機(jī)器人的平均定位誤差由4.111 3 mm降至1.060 8 mm。目前機(jī)器人標(biāo)定的最大定位誤差大多數(shù)還停留在毫米級(jí)。為此,提出一種基于分步式自適應(yīng)學(xué)習(xí)參數(shù)辨識(shí)方法,此方法辨識(shí)精度高,辨識(shí)結(jié)果穩(wěn)定,算法程序化方便,可執(zhí)行性強(qiáng),補(bǔ)償后最大定位誤差降低至0.2 mm以內(nèi)。
目前的工業(yè)機(jī)器人仍然主要采用經(jīng)典的D-H模型建模。此模型下,當(dāng)機(jī)器人相鄰關(guān)節(jié)旋轉(zhuǎn)軸線平行或近乎平行時(shí),存在奇異點(diǎn),對(duì)末端位置精度影響很大[3-4]。為了減少辨識(shí)參數(shù),采用D-H模型與MDH模型相結(jié)合的運(yùn)動(dòng)學(xué)模型,在平行或近乎平行的關(guān)節(jié)間引入繞Y軸的旋轉(zhuǎn)參數(shù)β,在不平行的關(guān)節(jié)間仍保留傳統(tǒng)的D-H模型。
以歐姆龍公司的Viper650機(jī)器人為實(shí)驗(yàn)對(duì)象,結(jié)構(gòu)參數(shù)名義值如表1所示,坐標(biāo)關(guān)系圖如圖1所示,MATLAB仿真各參數(shù)誤差預(yù)設(shè)值如表2所示。
表1 運(yùn)動(dòng)學(xué)參數(shù)名義值
表2 運(yùn)動(dòng)學(xué)參數(shù)誤差預(yù)設(shè)值
圖1 Viper650機(jī)器人坐標(biāo)關(guān)系圖
根據(jù)圖1,相鄰的2個(gè)關(guān)節(jié)坐標(biāo)系間的D-H變換矩陣為
(1)
其中,2、3關(guān)節(jié)間的MDH變換矩陣為
A2=
(2)
則機(jī)器人位姿矩陣
(3)
其中:n(nx,ny,nz)、o(ox,oy,oz)、a(ax,ay,az)為機(jī)器人末端法蘭相對(duì)于基坐標(biāo)系的姿態(tài)向量;p(px,py,pz)為機(jī)器人末端執(zhí)行器的位置向量。
機(jī)構(gòu)的雅可比矩陣能夠反映機(jī)構(gòu)位姿的微小變化以及各部件參數(shù)的微小變化之間的關(guān)系,可以描述機(jī)器人在末端執(zhí)行器微分運(yùn)動(dòng)和各關(guān)節(jié)微分運(yùn)動(dòng)之間的聯(lián)系[5]。機(jī)器人運(yùn)動(dòng)學(xué)誤差模型為
(4)
其中Δp為實(shí)際位置pr與名義位置pn之差。式(4)簡(jiǎn)化后模型為
Δp=J·Δδ,
(5)
其中:J為3×25的機(jī)器人誤差系數(shù)矩陣,又稱(chēng)雅可比矩陣,
(6)
Δδ為25×1的幾何誤差參數(shù)矩陣,
Δδ=(Δθ1…Δθ6,Δd1…Δd6,Δa0…Δa5,
Δα0…Δα5,Δβ2)T。
(7)
因此,求解時(shí)應(yīng)選擇測(cè)量點(diǎn)數(shù)N>25/3,為了提高辨識(shí)精度,一般取N≥9構(gòu)成雅可比矩陣的超定方程組。當(dāng)雅可比矩陣列滿秩時(shí)可直接進(jìn)行求解,
Δδ=J-1Δp。
(8)
通過(guò)對(duì)雅可比矩陣的分析以及參數(shù)辨識(shí)的運(yùn)算發(fā)現(xiàn),其秩rank(J)<25,導(dǎo)致求解結(jié)果不唯一。因此,對(duì)J矩陣的列向量進(jìn)行冗余性分析,可對(duì)J矩陣進(jìn)行QR分解,
(9)
其中:Q為N×N的正交矩陣;R為25×25的上三角矩陣,R矩陣對(duì)角線上的元素為J矩陣的列特征值。特征值為0的列代表不起作用參數(shù)所對(duì)應(yīng)的參數(shù)列,特征值很小非常接近于0的列代表相關(guān)參數(shù)列,不起作用參數(shù)以及部分相關(guān)參數(shù)屬于冗余參數(shù),在最小二乘算法中無(wú)法辨識(shí)。通過(guò)QR分解獲知冗余參數(shù)后,對(duì)獨(dú)立參數(shù)進(jìn)行誤差補(bǔ)償。圖2為QR分解的x、y、z方向的各參數(shù)特征值除以1 000后的折線圖,圖3為傳統(tǒng)最小二乘算法在X、Y、Z軸的參數(shù)辨識(shí)折線圖。
圖2 QR分解特征值分布折線圖
圖3 傳統(tǒng)最小二乘算法參數(shù)辨識(shí)折線圖
由圖2、3可知,連桿長(zhǎng)度誤差Δai和連桿偏移誤差Δdi的QR分解特征值趨于0,連桿長(zhǎng)度誤差Δai和連桿偏移誤差Δdi的部分誤差值辨識(shí)結(jié)果不一致,同時(shí)參數(shù)辨識(shí)精度低,這也驗(yàn)證了當(dāng)QR分解特征值趨于0時(shí),最小二乘法參數(shù)辨識(shí)精度較低。另外,冗余參數(shù)Δθ6、Δd5、Δa5、Δα6的參數(shù)辨識(shí)結(jié)果基本為0,根據(jù)文獻(xiàn)[5],Δθ6和Δα6對(duì)末端位置精度的影響基本可忽略,所以最終需要辨識(shí)和補(bǔ)償?shù)膮?shù)為23個(gè)。其中Δθi、Δαi、Δβ2的辨識(shí)采用傳統(tǒng)的最小二乘法,能基本滿足辨識(shí)精度要求。Δdi和Δai的辨識(shí)采用區(qū)域搜索法,q11、q12、q13、q14、q15、q16代表Δdi區(qū)域搜索后辨識(shí)結(jié)果。同理,p11、p12、p13、p14、p15、p16代表Δai區(qū)域搜索后辨識(shí)結(jié)果。
相同參數(shù)誤差條件下,不同位姿對(duì)末端位置造成的誤差存在差異性[5],因此在進(jìn)行參數(shù)誤差辨識(shí)之前,需要獲取n組合適位姿并進(jìn)行誤差測(cè)量。為此,采用方差作為參數(shù)辨識(shí)穩(wěn)定性指標(biāo)。其中,區(qū)域搜索環(huán)節(jié)步長(zhǎng)不能設(shè)置過(guò)小,否則在參數(shù)誤差較大的情況下,容易陷入局部最優(yōu),步長(zhǎng)過(guò)大則會(huì)影響區(qū)域搜索分辨率。鑒于此,采用多步長(zhǎng)區(qū)域搜索法。具體操作流程為:
1)每個(gè)關(guān)節(jié)在活動(dòng)范圍內(nèi)產(chǎn)生隨機(jī)數(shù),以40組數(shù)據(jù)為單位,對(duì)求解的雅可比矩陣進(jìn)行QR分解,區(qū)分獨(dú)立參數(shù)、相關(guān)參數(shù)和不起作用的參數(shù)。
2)補(bǔ)償獨(dú)立參數(shù)誤差。
3)設(shè)置步長(zhǎng)0.03 mm進(jìn)行區(qū)域搜索,搜索完畢后進(jìn)行辨識(shí)精度微調(diào),分別設(shè)置步長(zhǎng)為0.02、0.01 mm進(jìn)行單次搜索,逐次補(bǔ)償后方差為評(píng)判標(biāo)準(zhǔn),從100個(gè)40組數(shù)據(jù)中找到方差最小的一組,同時(shí)參考Δdi和Δai的辨識(shí)情況。重復(fù)步驟1)~3),直至篩選出合適的位姿且穩(wěn)定的參數(shù)辨識(shí)方程。
4)反求Δθ5和Δα5的經(jīng)驗(yàn)值,經(jīng)驗(yàn)值補(bǔ)償后重新辨識(shí)參數(shù)誤差。
5)重新設(shè)定誤差值,驗(yàn)證整體的參數(shù)辨識(shí)效果,證明本方法的辨識(shí)精度和可靠性。
經(jīng)實(shí)驗(yàn)證明,采用最小二乘法進(jìn)行參數(shù)辨識(shí),Δθ5的辨識(shí)結(jié)果總是大于預(yù)設(shè)值,Δα5的辨識(shí)結(jié)果總是小于預(yù)設(shè)值,為了使區(qū)域搜索法參數(shù)誤差辨識(shí)結(jié)果更加精準(zhǔn),需要對(duì)這2個(gè)參數(shù)分別乘以一個(gè)經(jīng)驗(yàn)值。實(shí)驗(yàn)證明,這個(gè)經(jīng)驗(yàn)值不是定值。關(guān)節(jié)角Δθ5和扭角Δα5的誤差變化對(duì)Δθ5和Δα5的辨識(shí)精度影響不大,但會(huì)隨桿長(zhǎng)偏差Δai和連桿偏移誤差Δdi的變化而變化。有無(wú)經(jīng)驗(yàn)值補(bǔ)償對(duì)整體定位精度影響不是很大,只會(huì)影響部分相關(guān)參數(shù)的辨識(shí)精度,所以可以先初步辨識(shí)各參數(shù)誤差,然后計(jì)算當(dāng)前參數(shù)誤差需要的經(jīng)驗(yàn)值。步驟3)是整個(gè)參數(shù)辨識(shí)的關(guān)鍵,主流程圖和區(qū)域搜索流程圖如圖4、5所示。
圖4、5中,Vr1代表當(dāng)前參數(shù)誤差補(bǔ)償后的方差,通過(guò)不斷遍歷,將Vr1最小值賦值給Vr。Vr2代表正向搜索參數(shù)誤差補(bǔ)償后方差,Vr3代表負(fù)向搜索參數(shù)誤差補(bǔ)償后方差。n1根據(jù)誤差預(yù)估值而定,l為搜索步長(zhǎng)。暫定n1為40,li為0.03,則最終區(qū)域搜索區(qū)間為[-1.2,1.2]。輸出結(jié)果中,Mx、Vr、Av分別為參數(shù)誤差補(bǔ)償后的最大定位誤差、方差及平均誤差,Er為最終辨識(shí)的誤差參數(shù)矩陣,Tr為從隨機(jī)數(shù)中選取的40組較佳辨識(shí)位姿矩陣,Tr=[Tr1Tr2Tr3Tr4Tr5Tr6]T。若測(cè)量點(diǎn)選擇太少,部分參數(shù)的辨識(shí)精度可能會(huì)發(fā)生較大跳變,最終導(dǎo)致部分參數(shù)的補(bǔ)償精度不足;若測(cè)量點(diǎn)太多,一方面會(huì)增加參數(shù)的辨識(shí)時(shí)間,另一方面測(cè)量組數(shù)據(jù)增加時(shí),辨識(shí)精度的提高不明顯,最終選定測(cè)量點(diǎn)數(shù)為40。測(cè)量位姿的確定猶如機(jī)器學(xué)習(xí)和訓(xùn)練的過(guò)程,根據(jù)隨機(jī)數(shù)的變化,不斷更新獲取最佳辨識(shí)位姿,辨識(shí)精度也不斷提高。
圖4 主流程圖
根據(jù)流程圖選出測(cè)量位姿,并進(jìn)行仿真實(shí)驗(yàn)。設(shè)置較小參數(shù)誤差和較大參數(shù)誤差2種情況,分別對(duì)Δθ5和Δα5有無(wú)經(jīng)驗(yàn)值補(bǔ)償?shù)谋孀R(shí)進(jìn)行對(duì)比。表3為不同預(yù)設(shè)值參數(shù)辨識(shí)結(jié)果對(duì)比。從表3可以看出:
1)Δθ5和Δα5的辨識(shí)精度對(duì)Δd5和Δa5的辨識(shí)結(jié)果影響很大。從QR分解的特征值分析,Δd5和Δa5屬于相關(guān)性較強(qiáng)的參數(shù),傳統(tǒng)最小二乘法對(duì)其辨識(shí)結(jié)果趨于0,為無(wú)法辨識(shí)。
2)Δθ5和Δα5的辨識(shí)精度對(duì)其他參數(shù)的辨識(shí)波動(dòng)基本可以忽略,可以先根據(jù)初步辨識(shí)結(jié)果反求Δθ5和Δα5的經(jīng)驗(yàn)值,然后進(jìn)行二次參數(shù)辨識(shí)。
圖6為第1組誤差預(yù)設(shè)值未標(biāo)定前,X、Y、Z軸定位誤差分布,圖7~9為第1組誤差預(yù)設(shè)值參數(shù)辨識(shí)并補(bǔ)償誤差后的定位誤差折線圖。圖10~12為第2組誤差預(yù)設(shè)值參數(shù)辨識(shí)并補(bǔ)償后的定位誤差折線圖。從圖6~12可知:
圖5 區(qū)域搜索流程圖
表3 不同預(yù)設(shè)值參數(shù)辨識(shí)結(jié)果對(duì)比
圖6 未標(biāo)定前誤差折線圖
圖7 第1組X軸誤差分布折線圖
圖8 第1組Y軸誤差分布折線圖
圖9 第1組Z軸誤差分布折線圖
圖10 第2組X軸誤差分布折線圖
圖11 第2組Y軸誤差分布折線圖
1)當(dāng)整體參數(shù)都存在微小誤差時(shí),對(duì)機(jī)器人末端位置的精度影響較大。
2)區(qū)域搜索法比傳統(tǒng)的最小二乘法參數(shù)辨識(shí)精度更高,誤差的補(bǔ)償效果更好。
3)當(dāng)參數(shù)誤差Δθ5和Δα5較小時(shí),有無(wú)經(jīng)驗(yàn)值補(bǔ)償對(duì)定位誤差精度的提高效果不明顯;當(dāng)參數(shù)誤差Δθ5和Δα5較大時(shí),經(jīng)驗(yàn)值補(bǔ)償可一定程度上提高機(jī)器人定位精度,特別是Z軸的定位精度。
4)Δθ5、Δd5、Δa5、Δα5誤差值對(duì)末端定位精度影響較小。
2種算法的誤差對(duì)比如表4所示。由表4可知,第1組數(shù)據(jù),與標(biāo)定前相比,區(qū)域搜索算法的最大定位誤差降低了99.33%,方差降低了99.99%,平均誤差降低了99.62%;與傳統(tǒng)最小二乘法對(duì)比,最大定位誤差降低了86.73%,方差降低了98.74%,平均誤差降低了85.38%。第2組數(shù)據(jù),與標(biāo)定前相比,
圖12 第2組Z軸誤差分布折線圖
表4 2種算法的誤差對(duì)比mm
區(qū)域搜索算法的最大誤差降低了98.95%,方差降低了99.99%,平均誤差降低了99.39%;與傳統(tǒng)最小二乘法相比,最大定位誤差降低了51.90%,方差降低了81.61%,平均誤差降低了98.76%。這也驗(yàn)證了基于區(qū)域搜索法參數(shù)辨識(shí)的高精度和高可靠性。
針對(duì)工業(yè)機(jī)器人標(biāo)定環(huán)節(jié)中最小二乘法部分參數(shù)辨識(shí)不穩(wěn)定、冗余參數(shù)無(wú)法辨識(shí)等問(wèn)題,提出了一種分步式自適應(yīng)學(xué)習(xí)參數(shù)辨識(shí)方法??紤]到相同誤差值情況下,不同位姿對(duì)末端位置精度的影響各不相同,同時(shí),不同位姿對(duì)參數(shù)辨識(shí)精度也會(huì)存在差異,為此,采用隨機(jī)數(shù)方法,MATLAB遍歷仿真,自適應(yīng)學(xué)習(xí)當(dāng)前型號(hào)機(jī)器人參數(shù)辨識(shí)的最佳位姿測(cè)量點(diǎn),測(cè)量點(diǎn)對(duì)相同型號(hào)的機(jī)器人參數(shù)辨識(shí)同樣適用,后續(xù)的參
數(shù)辨識(shí)可直接跳過(guò)測(cè)量位姿選取環(huán)節(jié)。經(jīng)驗(yàn)值的補(bǔ)償可提高相關(guān)參數(shù)的辨識(shí)精度,從而提高機(jī)器人整體定位精度。但單步長(zhǎng)搜索分辨率不能設(shè)置過(guò)小,否則當(dāng)參數(shù)誤差值較大情況下,可能會(huì)陷入局部最優(yōu)。MATLAB仿真結(jié)果表明,機(jī)器人最大定位誤差降低至0.2 mm,證明本方法是有效的,為機(jī)器人精度標(biāo)定的實(shí)施提供了理論依據(jù)。
桂林電子科技大學(xué)學(xué)報(bào)2020年2期