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