梁奉興,董 峰,徐汝鋒,劉紀(jì)凱
(山東理工大學(xué) 機(jī)械工程學(xué)院,山東 淄博 255000)
基于加速度約束等殘留高度刀軌生成算法
梁奉興,董 峰,徐汝鋒,劉紀(jì)凱
(山東理工大學(xué) 機(jī)械工程學(xué)院,山東 淄博 255000)
針對傳統(tǒng)的等殘留高度刀軌規(guī)劃算法加工自由曲面時(shí)刀軌不光順問題,提出了一種基于加速度約束等殘留高度刀軌生成算法。通過判斷同一條刀軌相鄰刀觸點(diǎn)之間的平均加速度來調(diào)整不符合加速度條件的刀觸點(diǎn),從而保證刀具軌跡的光順性?;谠撍惴ɡ肰C++6.0和UG OPEN/API二次開發(fā)平臺(tái)編寫程序。對擬合自由曲面得到的參數(shù)曲面進(jìn)行處理后,并在UG(Unigraphics NX)CAM模塊進(jìn)行刀路模擬。結(jié)果表明,該算法有效的改善了刀具軌跡的光順性,得到了理想的效果。
加速度約束;等殘留高度;刀具軌跡;UG OPEN/API二次開發(fā)
目前數(shù)控加工刀具軌跡規(guī)劃方法:主要有等參數(shù)線法、截面線法、導(dǎo)動(dòng)面法、投影法和等殘留高度法等[1-3]。前兩種方法應(yīng)用廣泛且較為簡單,但當(dāng)曲面曲率變化較大時(shí),刀具路徑參數(shù)選擇較為保守,影響加工效率。等殘留高度法較前幾種方法可以產(chǎn)生最優(yōu)刀具路徑,生成的總刀軌長度最短,但后續(xù)刀具軌跡變形嚴(yán)重成了該算法最大的缺點(diǎn)。趙世田[4]提出了一種基于等殘余高度線的加工步距最大化算法,提高了殘余高度計(jì)算精度和曲面的加工質(zhì)量。李占君[5]等通過控制刀具軌跡線的曲率來保證刀具軌跡光順性,這在某種程度上使刀軌光順,但是軌跡線的局部會(huì)產(chǎn)生波浪形。李鐵軍[6]等引入?yún)?shù)行距方向擺動(dòng)修正值來修正軌跡線上出現(xiàn)的折線。本文針對傳統(tǒng)等殘留高度算法的缺點(diǎn)提出了一種基于加速度約束等殘留高度光順刀軌生成算法。對同一條刀軌上相鄰三個(gè)刀觸點(diǎn)之間進(jìn)行平均加速度判斷,若不符合加速度約束條件,則重新搜索刀觸點(diǎn),保證刀具軌跡的光順性,從而提高刀具運(yùn)動(dòng)的平穩(wěn)性,提高加工質(zhì)量,避免刀具急劇磨損。
1.1 測地線的曲率半徑及方向計(jì)算
設(shè)自由曲面的參數(shù)方程為S(u,v),假設(shè)一條刀具軌跡線為r(u(t),v(t))。P0為曲線上的一個(gè)刀觸點(diǎn),dr為該點(diǎn)走刀方向向量,n為曲面在該點(diǎn)處的法向量。dr*為該點(diǎn)測地線方向向量,Rn為該點(diǎn)的法曲率半徑。P*由相鄰軌跡上等殘留點(diǎn)P0求得,如圖1所示。
圖1 相鄰軌跡點(diǎn)的計(jì)算
由微分幾何知識(shí)[7]得到,曲面的第一基本公式和第二基本公式為:
(1)
(2)
式中:E、F、G—曲面的第一類基本量,L、M、N—曲面的第二類基本量。
曲率半徑:
(3)
已知參數(shù)曲面上經(jīng)過一點(diǎn)的任意一條曲線的切向量在以(du,dv)構(gòu)成的切平面內(nèi),并且該切向量方向可由du:dv確定。曲面上在點(diǎn)S(u,v)的任意切向量可表示為:
dr=rudu+rvdv
(4)
ru,rv—分別為曲面在點(diǎn)S(u,v)處對u參數(shù)和v參數(shù)的偏導(dǎo)數(shù)。
由測地線性質(zhì)[7]得dr垂直于dr*:
(Sudu+Svdv)(Sudu*+Svdv*)=0
(5)
式中:(du*,dv*)—測地線方向。
于是得到du*和dv*之間的關(guān)系:
(6)
把(6)式代入(3)式得到測地線的曲率半徑為:
(7)
1.2 相鄰等殘留軌跡點(diǎn)的計(jì)算
選取最長的一條邊界u0或v0作為第一條軌跡,采用等參數(shù)離散逼近的方法確定加工步長[8],把同一條軌跡相鄰兩點(diǎn)連線方向作為走刀方向。每一個(gè)刀觸點(diǎn)處的參數(shù)增量[6]為:
(8)
L-行距[6],由加工誤差、刀具有效半徑和測地線方向曲率半徑求得。式中正負(fù)號(hào)需要根據(jù)加工方向來確定。
因此已知某軌跡線上一刀觸點(diǎn),就可求出相鄰軌跡對應(yīng)的刀觸點(diǎn):
P*(t)=P0(u(t)+Δu,v(t)+Δv)
(9)
由上一節(jié)得到一行刀軌上所有刀觸點(diǎn)后,計(jì)算每相鄰三個(gè)刀觸點(diǎn)之間平均加速度,進(jìn)而對每個(gè)刀觸點(diǎn)(舍去前兩個(gè)刀觸點(diǎn))進(jìn)行判斷并調(diào)整。
2.1 平均加速度的計(jì)算
假設(shè)已知一條刀具軌跡線為Cj(u(t),v(t)),已知刀觸點(diǎn)Pi,Pi+1,Pi+2,Pi+3,Pi+4,Pi+5。依次求出相鄰三個(gè)刀觸點(diǎn)之間的平均加速度,如Pi到Pi+2路段的平均加速度ai,Pi+1到Pi+3路段的平均加速度ai+1,Pi+2到Pi+4路段的平均加速度ai+2等,如圖 2所示。
圖2 同一軌跡上相鄰刀觸點(diǎn)之間平均加速度的計(jì)算
2.2 依次刀觸點(diǎn)處平均加速度的判斷和調(diào)整
默認(rèn)接受每條軌跡的前兩個(gè)刀觸點(diǎn),利用加速度約束依次判斷刀觸點(diǎn)的流程圖,如圖3所示。
圖3 同一條刀軌上刀觸點(diǎn)的判斷過程
圖4 刀觸點(diǎn)Pi+2的搜索示意圖
圖4是調(diào)整Pi+2時(shí)的搜索示意圖,其中Pi+2是由P0求得。在u,v參數(shù)增量方向按照Δu、Δv的比例進(jìn)行搜索,設(shè)定一個(gè)搜索參數(shù)l(取正整數(shù),如可設(shè)為10)來控制搜索步長,u,v參數(shù)增量方向搜索步長分別為Δu/l、Δv/l。當(dāng)參數(shù)增量Δu<0時(shí)在虛線上搜索,即紅色內(nèi)容,否則在實(shí)線上搜索。其實(shí)搜索公式相同,因?yàn)棣前面的符號(hào)會(huì)抵消掉。調(diào)整Pi+2的流程圖,如圖5所示。
圖5 調(diào)整Pi+2的流程
調(diào)整Pi+2的步驟如下:
①u*=u1,v*=v1,u1,v1為點(diǎn)Pi+2的初始參數(shù)值,即由前條刀軌上相應(yīng)的刀觸點(diǎn)得到的點(diǎn)的參數(shù)值。
②令u*=u*-Δu/l,v*=v*-Δv/l,得點(diǎn)Q*(u*,v*)。
③將Q*(u*,v*)替換掉Pi+2,計(jì)算Pi,Pi+1,Q*(u*,v*)之間平均加速度a。
④若a小于amax,轉(zhuǎn)⑨,否則轉(zhuǎn)②繼續(xù)搜索。設(shè)定最大搜索次數(shù)為4,如果到達(dá)搜索次數(shù),a仍大于amax,則轉(zhuǎn)⑤。
⑤令u*=u*+5Δu/l,v*=v*+5Δv/l,得點(diǎn)Q*(u*,v*)。計(jì)算Pi,Pi+1,Q*(u*,v*)之間平均加速度a。若a小于amax,轉(zhuǎn)⑨,否則轉(zhuǎn)⑥。
⑥令u*=u*+Δu/l,,得點(diǎn)Q*(u*,v*)。
⑦計(jì)算Pi,Pi+1,Q*(u*,v*)之間平均加速度a。
⑧若a小于amax,轉(zhuǎn)⑨,否則轉(zhuǎn)⑥繼續(xù)搜索。設(shè)定最大搜索次數(shù)為4,如果到達(dá)搜索次數(shù),a仍大于amax,則選擇最小的a所對應(yīng)的點(diǎn)作為Q*(u*,v*)。
⑨結(jié)束搜索,判斷下一刀觸點(diǎn)。
UG CAM二次開發(fā)工具主要由UG提供的4個(gè)應(yīng)用程序及C++程序組成,UG提供的4個(gè)應(yīng)用程序?yàn)閁G/Open API、UG/Open UIStyler、UG/Open MenuScript、UG/Open GRIP[10]。UG/Open API是UG二次開發(fā)的關(guān)鍵,它的核心包含了約2000個(gè)C函數(shù),能實(shí)現(xiàn)大部分的UG操作。其中User Exit是UG/Open API中的一個(gè)重要概念,用戶的程序利用不同的User Exit,就可以以不同的User Exit作為入口點(diǎn),就能決定該程序在UG進(jìn)程的哪個(gè)階段被自動(dòng)激活并運(yùn)行。本文利用udop(CAM User Defined Operation)作為入口函數(shù),并在本函數(shù)中編寫代碼。
udop函數(shù)體如下所示:
extern "C" DllExport void udop( char *param, int *returnCode, int rlen )
{
/*初始化API環(huán)境*/
int errorCode = UF_initialize();
int response=0;
if ( 0 == errorCode )
{
if(!UF_CALL(UF_initialize()))
{
/*選擇加工曲面 */
do_ugopen_api();
}
if( purpose == UF_UDOP_GENERATE )
{
/*生成曲面刀軌函數(shù)*/
generate_optimal_path(path_id);
}
UF_PATH_end_tool_path(path_id);
UF_EVALSF_free(&evaluator);
/*釋放API環(huán)境*/
errorCode = UF_terminate();
}
PrintErrorMessage( errorCode );
}
UG/Open UIStyler是開發(fā)UG對話框的可視化工具,它能夠自動(dòng)生成C模板文件,為用戶編程提供便利。下面圖6就是利用UG/Open UIStyler自定義的對話框風(fēng)格。
圖6 自定義對話框
在程序中創(chuàng)建并顯示對話框的函數(shù)如下:
if((errorCode=UF_STYLER_create_dialog("Mach_Para.dlg",TPM_cbs,TPM_CB_COUNT,NULL, &response))!=0)
{
char fail_message[133];
UF_get_fail_message(errorCode,fail_message);
UF_UI_set_status (fail_message);
printf ( "%s ", fail_message );
}
其中Mach_Para.dlg為對話框資源文件,TPM_cbs表示從對話框回調(diào),TPM_CB_COUNT表示回調(diào)函數(shù)的數(shù)量。
為了驗(yàn)證算法的正確性,通過參考文獻(xiàn)[9]擬合一自由曲面得到參數(shù)曲面,如圖7所示,其中矩形區(qū)域?yàn)轳R鞍面,曲面參數(shù)方程為:
(10)
圖7 參數(shù)曲面
在圖6設(shè)置界面中設(shè)定編程公差h=0.05 mm,采用刀具半徑為5mm球頭刀。最大允許加速度amax取0.004mm/(ms)2,同一刀具軌跡上相鄰兩刀觸點(diǎn)之間走刀時(shí)間[11]固定為t,t取12ms。u向走刀,搜索參數(shù)l取10。
圖8 相鄰刀觸點(diǎn)之間平均加速度變化曲線
刀觸點(diǎn)序列34567傳統(tǒng)算法(mm/ms2)0.0007250.0007360.0006910.0007930.000845改進(jìn)算法(mm/ms2)0.0006610.0005900.0005020.0004680.000523刀觸點(diǎn)序列89101112傳統(tǒng)算法(mm/ms2)0.0006990.0006800.0005930.0007720.001062改進(jìn)算法(mm/ms2)0.0006020.0006330.0005910.0003950.000499刀觸點(diǎn)序列1314151617傳統(tǒng)算法(mm/ms2)0.0019920.0013600.0009540.0006840.000701改進(jìn)算法(mm/ms2)0.0005050.0006380.0006030.0006300.000598刀觸點(diǎn)序列1819202122傳統(tǒng)算法(mm/ms2)0.0008090.0013190.0008610.0006510.000793改進(jìn)算法(mm/ms2)0.0006540.0007630.0007740.0006120.000766刀觸點(diǎn)序列1819202122傳統(tǒng)算法(mm/ms2)0.0045310.0009210.0006860.0009060.001644改進(jìn)算法(mm/ms2)0.003700.0006900.0006320.0005710.000550刀觸點(diǎn)序列2829303132傳統(tǒng)算法(mm/ms2)0.0014530.0008350.0007550.0006320.000541改進(jìn)算法(mm/ms2)0.0005030.0004830.0006300.0006220.000502刀觸點(diǎn)序列3334353637傳統(tǒng)算法(mm/ms2)0.0012330.0013500.0013610.0009660.000560改進(jìn)算法(mm/ms2)0.0003320.0003020.0003220.0004030.000681刀觸點(diǎn)序列3839404142傳統(tǒng)算法(mm/ms2)0.0006040.0007710.0006060.0012280.000806改進(jìn)算法(mm/ms2)0.0007090.0006820.0005280.0004930.000630
續(xù)表
圖8為第15行刀軌刀觸點(diǎn)處平均加速度變化曲線圖,一共45個(gè)刀觸點(diǎn)。實(shí)線由傳統(tǒng)算法得到,由于馬鞍面部位的曲率變化大,可以看出第23個(gè)刀觸點(diǎn)處的平均加速度超過了最大允許加速度,刀路變彎,如圖9所示。虛線由本文算法得到,對第23個(gè)刀觸點(diǎn)進(jìn)行了調(diào)整,達(dá)到了加速度要求,并且后續(xù)刀軌經(jīng)過同樣的調(diào)整全部達(dá)到要求,如圖11所示。
圖9 傳統(tǒng)等殘留高度算法得到的刀具軌跡
圖10 傳統(tǒng)等殘留高度算法得到的刀具軌跡放大圖
表1為分別利用傳統(tǒng)等殘留高度刀軌生成算法和基于加速度約束等殘留高度刀軌生成算法得到的第15行刀軌上依次刀觸點(diǎn)處的平均加速度值??煽闯鲈诘?3個(gè)刀觸點(diǎn)處用前者方法得到的平均加速度值超過了最大允許值,而用后者方法得到了期望值,也可看出在對不符合要求的刀觸點(diǎn)調(diào)整后,后續(xù)刀軌上全部刀觸點(diǎn)處的平均加速度都受到影響,從表格看出全部刀觸點(diǎn)處平均加速度整體下降。這兩種現(xiàn)象足以證明采用基于加速度約束等殘留高度刀軌生成算法確實(shí)能改善刀軌的光順性。
圖11 基于加速度約束等殘留高度算法得到的刀具軌跡
圖12 基于加速度約束等殘留高度算法得到的刀軌放大圖
圖10和圖12分別為傳統(tǒng)算法和基于加速度約束等殘留高度刀軌生成算法得到的對應(yīng)于紅色矩形框內(nèi)的刀路放大圖。可看出圖10中馬鞍面部位刀路存在拐角,這將對加工曲面刀具的穩(wěn)定性和表面質(zhì)量產(chǎn)生嚴(yán)重影響。而圖12中,基于加速度約束等殘留高度刀軌生成算法得到的馬鞍面部位的刀路更加光順,有效的改善了加工質(zhì)量,避免了刀具的急速磨損。由該算法生成的刀路得到了預(yù)期的效果。
針對傳統(tǒng)的等殘留高度算法的缺點(diǎn),本文算法在傳統(tǒng)算法基礎(chǔ)上加入了加速度約束條件,提出一種基于加速度約束等殘留高度光順刀軌生成算法。此算法克服了在傳統(tǒng)等殘留高度算法規(guī)劃刀具路徑出現(xiàn)的刀具軌跡過度彎曲缺點(diǎn)。對UG CAM模塊進(jìn)行了二次開發(fā),并用VC++6.0軟件對此算法進(jìn)行編程,在UG加工模塊進(jìn)行刀路模擬,得到兩種算法清晰可見的對
比效果。結(jié)果表明,基于加速度約束等殘留高度刀軌生成算法較傳統(tǒng)等殘留高度算法生成的刀路更加光順,可以得到更高質(zhì)量的加工效果,可以有效的避免刀具急劇磨損,得到了理想的結(jié)果。
[1] 西慶坤. 基于等殘留高度的球形曲面的數(shù)控加工[J]. 組合機(jī)床與自動(dòng)化加工技術(shù),2015(12):130-132.
[2] 陳銀清,鄭澤鈿.基于Master CAM自由曲面加工刀具路徑優(yōu)化[J].現(xiàn)代制造工程,2014(5):46-51.
[3] 富國亮,張林,魏志強(qiáng),等.葉輪精加工實(shí)例分析[J].現(xiàn)代制造工程,2016(4):80-84.
[4] 趙世田. 自由曲面加工刀具路徑軌跡規(guī)劃算法研究[D]. 南京:南京航空航天大學(xué),2011.
[5] 李占君,王霞,黎振. 基于等殘留高度的光順刀具軌跡規(guī)劃算法[J]. 機(jī)械設(shè)計(jì)與制造,2010(6):243-245.
[6] 李鐵軍,李小敏. 一種自由曲面的改進(jìn)的等殘留高度加工方法[J]. 機(jī)械設(shè)計(jì)與制造,2009(1):48-49.
[7] 王幼寧,劉繼志. 微分幾何講義[M]. 北京:北京師范大學(xué)出版社,2003.
[8] 賀英,陳志同,吳獻(xiàn)珍. 復(fù)雜曲面寬行加工等參數(shù)線刀軌精確搭接方法[J]. 航空學(xué)報(bào),2014,35(4):1142-1148.
[9] 白曉亮,張樹生,劉軍. 曲面擬合過程中的參數(shù)值優(yōu)化方法[J]. 工程圖學(xué)學(xué)報(bào),2004(4):72-76.
[10] 王丹,徐汝鋒,陳五一. 基于UG二次開發(fā)的寬行加工算法實(shí)現(xiàn)[J]. 機(jī)床與液壓,2008,36(12):32-34.
[11] 馮景春,李宇昊,王宇晗,等. 面向刀尖點(diǎn)速度平滑的五軸聯(lián)動(dòng)插補(bǔ)算法[J]. 上海交通大學(xué)學(xué)報(bào),2009,43(12):1973-1977.
(編輯 李秀敏)
Tool-path Generation Algorithm Based on Constant Scallop-height of Acceleration Constraint
LIANG Feng-xing, DONG Feng, XU Ru-feng, LIU Ji-kai
(School of Mechanical Engineering, Shandong University of Technology, Zibo Shandong 255000, China)
A tool-path generation algorithm of sculptured surfaces based on constant scallop-height of acceleration constraint was presented, aiming at the problem of the tool-path is not smooth when machining the sculptured surfaces with the traditional constant scallop-height tool-path generation algorithm. By judging the average acceleration between the adjacent cutter contact points of the same tool-path to adjust the cutter contact points which does not conform to the acceleration condition, so as to ensure the smoothness of the tool-path. Based on this algorithm, the VC++6.0 and secondary development platform of UG OPEN/API were used to prepare the program. The parametric surface obtained by fitting freeform surface is processed and the tool-path simulation was carried out in UG (Unigraphics NX) CAM module. The results show that the algorithm can effectively improve the smoothness of the tool-path,and the ideal result is obtained.
the theory of acceleration constraint;constant scallop-height;tool-path ; the second development of UG OPEN/API
1001-2265(2017)05-0052-05
10.13462/j.cnki.mmtamt.2017.05.014
2016-08-19;
2016-10-19
梁奉興(1989—),男,山東濟(jì)寧人,山東理工大學(xué)碩士研究生,研究方向?yàn)閺?fù)雜曲面多軸數(shù)控加工技術(shù),(E-mail)619852506@qq.com。
TH161;TG506
A