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