馮利民,俞經(jīng)虎*,王延玉,朱行飛,劉佳怡
(1.江南大學(xué) 機(jī)械工程學(xué)院,無(wú)錫 214122;2.江蘇省食品先進(jìn)制造裝備技術(shù)重點(diǎn)實(shí)驗(yàn)室,無(wú)錫 214122;3.長(zhǎng)廣溪智能制造(無(wú)錫)有限公司,無(wú)錫 214000)
機(jī)器人的定位精度是衡量機(jī)器人性能的重要指標(biāo)。然而由于加工、裝配等原因,機(jī)器人的絕對(duì)定位精度遠(yuǎn)低于某些應(yīng)用要求,因此提升機(jī)器人的絕對(duì)定位精度已成為國(guó)內(nèi)外機(jī)器人研究人員重點(diǎn)關(guān)注的問題[1]。機(jī)器人的絕對(duì)定位精度主要受幾何因素與非幾何因素的影響,其中幾何因素主要包括裝配誤差、制造誤差、磨損等,其引起的誤差占對(duì)總誤差的80%[2]。因此在提高機(jī)器人定位精度研究中,大多數(shù)研究者主要研究幾何因素,對(duì)機(jī)器人運(yùn)動(dòng)學(xué)參數(shù)進(jìn)行精確標(biāo)定。
目前運(yùn)動(dòng)學(xué)參數(shù)標(biāo)定方法一般分為四步:誤差建模、誤差測(cè)量、參數(shù)辨識(shí)和誤差補(bǔ)償[3]。對(duì)于機(jī)器人運(yùn)動(dòng)學(xué)參數(shù)標(biāo)定,通常重點(diǎn)在于誤差建模與參數(shù)辨識(shí)。文獻(xiàn)[4]建立了基于微分變換的誤差模型,并將其運(yùn)用到運(yùn)動(dòng)學(xué)參數(shù)標(biāo)定;文獻(xiàn)[5,6]對(duì)工業(yè)機(jī)器人建立了完整的串聯(lián)機(jī)器人微分誤差模型,通過最小二乘法進(jìn)行辨識(shí),試驗(yàn)驗(yàn)證了誤差模型的有效性;文獻(xiàn)[7]運(yùn)用Lavenberg-Marquardt算法對(duì)最小二乘法進(jìn)行改進(jìn),有效提升了工業(yè)機(jī)器人的定位精度。上述文獻(xiàn)表明,運(yùn)用微分變換方法對(duì)誤差建模、使用最小二乘法進(jìn)行參數(shù)辨識(shí)能有效對(duì)機(jī)器人運(yùn)動(dòng)學(xué)參數(shù)進(jìn)行標(biāo)定。
本文為實(shí)現(xiàn)精確標(biāo)定機(jī)器人運(yùn)動(dòng)學(xué)參數(shù),簡(jiǎn)化標(biāo)定過程,推導(dǎo)了基于微分變換的末端位姿線性誤差模型,并且采用激光跟蹤儀測(cè)量計(jì)算位置誤差,并且將其代入該方程用于離線參數(shù)辨識(shí),最后在Lavenberg-Marquardt算法改進(jìn)的最小二乘法基礎(chǔ)上,再次對(duì)Lavenberg-Marquardt算法進(jìn)行改進(jìn)求解參數(shù)誤差,對(duì)機(jī)器人的運(yùn)動(dòng)學(xué)參數(shù)完成補(bǔ)償修正。
本文所研究的對(duì)象為長(zhǎng)廣溪智能制造公司新研發(fā)的六自由度協(xié)作機(jī)器人,其由六個(gè)旋轉(zhuǎn)關(guān)節(jié)構(gòu)成,各關(guān)節(jié)采用模塊化設(shè)計(jì),具有碰撞檢測(cè)、拖動(dòng)示教等功能,相對(duì)傳統(tǒng)的工業(yè)機(jī)器人具有較好的安全性,可較好的實(shí)現(xiàn)人機(jī)協(xié)作功能。
首先采用DH法建立機(jī)器人運(yùn)動(dòng)學(xué)模型,其原理是通過建立機(jī)器人的連桿坐標(biāo)系,得到各個(gè)關(guān)節(jié)之間的坐標(biāo)關(guān)系,通過各坐標(biāo)系變換矩陣相乘來(lái)描述機(jī)器人末端相對(duì)基座的位姿關(guān)系。根據(jù)DH參數(shù)建立規(guī)則與協(xié)作機(jī)器人的自身機(jī)械結(jié)構(gòu),可得到協(xié)作機(jī)器人的連桿坐標(biāo)系(如圖1所示)與DH參數(shù)表,如表1所示。
圖1 協(xié)作機(jī)器人本體模型
表1 協(xié)作機(jī)器人DH參數(shù)表
圖2 六自由度協(xié)作機(jī)器人連桿坐標(biāo)系
運(yùn)用機(jī)器人的正運(yùn)動(dòng)學(xué)可在已知機(jī)器人結(jié)構(gòu)參數(shù)與各關(guān)節(jié)轉(zhuǎn)角情況下,推導(dǎo)出機(jī)器人運(yùn)動(dòng)時(shí)關(guān)節(jié)i相對(duì)于關(guān)節(jié)i-1的理論位置與姿態(tài),此時(shí)可得到關(guān)節(jié)i與關(guān)節(jié)i-1之間的轉(zhuǎn)換矩陣T:
式(1)中,c為cos的縮寫形式,s為sin的縮寫形式。
由式(1)可知,當(dāng)連桿參數(shù)ai-1、αi-1、di、θi存在一定誤差,且誤差足夠小時(shí)可用微分方程表示誤差方程,此時(shí)單個(gè)連桿運(yùn)動(dòng)產(chǎn)生dTi的變量誤差,連桿坐標(biāo)系由理論位姿Ti變?yōu)門i+dTi,根據(jù)微分變換[8],dTi與各連桿參數(shù)間的線性關(guān)系式為:
式(3)中,Δai、Δαi、Δdi、Δθi分別為連桿長(zhǎng)度ai、連桿扭角αi、連桿偏置di、關(guān)節(jié)轉(zhuǎn)角θi的誤差量。
當(dāng)機(jī)器人有n個(gè)自由度時(shí),結(jié)合上述單連桿的誤差方程,將機(jī)器人多個(gè)連桿的微分變換的誤差方程聯(lián)立分析。設(shè)機(jī)器人末端相對(duì)于基座標(biāo)系的位姿變換矩陣為TN,其誤差矩陣為dTN,則此時(shí)實(shí)際位姿可由式(7)所示:
當(dāng)誤差量較小時(shí),二階以上微分誤差項(xiàng)忽略不計(jì)[14],此時(shí)可得到:
根據(jù)式(7)可得到:
為簡(jiǎn)化式(8),將機(jī)器人末端坐標(biāo)系相對(duì)于關(guān)節(jié)i的轉(zhuǎn)換矩陣用Ni表示:
將式(8)、式(9)、式(10)聯(lián)立,此時(shí)可得到n自由度關(guān)節(jié)末端的誤差矩陣模型:
由式(11)可得到位姿誤差一般形式[9]:
最終可將誤差模型簡(jiǎn)化表示為:
最終,將機(jī)器人末端相對(duì)于基座的誤差表示為待辨識(shí)的雅克比矩陣J與DH的參數(shù)誤差矩陣u的乘積。本文研究對(duì)象為6自由度協(xié)作型機(jī)器人,測(cè)量關(guān)節(jié)角組數(shù)為30組時(shí),在式(12)中,Δe是一個(gè)180×1的矩陣,表示理論位姿與實(shí)際位姿的差值;J是一個(gè)180×24的矩陣,表示基于誤差的雅克比矩陣;u是一個(gè)24×1的矩陣,表示DH參數(shù)誤差。
在建立機(jī)器人末端相對(duì)于基座坐標(biāo)系的誤差模型后,需要對(duì)模型求解得到DH參數(shù)誤差。由于DH模型有4個(gè)參數(shù),即對(duì)于n連桿串聯(lián)機(jī)器人有4n個(gè)運(yùn)動(dòng)學(xué)參數(shù),一組誤差參數(shù)有著6個(gè)參數(shù)dx、dy、dz、δx、δy、δz,只能列出6個(gè)方程,若要解出所有參數(shù),則需要取大于4n/6的整數(shù)組數(shù)據(jù)。對(duì)試驗(yàn)得到的多組數(shù)據(jù)處理,可得到一個(gè)超定的線性方程組。求解DH參數(shù)誤差時(shí)通常采用最小二乘法,然而當(dāng)雅克比矩陣的列之間存在線性關(guān)系時(shí),采用普通的最小二乘法求解會(huì)出現(xiàn)奇異現(xiàn)象,進(jìn)而影響計(jì)算結(jié)果,因此常見的解決辦法采用式(13)所示的Lavenberg-Marquardt算法對(duì)最小二乘法進(jìn)行改進(jìn)[10],其求解方程為:
式(14)中,I表示單位矩;k表示組合系數(shù),初值為0.01。
本文考慮到迭代的收斂速度以及參數(shù)辨識(shí)精度,將組合系數(shù)k與迭代前后位姿誤差相結(jié)合,提升其辨識(shí)精度,在Lavenberg-Marquardt算法(L-MA)的基礎(chǔ)上,再次對(duì)辨識(shí)算法進(jìn)行改進(jìn),其組合系數(shù)如式(15)所示:
式(15)中,v表示調(diào)節(jié)因子,本文取10;Δei與Δei+1分別表示迭代第i次與第i+1次的平均位置誤差。
將組合系數(shù)代入式(14),最終得到改進(jìn)的迭代L-MA辨識(shí)算法的求解公式:
當(dāng)標(biāo)定后的位置誤差滿足本次標(biāo)定機(jī)器人精度要求時(shí),迭代停止,輸出此次辨識(shí)的運(yùn)動(dòng)學(xué)參數(shù)誤差。標(biāo)定過程流程如圖3所示。
圖3 標(biāo)定算法流程圖
為驗(yàn)證本文的線性誤差模型,首先預(yù)設(shè)一組較小的運(yùn)動(dòng)學(xué)參數(shù)誤差如表2所示,設(shè)置機(jī)器人空間可變姿態(tài)范圍內(nèi)的30組關(guān)節(jié)角,用MATLAB仿真分析計(jì)算得到實(shí)際的機(jī)器人末端位置與理論位置,進(jìn)而得到標(biāo)定前的位置誤差,將其代入式(13)求解運(yùn)動(dòng)學(xué)誤差參數(shù);再次將計(jì)算后的運(yùn)動(dòng)學(xué)誤差參數(shù)代入運(yùn)動(dòng)學(xué)方程求解標(biāo)定后的修正位姿,與其理論位姿進(jìn)行比較分析。
表2 運(yùn)動(dòng)學(xué)參數(shù)誤差預(yù)設(shè)值
本文中位置誤差標(biāo)定前后的位置誤差由式(16)計(jì)算得到:
式(17)中,xr、yr、zr表示機(jī)器人末端實(shí)際的位置,xn、yn、zn表示機(jī)器人末端理論的位置;
經(jīng)過計(jì)算,得到仿真條件下標(biāo)定前后的定位誤差,其結(jié)果如圖4所示。應(yīng)用本文建立的辨識(shí)算法,標(biāo)定后的平均誤差降低了0.250mm,較標(biāo)定前降低43.2%;標(biāo)定后的最大誤差降低了0.604mm,較標(biāo)定前降低60.3%;標(biāo)定后的RMS誤差降低了0.28mm,較標(biāo)定前降低44.9%。相比普通的L-MA算法,標(biāo)定后精度提升更加顯著。該仿真試驗(yàn)表明本文建立的誤差模型與辨識(shí)算法相對(duì)相比普通的標(biāo)定效果更好,下文將通過試驗(yàn)進(jìn)行驗(yàn)證分析。
圖4 仿真標(biāo)定前后位置誤差
仿真試驗(yàn)驗(yàn)證了本文誤差模型與辨識(shí)算法的有效性,標(biāo)定現(xiàn)場(chǎng)試驗(yàn)采用本文的誤差模型與辨識(shí)算法進(jìn)行驗(yàn)證。本文標(biāo)定試驗(yàn)的測(cè)量系統(tǒng)為T-Mac裝置與Leica AT960激光跟蹤儀,試驗(yàn)測(cè)量系統(tǒng)如圖4所示。此測(cè)量系統(tǒng)測(cè)量范圍廣,位置測(cè)量精度達(dá)到15um±6um/m,具有精度高、操作簡(jiǎn)便、實(shí)時(shí)性高等優(yōu)點(diǎn)。
圖5 標(biāo)定試驗(yàn)現(xiàn)場(chǎng)
標(biāo)定試驗(yàn)流程可簡(jiǎn)單概括為:
1)綜合考慮機(jī)器人結(jié)構(gòu)與激光跟蹤儀工作范圍,隨機(jī)選擇機(jī)器人可變姿態(tài)范圍內(nèi)30組關(guān)節(jié)角;
2)利用激光跟蹤儀測(cè)量機(jī)械臂工具末端相對(duì)于激光跟蹤儀的位姿及工具相對(duì)于機(jī)械臂六軸末端的對(duì)應(yīng)關(guān)系;
3)采用正運(yùn)動(dòng)學(xué)方程求出30組關(guān)節(jié)角下末端工具相對(duì)于基座坐標(biāo)系理論位姿與實(shí)際位姿的差值Δe,代入誤差模型求解出DH參數(shù)誤差;
4)將修正的DH參數(shù)寫入控制器中,并取30組不同關(guān)節(jié)角進(jìn)行精度驗(yàn)證分析。
對(duì)試驗(yàn)測(cè)量的位姿誤差進(jìn)行求解計(jì)算,并基于上文建立的誤差模型,采用改進(jìn)L-MA參數(shù)辨識(shí)算法,并對(duì)標(biāo)定試驗(yàn)測(cè)得的參數(shù)誤差進(jìn)行辨識(shí)計(jì)算,最終其辨識(shí)結(jié)果如表4所示。
表3 DH參數(shù)誤差
將表中的DH運(yùn)動(dòng)學(xué)參數(shù)誤差補(bǔ)償進(jìn)控制器,并對(duì)關(guān)節(jié)零位角進(jìn)行補(bǔ)償,重新選取30組不同的關(guān)節(jié)角進(jìn)行驗(yàn)證分析,得到標(biāo)定前后的末端位姿,采用式(24)計(jì)算位置誤差,通過計(jì)算得到標(biāo)定前后30個(gè)末端位置誤差如圖6所示。
對(duì)標(biāo)定前后位置誤差進(jìn)行處理,求得標(biāo)定前后的位置與姿態(tài)的誤差最大值,平均值,均方根值如表所示。由表5可知,六自由度協(xié)作機(jī)器人經(jīng)過標(biāo)定后,誤差最大值,標(biāo)準(zhǔn)差值,均方根(RMS)值得到了顯著降低,其中位置定位誤差最大值減小了42.8%,位置定位誤差平均值減小了61.9%,位置定位誤差RMS值減小了59.3%,協(xié)作機(jī)器人定位精度得到了顯著提升。
表5 標(biāo)定前后位置誤差
本文以新研發(fā)的六自由度協(xié)作機(jī)器人為研究對(duì)象,采用微分法建立了協(xié)作機(jī)器人的誤差模型,并采用改進(jìn)的Lavenberg-Marquardt算法用于求解運(yùn)動(dòng)學(xué)誤差方程。采用激光跟蹤儀進(jìn)行標(biāo)定試驗(yàn),試驗(yàn)結(jié)果表明,采用本文的辨識(shí)算法進(jìn)行標(biāo)定,位置定位誤差最大值減小了42.8%,位置定位誤差平均值減小了61.9%,位置定位誤差RMS值減小了59.3%,絕對(duì)定位精度得到了有效提升,驗(yàn)證了本文提出標(biāo)定方法的有效性。