專利名稱:曲線插補(bǔ)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及由通過(guò)數(shù)值控制裝置等加工曲面時(shí)的指令點(diǎn)列數(shù)據(jù)得到圓滑曲線的曲線內(nèi)插方法。
背景技術(shù):
為了基于使用CAD/CAM裝置或仿形裝置等做成的指令點(diǎn)列數(shù)據(jù),通過(guò)數(shù)值控制裝置等加工金屬模等的曲面,需從指令點(diǎn)列數(shù)據(jù)中求出近似曲線,進(jìn)行該曲線的插補(bǔ)。做成在相對(duì)用CAD/CAM做成數(shù)據(jù)的目標(biāo)曲線(以下,稱其為所期望曲線)的某個(gè)公差內(nèi)的線段。作為指令點(diǎn)列數(shù)據(jù)該線段兩端的點(diǎn)指示至數(shù)值控制裝置。
如圖1所示,在CAM中做成在相對(duì)所期望曲線Cs的某個(gè)公差寬度2w內(nèi)的線段L,作為指令點(diǎn)列數(shù)據(jù)將該線端兩端的點(diǎn)P、P…·從CAM指示至數(shù)值控制裝置。基于該指令點(diǎn)列的位置信息生成曲線Ce。因此,導(dǎo)致有時(shí)生成超過(guò)相對(duì)所期望曲線Cs的公差寬度2w那樣的曲線Ce。
修正指令點(diǎn)的方法已為眾知(參照特開平10-240328號(hào)公報(bào)),但在此修正時(shí),不能保證不生成超過(guò)相對(duì)所期望曲線Cs的公差寬度2w那樣的曲線Ce。
另外,指令點(diǎn)列到達(dá)相對(duì)所期望曲線Cs的某個(gè)公差寬度2w帶的端部的情況較多。因此,若只由指令點(diǎn)列生成曲線Ce,則導(dǎo)致有時(shí)會(huì)遠(yuǎn)離所期望曲線Cs。例如如圖2所示,所期望曲線Cs是圓弧時(shí),若生成在某個(gè)公差寬度2w內(nèi)的線段L,則指令點(diǎn)P、P、P位于距所期望曲線Cs相隔公差量w的位置上。如圖3所示,將各線段L的長(zhǎng)度以約0.15、0.7、0.15的比內(nèi)分的兩點(diǎn)Q1、Q2是存在于所期望曲線Cs上的點(diǎn)。
這與修正指令點(diǎn)的情況也是相同的。例如如上述圖2所示,所期望曲線Cs是圓弧時(shí),指令點(diǎn)列P、P、…排列在圓弧上,即使適用相對(duì)指令點(diǎn)列的近似曲線Ce,指令點(diǎn)列也幾乎不被修正。因此,修正后的指令點(diǎn)列還是位于距所期望曲線Cs相隔公差量w的位置上。
另外,由指令點(diǎn)列生成的曲線Ce必須通過(guò)指令點(diǎn)列的位置。由此,指令點(diǎn)列上存在由于CAD/CAM的計(jì)算誤差,或者向設(shè)定單位的舍入誤差,若是如圖4所示的指令點(diǎn)列P、P、P…,則該誤差反映在生成曲線Ce上,成為加工面的表面精度不高或加工時(shí)機(jī)械振動(dòng)的原因。這樣,必須通過(guò)指示后的點(diǎn)列位置,成為面精度劣化的原因。
為解決這些問(wèn)題,求出內(nèi)插使用CAD/CAM裝置或仿形裝置等做成的指令點(diǎn)列數(shù)據(jù)的內(nèi)插點(diǎn),由該內(nèi)插點(diǎn)求出近似曲線,求出以設(shè)定單位或以下的細(xì)度接近近似曲線而修正各個(gè)內(nèi)插點(diǎn)后的修正點(diǎn),生成不超過(guò)通過(guò)該修正點(diǎn)點(diǎn)列的公差寬度的圓滑曲線,插補(bǔ)該曲線的曲線插補(bǔ)法已為眾知(參照特開2004-78516號(hào)公報(bào))。
上述特開2004-78516號(hào)公報(bào)所記載的曲線插補(bǔ)法是由指令的點(diǎn)列得到收斂在公差寬度內(nèi)的圓滑曲線并插補(bǔ)該曲線的方法。該曲線內(nèi)插法同等用于機(jī)床的各個(gè)軸。不用區(qū)分直線軸和轉(zhuǎn)動(dòng)軸,從指令點(diǎn)列數(shù)據(jù)中求出內(nèi)插點(diǎn)進(jìn)而求出近似曲線,基于該近似曲線求出相對(duì)各內(nèi)插點(diǎn)的修正點(diǎn),然后求出通過(guò)該修正點(diǎn)點(diǎn)列的曲線。但是,直線軸是長(zhǎng)度單位,轉(zhuǎn)動(dòng)軸是角度單位,因此量綱不同。由此在該特許文獻(xiàn)記載的曲線插補(bǔ)法未必充分適用于具有轉(zhuǎn)動(dòng)軸的機(jī)床。
發(fā)明內(nèi)容
本發(fā)明涉及通過(guò)具有3個(gè)直線軸和2個(gè)轉(zhuǎn)動(dòng)軸或其以上的多軸機(jī)床用的數(shù)值控制裝置,由指令點(diǎn)列生成圓滑曲線并沿該曲線插補(bǔ)的方法。該方法包含(1)在指令點(diǎn)列的各點(diǎn)之間求出內(nèi)插點(diǎn),將其作為形狀指令點(diǎn)的步驟;(2)依次著眼于該形狀指令點(diǎn)的各點(diǎn),選擇已著眼的點(diǎn)和其前后的預(yù)先確定的點(diǎn)數(shù)的形狀指令點(diǎn)的步驟;(3)對(duì)于該已選擇點(diǎn),分割直線軸3軸份的成分和轉(zhuǎn)動(dòng)軸2軸或其以上份的成分的步驟;(4)關(guān)于上述直線軸3軸份的成分,生成直線軸用近似曲線的步驟;(5)將上述直線軸3軸份的成分向上述直線軸用近似曲線移動(dòng),作為直線軸用修正指令點(diǎn)的步驟;(6)對(duì)于2軸或以上的上述轉(zhuǎn)動(dòng)軸份的成分,生成轉(zhuǎn)動(dòng)軸用近似曲線的步驟;(7)將2軸或以上的上述轉(zhuǎn)動(dòng)軸份的成分向上述轉(zhuǎn)動(dòng)軸用近似曲線移動(dòng),作為轉(zhuǎn)動(dòng)軸用修正指令點(diǎn)的步驟;(8)合成上述移動(dòng)后直線軸用修正點(diǎn)的3軸份的成分和上述移動(dòng)后轉(zhuǎn)動(dòng)軸用修正移動(dòng)點(diǎn)的2軸或以上轉(zhuǎn)動(dòng)軸份的成分,作為合成修正指令點(diǎn)的步驟;(9)對(duì)于各形狀指令點(diǎn)反復(fù)執(zhí)行上述步驟(2)至步驟(8)的步驟;(10)生成通過(guò)上述合成修正指令點(diǎn)的點(diǎn)列的曲線的步驟;(11)插補(bǔ)已生成的曲線的步驟。
上述方法可得到以下方式。
在上述步驟(1)中,能夠合并內(nèi)插點(diǎn)和指令點(diǎn)作為形狀指令點(diǎn)。
在上述步驟(1)中,能夠在內(nèi)插時(shí)以設(shè)定單位或以下的細(xì)度求出內(nèi)插點(diǎn)。
在上述步驟(4)以及(6)中,能夠生成各點(diǎn)和近似曲線的距離的平方和為最小的近似曲線。
在上述步驟(5)以及(7)中,能夠在用于修正的移動(dòng)量超過(guò)第1設(shè)定值時(shí),將用于修正的移動(dòng)量?jī)H設(shè)為上述第1設(shè)定值的大小。
在上述步驟(5)以及(7)中,能夠在修正指令點(diǎn)之間比第2設(shè)定值短時(shí),進(jìn)一步將該內(nèi)插點(diǎn)作為修正指令點(diǎn),刪除為求出該內(nèi)插點(diǎn)而使用后的修正指令點(diǎn)。另外,能夠?qū)⑸鲜鰞?nèi)插點(diǎn)作為中點(diǎn)。
在上述步驟(5)以及(7)中,能夠在移動(dòng)時(shí)以設(shè)定單位或以下的細(xì)度進(jìn)行移動(dòng)。
在上述步驟(10)中,在生成通過(guò)合成修正指令點(diǎn)列的曲線時(shí),也能夠使用對(duì)各修正指令點(diǎn)的每一個(gè)求出并合成在上述直線軸用近似曲線以及上述轉(zhuǎn)動(dòng)軸用近似曲線的各修正點(diǎn)對(duì)應(yīng)的近似曲線的點(diǎn)上的近似曲線的1次微分值而得到合成1次微分值。
在上述步驟(11)中,能夠以設(shè)定單位或以下的細(xì)度進(jìn)行插補(bǔ)。
在上述步驟(1)中,能夠在指令點(diǎn)之間比某個(gè)設(shè)定值短時(shí),進(jìn)一步將該內(nèi)插點(diǎn)當(dāng)作是指令點(diǎn),刪除為求出該內(nèi)插點(diǎn)而使用的修正指令點(diǎn)。能夠?qū)⑶蟪龅纳鲜鰞?nèi)插點(diǎn)作為中點(diǎn)。
在上述步驟(4)以及(6)中,能夠?qū)⑸傻那€作為NURBS曲線或者樣條曲線。
根據(jù)本發(fā)明,分割量綱不同的直線軸和轉(zhuǎn)動(dòng)軸分別求出修正指令點(diǎn),合成直線軸用修正指令點(diǎn)和轉(zhuǎn)動(dòng)軸用修正指令點(diǎn)的各成分并求出合成修正點(diǎn),生成并插補(bǔ)通過(guò)該合成修正指令點(diǎn)的曲線,從而能夠通過(guò)具有2軸或以上轉(zhuǎn)動(dòng)軸的多軸機(jī)床,進(jìn)行適當(dāng)?shù)那€插補(bǔ)。
從參照附圖的以下實(shí)施方式的說(shuō)明中,明確本發(fā)明的上述以及其他目的、特征以及長(zhǎng)處。在參照附圖中圖1是在基于指令點(diǎn)列生成曲線的現(xiàn)有方法中問(wèn)題點(diǎn)的說(shuō)明圖;圖2是根據(jù)現(xiàn)有方法生成的曲線和所期望曲線的說(shuō)明圖;圖3是根據(jù)現(xiàn)有方法的所期望曲線上的點(diǎn)的說(shuō)明圖;圖4是說(shuō)明由指令點(diǎn)列,在現(xiàn)有方法中無(wú)法得到圓滑的生成曲線的例子的圖;圖5是實(shí)施本發(fā)明方法的數(shù)值控制裝置的一實(shí)施方式的重要部分方框圖;圖6是說(shuō)明一例指令圖5的數(shù)值控制裝置的生成曲線并插補(bǔ)該曲線的程序的圖;圖7是說(shuō)明在實(shí)施本發(fā)明時(shí),自動(dòng)判斷是否生成并插補(bǔ)曲線的方法的圖;圖8是說(shuō)明在實(shí)施本發(fā)明時(shí),自動(dòng)判斷是否生成并插補(bǔ)曲線的方法的圖;圖9是實(shí)施本發(fā)明一實(shí)施方式的處理流程圖;圖10是圖9流程圖的繼續(xù);圖11是點(diǎn)列指令的說(shuō)明圖;圖12是依據(jù)本發(fā)明的一實(shí)施方式求出內(nèi)插點(diǎn)(形狀指令點(diǎn))的說(shuō)明圖;圖13是依據(jù)本發(fā)明的一實(shí)施方式求出近似曲線,再求出修正指令點(diǎn)以及1次微分值的說(shuō)明圖;圖14是依據(jù)本發(fā)明的一實(shí)施方式進(jìn)一步對(duì)修正指令點(diǎn)進(jìn)行修正并求出新修正指令點(diǎn)和1次微分值的說(shuō)明圖;
圖15是依據(jù)本發(fā)明的一實(shí)施方式進(jìn)一步修正指令點(diǎn)時(shí)的說(shuō)明圖;圖16是根據(jù)本發(fā)明的一實(shí)施方式生成的圓滑曲線的說(shuō)明圖。
具體實(shí)施例方式
圖5是適用本發(fā)明曲線插補(bǔ)方法的數(shù)值控制裝置100的方框圖。用總線22將用ROM、RAM、電池備份的CMOS存儲(chǔ)器等的存儲(chǔ)器12、連接將數(shù)據(jù)向存儲(chǔ)介質(zhì)輸入輸出的數(shù)據(jù)輸入輸出裝置34的接口13、連接顯示器/MDI單元元件30的接口16、連接操作盤31的接口17、PMC(可編程·機(jī)器·控制器)14、顯示器/MDI單元30、各軸的軸控制電路18、主軸控制電路20連接到整體控制數(shù)值控制裝置100的處理器11上。
在本實(shí)施方式中,用該數(shù)值控制裝置100控制5軸機(jī)床,具備直線軸的X軸、Y軸、Z軸的3個(gè)軸和轉(zhuǎn)動(dòng)軸的A軸、B軸,該各自5軸的軸控制電路18接受來(lái)自處理器11的各軸移動(dòng)指令量,將各軸指令輸出至伺服放大器19。各軸伺服放大器19接受該指令,驅(qū)動(dòng)各軸的伺服馬達(dá)32。各軸伺服馬達(dá)32內(nèi)置有位置/速度檢測(cè)器,將來(lái)自該位置/速度檢測(cè)器的位置/速度反饋信號(hào)反饋到各軸控制電路18中,進(jìn)行位置/速度的反饋控制。還有在圖5中,省略位置/速度的反饋。
另外,主軸控制電路20接受主軸轉(zhuǎn)動(dòng)指令,通過(guò)指令主軸速度和來(lái)自設(shè)置在主軸馬達(dá)33上的位置編碼器的速度反饋信號(hào),將主軸速度信號(hào)輸出至主軸放大器21。主軸放大器21通過(guò)主軸速度信號(hào)進(jìn)行主軸的速度控制。
從數(shù)據(jù)輸入輸出裝置34通過(guò)接口13輸入包含使用CAD/CAM裝置或仿形裝置等做成的指令點(diǎn)列數(shù)據(jù)的加工程序,存儲(chǔ)在存儲(chǔ)器的非易失部分。準(zhǔn)備指令開始生成并插補(bǔ)圓滑曲線的G代碼和解除該指令的G代碼,如圖6所示,在加工程序中,在作為應(yīng)生成并插補(bǔ)圓滑曲線的對(duì)象指令點(diǎn)列的最初,編程圓滑曲線內(nèi)插指令的G代碼「G06.3」,在取消該指令的位置編程圓滑曲線取消指令G代碼「G06.9」。在該G代碼「G06.3」和「G06.9」之間,對(duì)于相對(duì)X、Y、Z、A、B各軸的移動(dòng)指令進(jìn)行本發(fā)明所采用的圓滑插補(bǔ)。
另外,也可通過(guò)各點(diǎn)列中的直線軸位置自動(dòng)判斷形成該圓滑插補(bǔ)的區(qū)間。此時(shí),處理器11通過(guò)加工程序讀取點(diǎn)列,自動(dòng)判斷是否從連接各點(diǎn)列之間線段的角度或長(zhǎng)度中生成并插補(bǔ)圓滑的曲線。如圖7所示,點(diǎn)P1、P2、P3的各點(diǎn)間的相鄰線段間的彎曲角度小。以及點(diǎn)P6、P7、P8的各點(diǎn)間的相鄰線段間的彎曲角度也小。
由此,判斷這些區(qū)間是生成并插補(bǔ)圓滑曲線的區(qū)域,另外,點(diǎn)P3和P4之間的線段和點(diǎn)P4和P5之間線段的彎曲角度α、點(diǎn)P4和P5之間的線段和點(diǎn)P5和P6之間線段的彎曲角度β大。由此,在點(diǎn)P4和P5之間不進(jìn)行生成并插補(bǔ)圓滑曲線的處理。即,指令點(diǎn)列間的相鄰線段的彎曲角在基準(zhǔn)值以下時(shí),自動(dòng)判斷為進(jìn)行生成并插補(bǔ)圓滑曲線的處理,其他情況自動(dòng)判斷為不進(jìn)行。
另外,如圖8所示,指令點(diǎn)P1到P4以及點(diǎn)P5到P8的各點(diǎn)間距離短,指令點(diǎn)P4和P5間距離長(zhǎng)。如此地,指令點(diǎn)間距離在基準(zhǔn)值以下的指令點(diǎn)P0~P4、P5~P8自動(dòng)判斷進(jìn)行生成并插補(bǔ)圓滑曲線的處理,比基準(zhǔn)值長(zhǎng)的指令點(diǎn)P4~P5自動(dòng)判斷不進(jìn)行生成并插補(bǔ)圓滑曲線的處理。
因此,與圖9、圖10所示的流程圖一同說(shuō)明通過(guò)G代碼或自動(dòng)地判斷生成并插補(bǔ)圓滑曲線處理時(shí)的處理。
處理器11通過(guò)加工程序讀入指令點(diǎn)列P0、P1、P2、…Pn-1、Pn(S1)。該讀入的指令點(diǎn)列是如圖11所示的指令點(diǎn)列P0、P1、P2、…Pn-1、Pn。
其次,在各點(diǎn)間(P0、P1)、(P1、P2)、…(Pn-1、Pn)以點(diǎn)列指令的設(shè)定單位或以下的細(xì)度做成兩個(gè)內(nèi)插點(diǎn)(Q1、Q2)、(Q3、Q4)、…(Q2n-1、Q2n)(S2)。在本實(shí)施方式中,如圖12所示,在點(diǎn)Pi和Pi+1之間分別以內(nèi)插比為0.15、0.7、0.15做成點(diǎn)Q2i+1和點(diǎn)Q2i+2。即,線段Pi-Q2i+1、Q2i+1-Q2i+2、Q2i+2-Pi+1的各長(zhǎng)度比(內(nèi)插比)是0.15、0.7、0.15。
并且,使Q0=P0、Q2n+1=Pn(S3),由此生成由內(nèi)插點(diǎn)的點(diǎn)列Q0、Q1、Q2、…Q2n、Q2n+t構(gòu)成形狀指令點(diǎn)列。
將變址i設(shè)定為1(S4),判斷該變址i的值(S5、S6),變址i為1時(shí),取出形狀指令點(diǎn)列Qi-1、Qi、Qi+1、Qi+2(=Q0、Q1、Q2、Q3)(S17),變址i為2~2n-1時(shí),取出形狀指令點(diǎn)列Qi-2、Qi-1、Qi、Qi+1、Qi+2(S7),變址i為2n時(shí),取出形狀指令點(diǎn)列Qi-2、Qi-1、Qi、Qi+1(=Q2n-2、Q2n-1、Q2n、Q2n+1)(S18)。還有,后述變址i為2n+1的情況。
如此地,相對(duì)取出點(diǎn)列,分解為只有直線軸成分(X軸、Y軸、Z軸成分)的列和只有轉(zhuǎn)動(dòng)軸成分(A軸、B軸成分)的列(S8)。
相對(duì)所得到的只有直線軸成分的列,利用最小二乘法做成直線軸用近似曲線Cm1。也就是,做成距取出點(diǎn)列的距離的平方和為最小的Cm1(S9)。該直線軸用近似曲線Cm1是如圖13所示的點(diǎn)劃線的曲線。
其次,將對(duì)應(yīng)該時(shí)刻的變址i的形狀指令點(diǎn)Qi的直線軸成分的點(diǎn)向直線軸用近似曲線Cm1以點(diǎn)列指令的設(shè)定單位或以下的細(xì)度并限制在公差量2w以內(nèi)進(jìn)行移動(dòng),做成只由直線軸構(gòu)成的直線軸用修正指令點(diǎn)Qi1′(S10)。
同樣地,相對(duì)只有轉(zhuǎn)動(dòng)軸成分的列,利用最小二乘法做成轉(zhuǎn)動(dòng)軸用近似曲線Cm2(S11),將對(duì)應(yīng)該時(shí)刻的變址i的形狀指令點(diǎn)Qi的轉(zhuǎn)動(dòng)軸成分的點(diǎn)向轉(zhuǎn)動(dòng)軸用近似曲線Cm2以點(diǎn)列指令的設(shè)定單位或以下的細(xì)度并限制在公差量2w以內(nèi)進(jìn)行移動(dòng),得到只由轉(zhuǎn)動(dòng)軸構(gòu)成的轉(zhuǎn)動(dòng)軸用修正指令點(diǎn)Qi2′(S12)。
并且,合成直線軸用修正指令點(diǎn)Qi1′和轉(zhuǎn)動(dòng)軸用修正指令點(diǎn)Qi2′,得到合成修正指令點(diǎn)Qi′(S13)。還有,分別求出并合成對(duì)形狀指令點(diǎn)Qi的在直線軸用近似曲線Cm1和轉(zhuǎn)動(dòng)軸用近似曲線Cm2上的位置的1次微分,作為1次微分值Qi(1)′進(jìn)行存儲(chǔ)(S14)。
將變址i增加「1」(S15),判斷該變址i是否超過(guò)了形狀指令點(diǎn)Q的數(shù)「2n+1」(S16),若未超過(guò)則回到處理S5執(zhí)行上述處理。
變址i達(dá)到「2n+1」,在處理S5判斷時(shí),使合成修正指令點(diǎn)Q2n+1′=指令點(diǎn)Pn,將從Q2n′到Pn的方向矢量作為對(duì)應(yīng)合成修正指令點(diǎn)Q2n+1′的1次微分值Q2n+1(1)′進(jìn)行存儲(chǔ)(S19),將變址i增加1(S15)。其結(jié)果,判別為變址i已超過(guò)形狀指令點(diǎn)Q的數(shù)「2n+1」(S16),移至處理S20,使合成修正指令點(diǎn)Q0′=P0,將從指令點(diǎn)P0到Q1′的方向矢量作為對(duì)應(yīng)合成修正指令點(diǎn)Q0′的1次微分值Q0(1)′(S20)。
通過(guò)以上處理,得到對(duì)應(yīng)形狀指令點(diǎn)列Q0、Q1、Q2、…Q2n、Q2n+1的合成修正指令點(diǎn)列Q0′、Q1′、Q2′、…Q2n′、Q2n+1′和各合成修正指令點(diǎn)的1次微分值Q0(1)′、Q1(1)′、Q2(1)′、…Q2n(1)′、Q2n+1(1)′。
還有在本實(shí)施方式中,如圖14所示,合成修正指令點(diǎn)Q0′、Q1′、…Q2n+1′中相鄰的兩點(diǎn)(Qj′和Qj+1′)間的距離比預(yù)先設(shè)定的基準(zhǔn)值短時(shí),求出內(nèi)插該兩點(diǎn)Qj′、Qj+1′之間的內(nèi)插點(diǎn)。在該圖14所示的例子中,將兩點(diǎn)的中點(diǎn)作為新的合成修正指令點(diǎn)Qj′,刪除舊的合成修正指令點(diǎn)Qj′、Qj+1′。另外,將舊的合成修正指令點(diǎn)的1次微分值Qj(1)′和Qj+1(1)′的平均值作為新的合成修正指令點(diǎn)Qj′的1次微分值Qj(1)′,刪除舊的合成修正指令點(diǎn)的1次微分值Qj(1)′和Qj+1(1)′。但是,不刪除合成修正指令點(diǎn)列兩端的合成修正指令點(diǎn)Q0′和Q2n+1′及該合成修正指令點(diǎn)的1次微分值Q0(1)′和Q2n+1(1)′。
由此,作為生成曲線的原始數(shù)據(jù),做成合成修正指令點(diǎn)列Q0′、Q1′、…Q2n+1′和在各點(diǎn)的1次微分值Q0(1)′、Q1(1)′…Q2n+1(1)′(S21)。
其次,由合成修正指令點(diǎn)列Q0′、Q1′、…Q2n+1′以及各1次微分值Q0(1)′、Q1(1)′…Q2n+1(1)′生成通過(guò)合成修正指令點(diǎn)列Q0′、Q1′、…Q2n+1′的曲線(S22)。
例如,對(duì)于相鄰的兩個(gè)合成修正指令值Qj′、Qj+1′,給出這些位置Qj′、Qj+1′和在這些點(diǎn)的1次微分值Qj(1)′、Qj+1(1)′,因此能夠生成連接這些點(diǎn)的樣條曲線以及NURBS曲線等的3次曲線,并能夠插補(bǔ)該曲線。更為具體地,例如在用下面那樣的樣條曲線的3次曲線連接兩點(diǎn)Qj′、Qj+1′時(shí),給出兩點(diǎn)位置Qj′、Qj+1′和1次微分值Qj(1)′、Qj+1(1)′的4個(gè)數(shù)據(jù),因此決定用下式表示的樣條曲線的系數(shù)A、B、C、D,生成連接兩點(diǎn)Qj′、Qj+1′的3次曲線Ce(S23)。
f(t)=At3+Bt2+Ct+D(A、B、C、D是系數(shù)、t=0~1.0的曲線參數(shù))但是,f(t)、A、B、C、D是如下所示在每個(gè)軸上具有數(shù)值的矢量。
f(t)x=Axt3+Bxt2+Cxt+Dxf(t)y=Ayt3+Byt2+Cyt+Dxf(t)z=Azt3+Bzt2+Czt+Dzf(t)a=Aat3+Bat2+Cat+Daf(t)b=Abt3+Bbt2+Cbt+Db還有,圖16表示如此生成的曲線Ce。
其次,以點(diǎn)列指令的設(shè)定單位或以下的細(xì)度插補(bǔ)如此生成的曲線Ce(S20)。
在上述實(shí)施方式中,在步驟S1中進(jìn)行所有指令點(diǎn)列P0、P1、P2、Pn-1、Pn的讀入之后開始處理,但也可只讀取必須點(diǎn)列并進(jìn)行對(duì)該點(diǎn)列的處理。由此,不是全部讀入對(duì)象的指令點(diǎn)列之后,開始生成曲線的處理,而是可以讀入指令點(diǎn)列的同時(shí)對(duì)指令點(diǎn)列生成曲線。
另外,在各指令點(diǎn)間得到內(nèi)插點(diǎn)(=形狀指令點(diǎn))時(shí),在上述實(shí)施方式中做成兩個(gè)內(nèi)插點(diǎn),但不限于兩點(diǎn)也可做成其他個(gè)數(shù)的內(nèi)插點(diǎn)。還有,做成近似曲線Cm時(shí),在上述實(shí)施方式中,在著眼的形狀指令點(diǎn)Qi的前后最多取出兩個(gè)形狀指令點(diǎn),所謂兩個(gè)的點(diǎn)數(shù)也可以是其他點(diǎn)數(shù)。還有,也可以是合并指令點(diǎn)列P0、P1、P2、Pn-1、Pn和內(nèi)插點(diǎn)Q1、Q2、…Q2n做成形狀指令點(diǎn)。
還有,連接指令點(diǎn)列P0、P1、P2、Pn-1、Pn的任意兩點(diǎn)的線段比某個(gè)設(shè)定值短時(shí),如圖15所示,也可將其內(nèi)插點(diǎn)或中點(diǎn)看作是指令點(diǎn)P′,刪除為生成其內(nèi)插點(diǎn)或中點(diǎn)而使用的兩個(gè)指令點(diǎn)。
此時(shí),在處理S2中,判斷各指令點(diǎn)P間的距離是否在設(shè)定基準(zhǔn)值以下,在基準(zhǔn)以下時(shí),進(jìn)行上述處理,重新做成指令點(diǎn)列,求出內(nèi)插點(diǎn)即可。
另外,在上述實(shí)施方式中,在處理S2的處理中,在指令點(diǎn)Pi、Pi+1之間形成內(nèi)插點(diǎn)Q2i+1、Q2i+2,使線段Pi-Q2i+1、線段Q2i+1-Q2i+2、線段Q2i+2-Pi+1的各長(zhǎng)度比(內(nèi)插比)為0.15、0.7、0.15,也可以是這以外的比。
在上述實(shí)施方式中,表示了在具有3個(gè)直線軸和兩個(gè)轉(zhuǎn)動(dòng)軸的5軸加工機(jī)中適用本發(fā)明的例子,但在轉(zhuǎn)動(dòng)軸是3個(gè)的6軸加工機(jī)中也能夠適用本發(fā)明。
權(quán)利要求
1.一種曲線插補(bǔ)方法,用于通過(guò)具有3個(gè)直線軸和2個(gè)轉(zhuǎn)動(dòng)軸或其以上的多軸機(jī)床用的數(shù)值控制裝置,由指令點(diǎn)列生成圓滑曲線并沿該曲線進(jìn)行插補(bǔ),其特征在于,包含(1)在指令點(diǎn)列的各點(diǎn)之間求出內(nèi)插點(diǎn),將其作為形狀指令點(diǎn)的步驟;(2)依次著眼于該形狀指令點(diǎn)的各點(diǎn),選擇已著眼的點(diǎn)和其前后預(yù)先確定的點(diǎn)數(shù)的形狀指令點(diǎn)的步驟;(3)對(duì)于該已選擇的點(diǎn),分割成直線軸3軸份的成分和轉(zhuǎn)動(dòng)軸2軸或其以上份的成分的步驟;(4)關(guān)于上述直線軸3軸份的成分,生成直線軸用近似曲線的步驟;(5)將上述直線軸3軸份的成分向上述直線軸用近似曲線移動(dòng),作為直線軸用修正指令點(diǎn)的步驟;(6)關(guān)于2軸或以上的上述轉(zhuǎn)動(dòng)軸份的成分,生成轉(zhuǎn)動(dòng)軸用近似曲線的步驟;(7)將2軸或以上的上述轉(zhuǎn)動(dòng)軸份的成分向上述轉(zhuǎn)動(dòng)軸用近似曲線移動(dòng),作為轉(zhuǎn)動(dòng)軸用修正指令點(diǎn)的步驟;(8)合成上述移動(dòng)后的直線軸用修正點(diǎn)的3軸份的成分和上述移動(dòng)后的轉(zhuǎn)動(dòng)軸用修正移動(dòng)點(diǎn)的2軸或以上轉(zhuǎn)動(dòng)軸份的成分,作為合成修正指令點(diǎn)的步驟;(9)對(duì)于各形狀指令點(diǎn)反復(fù)執(zhí)行上述步驟(2)至步驟(8);(10)生成通過(guò)上述合成修正指令點(diǎn)的點(diǎn)列的曲線的步驟;和(11)插補(bǔ)已生成的曲線的步驟。
2.根據(jù)權(quán)利要求1所述的曲線插補(bǔ)方法,其特征在于,在上述步驟(1)中,合并內(nèi)插點(diǎn)和指令點(diǎn)作為形狀指令點(diǎn)。
3.根據(jù)權(quán)利要求1所述的曲線插補(bǔ)方法,其特征在于,在上述步驟(1)中,在內(nèi)插時(shí)以設(shè)定單位或以下的細(xì)度求出內(nèi)插點(diǎn)。
4.根據(jù)權(quán)利要求1所述的曲線插補(bǔ)方法,其特征在于,在上述步驟(4)以及(6)中,生成各點(diǎn)和近似曲線的距離的平方和為最小的近似曲線。
5.根據(jù)權(quán)利要求1所述的曲線插補(bǔ)方法,其特征在于,在上述步驟(5)以及(7)中,在用于修正的移動(dòng)量超過(guò)第1設(shè)定值時(shí),將用于修正的移動(dòng)量?jī)H設(shè)為上述第1設(shè)定值的大小。
6.根據(jù)權(quán)利要求1所述的曲線插補(bǔ)方法,其特征在于,在上述步驟(5)以及(7)中,修正指令點(diǎn)之間比第2設(shè)定值短時(shí),進(jìn)一步將該內(nèi)插點(diǎn)作為修正指令點(diǎn),刪除為求出該內(nèi)插點(diǎn)而使用的修正指令點(diǎn)。
7.根據(jù)權(quán)利要求6所述的曲線插補(bǔ)方法,其特征在于,將求出的上述內(nèi)插點(diǎn)作為中點(diǎn)。
8.根據(jù)權(quán)利要求1所述的曲線插補(bǔ)方法,其特征在于,在上述步驟(5)以及(7)中,在移動(dòng)時(shí)以設(shè)定單位或以下的細(xì)度進(jìn)行移動(dòng)。
9.根據(jù)權(quán)利要求1所述的曲線插補(bǔ)方法,其特征在于,在上述步驟(10)中,在生成通過(guò)合成修正指令點(diǎn)列的曲線時(shí),也使用通過(guò)對(duì)各修正指令點(diǎn)的每一個(gè)求出并合成在上述直線軸用近似曲線以及上述轉(zhuǎn)動(dòng)軸用近似曲線的各修正指令點(diǎn)對(duì)應(yīng)的近似曲線的點(diǎn)上的近似曲線的1次微分值而得到的合成1次微分值。
10.根據(jù)權(quán)利要求1所述的曲線插補(bǔ)方法,其特征在于,在上述步驟(11)中,以設(shè)定單位或以下的細(xì)度進(jìn)行插補(bǔ)。
11.根據(jù)權(quán)利要求1所述的曲線插補(bǔ)方法,其特征在于,在上述步驟(1)中,指令點(diǎn)之間比某個(gè)設(shè)定值短時(shí),進(jìn)一步將該內(nèi)插點(diǎn)當(dāng)作指令點(diǎn),刪除為求出該內(nèi)插點(diǎn)而使用的修正指令點(diǎn)。
12.根據(jù)權(quán)利要求11所述的曲線插補(bǔ)方法,其特征在于,將求出的上述內(nèi)插點(diǎn)作為中點(diǎn)。
13.根據(jù)權(quán)利要求1所述的曲線插補(bǔ)方法,其特征在于,在上述步驟(4)以及(6)中,生成的曲線是NURBS曲線。
14.根據(jù)權(quán)利要求1所述的曲線插補(bǔ)方法,其特征在于,在上述步驟(4)以及(6)中,生成的曲線是樣條曲線。
全文摘要
本發(fā)明是一種通過(guò)具有3個(gè)直線軸和2個(gè)轉(zhuǎn)動(dòng)軸或其以上的多軸機(jī)床用的數(shù)值控制裝置,由指令點(diǎn)列生成圓滑曲線并沿該曲線插補(bǔ)的方法,分割成直線軸和轉(zhuǎn)動(dòng)軸,分別求出修正指令點(diǎn)。并且,合成直線軸用修正指令點(diǎn)和轉(zhuǎn)動(dòng)軸用修正指令點(diǎn)的各成分求出合成修正指令點(diǎn),生成并插補(bǔ)通過(guò)該合成修正指令點(diǎn)的曲線。其結(jié)果,能夠進(jìn)行具有2個(gè)或以上轉(zhuǎn)動(dòng)軸的多軸機(jī)床的更適當(dāng)?shù)那€插補(bǔ)。
文檔編號(hào)G05B19/4103GK1858668SQ200610078188
公開日2006年11月8日 申請(qǐng)日期2006年4月28日 優(yōu)先權(quán)日2005年5月2日
發(fā)明者大槻俊明, 井出聰一郎, 鹽原尚 申請(qǐng)人:發(fā)那科株式會(huì)社