魏文鋒 王 勇
(廣州數(shù)控設(shè)備有限公司,廣州,510530)
工業(yè)機(jī)器人能夠代替人類完成一些重復(fù)的、繁重的勞動工作,以及在危險場景下的各種工作,這對于解放生產(chǎn)力,提高生產(chǎn)效率有著重要意義[1]。隨著工業(yè)機(jī)器人的應(yīng)用場景不斷豐富,工業(yè)機(jī)器人能夠完成的工作也從簡單到復(fù)雜:從最初的搬運(yùn)與碼垛機(jī)器人,到后來的噴涂與焊接機(jī)器人,再到目前的裝配與加工機(jī)器人,工業(yè)機(jī)器人能完成的工作任務(wù)越來越復(fù)雜化和精密化。這樣的發(fā)展趨勢對工業(yè)機(jī)器人自身的精度和性能也提出了更高的要求。
由于制造裝配以及實(shí)際使用環(huán)境帶來的誤差造成工業(yè)機(jī)器人實(shí)際模型與編程使用和控制器中的名義模型存在誤差,該誤差被稱為工業(yè)機(jī)器人的絕對定位精度。如果工業(yè)機(jī)器人絕對定位精度在毫米數(shù)量級,就難以滿足將工業(yè)機(jī)器人用于復(fù)雜加工和裝配任務(wù)的需求,工業(yè)機(jī)器人絕對定位精度則需要得到提升。
一般可以通過以下兩種途徑提高工業(yè)機(jī)器人絕對定位精度:
1)從誤差的源頭上減少誤差的產(chǎn)生。即:使用更先進(jìn)的制造方法和裝配方法,減少制造和裝配誤差。由于當(dāng)前的制造水平和產(chǎn)品經(jīng)濟(jì)性的限制,此方法難以實(shí)施。
2)對已有誤差進(jìn)行補(bǔ)償。即運(yùn)動學(xué)標(biāo)定與補(bǔ)償法。該方法是使用先進(jìn)的測量儀器對工業(yè)機(jī)器人末端位姿進(jìn)行測量,將測量數(shù)據(jù)導(dǎo)入到建立的工業(yè)機(jī)器人誤差模型中,采用算法辨識出誤差,再把通過補(bǔ)償算法得到的數(shù)據(jù)輸入到工業(yè)機(jī)器人的系統(tǒng)參數(shù)中進(jìn)行補(bǔ)償,最終使工業(yè)機(jī)器人末端執(zhí)行器實(shí)際位姿與期望位姿的誤差減小,從而絕對定位精度得到提高。這種方法實(shí)施成本低,是提升工業(yè)機(jī)器人絕對定位精度的主要途徑。
上述提到的標(biāo)定技術(shù)可分為基于模型的標(biāo)定和無模型的標(biāo)定兩類。工業(yè)機(jī)器人擁有更多自由度,標(biāo)定補(bǔ)償問題比數(shù)控機(jī)床要復(fù)雜,空間位姿多,且非線性,對其標(biāo)定需采用基于運(yùn)動學(xué)模型的標(biāo)定補(bǔ)償方法。目前工業(yè)機(jī)器人建模方法有多種,最經(jīng)典的模型是D-H模型,以及基于D-H模型衍生出來的建模方法[2-3]。
陳慶誠[4]指出D-H模型不滿足完整性,因?yàn)槠渲械娜?個參數(shù)都是描述關(guān)于X軸和Z軸的運(yùn)動,沒有描述關(guān)于Y軸的運(yùn)動。Hayati[5]在研究中發(fā)現(xiàn),當(dāng)D-H模型中因誤差出現(xiàn)相鄰Z軸交錯的情況時,4個描述連桿的參數(shù)將會變得巨大以至于無法補(bǔ)償,即出現(xiàn)奇異性問題。針對這一問題,Judd[6]建立了具有5個參數(shù)的MDH模型,相較于傳統(tǒng)的D-H模型,該模型具有一個附加的旋轉(zhuǎn)參數(shù),但實(shí)驗(yàn)結(jié)果反映奇異性并未被徹底消除。Schroer K[7]等人針對冗余性對傳統(tǒng)D-H模型進(jìn)行處理,但在實(shí)驗(yàn)中,只有少部分的位姿得到辨識,此外迭代過程收斂慢,且易發(fā)散。
因?yàn)镈-H方法以及基于其改進(jìn)的方法在標(biāo)定中都存在問題,后來研究人員基于旋量代數(shù)理論建立指數(shù)積公式法(Product-of-Exponential),簡稱POE法。楊向東等人[8-9]認(rèn)為采用POE法建立的標(biāo)定模型具有完整性、無冗余性、無奇異性。楊桂林[10]對POE法進(jìn)行改進(jìn),提出局部指數(shù)積公式法(Local Product-of-Exponential,LPOE),并通過仿真與實(shí)驗(yàn)驗(yàn)證了方法的有效性。
指數(shù)積模型由Brockett[11]提出,該模型需要建立兩個坐標(biāo)系:機(jī)器人基坐標(biāo)系{B}和末端工具坐標(biāo)系{T}。表示機(jī)器人零位狀態(tài)下工具坐標(biāo)系{T}相對于基坐標(biāo)系{B}的齊次變換矩陣。為 第個關(guān)節(jié)的旋量在基坐標(biāo)系{B}的表示, 為第 個關(guān)節(jié)的旋轉(zhuǎn)角度(若是移動關(guān)節(jié)則表示位移量)。由此得到串聯(lián)n自由度機(jī)器人正運(yùn)動學(xué)模型為:
LPOE公式是在全局POE公式的基礎(chǔ)上演變而來。首先將式(1)機(jī)器人POE公式寫成齊次變換矩陣相乘的形式:
其中,Tn-1,n表示坐標(biāo)系n相對于坐標(biāo)系n-1的齊次變換矩陣;每個齊次變換矩陣改寫為初始的齊次變換矩陣與關(guān)節(jié)旋量指數(shù)映射相乘的形式為:
然后得到n自由度串聯(lián)機(jī)器人局部POE模型:
局部POE模型的特點(diǎn)是需要在各個連桿建立局部坐標(biāo)系,雖然坐標(biāo)系的建立較傳統(tǒng)D-H法簡便,但是這一特點(diǎn)使得局部POE模型可以應(yīng)用在存在多個運(yùn)動鏈的樹形機(jī)器人上。
下面以廣州數(shù)控RB08工業(yè)機(jī)器人為例,建立其運(yùn)動學(xué)模型為:
如圖1所示,在廣數(shù)RB08機(jī)器人的各個關(guān)節(jié)軸線上均建立局部坐標(biāo)系,單位mm。
圖1 廣數(shù)機(jī)器人RB08局部坐標(biāo)系
然后,應(yīng)用MATLAB軟件對上述所建立的廣數(shù)機(jī)器人局部POE模型進(jìn)行驗(yàn)證。
經(jīng)驗(yàn)證,本文所建立的廣數(shù)機(jī)器人LPOE模型與機(jī)器人示教器內(nèi)的位姿一致,說明本節(jié)建立的局部POE機(jī)器人正運(yùn)動學(xué)模型正確。
為了得到一個對串聯(lián)工業(yè)機(jī)器人可以通用的標(biāo)定模型,在建模過程時,不針對某個特定機(jī)器人型號,所建立的標(biāo)定模型對n自由度串聯(lián)機(jī)器人普遍適用。
在下述公式推導(dǎo)過程中,涉及到的上標(biāo)符號含義是:上標(biāo)a表示實(shí)際值(測量值),上標(biāo)c表示標(biāo)定值,不帶上標(biāo)的表示名義值(理論值)。
結(jié)合式(4)、式(5),將n自由度串聯(lián)機(jī)器人運(yùn)動學(xué)模型改寫為:
式(12)可寫為線性方程組的形式,從而通過最小二乘法對參數(shù)進(jìn)行辨識。
本節(jié)使用MATLAB編寫標(biāo)定程序,然后仿真模擬整個標(biāo)定過程,通過仿真驗(yàn)證本文建立的標(biāo)定模型和標(biāo)定算法的正確性。
本節(jié)標(biāo)定過程仿真的對象為廣數(shù)RB08型工業(yè)機(jī)器人。
在廣數(shù)工業(yè)機(jī)器人局部POE正運(yùn)動學(xué)模型中,連桿坐標(biāo)系初始變換矩陣T(0)改寫為矩陣指數(shù)形式:
表1 預(yù)設(shè)的幾何參數(shù)誤差
同時,還需滿足條件:
關(guān)節(jié)角度誤差量級為0.01rad,表示實(shí)際關(guān)節(jié)轉(zhuǎn)角有約1°的偏差。仿真所設(shè)置的誤差均大于實(shí)際情況的誤差,由此驗(yàn)證了本標(biāo)定模型具有實(shí)際應(yīng)用能力。
為了說明標(biāo)定的模型在整個機(jī)器人工作空間都有良好的精度,筆者在機(jī)器人各關(guān)節(jié)轉(zhuǎn)動范圍內(nèi)隨機(jī)選取100組關(guān)節(jié)轉(zhuǎn)角,進(jìn)行100個位姿評估,計(jì)算標(biāo)定位姿與實(shí)際位姿的量化偏差,具體評估結(jié)果如圖2所示。
100個評估點(diǎn)的量化位置偏差平均值為6.47e-12m,最大值1.24e-11m,量化方向偏差為0。對于此100個點(diǎn)的上述3個誤差進(jìn)行評估,評估結(jié)果說明:仿真標(biāo)定辨識出了機(jī)器人的幾何參數(shù),得到了精度遠(yuǎn)高于機(jī)器人定位精度要求的運(yùn)動學(xué)模型,驗(yàn)證了本標(biāo)定模型與標(biāo)定算法的有效性。
圖2 100個隨機(jī)評估點(diǎn)量化位置偏差
上述進(jìn)行的仿真是基于完全精確的機(jī)器人末端位姿測量數(shù)據(jù)進(jìn)行的,然而在實(shí)際實(shí)驗(yàn)中,由于測量儀器的誤差以及機(jī)器人運(yùn)動重復(fù)性帶來的誤差,機(jī)器人實(shí)際末端位姿無法精確地得到。為了驗(yàn)證標(biāo)定方法在現(xiàn)有的測量精度水平下的標(biāo)定的能力,下面在仿真中引入誤差。
帶有誤差的末端位姿測量數(shù)據(jù),計(jì)算公式如下:
實(shí)驗(yàn)首先使用30個測量位姿進(jìn)行仿真,迭代次數(shù)設(shè)置為6次。
加入測量誤差后,筆者發(fā)現(xiàn),迭代收斂速度不變,進(jìn)行兩次迭代,偏差數(shù)值就達(dá)到穩(wěn)定,最終偏差數(shù)值穩(wěn)定在與設(shè)置的實(shí)驗(yàn)誤差相同的量級上。所以,筆者得出結(jié)論:最終標(biāo)定模型的精度取決于儀器的測量精度和機(jī)器人重復(fù)定位精度。
根據(jù)最小二乘算法的原理,實(shí)驗(yàn)中使用越多的數(shù)據(jù),標(biāo)定結(jié)果將越精確。為了找到合理的實(shí)驗(yàn)使用數(shù)據(jù)量,下面通過仿真尋找實(shí)驗(yàn)使用位姿數(shù)m與標(biāo)定得到的運(yùn)動學(xué)模型精度之間的關(guān)系。
位姿數(shù)m從7到100,同樣使用100個隨機(jī)的位姿,評估其平均量化位置偏差與平均量化方向偏差,結(jié)果由圖3、圖4所示。
圖3 量化位置偏差與實(shí)驗(yàn)使用位姿數(shù)關(guān)系
圖4 量化方向偏差與實(shí)驗(yàn)使用位姿數(shù)關(guān)系
分析圖3、圖4可知,100個評估點(diǎn)的平均量化位置偏差與平均量化方向偏差,隨著實(shí)驗(yàn)使用機(jī)器人位姿數(shù)量的增多而減少,最終穩(wěn)定在約10-4rad,即標(biāo)定實(shí)驗(yàn)中測量的數(shù)據(jù)越多,得到的運(yùn)動學(xué)模型越精確。
實(shí)驗(yàn)數(shù)據(jù)表明:位姿數(shù)30以內(nèi)誤差下降迅速,因此標(biāo)定實(shí)驗(yàn)使用的位姿數(shù)至少應(yīng)為30個;位姿數(shù)70以上,偏差基本穩(wěn)定,再增加測量數(shù)據(jù)對于標(biāo)定模型精度的提高作用微小。故綜合考慮,標(biāo)定實(shí)驗(yàn)使用的測量位姿數(shù)在30~70個較為合理。
本文首先基于工業(yè)機(jī)器人的局部POE運(yùn)動學(xué)模型推導(dǎo)出工業(yè)機(jī)器人運(yùn)動學(xué)標(biāo)定模型,然后根據(jù)標(biāo)定模型設(shè)計(jì)出運(yùn)動學(xué)標(biāo)定迭代最小二乘算法,最后編寫MATLAB標(biāo)定程序,對整個標(biāo)定過程進(jìn)行仿真。
在仿真的過程中,首先模擬使用無誤差的測量數(shù)據(jù)進(jìn)行標(biāo)定,發(fā)現(xiàn)標(biāo)定的運(yùn)動學(xué)模型誤差在工業(yè)機(jī)器人定位問題中可忽略不計(jì),驗(yàn)證了運(yùn)動學(xué)標(biāo)定模型和標(biāo)定算法的正確性。隨后模擬引入帶有實(shí)驗(yàn)誤差的測量數(shù)據(jù),發(fā)現(xiàn)最終標(biāo)定出的運(yùn)動學(xué)模型精度與引入的測量誤差量級相當(dāng),證明了所建立的標(biāo)定模型和標(biāo)定算法在現(xiàn)有測量精度下實(shí)際應(yīng)用的能力。最后通過研究標(biāo)定出的運(yùn)動學(xué)模型精度與標(biāo)定實(shí)驗(yàn)所用測量位姿數(shù)關(guān)系,找到合理的實(shí)驗(yàn)測量位姿數(shù),為后續(xù)標(biāo)定實(shí)驗(yàn)的開展提供了一定的指導(dǎo)。