耿 聰, 吳玉厚,韓 旭
(1.沈陽建筑大學(xué) a.高檔石材數(shù)控加工裝備與技術(shù)國(guó)家地方聯(lián)合工程實(shí)驗(yàn)室;b.機(jī)械工程學(xué)院,沈陽 110168; 2.沈陽高精數(shù)控智能技術(shù)股份有限公司,沈陽 110168)
五軸數(shù)控機(jī)床能夠通過刀尖點(diǎn)位置坐標(biāo)和刀軸矢量的變化達(dá)到靈活控制刀具位姿的目的,從而提高加工速度、精度和表面光潔度,在航空、汽車、模具制造等行業(yè)得到廣泛應(yīng)用[1-2]。指令點(diǎn)插補(bǔ)對(duì)加工精度和效率有著直接影響,是五軸數(shù)控加工中的關(guān)鍵問題[3]。
線性插補(bǔ)是五軸數(shù)控系統(tǒng)常用的指令點(diǎn)插補(bǔ)算法,該算法通過對(duì)機(jī)床各軸首末點(diǎn)位置坐標(biāo)進(jìn)行線性分割,實(shí)現(xiàn)刀具位姿變化[4]。在實(shí)際加工中發(fā)現(xiàn),線性插補(bǔ)方式會(huì)導(dǎo)致下述問題產(chǎn)生。首先,五軸數(shù)控加工工件幾何造型復(fù)雜,采用直線段對(duì)復(fù)雜曲線離散化,不僅會(huì)增加數(shù)據(jù)傳輸負(fù)擔(dān),而且在離散化過程中會(huì)產(chǎn)生不必要的誤差。其次,由于刀軸矢量各分量與旋轉(zhuǎn)軸位置坐標(biāo)間存在非線性映射,采用線性插補(bǔ)法進(jìn)行五軸數(shù)控加工時(shí),無法控制刀具姿態(tài)[5]。最后,線性插補(bǔ)方法無法保證機(jī)床各軸速度和加速度的連續(xù)性,影響加工表面光滑度。
針對(duì)上述問題,本文提出一種基于刀具姿態(tài)控制的五軸數(shù)控加工指令點(diǎn)插補(bǔ)算法。在本算法中,刀尖點(diǎn)位置曲線可表示為參數(shù)樣條曲線、Bezier曲線、B樣條曲線或NURBS曲線等多種形式[6-9],便于數(shù)據(jù)傳輸。在相關(guān)文獻(xiàn)[10-11]中,對(duì)平面、圓錐面刀具姿態(tài)控制方法進(jìn)行了研究,本文將采用樣條曲線建立經(jīng)過給定離散刀軸矢量的二階連續(xù)刀具姿態(tài)曲線,以滿足自由曲面加工中刀具姿態(tài)變化靈活多樣以及旋轉(zhuǎn)軸速度、加速度連續(xù)變化的需要。
采用本文所述算法進(jìn)行插補(bǔ)時(shí),可將五軸數(shù)控系統(tǒng)工作流程分為代碼預(yù)處理、刀具姿態(tài)曲線擬合、刀尖點(diǎn)曲線擬合和實(shí)時(shí)插補(bǔ)四部分,算法代碼預(yù)處理部分是后續(xù)刀具姿態(tài)曲線和刀尖點(diǎn)曲線擬合的基礎(chǔ),該部分將讀取五軸數(shù)控程序確定刀具運(yùn)動(dòng)信息。數(shù)控加工程序可表示為如下格式[11]:
G05.0X_Y_Z_U_V_W_F_;
其中,刀尖點(diǎn)在X、Y、Z方向的坐標(biāo)分量分別由X_、Y_、Z_后的數(shù)值確定,刀軸矢量在X、Y、Z方向的坐標(biāo)分量分別由U_、V_、W_后的數(shù)值確定,F(xiàn)為該段程序?qū)?yīng)的刀具進(jìn)給速度。本算法的代碼預(yù)處理部分將讀取采用刀軸矢量編程方式形成的數(shù)控加工程序,確定刀尖點(diǎn)和刀軸矢量坐標(biāo)。整體流程如圖1所示。
圖1 本算法流程圖
代碼預(yù)處理部分根據(jù)給定的數(shù)控加工程序得到刀尖點(diǎn)位置集合P={Pk|Pk=(Pxk,Pyk,Pzk)且Pxk,Pyk,Pzk∈R,k=0,…,n}和刀軸矢量集合Q={Qk|Qk=(Qxk,Qyk,Qzk),|Qk|=1,k=0,…,n}后,直接對(duì)離散刀尖點(diǎn)Pk和刀軸矢量Qk進(jìn)行加工,會(huì)帶來機(jī)床各軸頻繁加減速問題,影響加工效率和加工表面質(zhì)量[12]。為避免這一問題的產(chǎn)生,刀尖點(diǎn)曲線擬合和刀具姿態(tài)曲線擬合部分將分別對(duì)離散刀尖點(diǎn)和刀軸矢量進(jìn)行擬合,得到刀尖點(diǎn)曲線P(u)和刀具姿態(tài)曲線Q(u)。
刀尖點(diǎn)曲線擬合部分將離散刀尖點(diǎn)位置集合P={Pk|Pk=(Pxk,Pyk,Pzk)且Pxk,Pyk,Pzk∈R,k=0,…,n}轉(zhuǎn)化為參數(shù)樣條曲線P(u):
P(u)=(x(u),y(u),z(u))u0≤u≤un
(1)
其中,u為曲線參數(shù)。P(u)可表示為參數(shù)樣條曲線、Bezier曲線、B樣條曲線或NURBS曲線等多種形式。
在實(shí)際加工中發(fā)現(xiàn),五軸數(shù)控機(jī)床旋轉(zhuǎn)軸速度和加速度的連續(xù)性對(duì)加工表面光潔度和加工效率等有著十分重要的影響。針對(duì)具體機(jī)床結(jié)構(gòu)進(jìn)行運(yùn)動(dòng)學(xué)分析可知,刀具姿態(tài)曲線各分量的二階連續(xù)是實(shí)現(xiàn)機(jī)床旋轉(zhuǎn)軸速度和加速度連續(xù)變化的前提條件[13]。因此,刀具姿態(tài)曲線擬合部分的主要功能是將代碼預(yù)處理部分得到的離散刀軸矢量擬合為二階連續(xù)的刀具姿態(tài)曲線。該部分首先根據(jù)首末刀軸矢量Q0和Qn建立局部旋轉(zhuǎn)坐標(biāo)系,用與ψk和φk相關(guān)的函數(shù)表示離散刀軸矢量Qk;而后,采用三次樣條曲線近似估計(jì)ψk和φk的一、二階導(dǎo)數(shù)值;最后,采用五次樣條曲線進(jìn)行擬合,得到經(jīng)過刀軸矢量集合Q中各個(gè)離散刀軸矢量的二階連續(xù)刀具姿態(tài)曲線。刀具姿態(tài)曲線擬合部分是實(shí)現(xiàn)五軸數(shù)控加工指令點(diǎn)插補(bǔ)的關(guān)鍵,該部分的具體實(shí)現(xiàn)步驟將在下一節(jié)進(jìn)行詳細(xì)說明。
(2)
將第k個(gè)插補(bǔ)周期插補(bǔ)點(diǎn)對(duì)應(yīng)參數(shù)值uk帶入刀尖點(diǎn)擬合曲線P(u)和刀軸矢量擬合曲線Q(u),即可得到下一插補(bǔ)周期的插補(bǔ)點(diǎn)P(uk)和對(duì)應(yīng)刀軸矢量Q(uk)。
刀具姿態(tài)曲線擬合是本算法的核心。該部分通過建立局部旋轉(zhuǎn)坐標(biāo)系,將單位矢量擬合轉(zhuǎn)化為角度標(biāo)量擬合,通過三次-五次樣條曲線擬合得到二階連續(xù)的刀具姿態(tài)曲線,進(jìn)而保證機(jī)床旋轉(zhuǎn)軸速度和加速度的連續(xù)性,下文將對(duì)其具體實(shí)現(xiàn)步驟進(jìn)行詳細(xì)說明。
在代碼預(yù)處理部分,通過讀取數(shù)控程序,可確定待插補(bǔ)曲線起始點(diǎn)P0和終點(diǎn)Pn對(duì)應(yīng)的刀軸矢量Q0和Qn。由刀軸矢量集合的定義可知,Q0和Qn均為單位向量。根據(jù)式(3)和式(4),可建立局部旋轉(zhuǎn)坐標(biāo)系Q0-N-V:
(3)
(4)
則對(duì)于任意點(diǎn)Pk∈P,其對(duì)應(yīng)刀軸矢量Qk可表示為:
(5)
其中,ψk是刀軸矢量Qk與刀軸矢量Q0和單位向量N所形成平面N-Q0的夾角,φk是刀軸矢量Qk在平面N-Q0上的投影與起始向量Q0間夾角,兩角度可通過下式計(jì)算:
ψk=arcsin(Qk·V)
(6)
(7)
在進(jìn)行曲線擬合前,首先需要確定ψk和φk對(duì)應(yīng)的參數(shù)值uk,本文采用向心參數(shù)化方法確定對(duì)應(yīng)參數(shù):
(8)
其中,|Pk-1Pk|表示刀具沿Pk-1運(yùn)動(dòng)到Pk時(shí)的距離:
(9)
當(dāng)確定ψk和φk對(duì)應(yīng)的參數(shù)值uk后,將構(gòu)造經(jīng)過ψk和φk的三次樣條曲線,確定參數(shù)值uk對(duì)應(yīng)點(diǎn)處一、二階導(dǎo)數(shù)。在此基礎(chǔ)上,采用五次樣條曲線構(gòu)造滿足二階連續(xù)的曲線ψ(u)和φ(u)。下文將以{ψ0,ψ1,…,ψn}的擬合過程為例進(jìn)行說明,{φ0,φ1,…,φn}的擬合過程類似。
假定由點(diǎn)ψi-2,ψi-1,ψi,ψi+1和ψi+2確定的三次樣條擬合曲線ψi(u)如下式所示:
(10)
其中,b3i,b2i,b1i和b0i是ψi(u)曲線的系數(shù)。令I(lǐng)i表示點(diǎn)ψi-2,ψi-1,ψi,ψi+1和ψi+2與擬合曲線ψi(u)上參數(shù)ui-2,ui-1,ui,ui+1和ui+2對(duì)應(yīng)點(diǎn)間距離的平方和:
(11)
則Ii為以bki為變量的函數(shù),為使函數(shù)Ii達(dá)到最小值,Ii對(duì)各變量bki的偏導(dǎo)數(shù)應(yīng)滿足:
(12)
上式可表示為:
(13)
將參數(shù)ui-2,ui-1,ui,ui+1,ui+2以及ψi-2,ψi-1,ψi,ψi+1,ψi+2代入式(13),即可確定bki(k=0,1,2,3)的值,進(jìn)而得到參數(shù)ui處對(duì)應(yīng)值的一、二階導(dǎo)數(shù):
(14)
參數(shù)u0和u1處對(duì)應(yīng)值的一、二階導(dǎo)數(shù)分別等于ψ2(u0)和ψ2(u1)處一、二階導(dǎo)數(shù)值,參數(shù)un和un-1處對(duì)應(yīng)值的一、二階導(dǎo)數(shù)分別等于ψn-2(un)和ψn-2(un-1)處一、二階導(dǎo)數(shù)值。當(dāng)確定參數(shù)uk對(duì)應(yīng)點(diǎn)ψk的一、二階導(dǎo)矢量后,刀軸矢量由Qk變化至Qk+1過程中,刀軸矢量與平面N-Qn間夾角ψk(u)的表達(dá)式如下所示:
其中,αk(u),αk+1(u),βk(u),βk+1(u),γk(u)以及γk+1(u) 是五次樣條曲線ψk(u)的系數(shù):
為驗(yàn)證本文所提出算法的有效性,將對(duì)圖2所示S型試件進(jìn)行加工仿真。為便于進(jìn)行分析,下文將選擇S型試件上的一條刀具軌跡進(jìn)行說明,如圖3所示。
圖2 S型試件
圖3 刀具軌跡
圖4所示為采用本文所述算法得到的刀具姿態(tài)曲線。由該圖可知,所得到的刀具姿態(tài)曲線位于單位球面上且經(jīng)過給定的離散刀軸矢量集合,說明本算法能夠保證刀具姿態(tài)曲線上任意向量均為單位矢量。圖中星號(hào)標(biāo)記點(diǎn)為給定的離散刀軸矢量,說明所生成的刀具姿態(tài)曲線能夠經(jīng)過給定的離散刀軸矢量。
圖4 刀具姿態(tài)曲線
圖5所示為刀具姿態(tài)曲線各分量及其一、二階導(dǎo)數(shù)圖。該圖進(jìn)一步說明采用本算法得到的刀具姿態(tài)曲線經(jīng)過給定的離散刀軸矢量,且曲線在x,y和z方向各分量均滿足一階和二階連續(xù)的條件。圖6說明采用本算法得到的刀具姿態(tài)曲線進(jìn)行插補(bǔ)時(shí),能夠保證旋轉(zhuǎn)軸速度和加速度連續(xù)變化。
圖5 刀具姿態(tài)曲線各分量及一、二階導(dǎo)數(shù)變化
圖6 機(jī)床旋轉(zhuǎn)軸速度和加速度曲線
本文采用三次-五次樣條曲線對(duì)離散刀軸矢量擬合得到二階連續(xù)的刀具姿態(tài)曲線,能夠保證加工中刀具經(jīng)過數(shù)控加工程序確定的離散刀軸矢量序列以實(shí)現(xiàn)對(duì)刀具姿態(tài)的控制,豐富了五軸數(shù)控系統(tǒng)插補(bǔ)功能?;诘毒咦藨B(tài)控制的指令點(diǎn)插補(bǔ)算法避免了數(shù)據(jù)傳輸負(fù)擔(dān)大、刀具姿態(tài)無法控制以及旋轉(zhuǎn)軸速度、加速度不連續(xù)等問題,為提高復(fù)雜曲面整體加工效果奠定了良好基礎(chǔ)。