(湖南工業(yè)大學 機械工程學院,湖南 株洲 412007)
工業(yè)機器人的精度一直是評價工業(yè)機器人工作要求的重要指標。機器人零部件加工階段造成的尺寸和幾何誤差及裝配過程中關(guān)節(jié)產(chǎn)生的間隙會對末端執(zhí)行器位姿造成很大影響[1]。
分析機器人誤差的方法有很多,如齊俊德等[2]對柔度誤差的影響進行了解耦,并考慮了機器人基坐標系與測量坐標系的轉(zhuǎn)換誤差,提出基于相對位置的幾何參數(shù)誤差模型,該方法可有效提高機器人的絕對定位精度。張紹春等[3]提出一種利用Jacobi 矩陣將末端運動軌跡在Descartes坐標下的誤差轉(zhuǎn)換為關(guān)節(jié)角修正量的算法,有效降低了運動路徑誤差。劉華春等[4]利用基于關(guān)節(jié)剛度模型的位置補償提高了重載機器人的末端軌跡定位精度。溫秀蘭等[5]在M-DH模型的基礎(chǔ)上,提出基于擬隨機序列產(chǎn)生初始位置的改進烏鴉搜索算法用于標定機器人幾何參數(shù),使得機器人精度大幅提升。隨著機器人技術(shù)的發(fā)展,越來越多的現(xiàn)代方法[6-8]被應用到機器人的分析當中,旋量理論便是其中重要的一個。
為避免Denavit-Hartenberg模型(簡稱DH模型)的奇異性,K.Okamura 等[9]將Exponential of Product公式(簡稱POE 公式)應用到串聯(lián)機器人的標定中,并建立了一般性的幾何誤差模型。譚月勝等[10]利用旋量理論建立了一模塊化機械臂末端執(zhí)行器運動誤差數(shù)學模型。但是該模型只是將關(guān)節(jié)的誤差影響設為6個結(jié)構(gòu)參數(shù)的旋量,為隱式表達,并不能直接反映關(guān)節(jié)具體誤差源的影響。黃勇剛等[11]將機器人關(guān)節(jié)軸線的位姿誤差等效為假想廣義運動副螺旋運動的結(jié)果,從而建立了誤差模型,給出了其大小及方向的計算公式,但是在誤差旋量建立時對理論關(guān)節(jié)軸線與實際關(guān)節(jié)軸線的位置關(guān)系只歸結(jié)為相交、平行、交錯3種情況,存在一定不足。Fu G.Q.等[12]提出了一種基于指數(shù)積公式的多軸機床的幾何誤差模型,該模型用3個旋量來表示每個軸的6個基礎(chǔ)誤差,滿足精度要求,具有明確的幾何意義。Qu S.W.等[13]利用有限位移旋量對串聯(lián)機器人關(guān)節(jié)間隙對機器人精度的影響進行了分析。
本文基于旋量理論,提出了一種機器人關(guān)節(jié)結(jié)構(gòu)誤差對其精度影響的分析方法。通過對機械臂關(guān)節(jié)軸線在不同幾何誤差作用下位置空間關(guān)系的分析,給出了關(guān)節(jié)誤差的旋量表達,結(jié)合POE模型,提出了包含具體誤差源的機器人正向運動學顯示表達式。并利用Adams 進行了仿真驗證,仿真結(jié)果驗證了本文提的方法的正確性。通過該方法可計算關(guān)節(jié)具體幾何誤差對機器人末端精度的影響,本文工作體現(xiàn)了旋量在機器人運動分析中的直觀性、便捷性。提出的方法給機器人的制造、裝配與優(yōu)化以及機器人精度補償研究提供了理論依據(jù)。
旋量是描述歐式幾何空間的另一種幾何元素。旋量的定義[14]:設s與s0為三維空間的2個矢量,其中s為單位矢量,s0=r×s+hs,則s與s0共同構(gòu)成一個單位旋量,記作:
則剛體運動的指數(shù)坐標與POE 公式如下所示。
機器人各關(guān)節(jié)的運動由與之關(guān)聯(lián)的關(guān)節(jié)軸線的運動旋量產(chǎn)生,如果用表示該關(guān)節(jié)軸線的單位運動旋量坐標,則沿此軸線的剛體運動可表示為
定義機器人初始位形為機器人對應于θ=0時的位形,并用表示機器人位于初始位形時慣性坐標系與工具坐標系間的剛體變換。對于每個關(guān)節(jié)都可以構(gòu)造一個單位運動旋量這時除第i個關(guān)節(jié)之外的所有其他關(guān)節(jié)均固定于初始位形(θj=0,j表示除第i個并節(jié)角外其他的并節(jié)角度)。對于轉(zhuǎn)動副:對于移動副:
這時,對于任意給定的n自由度機器人,指數(shù)積形式的正向運動學模型[15]為
機器人關(guān)節(jié)連接處出現(xiàn)偏差,即關(guān)節(jié)理論軸線與實際軸線不一致,根據(jù)其空間位置關(guān)系分為兩軸重合(關(guān)節(jié)連接處發(fā)生軸向位移)、兩軸平行、兩軸線異面。顯然理論軸線到實際軸線的運動為一般剛體運動,由Chasles定理[14]證明了剛體運動與螺旋運動是等價的。因此,可以用運動旋量來表示該運動,下面對上述情況進行具體分析。
當兩軸線異面時可以視為理論軸線與實際軸線增加了一個螺旋副,理論軸線繞兩軸線的公垂線旋轉(zhuǎn)角度轉(zhuǎn)?θi,然后沿該垂線移動距離Δli。如圖1所示。
圖1 兩軸線異面Fig.1 Two axes on different surfaces
根據(jù)旋量的定義[14],該螺旋副的單位運動旋量可以表示為
當節(jié)距為0時,單位旋量退化為線矢量,兩軸線相交,僅發(fā)生旋轉(zhuǎn),如圖2所示。
圖2 兩軸線相交且相對旋轉(zhuǎn)Fig.2 Two axes intersecting with a relative rotation
此時,運動旋量可以表示為
當節(jié)距無窮大時,單位旋量退化為單位偶量,兩軸線平行,僅發(fā)生徑向平移,如圖3所示。
圖3 兩軸線平行Fig.3 Two axes parallelling to each other
此時,運動旋量可以表示為
當兩關(guān)節(jié)軸線共面且發(fā)生非徑向移動時,可分為以下兩種情況:發(fā)生軸向偏差、發(fā)生非軸向非徑向偏移??梢砸暈槔碚撦S線與實際軸線增加了一個移動副,如圖4所示。
圖4 兩軸線共面且發(fā)生非徑向偏差Fig.4 Two axes coplanar with non-radial deviation
此種情況下移動副的運動旋量可表示為
文獻[16]中指出:se(3)中的元素與SE(3)中的元素之間存在指數(shù)映射關(guān)系:任意給定齊次變換矩陣則必存在和標量θ,使得文獻[13]給出和θ的計算公式。
當兩軸線異面時,不妨設實際軸線是理論軸線繞x、y、z軸分別旋轉(zhuǎn)角度?、?θ、?ψ和移動距離?x、?y、?z得到的。如圖5所示。
圖5 兩軸線相對位置Fig.5 The relative position of two axes
因?qū)嶋H中不可能發(fā)生兩軸線反向重合的情況,故不考慮trR=-1的情況。
兩軸線關(guān)系為圖1所示情況時,即:
有[13]
兩軸線關(guān)系為圖2所示情況時,即:
θ、ωe分別可由式(11)(12)求出,而v=(0,0,0)T。
兩軸線關(guān)系分別為圖3、圖4a、4b所示情況時,即:
此時有[13]:
式中:gi為i號關(guān)節(jié)坐標系相對于空間坐標系的姿態(tài)矩陣。
在Matlab中建立了如圖6所示的3R 機械臂模型,其中連桿長度設置如下:L1=520 mm,L2=350 mm,L3=250 mm。機器人關(guān)節(jié)軸線單位矢量及點的設置如表1~2所示。
圖6 3DOF 機械臂模型圖Fig.6 Model drawing of 3DOF robot manipulator
表1 機器人關(guān)節(jié)軸線單位矢量Table1 Unit vector of robot joint axis
表2 機器人關(guān)節(jié)軸線上的點Table2 Points on the robot joint axis
機器人位于初始位形時,慣性坐標系與工具坐標系間的剛體變換矩陣為
各關(guān)節(jié)運動旋量為
機器臂正向運動學的指數(shù)積公式為
根據(jù)式(19)考慮關(guān)節(jié)誤差后得到的機器臂實際正向運動學公式為
讓機械臂沿如圖7所示的一段起點坐標為(0.00,600.00,520.00),終點坐標為(214.05,370.75,128.49)的空間軌跡運動,記錄各關(guān)節(jié)角度值的變化。
圖7 末端運動軌跡Fig.7 Trajectory of the end effector
將各關(guān)節(jié)誤差設置成如表3所示的誤差值,將上述記錄的各關(guān)節(jié)角度值代入式(20),得到包含誤差的軌跡坐標值,然后將該坐標值與不包含誤差時的軌跡坐標相減得到如圖8所示的誤差曲線圖。
表3 關(guān)節(jié)誤差值Table3 Joint error value
圖8 末端位置誤差曲線Fig.8 Position error curve of the end effector
根據(jù)圖6所示的結(jié)構(gòu),利用SolidWorks 軟件建立了機械臂的三維模型。在模型裝配階段,通過調(diào)整部件的旋轉(zhuǎn)與位移,將如表3所示的誤差值添加進各關(guān)節(jié),然后將模型導入Adams 里,得到如圖9所示的三自由度機械臂模型。
圖9 3DOF 機械臂Fig.9 3DOF robotic manipulator
在兩相鄰連桿間添加如圖10所示的旋轉(zhuǎn)關(guān)節(jié),各關(guān)節(jié)的Marker點坐標如表4所示。給各旋轉(zhuǎn)關(guān)節(jié)添加如圖11所示的Motion,Motion 由5.1中各關(guān)節(jié)產(chǎn)生的角度值生成的樣條曲線驅(qū)動。
圖10 各關(guān)節(jié)設置Fig.10 Settings of joints
表4 Marker點坐標值Table4 Coordinate values of marker points
圖11 Motion 設置Fig.11 Motion settings
通過仿真實驗,獲得了機械臂運動時末端各位置的坐標,并將各坐標數(shù)據(jù)導出后與5.1中不包含誤差的坐標數(shù)據(jù)相減,得到如圖12所示的末端位置誤差曲線。
圖12 末端位置誤差曲線Fig.12 Position error curve of the end effector
同時將仿真數(shù)據(jù)與公式計算的包含誤差的坐標數(shù)據(jù)相減,得到如圖13所示的坐標差值圖。
圖13 仿真結(jié)果與公式計算結(jié)果的坐標差值Fig.13 Coordinate difference between simulation results and formula calculation results
從圖8與圖12所示的誤差曲線可以看出,公式計算與仿真實驗得到的誤差值基本一致,注意到圖13中仿真得到的數(shù)據(jù)與式(20)計算的坐標值并不完全一致,但兩者的差值在(±3×104)mm 以內(nèi),考慮到仿真軟件中數(shù)值運算存在一定的精度限制,故將圖13所示的誤差認定為合理的誤差。由此,本文提出方法的正確性得到了驗證。
課題組應用旋量理論,通過分析機器臂關(guān)節(jié)兩軸線在不同幾何誤差作用下的位置空間關(guān)系,將關(guān)節(jié)誤差表示成旋量的形式,結(jié)合POE 公式,給出了包含關(guān)節(jié)誤差的機器臂正向運動學公式。通過對一3R 關(guān)節(jié)機械臂的仿真實驗,驗證了課題組提出的精度分析方法的正確性。該方法體現(xiàn)了旋量在機器人運動分析中的直觀性、便捷性,為機器人的制造、裝配與優(yōu)化提供了參考依據(jù),可以提高工業(yè)機器人的定位精度。該方法不僅可用于靜態(tài)和準靜態(tài)誤差分析,如果考慮誤差的大小隨機構(gòu)運動過程變化,還可用于動態(tài)誤差的分析。