本發(fā)明涉及機(jī)器人標(biāo)定技術(shù)領(lǐng)域,特別是涉及一種基于PMPSD(Pose Modify Position Sensitive Detector)的工業(yè)機(jī)器人絕對精度校準(zhǔn)方法。
背景技術(shù):
隨著工業(yè)機(jī)器人應(yīng)用領(lǐng)域的擴(kuò)大和高端制造產(chǎn)業(yè)的需求,對工業(yè)機(jī)器人的性能提出了更高的要求。定位精度是反映機(jī)器人綜合性能的一個重要指標(biāo),可以分為重復(fù)定位精度和絕對定位精度。目前工業(yè)機(jī)器人的重復(fù)定位精度比較高,而其絕對定位精度較低,難以滿足高精度行業(yè)(如汽車制造業(yè)、電子電氣行業(yè))的生產(chǎn)需求。
工業(yè)機(jī)器人的定位誤差主要分為幾何誤差和非幾何誤差,其中幾何誤差成為影響工業(yè)機(jī)器人定位誤差的主要因素。因此,需要利用標(biāo)定技術(shù)對其進(jìn)行運動學(xué)標(biāo)定,辨識出機(jī)器人的幾何參數(shù)誤差,并對幾何參數(shù)名義值進(jìn)行修正,從而對機(jī)器人的絕對定位精度進(jìn)行校準(zhǔn)。
目前,標(biāo)定方法可以分為:基于神經(jīng)網(wǎng)絡(luò)補(bǔ)償法、基于插補(bǔ)思想補(bǔ)償法、微分誤差補(bǔ)償法、關(guān)節(jié)空間補(bǔ)償法。按照建模方式補(bǔ)償又可分為有機(jī)理建模和實驗建模兩大類。微分誤差補(bǔ)償法和關(guān)節(jié)空間補(bǔ)償法是按照機(jī)器人的運動學(xué)規(guī)律補(bǔ)償?shù)囊环N方式,屬于有機(jī)理建模。而神經(jīng)網(wǎng)絡(luò)補(bǔ)償法和插補(bǔ)思想補(bǔ)償法是研究機(jī)器人對象,并估算其輸入與輸出的建模方法,屬于實驗建模。
上述研究多為基于高精度測量設(shè)備的條件下,對工業(yè)機(jī)器人末端位姿進(jìn)行測量,如:激光跟蹤儀、三坐標(biāo)測量儀、機(jī)器人關(guān)節(jié)臂、拉線式機(jī)器人測量和性能分析系統(tǒng)等。而這些設(shè)備昂貴,使用時需要耗費大量的時間進(jìn)行測量系統(tǒng)與機(jī)器人基坐標(biāo)系之間的坐標(biāo)變換,對操作人員的水平依賴高,主要適合于實驗室場景下研究。
針對設(shè)備昂貴、操作復(fù)雜等問題,在機(jī)器人末端施加約束而形成運動學(xué)閉合鏈的方法被提出來。該方法避開了昂貴的設(shè)備,并且不需要耗費時間建立測量設(shè)備與機(jī)器人基坐標(biāo)之間的轉(zhuǎn)換關(guān)系,同樣避免了坐標(biāo)轉(zhuǎn)換誤差。提出了采用一種基于PSD(Position Sensitive Detector)的標(biāo)定方法,在工業(yè)機(jī)器人末端安裝激光器,并投射激光束于PSD中心,以構(gòu)成空間點約束形成閉合運動鏈的方法,通過構(gòu)建約束目標(biāo)函數(shù),利用最小化方法辨識出工業(yè)機(jī)器人的幾何參數(shù)誤差。但是該方法存在的問題是,對于精度低的工業(yè)機(jī)器人很難通過反饋控制,將激光束準(zhǔn)確地投射到PSD中心,因此不能準(zhǔn)確地采用點約束方法構(gòu)建正確的約束目標(biāo)函數(shù),進(jìn)而不能準(zhǔn)確地辨識出工業(yè)機(jī)器人的幾何參數(shù)誤差。
技術(shù)實現(xiàn)要素:
本發(fā)明目的是針對工業(yè)機(jī)器人絕對定位精度低,提出一種基于PMPSD的工業(yè)機(jī)器人絕對精度校準(zhǔn)方法。
為了實現(xiàn)上述目的,本發(fā)明通過如下技術(shù)方案實現(xiàn):
第一步:建立機(jī)器人誤差運動學(xué)模型;
第二步:建立空間多點虛擬約束,使用PSD裝置進(jìn)行數(shù)據(jù)采樣;
第三步:利用空間矢量關(guān)系修正機(jī)器人末端激光器的位姿,并利用修正后的位姿對機(jī)器人關(guān)節(jié)轉(zhuǎn)角進(jìn)行修正,以取代從機(jī)器人示教器或從控制器得到的關(guān)節(jié)轉(zhuǎn)角;
第四步:構(gòu)建模型約束目標(biāo)函數(shù);
第五步:利用最小化方法對約束目標(biāo)函數(shù)進(jìn)行優(yōu)化,得到工業(yè)機(jī)器人的參數(shù)誤差;
第六步:將參數(shù)誤差對幾何參數(shù)名義值進(jìn)行修正,實現(xiàn)機(jī)器人的絕對精度校準(zhǔn)。
根據(jù)以上的技術(shù)方案,可以實現(xiàn)以下的有益效果:
(1)本發(fā)明的基于PMPSD的工業(yè)機(jī)器人絕對精度校準(zhǔn)方法適用于任何串聯(lián)關(guān)節(jié)型機(jī)器人及任何平面關(guān)節(jié)型機(jī)器人,方法通用型強(qiáng);
(2)本發(fā)明不需要構(gòu)建測量儀器與機(jī)器人基坐標(biāo)之間的坐標(biāo)轉(zhuǎn)換關(guān)系,節(jié)省了標(biāo)定時間,并且避免了坐標(biāo)轉(zhuǎn)換帶來的誤差;
(3)本發(fā)明所述的參數(shù)誤差模型考慮了工業(yè)機(jī)器人本體的所有幾何參數(shù),將辨識后的參數(shù)誤差補(bǔ)償?shù)焦I(yè)機(jī)器人幾何參數(shù)名義值中,更接近于實際模型,能夠有效地對工業(yè)機(jī)器人精度實現(xiàn)校準(zhǔn);
(4)由于采用對激光器位姿修正的方法,不需要將激光束準(zhǔn)確投射到PSD中心,避免了采用PSD反饋控制的策略。
附圖說明
圖1本發(fā)明所采用PSD裝置進(jìn)行數(shù)據(jù)采樣的示意圖;
圖2本發(fā)明進(jìn)行激光器末端位姿修正的示意圖;
圖3本發(fā)明的具體操作流程。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點等更加清楚明白,以下結(jié)合實施例,并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。
一種基于PMPSD的工業(yè)機(jī)器人絕對精度校準(zhǔn)方法,操作流程圖如圖3所示,所述方法包括以下步驟:
第一步:建立機(jī)器人誤差運動學(xué)模型,包括以下步驟:
步驟(1),使用D-H規(guī)則構(gòu)建機(jī)器人誤差運動學(xué)模型。
在D-H規(guī)則中,相鄰兩桿之間的運動學(xué)關(guān)系為:
式中,為連桿i與連桿i-1的運動學(xué)關(guān)系,其中ai為連桿長度,Δai為連桿長度誤差,di為連桿偏距,Δdi為連桿偏距誤差,αi為關(guān)節(jié)扭角,Δαi為連桿扭角誤差,θi為關(guān)節(jié)轉(zhuǎn)角,Δθi為關(guān)節(jié)轉(zhuǎn)角誤差。其中,幾何參數(shù)誤差Δs=[Δa1 Δd1 Δα1 Δθ1 … Δan Δdn Δαn Δθn]T,Δs為m×1的矩陣,m為待辨識的參數(shù)個數(shù),n為機(jī)器人關(guān)節(jié)數(shù)。
步驟(2),利用工具坐標(biāo)系標(biāo)定方法對安裝在機(jī)器人末端的激光器進(jìn)行標(biāo)定,得到激光器相對于機(jī)器人末端關(guān)節(jié)的坐標(biāo)關(guān)系因此得到機(jī)器人的基坐標(biāo)到激光器之間的總變換為:
其中,n為機(jī)器人關(guān)節(jié)數(shù),如對于一個六自由度的機(jī)器人而言,對應(yīng)著6個齊次變換矩陣。
第二步:建立空間多點虛擬約束,使用PSD裝置進(jìn)行數(shù)據(jù)采樣。
使用PSD裝置進(jìn)行數(shù)據(jù)采樣,包括以下步驟:
步驟(1),由于參數(shù)誤差的存在,激光束很難準(zhǔn)確投射到PSD中心點,本方法只需要將激光束投射到PSD表面即可。將PSD裝置放置在激光束可投射的空間中,機(jī)器人以任意姿態(tài)將激光束投射到PSD表面,此時記錄激光束投射在PSD上的斑點位置Ps,i,j,并從機(jī)器人示教器或直接從控制器中讀取關(guān)節(jié)轉(zhuǎn)角值θi,j,其中i=1,2…k,j=1,2…m,k為同一PSD裝置位置的數(shù)據(jù)采樣次數(shù),m為PSD裝置的位置個數(shù)。
步驟(2),改變機(jī)器人的位姿,重新將激光束投射到PSD表面,依照步驟(1)重復(fù)k次,因此可以獲得k組激光束投射在PSD表面的斑點位置Ps,i,j以及k組不同姿態(tài)下的關(guān)節(jié)轉(zhuǎn)角值θi,j,其中i=1,2…k,j=1,2…m,k為同一PSD裝置位置的數(shù)據(jù)采樣次數(shù),m為PSD裝置的位置個數(shù)。
步驟(3),重新放置PSD裝置的位置,重復(fù)步驟(1)和(2)。標(biāo)定過程中,PSD裝置放置的位置個數(shù)為m。
第三步:利用空間矢量關(guān)系修正機(jī)器人末端激光器的位姿,并利用修正后的位姿對機(jī)器人關(guān)節(jié)轉(zhuǎn)角進(jìn)行修正,以取代從機(jī)器人示教器或從控制器得到的關(guān)節(jié)轉(zhuǎn)角。包括以下步驟:
步驟(1),利用示教器控制方式,將激光束投射到PSD中心,記錄此時的關(guān)節(jié)轉(zhuǎn)角θ1,然后改變機(jī)器人位姿,重新將激光束投射到PSD中心,記錄此時的關(guān)節(jié)轉(zhuǎn)角θ2,這時便可得到兩組激光束方程,可求得PSD中心點相對于機(jī)器人基坐標(biāo)系的坐標(biāo)為Pf(pfx,pfy,pfz)。由于PSD為位置傳感器,因此,當(dāng)激光束再投射到PSD表面時,此時的斑點位置為Ps(psx,psy,psz)。
步驟(2),設(shè)三維空間中任意一條激光束的直線方程表示為L=(px,py,pz,α,β,γ),其中Pt(px,py,pz)為激光器相對于機(jī)器人基坐標(biāo)系的坐標(biāo),為在基坐標(biāo)系下的激光束方向矢量。由于激光器以不同的位姿將激光束投射到PSD的表面,因此可以得到多組機(jī)器人關(guān)節(jié)轉(zhuǎn)角,也就可以獲得多組激光束在機(jī)器人基坐標(biāo)系下的直線方程。PSD表面中心點坐標(biāo)為Pc(pcx,pcy,pcz),激光束投射在PSD上的斑點位置為Ps(psx,psy,psz),可得投射斑點到PSD中心點的方向矢量為
步驟(3),已知激光束方向矢量及投射斑點至PSD中心點的方向矢量如附圖2所示,因此可以得到虛擬激光束方向矢量為
步驟(4),利用已知激光器坐標(biāo)Pt(px,py,pz)及得到的虛擬激光束方向矢量再運用機(jī)器人運動學(xué)逆解求得多組關(guān)節(jié)轉(zhuǎn)角值,并選取其中完全平方差之和最小的一組關(guān)節(jié)轉(zhuǎn)角θ′,將關(guān)節(jié)轉(zhuǎn)角θ′取代之前從機(jī)器人示教器或控制器取得的關(guān)節(jié)轉(zhuǎn)角值θ。
第四步:構(gòu)建模型約束目標(biāo)函數(shù)。
步驟(1),求任意兩條激光束直線的交點或者公垂線中點。
令其中兩條激光束直線的方程分別表示:
根據(jù)激光束的方程,利用式(5)可求取兩條激光束的交點。然而在實際情況下,兩條激光束的交點并不一定存在,此時需要利用式(7)求取兩條激光束的公垂線中點近似為交點。
1)當(dāng)兩條激光束直線存在交點時,通過求解其交點坐標(biāo)為:
P=(kα1+px1,kβ1+py1,kγ1+pz1) (5)
其中:
2)當(dāng)兩條激光束直線不存在交點時,則公垂線的中點為:
其中:
步驟(2),建立空間多點虛擬約束模型。
在建立空間多點虛擬約束模型前,首先需要求取PSD裝置在位置m處時的交點或者公垂線中點的平均值作為該P(yáng)SD位置下的交點平均值,i=1,2…m。求取過程只要令機(jī)器人的參數(shù)誤差為0,在同一PSD位置處k組數(shù)據(jù),得到個交點,然后取平均即可。
在空間多點虛擬約束模型中,首先以PSD裝置同一位置處,任意兩條激光束的交點或者公垂線中點到該交點平均值的距離作為約束目標(biāo)函數(shù),構(gòu)建空間單點虛擬約束模型,最后將空間單點虛擬約束模型統(tǒng)一構(gòu)建為空間多點約束模型,所建立的約束目標(biāo)函數(shù)如式(16)所示。
其中,k為同一PSD裝置位置處的數(shù)據(jù)采樣次數(shù),m表示PSD裝置放置的不同位置的個數(shù)。(ixj,iyj,izj)為在位置i處時的第i個交點或者公垂線中點,為PSD裝置在位置m處時的交點或者公垂線中點的平均值。其中,i=1,2…m,j=1,2…K。當(dāng)m=1時,模型為構(gòu)建單點虛擬約束模型。
第五步:利用最小化方法對約束目標(biāo)函數(shù)進(jìn)行優(yōu)化,得到工業(yè)機(jī)器人的參數(shù)誤差。
使用最小化方法LM(Levenberg-Marquardt)算法不斷進(jìn)行迭代使得δ*最小化,此時工業(yè)機(jī)器人的參數(shù)誤差Δs將會被辨識出來,Δs=[Δa1 Δd1 Δα1 Δθ1 … Δan ΔdnΔαn Δθn]T,Δs為m×1的矩陣,m為待辨識的參數(shù)個數(shù),n為機(jī)器人關(guān)節(jié)數(shù)。步驟如下。
步驟(1),初始化參數(shù)誤差Δs,LM算法的初始化相關(guān)參數(shù),迭代次數(shù)k;
Δs0=0,μ=0.1,v=2,k=1 (17)
步驟(2),計算第k次迭代時的雅可比矩陣J(Δsk);
雅克比矩陣J(Δsk)由Ω對Δs分量求解偏微分得到,其中Ω=[Ω1,Ω2,…Ωk×m],
步驟(3),利用LM算法求解參數(shù)誤差矩陣hlm;
hlm=-(J(Δsk)TJ(Δsk)+μ×Im×m)-1J(Δsk)TΩ (18)
其中hlm表示為第k次迭代時參數(shù)誤差的改變值,為m×1矩陣,Δsk為第k次迭代時的參數(shù)誤差,為m×1矩陣,μ為阻尼因子,m為待辨識的參數(shù)個數(shù)。
步驟(4),計算第k次迭代時實際下降量ADk與預(yù)估下降量PDk的比值ρ;
ADk=F(Δsk)-F(Δsk+hlm) (19)
步驟(5),更新迭代參數(shù);
若ρ>0:
Δsk=Δsk+hlm (22)
v=2 (24)
否則:
μ=μ×v (25)
v=2×v (26)
重復(fù)步驟(2)至(5)。當(dāng)||J(Δsk)TΩ||<ε時,循環(huán)結(jié)束,得到最終的機(jī)器人參數(shù)誤差Δs=Δsk,否則k=k+1。
第六步:將辨識出的參數(shù)誤差對幾何參數(shù)名義值進(jìn)行修正,實現(xiàn)機(jī)器人的絕對精度校準(zhǔn)。辨識出的參數(shù)誤差為Δs,sg=sn+Δs,sn為機(jī)器人幾何參數(shù)名義值,sg為機(jī)器人幾何參數(shù)真實值。