明恒強, 殷躍紅
(上海交通大學 機械與動力工程學院,上海 200240,E-mail:1362525207@sjtu.edu.cn)
光學曲面零件包括球面、非球面以及自由曲面幾種類型,由于自由曲面光學元件能簡化系統(tǒng)結構并增加設計自由度,因此在改善光學系統(tǒng)的光學性能中有著不可替代的作用[1]。氣囊拋光由于具備可擴展性強、邊緣效應處理優(yōu)秀、工藝組合方便等優(yōu)點[2],因此在光學加工領域也有較廣泛的應用。而對于拋光設備,隨著光學元件所需口徑的不斷增大,機器人相對于專門的數(shù)控機床在成本和靈活性等方面更具優(yōu)勢[3],同時結合計算機控制光學表面成型技術原理,將機器人與數(shù)控拋光技術的結合也是近幾年的研究熱點[4]。
機器人拋光系統(tǒng)研發(fā)的首要任務便是解決拋光工具的位姿規(guī)劃[5]。西班牙馬德里理工大學[6]研發(fā)的拋光機器人系統(tǒng)描述了基于CAD系統(tǒng)數(shù)據(jù)的自動規(guī)劃與編程系統(tǒng),提出了刀具軸規(guī)劃的通用方法。廈門大學王健等[7]分析CCOS的坐標轉(zhuǎn)換過程,建立控制模型并進行運動學解算,獲得了較好的加工效果。不過這些都是基于小工具拋光頭的位姿規(guī)劃方案,而對于氣囊拋光軸的位姿并沒有完整的規(guī)劃、驗證以及控制流程;同時傳統(tǒng)的工業(yè)機器人在特定的拋光軌跡下會出現(xiàn)關節(jié)轉(zhuǎn)角突變,造成部分加工區(qū)域駐留時間和機器人姿態(tài)的不確定性。
基于上述分析,本文以自研拋光系統(tǒng)為例證對象,通過分析工件面形和氣囊拋光軸位姿的數(shù)學關系進行軌跡規(guī)劃和修整,同時求出機器人運動學正逆解,并提出一種新的機器人增量運動學求解方案以避免關節(jié)轉(zhuǎn)角突變,結合ROS系統(tǒng)下的仿真驗證實現(xiàn)氣囊拋光軸的位姿控制。
本研究搭建了如圖1所示的機器人拋光系統(tǒng),自研拋光機器人能實現(xiàn)刀具軸軸向量的全方位位姿控制,機器人刀具軸為自研氣囊拋光工具,通過氣路系統(tǒng)調(diào)節(jié)氣囊壓力控制拋光接觸力,工件端由大理石固定臺和力傳感器等器件組成。
圖1 機器人拋光系統(tǒng)
拋光機器人的前三軸可以看作是標準SCARA構型,四五關節(jié)采用的是歐拉角控制方式實現(xiàn)刀具軸的姿態(tài)控制,第六軸則為刀具軸。該機器人相比于傳統(tǒng)六軸工業(yè)機器人,剛性更優(yōu),運動精度更高,穩(wěn)定性更好,所需控制的誤差變量數(shù)目也更少,因此更適合拋光加工。
超精密拋光機理研究能夠給出刀具的轉(zhuǎn)速和在工件不同位置下的駐留時間,同時結合壓深能夠?qū)崿F(xiàn)不同大小的材料去除量和面形修形。本機器人拋光系統(tǒng)則基于此機理,采用離線編程的方式,根據(jù)給定的面形數(shù)據(jù)和駐留時間等參數(shù)進行刀具軸姿態(tài)求解,結合運動學分析和控制系統(tǒng)實現(xiàn)位姿控制。
各坐標系如圖1所示,其中機器人的基坐標系位于關節(jié)二下方的大理石臺面上;刀具坐標系,即氣囊拋光的待解算目標,其中主要控制的是Z6軸,也就是氣囊拋光工具的軸向量;工件坐標系則是為了描述工件的面形數(shù)據(jù)和姿態(tài)。
拋光路徑一般采用機床常規(guī)加工路徑——光柵路徑,自由曲面由于豎直向曲率的變化目前還未證明其他路徑有更好的均勻性,因此本文采用光柵路徑作為加工路徑。工件面形可如式(1)表示。
F(x,y,z)=0
(1)
本文以自由曲面中相對復雜的非球面作為研究對象,提出一種對自由曲面具備普適性的位姿計算方法,研究對象面形函數(shù)如式(2)所示。
(2)
非球面元件各項系數(shù)如表1所示,其中工件的頂點曲率半徑為R0,則C=-1/R0。
表1 非球面元件參數(shù)表
該面形下的光柵路徑加工軌跡如圖2所示。
圖2 待加工元件加工光柵路徑
拋光軸位置即氣囊球心,也就是刀具坐標系原點。得到接觸點位置后,需要映射到工件坐標系下的機器人刀具控制點坐標,由于加工前需進行調(diào)平,保證了工件坐標系和基坐標系的平行性,所以由工件坐標系到基坐標系只是平移的坐標轉(zhuǎn)換問題,因此刀位點計算的重點便是工件坐標系下的刀具位姿求解,氣囊拋光軸方程表達式如式(3)表示。
(3)
其中:(xc,yc,zc)表示氣囊拋光球心的位置即刀具軸的位置控制點,需要根據(jù)接觸點得到刀位點,其與工件表面接觸點的關系如式(4)所示。
(xc,yc,zc)=(x0,y0,z0)+(Rcur-Dpre)×N(x,y,z)
(4)
其中:(x0,y0,z0)為氣囊和工件表面的接觸點,由拋光路徑和面形給出。N為法向量,Rcur為曲率半徑,Dpre為壓深。曲率半徑為機器人固有參數(shù),壓深結合面形數(shù)據(jù)以及拋光去除量所給定,皆為已知條件。下面求解法向量,需結合切平面方程,如式(5)給出。
A(x-x0)+B(y-y0)+C(z-z0)=0
(5)
該點位置的法向量可以通過N=(A,B,C)來表示,其中各部分參數(shù)可以通過式(6)求解。
(6)
根據(jù)式(4)、(6)可以得到加工控制點在工件坐標系下的坐標,求得控制點拋光路徑如圖3所示。
圖3 氣囊拋光軸控制點路徑
每一個接觸點處的拋光方向和刀柄姿態(tài)的關系是固定的,控制拋光方向即控制拋光軸軸線在當前點的朝向,也就是要控制刀柄在當前位置局部坐標系下的姿態(tài),局部坐標系定義如圖4所示,其Xp軸在工件坐標系XY平面的投影為刀具軸前進的方向,Zp軸為當前位置的法向。
圖4 局部坐標系定義
同時,氣囊拋光工具的軸線需與工件表面接觸點的法線方向保持一定的夾角,該夾角需要在加工過程中保持不變來保證每一個刀位點獲得相同的切速度以及拋光力,配合合適的刀具軸轉(zhuǎn)速即可完成拋光加工[8]。
如圖5所示,加工進動角βc角在整個加工過程中保持不變,而對于拋光方向可以根據(jù)加工機理自行定義,本研究以單程拋光方向變化幅值為30°的正弦波為例,則刀具軸朝向的規(guī)劃如圖6所示。
圖5 氣囊拋光軸與工件表面姿態(tài)關系
圖6 拋光軸的朝向變化
局部坐標系下氣囊拋光軸的姿態(tài)可由式(7)表示,其中姿態(tài)描述為單位向量。
(7)
其中:γc為與運動方向的夾角,即刀具軸在局部坐標系下的朝向,如圖6所示??梢酝ㄟ^坐標旋轉(zhuǎn)進行局部坐標系到工件坐標系的轉(zhuǎn)化,旋轉(zhuǎn)齊次矩陣表示為式(8)。
R=Rot(Y,θ3)·Rot(X,θ2)·Rot(Z,θ1)
(8)
對于各軸旋轉(zhuǎn)角度,θ1為拋光軸的運動方向,與所采用的路徑有關,即Xp軸與工件坐標系XZ平面的夾角,光柵路徑下為0°或180°,θ2和θ3通過幾何關系可以發(fā)現(xiàn)只與工件當前位置的法向量N有關,法向量在工件坐標系中表達設為(xz,yz,zz),則旋轉(zhuǎn)角度可通過下式進行求解:
(9)
本研究定義拋光軸與法向量的夾角βc為15°,根據(jù)式(8)、(9)可以獲得刀具軸姿態(tài),再結合2.2節(jié)所得到的刀具軸位置,即可獲得如圖7所示的機器人氣囊拋光軸位姿。
圖7 機器人的位姿規(guī)劃
本文采用MDH方法[9]進行運動學的建模,機器人包含5+1個自由度,齊次變換矩陣如式(10)所示。
(10)
根據(jù)機器人構型,建立圖8的D-H坐標系。
圖8 機器人各關節(jié)坐標系定義
第一軸控制豎直方向運動,二、三、四軸互為平行軸,第五軸為45°傾角軸,即Z4和Z5方向夾角為45°,第六軸即刀具軸,D-H參數(shù)如表2所示。
表2 機器人D-H參數(shù)表
據(jù)此可以求得坐標轉(zhuǎn)換矩陣如式(11)表示。
(11)
關于逆運動學求解,可以發(fā)現(xiàn)由于45°傾角的機械設計導致公式推導方法求逆解較為困難,因此本研究提出適用于該機械臂的幾何逆解求解方法。關節(jié)一轉(zhuǎn)角與移動距離為線性關系因此不再表述其求解關系,二、三軸如圖9所示控制位置,并基于此幾何關系進行逆解求解。
圖9 SCARA型機器人運動學解算
根據(jù)余弦定理可以獲得如下表達式:
(12)
繼而如式(13)求得關節(jié)三的轉(zhuǎn)角。
θ3=arctan2[sin(θ3),cos(θ3)]
(13)
其中:
(14)
正負號由坐標系定義,如果定義右手坐標系則取正,左手坐標系則取負,根據(jù)幾何關系可以進一步求得關節(jié)二的轉(zhuǎn)角。
(15)
對四五關節(jié)采用幾何方法求解,四五關節(jié)決定了氣囊拋光軸的姿態(tài),氣囊拋光軸的姿態(tài)由歐拉角來表示。由于控制的是刀具軸的朝向,因此只需要通過章動角和進動角表示即可。
如圖10所示,章動角為與基坐標系Z軸方向的夾角,設為β;進動角為拋光軸向量在基坐標系XY面上的投影與XZ面的夾角,設為α。
圖10 氣囊拋光軸姿態(tài)表示
由于機械設計的位姿解耦性,可以發(fā)現(xiàn)章動角只與關節(jié)五有關,則關節(jié)五轉(zhuǎn)角的求解如式(16)所示。
θ5=±arccos[2·sin(β)-1]
(16)
關節(jié)四的轉(zhuǎn)角與進動角有關,而關節(jié)二、三、五都會導致進動角變化,關節(jié)二和三的轉(zhuǎn)角增量和所造成的進動角增量幅值相同,需要求解關節(jié)五導致的進動角增量,通過幾何描述可以如圖11表述。
圖11 關節(jié)五與進動角增量的關系
根據(jù)幾何關系可以求出關節(jié)五所造成的進動角增量Δα,如式(17)所示。
(17)
則關節(jié)四的逆解如式(18)所示。
θ4=α-θ2-θ3+Δα
(18)
在SCARA左右手坐標系確定的情況下會得到兩組逆解,如圖12所示,對于目標姿態(tài),關節(jié)五會得到兩組解,每一組解都可以再通過關節(jié)四順時針或者逆時針運行到目標姿態(tài),因此有四組增量解。
圖12 姿態(tài)多解幾何表達
因此本文提出一種增量式求解算法進行多解選擇,將各關節(jié)實際運轉(zhuǎn)角度表述為多圈絕對位置,逆解相關的運動學計算描述在單圈絕對值空間下,即滿足四五關節(jié)角度的計算空間是-180°~180°,該算法的求解流程為:
(1) 根據(jù)所需的歐拉角α和β角計算得到兩組逆解,先判斷關節(jié)五的轉(zhuǎn)向,若關節(jié)五當前為起始位置,即關節(jié)五單圈絕對值空間下為0°,則需判斷關節(jié)四的相對運動角度增量大小,即:
(19)
該式表述為:當關節(jié)五多解運動增量相同時,選擇關節(jié)四運動增量小的運動方案。若關節(jié)五當前非起始位置,則需要判斷軸五的角度增量大小,即:
(20)
(2) 若關節(jié)五當前非起始位置,軸四此時已經(jīng)確定單圈絕對空間下的位置,需要進行軸四相對運動增量比較獲得最優(yōu)解,即:
abs(Δθ4)=min[abs(θ4dest-θ4now),
abs(2π-θ4dest+θ4now)]
(21)
以一種30°幅值的正弦波加工速度方向光柵軌跡為例進行算法驗證,如圖13所示得到了角度四、五的逆解,可以看到關節(jié)轉(zhuǎn)角連續(xù)。而對于工業(yè)六軸機器人而言,各關節(jié)角度的限制令部分關節(jié)會產(chǎn)生轉(zhuǎn)角變化360°的突變現(xiàn)象,該增量式運動學解算方法能有效避免該問題的現(xiàn)象。
圖13 關節(jié)四的角度變化曲線
由于柵格拋光軌跡在換程時會出現(xiàn)拐點,會導致機器人運行時出現(xiàn)抖動現(xiàn)象,因此需要對軌跡進行修整,過程為:根據(jù)拐點兩端以及拐點處法向量得到圓心和經(jīng)過點,圓弧插補運算[10]獲得插值點,Z方向補充抬刀以避免加工到工件待加工區(qū)域外圍。姿態(tài)通過線性插值即可,對此主要做位置修整,圓弧插補計算的幾何關系如圖14所示。
圖14 空間圓弧坐標系
圓弧插補的三點確定平面F123,平面方程如下:
k11x+k12y+k13z+k14=0
(22)
其中:
(23)
(x1,y1,z1)為P1點坐標,同理也可以求出兩個垂直平分面F12、F13的表達方程,在此不再贅述,因為三個面交于圓心,所以根據(jù)面的方程可以得到圓心坐標相關的矩陣表達式如式(24)所示。
(24)
其中:(x0,y0,z0)為圓心坐標,圓的半徑為:
(25)
新坐標系中(見圖14),X1軸指向P1點,Z1軸垂直于F123面,以此建立O1-X1Y1Z1坐標系。在新坐標系下圓的表達式為平面圓表達式,但需要進行坐標轉(zhuǎn)換,齊次變換矩陣為式(26)。
(26)
各部分為新坐標系各軸在原坐標系下的單位方向向量,P1為O1點的機器人基坐標系下的坐標,即(x0,y0,z0)T,X方向的單位向量表達為式(27)。
(27)
其中:
(28)
Z方向的單位向量表達為式(29)所示。
(29)
Y方向的單位向量表達為式(30)所示。
Y1=X1×Z1
(30)
圓弧插補是對角度的插補,根據(jù)新坐標系下的三個控制點計算插補過程旋轉(zhuǎn)角度Ω:
(31)
通過梯形速度規(guī)劃[11]可以獲得歸一化參數(shù)λ與時間的關系,其中λ∈[0,1],根據(jù)角度變化獲得新坐標系下插補坐標,如式(32)表示。
(32)
得到新坐標系下的插值點坐標后,再通過齊次變換矩陣即可獲得工件坐標系下的原坐標。除了起始點,圓弧插補需要中間點,對于中間點的計算如式(33)表示。
(33)
其中:rm為兩點間距離的一半,即插補的圓半徑,i代表當前點,dfzi表示當前位置的加工進動角大小,同時插補后對Z方向進行正弦波補充抬刀,以避免加工到工件待加工區(qū)域外側,修整后的軌跡如圖15所示。
圖15 修整后的機器人末端軌跡
至此已完成氣囊拋光軸的位姿規(guī)劃,再根據(jù)運動學逆解可以獲得各個關節(jié)角度的變化,輸入到控制器中即可實現(xiàn)軌跡執(zhí)行,總的算法流程如圖16。
圖16 氣囊拋光軸位姿規(guī)劃和控制流程
本研究所采用的控制器為固高公司的GEN運動控制卡,采用PVT模式輸入各個關節(jié)的位置和時間信息,運動控制卡會自行計算其他參數(shù),而這一控制模式在ROS系統(tǒng)中可以通過ros_control功能包模擬出來[12]。同時為了將軌跡規(guī)劃算法驗證和運動學驗證逐步驗證,利用ROS系統(tǒng)的MoveIt!軟件進行笛卡爾空間和關節(jié)空間下的仿真[13],在此不再贅述ROS系統(tǒng)和相關配置,以圖15所示軌跡為示例,如圖17所示為放大后的運動軌跡仿真展示。
圖17 ROS仿真結果
仿真結果表明軌跡規(guī)劃驗證正確,由于仿真軌跡與理想軌跡誤差較小,因此不再展示仿真軌跡,圖18為仿真所得到的末端位置誤差數(shù)據(jù)。
圖18 ROS仿真末端位置誤差
可發(fā)現(xiàn)仿真得到的最大位置誤差為0.031 mm,均值誤差接近于0。本研究進一步進行拋光設備軌跡規(guī)劃的驗證實驗,實驗裝備如圖19所示。
圖19 機器人拋光系統(tǒng)
底部為加工工件臺,上部為拋光機器人,并已安裝氣囊拋光軸,將圖15所示的拋光軌跡逆解后輸入到控制器中并通過運動控制卡捕獲編碼器信息,正解后得到機器人的末端位置誤差如圖20所示。
圖20 機器人運動位置誤差
可以發(fā)現(xiàn)實際運行過程中的最大位置誤差在0.035 mm左右,與仿真所得數(shù)據(jù)相比,最大位置誤差大小接近,但機器人實際實驗數(shù)據(jù)更能反應光柵軌跡的運動過程,其誤差變化體現(xiàn)了光柵的來回換向運動過程??梢娺\行時的刀具軸位姿與所規(guī)劃的位姿基本保持一致,規(guī)劃和控制結果基本相符。
將機器人與氣囊拋光技術結合實現(xiàn)對自由曲面的拋光加工是當下的熱點研究問題,由于自研拋光機器人在具備工業(yè)機器人優(yōu)勢的基礎上提升其加工性能,因此本文以該設備為實驗設備,分析了工件面形到氣囊拋光軸的數(shù)學變換關系,推導了由工件自由曲面面形到氣囊拋光軸位姿的解算算法,提出了新型氣囊拋光機器人拋光自由曲面的刀具軸控制方法,并在確定的面形上得到計算驗證和實驗驗證,同時也提出了一種能更大程度模擬運動控制卡控制模式的ROS系統(tǒng)仿真方案,最后本研究根據(jù)理論成果進行了拋光實驗并得到了理想的位姿控制效果。